Chapter 4 Protocol Layering
Unfortunately, the ISO model predates work on the Internet, and does not describe the Internet protocols well. It contains layers not used by TCP/IP protocols. Because it was designed to describe protocols in a single network, the model does not describe the organization of TCP/IP protocols well.
4.3 The TCP/IP 5-Layer Reference Model
One of the major conceptual differences between the ISO and Internet layering
models arises from the way in which they were defined. The ISO model was prescriptive and the Internet model is descriptive.
Unlike the ISO model, which was defined by committees before protocols were implemented, the Internet 5-layer reference model was formalized after protocols had been designed and tested.
Application Layer. An application interacts with one of the transport layer protocols to send or receive data. Each application program chooses the style of transport needed, which can be either a sequence of individual messages or a continuous stream of bytes.
Transport Layer. The primary duty of the transport layer is to provide communication from one application program to another. Such communication is called end-to-end, because it involves applications on two endpoints rather than intermediate routers. It can be either connection oriented or connectionless. A The transport software divides the stream of data being transmitted into small pieces (sometimes called packets) and passes each packet along with a destination address to the next layer for transmission.
Internet Layer. The internet layer handles communication from one computer to another. It accepts a request to send a packet from the transport layer along with an identification of the computer to which the packet should be sent. Internet software encapsulates the transport packet in an IP packet, fills in the header, and either sends the IP packet directly to the destination (if the destination is on the local network) or sends it to a router to be forwarded across the internet (if the destination is remote).
Network Interface Layer. The lowest-layer of TCP/IP software comprises a network interface layer, responsible for accepting IP packets and transmitting them over a specific network.
4.3.1 The Realistic View of TCP Layers
A comparison of (a) conceptual protocol layering and (b) a more realistic view of protocol software with multiple network interfaces and multiple protocols
Although multiple independent protocols can exist above IP and multiple networks can exist below IP, all outgoing or incoming traffic must pass through IP.
4.3.2 TCP models on different networks connected by routers
Figure below shows the layering used in an internet with three networks connected by two routers.
In the figure, a sending application on computer A uses a transport protocol to send data to a receiving application on computer B. The message passes down the protocol stack on computer A, and is transmitted across network 1 to Router 1. When it reaches the first router, the packet passes up to the internet layer (Layer 3), which forwards the packet over network 2 to Router 2. On Router 2, the message passes up to Layer 3, and is forwarded over network 3 to the destination. When it reaches the final destination machine, the message passes up to the transport layer, which delivers the message to the receiving application.
4.3.3 Relationship between ISO Layer & TCP Layer
4.4 The Protocol Layering Principle
Specifically, the layering principle offers:
* Protocol design independence
* Definition of the end-to-end property
Protocol Design Independence. By placing a guarantee on the items passing between each pair of layers, the layering principle allows protocol designers to work on one layer at a time. A protocol designer can focus on the message exchange for a given layer with the assurance that lower layers will not alter messages.
Definition Of The End-To-End Property. Informally, we classify a network technology as end-to-end if the technology provides communication from the original source to the ultimate destination.
4.5 High-Level Protocol Address Boundary
4.6 Cross-layer Optimizations
4.7 Basic Idea behind Multiplexing and Demultiplexing
4.1 The Need for Multiple Protocols
Program translation has been partitioned into four conceptual subproblems identified with the software that handles each subproblem: compiler, assembler, link editor, and loader.
Two final observations will help clarify the organization of protocols.
First, it should be clear that pieces of translation software must agree on the exact format of data passed between them. The translation process involves multiple representations. Second, the four parts of the translator form a linear sequence in which output from the compiler becomes input to the assembler, and so on. Protocol software also uses a linear sequence.
4.2 ISO 7-Layer Reference ModelProgram translation has been partitioned into four conceptual subproblems identified with the software that handles each subproblem: compiler, assembler, link editor, and loader.
Two final observations will help clarify the organization of protocols.
First, it should be clear that pieces of translation software must agree on the exact format of data passed between them. The translation process involves multiple representations. Second, the four parts of the translator form a linear sequence in which output from the compiler becomes input to the assembler, and so on. Protocol software also uses a linear sequence.
Unfortunately, the ISO model predates work on the Internet, and does not describe the Internet protocols well. It contains layers not used by TCP/IP protocols. Because it was designed to describe protocols in a single network, the model does not describe the organization of TCP/IP protocols well.
4.3 The TCP/IP 5-Layer Reference Model
One of the major conceptual differences between the ISO and Internet layering
Unlike the ISO model, which was defined by committees before protocols were implemented, the Internet 5-layer reference model was formalized after protocols had been designed and tested.
Application Layer. An application interacts with one of the transport layer protocols to send or receive data. Each application program chooses the style of transport needed, which can be either a sequence of individual messages or a continuous stream of bytes.
Transport Layer. The primary duty of the transport layer is to provide communication from one application program to another. Such communication is called end-to-end, because it involves applications on two endpoints rather than intermediate routers. It can be either connection oriented or connectionless. A The transport software divides the stream of data being transmitted into small pieces (sometimes called packets) and passes each packet along with a destination address to the next layer for transmission.
Internet Layer. The internet layer handles communication from one computer to another. It accepts a request to send a packet from the transport layer along with an identification of the computer to which the packet should be sent. Internet software encapsulates the transport packet in an IP packet, fills in the header, and either sends the IP packet directly to the destination (if the destination is on the local network) or sends it to a router to be forwarded across the internet (if the destination is remote).
Network Interface Layer. The lowest-layer of TCP/IP software comprises a network interface layer, responsible for accepting IP packets and transmitting them over a specific network.
4.3.1 The Realistic View of TCP Layers
A comparison of (a) conceptual protocol layering and (b) a more realistic view of protocol software with multiple network interfaces and multiple protocols
Although multiple independent protocols can exist above IP and multiple networks can exist below IP, all outgoing or incoming traffic must pass through IP.
4.3.2 TCP models on different networks connected by routers
Figure below shows the layering used in an internet with three networks connected by two routers.
In the figure, a sending application on computer A uses a transport protocol to send data to a receiving application on computer B. The message passes down the protocol stack on computer A, and is transmitted across network 1 to Router 1. When it reaches the first router, the packet passes up to the internet layer (Layer 3), which forwards the packet over network 2 to Router 2. On Router 2, the message passes up to Layer 3, and is forwarded over network 3 to the destination. When it reaches the final destination machine, the message passes up to the transport layer, which delivers the message to the receiving application.
4.3.3 Relationship between ISO Layer & TCP Layer
4.4 The Protocol Layering Principle
Layered protocols are designed so that layer n at the destination receives exactly the same object sent by layer n at the source.
Specifically, the layering principle offers:
* Protocol design independence
* Definition of the end-to-end property
Protocol Design Independence. By placing a guarantee on the items passing between each pair of layers, the layering principle allows protocol designers to work on one layer at a time. A protocol designer can focus on the message exchange for a given layer with the assurance that lower layers will not alter messages.
Definition Of The End-To-End Property. Informally, we classify a network technology as end-to-end if the technology provides communication from the original source to the ultimate destination.
4.5 High-Level Protocol Address Boundary
Application programs and all protocol software from the internet layer upward use only Internet addresses; addresses used by the network hardware are isolated at lower layers.
4.6 Cross-layer Optimizations
It allows upper layers of a protocol stack to obtain information such as the maximum packet size or the route being used. When allocating packet buffers, transport layer protocols can use the information to optimize processing by leaving sufficient space for headers that will be added by lower-layer protocols. Similarly, lower-layer protocols often retain all the headers on an incoming frame when passing the frame to higher-layer protocols.
4.7 Basic Idea behind Multiplexing and Demultiplexing
Multiplexing and demultiplexing occur at each layer. To understand demultiplexing at Layer 3, consider a frame that contains an IP packet. We have seen that frame demultiplexing will pass the packet to the IP module for processing. Once it has verified that the packet is valid , IP will demultiplex further by passing the packet to the appropriate transport protocol module. If a receiver does not understand the type in an arriving packet, the receiver discards the packet. To guarantee universal agreement on types, standards bodies specify values to be used (e.g., IEEE specifies the set of values for Ethernet types and the IETF specifies values for the Internet protocol).
No comments:
Post a Comment