Notes on Protocol Layers

Standards are extremely important in the field of networking. The whole purpose of a network is to allow different computers to communicate. If the computers do not follow a common standard, they will not be able to communicate.  In North America we have a standard for electrical power. Wall outlets have two parallel connectors with 110 volts of 60 Hertz power providing up to 15 amps. Any electrical appliance can be plugged in any outlet. This level of cross vendor compatibility allows you to use any electrical device and not have to have your building wired just for that brand of equipment. Communication networks need that level of standards and interoperability.

One of the most important standards in networking is the International Standards Organization Open System Interface, known as ISO OSI. OSI is both a standard and a network architecture model. As a standard, it is not very often followed. Some networks are OSI standard networks, but most are not. OSI has been more popular in Europe. The Internet Protocol, probably the most commonly used network protocol, is not an OSI standard protocol. The OSI model, on the other hand, has proved to be a popular model for network architectures. The Internet Protocol does not exactly follow the OSI model, but it is relatively close.

The OSI model divides the many networking functions into seven different layers. This is often called the OSI stack. Each layer provides functions or services for the layer above it. Each layer calls upon services provided by the layer below it. Each layer is supposed to be independent of the other layers so that a change in one layer will not affect other layers. (This is not always the case.) The layers are implemented in each computer on the network (although some intermediate nodes may not support all of the upper layers.) Each layer communicates with its peer layer in another computer. Although the logical communication is between peer layers on different computers, the actual flow of information is down the protocol stack on the sending computer and then up the protocol stack on the receiving computer. When a layer wants to send something to its peer layer in another computer, it calls a function in the layer below it to actually send the data. Only the lowest layer actually sends bits to another computer.

f12_2.gif (7814 bytes)

An analogy to the OSI layers can be found in sending a package to a friend in another state. The desired communication is between you and your friend. Because you cannot actually hand the package to your friend, you give it to the post office. The post office gives it to an airline, which actually transfers the package to your friend's city. The airline then gives the package to the post office which then gives it to your friend.

fedex.gif (2017 bytes)

You do not have to worry about how to find your friend's house in the distant city. That is the responsibility of the post office in that city. You just have to specify your friend's address. The post office doesn't have to be concerned with how to fly an airplane. That is the responsibility of the airline. Each layer assumes that the layer below it will provide certain functions. Each layer provides additional functionality.

The seven layers of the OSI model are:

layer purpose example
application Provides network services. X.400 email, HTTP, FTP, telnet
presentation Converts the data to the representation used by the local computer. May exchange bytes of integers to resolve Big Endian - Little Endian problems.  
session Establishes sessions.  
transport Multiplexes data streams from different applications. Directs packets to the correct user on a computer. This is the first end-to-end layer. May also provide error correction. Transport Control Protocol (TCP)
network Finds a route for packets to take through the network. Directs packets to the correct computer Internet Protocol (IP)
data link - logical data link Detects and corrects any errors on the link. Provides flow control.  
data link - media access control For local area networks where all computers share a communications media, this layer determines which node is allowed to transmit. Ethernet, Token Ring
physical Defines the characteristics of the physical connections, such as type of wire, plug shape, how is a zero or one bit represented and what voltages are used. This is the only layer that actually sends bits to another computer. SONET, RS-232C

The OSI model was developed over 20 years ago. Much has been learned about networking in the past 20 years. If the OSI model was developed today, it would probably be somewhat different. The data link layer would probably be split into two distinct layers. The session layer has very little to do and would probably be eliminated. The Internet protocol follows a model which is similar to the OSI model. Because the Internet was designed to run on top of existing different networks, it does not define the lower layers.

layer purpose OSI equivalent example
Application Provides network services. Application HTTP, FTP, Telnet
Transport Multiplexes data streams from different applications. May also provide error correction. Transport TCP, UDP
Internet Routing. Network IP
Network Interface Provides access to the Data Link and lower protocols. The IP stack does not define the lower levels. Data Link Ethernet

Each layer communicates with its peer layer by prefixing the data from the above layer with a header.

Packet headers by layer

The data link layer often adds a trailer to the packet that contains a cyclic redundancy check (CRC) to detect errors. The physical layer might, or might not, append a header or trailer to the packet.  It is the bottom frame, with all of the headers, that is actually sent across the network.  When it is received at the other end, the headers are stripped off as the packet is passed up the stack to the user application.



last updated January 02, 2004