OSI, which stands for open systems interconnection, reminds me somewhat of Voltron: Defender of the Universe. I remember vividly how the lion is formed. And I think it goes something like this: Ready to form Voltron! Activate interlocks! Dyna-therms connected. Infra-cells up; mega-thrusters are go. Let’s go, Voltron Force!
Form feet and legs; form arms and body; and I’ll form the head!
Now, that sounds pretty much like the OSI model when it is being introduced to kids. Feet and legs, arms and body, I’ll form the head? Those are like data packets! Now let’s get back to reality. The OSI model was first introduced in 1977 by the International Standards Organization (ISO) and the International Telecommunication Union’s Telecommunication Standardization Sector (ITU-T). It is important to state categorically that it is a model. A model is something that other people in the field of technology should look at and create and design whatever it is they create based upon the model. It does not have to absolutely follow the model, but the model should be a guiding principle for whatever it is they design. This is what we mean when we say that the OSI model characterizes and standardizes the internal functions of a communication system. That being said, the next thing about the OSI model is that it is a seven-layer model. It is a stack of functions similar to a pyramid, where the base performs a service to the rest of the pyramid weight it supports. When you think of the OSI model, see it as the way communication actually takes place between devices (applications on the device, processing in the CPU, through the network cards, out to the real world till the next device receives it and it is displayed for you to see). Here is a diagram:
The OSI is made up of the following layers:
- * Application
- * Presentation
- * Session
- * Transport
- * Network
- * Data link
- * Physical
In this conceptual model, a layer is unable to do its work without the previous layer. It works bi-directionally and simultaneously. You know how you sit at your PC and chat with someone else in another continent? That is pretty much the OSI model at work. Practically, it is the TCP/IP model, but we can very much say that the OSI model and the TCP/IP model are two sides of the same coin, with one having greater adoption and popularity than the other; besides, TCP/IP is more efficient. However, the OSI model is still alive, and it’s TTL (time to live) is not yet expired.
Let’s start with the application layer; it makes more sense to establish knowledge from here.
In this layer, you see your desktop window, everything that a user needs to work with, which is why it is called the application layer. “Application” means software. Without this layer, working with a system can be a very difficult task. The graphical user interface (GUI) is a part of the application layer. Now, even when you use a command prompt, and it would seem it lacks the graphical user interface, what you are actually doing is working on that application layer. So command prompts are part of the application layer. So are all the processes that the application uses to carry out its work: common functions, file access, print functions, directory services, network access and management, emails and all related electronic messaging systems such as chats, terminals services, virtual services, process-to-process communication, and quite a lot of things that an application needs to sustain itself for end-user usability. This what the application layer is all about. On the technical side, you will hear such terms as: association control service element (ACSE), reliable transfer service element (RTSE), remote operations service element (ROSE), commitment, concurrency, and recovery service element (CCRSE), security exchange service element (SESE), common management information protocol (CMIP), directory services (DS)–X.500, later modified for the TCP/IP stack as LDAP, file transfer, access, and management (FTAM), message handling system (MHS)–X.400, virtual terminal protocol (VT) -ISO 9040/9041, remote database access (RDA), distributed transaction processing (OSI TP), interlibrary loan application protocol (ILAP), document transfer and manipulation (DTAM), document printing application (DPA), document filing and retrieval (DFR). These functions do not all work in every application because it depends on the function of the application software; however, most applications have a good number of these functions defined, especially in this age of cloud integration, collaborations, convergence, and all. Applications need to work in synchronization with other services, not in silos typical of a disconnected island requiring middleware.
This layer is responsible for presenting the data in a format that will be understood at both ends of the transmission, but does not present it to you; rather the presentation layer presents it to the application layer of the destination system. In essence, it translates whatever data the application at the sending workstation generates into a format that can be decoded at the destination workstation. Have you ever run into a scenario where you copied a file from a workstation on a removable storage, only to attempt to get to another workstation to open the file and discover it is all gibberish? Perhaps it was an AutoCAD drawing file, and you opened it in a system where AutoCAD isn’t installed and you attempted to use MS Word, and it all got corrupted, or looked corrupted, lines upon lines of mumbo-jumbos? It means MS Word is not able to decode at the presentation stage. This same principle holds true. Just this morning someone sent an email to everyone, and for some reasons others received it in a different language, they were unable to read the vital information sent, and they ended up missing the incidence meeting that was scheduled; the work of the presentation layer is needed. Thus we see that this layer provides, among other things: character code translation (ASCII, EBCDIC), data conversion: bit order, CR-CR/LF, integer-floating point, etc., data compression and data encryption.
This layer is a session manager. Have you ever left a web browser (Internet Explorer, Chrome, Firefox, etc.) unattended for a period of some minutes or even an hour, and when you returned to continue working you got a message saying that your session had expired? Then you had to refresh the browser to reload the page to continue working, or perhaps you even had to restart the whole browsing process. What you experienced is called a session timeout. It is defined by the owners of the web application you use. This session timeout is different from the session layer of the OSI model. The web session is an “http session” (a part of the session layer in the TCP/IP model). The session layer of the OSI model establishes, manages and terminates connections between applications from one end to the other. This session information is included in the data bits. The session layer deals with session and connection coordination.
This layer is a transporter. It ensures that the messages being sent are relayed and free of errors. This layer ensures that the message is unique and that there is no duplication of messages and no losses of any kind. It performs integrity checks, along with making the work of the layers above it easier, through such methods as breaking a message into smaller segments, especially if the message is not small enough at reception. Part of the integrity checks it does involves acknowledging every data packet on arrival and transmission. This is also an intelligent layer that provides traffic control and session multiplexing. The transport layer is so powerful that it is able to keep track of all data packets opened in every tab, every window, every application, every port, and every IP so that your Yahoo messages are not delivered to your Gmail and your Facebook chat does not end up in your LinkedIn. It is able to achieve this by header control information to indicate start of message, end of message, and bit sequencing and numbering sufficient for the receiving transport layer to piece the data together, even when coming from separate channels or ports.
This layer is the one that has knowledge of the nodes; it carries out addressing, routing, and switching functions. It determines the path through which data packets are to travel, based on its knowledge of the network conditions and service priorities. It relates frames of data across the network. It has accurate knowledge of subnets and supernets. At this layer, we have logical addressing (IP addresses are also known as logical addresses) and translation into physical addresses (MAC—media access control, also known as physical addresses). A lot of powerful networking devices operate at this level and pretty much solve a wide range of local area network problems. At this layer are protocols such as RIP (routing information protocol), OSPF (open shortest path first), BGP (border gateway protocol), ICMP (internet control message protocol), ARP (address resolution protocol), DHCP (dynamic host configuration protocol), error reporting, addressing (as mentioned earlier), and a host of other path-determining and name-resolving identity elements. All of these work together to solve issues that may arise in identifying a sender, a receiver, and intermediate systems that route frames and not consume them. It is a very powerful and very key layer in the networking world.
Data Link Layer
This layer is responsible for the providing the error-free transfer of frames from source to destination, using the physical layer it resides on. It is responsible for the successful establishment and eventual termination of logical connections between any nodes in any given communication. It is very good at requesting lost frames when it determines that the sequence is broken. This it does by acknowledgment or non-acknowledgment of frames, inclusive of detecting duplicate frames. One vital point is its ability to control media access, which is the process of determining and instructing nodes when they have the right-of-way to send or hold the use of the physical path.
The Physical Layer
This is the lowest layer of the model; it represents all physical media, such as network interface cards, cables, and other physical devices and plugs (optical, electrical, mechanical, and other functional units). It transmits and receives raw streaming bits of signals. It encodes, to allow usability from digital to formats acceptable by the medium, and it transmits by determining whether to use baseband or broadband. It knows how many pins the connectors on the MAU (media access unit) have and what each pin is used for, to determine how many volts/db should be used to represent a given signal state of one (1) or zero (0), using a given physical medium.