Where does the Transport Layer operate?
Asked Answered
F

4

8

I'd like to know where the Transport Layer of the OSI model is running in a computer system. Is it part of the Operating System? Does it run in its own process or thread? How does it pass information up to other applications or down to other layers?

Fotina answered 6/4, 2012 at 5:38 Comment(2)
Which operating system? I notice you have the tcp tag. Is your question with respect to IP only, or are you asking about other protocol stacks, also?Enrico
About protocol stacks above the network layer.Fotina
L
15

I'd like to know where the Transport Layer of the OSI model is running in a computer system.

It isn't. The OSI model applies to the OSI protocol suite, which is defunct, and not running anywhere AFAICS. However TCP/IP has its own model, which also includes a transport layer. I will assume that's what you mean hereafter.

Is it part of the Operating System?

Yes.

Does it run in its own process or thread?

No, it runs as part of the operating system.

How does it pass information up to other applications

Via system calls, e.g. the Berkeley Sockets API, WinSock, etc.

or down to other layers?

Via internal kernel APIs.

Livvy answered 6/4, 2012 at 6:41 Comment(2)
Can you please post some links or tutorials for this ? Would be great if you could also mention where the network layer is implemented. Is it in a wifi adapter ? I wish tutorials would show all this instead of the same old block diagram of abstract layers.Footed
@testerjoe2 Everything below the application layer is in the operating system. Some of the link layer and lower may be in the network adapter.Livvy
V
0

What the OSI model calls the transport layer corresponds fairly closely to the TCP layer in TCP/IP. That is, it gives guaranteed delivery/error recovery, and transparent transfers between hosts -- you don't need to pay attention to how the data is routed from one host to another -- you just specify a destination, and the network figures out how to get it there.

As far as where that's implemented: well, mostly in the TCP/IP stack, which is typically part of the OS. Modern hardware can implement at least a few bits and pieces in the hardware though (e.g., TCP checksum and flow control). The network stack will offload those parts of the TCP operation to the hardware via the device driver.

Venn answered 6/4, 2012 at 5:50 Comment(10)
Let's take for example, C++'s winsock library using 'send' with tcp to exchange information. Something is going on in that method to ensure proper delivery of the stream of bytes passed. I'm interested in that. Where is that being done? I'm guessing at the lowest level, not directly in that method call.Fotina
@SotiriosDelimanolis: It's undoubtedly not all inside that function, but it is inside the TCP layer (the lower level IP layer does not provide guaranteed delivery). In reality, however, tracing things gets a bit ugly -- for example, Microsoft has a packet filtering framework to support firewalls and such, which intrudes (heavily) into all this, supporting both kernel mode and user mode filtering.Venn
This answer is not correct. TCP/IP has a transport layer, which includes both TCP and UDP, and, one day real soon now, SCTP.Livvy
@EJP: Nonsense. UDP and TCP are two separate transport layers on top of IP, giving UDP/IP and TCP/IP. Even if UDP were part of TCP, it wouldn't make this answer incorrect either--if you treat UDP as part of TCP, then by having discussed TCP, this has discussed UDP.Venn
@EJP : Looking again at your comment, I'm even more aghast at the gross misunderstanding and lack of logic it represents. It's a bit as if the OP asked: "what do the digits in "BMW 318i" represent?" I answered: "the 3 means it's a 3 series body, and the 18 signifies a 1.8 liter engine." Then you say: "That answer is wrong. A 318i also includes an air conditioner, and sometime soon, they're likely to introduce a hybrid." One is true, but utterly irrelevant; the other is speculation, but will be irrelevant when/if it becomes a fact.Venn
Looking again at my comment, I'm aghast at your blatant misrepresentation of it. I didn't say UDP was part of TCP. Look again before misquoting me further.Livvy
@user207421: assuming you're the user who was formerly known as "EJP", you said: "TCP/IP has a transport layer, which includes both TCP and UDP", which is false. TCP/IP obviously includes TCP and IP. It does not include UDP. And even if TCP/IP did include UDP, it still wouldn't be relevant, nor would it render any part of the answer incorrect in any way.Venn
@JerryCoffin BS. TCP/IP is the well-known name for the entire protocol,suite, including IP, UDP, TCP, ARP, RARP, DHCP, ... See the RFCs. This is not a controversial assertion.Livvy
@user207421: No, it's not a controversial assertion. It's an assertion that's false, with no room for controversy.Venn
Come off it. TCP/IP was the name of the DoD project after the ARPANET. TCP/IP Illustrated volumes 1,2,3. Douglas Comer's book. The TCP/IP Digest, inaugurated 1981, a mailing list among the implementors. Any number of RFCs.Livvy
D
0

The transport layer is available as a library usually shipping with Operating System.

The logical part is implemented in the library. Interaction with transport medium is through drivers.

Drumbeat answered 6/4, 2012 at 5:51 Comment(1)
It is usually available as a kernel component, manifested as a driver. Not a library.Livvy
U
0

The transport layer exists between two devices or more, in his example a Client and Host Machine (virtual or real). Transport is invoked by the Operating System on both ends. Both the Client and Host Machine have instances of an Operating System and underly hardware managing transport.

Transport control coordinates information delivery assurance for both the Client and Host Machine OS. Some Machines where necessary, shift some of the workload from the CPU or Kernel down to underlying chipsets to lighten the load. Transport duty is essential commodities work not typically appropriate for the Kernel or Main CPU, but the OS is where transport evolved from as the grid modernized.

In the classroom, the duty is done by the OS, in the industrial control systems I design and implement, we always consider hardware acceleration and efficiencies.

RPDelio

Undertint answered 15/7, 2022 at 18:2 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.