The Application layer is the top layer of the OSI model, and is considered to be the place where the user interacts with the network. This interaction usually occurs by running a program, such as a web browser or a spreadsheet application. This layer doesn’t really worry about the network. Instead, it simply knows how to make a request for something (this is the data), and then what to do with the reply (the data that was requested). In the case of a user browsing a website, the client application (the web browser) makes an HTTP request that will be understood by the receiving application at the other end (the web server). This is sometimes referred to as program-to-program communication. The lower layers of the model concern themselves with how this data is actually encapsulated and transmitted.
Examples of common Application layer programs and services:
- Word Processor: Creating documents, possibly to be saved to a network server.
- Web Browser (HTTP): Access to internet web services
- Email Client (SMTP, POP3, IMAP): Sending and receiving email
- Telnet: Remote terminal session
- File Transfer (FTP): File transfer
Tip: Take the time to familiarize yourself with the various protocols and applications that exist at the different OSI layers.
You are probably already familiar with the term ‘packet’. It is often used to generically describe data that will be passed between systems over a network. As data flows down the layers of the OSI model, the various layers encapsulate it, usually by adding header (and possibly trailer) information. At each layer where this happens, the term used to describe the data is different, and it should be properly referred to by its Protocol Data Unit (PDU) name. The reference below outlines the names used to describe Protocol Data Units at different OSI layers.
Application = Data
Presentation = Data
Session = Data
Transport = Segment
Network = Packet
Data Link = Frame
Physical = Bits
Notice that once passed to the Transport layer, data is properly referred to by its protocol data unit (PDU) name, a “segment”.
A critical concept to understand when looking at network communication models is the idea of peer layer communication. Peer layer communication is a way of defining how the different layers in the OSI model interact with one another when systems communicate. On a single system, each layer has one or two neighbouring layers – the layer above it, and the layer below it. For example, the Network layer will interact with both the layer above (Transport) and the layer below (Data Link). When preparing to send data over the network, the Network layer receives the data from the Transport layer, makes some additions, and then passes it down to the Data Link layer where it is formatted further.
When we extend the model over the network to include another system, you’ll need to consider what I call horizontal peering. In network communication models, any given layer communicates only with that same layer on another system. So, when the Data Link layer adds some information to the data prior to passing it over the network, this added information will be of use only to the Data Link layer (its peer) on the receiving system. Similarly, the information added by the sender at the Transport layer will only be of use to the Transport layer on the receiving system.
Figure 1-2: Peer layer communication
This concept may seem a little confusing at first, but think of it like this. Ultimately, a packet is going to be created that will be sent over the network and received by another system. It starts with data created at the Application layer, and layers add information (the whole process being referred to as encapsulation) as the data travels down the OSI model. The packet is then transmitted across the network. Once it arrives at the receiving system, parts that were added are now stripped away in reverse order at each layer. Remember that each layer on the sending system provides information that is used by the same layer on receiving system. If it all seems a little theoretical at the moment, do not worry – we’ll ultimately apply this to how a real TCP/IP packet is created.
The most popular network communication model by far is the 7-layer Open Systems Interconnect (OSI) model, designed by the ISO in the 1970’s. While today we might take for granted the ability to communicate between different systems, this was not always easy or possible. In the golden days of computing, equipment from IBM couldn’t talk to that of Digital, making interoperability difficult to impossible. The goal of the ISO was to create a reference model that would clearly define network functions and responsibilities, ultimately allowing different systems to interconnect and communicate. It is worth noting that the OSI is primarily a reference model, although an actual implementation of an OSI protocol suite does exist. In reality, most network protocol stacks tend to map to the model roughly, but seldom exactly.
Figure 1-1: The OSI Model and associated layer numbers.
Each of the seven layers is known not only by a name, but also by a number. To that end, you’ll often hear the Network layer referred to as Layer 3, or the Transport layer as Layer 4. Remembering the layer names and numbers is critical. Many people get these layers confused in the beginning, so consider using the first letters of each layer to create a mental reminder. Of these, the most popular is probably “All People Seem To Need Data Processing”. If that doesn’t work for you, make up one that will help you remember the order of the layers easily.
Tip: To remember the names and order of the layers in the OSI model, use the first letter of each layer to create a mental reminder (mnemonic), such as All People Seem To Need Data Processing.
One thing you will quickly notice about network models is that they tend to follow a layered design. I personally prefer looking at them as being modular, because it better conveys the idea of separate and changeable elements. The reason for the distinct sections within various models is simple – think of it as “a place for everything, and everything in its place”. Consider how roles and responsibilities often get separated in real life. At a restaurant, one person may cook your dinner, another serves it, and yet another washes the dishes when you’re done. In this way, any one element can be replaced or altered without having a huge impact on the others. Network models work in much the same way, except that each layer has different responsibilities with respect to network communication.
The main reasons for following a layered or modular design include:
- The separation of functions. For example, one layer might be worried about communication reliability, while another is concerned with the technical details of data transmission.
- Ability to make changes easily. If changes need to be made to a given layer, these can usually be isolated, not requiring a redesign of other layers.
- Simplification. By dividing roles and responsibilities into different layers, the complexity of networking can be broken down into more manageable sections. This also makes network communication an easier subject to teach and learn.
- Standardization. If a layered model is an industry standard, vendors can use the model as a blueprint to design systems capable of interoperating.
When preparing for your CCNA or CCDA, concepts that relate to network models will appear again and again. While these might not seem like the most fascinating topics, I can guarantee a solid understanding of the models and how they relate to network communication and design is critical – both on the exams and in real life. Models exist to help illustrate concepts. A fundamental understanding of their goals and responsibilities will ultimately lead to a better appreciation of why networks work the way they do.
In this chapter we’ll take a look at three different network models, relating them to network communication and design. These include:
- The Open Systems Interconnect (OSI) Model. Developed by the International Organization for Standardization (ISO), this model is the foundation upon which most network communication protocols are designed.
- The TCP/IP model. The TCP/IP protocol suite is a culmination of the work of many different companies, individuals, and organizations that took place over many years. While the protocols that make up the suite can be loosely mapped to the OSI model, they are more commonly referenced using the 4-layer TCP/IP model.
- The Cisco hierarchical network design model. This model is concerned with the design of networks to meet performance, security, capacity and scalability requirements.
The key to appreciating the various models is in relating them to real-life networking concepts and scenarios. Be sure to take the time to understand the functions of each model’s layers, as well as the protocols and equipment found at each.