The TCP/IP Stack and the OSI Model
In the previous section, we learned that TCP/IP is a suite of protocols and rules. It allows us to communicate with other computers and devices over a connection oriented network. What we didn’t cover was the TCP/IP and OSI model- which helps us understand the TCP/IP suite in a manner of layers and modules.
The TCP/IP Model and Modular Design
TCP/IP is responsible for a wide range of activity: it must interface with hardware, route data to appropriate places, provide error control, and much more. If you are starting to think the TCP/IP suite can get confusing, you wouldn’t be the first.
The developers of TCP/IP thankfully designed what we call a modular design- meaning that the TCP/IP system can be divided into separate components. You may call these layers or modules. But why use a modular design? Not only does it aid in the education process, but it also lets manufacturers easily adapt to specific hardware and operating system needs.
For example- if we had a token ring network and an extended star network, we surely wouldn’t want to create entirely different network software builds for each one. Instead, we can just edit the network layer, called the Network Access Layer, to allow compatibility. Not only does this benefit manufacturers, but it greatly aids networking students in education. We can dissect the TCP/IP suite into different layers, and then learn about each layer’s specifics one at a time. Below you’ll see the TCP/IP model divided into four layers.
- Network Access Layer – The Network Access Layer is fairly self explanatory- it interfaces with the physical network. It formats data and addresses data for subnets, based on physical hardware addresses. More importantly, it provides error control for data delivered on the physical network.
- Internet Layer – The Internet Layer provides logical addressing. More specifically, the internet layer relates physical addresses from the network access layer to logical addresses. This can be an IP address, for instance. This is vital for passing along information to subnets that aren’t on the same network as other parts of the network. This layer also provides routing that may reduce traffic, and supports delivery across an internetwork. (An internetwork is simply a greater network of LANs, perhaps a large company or organization.)
- Transport Layer – The Transport Layer provides flow control, error control, and serves as an interface for network applications. An example of the transport layer would be TCP- a protocol suite that is connection-oriented. We may also use UDP- a connectionless means of transporting data.
- Application Layer – Lastly, we have the Application Layer. We use this layer for troubleshooting, file transfer, internet activities, and a slew of other activities. This layer interacts with many types of applications, such as a database manager, email program, or Telnet.
The above layers are more complex than the general descriptions provided, but rest assured, we will get into the specifics in later sections. For now we have another model to learn- the OSI model.
The Open System Interconnection Model
The Open System Interconnection Model, more commonly known as simply OSI, is another model that can help break the TCP/IP suite into modules. Technically speaking, it is exactly the same as the TCP/IP model, except that it has more layers. This is currently being pushed by Cisco since it aids in learning the TCP/IP stack in an easier manner. Likewise, you will see the OSI model on many Cisco exams.
Instead of four layers, the OSI model has seven. You can see a direct comparison of the two models below; notice that only the Application Layer and Network Layer are divided into smaller layers, and the Internet Layer is renamed to the “Network Layer.”
- Physical Layer – They Physical Layer converts data into streams of electric or analog pulses- commonly referred to as “1’s and 0’s.” Data is broke down into simple electric pulses, and rebuilt at the receiving end.
- Data Link Layer – The Data Link layer provides an interface with the network adapter, and can also perform basic error checking. It also maintains logical links for subnets, so that subnets can communicate with other parts of the network without problem.
- Network Layer – Much like the Transport Layer of the TCP/IP model, the Network Layer simply supports logical addressing and routing. The IP protocol operates on the Network Layer.
- Transport Layer – Since we left out the error and flow control in the Network Layer, we introduce it into the Transport Layer. The Transport Layer is responsible for keeping a reliable end-to-end connection for the network.
- Session Layer – The Session Layer establishes sessions between applications on a network. This may be useful for network monitoring, using a login system, and reporting. The Session Layer is actually not used a great deal over networks, although it does still serve good use in streaming video and audio, or web conferencing.
- Presentation Layer – The Presentation Layer translates data into a standard format, while also being able to provide encryption and data compression. Encryption or data compression does not have to be done at the Presentation Layer, although it is commonly performed in this layer.
- Application Layer – The Application Layer provides a network interface for applications and supports network applications. This is where many protocols such as FTP, SMTP, POP3, and many others operate. Telnet can be used at this layer to send a ping request- if it is successful, it means that each layer of the OSI model should be functioning properly.
Now, the Bad News
Now that we’ve reviewed each layer, you have to commit each layer and its function to memory. Most networking exams require that knowledge of each layer be present. We realize that remembering seven different layers is tough- so we use a mnemonic. A mnemonic is simply a tool we can use to remember all seven layers. Look at each beginning letter of each layer- it’s PDNTSPA, starting with the Physical Layer. You could come up with a phrase such as “Please Do Not Throw Sausage Pizza Away,” to help you remember each layer name.
It is important to remember that each layer is a standard- not an implementation. This means that not all network communication will necessarily use each layer. We partly covered this with the Session Layer, which isn’t always necessarily used. Some devices such as routers only operate at the third layer and below. Some devices are even more limited- repeaters only work at the physical layer of the OSI model.
The OSI and TCP/IP model are fairly prevalent in networking- don’t be surprised if you see them more than you’d like. If you take anything from this section, remember to use a pneumonic to memorize each layer name in order. You can get as crazy as you’d like with the phrase you use, but “Please Do Not Throw Sausage Pizza Away” is generally the easiest to remember.
In the next article, we will be specifically looking at how data moves from one computer to another- and how it moves through the OSI model. Don’t worry if this seems new to you and you don’t quite take all of it in, simply review it some more and move on to the next section. And, as always, you can review the previous section if you didn’t quite grasp all the concepts in this one.