5 min read

Transport layer

  • The transport layer in the TCP/IP model does two things: it packages the data given out by applications to a format that is suitable for transport over the network, and it unpacks the data received from the network to a format suitable for applications.
  • The process of packaging the data packets received from the applications is known as encapsulation. The output of such a process is known as datagram.
  • Similarly, the process of unpacking the datagram received from the network is known as abstraction

A transport section in a protocol stack carries the information that is in the form of datagrams, Frames and Bits.

Transport layer protocols

There are many transport layer protocols that carry the transport layer functions. The most important ones are:

  • Transmission Control Protocol (TCP): It is a core Internet protocol that provides reliable delivery mechanisms over the Internet. TCP is a connection-oriented protocol.
  • User Datagram Protocol (UDP): This protocol is similar to TCP, but is connectionless.

A connection-oriented protocol is a protocol that guarantees delivery of datagram (packets) to the destination application by way of a suitable mechanism. For example, a three-way handshake syn, syn-ack, ack in TCP. The reliability of datagram delivery of such protocol is high.

A protocol that does not guarantee the delivery of datagram, or packets, to the destination is known as connectionless protocol. These protocols use only one-way communication. The speed of the datagram’s delivery by such protocols is high.

Other transport layer protocols are as follows:

  • Sequenced Packet eXchange (SPX): SPX is a part of the IPX/SPX protocol suit and used in Novell NetWare operating system. While Internetwork Packet eXchange (IPX) is a network layer protocol, SPX is a transport layer protocol.
  • Stream Control Transmission Protocol (SCTP): It is a connection-oriented protocol similar to TCP, but provides facilities such as multi-streaming and multi-homing for better performance and redundancy. It is used in Unix-like operating systems.
  • Appletalk Transaction Protocol (ATP): It is a proprietary protocol developed for Apple Macintosh computers.
  • Datagram Congestion Control Protocol (DCCP): As the name implies, it is a transport layer protocol used for congestion control. Applications include Internet telephony and video or audio streaming over the network.
  • Fiber Channel Protocol (FCP): This protocol is used in high-speed networking such as Gigabit networking. One of its prominent applications is Storage Area Network (SAN).

SAN is network architecture that’s used for attaching remote storage devices such as tape drives, disk arrays, and so on to the local server. This facilitates the use of storage devices as if they were local devices.

In the following sections we’ll review the most important protocols—TCP and UDP.

Transmission Control Protocol (TCP)

TCP is a connection-oriented protocol that is widely used in Internet communications. As the name implies, a protocol has two primary functions. The primary function of TCP is the transmission of datagram between applications, while the secondary function is related to controls that are necessary for ensuring reliable transmissions.

Protocol / Service

Transmission Control Protocol (TCP)

Layer(s)

TCP works in the transport layer of the TCP/IP model

Applications

Applications where the delivery needs to be assured such as email, World Wide Web (WWW), file transfer, and so on use TCP for transmission

Threats

Service disruption

Vulnerabilities

Half-open connections

Attacks

Denial-of- service attacks such as TCP SYN attacks

Connection hijacking such as IP Spoofing attacks

Countermeasures

Syn cookies

Cryptographic solutions

 

A half-open connection is a vulnerability in TCP implementation. TCP uses a three-way handshake to establish or terminate connections. Refer to the following illustration:

Telecommunications and Network Security Concepts for CISSP Exam

In a three-way handshake, first the client (workstation) sends a request to the server (www.some_website.com). This is known as an SYN request. The server acknowledges the request by sending SYN-ACK and, in the process, creates a buffer for that connection. The client does a final acknowledgement by sending ACK. TCP requires this setup because the protocol needs to ensure the reliability of packet delivery.

If the client does not send the final ACK, then the connection is known as half-open. Since the server has created a buffer for that connection, certain amounts of memory or server resources are consumed. If thousands of such half-open connections are created maliciously, the server resources may be completely consumed resulting in a denial-of-service to legitimate requests.

TCP SYN attacks are technically establishing thousands of half-open connections to consume the server resources. Two actions can be taken by an attacker. The attacker, or malicious software, will send thousands of SYN to the server and withhold the ACK. This is known as SYN flooding. Depending on the capacity of the network bandwidth and the server resources, in a span of time the entire resources will be consumed. This will result in a denial-of-service. If the source IP were blocked by some means, then the attacker, or the malicious software, would try to spoof the source IP addresses to continue the attack. This is known as SYN spoofing.

SYN attacks, such as SYN flooding and SYN spoofing, can be controlled using SYN cookies with cryptographic hash functions. In this method, the server does not create the connection at the SYN-ACK stage. The server creates a cookie with the computed hash of the source IP address, source port, destination IP, destination port, and some random values based on an algorithm, which it sends as SYN-ACK. When the server receives an ACK, it checks the details and creates the connection.

A cookie is a piece of information, usually in a form of text file, sent by the server to client. Cookies are generally stored on a client’s computer and are used for purposes such as authentication, session tracking, and management.

User Datagram Protocol (UDP)

UDP is a connectionless protocol similar to TCP. However, UDP does not provide delivery guarantee of data packets.

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here