Thanks for the answer.
But, please, if I have a skinny message that is segmented between two
TCP packets, how can I tell "from the first packet" that I have a
completion segment in another packet?
Is there helping info in TCP header that informs me of the existence of
the pending bytes in the second packet? If yes, what are they?
Or, from the skinny header info, I get the message length, and If the
remaining bytes in the current packet are less than the message length,
then I will conclude that the difference bytes are sent segmented in the
next packet.
Which is the correct way, or both?
Also, I think that in both cases I have to use the TCP sequence number?
Please help,
Rami.AlHasan
-----Original Message-----
From: ethereal-dev-bounces@xxxxxxxxxxxx
[mailto:ethereal-dev-bounces@xxxxxxxxxxxx] On Behalf Of Guy Harris
Sent: Sunday, August 15, 2004 9:05 PM
To: Ethereal development
Subject: Re: [Ethereal-dev] Is Skinny Segmented?
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.
_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev