SPONSORED LINKS
 
 
Google
 
TCP Reliable Transport Service

TCP Reliable Transport Service
The previous chapter described the connectionless packet delivery service provided by IP and the companion protocol used to report errors. This chapter examines TCP, the major transport protocol in the TCP/IP suite, and explains how the protocol provides reliable delivery.
  TRANSPORT PROTOCOLS
So far we have primarily dealt with network operations. Frame format, routing, congestion control and addressing are all essential to allow one station to talk to another. But how they talk with each other is equally important. A transport protocol is the lowest-layer protocol that defines what one station can say to another on behalf of the user. The lower three layers define how a network operates; the transport layer is the first to define the end-user protocol.
There are similarities between the transport and the data link protocols, in that, both focus on how information is exchanged between two entities. However, data link protocols define communication between stations with a physical connection. Connection-oriented transport protocols define communications between sites with a logical connection. There are also connectionless transport protocols, but for now we will just consider a connection-oriented protocol.
The transport layer also provides the "connection" the user perceives. For example, users can log on to computers at remote sites, giving them the impression they are connected but without connection wires or making telephone calls. There is not necessarily a dedicated circuit devoted to transmitting information between the user and computer. The transport layer can provide the perception of a connection by interfacing between the user and network protocols.
A transport protocol does more than make and break connections, however. The lowest three layers provide the means to connect separate devices, but the transport layer is the lowest layer that actually allows its users to communicate effectively and securely. Some transport layer functions are as follows:. Connection management: This function defines the rules that allow two users to begin talking with each other as if they were connected directly. Defining and setting up the connection is also called handshaking.
0     Flow control: We discussed flow control and its relevance to the data link layer. To have flow control again in transport layer may seem strange at first, but remember that the transport layer must operate independently of the lower layers. Furthermore, the transport layer defines flow control between the end users. Data link protocols define flow control between the intermediate, but adjacent entities.
. Error detection: This is another case that seems to duplicate lower-layer features. Some errors do escape lower-layer error-detection. This statement may sound unusual because it implies that even if data link error detection provides reliable transmission along each link, there is still no guarantee of error-free transmission between the source and destination. How can this be? Consider the router in Figure 11.1. Suppose it receives the IP packet intact, but an error that affects the packet's contents occurs during reformatting of the frame containing the packet.

  THE SERVICE TCP PROVIDES TO APPLICATIONS
From an application program's point of view, the service offered by TCP has seven major features:
(1) Connection orientation: TCP provides connection-oriented service in which an application must first request a connection to a destination, and then use the connection to transfer data.
(2) Point-to-point communication: Each TCP connection has exactly two end points.
(3) Complete reliability:    TCP guarantees that the data sent across a connection will be divided exactly as sent, with no data missing or out of order.
(4) Full-duplex communication:        A TCP connection allows data to flow in either direction, and allows either application program to send data at any time. TCP can buffer outgoing and incoming data in both directions, making it possible for an application to send data and then to continue computation while the data is being transferred.

(5) Stream interface:      We say that TCP provides a stream interface in which an application sends a continuous sequence of octets across a connection. That is, TCP does not provide a notation of records, and does not guarantee that data will be delivered to the receiving application in the same size pieces that it was transferred by the sending application,
(6) Reliable connection startup:  TCP requires that when two applications create a connection, both must agree to the new connections; duplicate packets used in previous connections will not appear to be valid responses or otherwise interfere with the new connection.
(7) Graceful connection shutdown:  An application program can open a connection, send arbitrary amounts of data, and then request that the connection be shut down. TCP guarantees to deliver all the data reliably before closing the connection.

 

BACK

SPONSORED LINKS