Review of draft-rtg-dt-encap-02 - Encapsulation Considerations
"Carlos Pignataro (cpignata)" <cpignata@cisco.com> Tue, 09 June 2015 03:25 UTC
Return-Path: <cpignata@cisco.com>
X-Original-To: rtgwg@ietfa.amsl.com
Delivered-To: rtgwg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 846D41ACDF0; Mon, 8 Jun 2015 20:25:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 VqboF_l3SZSQ; Mon, 8 Jun 2015 20:25:31 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 723591ACDED; Mon, 8 Jun 2015 20:25:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=11419; q=dns/txt; s=iport; t=1433820331; x=1435029931; h=from:to:cc:subject:date:message-id:mime-version; bh=8Rfv7we+9EIG9sjwt+STwFub4C598IGTp3SnWYu4mfQ=; b=BHmm5o3d+ejjMmOufYL2IRO/n73lSCN7PXoYV2r9XojVGJuY6t4scluW bgxF8z/yXpQrBZHE40lMcUgQX3yE6drE0ggd/oWvO5pIc9qP/yiGvlTk1 UuMMkwIAG9UmuCfZOBlTRmXyrgiPrNul27Ng2guC9JYH+kcuONqqateTt E=;
X-Files: signature.asc : 841
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DHBQDoW3ZV/5ldJa1cgxBUXgaDGLpSglCFeYEzPBABAQEBAQEBfwuEJQEDDhVCAgsHEgEaMAI0FxAEDhOIIA2qS6QYAQEBAQEBAQEBAQEBAQEBAQEBAQEBEwSLQ4UGgm8vgRYFkG2CT4IYgUlhhm6BMIN7kjokggocgVJvAQGBRIEBAQEB
X-IronPort-AV: E=Sophos; i="5.13,577,1427760000"; d="asc'?scan'208"; a="5628063"
Received: from rcdn-core-2.cisco.com ([173.37.93.153]) by rcdn-iport-1.cisco.com with ESMTP; 09 Jun 2015 03:25:30 +0000
Received: from xhc-rcd-x07.cisco.com (xhc-rcd-x07.cisco.com [173.37.183.81]) by rcdn-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id t593PUK4001871 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 9 Jun 2015 03:25:30 GMT
Received: from xmb-aln-x02.cisco.com ([169.254.5.166]) by xhc-rcd-x07.cisco.com ([173.37.183.81]) with mapi id 14.03.0195.001; Mon, 8 Jun 2015 22:25:30 -0500
From: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
To: "rtgwg@ietf.org" <rtgwg@ietf.org>
Subject: Review of draft-rtg-dt-encap-02 - Encapsulation Considerations
Thread-Topic: Review of draft-rtg-dt-encap-02 - Encapsulation Considerations
Thread-Index: AQHQomPvA0xIw6P4hkOBt4iXkt5q1A==
Date: Tue, 09 Jun 2015 03:25:30 +0000
Message-ID: <BF1047B0-1156-4AB0-A497-EDAB4C00B86E@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.82.250.82]
Content-Type: multipart/signed; boundary="Apple-Mail=_F66FA59A-4CE3-475C-BE3A-56B4D9B905F1"; protocol="application/pgp-signature"; micalg="pgp-sha256"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtgwg/gxDXPnvmnyKgPLozadpt87WvfDA>
Cc: "rtgwg-chairs@ietf.org" <rtgwg-chairs@ietf.org>
X-BeenThere: rtgwg@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Routing Area Working Group <rtgwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtgwg/>
List-Post: <mailto:rtgwg@ietf.org>
List-Help: <mailto:rtgwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Jun 2015 03:25:34 -0000
Hi, RtgWG, Please find below some review comments on draft-rtg-dt-encap-02. https://datatracker.ietf.org/doc/draft-rtg-dt-encap/ While this is not a comprehensive fine-tooth-comb review, I hope these (somewhat high-level) comments are useful. General comments: Scanning through the document, I have two high-level concerns. • First, there is really no evident or apparent definition of what “Encapsulation” is. This is not a pedantic comment, but I think it is a root cause of the point that follows. • Many of the considerations on this document are not applicable to the scoped “encapsulation” per se. Instead, they relate to a specific layer underneath the encapsulation, to a layer that further encapsulates the encapsulation. For example, the document sets of explaining the need for understanding common requirements and considerations among groups of encaps. In addition to encaps in NOV3, these are also the BIER Header and NSH. Both these can be carried by multiple underlays each with different characteristics. However, the document conflates requirements and characteristics from the encap itself, and intertwines them with characteristics and requirements on the underlay. I think this document would greatly benefit from a cleaner separation of what happens at the encap, versus what is expected, required, or considered from the underlay (transport, network, tunnel, etc). This is particularly exacerbated in the ECMP and MTU sections, but present in others as well. Take for example ECMP — the BIER header has an Entropy field. Different encaps can provide Entropy fields to be used as a source for entropy, either at the encap (e.g., service) layer or by an underlay. One example is L2TPv3 session id and GRE Key (as per RFC 5640). However, the ECMP sections focus on IP and IP/UDP methods, which frankly are applicable generally and not only to these “Encapsulations”. And I believe some of these potential disconnects go back to the high-level concern #1, lack of definition/scope of what is an encap (and what is not). Just to be clear, I am all for inter-layer cooperation and requirement realization. However, if the goal is to understand encapsulation common requirements, then a more clean separation of the encapsulation headers versus a specific transport of said encapsulations will make it easier to understand if those requirements belong in an encap or in an underlay. A smaller one: this document is titled "Encapsulation Considerations” (without any qualifiers), but the abstract narrowscopes it to a specific encaps. Some more specific comments, prefaced with “CMP": 2. Overview … o SFC carries service meta-data which might be modified or unmodified as the packets follow the service path. SFC talks of some loop avoidance mechanism which is likely to result in modifications for for each hop in the service chain even if the meta-data is unmodified. CMP: This is not complete (incorrect by omission). The SFC Encap is responsible first for Serfice Function Path Identification, and second, for Metadata. See Section 1.3 and 4.1 of https://tools.ietf.org/html/draft-ietf-sfc-architecture-09. o SFC is all about carrying service meta-data along a path, and different services might need different types and amount of meta- data. CMP: It is true that metadata requires extensibility. However the SFC Encap is all about path identification *and* carrying metadata. CMP: Also, SFC’s extensibility has to do with OAM and graphs as well. CMP: By the way, encaps need to strike a balance between flexibility and performance. This point could be made more explicitly. Most of the issues discussed in this document are not new. The IETF and industry as specified and deployed many different encapsulation or tunneling protocols over time, ranging from simple IP-in-IP and GRE encapsulation, IPsec, pseudo-wires, session-based approached like L2TP, and the use of MPLS control and data planes. IEEE 802 has also defined layered encapsulation for Provider Backbone Bridges (PBB) and IEEE 802.1Qbp (ECMP). This document tries to leverage what we collectively have learned from that experience and summarize what would be relevant for new encapsulations like NVO3, SFC, and BIER. CMP: I think it would be much clearer here to specify terms around what is encap, transport, etc. L2TPv3 for example can run over IPv6 directly, over IP/UDP, etc. Those cases have key differences although the actual L2TPv3 header does not change. 3. Common Issues … o How to provide entropy for Equal Cost MultiPath (ECMP) routing CMP: And LAGs? o OAM - what support is needed in an encapsulation format? CMP: OAM in what context? fault management, performance management, all? CMP: Also, this section seems to lack an issue of “adaptation” of the payload. 4. Scope o Focus on the class of encapsulations that would run over IP/UDP. That was done to avoid being distracted by the data-plane and control-plane interaction, which is more significant for protocols that are designed to run over "transports" that maintain session or path state. CMP: I am not sure if the relationship between running over “transports” (which transports?) and control-plane - data-plane complexity is clear — it is not clear to me at least. 7. Entropy In many cases the encapsulation format needs to enable ECMP in unmodified routers. Those routers might use different fields in TCP/ UDP packets to do ECMP without a risk of reordering a flow. CMP: Is this an encap-supported requirements, or a requirement of IP/UDP in general, whatever is transported? the ephemeral port range) plus the outer IP addresses which seems to be sufficient for entropy; using outer IPv6 headers would give the option for more entropy should it be needed in the future. CMP: And the IPv6 Flow Label and RFC 6438? There is some interaction between entropy and OAM and extensibility mechanism. It is desirable to be able to send OAM packets to follow the same path as network packets. Hence OAM packets should use the CMP: This is having the underlying assumption that “OAM” is “OAM packets” as opposed to also fields in data packets. If OAM is in the packet, it fate-shares by definition. Architecturally the entropy and the next header field are really part of enclosing delivery header. UDP with entropy goes hand-in-hand with the outer IP header. Thus the UDP entropy is present for the CMP: This is a very important point, and this clarity in demarcation should be throughout, to understand at which layer different requirements are. 8. Next-protocol indication Next-protocol indications appear in three different context for encapsulations. … Secondly, the encapsulation needs to indicate the type of its payload, which is in scope for the design of the encapsulation. CMP: I believe that this section should not start assuming an explicit protocol indication. A demux context can provide protocol identification, or it could be explicitly carrier (self-defining package). And perhaps that is the first consideration. We have existing protocols which use Ethernet types (such as GRE). Here each encapsulation header can potentially makes its own choices between: o Reuse Ethernet types - makes it easy to carry existing L2 and L3 protocols including IPv6, IPv6, and Ethernet. CMP: I do not believe that the options are Ethertype, IP protocol number, or own registry only. CMP: Nit — repeat IPv6. In summary: o Would it be useful for the IETF come up with a common scheme for encapsulation protocols? If not each encapsulation can define its own scheme. CMP: This seems to be a non-sequitur. Why would that be useful? 9. MTU and Fragmentation CMP: This is another key section that could use clarify between encap and transport. In summary: o In some deployments an encapsulation can assume well-managed MTU hence no need for fragmentation and reassembly related to the encapsulation. o Even so, it makes sense for ingress to track any ICMP packet too big addressed to ingress to be able to log any MTU misconfigurations. CMP: This section seems to be conflating MTU with PMTUD. Cleary related, but those are different things. The area of pre-fragmentation vs. post-frag is also underspecified. See e.g., https://tools.ietf.org/html/rfc3931#section-4.1.4 10. OAM In terms of what we have heard from the various working groups there seem to be needs to: o Be able to send out-of-band OAM messages - that potentially should follow the same path through the network as some flow of data packets. CMP: It is not clear what are “out-of-band messages” that follow the same path as data packets… CMP: Also, this section seems to imply that “OAM” is “separate OAM packets”, where there is OAM Performance Management (PM) considerations for in-band in-data-packets measurement. Those ought to be considered in the encap layer. There can be several ways to prevent OAM packets from accidentally being forwarded to the end station using: o A bit in the frame (as in TRILL) indicating OAM o A next-protocol indication with a designated value for "none" or "oam”. CMP: Or both! An OAM bit with an OAM proto allows for max flexibility. Hope these help! — Carlos.
- Review of draft-rtg-dt-encap-02 - Encapsulation C… Carlos Pignataro (cpignata)
- Re: Review of draft-rtg-dt-encap-02 - Encapsulati… Erik Nordmark