[e2e] purpose of pseudo header in TCP checksum

Joe Touch touch at ISI.EDU
Tue Feb 15 11:24:49 PST 2005

Michael Welzl wrote:
>>IPv6 _requires_ UDP checksums. UDP Lite already addresses this, and when 
>>used ALWAYS INCLUDES the pseudoheader. See RFC 3828.
> I know that checking the pseudoheader is required with IPv6 -
> but only end systems do this, right? 

Yes - that's a UDP step.

> The part I don't get is
> about intermediate systems; it wouldn't surprise me if it's just
> a misunderstanding on my part.
> What I mean is: since the IPv6 header isn't checked by routers
> anymore, there must be some assumption that link layers
> check it, or an intermediate router might (for instance)
> be sending packets to god knows where.

IPv6 makes no mention of a problem with 'sending packets god knows 
where', so long as they're checked at the receiver. Although IPv6 (at 
least as I recall) omits the IP checksum because of sufficient link 
checksums to detect corrupted packets, there's no requirement that link 
layers have such checksums (as hinted in the UDP-Lite RFC) - at least 
not in 2460 (anyone else know anywhere else a body is buried in this 

FWIW, IPv6 adds a checksum to ICMP, again to prevent corrupted packets 
from being received, but there's not apparent concern for misforwarding 
nased on corruption.

> Now, with UDP Lite, we DON'T want link layer to do this
> check. But wait, if we simply say "don't", we'll have
> lots of problems - first, because Adler-32 just isn't
> good enough, and second, because IPv6 doesn't check it,
> and once again, a router might wind up making decisions
> based on an erroneous packet header.

I guess IPv6 says "so"? Even IPsec, required by IPv6, works primary at 
'endpoints' (where tunnel endpoints are effectively end hosts for the 
purposes of architecture).

> So we need to specify that link layers DO check the headers
> and just do NOT check the payload if it's a UDP Lite packet.
> This is the part that I consider inevitable (given the
> current situation) but ugly.

The first part, not AFAICT.

The second IS ugly. Complain to UDP-Lite - it's definitely reaching 
across layers to coordinate the link checksum configuration with UDP's 
presence or lack of checksumming.

>>IP still works over everything; things that work over IP need to know 
>>something about it, as always.
> "over" is fine with me, but I don't like to have things
> underneath know so much about it.

Agreeed. IMO, that's UDP-Lite's problem, not IPv6.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
Url : http://www.postel.org/pipermail/end2end-interest/attachments/20050215/4ddbd251/signature.bin

More information about the end2end-interest mailing list