why teach the OSI model?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Funny, I always used to work exactly the other way around.

Does the application work ?
If not, do other applications work ?
If not, does ping to the remote host work ? (Testing layer 3).
If not, does ping to the next-hop/def-gateway work ? (Testing layer 2).
If not, does ARP work ? (Testing layer 2 kinda).
If there's no ARP, is the interface up ? Line protocol up ? Etc.
If not, then I'll start looking at cables and connectors.

Heck, just being able to look at cables last is worth working in this order. :)

True. You can quickly work back down. Very quickly. Then you start working up.
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
However, any network running TCP/IP will fit into the TCP/IP model just fine.

Tell me, if IP is layer 3, and TCP is layer 4, then where does GRE fit in ?

Tell me, if ethernet is layer 2, and IP is layer 3, where does MPLS fit in ?

And like I said earlier, application specific protocols kinda implement layer 6 and layer 7. If you think the IP model has only 4 layers, then where does HTTP, FTP, SMTP, etc fit in ?

While we are at it, where does ARP fit in ? Layer 2 or layer 3 ? It's not part of the ethernet specs. And it's not inside an IP packet.

I think there are so many nooks and crannies in any protocol, that nothing is gonna fit exactly into an abstract model. Calling the OSI model outdated, because TCP/IP doesn't fit in it nicely is nonsense. At least they had a model. :)
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
I've been looking over CCNA and CCDP syllabus material, and they still teach the OSI model. But why?

To answer the original question.

When trying to build networking technology, you will run into a lot of problems. You will need to solve those problems. To find solutions, it is always good to analyze the problem, and to try and divide it into smaller problems. And then solve the small problems separately.

The OSI model is an attempt to try to divide the general problem of networking into smaller sub-problems. When students learn to think of networking as a set of different problems and solutions, they will get a better understanding of the field.
 

theevilsharpie

Platinum Member
Nov 2, 2009
2,322
14
81
Tell me, if IP is layer 3, and TCP is layer 4, then where does GRE fit in ?

To the host TCP/IP stack, GRE works at the application layer. To the psuedo-connection that it creates, GRE is at the link layer.

Tell me, if ethernet is layer 2, and IP is layer 3, where does MPLS fit in ?

Link layer

And like I said earlier, application specific protocols kinda implement layer 6 and layer 7. If you think the IP model has only 4 layers, then where does HTTP, FTP, SMTP, etc fit in ?

Application layer

While we are at it, where does ARP fit in ? Layer 2 or layer 3 ? It's not part of the ethernet specs. And it's not inside an IP packet.

Link layer

I think there are so many nooks and crannies in any protocol, that nothing is gonna fit exactly into an abstract model. Calling the OSI model outdated, because TCP/IP doesn't fit in it nicely is nonsense. At least they had a model. :)

Let me turn your questions around. Where does GRE fit into the OSI model? MPLS? They don't map cleanly to OSI at all.

As I said, any TCP/IP network can fit cleanly into the TCP/IP model. Outside of the portion that maps cleanly to the TCP/IP model, the OSI model involves a bit of mental gymnastics on how particular protocols should be classified, and the results aren't always the same. Indeed, look at Spidey's answer to my question. When a model that aims to classify certain type of network traffic causes confusion in the classification of certain types of network traffic, then it's not a very good model, now is it? :p
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
To the host TCP/IP stack, GRE works at the application layer. To the psuedo-connection that it creates, GRE is at the link layer.

In other words, GRE doesn't fit precisely in the 4-layer TCP/IP model.

MPLS: Link layer

MPLS runs on top of Ethernet and other layer2 technologies. Maybe layer 2.5 ? So it doesn't fit precisely in the 4-layer TCP/IP model.

HTTP, etc: Application layer

Exactly. But the 4-layer TCP/IP model stops at layer 4, TCP. It does not have an application layer. So the TCP/IP 4-layer model should actually be a 5-layer model.

ARP: Link layer

But ARP deals with layer-2 addresses. And it doesn't run on top of layer-1. It runs inside a layer-2 ethernet frame. Again, maybe layer 2.5 ?

Let me turn your questions around. Where does GRE fit into the OSI model? MPLS? They don't map cleanly to OSI at all.

My point is: the TCP/IP technologies do not fit precisely into the 4-layer TCP/IP network model. If that is fine (and it is), then why is it a problem if TCP/IP does not fit precisely into the 7-layer OSI network model ?

The 7 layer network model is there to make us think about problems and solutions. Divide and conquer. It's not required to follow the layering in an absolute strict way. You can be flexible. (Although you will probably pay the price many years later, for your deviation from the clean solution. :))

As I said, any TCP/IP network can fit cleanly into the TCP/IP model.

And I think it doesn't. ARP, MPLS, GRE, I am sure there are more examples. Even the wiki page http://en.wikipedia.org/wiki/OSI_model talks about how things do not fit nicely into both the OSI and the TCP/IP model.

Outside of the portion that maps cleanly to the TCP/IP model, the OSI model involves a bit of mental gymnastics on how particular protocols should be classified, and the results aren't always the same. Indeed, look at Spidey's answer to my question. When a model that aims to classify certain type of network traffic causes confusion in the classification of certain types of network traffic, then it's not a very good model, now is it? :p

I don't understand this.
See the 12 fundamental truths about networking.
http://www.ietf.org/rfc/rfc1925.txt
Point 8. "It is more complicated than you think".

Real life, and real protocols, are more complicated than we think at first. Because of this, real life protocols will always be a bit more complicated and might not always fit nicely into pre-invented models.

You might think that the OSI model is too complicated. I kinda agree. Layer 4 and 5 can be combined (see TCP). Is layer 6 necessary ? I think it is. But the TCP/IP model lets the implementor of protocols deal with it. So layer 6 and 7 are combined. And every implementor has to find its own solution. (Although there's an easy one for byte-order in integers. Just write the number in ASCII).

I think the OSI model is fine. Not perfect. But good enough to teach people who are new to networking. And good enough to help you think about the problems and solutions. Even if it isn't accurate anymore, there is imho benefit to compare 2 different layering models. It makes you understand things better.

Just like I think that if you had learned about Novell, Appletalk, CLNS and other network protocols, you would have a better understanding of the strengths and weaknesses of each protocol. Including the weaknesses of TCP/IP.
This
 

theevilsharpie

Platinum Member
Nov 2, 2009
2,322
14
81
In other words, GRE doesn't fit precisely in the 4-layer TCP/IP model.

It certainly does. However, GRE creates it own interface with its own TCP/IP stack, and that is considered seperarely.

GRE is like a virtual machine. Would you claim the a virtual machine is not precisely software or hardware? Probably not :p

IMPLS runs on top of Ethernet and other layer2 technologies. Maybe layer 2.5 ? So it doesn't fit precisely in the 4-layer TCP/IP model.

MPLS fits cleanly at the link layer in the TCP/IP model. The fact that you have to start using decimals to try and place MPLS within the numbered OSI model should be a clue that the model isn't a good fit.

Exactly. But the 4-layer TCP/IP model stops at layer 4, TCP. It does not have an application layer. So the TCP/IP 4-layer model should actually be a 5-layer model.

I think you're confused. The OSI model and the TCP/IP model are two completely separate models. Yes, TCP/IP model has only four layers, but it most certainly does have an application layer

But ARP deals with layer-2 addresses. And it doesn't run on top of layer-1. It runs inside a layer-2 ethernet frame. Again, maybe layer 2.5 ?

Again, the OSI model and the TCP/IP model are different. The link layer in the TCP/IP models covers the physical connection as well as any lower-level management required to service it. This includes ARP, and it includes MPLS.

My point is: the TCP/IP technologies do not fit precisely into the 4-layer TCP/IP network model. If that is fine (and it is), then why is it a problem if TCP/IP does not fit precisely into the 7-layer OSI network model ?

TCP/IP technologies fit perfectly into the TCP/IP model. They may not fit into the model if you don't understand how the model works, but that's not the model's fault, now is it :p

The 7 layer network model is there to make us think about problems and solutions. Divide and conquer. It's not required to follow the layering in an absolute strict way. You can be flexible. (Although you will probably pay the price many years later, for your deviation from the clean solution. :))

The TCP/IP model can also help guide troubleshooting, and it does a much better job at describing the layering of modern networks.
 

mammador

Platinum Member
Dec 9, 2010
2,120
1
76
In other words, GRE doesn't fit precisely in the 4-layer TCP/IP model.



MPLS runs on top of Ethernet and other layer2 technologies. Maybe layer 2.5 ? So it doesn't fit precisely in the 4-layer TCP/IP model.



Exactly. But the 4-layer TCP/IP model stops at layer 4, TCP. It does not have an application layer. So the TCP/IP 4-layer model should actually be a 5-layer model.



But ARP deals with layer-2 addresses. And it doesn't run on top of layer-1. It runs inside a layer-2 ethernet frame. Again, maybe layer 2.5 ?



My point is: the TCP/IP technologies do not fit precisely into the 4-layer TCP/IP network model. If that is fine (and it is), then why is it a problem if TCP/IP does not fit precisely into the 7-layer OSI network model ?

The 7 layer network model is there to make us think about problems and solutions. Divide and conquer. It's not required to follow the layering in an absolute strict way. You can be flexible. (Although you will probably pay the price many years later, for your deviation from the clean solution. :))



And I think it doesn't. ARP, MPLS, GRE, I am sure there are more examples. Even the wiki page http://en.wikipedia.org/wiki/OSI_model talks about how things do not fit nicely into both the OSI and the TCP/IP model.



I don't understand this.
See the 12 fundamental truths about networking.
http://www.ietf.org/rfc/rfc1925.txt
Point 8. "It is more complicated than you think".

Real life, and real protocols, are more complicated than we think at first. Because of this, real life protocols will always be a bit more complicated and might not always fit nicely into pre-invented models.

You might think that the OSI model is too complicated. I kinda agree. Layer 4 and 5 can be combined (see TCP). Is layer 6 necessary ? I think it is. But the TCP/IP model lets the implementor of protocols deal with it. So layer 6 and 7 are combined. And every implementor has to find its own solution. (Although there's an easy one for byte-order in integers. Just write the number in ASCII).

I think the OSI model is fine. Not perfect. But good enough to teach people who are new to networking. And good enough to help you think about the problems and solutions. Even if it isn't accurate anymore, there is imho benefit to compare 2 different layering models. It makes you understand things better.

Just like I think that if you had learned about Novell, Appletalk, CLNS and other network protocols, you would have a better understanding of the strengths and weaknesses of each protocol. Including the weaknesses of TCP/IP.
This

DoD has an application layer, but it merges with the OSI's Session and Presentation layers. Take making an IP phone call:

- Dial number (Application layer - SIP)
- Provide frame rates (Transport/Host to Host layer - TCP)
- Access an IP address for the other phone (Internet layer - IPv4/6)
- Seek out MAC address and travel on Ethernet/WiFi/WAN technology (Network access layer)

This is a very similar process to the OSI model. It's just the OSI model over-elaborates on the various data flow stages.
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
It certainly does. However, GRE creates it own interface with its own TCP/IP stack, and that is considered seperarely.

GRE is like a virtual machine. Would you claim the a virtual machine is not precisely software or hardware? Probably not :p

It's all very vague.
Looking top-down, GRE is a layer-2 technology, in which IP packets can be capsulated.
Looking bottom-up, GRE is a layer-4 technology. It is user data encapsulated in IP packets.

I can not understand how you, or anyone else, can not see that does not fit into a simpler layer model. And my whole point was: layered models are never perfect. As soon as we make a new model, someone is gonna add stuff in between layers. And mix layers up. Saying that the OSI model sucks, because it is not accurate, and then being very flexible when it comes to TCP/IP makes no sense.

And GRE is not a virtual machine. You can maybe say it has a virtual interface. Lots of stuff has virtual interfaces (VCs, VLANs, loopbacks, etc). Yes, I understand that concept. :p

MPLS fits cleanly at the link layer in the TCP/IP model. The fact that you have to start using decimals to try and place MPLS within the numbered OSI model should be a clue that the model isn't a good fit.
And I claim that MPLS doesn't fit cleanly into the 4-layers of TCP/IP either. Heck, MPLS information is carried inside TCP (in the case of TDP). How's that for violating layering ?

I think you're confused. The OSI model and the TCP/IP model are two completely separate models. Yes, TCP/IP model has only four layers, but it most certainly does have an application layer.
Normally, when people spoke about the 4 layers of TCP/IP, they would call TCP the layer-4. TCP is certainly not layer-3. And TCP is certainly not layer-7. So even when people spoke about the 4 layers of TCP/IP, there were already 5.

The reason is simple. There is no real layering model for TCP/IP. If there is, please let me know which RFC describes it. The layering model of TCP/IP is based on the OSI model to begin with. And there is no formal mapping.

Again, the OSI model and the TCP/IP model are different. The link layer in the TCP/IP models covers the physical connection as well as any lower-level management required to service it. This includes ARP, and it includes MPLS.
Yes, you can look at it that way. But MPLS certainly has layer-3 properties. Setting up LSPs is dependand on layer-3 information. (OSPF and IS-IS (which are at layer-3) carry MPLS information in it. This means that the layers are not cleanly separated. And how you view which layer is on top of which layer is depending on from what angle you look at it.

TCP/IP technologies fit perfectly into the TCP/IP model. They may not fit into the model if you don't understand how the model works, but that's not the model's fault, now is it :p
I understand this stuff very well, thank you.
It all depends from where you look at it. And on top of that, there is no formal/real/official definition of the TCP/IP 4-layer model. So we're discussing something that is vague to start with.

The TCP/IP model can also help guide troubleshooting, and it does a much better job at describing the layering of modern networks.
Show me where that TCP/IP model is written down. And then I can see if it does a better job. Because so far, we have an official ISO model. And no official TCP/IP model. Just what different people think the model might be.
 
Last edited:

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
This is a very similar process to the OSI model. It's just the OSI model over-elaborates on the various data flow stages.

Agreed that they are very similar.
The OSI model has layer-4 and layer-5 seperated, while in TCP/IP it is considered to be part of the same layer. And OSI protocols certainly overelaborate. (Although at the same time, I think OSPF is overly complicated, where IS-IS shines in it's simplicity).

Over-elaborate is a good word. Saying the OSI layering model is old and dumb and should not be educated anymore is overreacting.
 

theevilsharpie

Platinum Member
Nov 2, 2009
2,322
14
81
Show me where that TCP/IP model is written down. And then I can see if it does a better job. Because so far, we have an official ISO model. And no official TCP/IP model. Just what different people think the model might be.

RFC 1122 and RFC 1123
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
RFC 1122 and RFC 1123

You got me there. Clearly there is mentioning of a 4 layer model. I didn't know that. (I remember that the host requirements RFC is actually the first RFC I ever looked at. :))

The note-worthy thing is, there is no physical layer in this document.
And the application layer is the last layer, so much be layer 4. Then the transport layer (TCP) must be layer 3, and IP must be layer 2. And the link-layer is layer 1. Nobody, not even in the TCP/IP world, is using that numbering. Even in the TCP/IP world, people are making a distinction that there is a physical layer.
So my point was not completely false. There is, imho, no clear description of the (5-)layer TCP/IP model in RFC.

But the more important thing. The OP (and others in this thread) said that the OSI model is overly complex. And is bad for teaching new students. But what is the alternative ? Sending students to RFC1122 and RFC1123 ? "Go read that, and you'll understand the layering approach of network design ?"

I still think there's nothing wrong with showing new students the OSI model.
 

theevilsharpie

Platinum Member
Nov 2, 2009
2,322
14
81
The note-worthy thing is, there is no physical layer in this document.
And the application layer is the last layer, so much be layer 4. Then the transport layer (TCP) must be layer 3, and IP must be layer 2. And the link-layer is layer 1. Nobody, not even in the TCP/IP world, is using that numbering. Even in the TCP/IP world, people are making a distinction that there is a physical layer.
So my point was not completely false. There is, imho, no clear description of the (5-)layer TCP/IP model in RFC.

Are you sure about that?

In the OSI model, Bluetooth would be considered a layer 2 protocol. Since each layer is independent, the OSI model says that I should be able to use Bluetooth together with, say, 50μ single-mode fiber, and everything would be A-OK.

Obviously, that's not the way it works.

The TCP/IP model is a better fit for describing physical links in modern networks. Even though network engineers often think of links in terms of the OSI model (again, this goes back to Cisco training), they are often using the TCP/IP model subconsciously. For example, when an engineer refers to 802.11a, it's understood that he's referring to the 802.11a protocol operating on a 5GHz radio transceiver.

But the more important thing. The OP (and others in this thread) said that the OSI model is overly complex. And is bad for teaching new students. But what is the alternative ? Sending students to RFC1122 and RFC1123 ? "Go read that, and you'll understand the layering approach of network design ?"

I still think there's nothing wrong with showing new students the OSI model.

My problem with the OSI model is not that it's complex, but that it's simply not accurate. Again, the TCP/IP model provides the same "thought" benefit as the OSI model with regards to engineering and troubleshooting, while being much more relevant to how modern networks are designed.

And you statement regarding alternatives is a straw man. You wouldn't simply plop the TCP/IP model RFC's in front of a student, just as wouldn't send them to the OSI standards documents to understand the OSI model.
 

MtnMan

Diamond Member
Jul 27, 2004
8,927
8,133
136
Oh, I know the model of the bat. but i don't get why Cisco still teaches it, when it's not in use. The DoD model sends data the exact way, so why teach OSI? o_O
... cause the DoD model maps to the OSI model, but not to any other protocol model.

Understanding the OSI model is a definite aide to trouble shooting problems. Understanding end-to-end communication without the layered model would be difficult.

Following the rules of the OSI model allow implementation of features or new protocols (think TLS @ L6 or 802.11 @ L1&2) without a full protocol rewrite.