[Int-area] Comments on INT Area Tunnels draft: aft-ietf-intarea-tunnels-09

Gorry Fairhurst <gorry@erg.abdn.ac.uk> Tue, 16 April 2019 11:28 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
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 448DA120140 for <int-area@ietfa.amsl.com>; Tue, 16 Apr 2019 04:28:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 bme0EI8kuNuj for <int-area@ietfa.amsl.com>; Tue, 16 Apr 2019 04:28:36 -0700 (PDT)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [IPv6:2001:630:42:150::2]) by ietfa.amsl.com (Postfix) with ESMTP id EE80612004B for <int-area@ietf.org>; Tue, 16 Apr 2019 04:28:35 -0700 (PDT)
Received: from Gs-MacBook-Pro.local (fgrpf.plus.com [212.159.18.54]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPSA id 182651B0012D; Tue, 16 Apr 2019 12:28:29 +0100 (BST)
Message-ID: <5CB5BC5C.4050107@erg.abdn.ac.uk>
Date: Tue, 16 Apr 2019 12:28:28 +0100
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Reply-To: gorry@erg.abdn.ac.uk
Organization: University of Aberdeen
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: int-area <int-area@ietf.org>, Mark Towsley <townsley@cisco.com>
CC: gorry Fairhurst <gorry@erg.abdn.ac.uk>, Joe Touch <touch@strayalpha.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/JlUUQLkNAQFgsgAczqUFb420vTw>
Subject: [Int-area] Comments on INT Area Tunnels draft: aft-ietf-intarea-tunnels-09
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.29
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, 16 Apr 2019 11:28:40 -0000

I have read draft-ietf-intarea-tunnels-09, because it is cited from 
another document that I am reviewing. I have a number of comments that 
I’d like to pass to the WG/editors for consideration, I also have a few 
more technical questions, that I will post later.

--- My first top-level comment is that I fear a small part of the 
language in the document could put some readers off because it seems to 
go-back-in-time to cite early ways of describing networks, which I think 
could be easily tuned to avoid this and make it much more accessible to 
younger folk - who probably are a really important audiance (see NiTs 
below).
--- There are places where IPv4 language is used, and I'd prefer to make 
sure that IPv6 is regarded as equally in all places (see NiTs).
--- It would be good to refer to and clarify the recommendations in 
[I-D.ietf-tsvwg-ecn-encap-guidelines], 
[I-D.ietf-tsvwg-rfc6040update-shim] and 
[I-D.ietf-tsvwg-datagram-plpmtud] witin TSVWG, and also IP Fragmentation 
Considered Fragile [I-D.ietf-intarea-frag-fragile-09].

Best wishes,

Gorry

---
"The opening sentence of the Introduction states “The Internet layering 
architecture is loosely based on the ISO seven
layer stack, in which data units traverse the stack by being wrapped
inside data units of the next layer down [Cl88][Zi80]”.

- While I totally agree with the observation, I wonder about the 
prudence in starting the Intro with this sentence. For many years 
Universities (at least where I have been) have taught the ISO model as a 
formal protocol stack as well as an architectural model. That’s not 
common anymore, and starting with a historical fact can actually deter 
“younger” readers.
- The text could you say something like:

“The Internet layering architecture follows a layered model, in which 
data units traverse a stack by being wrapped inside data units of the 
next layer down [Cl88][Zi80]”.

- and later, this strikes me as somewhat old-fashioned:
“ Such descriptions can help explain
behavior, as when the OSI seven-layer model is used as a teaching
example [Zi80].”

- and again:
“An Internet gateway is an OSI Layer 3 router when it
transits IP datagrams but it acts as an OSI Layer 2 host as it
sources or sinks Layer 2 messages on attached links to accomplish
this transit capability. “
- That’s pretty old-fashioned language for a reader in 2019, and 
definitely not the language that anyone brought up with IPv6 would
recognise. Since those early days “gateway” has had different 
interpretations by different readers - and that’s even more so today.

---
- Similarly, this seems quaint:
“There is essentially no difference between a tunnel and
the conventional layering of the ISO stack (i.e., by this
definition, Ethernet is can be considered tunnel for IP).”
- Is it talking about protocol encapsulation? In 2019 do we need to 
mention the ISO Stack?
-------------------------------

- The multicast discussion is split between two parts fo the intro. The 
phrases:
“Tunnels allowed multicast
packets to transit efficiently between multicast-capable routers over
paths that did not support native link-layer multicast.”
... introduce multicast before the list of protocols, but the discussion 
of multicast continues after more current examples in
“The first attempt to use large-scale tunnels was to transit multicast
traffic across the Internet in 1988 “
- Could these two be combined?
--
- I suspect the sentence mentioning IPv6 transition will be more 
familiar than mulkticast to many, maybe it could be a separate para?
“Similar
techniques have been used to support incremental deployment of other
protocols over legacy substrates, such as IPv6 [RFC2546].”
---
“Link packet: a link layer message, which can carry an IP datagram
as a payload”
- I would expect many know this as a link frame, should this also be 
mentioned?
---
In bullet “Ingress”:
- Is “physical link” defined? The use of physical and virtual may be 
important concepts, and could benefit from being defined, or a few words 
added here.
---
- The statement:
“To the extent that
the Internet has a single, coherent interpretation, its architecture
is defined by its core protocols “
- The meaning seems clear, but the following list omits mention of the 
IPv6 Stack completely. That strikes me as really needing to be at least 
mentioned as *the* architecture for the Internet.
---
In section 3.3:
“so both are viewed as hosts on network N (Figure 7).
Consequently [RFC1122]”
- is this the same in IPv6? (I think so, please can we cite an RFC?)
and:
“Because routers, not links, alter hop counts [RFC1812],”
- please add IPv6 language and reference.
“it must satisfy all
requirements expected of a link [RFC1122][RFC3819].”
- and IPv6 reference?
---
In section 4.1.1:
“When feedback is received from these fields,”
- Please explain “feedback” here, this was not clear by what mechanism 
and at what point along the path.
---
In section 4.1.1:
“There are exceptions to this rule that are explicitly intended to
relay signals from inside the tunnel to the network outside the
tunnel,”
- I think this refers to an action at the tunnel egress.
---
In section 4.1.2:
- When referring to [RFC6040] it would be useful to also reference this 
BCP-to-be (to be WGLC’ed shortly in tsvwg:
[I-D.ietf-tsvwg-ecn-encap-guidelines]
and
[I-D.ietf-tsvwg-rfc6040update-shim]
Which is a standards track specification that will update existing 
IP-shim-(L2)-IP protocols.

- Although there consider more than this document, referencing them 
ensures that readers do not overlook them.
---
In section 4.1.2:
“interfaces of the router [RFC1122].”
- Please add IPv6 node reference.
---
In section 4.1.3:
“A router is
required to decrement the TTL by at least one or the number of
seconds the packet is delayed, whichever is larger [RFC1812].”
- Please insert “IPv4” router. I’d actually personally prefer the text 
to say that RFC 1812 required that an IPv4 router..”
---
“(link-local discovery and related protocols [RFC4861]).”
- Please cite The Generalized TTL Security Mechanism (GTSM)
RFC 5082 as the reference and ND as an example.
---
“ The uniqueness of the IP ID is a known problem for high speed nodes,
because it limits the speed of a single protocol between two
endpoints [RFC4963]. “
- I’d quibble - I think it is more accurate to say it *can* limit the 
speed when this field is used to uniquely identify packets in flight (e.g.
when fragmentation is enabled).
---
In section 4.1.5:
- I’m cautious about the text below, because the other danger is to any 
other receiving process on the same node receiving corrupted packets:
“For this reason, it is safe to use UDP with a zero checksum for
atomic tunnel link packets only;”
- Could we cite [RFC6936] again after this to be sure the context is 
understood?
---
“(PLMTUD) [RFC4821]”
- I think we should also cite: ietf-tsvwg-datagram-plpmtud.
---
In section 4.2.2:
“ As a
link in network M, transit packets might be fragmented before they
reach the tunnel..”
- I found that sentence hard to parse and rather long. Maybe it was 
because it starts with “As a...” - is it possible to rephrase?
---
“A router
attempting to process such a message would already have generated an
ICMP "packet too big" and the transit packet would have been dropped
before entering into this algorithm.”
- Not quite my understanding because of the wording, would this text be OK?:
“A router
attempting to process such a packet should already have
generated an
ICMP "packet too big" message and the transit packet would have
been dropped before entering into this algorithm.”
---
- NiT:
“ Some messages have detailed specifications for relaying between the
tunnel link packet and transit packet, including Explicit Congestion
Notification (ECN [RFC6040]) and multicast (IGMP, e.g.).”
- Is it necessary to add IGMP as an example here? (I’m really unsure).
- If you think this is useful can you relate to RFC 7450 - because that 
is being deployed and is a PS for tunnels.
“IGMP snooping enables IP multicast and also please add "and MLD” after 
IGMP.
---
In section 4.3.3:
- It would be good to add a reference to RFC 8085 for multicast CC, 
citing section 4 of RFC 8085 contains guidance on congestion control for 
multicast tunnels.
---
- NiT:
“It is useful to relay network congestion notification between the
tunnel link and the tunnel transit packets.”
- Please cite the RFCs and IDs on this - e.g. ECN RFCs cited earlier. I 
think you’ll find there are requirements, rather than “useful” comments.
-----------