OSI
is a model that is used to understand how network protocols work. Usually
when we are studying how networks work this is one of the first topics on
the study guide. The problem, however, is that usually people don’t
understand why this model exists nor how it really works – even people that
memorized the names of all the seven layers of this model to take an exam
at college or a certification exam still have no clue. In this tutorial we
will explain you why the OSI model exists and how it works and we will also
present a quick correlation between TCP/IP and the OSI model.
When
computer networks first appeared many years ago they usually used
proprietary solutions, i.e., only one company manufactured all technologies
used by the network, so this manufacturer was in charge of all systems
present on the network. There is no option to use equipments from different
vendors.
In
order to help the interconnection of different networks, ISO (International
Standards Organization) developed a reference model called OSI (Open Systems Interconnection) in order to allow manufacturers to create
protocols using this model. Some people get confused with these two
acronyms, as they use the same letters. ISO is the name of the
organization, while OSI is the name of the reference model for developing
protocols.
Protocol
is a ”language“ used to transmit data over a network. In order to two
computers talk to each other, they must be using the same protocol (i.e.,
language).
When
you send an e-mail from your computer, your e-mail program (called e-mail
client) sends data (your e-mail) to the protocol stack, which does a lot of
things we will be explaining in this tutorial, then this protocol stack
sends data to the networking media (usually cable or air, on wireless
networks) then the protocol stack on the computer on the other side (the
e-mail server) gets the data do some processing we will explain later and
sends data (your e-mail) to the e-mail server program.
The
protocol stack does a lot of things and the role of the OSI model is to
standardize the order under which the protocol stack does these things. Two
different protocols may be incompatible but if they follow the OSI model,
both will do things on the same order, making it easier to software
developers to understand how they work.
You
may have notice that we used the word ”stack“. This is because protocols
like TCP/IP aren’t really a single protocol, but several protocols working
together. So the most appropriate name for it isn’t simple ”protocol“ but
”protocol stack“.
The
OSI model is divided into seven layers. It is very interesting to note that
TCP/IP (probably the most used network protocol nowadays) and other
”famous“ protocols like IPX/SPX (used by Novell Netware) and NetBEUI (used
by Microsoft products) don’t fully follow this model, corresponding only to
part of the OSI model. On the other hand, by studying the OSI model you
will understand how protocols work in a general fashion, meaning that it
will be easier for you to understand how real-world protocols like TCP/IP
work.
The
basic idea of the OSI reference model is this: each layer is in charge of
some kind of processing and each layer only talks to the layers immediately
below and above it. For example, the sixth layer will only talk to the
seventh and fifth layers, and never directly with the first layer.
When
your computer is transmitting data to the network, one given layer will
receive data from the layer above, process what it is receiving, add some
control information to the data that this particular layer is in charge of,
and sending the new data with this new control information added to the
layer below.
When
your computer is receiving data, the contrary process will occur one given
layer will receive data from the layer below, process what it is receiving,
removing control information from the data that this particular layer is in
charge of, and sending the new data without the control information to the
layer above.
What
is important to keep in mind is that each layer will add (when your
computer is sending data) or remove (when your computer is receiving data)
control information that it is in charge of.
0 comments