Presentation is loading. Please wait.

Presentation is loading. Please wait.

1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we.

Similar presentations


Presentation on theme: "1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we."— Presentation transcript:

1 1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we use on a daily basis. 1.2.1 End Systems, Clients, and Servers The computers connected to the Internet are often referred to as hosts or end systems. They are referred to as end systems because they sit at the edge of the Internet. The Internet's end systems include desktop computers (e.g., desktop PCs, Macs, and UNIX-based workstations), servers (e.g., Web and servers), and mobile computers (e.g., portable computers, PDAs, and phones with wireless Internet connections). Furthermore, an increasing number of alternative devices, such as thin clients and household appliances, Web TVs and set-top boxes, digital cameras, home appliances, factory floor equipment, and environmental sensors, are being attached to the Internet as end systems. End systems are also referred to as hosts because they host (that is, run) applications such as a Web browser program, a Web server program, an reader program, or an server program. Throughout we will use the terms hosts and end systems interchangeably; that is, host = end system.

2 Hosts are sometimes further divided into two categories:
a) Clients and b) Servers. Clients tend to be desktop and mobile PCs, PDAs, and so on. Servers tend to be more powerful machines that store and distribute Web pages, stream video, relay , and so on. In the context of networking software, there is another definition of a client and server. A client program is a program running on one end system that requests and receives a service from a server program running on another end system. The client-server model is undoubtedly the most prevalent structure for Internet applications. The Web, , file transfer, remote login (for example, Telnet), news-groups, and many other popular applications adopt the client/server model. Since a client program typically runs on one computer and the server program runs on another computer, client/server Internet applications are, by definition, distributed applications. The client program and the server program interact by sending each other messages over the Internet.

3 Not all Internet applications today consist of pure client programs interacting with pure server programs. For example, in popular Peer-to-Peer (P2P) file-sharing applications (such as KaZaA) the P2P application in the user's end system acts as both a client program and a server program. The program running in a peer (that is, a user's machine) acts as a client when it requests a file from another peer; and the program acts as a server when it sends a file to another peer. In Internet telephony, the two communicating parties interact as peers; there is no sense in which one party requests service from another.

4 1.2.2 Connectionless and Connection-Oriented Service
End systems use the Internet to communicate with each other. Specifically, end-system programs use the services of the Internet to send messages to each other. The links and other pieces of the Internet provide the means to transport these messages between the end-system programs. But what are the characteristics of the communication services that the Internet provides to its end systems? TCP/IP networks, and in particular the Internet, provide two types of services to end-system applications: connection-oriented service and connectionless service. A developer creating an Internet application (for example, an application, a file transfer application, a Web application, or an Internet phone application) must design the application to use one of these two services. Connection-Oriented Service When an application uses the connection-oriented service, the client program and the server program (residing in different end systems) send control packets to each other before sending packets with the actual data to be transferred. This so-called handshaking procedure alerts the client and server, allowing them to prepare for an onslaught of data packets. Once the handshaking procedure is finished, a connection is said to be established between the two end systems.

5 Why the terminology connection-oriented service and not just connection service?
This terminology is due to the fact that the end systems are connected in a very loose manner. In particular, only the end systems themselves are aware of this connection; the packet switches within the Internet are completely oblivious to the connection. Indeed, a connection in the Internet consists of nothing more than allocated buffers and state variables in the end systems; the intervening packet switches do not maintain any connection-state information. The Internet's connection-oriented service comes bundled with several other services, including reliable data transfer, flow control, and congestion control.

6 By reliable data transfer we mean that an application can rely on the connection to deliver all of its data without error and in the proper order. Reliability in the Internet is achieved through the use of acknowledgments and retransmissions. To get a preliminary feel for how the Internet implements the reliable transport service, consider an application that has established a connection between end systems A and B. When end system B receives a packet from A, it sends an acknowledgment. When end system A receives the acknowledgment, it knows that the corresponding packet has definitely been received. When end system A doesn't receive an acknowledgment, it assumes the packet it sent wasn't received by B and thus retransmits the packet. Flow control makes sure that neither side of a connection overwhelms the other side by sending too many packets too fast.

7 The Internet's congestion-control service helps the Internet from entering a state of gridlock.
When a packet switch becomes congested, its buffers can overflow and packet loss can occur. In such circumstances, if every pair of communicating end systems continues to pump packets into the network as fast as they can, gridlock sets in and few packets are delivered to their destinations. The Internet avoids this problem by forcing end systems to the rate at which they send packets into the network during periods of congestion. End systems are alerted to the existence of severe congestion when they stop receiving acknowledgments for the packets they have sent.

8 We emphasize here that although the Internet's connection-oriented service comes bundled with reliable data transfer, flow control, and congestion control, these three features are by no means essential components of a connection-oriented service. A different type of computer network may provide a connection-oriented service to its applications without bundling in, one or more of these features. Indeed, any protocol that performs handshaking between the communicating entities before transferring data is a connection-oriented service. Internet's connection-oriented service has a name - Transmission Control Protocol (TCP). The initial version of the TCP protocol is defined in the Internet for Comments RFC 793. The services that TCP provides to an application include reliable transport, flow control, and congestion control. TCP provides a byte-steam abstraction, reliably delivering a stream of bytes from the sender to the receiver. It is important to note that an application need only care about the services that are provided; it need not worry about how TCP actually implements reliability flow control, or congestion control. Most of the more familiar Internet applications use TCP, the Internet's connection - oriented service. These applications include Telnet (for remote login), SMTP (for ), FTP (for file transfer), and HTTP (for the Web).

9 Connectionless Service
There is no handshaking with the Internet's connectionless service. When one side of an application wants to send packets to the other side of the application, the sending program simply sends the packets. Since there is no handshaking procedure prior to data packet transmission, data can be delivered sooner. This makes connectionless service ideal for simple transaction-oriented applications. But there is no reliable data transfer either, so a source never knows for sure which packets have arrived at the destination. Moreover, the Internet's connectionless service makes no provision for flow control or congestion control. The Internet's connectionless service is called User Datagram Protocol (UDP); UDP is defined in the Internet Request For Comments RFC 768. UDP, the Internet's connectionless service, is used by many applications, including many of the multimedia applications, such as Internet phone and video conferencing.


Download ppt "1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we."

Similar presentations


Ads by Google