Commu Communica nications tions and and Netw Networ orking - - PowerPoint PPT Presentation

commu communica nications tions and and
SMART_READER_LITE
LIVE PREVIEW

Commu Communica nications tions and and Netw Networ orking - - PowerPoint PPT Presentation

Business Da Business Data ta Commu Communica nications tions and and Netw Networ orking king Abdullah Alfarrarjeh Most of the slides in this lecture are either from or adapted from the slides provided by Dr. Hussein Alzoubi


slide-1
SLIDE 1

Abdullah Alfarrarjeh

Business Da Business Data ta Commu Communica nications tions and and Netw Networ

  • rking

king

Most of the slides in this lecture are either from or adapted from the slides provided by Dr. Hussein Alzoubi

slide-2
SLIDE 2

▪ Understand host-based, client-based, client– server, and cloud-based application architectures ▪ Understand how the Web works ▪ Understand how email works ▪ Be aware of how Telnet and instant messaging work

3/27/2020 Business Data Communications and Networks (13711) 2

slide-3
SLIDE 3

▪ Network applications are the software packages that run in the application layer. ▪ You should be quite familiar with many types

  • f network software,

▪ because it is these application packages that you use when you use the network.

▪ In many respects, the only reason for having a network is to enable these applications.

3/27/2020 Business Data Communications and Networks (13711) 3

slide-4
SLIDE 4

▪ An application architecture is the way in which the functions of the application layer software are spread among the clients and servers in the network. ▪ The work done by any application program can be divided into four general functions:

▪ data storage ▪ data access logic, e.g. database queries in SQL ▪ application logic (sometimes called business logic) ▪ presentation logic

3/27/2020 Business Data Communications and Networks (13711) 4

slide-5
SLIDE 5

2.2.1 Host-Based Architectures

▪ Developed in the 1960s ▪ The server performing all four functions.

3/27/2020 Business Data Communications and Networks (13711) 5

slide-6
SLIDE 6

▪ Problems:

▪ As the demands for more and more network applications grow, many servers become

  • verloaded and unable to quickly process all the

users’ demands. ▪ Prioritizing users’ access becomes difficult. ▪ Response time becomes slower, ▪ and network managers are required to spend increasingly more money to upgrade the server.

3/27/2020 Business Data Communications and Networks (13711) 6

2.2.1 Host-Based Architectures

slide-7
SLIDE 7

2.2.2 Client-Based Architectures

▪ In the late 1980s, there was an explosion in the use of personal computers. ▪ The client is responsible for the presentation logic, the application logic, and the data access logic; the server is simply stores the data.

3/27/2020 Business Data Communications and Networks (13711) 7

slide-8
SLIDE 8

▪ The fundamental problem in client-based networks is that all data on the server must travel to the client for processing. ▪ This can overload the network circuits because far more data are transmitted from the server to the client than the client actually needs.

3/27/2020 Business Data Communications and Networks (13711) 8

2.2.2 Client-Based Architectures

slide-9
SLIDE 9

2.2.3 Client–Server Architectures

▪ Most applications written today use client–server architectures. ▪ Client–server architectures attempt to balance the processing between the client and the server by having both do some of the logic. ▪ The client is responsible for the presentation logic; whereas the server is responsible for the data access logic and data storage.

▪ The application may either reside on the client, reside on the server, or be split between both.

3/27/2020 Business Data Communications and Networks (13711) 9

slide-10
SLIDE 10

▪ One of the strengths of client–server networks is that they enable software and hardware from different vendors to be used together.

▪ But this is also one of their disadvantages,

▪ Because it can be difficult to get software from different vendors to work together.

▪ One solution to this problem is middleware,

▪ software that sits between the application software on the client and the application software on the server.

3/27/2020 Business Data Communications and Networks (13711) 10

2.2.3 Client–Server Architectures

slide-11
SLIDE 11

▪ Middleware does two things:

▪ First, it provides a standard way of communicating that can translate between software from different vendors. ▪ The second function of middleware is to manage the message transfer from clients to servers (and vice versa) so that clients need not know the specific server that contains the application’s data.

3/27/2020 Business Data Communications and Networks (13711) 11

2.2.3 Client–Server Architectures

slide-12
SLIDE 12

▪ There are literally dozens of standards for middleware,

▪ each of which is supported by different vendors and provides different functions.

▪ Two of the most important standards are

▪ Distributed Computing Environment (DCE) ▪ and Common Object Request Broker Architecture (CORBA).

▪ Another important standard is Open Database Connectivity (ODBC),

▪ which provides a standard for data access logic.

3/27/2020 Business Data Communications and Networks (13711) 12

2.2.3 Client–Server Architectures

slide-13
SLIDE 13

Two-Tier, Three-Tier, and n-Tier Architectures

▪ There are many ways in which the application logic can be partitioned between the client and the server.

▪ Two-tier architecture: uses only two sets of computers,

  • ne set of clients and one set of servers (Figure 2-3).

▪ A three-tier architecture: uses three sets of computers

3/27/2020 Business Data Communications and Networks (13711) 13

slide-14
SLIDE 14

▪ n-tier architecture uses more than three sets

  • f computers.

3/27/2020 Business Data Communications and Networks (13711) 14

Two-Tier, Three-Tier, and n-Tier Architectures

e.g. TCBWorks, developed at the University of Georgia.

slide-15
SLIDE 15

▪ The primary advantage of an n-tier client–server architecture is that it separates the processing that occurs to better balance the load on the different servers; it is more scalable. ▪ There are two primary disadvantages to an n-tier architecture

▪ First, it puts a greater load on the network. ▪ Second, it is much more difficult to program and test software in n-tier architectures

▪ because more devices have to communicate to complete a user’s transaction.

3/27/2020 Business Data Communications and Networks (13711) 15

Two-Tier, Three-Tier, and n-Tier Architectures

slide-16
SLIDE 16

Thin Clients versus Thick Clients

▪ Another way of classifying client–server architectures is by examining how much of the application logic is placed on the client computer.

▪ A thin-client approach places little or no application logic on the client (e.g., Figure 2-5), ▪ A thick-client (also called fat-client) approach places all or almost all of the application logic on the client (e.g., Figure 2-3).

▪ There is no direct relationship between thin and fat clients and two-, three and n-tier architectures.

3/27/2020 Business Data Communications and Networks (13711) 16

slide-17
SLIDE 17

▪ Thin clients are much easier to manage.

▪ If an application changes, only the server with the application logic needs to be updated.

▪ Thin-client architectures are the future:

▪ More and more application systems are being written to use a Web browser as the client software,

▪ with Javascriptor AJAX (containing some of the application logic) downloaded as needed.

▪ This application architecture is sometimes called the distributed computing model. ▪ The thin-client architecture also enables cloud-based architecture

3/27/2020 Business Data Communications and Networks (13711) 17

Thin Clients versus Thick Clients

slide-18
SLIDE 18

2.2.4 Cloud Computing Architectures ▪ The traditional client–server architecture can be complicated and expensive to deploy. ▪ Cloud computing architectures are different

▪ because they outsource part or all of the infrastructure to other firms that specialize in managing that infrastructure.

3/27/2020 Business Data Communications and Networks (13711) 18

slide-19
SLIDE 19

3/27/2020 Business Data Communications and Networks (13711) 19

2.2.4 Cloud Computing Architectures

slide-20
SLIDE 20

▪ Most companies also use virtualization software to install many virtual or logical servers on the same physical computer. ▪ This software (VMware is one of the leaders) creates a separate partition on the physical server for each of the logical servers. ▪ Each partition has its own operations system and its own server software and works independently from the other partitions.

3/27/2020 Business Data Communications and Networks (13711) 20

2.2.4 Cloud Computing Architectures

slide-21
SLIDE 21

▪ A server farm is a cluster of computers linked together so that they act as one computer. ▪ Requests arrive at the server farm (e.g., Web requests) and are distributed among the computers so that no

  • ne computer is overloaded.

▪ Each computer is separate

▪ so that if one fails, the server farm simply bypasses it.

▪ Server farms are more complex than single servers

▪ because work must be quickly coordinated and shared among the individual computers.

▪ Server farms are very scalable because one can always add another computer.

3/27/2020 Business Data Communications and Networks (13711) 21

2.2.4 Cloud Computing Architectures

slide-22
SLIDE 22

3/27/2020 Business Data Communications and Networks (13711) 22

2.2.4 Cloud Computing Architectures

The six devices on the left of Figure 2-8 comprise a special storage device called a storage area network (SAN).

slide-23
SLIDE 23

Software as a Service (SaaS)

▪ Multitenancy: rather than having many copies of the same application,

▪ there is only one application that everybody shares, ▪ yet everybody can customize it for his or her specific needs.

▪ The customers can customize the app and don’t have to worry about upgrades, security, or underlying infrastructure

▪ because the cloud provider does it all.

▪ The most frequently used SaaS application is

▪ email. ▪ Customer relationship management (CRM) from Salesforce.com is another very commonly used SaaS.

3/27/2020 Business Data Communications and Networks (13711) 23

slide-24
SLIDE 24

Platform as a Service (PaaS)

▪ What if there is an application you need but no cloud provider offers one you like?

▪ You can build your own application and manage your own data

  • n the cloud infrastructure provided by your cloud supplier.

▪ The organization manages the application and its own data

▪ but uses the database software (data access logic) and

  • perating system provided by the cloud provider.

▪ PaaS offers a much faster development and deployment of custom applications

▪ at a fraction of the cost required for the traditional client–server architecture.

▪ PaaS providers include Amazon Elastic Cloud Compute (EC2), Microsoft Windows Azure, and Google App Engine.

3/27/2020 Business Data Communications and Networks (13711) 24

slide-25
SLIDE 25

Infrastructure as a Service (IaaS)

  • r Hardware as a Service (HaaS)

▪ The cloud provider manages the hardware,

▪ including servers, storage, and networking components.

▪ The organization is responsible for all the software,

▪ including operating system(and virtualization software), database software, and its applications and data.

▪ This model allows a decrease in capital expenditures for hardware and maintaining the proper environment

▪ (e.g., cooling) and redundancy, and backups for data and applications.

▪ Providers of IaaS are Amazon Web Services, Microsoft Windows Azure, and Akamai.

3/27/2020 Business Data Communications and Networks (13711) 25

slide-26
SLIDE 26

2.2.5 Peer-to-Peer Architectures

▪ Peer-to-peer (P2P) architectures are very old,

▪ but their modern design became popular in the early 2000s with the rise of P2P file-sharing applications (e.g., Napster).

▪ With a P2P architecture, all computers act as both a client and a server.

3/27/2020 Business Data Communications and Networks (13711) 26

slide-27
SLIDE 27

▪ The advantage of P2P networks is that the data can be installed anywhere on the network.

▪ They spread the storage throughout the network, even globally,

▪ so they can be very resilient to the failure of any one computer.

▪ The challenge is finding the data.

▪ There must be some central server that enables you to find the data you need,

▪ so P2P architectures often are combined with a client–server architecture.

▪ Security is a major concern in most P2P networks

3/27/2020 Business Data Communications and Networks (13711) 27

2.2.5 Peer-to-Peer Architectures

slide-28
SLIDE 28

2.2.6 Choosing Architectures

▪ Almost all new applications today are client–server applications. ▪ Client–server architectures provide the best scalability,

▪ the ability to increase (or decrease) the capacity of the servers to meet changing needs.

▪ Client–server architectures are also the most reliable. ▪ Client–server architectures are usually the cheapest ▪ Client–server architectures also enable cloud computing.

▪ One major issue that companies face when choosing SaaS is the security of the data.

3/27/2020 Business Data Communications and Networks (13711) 28

slide-29
SLIDE 29

▪ The standard protocol for communication between a web browser and a web server is Hypertext Transfer Protocol (HTTP). ▪ This request–response dialogue occurs for every file transferred between the client and the server. ▪ For example, suppose the client requests a Web page that has two graphic images.

▪ there would be three request–response pairs.

3/27/2020 Business Data Communications and Networks (13711) 29

slide-30
SLIDE 30

2.3.2 Inside an HTTP Request

▪ HTTP request:

▪ The request line (required) ▪ The request header (required) ▪ The request body (optional)

3/27/2020 Business Data Communications and Networks (13711) 30

You can see inside HTTP headers yourself at www.rexswain.com/httpview.html.

slide-31
SLIDE 31

2.3.3 Inside an HTTP Response

▪ HTTP response:

▪ The response status (required) ▪ The response header (optional) ▪ The response body (optional)

3/27/2020 Business Data Communications and Networks (13711) 31

slide-32
SLIDE 32

▪ With email, users create and send messages to one user, several users, or all users on a distribution list. ▪ The most commonly used standard is SMTP (Simple Mail Transfer Protocol). ▪ Other common standards are

▪ X.400 ▪ And CMC (Common Messaging Calls).

3/27/2020 Business Data Communications and Networks (13711) 32

slide-33
SLIDE 33

2.4.1 How Email Works

▪ SMTP email is usually implemented as a two-tier thick client–server application,

▪ but not always.

▪ Two-Tier Email Architecture ▪ Each client computer runs an application layer software package called a mail user agent, which is usually more commonly called an email client

▪ There are many common email client software packages such as Eudora and Outlook.

3/27/2020 Business Data Communications and Networks (13711) 33

slide-34
SLIDE 34

Two-Tier Email Architecture

3/27/2020 Business Data Communications and Networks (13711) 34

slide-35
SLIDE 35

Three-Tier Thin Client–Server Architecture

3/27/2020

▪ This type of email is sometimes called Web-based email

▪ and is provided by a variety of companies such as Hotmail and Yahoo!.

Business Data Communications and Networks (13711) 35

slide-36
SLIDE 36

2.4.2 Inside an SMTP Packet

▪ An SMTP packet has two parts:

▪ The header, which lists source and destination email addresses (possibly in text form [e.g., “Pat Smith”]) as well as the address itself (e.g., psmith@somewhere.com), date, subject, and so on. ▪ The body, which is the word DATA, followed by the message itself.

3/27/2020 Business Data Communications and Networks (13711) 36

slide-37
SLIDE 37

2.4.3 Attachments in Multipurpose Internet Mail Extension ▪ SMTP is a simple standard that permits only the transfer of text messages ▪ Several standards for non text files have been developed

▪ that can operate together with SMTP, such as

▪ Multipurpose Internet Mail Extension (MIME), ▪ uuencode, ▪ and binhex.

3/27/2020 Business Data Communications and Networks (13711) 37

slide-38
SLIDE 38

▪ There are literally thousands of applications that run on the Internet and on other networks. ▪ Most application software that we develop today, whether for sale or for private internal use, runs on a network. ▪ Fortunately, most network application software works in much the same way as the Web or email.

3/27/2020 Business Data Communications and Networks (13711) 38

slide-39
SLIDE 39

2.5.1 Telnet

▪ Telnet enables users to log in to servers (or

  • ther clients).

▪ Telnet assumes a host-based architecture. ▪ Any key strokes that you type using Telnet are sent to the server for processing,

▪ and then the server instructs the client what to display on the screen.

3/27/2020 Business Data Communications and Networks (13711) 39

slide-40
SLIDE 40

▪ One of the most frequently used Telnet software packages is PuTTY. ▪ PuTTY uses secure shell (SSH) encryption when communicating with the server so that no one can read what is typed. ▪ An additional advantage of PuTTY is that it can run on multiple platforms, such as Windows, Mac, or Linux. ▪ Today, PuTTY is routinely used by network administrators to log in to servers and routers to make configuration changes.

3/27/2020 Business Data Communications and Networks (13711) 40

2.5.1 Telnet

slide-41
SLIDE 41

2.5.2 Instant Messaging

▪ One of the fastest growing Internet applications has been instant messaging (IM). ▪ With IM, you can exchange real-time typed messages or chat with your friends. ▪ Several types of IM currently exist,

▪ including Google Talk and AOL Instant Messenger.

▪ IM also provides away for different servers to communicate with one another,

▪ and for the client computers to communicate directly with each other.

▪ Additionally, IM will do voice and video.

3/27/2020 Business Data Communications and Networks (13711) 41

slide-42
SLIDE 42

3/27/2020 Business Data Communications and Networks (13711) 42

2.5.2 Instant Messaging

slide-43
SLIDE 43

2.5.3 Videoconferencing

▪ Videoconferencing provides real-time transmission of video and audio signals to enable people in two or more locations to have a meeting. ▪ Some advanced systems provide telepresence, which is

  • f such high quality that you feel you are face-to-face

with the other participants. ▪ The fastest growing form of videoconferencing is desktop videoconferencing

▪ e.g., Yahoo! IM, Skype, Net Meeting ▪ In some cases, the clients can communicate with one another without using the server.

3/27/2020 Business Data Communications and Networks (13711) 43

slide-44
SLIDE 44

3/27/2020 Business Data Communications and Networks (13711) 44

2.5.3 Videoconferencing

slide-45
SLIDE 45

3/27/2020 Business Data Communications and Networks (13711) 45

2.5.3 Videoconferencing

slide-46
SLIDE 46

▪ The transmission of video requires a lot of network capacity.

▪ Most videoconferencing uses data compression to reduce the amount of data transmitted.

▪ Today, three standards are in common use:

▪ H.320, H.323, and MPEG-2 (also called ISO 13818- 2).

3/27/2020 Business Data Communications and Networks (13711) 46

2.5.3 Videoconferencing

slide-47
SLIDE 47

▪ Webcasting is a special type of one-directional videoconferencing

▪ in which content is sent from the server to the user.

▪ The developer creates content that is downloaded as needed by the users and played by a plug-in to a Web browser. ▪ At present, there are no standards for Webcast technologies,

▪ but the products by RealNetworks.com are the de facto standards.

3/27/2020 Business Data Communications and Networks (13711) 47

2.5.3 Videoconferencing

slide-48
SLIDE 48

▪ Application security must be implemented at the time when the application is coded

▪ and if any security holes are discovered, updates (also called patches)must be issued by the vendor

  • f the application.

▪ Users then must install the update as soon as the patch is available

3/27/2020 Business Data Communications and Networks (13711) 48

slide-49
SLIDE 49

▪ SQL injection—

▪ one of the top three security risks on the Internet that is enabled by unsecured websites that allow you to enter text information into a form,

▪ such as registering for an event.

▪ the website allows an attacker to enter SQL commands through the textbox rather than just plain text. ▪ Watch this: https://www.youtube.com/watch?v=FwIUkAwKzG8

3/27/2020 Business Data Communications and Networks (13711) 49

slide-50
SLIDE 50

▪ Email spoofing is the creation of email messages that have forged the sender address. ▪ It turns out that it is very easy to spoof an email address, ▪ check it out for yourself: https://www.youtube.com/watch?v=RHW- WK-unmo.

3/27/2020 Business Data Communications and Networks (13711) 50