Friday, 11 June 2010

OSI Basics for the CCNA

OSI model

One of the very first concepts I ever learnt in networking indeed the very first word I learnt to do with networking was the word “protocol”, the second word was “stack”, these two words put together became the foundation of everything else I would ever learn in networking, so what on earth is a “Protocol stack”.

In the beginning, no not the beginning of the universe but in the beginning of the whole networking or computing universe there where many different makers of systems all with their own ways of taking data produced by the users and conveyed from one machine to another across whatever physical or ethereal medium they choose. This all worked fine until users wanted to move data between machines from various makers.

This sort of did not work too well, the first hurdle they faced was will these machines talk to one another?, will the signals from one machine e interpreted correctly, the chances were slim as system designers had decided that created proprietary systems was the best way to ensure that they lock users and customers in and increase market share.

The last days of proprietary communications protocols was nigh with the development of the ARPANET (Advanced Research Projects Agency Network) which was the world's first operational packet switching network, and the predecessor of the global Internet.

The purpose of the ARPANET was to connect geographically disparate systems across either a university campus or across continents and allow them to send and receive data, for them to do so they need to speak the same language they need to operate the same communications protocol stack
One of the first communications protocols was Network Control Protocol (NCP) which provided the network layer functions running on an ARPANET computer, this protocol was replaced in 1983 with the protocol that we are all familiar with which is TCP/IP.

But this still does not explain what the OSI model is, so lets get on with it.
The OSI model was created by the ISO (International Standards Institute) which was sponsored by governments and the industry to create a common set of standards to provide interoperability between every systems vendor.

The OSI model was slow in development and by the time the final draft came into being the TCP/IP model had gained huge prominence on the ARPANET and other fledgling networks, to have replaced all the systems using TCP/IP with the OSI model which is more complex would have cost system users money even though the US government had also promoted it’s use.

The OSI model is now used as a teaching tool to explain the processes which occur as data flows from the wire to the user where the data as it flows from the wire/air as electrical/light/radio activity to the user it passes through 7 different layers or steps.

Why is the OSI model or even the TCP/IP model broken up into layers as opposed to having simple just one process?, the reasons are straight forward.
First and foremost it makes the teaching of networking easier, make fault finding much more efficient, makes the addition or removal of functions straight forward.
The OSI model is built using seven layers, counting from the bottom to the top, the first layer is called the Physical Layer or (L_1), this layer is responsible for connecting the host to the network and determining Functional, Procedural, Electrical and Mechanical aspects of the interface.

The layer above the Physical layer is called the Data Link Layer (L_2), this layer is responsible for how the host accesses the physical medium, error detection, hardware addressing, flow control, and identifying upper layer protocols.
Above the Data link layer we find the Network Layer (L_3), this layer is responsible for logical host addressing, Routed protocols and routing Protocols and identifying upper layer protocols.

The Transport layer (L_4) follows, this layer is one of the most interesting of all, as it provides reliable and unreliable transmission of data, segmentation. Sequencing of data, flow control using windowing, error correction.

The Session layer (L_5) which sits above the transport layer is responsible for establishing, maintaining and terminating session between end-user applications. Sessions between end-user applications are maintained using requests and responses, if a connection is lost between two applications the session layer will attempt to recover the connection by placing regular check points in the data flow and recovering the failed connection to the previous check point.

The Presentation layer (L_6) is responsible for formatting the user data from the layer above, an example of presenting the user data is ASCII or EBCDIC, encryption and compression is also performed here.

The top layer is the Application layer (L_7) is used by network applications. This layer provides services to programs that reside on your P.C such as HTTP provides a service to your browser

The description of each of the layers is a simple over view and we are going to cover all 7 layers in greater detail in other articles. But the point is that each layer has specific roles to perform as data passes up from the physical all the way to the application layer, this makes explaining each layer easier.
Each layer works independently from the layer above or below, let’s take a layer and call it L_N.

L_N receives user data from the layer above L_N+1 and acts upon it and then passes the data down to the layer below L_N-1, each layer adds their own information to the data they receive from L_N+1 and they subtracts their reciprocal layers data that was added by the sending host when they receive the data from below L_N-1.

By making each layer independent of other layers makes it easier for any procedure carried out at any layer to be changed without affecting any of the other layers.
Fault finding is also made easier by having a layered model, if I need to diagnose a problem with the logical addressing I just need to concentrate my efforts on L_3, if I have issues with connectivity I only need to fix L_1 without affecting any of the other layers. Having a layered model makes it easy to change, fix and modify any particular protocol or process without having to understand the inner workings of any of the other layers

Joe Spoto is a senior lecturer at Commsupport networks CCNA in the United Kingdom. Joe teaches Cisco CCNA, CCNP, CCVP courses when he is not out on the road fixing and building networks, if you want to find out more about what we do at Commsupport please visit us at CCNA Commsupport run free one day training sessions and free on-line webinars, CCNP

No comments:

Post a Comment

Note: only a member of this blog may post a comment.