Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03

Xuxiaohu <xuxiaohu@huawei.com> Tue, 24 May 2016 08:54 UTC

Return-Path: <xuxiaohu@huawei.com>
X-Original-To: int-area@ietfa.amsl.com
Delivered-To: int-area@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66A5912D0EB for <int-area@ietfa.amsl.com>; Tue, 24 May 2016 01:54:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.636
X-Spam-Level:
X-Spam-Status: No, score=-5.636 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pKJ3lsm2xeFu for <int-area@ietfa.amsl.com>; Tue, 24 May 2016 01:54:38 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B60BC12D0BA for <int-area@ietf.org>; Tue, 24 May 2016 01:54:37 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml702-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CPM01633; Tue, 24 May 2016 08:54:34 +0000 (GMT)
Received: from NKGEML411-HUB.china.huawei.com (10.98.56.70) by lhreml702-cah.china.huawei.com (10.201.5.99) with Microsoft SMTP Server (TLS) id 14.3.235.1; Tue, 24 May 2016 09:54:29 +0100
Received: from NKGEML515-MBS.china.huawei.com ([169.254.5.169]) by nkgeml411-hub.china.huawei.com ([10.98.56.70]) with mapi id 14.03.0235.001; Tue, 24 May 2016 16:54:22 +0800
From: Xuxiaohu <xuxiaohu@huawei.com>
To: Joe Touch <touch@isi.edu>, "Fred Baker (fred)" <fred@cisco.com>, Wassim Haddad <wassim.haddad@ericsson.com>
Thread-Topic: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03
Thread-Index: AQHRsfdFpg5szZjRuk2CxGidq0DM15/AOacAgAFcxnD///TOAIAESJ5AgABjDQCAARz3UP//sRcAgAC6YtA=
Date: Tue, 24 May 2016 08:54:21 +0000
Message-ID: <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE0D555482@NKGEML515-MBS.china.huawei.com>
References: <E83B905A-FF6D-4996-B71A-7921DE4B133B@ericsson.com> <BFC09F5C-D6DF-4B6B-AA95-03919B9F09FB@cisco.com> <573E2A0E.1060609@isi.edu> <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE0D54EB60@NKGEML515-MBX.china.huawei.com> <573F453C.5060908@isi.edu> <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE0D554B73@NKGEML515-MBS.china.huawei.com> <5743303C.5040109@isi.edu> <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE0D55514C@NKGEML515-MBS.china.huawei.com> <5743DD16.3050506@isi.edu>
In-Reply-To: <5743DD16.3050506@isi.edu>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.111.99.55]
Content-Type: multipart/alternative; boundary="_000_1FEE3F8F5CCDE64C9A8E8F4AD27C19EE0D555482NKGEML515MBSchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090202.574416CB.006F, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.5.169, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 98f501930a9acad9667238de40565439
Archived-At: <http://mailarchive.ietf.org/arch/msg/int-area/MX_77y3hsCabGNDp47s4NMdZIUg>
X-Mailman-Approved-At: Tue, 24 May 2016 06:54:24 -0700
Cc: "int-area@ietf.org" <int-area@ietf.org>
Subject: Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF Internet Area Mailing List <int-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/int-area>, <mailto:int-area-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/int-area/>
List-Post: <mailto:int-area@ietf.org>
List-Help: <mailto:int-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/int-area>, <mailto:int-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 May 2016 08:54:42 -0000

Hi Joe,

The draft is only intended to introduce one additional Softwires encapsulation technology referred to as IP-in-UDP.  In other words, this encapsulation is only intended to be used within Softwires networks which are well-managed by a service provider. This encapsulation technology is not intended to be used within the Internet. As such, it seems absolutely possible to configure the I-IP transit core to carry an MTU at least large enough to accommodate the added encapsulation headers.

Although it has been said in the draft that "IP-in-UDP is just  applicable in those Softwires network environments where fragmentation on the tunnel layer is not needed." I can add a dedicated Applicability Statement section to emphasize that this Softwires encapsulation technology must only be used within Softwires networks which are well-managed by a service provider and must not be used within the Internet. Can this application statement address your concerns on fragmentation and reassembly?

Best regards,
Xiaohu

From: Joe Touch [mailto:touch@isi.edu]
Sent: Tuesday, May 24, 2016 12:48 PM
To: Xuxiaohu; Fred Baker (fred); Wassim Haddad
Cc: int-area@ietf.org
Subject: Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03


Hi Xiaohu,
On 5/23/2016 7:59 PM, Xuxiaohu wrote:
Hi Joe,

Thanks for your response. Please see my response with [Xiaohu] inline.

From: Joe Touch [mailto:touch@isi.edu]
Sent: Tuesday, May 24, 2016 12:31 AM
To: Xuxiaohu; Fred Baker (fred); Wassim Haddad
Cc: int-area@ietf.org<mailto:int-area@ietf.org>
Subject: Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03


On 5/22/2016 7:44 PM, Xuxiaohu wrote:
Hi Joe,,

As for the four things that you have pointed out (see below),


We know of at least four things that tunnels need that IP-in-UDP ignores:



        - stronger checksums



[Xiaohu] it said in the draft that


" For IPv4 UDP encapsulation, this field is RECOMMENDED to be set
         to zero for performance or implementation reasons because the
         IPv4 header includes a checksum and use of the UDP checksum is
         optional with IPv4.  For IPv6 UDP encapsulation, the IPv6
         header does not include a checksum, so this field MUST contain
         a UDP checksum that MUST be used as specified in [RFC0768<https://tools.ietf.org/html/rfc0768>] and
         [RFC2460<https://tools.ietf.org/html/rfc2460>] unless one of the exceptions that allows use of UDP
         zero-checksum mode (as specified in [RFC6935<https://tools.ietf.org/html/rfc6935>]) applies."


In other words, the stronger checksum (i.e., non-zero checksum of UDP) is strongly recommended especially for IPv6 UDP case. Furthermore, as stated in RFC6935, "Tunnel protocols that encapsulate IP will generally be safe for
   deployment, because all IPv4 and IPv6 packets include at least one

   checksum at either the network or transport layer."  This statement is just applied to the IP-in-UDP case.

The problem is that this advice overlooks the need to account for errors of fragmentation and reassembly (see below). Something stronger than the Internet checksum is typically useful, e.g., as was developed for SEAL (e.g., RFC5320).







        - fragmentation support



[Xiaohu] It said in the draft that

              "   Ingress AFBRs MUST NOT fragment I-IP packets (i.e., UDP encapsulated
   IP packets), and when the outer IP header is IPv4, ingress AFBRs MUST
   set the DF bit in the outer IPv4 header.  It is strongly RECOMMENDED
   that I-IP transit core be configured to carry an MTU at least large
   enough to accommodate the added encapsulation headers.  Meanwhile, it
   is strongly RECOMMENDED that Path MTU Discovery [RFC1191<https://tools.ietf.org/html/rfc1191>] [RFC1981<https://tools.ietf.org/html/rfc1981>]
   is used to prevent or minimize fragmentation.  Once an ingress AFBR
   needs to perform fragmentation on an E-IP packet before
   encapsulating, it MUST use the same source UDP port for all
  fragmented packets so as to ensures these fragmented packets are



Xu, et al.               Expires August 3, 2016                 [Page 5]
________________________________
Internet-Draft           Encapsulating IP in UDP            January 2016


   always forwarded on the same path.  In a word, IP-in-UDP is just
   applicable in those Softwire network environments where fragmentation
   on the tunnel layer is not needed."

In other words,  fragmentation on I-IP packets (i.e., UDP encapsulated IP packets) must be avoided. fragmentation on E-IP packets should be avoided by some means (e.g., I-IP transit core is configured to carry an MTU at least large enough to accommodate the added encapsulation headers or Path MTU discovery is enabled on the UDP tunnels). Fragmentation on E-IP packets is possible only when the E-IP packets are IPv4 packets and the DF bit is not set.

While this is a nice goal, it's not viable. In order to provide a viable IPv6 tunnel, the payload MUST transit IPv6 payloads of at least 1280 bytes.However, there's no reason to assume that the UDP/IPv6 tunnel can support 1280 + UDP + IPv6. So you have only one choice - you can deploy these tunnels only where you can guarantee paths that support 1280+8+40 byte payloads over the tunnel path. However, there's no way to ensure that solely by assuming IPv6 along that path.

I.e., you MUST support source fragmentation at the ingress at the outer IPv6 layer (because UDP doesn't have support for fragmentation and reassembly). If you make this requirement, you can handle IPv6 over the tunnel.

IPv4 will work over a UDP/IPv6 tunnel fairly easily, even assuming the common typical IPv4 MTU (576, even though that's really the reassembled MTU, not the path MTU).

IPv4 over IPv4 is much more difficult, and not only requires fragmentation at the outer packet but also additional reassembly requirements at the egress above and beyond the IPv4 minimums.





        - signalling support (e.g., to test whether a tunnel is up or

        to measure MTUs)


[Xiaohu] It said in the draft that
"it is strongly RECOMMENDED that Path MTU Discovery [RFC1191<https://tools.ietf.org/html/rfc1191>] [RFC1981<https://tools.ietf.org/html/rfc1981>]

   is used to prevent or minimize fragmentation."





        - support for robust ID fields (related to fragmentation,

        e.g., to overcome the limits of IPv4 ID as per RFC 6864)

in other words, the PMTUD signaling is recommended to be supported.

PMTUD is a recipe for black-holing. PLPMTUD is preferred for many reasons.

However, PLPMTUD only ensures proper discovery of the tunnel MTU. It does not describe how the ICMPs inside the tunnel relate to those that are generated by the ingress.

Again, for all of these, see draft-ietf-intarea-tunnels

Joe





[Xiaohu] Is it enough to add a sentence like "to overcome the limits of IPv4 ID as per RFC 6864 when performing fragmentation on E-IP IPv4 packets, the specifications as described in RFC6864 MUST be followed."?



Best regards,

Xiaohu




I'm wondering whether those issues are specific to IP-in-UDP or not. In other words, are those issue also applicable to other X-in-UDP approaches (where X could be LISP, TRILL, VXLAN, VXLAN-GPE, GENEVE, GUE, NSH or MPLS)?

That set of issues applies to all IP-in-(xlist), where xlist includes IP again. The issue is what IP expects and what the tunnel exports.

The other items I pointed out are specific to transport-in-UDP or this specific approach.

Joe