The following are functions performed by TCP Establishing a Session TCP being a connection-oriented protocol, is one which negotiates and begins a permanent connection between both the source and destination hosts before any traffic is forwarded. This step prepares the devices to communicate with each another. At this stage of session establishment, the devices arrange between them what amount of traffic that can be forwarded at a given time. The communicated data between the two devices can be closely managed. The session is closed only when all communication is completed. Reliable Delivery Reliability means to ensure that each piece of data sent by the source arrives safely at the destination. Due to countless reasons, there is a possibility for data to become corrupted or lost as transmission takes place over the network. TCP can ensure reliability by having the source device retransmit lost or corrupted data. Same-Order Delivery Due to networks having multiple routes with different transmission rates, data can arrive in the wrong order. TCP ensures that segments are reassembled into the proper order at the destination device by numbering and sequencing the segments. Flow Control Network hosts are known to have resources such as memory or bandwidth that are limited. When TCP becomes aware that these resources are under strain, it can request that the sending application cut down the rate of data flow. By this, TCP controls the amount of data that the source sends. Flow control can prevent segments on the network getting lost and prevent the need for retransmission. TCP is able to keep track of a conversation in a session once that session is established. TCP is therefore considered a stateful protocol because of its tracking ability. A stateful protocol is a protocol that keeps track of the state of the communication session.For example, when TCP transmits data, the sender expects an acknowledgement from the destination that the data has been received. TCP tracks which information it has sent and acknowledged. If the data is not acknowledged, the sender assumes the data did not arrive and resends it. The stateful session begins with the session establishment and ends when the session is closed with session termination. References http://www.expertsmind.com/CMSImages/1075_Packet%20loss%20and%20retransmission%20in%20TCP.png http://www.firewall.cx/images/stories/tcp-quick-overview-4.gif TCP & UDP are both valid transport protocols. One or sometimes both of these transport protocols (depending on which application is in use), can be used. Application developers need to make a choice for the suitable transport layer protocol (based on the application requirements)between TCP & UDP. It is a requirement for some application to have segments arriving in a particular sequence . Some other applications will have all segments fully received before any of it is considered useful. In these type of instances, TCP is the transport protocol in use. Applications such as web browsers, email and databases require arrival of all segments of data sent in its genuine condition. If any data is found to be missing it could provoke corrupt communication that is either incomplete or non-readable. These applications have been fashioned to use TCP though there will be an extra network overhead(which is a necessity for these applications. Some instances will have an application being allowing some loss of data during transmission but totally nontolerant of delays in transmission. UDP is the better choice for these applications because less network overhead is required. UDP is a better choice for these type of applications. Examples of include the streaming of Voice over IP (VoIP), audio and video. Acknowledgments which guarantee reliability will be make delivery slow. Retransmission are unappealing. If the arrival of a segment or two of a video stream was unsuccessful, this may appear as distortion in the image and might even be unnoticed by the user. However the image of a video stream would be seriously degenerated if the destination device has to request again the data that did not arrive successfully and thus a delay in the video stream while waiting for retransmissions. It is therefore simply a better option to render the data that has been successfully received and forget the issue of reliability in this type of scenario. Another instance of this type of scenario is internet radio. References http://ax-comp.com/img/article1/1-3-tcp-vs-udp.jpg http://images.slideplayer.com/23/6651733/slides/slide_5.jpg It is in the transport layer that data is prepared for transmission across the network. Decision is also made on how data is broken into what is known as segments, how to ensure that no segment is lost and verifying the arrival of all segments that was transmitted(reliability) when necessary. The functions of the transport layer include
The transport layer has responsibility for establishing a temporary communication session between two applications and delivering data between them. To achieve this, two protocols are used by the TCP/IP:
Primary Responsibilities of Transport Layer Protocols:
Identifying Applications Many applications or services could be running on each host in the network at the same time. To pass data streams to the proper applications, the transport layer must identify the target application. For this to be accomplished, the transport layer assigns each application an identifier known as a port number. Transport Layer Reliability Different applications have different requirements for transport reliability. There are two transport layer protocols namely TCP and UDP
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
References https://drive.google.com/drive/folders/0Bwhea26nBQhfWG5LeEtmRFR2T28 The Application Layer
|
CategoriesAuthor I have a passion for networking and use this medium for tutorials in Networking Archives
April 2017
Categories |