Subject: [tram] Mirja Kühlewind's No Objection on draft-ietf-tram-turnbis-28: (with COMMENT)

From: Mirja Kühlewind via Datatracker <[email-masked]>
Date: Fri, 26 Jul 2019 15:07:13 -0700

Mirja Kühlewind has entered the following ballot position for
draft-ietf-tram-turnbis-28: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-tram-turnbis/

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Thanks for addressing my discuss!

OLD COMMENTS
----
Some other technical comments/questions:

1) Sec 3.7:
"or use UDP fragmentation [I-D.ietf-tsvwg-udp-options]."
I believe the possibility to use UDP fragmentation was brought up by the
TSV-ART review (Thanks Joe!). However, I would like to mention that this can
only be used if supported by both endpoints and that should probably also be
remarked here. The next sentence in the draft indicated this by saying "until
UDP fragmentation support is available", however, this actually seem to be
editorially a bit misplaced there and could explain more. See also this text in
draft-ietf-tsvwg-udp-options:

"FRAG needs to be used with extreme care because it will present
   incorrect datagram boundaries to a legacy receiver, unless encoded
   as LITE data (see Section 5.8)."

Also note that draft-ietf-tsvwg-udp-options is still under development and we
don't have much deployment experience with it yet.

And further, in the same section. There is also
draft-ietf-tsvwg-datagram-plpmtud on "Packetization Layer Path MTU Discovery
for Datagram Transports". Please also be aware that there is an extensive
TSV-ART for draft-ietf-tram-stun-pmtud. Both might impact the final content of
this section.

2) sec 11.5:
"When the server receives an ICMP packet, the server verifies that the
   type is either 3 or 11 for an ICMPv4 [RFC0792] packet or either 1, 2,
   or 3 for an ICMPv6 [RFC4443] packet."
Restricting to a set of known types, doesn't seem to support future
extensibility very well...

3) sec 12.5:
"Over TCP and TLS-over-TCP, the ChannelData message MUST be padded to
   a multiple of four bytes in order to ensure the alignment of
   subsequent messages."
Not exactly sure why this is useful...? Is this to align with STUN and
therefore make processing somehow easier? Is that really needed. And exception
should be easy to implement and should save some bytes which is the as I
understood it the whole purpose of channels, no?

4) 12.6:
"Note that if
   the Length field in the ChannelData message is 0, then there will be
   no data in the UDP datagram, but the UDP datagram is still formed and
   sent."
Can you maybe add some more text and explain why this is useful?

5) sec 15:
RFC6824 will soon be obsoleted by draft-ietf-mptcp-rfc6824bis and please s/TCP
multi-path/Multipath TCP/.

6) Just a thought looking at section 14 and 16: It could have been nice to
provide an ECN feedback field from the server to the client in case a ECN
marked packet is received from the peer... however, I guess that future work at
this point in the process...

7) sec 18.13: Maybe I missed this because I reviewed this doc over 3 days, but
is only the ICMP Attribute send to the client or is the actual ICMP packets or
as much as possible of that packet includes as well?

8) sec 23:
"Response: TURN will no longer be needed once there are no longer any
   NATs.  Unfortunately, as of the date of publication of this document,
   it no longer seems very likely that NATs will go away any time soon.
   However, the need for TURN will also decrease as the number of NATs
   with the mapping property of Endpoint-Independent Mapping [RFC4787]
   increases."
Yes... so you don't think that IPv6 will be any help here?

Editorial comments:

1) Sec 6:
"The relayed transport address MUST be unique across all
   allocations, so it can be used to uniquely identify the allocation.

   Both the relayed transport address and the 5-tuple MUST be unique
   across all allocations, so either one can be used to uniquely
   identify the allocation, [...]"
These two sentences seem quite redundant. The first one was added in this
draft. The second one was already there in RFC5766.

2) sec 7.1:
"Since this specification only
   allows UDP between the server and the peers, it is RECOMMENDED that [...]"
Wordings ("only allows") seems weird to me given use of other proposals is at
least to some extend discussed.

Nits:
sec 7.1.: s/the client pick a currently unused transport address/the client
picks a currently unused transport address/