Ethereal-dev: Re: [Ethereal-dev] Is Skinny Segmented?
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
Rami AlHasan wrote:
I know that a TCP packet may contain N number of Cisco Skinny PDUs, but
please does anybody know whether Cisco Skinny PDUs are sent segmented
over multiple TCP packets or not?
It is certainly possible for that to happen - it's possible for any
protocol, as nothing makes it impossible for a TCP implementation to
send a one-byte segment even if there's more data to be sent, and a
Skinny implementation. Whether any implementations do that is another
matter.
If I were implementing a protocol that runs atop TCP, I would make no
assumptions about what TCP does with the sequence of bytes I passed it,
other than that it will either deliver the bytes, in order, with no
loss, or will report to me that the connection timed out. I would make
sure that record boundaries can be found by scanning the stream (e.g.,
by putting a message length in the header of a record), and would, when
reading a message from a TCP connection, read the bytes of the message
until I found the entire message - rather than, for example, assuming
that a single read from the connection will deliver only one record, or
that, if it delivers multiple records, all the records will be complete
within the data that I read.