We understand that UDP checksums being optional in IPv4 and mandatory
in IPv6 creates a problem for IPv4 to IPv6 translators:
(1) To completely translate from v4 to v6 a UDP datagram having a
zero checksum, a complete computation of the datagram checksum is
necessary.
(2) If the datagram has several fragments, this cannot be done
statelessly.
A simple solution would IMHO be to complement to the UDP rule in IPv6
as follows:
- IPv6 hosts MUST create UDP datagrams with non-zero checksums.
(Nothing new here.)
- IPv6 hosts SHOULD accept UDP datagrams with zero checksum.
(Application of the classic principle "be strict in what you send,
tolerant in what you receive").
- IPv4 to IPv6 translators that receive UDP datagrams having zero
checksums MAY keep these checksums in translated datagrams.
(On one hand, computing the UDP checksum still provides a better
connectivity than without it, as long as there are IPv6 hosts that
discard UDP datagrams having zero checksum. On the other hand, there
may be tradeoffs to be made between maximum connectivity in all cases
and scalability, DOS attack protection etc.)
Thoughts?
RD
--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------