Explained: TCP / IP & OSI Models
I’ve decided to start an informational series of posts discussing network fundamentals, called Explained. In this first post, I’ll be discussing the TCP / IP and OSI models. Understanding these two models is absolutely essential for troubleshooting network problems. To pinpoint a problem and identify a solution, you can test the functionality at each layer, systematically. Here are the basics:
TCP / IP stands for Transmission Control Protocol / Internet Protocol and is a set of protocols used to interconnect network devices. You can think of the TCP / IP network model consisting of four layers:
Network Interface Layer: This layer specifies how data is physically transmitted over the network. (Example: copper wire or optical cable)
Network Layer: This layer defines the logical transmission protocol for the entire network. (Example Protocols: Internet Protocol (IP), Internet Control Message Protocol (ICMP), and Address Resolution Protocol (ARP))
Transport Layer: This layer is responsible for the end-to-end transport of data. (Example Protocols: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP))
Application Layer: This layer is responsible for the communication protocol between devices. (Example Protocols: Hypertext Transfer Protocol (HTTP and HTTPS), Secure Shell (SSH), and Network Time Protocol (NTP))
The OSI (Open System Interconnection) model represents the same information as the TCP / IP model, but consists of seven-layers to increase granularity. While each layer has a name, they are most commonly just referred to by their numbers (layer 1, layer 2,...).
Physical Layer: The physical connection of devices in the network. (Example: cables and the voltages, representing the data, that these cable carry)
Data Link Layer: Responsible for transmission of data to receiving devices. (Example: switches, bridges, wired or wireless NICs)
Network Layer: Responsible for routing the data packets between hosts on different networks. (Example: routers and switches)
Transport Layer: Responsible for reliable delivery of data and receives services from the network layer. This layer is where data is segmented and reconstructed in the correct order so that it can be sent to the receiving device. It can also handle reliable delivery of data and retries of lost or corrupted data (TCP).
Session Layer: Handles authentication, establishes connections, and manages sessions.
Presentation Layer: This layer transforms application layer data into the format required to send it over the network. If encryption is used, this layer also serves to encrypt the data.
Application Layer: This layer is responsible for network applications (such as HTTP and FTP) and their data sent over the network.
I hope you enjoyed this, albeit high-level, review of the TCP / IP and OSI models. Next time you are troubleshooting a network, try following the OSI model in order to save yourself a lot of headache.
If you came across an unfamiliar term, stick with me and I am sure it will be covered in another post to come soon. As always, I am happy to chat about these models or other topics. You can contact me here. Thank you for your time!