The Transport Layer
The Transport layer defines the protocols for structuring messages and checks the validity of transmissions.
Transport Layer Concepts
The Transport layer is remenescent of the old saying Net Tech instructors used to pound into their students’ heads: “Reliable end-to-end error and flow control.” The Transport layer does other
things as well, but the protocols that operate at the Transport layer mainly ensure reliable communications between upper peer layers. That’s not to say there are no Transport layer protocols
that provide none of this. In fact, UDP, as you will see, is a stripped-down protocol that has one job only, to connect the upper layers with the Network layer. It doesn’t concern itself with such
things as reliability, connection establishment, and flow control. Nevertheless, if those things are to be offered, the Transport layer is generally where you need to look for such support. The following sections strive to demystify the intricacies of one of the more complex layers in the OSI model. Discussions center around connection orientation and caomparisons of the
best-known Transport layer protocols.
The Connection Type
To provide error and flow control services, protocols at the Transport layer use connection services. There are two types of connection services:
- Connection-oriented
- Connectionless
Connection-oriented services use acknowledgments and responses to establish a virtual circuit between sending and receiving end devices. The acknowledgments are also used to ensure
that the connection is maintained. Alternatively, as in the case of protocols such as Frame Relay and ATM, virtual circuits may be configured manually by administrators or engineers at each
switch along a path from one end device to the other. The one thing all connection-oriented protocols have in common, however, is that no user data will be sent into the network without a virtual circuit already having been established.
Connections are similar to phone calls. You dial the intended recipient and the recipient picks up and says hello. You then identify yourself and say that you’d like to talk about something,
and the conversation begins. If you hear silence for a while, you might ask, “Are you still there?” to make sure the recipient is still on the line. When finished, you both agree to end the connection by hanging up. Connection-oriented services work in the same way, except that instead of mouths, phones, and words, they use computers, NICs, and special datagrams.
Figure 2.18 shows an example of the beginning of communications between two computers using connection-oriented services.
Connectionless services, on the other hand, don’t have error recovery or flow control because most connectionless services are also unreliable.They do have one simple advantage:
speed. Because connectionless services don’t have the overhead of maintaining the connection, the sacrifice in error control is more than made up for in speed. To make another analogy, connectionless services are similar to a postcard. Each message is considered singular and not related to any other by the receiving peer layer. The error control and delivery confirmation are
left up to higher layers.
Figure 2.18 shows an example of the beginning of communications between two computers using connection-oriented services.
Connectionless services, on the other hand, don’t have error recovery or flow control because most connectionless services are also unreliable.They do have one simple advantage:
speed. Because connectionless services don’t have the overhead of maintaining the connection, the sacrifice in error control is more than made up for in speed. To make another analogy, connectionless services are similar to a postcard. Each message is considered singular and not related to any other by the receiving peer layer. The error control and delivery confirmation are
left up to higher layers.
Transport Layer Implementations
Before we discuss the other layers of the OSI model, let’s take a look at the IPX/SPX, TCP/IP, and NetBEUI implementations of the Transport layer.
Before we discuss the other layers of the OSI model, let’s take a look at the IPX/SPX, TCP/IP, and NetBEUI implementations of the Transport layer.
Note:
We will look closer at these protocols, as well as AppleTalk and AppleTalk over
IP, in the section “Networking Protocols” later in this chapter.
The IPX/SPX Protocol
As far as the connection services of IPX/SPX are concerned, there are two transport protocols:
IPX is connectionless and thus enjoys the benefits of connectionless transports, including increased speed. SPX, on the other hand, uses connection-oriented services. SPX always uses the Network layer services of IPX. IPX, however, can operate independently of SPX, as if it were both a Network and Transport layer entity, as represented in Figure 2.19. Notice the way IPX wraps around SPX, taking up space in both the Network and Transport layers, able to interact with higher-layer protocols and services, without the use of SPX. In this way, IPX without SPX is similar to the combination of UDP and IP, in contrast to TCP with IP, which is more akin to
the combination of SPX and IPX. While IP will always answer to TCP or UDP, never taking on Transport layer functionality on its own, IPX is capable of just such a feat.
IPX/SPX has no name resolution system by default. That functionality is employed when a NetWare server is running Novell Directory Services (NDS) and the NDS directory requester (which runs at the Session, Presentation, and Application layers) can make requests of an NDS database.
Noet:
The TCP/IP Protocol
Like the IPX/SPX protocol stack, the TCP/IP protocol stack has two Transport layer protocols:
TCP is connection oriented, and UDP is connectionless. Some upper-layer protocols, such as FTP and HTTP, require reliable connection-oriented service and, therefore, use TCP. Other
upper-layer protocols, such as Trivial File Transfer Protocol (TFTP) and Network File System (NFS), require increased speed and will trade reliability for that speed. They, therefore, use UDP.
Noet:
The NetBEUI Protocol
Because it is based on the NetBIOS protocol, NetBIOS Extended User Interface (NetBEUI) has datagram support and, thus, has support for connectionless transmission. It doesn’t, however,
have support for connection-oriented services. NetBIOS does allow hosts to have logical names, but the naming service, as with NDS and DNS, functions at the upper layers of the OSI model.
As far as the connection services of IPX/SPX are concerned, there are two transport protocols:
- Internetwork Packet Exchange (IPX))
- Sequenced Packet Exchange (SPX)
FIGURE 2 . 1 8 Initiating communications using a connection-oriented service
the combination of SPX and IPX. While IP will always answer to TCP or UDP, never taking on Transport layer functionality on its own, IPX is capable of just such a feat.
FIGURE 2 . 1 9 The IPX/SPX protocol model
Noet:
Directory services databases fall into two broad categories: hierarchical and
nonhierarchical. NDS, unlike the NetWare Bindery it was intended to replace,
is a hierarchically designed directory service, as is the Active Directory (AD)
of Microsoft Windows. Another example of a hierarchical database is the
password shadow file of Linux, which contains more information than a standard
world-readable password file and is only readable by the root account,
making it more secure. The Novell NetWare Bindery is a flat database that
contains definitions for objects, such as users, groups, and workgroups.
Other nonhierarchical databases are non-AD NT domains and non-shadow
Linux password files.
The TCP/IP Protocol
Like the IPX/SPX protocol stack, the TCP/IP protocol stack has two Transport layer protocols:
- Transmission Control Protocol (TCP)
- User Datagram Protocol (UDP)
TCP is connection oriented, and UDP is connectionless. Some upper-layer protocols, such as FTP and HTTP, require reliable connection-oriented service and, therefore, use TCP. Other
upper-layer protocols, such as Trivial File Transfer Protocol (TFTP) and Network File System (NFS), require increased speed and will trade reliability for that speed. They, therefore, use UDP.
Noet:
A Fully Qualified Domain Name (FQDN) is the type of name that you use when surfing the Web. It consists of a top-level domain name, such as .com, for example, preceded by a second-level domain name, such as comptia, preceded by a server name or subdomain string, such as www. For FQDN-to-IP address resolution, TCP/IP uses Domain Name Service (DNS). Many operating systems use DNS for name resolution, but Unix (whose networking is based on TCP/IP) uses DNS almost exclusively, and today, so does Microsoft Windows. DNS is probably the most cross-platform name resolution method available. Chapter 4 discusses the function and operation of DNS.
The NetBEUI Protocol
Because it is based on the NetBIOS protocol, NetBIOS Extended User Interface (NetBEUI) has datagram support and, thus, has support for connectionless transmission. It doesn’t, however,
have support for connection-oriented services. NetBIOS does allow hosts to have logical names, but the naming service, as with NDS and DNS, functions at the upper layers of the OSI model.