[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MBONED] [Fwd: I-D Action:draft-eubanks-chimento-6man-00.txt]
Here are my comments. Draft text comes first and indented and my
comments follow.
The argument made by the draft authors is that since multicast
packets already have a UDP header with a checksum, there is no
additional benefit and indeed some cost to nodes to both compute and
check the UDP checksum of the outer (encapsulating) header. However,
Consequently, IPv6 should make an exception to the rule that the UDP
checksum MUST not be 0, and allow tunneling protocols to set the
checksum field of the outer header only to 0 and skip both the sender
and receiver computation.
It is worse than that for AMT. Since the control packets are
encapsulated in an IGMP packet format. There is an IGMP checksum
performed as well, then on top of that encapsulated in UDP, with the
UDP checksum performed there too.
So please note that the burden might be less in the control-plane, but
it is less necessary to do UDP checksum as well in this case. I think
you shouldn't deprecate the behavior in the spec, but outline how
double check-summing is occurring in this case.
3. Exception for lightweight tunneling: Amend IPv6 to allow a 0
value in the UDP checksum field for leightweight tunneling
protocols which allows them to bypass any checksum
computation in
the outer header if the inner packet is protected. Rules for
usage in this case must be developed.
Be more clear that the encapsulator does not have to compute a
checksum on packet forwarding and the decapsulator, because the UDP
checksum is 0, does not need to check the checksum.
4. Another possibilty is to allow an exception for the AMT
protocol
only. This may seem undesirable, but it would restrict the
implementation of a zero checksum UDP header over IPv6 only to
the AMT endpoints. Any misdelivered packets (i.e. arriving
at a
non-AMT endpoint) would simply be discarded.
There are other protocols coming that will use UDP encapsulation. It
is becoming popular to use UDP so you get LAGs to work inside of the
tunnel as well as an easier way to get through firewalls.
One example is LISP.
Others on the mailing list have pointed out other issues with
changing the IPv6 specification to allow a checksum of 0 on the
outer
packet header. In particular, Matt Mathis points out that some
tunneling devices ignore the DF bit and fragment silently. This
would allow two fragmented UDP packets to be spliced together and
be
decapsulated and forwarded by a tunnel endpoint.
But can we make a mention that link-layer CRC, ECC, and checksum do
find high percentage of link errors, so there is another level of
protection we can rely on. Please state that somewhere in the spec.
Magnus Westerlund proposed some restrictions on using a UDP header
checksum of 0. These are:
Since Magnus is being referred to multiple times in this draft, I
suggest you put his contact info at the end.
2. The tunneling protocol and implementation must not use
fragmentation of the inner packets being carried.
I would change "must not" to "should not".
We would suggest the following elaborations of the above
restrictions, if a change in the IPv6 specification moves forward:
o An inner IPv4 packet with a UDP checksum equal to 0 must not be
tunneled.
o Non-IP inner packets must have a CRC or other mechanism for
checking packet integrity.
o Other tunneling protcocols that use the UDP checksum equal to 0
MUST NOT be tunneled themselves, even if more deeply
encapsulated
packets have checksums or other integrity checking mechanisms.
o We would recommend that general protocol stack implementations
do
NOT implement this change. The exception should remain
restricted
to devices serving as endpoints of the lightweight tunneling
protocol adopting the change.
In addition, we would recommend that a security analysis be done in
order to assess whether any new vulnerabilities are introduced by
such a change.
This is to strong of language. You create more work for hardware
implementations to adhere to this. Which means they will just ignore it.
I would change all occurences of "must" to "should".
Thanks,
Dino
On Feb 24, 2009, at 5:21 AM, Brian Haberman wrote:
All,
Here is the draft that proposes to loosen the UDP checksum rule
for IPv6. I would appreciated if discussions of this draft occur on
the 6MAN mailing list (ipv6 at ietf.org).
Regards,
Brian
-------- Original Message --------
Subject: I-D Action:draft-eubanks-chimento-6man-00.txt
Date: Mon, 23 Feb 2009 10:45:01 -0800 (PST)
From: Internet-Drafts at ietf.org
Reply-To: internet-drafts at ietf.org
To: i-d-announce at ietf.org
A New Internet-Draft is available from the on-line Internet-Drafts
directories.
Title : UDP Checksums for Tunneled Packets
Author(s) : M. Eubanks
Filename : draft-eubanks-chimento-6man-00.txt
Pages : 7
Date : 2009-02-23
We address the problem of computing the UDP checksum on tunneling
IPv6 packets when using lightweight tunneling protocols.
A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-eubanks-chimento-6man-00.txt
Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.
_______________________________________________
MBONED mailing list
MBONED at ietf.org
https://www.ietf.org/mailman/listinfo/mboned