[e2e] Lost Layer?
Joe Touch
touch at isi.edu
Tue Feb 11 07:10:35 PST 2014
On 2/11/2014 5:41 AM, Detlef Bosau wrote:
> Am 11.02.2014 03:31, schrieb Joe Touch:
...
>> I have no idea what a 'network' layer is that is different from what
>> we currently call the link layer.
>
> And you are not the only one to have this problem.
>
> When you have a look at
> @article{cerf,
> title={ Protocol for Packet Network Intercommunication},
> author={V.~ Cerf and R.~Kahn},
> journal={IEEE Transactions on Communications},
> month= "May",
> year= "1974",
> volume = "22",
> number = "5",
> pages = "637-- 648"
> }
At that time, the terminology was in flux.
By the mid-1980s, it had settled as:
Internet ISO
application layer app, presentation, & session layers
transport layer transport layer
Internet layer network layer
subnetwork layer link layer
The other ISO layers were often buried inside the Internet's app layer,
though they're now split out (e.g., for the web HTTP is a session layer,
HTML a presentation layer, and the content the app layer).
And we now (I hope) understand (or are starting to) that all the layers
are really just relative to each other. All are just copies of the
single step that wraps a lot of the ISO layers into a single function:
layer (message, from-addr, to-addr) {
if (my-location == to-addr) then {
return
} else {
next-message = translate(message, nextlayer), i.e.,
translate the message to a format for the next layer,
including any/all of:
error correction
flow control
congestion control
data content translation
data format conversion
fragment/reassembly
translate this layer's identifiers to the next's:
next-from = lookup(from-addr, nextlayer);
next-to = lookup(to-addr, nextlayer);
recurse:
layer(next-message, next-from, next-to);
}
}
(note that forwarding is just tail recursion of this function).
Joe
More information about the end2end-interest
mailing list