That top-layer-calls-next-layer etc ad-nauseam model seems to have been one 
of the original ideas for how to implement a stack.

Actual current implementations do all kinds of wierd stuff, but mostly pass 
around accumulating collections of buffers; so the payload buffer doesn't 
get copied to accomodate each new header, instead the kernel has a second 
buffer to contain the header (and later layers can add more).  What gets 
passed around (by way of various queues and internal plumbing schemes) is a 
structure of pointers to pieces of packet, which gets put together on 
transmission, often by the DMA engine in the device or by the device driver.

The layering is just a conceptual model for the logic of what is going on, 
and has no resemblance to the flow of control in a typical actual 
implementation.  There are simple educational implementations that follow 
the layering fairly closely, and they are interesting to read but tend not 
to be practical for high performance applications.

--On Tuesday, 5 March 2002 11:02 p.m. -0800 Christopher Evans 
<[EMAIL PROTECTED]> wrote:

> Here is a question that will tax your synapes to bursting point!
>
> How is PPP and TCP/IP libs "wired" together?  Like, DO I (OSI 8) call TCP
> and it calls IP and down the
> chain till it spills over and gets real physical (OSI 1)? I am confused.
>
>
> At 10:02 AM 3/5/02 -0500, you wrote:
>> whoa, it's in the TCP/IP suite, it's not. So let me get this straight.
>> TCP and UDP are part of IP. TCP provides error sum UDP doesn't and is
>> therefore faster than TCP. They are encapsulated in IP, which is put
>> into the data bitstream of a PPP frame. Layer 1 is the physical layer,
>> are bitstreams sent at that level. BTW I have 56K dial-up no ISDN or DSL.
>> ----- Original Message -----
>>
>
>
>


Reply via email to