Subject: [trill] Mirja Kuehlewind's Discuss on draft-ietf-trill-over-ip-

From: Donald Eastlake <[email-masked]>
Date: Sat, 10 Mar 2018 18:56:36 -0500

Hi Mirja,

I though I would try to respond to your discuss/comments so far to expedite
things.

> DSCP
> -----

> 1) Section 4.3 should also talk about decapsulation as DCSP is often
> overwritten on the path and therefore the DCSP of the inner and
> other IP headers can differe on decapsulation. Please see RFC2983
> for further guidance. You probabably should specify to discard the
> outer DSCP at tunnel egress in your use case.

Yes, I don't think there is anything in the draft even hinting about
copying outer DSCP into inner DSCP and in any case the payload will not
always be IP. Adding something specific saying don't do that is fine.

> 2) Further it is not clear to me if the use of CS7 in appropriate
> for this use case as RFC 4594 says

"   o  CS7 marked packets SHOULD NOT be sent across peering points.
      Exchange of control information across peering points SHOULD be
      done using CS6 DSCP and the Network Control service class."

My question is: Does this 12 year old advice from an Informational RFC
still apply? The mapping to DSCP provisions have been specifically looked
at by
knowledgeable people, including David Black, and no one has mentioned a
prohibition against the use of CS7 before.

> 3) Moreover, if my understanding is correct, the high priority
> classes in TRILL are not exclusively reserved for control data.
> However, CS6 and CS7 is only meant for control and rounting traffic.
> If those classes are used it must be ensure that the traffic sent
> with these DSCP is not overloading the network. I think further
> (security) considertations are needed here.

OK.

> Broadcast Link Encapsulation Considerations
> ------
> Not every transport encapsualtion can be used for
> Broadcast/Multicast. TCP cannot be used. This is mention later but
> also be consider in the text in section 5.3

OK.

> TCP Encapsulation
> -----

> If my understanding is correct than TRILL does not know that the
> connect of a TRILL data packet is. That means the data could can
> also contain traffic that is runing over TCP, right? Encapsulating
> TCP in TCP should generally avoided if possible and need further
> considerations as loss in the outer control loop that is used on the
> TRILL IP link appears as strongly varying delays to the inner
> control loop and therefore can have very negative effects.

Would it be sufficient to note this problem and say that TCP should only be
used where loss rates are low?

> TCP Connection Establishment (section 5.6.1)
> -----
> This section seem to assume for all configured or discovered tunnel
> endpoints there should be immeditately (at node start up time) and
> permantly a/multiple open TCP connections. I'm in general uncertain
> if this is the right approach. However, even if the connection is
> not closed, it might not be usable after an idle time, as middlebox
> on the path may have removed their state. Therefore to keep a
> connection permanently the endpoint need probaly to send
> keep-alives, or alternative a meachism to detect such a failure
> (quickly) and re-establish the connection such be used. However,

Middleboxes are out of scope for this draft. However, I think we'd be happy
to add a little parenthetical encouraging keep alives. Failures will be
detected, perhaps somewhat slowly, by Hellos not getting through. For more
rapid detection, BFD, which TRILL supports (RFC 7175), should be used.

> Comment (2018-03-08)

> Editorial coments:

> 1) It is really confusing that the whole document is talking about
> ports as tunnel endpoints while it also often talks about transport
> (TCP/UDP) ports. It makes it really hard to read this document.
> Maybe these things can be better distighlished somehow.

I must admit that I'm a little confused about what are the best words to
use in meeting the TRILL Charter goal of specifying "TRILL over IP". I
think the important thing, as usual with IETF protocols, is the bits on the
wire, and just changing the words shouldn't change the bits. The word
"transport" is a very recent addition throughout the draft and could be
removed if that is desired.

Whatever gets packets from a TRILL switch port to another TRILL switch port
is typically thought of as a "link" from the TRILL viewpoint. The base
TRILL protocol RFC specified this for Ethernet and treats an arbitrary
bridged LAN, including the common simple case of a point-to-point Ethernet
wire, as a link. There are RFCs specifying PPP and pseudowire technology
"links" between TRILL switch ports. This draft just treats various IP based
encapsulations as a way to get packets from one TRILL switch port to
another.

> 2) This document should not re-specify the UDP header (5.4). At
> minimum the text should be changed the following way.

> OLD
> "Where he UDP Header is as follows:"
> NEW
> "Where he UDP Header is as follows as specified in [RFC0768] :"

OK. Could change to "Where the UDP Header is as specified in [RFC0768]."
and drop the diagram.

Thanks,
Donald
===============================
 Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
 155 Beaver Street, Milford, MA 01757 USA
 [email-masked]