Network Transport Layer: Functions & Protocols Explained
Transport Layer Functions
The primary function of the transport layer is to facilitate reliable communication between communicating endpoints. This involves tracking errors and managing flow control (typically between the source and destination) to prevent data loss.
Beyond these core functions, the transport layer can multiplex multiple application-level connections into a single network connection. This reduces costs, for instance, when a service provider charges based on connection time and count. To enable this, the transport protocol must maintain an addressing mechanism at this level, as there may be several entities communicating simultaneously. This addressing is typically performed using numerical transport layer addresses, often referred to as port numbers.
Link Layer vs. Transport Layer
The link-layer protocol is responsible for connecting two directly connected nodes, such as between a host and a router, or two routers, using a direct channel. In contrast, the transport protocol facilitates communication between an origin and a destination across an entire network.
Consequently, link-layer frames typically either reach the other end of the cable or are lost. However, a Transport Protocol Data Unit (TPDU) might temporarily disappear within the subnet, only to reappear unexpectedly minutes later due to network delays or reordering.
Link-layer connections are often not explicitly established, as stations are generally ready for direct communication. At the transport layer, however, connection establishment is more complex, requiring the exchange of control information.
The transport layer’s ability to multiplex several communications within a single network transmission significantly reduces communication costs, particularly when the underlying subnet charges based on time or connections.
Transport Layer Protocols
Transport protocols are designed considering the type of network service they are intended to operate over. According to ISO, there are three classes of network-level services:
- Class A: These network services perform error handling, making the transport service layer relatively straightforward to design.
- Class B: The network layer notifies the transport layer of a significant number of errors that may occur, but it does not correct them.
- Class C: The network layer provides an unreliable service, requiring the transport layer to detect and correct all errors originating from the subnet.
Internet Transport Protocols: TCP & UDP
The Internet transport layer supports two distinct protocols for information exchange: TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
TCP is connection-oriented and reliable, making its design quite complex, especially since it operates over IP, which provides a Class C service. UDP, on the other hand, is connectionless and does not perform error handling. Consequently, it only adds a small header to IP packets, and its implementation is very simple.
Microsoft Network Transport Protocols
Microsoft networks historically utilized the NetBIOS protocol at the transport layer for communication between stations. Designed in 1983 by Sytek Inc. (now Hughes LAN Systems) for IBM, its initial purpose was to establish a communication protocol for small local area networks. It was subsequently included as a high-level protocol in Microsoft operating systems like DOS and Windows.
NetBIOS identifies stations by a name (up to 16 characters long) and organizes them in a flat structure, meaning all devices are at the same level with no inherent network hierarchy.
Modern versions of Microsoft operating systems no longer rely on the NetBEUI protocol for network transmission. While NetBIOS itself is not strictly necessary (as TCP/IP and domain names are used in Windows 2000/XP and later), it is still included for backward compatibility with older Microsoft Network environments (e.g., Windows 9x/NT systems). When NetBIOS is used without NetBEUI, it typically operates over other transport protocols, most commonly NetBT (NetBIOS over TCP/IP).