Вы находитесь на странице: 1из 8

The need for TCP layer?

- process to process delivery (i.e to a particular application) TCP can be characterized by the following facilities it provides for the applications using it: Stream Data Transfer: From the application's viewpoint, TCP transfers a contiguous stream of bytes through the network. The application does not have to bother with chopping the data into basic blocks or datagrams. TCP does this by grouping the bytes in TCP segments, which are passed to IP for transmission to the destination. Also, tcp itself decides how to segment the data and it can forward the data at its own 7/16/12

Reliability: Tcp assigns a sequence number to each byte transmitted and expects a positive acknowledgment (ACK) from the receiving TCP. If the ACK is not received within a timeout interval, the data is retransmitted. Since the data is transmitted in blocks (TCP segments), only the sequence number of the first data byte in the segment is sent to the destination host. The receiving TCP uses the sequence numbers to rearrange the segments when they arrive out of order, and to eliminate duplicate segments.
7/16/12

Flow Control: The receiving TCP, when


sending an ACK back to the sender, also indicates to the sender the number of bytes it can receive beyond the last received TCP segment, without causing overrun and overflow in its internal buffers. This is sent in the ACK in the form of the highest sequence number it can receive without problems. This mechanism is also referred to as a windowmechanism.

7/16/12

Multiplexing: Achieved through the use of ports, just as with UDP. Demultiplexing : demultiplexing the packets and delivering to its appropriate process based on port numbers. Three-way handshaking
7/16/12

-connection establishment

SYN: The active open is performed by the client sending a SYN to the server. The client sets the segment's sequence number to a random value A. SYN-ACK: In response, the server replies with a SYN-ACK. The acknowledgment number is set to one more than the received sequence number (A + 1), and the sequence number that the server chooses for the packet is another random number, B. ACK: Finally, the client sends an ACK back to the server. The sequence number is set to the 7/16/12 received acknowledgement value i.e. A + 1,

Connection establishment

7/16/12

Data transfer There are a few key features that set TCP apart from UDP. Ordered data transfer the destination host rearranges according to sequence number Retransmission of lost packets any cumulative stream not acknowledged is retransmitted
7/16/12

Error-free data transfer

Connection termination :

To terminate the connection by a 3-way handshake, when host A sends a FIN and host B replies with a FIN & ACK and host A replies with an ACK. Connection will be terminated.

7/16/12

Вам также может понравиться