"No exceptional circumstances whatsoever, whether a state of war or a threat of war, internal political instability, or any other public emergency, may be invoked as a justification of torture." -- U.N. Convention Against Torture
Ok children, I'm going to explain the OSI Reference Model to you and hopefully, if you read this properly, you'll understand networking and internetworking a bit better!
Your History Lesson:
Ok so you know that the internet isn't some ancient and archaic invention that Romans used to calculate taxes...
(if you think this, seek help)
So, for the majority of users, you know the internet was a U.S military project and then educational and finally spread to what we have today. We can simplify this by saying that the internet is the largest network on this planet and this network is the amalgamation of several smaller networks, hence the word: internetwork.
So, when networks got a bit more used in corporations, they started to notice a few problems. The most major of these was compatibility between computers from different manufacturers (e.g IBM would only network with IBM and DECnet would only network with DECnet).
In fact, it's a bit like how so many Microsoft programs won't work on Linux unless you use an emulator.
So, basically the International Organization for Standardization (ISO) created the Open Systems Interconnection (OSI) Reference Model.
It was designed to help manufacturers create inter-operable network hardware/software in the form of protocols that everybody could use to design their stuff.
The OSI model is now the main architectural model for networks and shows how just about everything works on every level of the network, from the software used on your desktop, to the RJ45 run along the wall.
To simplify this, the OSI model is split into layers.
Ok, so before I go on explaining this, I'm going to post a little diagram so you can see what I'm talking about ;)
Ok, so you see 7 layers, each one for the different bit of the network. This is very similar to how a school or a business might work; You have senior management, accounting, I.T, HR, Marketing, Sales, Engineering.
Each of these sections has their own specific role but (in theory) work together so that the corporation works as a whole.
So the OSI model:
[*]Divides the network communication process into smaller components letting you troubleshoot more easily
[*]Allows compatibility between various companies thanks to standardization
[*]Allows most network hardware and software to communicate
[*]Prevents changes in one layer from affecting the others so your network doesn't kill itself as easily
So, to further simplify the OSI model, we can say that it consists of 4 lower layers and 3 higher layers. The diagram explains roughly what each layer does so I won't bother telling you again but I'll try and explain each layer with a bit more detail:
The Application Layer:
Ok well the Application Layer is basically the closest layer to human interaction on the OSI Model. This layer starts working as soon as it gets told that access to a network is going to be needed.
A typical use of network is what you're doing right now, you're reading this with your web browser (well most of you are).
The Application Layer kicks in as soon as a HTTP request is made because the browser calls the Application Layer and tells it what needs to be done so the user can get this web page.
Basically, the Application Layer acts as a middleman between the program (which doesn't play a part in the OSI Model) and the layer below it, allowing the browser to send orders down the entire protocol stack.
The Presentation Layer:
This is quite a nice layer, very simple to understand. The layer is basically a translator and takes data from one format to the other (e.g plaintext --> encrypted text).
It ensures that the data sent from the Application Layer of one system can be read by the Application Layer of another (see the interoperability coming into play here?).
So basically, anything that gets compressed, decompressed, encrypted, decrypted and various other operations pass through the presentation layer.
The Session Layer:
Again another simple layer (see, this stuff isn't so hard really). The Session Layer is in charge of sessions between Presentation layer entities. It offers dialog control between devices and coordinates communications between different systems.
Basically, the Session Layer keeps data separated from other data (you would want your porn crossing with an email you're writing to your mum right?)
The Transport Layer:
The Transport Layer is pretty interesting, it segments (chops up) and reassembles data into a data stream (imagine tributaries of a river)
It provides end-to-end (like two people talking directly to each other) transport and can establish a logical connection (direct link) between the sending host and destination host on an internetwork.
TCP/IP, UDP and ICMP (amongst others) all work on this layer. You should also remember that the layer is responsible for establishing sessions, tearing down Virtual Circuits, organizing upper-layer (the top 3) applications and hides details of network-dependent information from the highest layers by providing transparent data transfer.
The Transport Layer uses a lot of TCP/IP and you should be familiar with 3 Way Handshakes, packet format (SYN,ACK,REQ,URG,RECV,ID,DST,SRC,etc), windowing (how often acks are sent) and various other bits and pieces.
The Network Layer:
The Network Layer is another interesting layer and is very important! It's responsible for device addressing, network device location tracking and determines the best way to route the traffic (even if the devices aren't locally attached).
Routers exist on the Network Layer and provide the routing services in an internetwork.
So, if a packet was sent to a router, the destination ip would be checked. If the packet wasn't sent to the right router then it would look up the correct destination address in a routing table. Once the router chooses an exit interface (where the packet will leave from) then it will send to that interface or failing that, drop the packet.
It's pretty similar to the Post Office really, if I knew the person's name but not the address then I'd write their name and general area on the envelope. The envelope would be looked at in the Post Office's sorting office and the clerk (router) would put the envelope in the right slot or he'd think "what the fuck has this guy written?" and drop it in the bin.
But the network layer only likes two kinds of packets:
Data Packets: This is your bog standard data, be it text, hex, whatever. It's like the letter in the envelope.
Router Update Packets: These remind the router about the various networks connected to them. Protocols that send these packets are called Routing Protocols and are a bit like the address on the envelope.
I mention Routing Tables a moment ago, I better explain how they work. Basically each protocol has it's own network address. The router has to keep a record of the individual routing protocols because the routing protocol keeps track of a network with a different addressing scheme [IP (standard stuff), IPv6 (the secret to eternal happiness) and IPX (chatty Novell IP alternative)]. It's like those tourist signs in a million languages. So yeah, that's what a routing table is.
Inside the routing table you get 3 columns:
[*]Net (what I just explained above)
The Interface is pretty simple, it tells the router which exit a packet will take when it's going to network x.
Metric is pretty simple as well, it's the distance to the remote network and is measured in a variety of ways. Most often it's a hop count, bandwidth, line delay or a tick count (1/18th of a second).
Ok so that's all understood? Good :)
The Data Link Layer:
This is where we get a bit closer to hardware, the Data Link Layer physically transmits data and handles error notification (but not correction), topology and flow control.
Basically, this layer makes sure that messages get sent to the right play on a LAN using hardware address (e.g MAC addressing) and turns messages from the network layer into bits that hardware can transmit.
The data is turned into pieces by the Data Link Layer, each called a data frame and shoves in a header telling the data where to go and where it came from (like an envelope with a return address). This is a process called encapsulation as the data is put into a little capsule surrounded by bits the Data Link Layer added in and that will be stripped away when the data reaches it's destination .
On this layer all the addressing goes on with MAC and LLC. Switching occurs and binary/hex conversion is performed. That's a shit load to write up for this topic but just google and you'll learn plenty!
The Physical Layer:
Ahhh, our last layer. Did you have fun? Well just wait, we're not quite done yet!
The physical layer is a rather simple creature, he doesn't have any of the fancy techniques of his friends in high places, he just sends bits and receives bits. Bits are simple and are always in the form of 0 or 1.
These bits come in a couple of different forms, some come as audio tones, others change in voltage (State Transitions) but nothing too complicated goes on.
Basically this layer is responsible for the electrical, mechanical, procedural and functional requirements for a working network.
Ok well I hope you enjoyed reading and maybe even learnt something! For the sake of time and readability I've simplified this tutorial but by googling you can get detailed information on anything ;)
Ok well have fun!
Cast your vote on this article 10 - Highest, 1 - Lowest
Comments: Published: 10 comments.
HackThisSite is is the collective work of the HackThisSite staff, licensed under a CC BY-NC license.
We ask that you inform us upon sharing or distributing.