Diving into the ISO OSI Network Stack Discussion
-
@scottalanmiller said in FibreChannel Switch Types:
So my question then would be, in your view of the OSI model and what iSCSI does, where would you put it in the stack knowing that it is the "final deliverable" of the communications in question and that it will be consumed directly by the final application and that it plays no role in the delivery, it is the thing "to be delivered." Where would you put it knowing what it is?
I might could go to Presentation layer, but still leaning towards Session.
The Application layer would be the tools you use to configure your OS to interact with the iSCSI device that is "presented" to the OS... ie: iSCSI Initiator on Windows.
The Presentation layer would be where the iSCSI session and it presents a block device to the application layer. I could leave it at Presentation, except for one thing. The presentation layer has to communicate somehow, so down the stack it goes, sending the Destination IP, and Destination port, and payload (actual data to be read / written) down to the session layer.
To actually complete the communication, the session layer passes its data down to the Transport layer, and away we go.
-
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
So my question then would be, in your view of the OSI model and what iSCSI does, where would you put it in the stack knowing that it is the "final deliverable" of the communications in question and that it will be consumed directly by the final application and that it plays no role in the delivery, it is the thing "to be delivered." Where would you put it knowing what it is?
I might could go to Presentation layer, but still leaning towards Session.
The Application layer would be the tools you use to configure your OS to interact with the iSCSI device that is "presented" to the OS... ie: iSCSI Initiator on Windows.
You are outside of the network stack completely. In the OSI model, L7 is the Application Layer of the network stack. It is still networking protocols. It can never be something that a user touches. Users touch Applications, applications put the Application Layer communications on the wire, which is then encapsulated by the stack. The network stack does not include things that users ever see like desktops, applications, files, languages and such.
I see why this is getting confused. You are trying to include the entire computer in the network stack, not just the network protocols.
-
@scottalanmiller said in FibreChannel Switch Types:
I see why this is getting confused. You are trying to include the entire computer in the network stack, not just the network protocols.
That's exactly the reason in my case
-
@scottalanmiller said in FibreChannel Switch Types:
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
So my question then would be, in your view of the OSI model and what iSCSI does, where would you put it in the stack knowing that it is the "final deliverable" of the communications in question and that it will be consumed directly by the final application and that it plays no role in the delivery, it is the thing "to be delivered." Where would you put it knowing what it is?
I might could go to Presentation layer, but still leaning towards Session.
The Application layer would be the tools you use to configure your OS to interact with the iSCSI device that is "presented" to the OS... ie: iSCSI Initiator on Windows.
You are outside of the network stack completely. In the OSI model, L7 is the Application Layer of the network stack. It is still networking protocols. It can never be something that a user touches. Users touch Applications, applications put the Application Layer communications on the wire, which is then encapsulated by the stack. The network stack does not include things that users ever see like desktops, applications, files, languages and such.
I see why this is getting confused. You are trying to include the entire computer in the network stack, not just the network protocols.
You are probably right. I spend so much time focusing on the "whole computer" aspect of things that I don't get elbow deep in terminology like this enough.
I've slept a few times since I first learned of the OSI model, lol.
-
@dafyre said in FibreChannel Switch Types:
The Presentation layer would be where the iSCSI session and it presents a block device to the application layer. I could leave it at Presentation, except for one thing. The presentation layer has to communicate somehow, so down the stack it goes, sending the Destination IP, and Destination port, and payload (actual data to be read / written) down to the session layer.
To actually complete the communication, the session layer passes its data down to the Transport layer, and away we go.
iSCSI has to talk to the initiator, which is an application. So we know it is L7. That's provable by the fact that an application uses it directly. That much we can prove.
If you want to increase the stack to include applications, like MySQL or a web browser or Apache or Exchange or the iSCSI Initiator, then you would label those as L8 or L9 the application itself. It's weird because those things are not part of the networking, but the things that talk via the networking. Really the payload should be L8.
Another way to think of it, everything in the OSI model is visible in a packet capture plus the final payload which is just carried and not part of the networking itself. And obviously applications are not on the wire, so cannot be packet captured.
-
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
So my question then would be, in your view of the OSI model and what iSCSI does, where would you put it in the stack knowing that it is the "final deliverable" of the communications in question and that it will be consumed directly by the final application and that it plays no role in the delivery, it is the thing "to be delivered." Where would you put it knowing what it is?
I might could go to Presentation layer, but still leaning towards Session.
The Application layer would be the tools you use to configure your OS to interact with the iSCSI device that is "presented" to the OS... ie: iSCSI Initiator on Windows.
You are outside of the network stack completely. In the OSI model, L7 is the Application Layer of the network stack. It is still networking protocols. It can never be something that a user touches. Users touch Applications, applications put the Application Layer communications on the wire, which is then encapsulated by the stack. The network stack does not include things that users ever see like desktops, applications, files, languages and such.
I see why this is getting confused. You are trying to include the entire computer in the network stack, not just the network protocols.
You are probably right. I spend so much time focusing on the "whole computer" aspect of things that I don't get elbow deep in terminology like this enough.
I've slept a few times since I first learned of the OSI model, lol.
Easiest example is HTTP because it is so common, well known and uses encryption commonly whereas many things do not and we have to shoehorn it into an example. HTTP is the most well known example of L7, it's literally every textbook example. With that we can break down the communications to show the OSI layer by layer pretty easily. Of course there is no L6 because TCP/IP doesn't actually use all of the layers and everything between L4 and L7 gets smooshed together or skipped. Remember, you can skip layers basically anywhere and the layer something belongs to is the highest one you can't skip.
Chrome (Application) Apache (Application) | | HTML (Document) HTML (Document) | | L7: HTTP L7: HTTP | | L5/6: SSL L5/6: SSL | | L4: TCP 443 L4: TCP 443 | | L3: IP L3: IP | | L2: Ethernet L2: Ethernet | | L1: Physical Signaling --------------------------------- L1: Physical Signaling
In this nine layer example, I included the application itself, the client and server software. I included beneath that the document format that those applications use to speak to each other. Then that HTML document is wrapped in HTTP to hand to the network stack which can carry HTTP, as it has networking characteristics, down the stack, over to the other stack and back up. HTML is the final payload here, HTTP is its network carrier. You can replace HTTP with FTP, NFS, SMB, AFP and other protocols, of course, demonstrating that they, too, are L7 just like HTTP.
In this example, we end at the logical L1. Beneath that there is no more logic, only the physical wires and cables themselves. But the L1 represents the GigE protocol NOT the wire proper. It's the physical signaling standard, not the physical electrical impulses.
-
@scottalanmiller said in FibreChannel Switch Types:
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
So my question then would be, in your view of the OSI model and what iSCSI does, where would you put it in the stack knowing that it is the "final deliverable" of the communications in question and that it will be consumed directly by the final application and that it plays no role in the delivery, it is the thing "to be delivered." Where would you put it knowing what it is?
I might could go to Presentation layer, but still leaning towards Session.
The Application layer would be the tools you use to configure your OS to interact with the iSCSI device that is "presented" to the OS... ie: iSCSI Initiator on Windows.
You are outside of the network stack completely. In the OSI model, L7 is the Application Layer of the network stack. It is still networking protocols. It can never be something that a user touches. Users touch Applications, applications put the Application Layer communications on the wire, which is then encapsulated by the stack. The network stack does not include things that users ever see like desktops, applications, files, languages and such.
I see why this is getting confused. You are trying to include the entire computer in the network stack, not just the network protocols.
You are probably right. I spend so much time focusing on the "whole computer" aspect of things that I don't get elbow deep in terminology like this enough.
I've slept a few times since I first learned of the OSI model, lol.
Easiest example is HTTP because it is so common, well known and uses encryption commonly whereas many things do not and we have to shoehorn it into an example. HTTP is the most well known example of L7, it's literally every textbook example. With that we can break down the communications to show the OSI layer by layer pretty easily. Of course there is no L6 because TCP/IP doesn't actually use all of the layers and everything between L4 and L7 gets smooshed together or skipped. Remember, you can skip layers basically anywhere and the layer something belongs to is the highest one you can't skip.
Chrome (Application) Apache (Application) | | HTML (Document) HTML (Document) | | L7: HTTP L7: HTTP | | L5/6: SSL L5/6: SSL | | L4: TCP 443 L4: TCP 443 | | L3: IP L3: IP | | L2: Ethernet L2: Ethernet | | L1: Physical Signaling --------------------------------- L1: Physical Signaling
In this nine layer example, I included the application itself, the client and server software. I included beneath that the document format that those applications use to speak to each other. Then that HTML document is wrapped in HTTP to hand to the network stack which can carry HTTP, as it has networking characteristics, down the stack, over to the other stack and back up. HTML is the final payload here, HTTP is its network carrier. You can replace HTTP with FTP, NFS, SMB, AFP and other protocols, of course, demonstrating that they, too, are L7 just like HTTP.
In this example, we end at the logical L1. Beneath that there is no more logic, only the physical wires and cables themselves. But the L1 represents the GigE protocol NOT the wire proper. It's the physical signaling standard, not the physical electrical impulses.
This, I can follow. Now do one for iSCSI, lol.
-
iSCSI Target Driver iSCSI Initiator Driver | | SCSI 3 SCSI 3 | | L7: iSCSI L7: iSCSI | | L4: TCP L4: TCP | | L3: IP L3: IP | | L2: Ethernet L2: Ethernet | | L1: Physical Signaling --------------------------------- L1: Physical Signaling
-
iSCSI does not normally ride over SSL at all, so that whole part is just pulled out. L7 rides right on top of L4, which is decently common in TCP/IP world. L1 and L2 are semi-merged as well.
-
In the case of iSCSI, SCSI 3 is much like a document. In this case, you can think of it the same as HTTP, SQL or similar. Or you can think of it as a piece of a different network stack that is, like I mentioned before, in stasis. The SCSI 3 is not directly part of the network stack here, but treated as a document.
-
@scottalanmiller said in FibreChannel Switch Types:
iSCSI does not normally ride over SSL at all, so that whole part is just pulled out. L7 rides right on top of L4, which is decently common in TCP/IP world. L1 and L2 are semi-merged as well.
Right. In the model diagrams I was looking at as a refresher, SSL was usually in Layer 6.
In both of your diagrams, sessions, essentially could be eliminated, or merged into Layer 4.
Is there any good examples of a protocol where this wouldn't be the case?
-
@dafyre said in FibreChannel Switch Types:
Right. In the model diagrams I was looking at as a refresher, SSL was usually in Layer 6.
It's really filling both 5 & 6 in nearly all cases. You can easily argue it to either place, but really it's both rather than one or the other. TCP is L4 solidly. The final layer is L7. SSL ends up filling the gap between them.
-
@dafyre said in FibreChannel Switch Types:
In both of your diagrams, sessions, essentially could be eliminated, or merged into Layer 4.
Correct, TCP/IP is a four layer protocol. OSI 1 &2 are one layer. OSI 3 is one layer. OSI 4 is one layer and OSI 7 is one layer. You can shim other layers in when you want to, but there is no need for them. TCP/IP predates the OSI and the OSI is only a reference document, not an actual thing.
There was a theoretical OSI stack made once upon a time, but it was impractical and really just for research. No real world protocol stack using the full layers all of the time.
-
That's not to say that a full stack never exists. It can certainly happen.
You might have something like....
HTTP -> GZIP Streaming -> SSL -> TCP -> IP -> MAC -> 802.11
-
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
So my question then would be, in your view of the OSI model and what iSCSI does, where would you put it in the stack knowing that it is the "final deliverable" of the communications in question and that it will be consumed directly by the final application and that it plays no role in the delivery, it is the thing "to be delivered." Where would you put it knowing what it is?
I might could go to Presentation layer, but still leaning towards Session.
The Application layer would be the tools you use to configure your OS to interact with the iSCSI device that is "presented" to the OS... ie: iSCSI Initiator on Windows.
You are outside of the network stack completely. In the OSI model, L7 is the Application Layer of the network stack. It is still networking protocols. It can never be something that a user touches. Users touch Applications, applications put the Application Layer communications on the wire, which is then encapsulated by the stack. The network stack does not include things that users ever see like desktops, applications, files, languages and such.
I see why this is getting confused. You are trying to include the entire computer in the network stack, not just the network protocols.
You are probably right. I spend so much time focusing on the "whole computer" aspect of things that I don't get elbow deep in terminology like this enough.
I've slept a few times since I first learned of the OSI model, lol.
To be fair, the OSI model training I had at the college level was absolutely terrible with things like NFS being included in the stack.... it's little wonder nobody in the class really understood what they were trying to teach when the people writing books and teaching don't really understand the subject.
-
@travisdh1 said in FibreChannel Switch Types:
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
@dafyre said in FibreChannel Switch Types:
@scottalanmiller said in FibreChannel Switch Types:
So my question then would be, in your view of the OSI model and what iSCSI does, where would you put it in the stack knowing that it is the "final deliverable" of the communications in question and that it will be consumed directly by the final application and that it plays no role in the delivery, it is the thing "to be delivered." Where would you put it knowing what it is?
I might could go to Presentation layer, but still leaning towards Session.
The Application layer would be the tools you use to configure your OS to interact with the iSCSI device that is "presented" to the OS... ie: iSCSI Initiator on Windows.
You are outside of the network stack completely. In the OSI model, L7 is the Application Layer of the network stack. It is still networking protocols. It can never be something that a user touches. Users touch Applications, applications put the Application Layer communications on the wire, which is then encapsulated by the stack. The network stack does not include things that users ever see like desktops, applications, files, languages and such.
I see why this is getting confused. You are trying to include the entire computer in the network stack, not just the network protocols.
You are probably right. I spend so much time focusing on the "whole computer" aspect of things that I don't get elbow deep in terminology like this enough.
I've slept a few times since I first learned of the OSI model, lol.
To be fair, the OSI model training I had at the college level was absolutely terrible with things like NFS being included in the stack.... it's little wonder nobody in the class really understood what they were trying to teach when the people writing books and teaching don't really understand the subject.
NFS should be there, just up top at L7
-
I've renaming this thread.
-
Good discussion!
-
This thread hurt my head....
I have been poring over pcaps in Wireshark all afternoon.
How do people not get this? The OSI model is a conceptualization for communication methods. aka the f***ing network.
if it is not part of the network then it is not part of the model.Calling part of hte payload part of the model (beyond saying it is the payload) is just stupid...
-
@JaredBusch said in Diving into the ISO OSI Network Stack Discussion:
How do people not get this?
Think back to when you were studying and didn't fully understand a concept. Like social cues or empathy