Understanding the Host-to-Host Communications Model
The Open Systems Interconnection (OSI) reference model was created to help define how network processes function in general, including the various components of networks and transmission of data. Understanding the structure and purpose of the OSI model is central to understanding how one host communicates with another. This section introduces the OSI model and describes each of its layers. Remember that this is a reference model to provide a framework for building protocols and to help people understand the process around network communications and not a communications standard in itself.
NOTE This section is a discussion of the OSI reference model and not the OSI protocol.
No matter what type of connectivity, operating system, or network services interconnect computers and computer networks, the fact still remains that for these devices to communicate, some rules must exist. Like any system of communication, rules govern how the communication must take place. Also, some medium for the communication to take place over exists. For example, a language has rules for the formation of sentences using basic words. This language can be used for verbal communication, using air as the medium, or written communication, using paper as the medium.
Most languages have rules that specify how words are put together and then how they are spoken or written. In many western languages, words are written from left to right, but in some eastern languages words are written from right to left or even top to bottom. To be able to effectively communicate, you must understand how to read the words and in what order to read them.
Many of the computers and operating systems within an organization are manufactured by different companies and use different types of programs to operate; however, if these systems are going to communicate with one another, they must use a common set of rules for data communications. The rules that define how systems talk to one another are called protocols.
Many internetworking protocols can be used to establish communications paths between systems, and each of these protocols provides very similar functions. To provide a way to establish some common and open rules for building a data communications protocol, the International Organization for Standardization (ISO) created the OSI reference model.
The following sections describe the purpose of the OSI reference model and the TCP/IP protocol stack. You also learn how the OSI reference model facilitates data communication.
OSI Reference Model
The OSI reference model is the primary model for network communications. The early development of LANs, MANs, and WANs was chaotic in many ways. The early 1980s saw tremendous increases in the number and sizes of networks. As companies realized that they could save money and gain productivity by using networking technology, they added networks and expanded existing networks as rapidly as new network technologies and products were introduced.
By the mid-1980s, companies began to experience difficulties from all the expansions they had made. It became more difficult for networks using different specifications and implementations to communicate with each other. The companies realized that they needed Understanding the Host-to-Host Communications Model 33 to move away from proprietary networking systems, those systems that are privately developed, owned, and controlled.
NOTE In the computer industry, proprietary is the opposite of open. Proprietary means that one company or a small group of companies controls all usage of the technology. Open means that free usage of the technology is available to the public.
To address the problem of networks being incompatible and unable to communicate with each other, the ISO researched different network schemes. As a result of this research, the ISO created a model that would help vendors create networks that would be compatible with, and operate with, other networks.
The OSI reference model, released in 1984, was the descriptive scheme that the ISO created. It provided vendors with a set of standards that ensured greater compatibility and interoperability between the various types of network technologies produced by companies around the world. Although other models exist, most network vendors today relate their products to the OSI reference model, especially when they want to educate customers on the use of their products. The OSI model is considered the best tool available for teaching people about sending and receiving data on a network.
The OSI reference model has seven layers, as shown in Figure 1-20, each illustrating a particular network function. This separation of networking functions is called layering. The OSI reference model defines the network functions that occur at each layer. More importantly, the OSI reference model facilitates an understanding of how information travels throughout a network. In addition, the OSI reference model describes how data travels from application programs (for example, spreadsheets), through a network medium, to an application program located in another computer, even if the sender and receiver are connected using different network media.
Figure 1-20 OSI Reference Model
Dividing the network into these seven layers provides these advantages:
- Reduces complexity: It breaks network communication into smaller, simpler parts.
- Standardizes interfaces: It standardizes network components to allow multiple vendor development and support.
- Facilitates modular engineering: It allows different types of network hardware and software to communicate with each other.
- Ensures interoperable technology: It prevents changes in one layer from affecting the other layers, allowing for quicker development.
- Accelerates evolution: It provides for effective updates and improvements to individual components without affecting other components or having to rewrite the entire protocol.
- Simplifies teaching and learning: It breaks network communication into smaller components to make learning easier.
The practice of moving information between computers is divided into seven techniques in the OSI reference model.
Each OSI layer contains a set of functions performed by programs to enable data to travel from a source to a destination on a network. The following sections provide brief descriptions of each layer in the OSI reference model.
Layer 7: The Application Layer
The application layer is the OSI layer that is closest to the user. This layer provides network services to the user’s applications. It differs from the other layers in that it does not provide services to any other OSI layer, but only to applications outside the OSI reference model. The application layer establishes the availability of intended communication partners and synchronizes and establishes agreement on procedures for error recovery and control of data integrity.
Layer 6: The Presentation Layer
The presentation layer ensures the information that the application layer of one system sends out is readable by the application layer of another system. For example, a PC program communicates with another computer, one using extended binary coded decimal interchange code (EBCDIC) and the other using ASCII to represent the same characters. If necessary, the presentation layer might be able to translate between multiple data formats by using a common format.
Layer 5: The Session Layer
The session layer establishes, manages, and terminates sessions between two communicating hosts. It provides its services to the presentation layer. The session layer also synchronizes dialogue between the presentation layers of the two hosts and manages
their data exchange. For example, web servers have many users, so many communication processes are open at a given time. Therefore, keeping track of which user communicates on which path is important. In addition to session regulation, the session layer offers provisions for efficient data transfer, class of service, and exception reporting of session layer, presentation layer, and application layer problems.
Layer 4: The Transport Layer
The transport layer segments data from the sending host’s system and reassembles the data into a data stream on the receiving host’s system. For example, business users in large corporations often transfer large files from field locations to a corporate site. Reliable delivery of the files is important, so the transport layer breaks down large files into smaller segments that are less likely to incur transmission problems.
The boundary between the transport layer and the session layer can be thought of as the boundary between application protocols and data-flow protocols. Whereas the application, presentation, and session layers are concerned with application issues, the lower four layers are concerned with data-transport issues. The transport layer attempts to provide a data-transport service that shields the upper layers from transport implementation details. Specifically, issues such as reliability of transport between two hosts are the concern of the transport layer. In providing communication service, the transport layer establishes, maintains, and properly terminates virtual circuits. Transport error detection and recovery and information flow control provide reliable
service.
Layer 3: The Network Layer
The network layer provides connectivity and path selection between two host systems that might be located on geographically separated networks. The growth of the Internet has increased the number of users accessing information from sites around the world, and the network layer manages this connectivity.
Layer 2: The Data Link Layer
The data link layer defines how data is formatted for transmission and how access to the network is controlled. This layer is responsible for defining how devices on a common media communicate with one another, including addressing and control signaling between devices.
Layer 1: The Physical Layer
The physical layer defines the electrical, mechanical, procedural, and functional specifications for activating, maintaining, and deactivating the physical link between end systems. Characteristics such as voltage levels, timing of voltage changes, physical data rates, maximum transmission distances, physical connectors, and other similar attributes are defined by physical layer specifications.
Data Communications Process
All communications on a network originate at a source and are sent to a destination. A networking protocol using all or some of the layers listed in the OSI reference model move data between devices. Recall that Layer 7 is the part of the protocol that communicates with the application, and Layer 1 is the part of a protocol that communicates with the media. data frame is able to travel across a computer network because of the layers of the protocol. The process of moving data from one device in a network is accomplished by passing information from applications down the protocol stack, adding an appropriate header at each layer of the model. This method of passing data down the stack and adding headers and trailers is called encapsulation. After the data is encapsulated and passed across the network, the receiving device removes the information added, using the messages in the header as directions as to how to pass the data up the stack to the appropriate application.
Data encapsulation is an important concept to networks. It is the function of like layers on each device, called peer layers, to communicate critical parameters such as addressing and control information.
Although encapsulation seems like an abstract concept, it is actually quite simple. Imagine that you want to send a coffee mug to a friend in another city. How will the mug get there? Basically, it will be transported on the road or through the air. You can’t go outside and set the mug on the road or throw it up in the air and expect it to get there. You need a service to pick it up and deliver it. So, you call your favorite parcel carrier and give them the mug. But, that’s not all. Here’s the complete process:
Step 1 Pack the mug in a box.
Step 2 Place an address label on the box so the carrier knows where to deliver it.
Step 3 Give the box to a parcel carrier.
Step 4 The carrier drives it down the road toward its final destination.
This process is similar to the encapsulation method that protocol stacks use to send data across networks. After the package arrives, your friend has to reverse the process. He takes the package from the carrier, reads the label to see who it’s from, and finally opens the box and removes the mug. The reverse of the encapsulation process is known as de-encapsulation. The next sections describe the encapsulation and de-encapsulation processes.
Encapsulation
As indicated in the previous section, encapsulation on a data network is similar to the process of sending that mug. However, instead of sending a coffee mug to a friend, you send information from an application from one device to another. The information sent on a network is referred to as data or data packets.
Encapsulation wraps data with the necessary protocol information before network transit. Therefore, as the data moves down through the layers of the OSI reference model, each OSI layer adds a header (and a trailer, if applicable) to the data before passing it down to a lower layer. The headers and trailers contain control information for the network devices and receiver to ensure proper delivery of the data and to ensure that the receiver can correctly interpret the data.
Figure 1-21 illustrates how encapsulation occurs. It shows the manner in which data travels through the layers. These steps occur to encapsulate data:
Step 1 The user data is sent from an application to the application layer.
Step 2 The application layer adds the application layer header (Layer 7 header) to the user data. The Layer 7 header and the original user data become the data that is passed down to the presentation layer.
Step 3 The presentation layer adds the presentation layer header (Layer 6 header) to the data. This then becomes the data that is passed down to the session layer.
Step 4 The session layer adds the session layer header (Layer 5 header) to the data. This then becomes the data that is passed down to the transport layer.
Step 5 The transport layer adds the transport layer header (Layer 4 header) to the data. This then becomes the data that is passed down to the network layer.
Step 6 The network layer adds the network layer header (Layer 3 header) to the data. This then becomes the data that is passed down to the data link layer.
Step 7 The data link layer adds the data link layer header and trailer (Layer 2 header and trailer) to the data. A Layer 2 trailer is usually the frame check sequence (FCS), which is used by the receiver to detect whether the data is in error. This then becomes the data that is passed down to the physical layer.
Step 8 The physical layer then transmits the bits onto the network media as defined by the media type.
Figure 1-21 Data Encapsulation
De-Encapsulation
When the remote device receives a sequence of bits, the physical layer at the remote device passes the bits to the data link layer for manipulation. The data link layer performs the following process, referred to as de-encapsulation:
Step 1 It checks the data link trailer (the FCS) to see if the data is in error.
Step 2 If the data is in error, it is discarded.
Step 3 If the data is not in error, the data link layer reads and interprets the control information in the data link header.
Step 4 It strips the data link header and trailer and then passes the remaining data up to the network layer based on the control information in the data link header.
Each subsequent layer performs a similar de-encapsulation process, as shown in Figure 1-22.
Think of de-encapsulation as the process of reading the address on a package to see whether it is for you and then opening and removing the contents of the package if it is addressed to you.
Figure 1-22 De-Encapsulation
Peer-to-Peer Communication
For data to travel from the source to the destination, each layer of the OSI reference model at the source must communicate with its peer layer at the destination. This form of communication is referred to as peer-to-peer communication. During this process, the protocols at each layer exchange information, called protocol data units (PDU), between peer layers, as shown in Figure 1-23.
Data packets on a network originate at a source and then travel to a destination. Each layer depends on the service function of the OSI layer below it. To provide this service, the lower layer uses encapsulation to put the PDU from the upper layer into its data field. It then adds whatever headers the layer needs to perform its function. As the data moves down through Layers 7 through 5 of the OSI reference model, additional headers are added. The grouping of data at the Layer 4 PDU is called a segment. The network layer provides a service to the transport layer, and the transport layer presents data to the internetwork subsystem. The network layer moves the data through the internetwork by encapsulating the data and attaching a header to create a datagram (the Layer 3 PDU). The header contains information required to complete the transfer, such as source and destination logical addresses.
Figure 1-23 Peer-to-Peer Communication
The data link layer provides a service to the network layer by encapsulating the network layer datagram in a frame (the Layer 2 PDU). The frame header contains the physical addresses required to complete the data link functions, and the frame trailer contains the FCS. The physical layer provides a service to the data link layer, encoding the data link frame into a pattern of 1s and 0s (bits) for transmission on the medium (usually a wire) at Layer 1. Network devices such as hubs, switches, and routers work at the lower three layers. Hubs are at Layer 1, switches are at Layer 2, and routers are at Layer 3.
The TCP/IP Protocol Stack
The TCP/IP suite is a layered model similar to the OSI reference model. Its name is actually a combination of two individual protocols, Transmission Control Protocol (TCP) and Internet Protocol (IP). It is divided into layers, each of which performs specific functions in the data communication process.
Both the OSI model and the TCP/IP stack were developed by different organizations at approximately the same time as a means to organize and communicate the components that guide the transmission of data.
Although the OSI reference model is universally recognized, the historical and technical open standard of the Internet is the TCP/IP protocol stack. The TCP/IP protocol stack, shown in Figure 1-24, varies slightly from the OSI reference model.
Figure 1-24 TCP/IP Protocol Stack
The TCP/IP protocol stack has four layers. Note that although some of the layers in the TCP/IP protocol stack have the same names as layers in the OSI reference model, the layers have different functions in each model, as is described in the following list:
- Application layer: The application layer handles high-level protocols, including issues of representation, encoding, and dialog control. The TCP/IP model combines all application-related issues into one layer and ensures that this data is properly packaged for the next layer.
- Transport layer: The transport layer deals with QoS issues of reliability, flow control, and error correction. One of its protocols, TCP, provides for reliable network communications.
- Internet layer: The purpose of the Internet layer is to send source datagrams from any network on the internetwork and have them arrive at the destination, regardless of the path they took to get there.
- Network access layer: The name of this layer is broad and somewhat confusing. It is also called the host-to-network layer. It includes the LAN and WAN protocols and all the details in the OSI physical and data link layers.
OSI Model Versus TCP/IP Stack
Both similarities and differences exist between the TCP/IP protocol stack and the OSI reference model. Figure 1-25 offers a side-by-side comparison of the two models.
Similarities between the TCP/IP protocol stack and the OSI reference model include the following:
- Both have application layers, though they include different services.
- Both have comparable transport and network layers.
- Both assume packet-switched technology, not circuit-switched. (Analog telephone calls are an example of circuit-switched technology.)
Figure 1-25 OSI Model Versus TCP/IP
The differences that exist between the TCP/IP protocol stack and the OSI reference model include the following:
- TCP/IP combines the presentation and session layers into its application layer.
- TCP/IP combines the OSI data link and physical layers into the network access layer.
TCP/IP protocols are the standards around which the Internet developed, so the TCP/IP protocol stack gains credibility just because of its protocols. In contrast, networks are not typically built on the OSI reference model, even though the OSI reference model is used as a guide.
Understanding TCP/IP’s Internet Layer
Among the protocols included in the TCP/IP protocol stack are a network layer protocol and a transport layer protocol. The internetworking layer handles the routing of packets of data by using IP addresses to identify each device on the network. Each computer, router,printer, or any other device attached to a network has its own unique IP address that routes packets of data. Each IP address has a specific structure, and various classes of IP addresses exist. In addition, subnetworks and subnet masks play a role in IP addressing schemes, and different routing functions and protocols are involved in transmitting data from one network node to another using IP addresses.
The various aspects of IP addressing include calculations for constructing an IP address, classes of IP addresses designated for specific routing purposes, and public versus private IP addresses. Also, two different types of IP addresses exist: IP version 4 (IPv4) and IP version 6 (IPv6). The 32-bit IPv4 address type is currently the most common, but the 128-bit IPv6 address is also in use and will probably become the more common address type over time. This lesson describes 32-bit IPv4 addressing, except where IPv6 is explicitly identified.
How do end systems initially obtain their IP address information? Although manual assignment of IP address information is possible, it does not scale and is a barrier to deployment and maintenance of networks. Therefore, protocols for the automatic
assignment of IP address information have evolved and now provide this essential function without end user intervention. This lesson describes how IP address protocols function