Hi list,
I think there is no means available today for distinguishing between
horizontal encapsulation (PDU concatenation at the same "transport"
level)
and vertical encapsulation (protocol stack).
This may have to be discussed at a more theoretical level (which I did
with
Fulvio some days ago when we discussed PSML and when I introduced
"PHML" for
protocol hierarchy description). I think the most general approach is
that
we have both stacks (vertical) and lists (horizontal) as possible
"objects" in a protocol hierarchy, and that we can
combine both to match what we have dissected. I'd like to
define/describe the way protocols are organized and also define a
convenient representation for this orgnization.
For example, "/" denotes "runs on top of" while [ ] [ ] means
concatenation of PDUs at the same level.
Consider for example:
[ X11: foo ] [ X11: bar ] [ X11: baz ] [ X11: xyzzy ] / TCP / IPv4 /
Ethernet
[ Text media: text/html ] [ Text media: text/plain ] / Multipart:
related /
...
[ WTP: Ack ] [ WSP: Get / WTP ] / WTP: concatenation / UDP / IPv4 /
Ethernet
But also:
... / IPv4 / IPv4 / ...
I *really* want the possibility to report this hierarchy in the
correct way
to the end-user. Maybe we have to change the view of the model we use
in
Ethereal in order to render this in a simple manner.
For the sake of completeness, there's another item I deliberately did
not
discuss here: reassembly after segmentation. We should be able to
visualize
this, such as
[ protocol: fragment X [of Y] [reassembled in P] ] / subprotocol
I'd like to "formalize" this (and maybe write an RFC of it :))).
Comments
are welcome, of course!
Regards,
Olivier Biot