1.4 Foundation of Networking Protocols
As discussed earlier in this chapter, users and networks are connected together by certain rules and regulations called network communication protocols. The Internet Protocol (IP), for example, is responsible for using prevailing rules to establish paths for packets. Communication protocols are the intelligence behind the driving force of packets and are tools by which a network designer can easily expand the capability of networks. One growth aspect of computer networking is clearly attributed to the ability to conveniently add new features to networks. New features can be added by connecting more hardware devices, thereby expanding networks. New features can also be added on top of existing hardware, allowing the network features to expand.
Protocols of communication networks are represented by either the TCP/IP model or its older version, the OSI model. The five-layer TCP/IP model is a widely accepted Internet backbone protocol structure. In this section, we describe the basics of these five layers and leave further details to be discussed in the remaining chapters. However, among these five layers, the basics of IP packets and network addressing are designated a separate section, 1.5 IP Packets and Addressing. As stated before, we make this arrangement because basic definitions related to this layer are required in the following chapters, mostly in Part I of this book.
1.4.1 Five-Layer TCP/IP Protocol Model
The basic structure of communication networks is represented by the Transmission Control Protocol/Internet Protocol (TCP/IP) model. This model is structured in five layers. An end system, an intermediate network node, or each communicating user or program is equipped with devices to run all or some portions of these layers, depending on where the system operates. These five layers, shown in Figure 1.10, are as follows:
Figure 1.10 Hierarchy of the five-layer communication protocol model
- Physical layer
- Link layer
- Network layer
- Transport layer
- Application layer
Layer 1, known as the physical layer, defines electrical aspects of activating and maintaining physical links in networks. The physical layer represents the basic network hardware. The physical layer also specifies the type of medium used for transmission and the network topology. The details of this layer are explained in later chapters, especially in Chapters 3, 4, 6, 13, 15, 17, and 20.
Layer 2, the link layer, provides a reliable synchronization and transfer of information across the physical layer for accessing the transmission medium. Layer 2 specifies how packets access links and are attached to additional headers to form frames when entering a new networking environment, such as a LAN. Layer 2 also provides error detection and flow control. This layer is discussed further in Chapters 3 and 4 and the discussion is extended in almost all other chapters.
Layer 3, the network layer (IP) specifies the networking aspects. This layer handles the way that addresses are assigned to packets and the way that packets are supposed to be forwarded from one end point to another. Some related parts of this layer are described in Chapters 5, 6, and 7, and the discussion is extended in other chapters such as Chapters 10, 12, 13, 14, 15, 16, 21, and 22.
Layer 4, the transport layer, lies just above the network layer and handles the details of data transmission. Layer 4 is implemented in the end points but not in network routers and acts as an interface protocol between a communicating device and a network. Consequently, this layer provides logical communication between processes running on different hosts. The concept of the transport layer is discussed in Chapter 8, and the discussion is extended in other chapters such as Chapters 9, 14, 17, 18, 20, 21, and 22.
Layer 5, the application layer, determines how a specific user application should use a network. Among such applications are the Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and the World Wide Web (WWW). The details of layer 5 are described in Chapter 9, and descriptions of other advanced applications such as voice over IP (VoIP) are extended in other chapters such as Chapters 18, 19, and 20.
The transmission of a given message between two users is carried out by (1) flowing the data down through each and all layers of the transmitting end, (2) sending it to certain layers of protocols in the devices between two end points, and (3) when the message arrives at the other end, letting the data flow up through the layers of the receiving end until it reaches its destination.
A network host is a computing device connected to a computer network and is assigned a network layer address. A host can offer information resources, services, and applications to users or other nodes on the network. Figure 1.10 illustrates a scenario in which different layers of protocols are used to establish a connection between two hosts. A message is transmitted from host 1 to host 2, and, as shown, all five layers of the protocol model participate in making this connection. The data being transmitted from host 1 is passed down through all five layers to reach router R1. Router R1 is located as a gateway to the operating regions of host 1 and therefore does not involve any tasks in layers 4 and 5. The same scenario is applied at the other end: router R2. Similarly, router R2, acting as a gateway to the operating regions of host 2, does not involve any tasks in layers 4 and 5. Finally at host 2, the data is transmitted upward from the physical layer to the application layer.
The main idea of the communication protocol stack is that the process of communication between two end points in a network can be partitioned into layers, with each layer adding its own set of special related functions. Figure 1.11 shows a different way of realizing protocol layers used for two hosts communicating through two routers. This figure illustrates a structural perspective of a communication setup and identifies the order of fundamental protocol layers involved.
Figure 1.11 Structural view of protocol layers for two hosts communicating through two routers
1.4.2 Seven-Layer OSI Model
The open systems interconnection (OSI) model was the original standard description for how messages should be transmitted between any two points. To the five TCP/IP layers, OSI adds the following two layers below the application layer:
- Layer 5, the session layer, which sets up and coordinates the applications at each end
- Layer 6 the presentation layer, which is the operating system part that converts incoming and outgoing data from one presentation format to another
The tasks of these two additional layers are dissolved into the application and transport layers in the newer five-layer TCP/IP model. The OSI model is becoming less popular. TCP/IP is gaining more attention, owing to its stability and its ability to offer better communication performance. Therefore, this book focuses on the five-layer model.