TCP - Transmission Control Protocol and Features

Domain Hosting image
Web Hosting
Dedicated server
ssl certificate
Web Design image
Email

The Transmission Control Protocol (TCP) works extremely well with IP. Since the uses packet switching technique, there could be congestion at times. TCP takes care of this situation and makes the Internet reliable. For example, if a router has too many packets, it would discard so them. Consequently, they would not travel to the final destination and would get lost. TCP automatically checks for lost packets and handles this problem. Similarly, because the Internet offers alternate routine ( through routers) for data to flow across it, packets may not arrive at the destination in the same order as were sent. TCP handles this issue as well. It puts the packets back in order. Similarly, if some packets are duplicated due to some hardware malfunction, TCP discards duplicate packets.

FEATURES OF TCP

Let us list the main features offered by the TCP portion of the TCP/IP protocol suite. These are reliability, point to point communication and connection oriented approach.

Reliability: TCP ensures that any data sent by 4 sender finally arrives at the destination as it was sent. This means that there cannot be any data loss or change in the order of the data.

Four Aspects of Reliability in Transport Layer Delivery examine these four aspects in brief.

Error control : Data must reach the destination exactly as it was sent by the sender. We have not studied mechanisms such as checksums and CRC that help achieve error control at the lower layer,the data link layer. However, TCP provides its own error control at a higher layer, the transport layer. Why is this additional error control at the transport layer necessary when the data link layer already takes care of it? The answer lies in the fact that whereas the error control at the data link layer ensures error free delivery between two networks, it cannot guarantee this error free delivery end to end (i.e. between the source and the destination). The reason behind this is that if a router connects two networks introduces some errors the data link layer does not catch them. The link layer only ensures network to network error control.

Loss control : It might happen that the source TCP software breaks the original message into three packets and sends the three packets to the destination. As we know the IP software is connectionless and does not guarantee delivery (best effort). It might happen that one of the dun packets gets lost midway, and never reaches the destination. TCP ensures that the destination is aware of this, and requests for a retransmission of the missing packets. This is loss control. How can this be achieved? It should be easy to imagine that TCP can number packets as 1, 2 and when breaking the original message into packets, and can check if all the three have correctly at the destination.



Sequence control : Since different packets of the same message can take different routes to the same destination, they could reach out of sequence. For instance, suppose the sender host A sends three packets, destined for another host B that packet I and packet 3 travel via routers R3 and R4, whereas packet 2 travels via routers and R2. It might very well happen that the receiver host B receives packets I and 3 first, and packet 2 (because there are some congestion conditions on the route A RI R2 B). Thus, sending sequence from A was packet 1, 2 and 3. The receiving sequence at host B is packet 1, 3.

Duplication control : This is somewhat opposite to loss control. In case of loss control, one or more lost packets are detected. In duplication control, one or more duplicate packets are detected. Since many copies of the same packet can arrive at the destination, the destination must have some mechanism to detect this. Thus, it must accept only the first packet, and reject all its (duplicate) copies.

Point to Point communication : This is also called port to port communication. Each TCP connection has exactly two end points: a source and a destination. Moreover, for the communicating parties, the internal details such as routing are irrelevant. They communicate as if there were a direct connection between them! Also, there is no confusion about who is sending the data or who is receiving it, simply because only two computers are involved in a TCP connection. Also, this communication is full duplex, which means that both the participating computers can send messages to each other simultaneously.

Connection oriented : TCP is connection oriented. The connections provided by TCP are known as virtual connections. The term virtual is used because physically there is no direct connection between the computers it is achieved in the software, rather than in the hardware. This means that a connection must be established between the two ends of a transmission before either can transmit data. Thus, an application must first request TCP for a connection to a destination and only when that connection is established can it perform the data transmission. It is very important to note that this is different from a virtual circuit. In a virtual circuit, the sender and the receiver agree upon specific physical connection (path) to be used among all those possible, before transmission can start. This path defines the physical route of transmission (i.e. which routers the message shall pass through) for every message/packet. Thus, the entire transmission path is aware of a connection.

However, in a TCP virtual connection, only the sender and connection the intermediate nodes and routers do not have a clue about this. From the perspective, it is simply a matter of passing the received packets forward via the best route possible this route itself may (and actually does, many times) vary for every packet.



Domain Name Search

www.


Copyright (C) 2007. Web Domain design hosting. All rights reserved.