LFCE Prep Course: The OSI Network Model (Part 1)
Explore Linux Networking and Administration today by downloading the free sample. Download Now
Join us in this weekly blog series to get a sneak peek at the new Linux Foundation Certified Engineer Training Course.
In this series, we're going to have a look at Linux networking concepts: the OSI model for networking, network topology, the domain name system, and how to start and stop networking services on various Linux distributions.
The first two parts of the series review the 7 OSI networking layers. Understanding the OSI model is necessary for understanding how computer networking works. The OSI layers are theoretical, but they help you understand how computers communicate; how interconnection devices such as Ethernet interfaces, repeaters, bridges, switches and routers work, and where they fit in computer networks; how WAN and LAN technologies work; and give insight into managing Web applications; and troubleshooting.
The OSI Model
The standard OSI network layers model has seven layers. Today we'll look at layers 7-4, and in part 2 examine layers 3-1.
The OSI (Open Systems Interconnection) Model was created to standardize the language used to describe networking protocols. It defines the manner in which systems communicate with one another using abstraction layers.
Each layer communicates with the layer directly above and below.
There are other models which are used to talk about networking. The most popular networking stack on the Internet today is the Internet Protocol Suite.
The Internet Protocol Suite can be described using a subset of the OSI Model.
OSI Layer 7: Application Layer
The Application Layer is the most well-known. This layer is at the top of the stack and deals with the protocols which make a global communications network function. Some of the common protocols which exist in the Application Layer are:
HTTP: Hypertext Transfer Protocol.
SMTP: Simple Mail Transfer Protocol.
DNS: Domain Name System.
FTP: File Transfer Protocol.
DHCP: Dynamic Host Configuration Protocol.
Protocols at this level are the most familiar to users. They are defined by RFC1123. To learn more, go to https://tools.ietf.org/html/rfc1123.
OSI Layer 6: Presentation Layer
The Presentation Layer is commonly rolled up into a different layer. This layer deals with the formatting of data (e.g. conversion of EBCDIC to ASCII). For example, the HTTP protocol (an Application Layer protocol) has methods for converting character encoding. In other words, this Presentation Layer step happens at the Application Layer. Many networking stacks and protocols make no distinction between layers 6 and 7.
OSI Layer 5: Session Layer
The Session Layer deals with managing of session data. It creates a semi-permanent connection, which is then used for communications. Many of the RPC-type protocols depend on this layer:
NetBIOS: Network Basic Input Output System.
RPC: Remote Procedure Call.
PPTP: Point to Point Tunneling Protocol.
This layer is used by protocols which need reliable sessions, such as videoconferencing and SOCKS proxy. If an established connection is lost or disrupted, this layer may try to recover the connection. If a connection is not used for a long time, the session layer may close and then reopen it.
OSI Layer 4: Transport Layer
The Transport Layer is responsible for the end-to-end communication protocols. Data is properly multiplexed by defining the source and destination port numbers. This layer also deals with reliability by adding check sums, doing request repeats, and avoiding congestion. Some of the common protocols in the Transport Layer are:
TCP: Transmission Control Protocol:It is the main component of the TCP/IP (Internet Protocol Suite) stack.
UDP: User Datagram Protocol: This is another popular component of the Internet Protocol Suite stack.
SCTP: Stream Control Transmission Protocol.
It uses port numbers to allow for connection multiplexing.
Transport Layer Ports
Transport layer protocols use ports to distinguish between different types of traffic or to do multiplexing. The ports are classed three different ways:
Well-Known Ports (0-1023) - assigned by the IANA (Internet Assigned Numbers Authority). They usually require super-user privilege to be bound. Some of the well-known ports are: 22 TCP: SSH; 25 TCP: SMTP; 80 TCP: HTTP; 443 TCP: HTTPS.
Registered Ports (1024-29151) - assigned by the IANA.They can be bound on most systems by non-super-user privilege. Some of the registered ports are: 1194 TCP/UDP: OpenVPN; 1293 TCP/UDP: IPSec; 1433 TCP: MSSQL Server.
Dynamic or Ephemeral Ports (49152-65535). The Ephemeral ports are used as source ports for the client-side of a TCP or UDP connection. You can also use the Ephemeral ports for a temporary or non-root service.
TCP vs. UDP
TCP is useful when data integrity, ordered delivery, and reliability are important. It is the backbone to many of the most popular protocols.
UDP is useful when transmission speed is important and the integrity of the data isn't as important, or is managed by an above layer.
Come back next week for "LFCE Prep Course: OSI Network Model (part 2)", and we'll learn about the OSI layers 1-3: the Network layer, Data Link layer, and the Physical layer.
The Linux Foundation offers both certification tests and training, which you can read all about at Linux Foundation Training. You can become a Linux Foundation Certified System Administrator or a Linux Foundation Certified Engineer. In this series, you'll get a look at our new Linux Foundation Certified Engineer prep course. The full LFCE course has 12 chapters. Over the next few weeks, we will preview Session 2: Linux Networking Concepts and Review.
Read Part 2: LFCE Prep Course: OSI Network Model Layers 3-1