Defining Transport Layer and its protocols
Transport Layer:
- Transport layer is responsible for process to process delivery of the entire message.
- We know that in a single computer, there are many processes running. Network layers deliver packet from source to destination which means one PC to another PC. At the destination side, a PC has many applications running. Therefore, determining the particular application data to be submitted is done by the transport layer. That’s why it’s called process to process; delivery from one process to another process.
Its responsibilities are these:
- The transport layer header includes a type of address called a service point address, which is for the entire message. It corrects processes on the computer.
- The transport layer pides messages into segments and puts a sequence in it. These sequences of numbers enable the transport layer to reassemble the message correctly at the arriving destination. It also identifies and replaces the packet that was lost in the transmission.
- The transport layer protocol may be a connectionless or a connection-oriented protocol.
- Connectionless Services: In this protocol, the packet is sent from one source to its destination without any connection establishment or release. The packet is not numbered, they might get lost, delivered or they go out of sequence. There are no acknowledgments either.
- UDP (User Datagram protocol) is a connectionless protocol. Even though it’s a connectionless protocol it is still useful when sending small messages and when reliability is no issue.
- UDP’s known port numbers are 7, 9, and 11. 7-echo, means that echoes receive datagram back to the sender, 9-discards any datagram which are received, 11-is used for an active user.
- UDP is suitable for multicasting; its capability is embedded in UPD software but not in TCP software. It is used for management process such as SNMP.
- Connection-Oriented Services: First, it establishes the connection between the sender and receiver. Next, it transmits data and then releases connection.
- TCP and SCTP are connection-oriented protocol.
- TCP (Transmission Control Protocol) creates a virtual connection between two TCPs and sends data. It is used for flow and error control mechanisms at the transport layer.
- TCP connections normally consist of a three-way connection establishment. It uses three ways handshaking, data transfer and connection termination. It’s required to have three or four ways handshaking.
- It is used for flow control, which is implemented by sliding window mechanism to avoid overwhelming data on the receiver’s side. It is used for error control mechanism, to provide reliable service by using checksum, acknowledge and time out. Corrupted segments are transmitted and duplicated segments are discarded.
- SCTP (Stream Control Transmission Protocol) is a message oriented and reliable protocol.
- SCTP controls information and data information that are carried in separate chunks. An SCTP packet can contain control chunk and data chunk with control chunks coming before data chunks.
- Each data chunk is numbered using a transmission sequence number. To distinguish between different steams, SCTP uses the sequence identifier.
- An SCTP establishes 4 packets and terminates using three packets (three way handshaking). An SCTP uses cookies to prevent blind flooding attacks and also verification tag to avoid insertion attacks. It provides flow, error and congestion control mechanism.