Ethereal-dev: Re: [Ethereal-dev] TCP reassembly

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Thu, 9 Oct 2003 12:35:07 -0700

On Oct 9, 2003, at 5:40 AM, Biot Olivier wrote:

Stream-based traffic almost always has the problem that upper protocol PDU
boundaries are hard(er) to maintain. Here are some questions:
1. Does Ethereal currently provide a means of selectively reassembling
stream segments, or said in other terms 'set PDU boundary beacons on the
segment data'?

What's an example of this?

2. Should we have 2 sorts of stream reassembly code, one where encapsulated PDUs always start on a segment boundary and another where this is not the
case?

Are there any cases where it is guaranteed that encapsulated PDUs always start on a segment boundary?

3. Should the subdissector always control how reassembly is performed?

Given that there are no PDU boundaries specified in a byte-stream transport, the subdissector *has** to control reassembly, as the PDU boundaries are imposed by protocols running above the transport layer, right?

Something like: TCP dissector has stream reassembly possibility, and LDAP
subdissector selects the stream reassembly code

That's how we do it now, right?