TCP/IP Transport Layer Protocols The Transport Layer of the TCP/IP suite has various protocols which operate at the Transport level. This Layer is responsible for the connection from host to host. The Transport Layer manages connection oriented streams, flow control, reliable transport and multiple transmissions (multiplexing). There are five basic protocols for the Transport Layer: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Datagram Congestion Control Protocol (DCCP) Stream Control Transmission Protocol (SCTP) Resource Reservation Protocol (RSVP) Let’s look at each of these protocols in a little more detail. Transmission Control Protocol (TCP) TCP handles the transmission of the data from the Application Layer. When a large file needs to be received from a host system, TCP manages the IP packets from the layer below it. TCP organizes the packets into its sequential order in case packets were delivered out of order. TCP also takes the smaller IP packets and merges them into the file that was originally sent. If a packet is not received TCP can send an ICMP message to have the specified packet retransmitted. NOTE: When packets are delivered out of order due to passing through different routers, this is called segmentation. Where IP was a connectionless protocol or did not guarantee delivery, TCP guarantees delivery of all packets. When TCP sets up a connection between hosts, there is a three-way handshake. First, a SYN (synchronize) packet is sent to the host. Second, the other host sends a SYN-ACK, or acknowledgement to the initiating host. Finally, the initiating host sends an ACK (acknowledgement) to complete the handshake. Now, a connection is established between the two hosts. When one host terminates the connection, it sends a FIN (finished) packet. Once received, the other host responds with a FIN-ACK (finished acknowledgment). The terminating host sends a final ACK packet to finalize the termination. TCP manages flow control by setting up a window size. The window size is the amount of data being transmitted. If congestion or Source Quench occurs, the window size can be decreased. If the other host sends a message to send more, the window size can be increased. User Datagram Protocol (UDP) UDP is similar to TCP, but without the guarantee of delivery. UDP has a lower overhead by not requiring acknowledgments of packet receipt, retransmission of data and packet ordering. UDP can be faster, but data can definitely be lost. UDP is more for multicasting data such as streaming video. If packets are out of order or lost, then those packets are skipped. Because of the lost packets streaming video may seem jumpy. UDP can be used for simple queries such as DNS queries since it is faster than TCP. For these types of uses other protocols manage the guarantee of retrieval. If a DNS query is made and the response is not received, then the query will be made again. UDP is used more commonly in streaming media or any type of multicast operation. Datagram Congestion Control Protocol (DCCP) DCCP handles setup and teardown of reliable connections while generating ECP messages when congestion occurs. Since DCCP is at the Transport Layer, applications do not need to be programmed to use DCCP. DCCP is usually implemented for multicast operations such as telephony, streaming media and online gaming. DCCP uses UDP for a faster transport mechanism since lost packets and resending those packets are not necessary. Stream Control Transmission Protocol (SCTP) SCTP is a protocol which can send multiple streams through one stream. For instance, most browsers treat each image on a web page as a connection and then one connection for the text. With SCTP, these can be sent as one connection. SCTP can support a connection between two hosts which each have two connections to the network (multi-homed). If one connection goes down, the other connection can be used as a redundant connection to resume transmission. Resource Reservation Protocol (RSVP) RSVP allows for reservation of resources. RSVP can reserve bandwidth for unicast (one-host-to-one-host transmission) or multicast (one-host-to-many-hosts). RSVP can be utilized on routers to provide a Quality of Service (QoS) to hosts. RSVP is oriented by the receiver. The receiving host initiates the reservation of resources for the transmission rate it requires. Routers will reset the reservations as needed to accommodate other reservations. Rate reservations are not guaranteed, but bandwidth should not drop to nothing. ------------------------------------------------------------------------------------------- The Transport Layer is important to handle guaranteed delivery and multicast (not guaranteed) delivery of data. TCP/IP is a suite that is made up of many protocols which not only account for transmission and receiving of frames, but control of the transmissions themselves. TCP/IP manages itself to reduce problems that may occur on a network or on the Internet. It should be apparent why TCP/IP is used by the Internet and how the Internet can function as well as it does.