[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SIIT translation



 In your previous mail you wrote:

   I haven't looked at the details recently, but I think the addition of 
   the pseudo-header checksum is solvable without needing state in the 
   translator. The pseudo-header (from the IPv6 header) is available in the 
   same packet as the ICMP checksum field.
   Thus the checksum can be adjusted based on the delta of adding or 
   deleting (for v4->v6 and v6->v4 translation, respectively) the 
   pseudo-header checksum by only looking at that one packet.
   
=> I agree: the checksum is adjusted and not recomputed. Usually
the address part is cached in the mapping, and when you can choose
one part of an address you even try to make the update null.

   The UDP with zero checksum is much different, because it requires a 
   computation of the checksum for the whole datagram i.e. across all the 
   fragments.
   
=> note zero checksum UDPs should only occur in cases where they are
small enough to be never fragmented, i.e., UDP checksums are highly
recommended in NFS & co, DNS including EDNS0, but not for video
or voice where large packets and fragmentation add too much delay.

Regards

Francis.Dupont@enst-bretagne.fr