[e2e] Ethernet Encapsulation
David P. Reed
dpreed at reed.com
Fri Nov 9 06:45:59 PST 2001
At 03:49 PM 11/8/2001 -0500, Dennis Rockwell wrote:
>A clean CRC doesn't mean anything about the validity of the
>upper-level data, just that the controller thinks that all
>is OK. Verification must happen at each layer.
Actually, verification must happen end-to-end (i.e. data must be verified
at the layer that depends on the meaning of the data). It may happen
elsewhere.
Which is why IPv4 headers have checksums that cover the header but not the
data, and IPv6 routers must be designed to be self-protective - not do
anything too widely-destructive if somehow the header is corrupted.
It's just plain wrong thinking (a bad model) to assume that one can trust
data 100% because the low-level mechanisms use a good checksum or
whatever. Rounding that 99.9999% up to 100% and then forgetting about it
is not the way to think about this - a better way to think about it is to
think about the low-level checksum as an optimization that reduces the
frequency of higher-level recovery mechanisms' use, thus allowing them to
be more thorough and effective at a lower cost.
- David
--------------------------------------------
WWW Page: http://www.reed.com/dpr.html
More information about the end2end-interest
mailing list