Consider an application (mostly TCP/UDP, but not strictly so) where the packet sizes vary, and may be very long. The use case / problem statement is to identify duplicate frames that are collected at multiple points in the network. (Meaning that if we collect a frame from router X, and a frame from router Y, how can we determine with high probability that these are or are not the same frame)... Further assume that we can create a (good) hash on the first NNN bytes of the frame relatively cheaply. In my mind I'm thinking that the hash could be generated on somewhere in the neighborhood of the first 100-200 bytes. This is certainly enough to get the {L2, IP, TCP|UDP} headers, as well as most common application protocols where those headers are directly after the L4 headers (HTTP, VOIP, streaming video, etc). As long as we can get the headers AND at least a little bit of the payload "data" I can mostly convince myself that this hash will accurately identify uniqueness.
Can anyone think of specific applications where the hash on just the early part of the frame would NOT be a good indicator of uniqueness? Anyone have a compelling argument as to how deep that hash would need to be? (i.e. is 128B sufficient for most cases?)