Re: [Last-Call] Tsvart last call review of draft-ietf-detnet-ip-05

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bala'zs

Only 6 months later :|
But I think it will still be useful if I respond to your responses. Inline tagged [BB]


On 17/04/2020 15:32, Balázs Varga A wrote:
Hi Bob,

Thanks for the review. I am working on the update of the
document to address the received comments. Proposed
resolutions are inline below.

Let me know if any of them needs further discussion.

Many thanks
Bala'zs

-----Original Message-----
From: Bob Briscoe via Datatracker <noreply@xxxxxxxx>
Sent: Sunday, March 15, 2020 11:58 PM
To: tsv-art@xxxxxxxx
Cc: detnet@xxxxxxxx; draft-ietf-detnet-ip.all@xxxxxxxx; last-call@xxxxxxxx
Subject: Tsvart last call review of draft-ietf-detnet-ip-05

Reviewer: Bob Briscoe
Review result: Ready with Issues

This document has been reviewed as part of the transport area review team's ongoing effort to review key IETF documents. These comments were written primarily for the transport area directors, but are copied to the document's authors and WG to allow them to address any issues raised and also to the IETF discussion list for information.

When done at the time of IETF Last Call, the authors should consider this review as part of the last-call comments they receive. Please always CC tsv-art@xxxxxxxx if you reply to or forward this review.

This is a review of draft-ietf-detnet-ip-05 published on 3-Feb-2020.
The IETF review system said a new revision had been submitted on 13-Mar-2020, but I couldn't access it, if indeed it existed.

In general the document was easy to understand.
It seemed to say a lot, but commit to very little. More like an architecture document than a standards track data plane document.

This review is on the document's own terms. IOW, it reviews what the document says, not whether it is a good approach to the problem and so forth.

Review comments.

==Throughout==

    The use of normative text is uncharacteristic of IETF RFCs, where it is
    normally only used for interoperability requirements. For instance: "Quality
    of Service (QoS) for DetNet service flows carried in IP MUST be provided
    locally by the DetNet-aware hosts and routers supporting DetNet flows." This
    MUST is pretty meaningless, given it merely mandates that QoS has to be
    provided locally (how else could it be provided?). Another example of a
    meaningless SHALL in 5.2 says: "implementations of this document SHALL use
    management and control information to select the one or more outgoing
    interfaces" And another example from 5.3: "Implementations of this document
    MUST ensure that a DetNet flow receives the traffic treatment that is
    provisioned for it..."

    There are many other examples of meaningless normative statements. I suggest
    that the authors go through reviewing whether each one actually deserves
    normative text.

<BV> OK, we will review and omit meaningless parts.

[BB] Having checked the three examples I picked out, for two of them,  I notice 'MUST' has been demoted to 'must'. That's sort-of OK, but it's always preferable to avoid using lower case words that can be confused with normative words. However, that's just my personal preferred style, not essential.

However, I think my point has been misunderstood regarding the middle one:
                "implementations of this document SHALL use
                  management and control information to select the one or more outgoing
                  interfaces"
I notice the following has been added:
                Specific
                management and control information will be defined in future
                documents, e.g., [I-D.ietf-detnet-yang].

The problem with the original was not that it didn't say exactly what information implementations SHALL use. It was that it doesn't affect interoperability. So it's surely only necessary to write it as informative:
                "implementations of this document use
                  management and control information to select the one or more outgoing
                  interfaces"



==Section-by-Section==

1.  Introduction

    "The service sub-layer
    generally requires additional fields to provide its service; "
    It's not clear what "fields" are being talked about here.

<BV> OK, it means "header fields", so "header" will be inserted in the text.

[BB] it was obvious that it meant header fields. I was asking for it to say which protocol you are talking about here (altho I haven't read other detnet drafts, this doc is where one would surely go to find the answer to this question).


    "Other than in the TSN case, the
    specific mechanisms used by a DetNet node to ensure DetNet service
    delivery requirements are met for supported DetNet flows is outside
    the scope of this document."
    I don't think the TSN case in in scope of this document either. I think this
    is meant to say that the TSN casse is the only one that's currently defined,
    not that it's the only one within the scope of this document.

<BV> OK, sentence was too busy. Intention was to refer that TSN and DetNet
are using the same mechanisms.
OLD
    "Other than in the TSN case, the
    specific mechanisms used by a DetNet node to ensure DetNet service
    delivery requirements are met for supported DetNet flows is outside
    the scope of this document."
NEW
   "Other mechanisms than the ones used in the TSN case are outside the
   scope of this document."
END

4.1.  End-system-specific Considerations

    "this means that packets are appropriately shaped on
    transmission"
    From the application's perspective, doesn't this mean that the delay just
    moves from the network to the shaper?

<BV> Yes, it means that.

[BB] I notice no mention of this has been written into the doc. It's a very important point for the end-system, which is surely the purpose of this section...

If all traffic is shaped independently on ingress, the network can guarantee a certain maximum queuing delay for all users. But the converse is not true. That is, if ingress traffic is not shaped at all, max delay guarantees for all users will not necessarily be broken. Guarantees are most likely to survive without shaping when there are high levels of aggregation, but any level of aggregation might be sufficient. In such cases, pushing delay back into a shaper will create a delay problem when it probably would not have been a problem if it had not been shaped.

Instead of shaping, out of contract traffic could be re-marked. Then, if there is a delay problem once all the flows are aggregated, the out of contract traffic could be preferentially discarded.


    "In order to maximize reuse of existing mechanisms, DetNet-aware
    applications and end systems SHOULD NOT mix DetNet and non-DetNet
    traffic within a single 5-tuple."
    "maximize reuse of existing mechanisms" seems a strange rationale for not
    mixing (which is ironically the opposite of reuse).

<BV> This intends to say that existing mechanism using a 5-tuple to match traffic
cannot differentiate DetNet and non-DetNet traffic.

[BB] I notice this text hasn't changed. Perhaps:
"In order to maximize reuse of existing mechanisms, the 5-tuple is used to match traffic, even though it cannot differentiate DetNet and non-DetNet traffic. Therefore, end systems SHOULD NOT mix DetNet and non-DetNet traffic within a single 5-tuple."



4.3.2 Quality of Service

    "From an encapsulation perspective, the combination
    of the 6-tuple i.e., the typical 5-tuple enhanced with the DSCP and
    previously mentioned optional field"

    The "optional field" has not been previously defined. The use of the IPv6
    flow label was earlier described as optional. Is that the field meant here?
    It wasn't the name given to the field. If it is, pls don't. Pls
    unambiguously call it the flow label, not the optional field, throughout.
    When the flow label is used, the IPv6 next header field is not necessarily
    used. So the latter could also be described as optional.

<BV> Yes, it means the flow label. I will change text.

    A few sentences further on it says
    "the DSCP, or optional, field"

    Which implies the "optional field" is an alternative term for the "Diffserv
    field". But then it would not have said "DSCP and optional field" earlier.

<BV> No, "optional field" is not an alternative term for the "Diffserv field"


4.4.  DetNet Flow Aggregation

    "an additional optional field defined in Section 5.1."
    There is no optional field defined in Section 5.1.

<BV> It means the flow label, defined in 5.1.1.5. I will change text.

    "From a resource
    allocation perspective, DetNet nodes must provide service to an
    aggregate and not on a component flow basis."
    It seems wrong to specifically preclude a single component flow. Does this
    preclude an aggregate consisting of a single flow? Or was the intention to
    say "DetNet nodes /ought to/ provide service to an aggregate rather than on
    a component flow basis."?

<BV> Yes, your assumption is correct. I will change text.

5.1.2.2.  IPsec AH and ESP

    Flows with the ESP header certainly have to be identified by the SPI,
    because the payload is encrypted. Whereas, although flows with the AH header
    could be identified by the SPI, this would unnecessarily lump together all
    the flows from one security principle on one IP to one security principle on
    another IP. This would be far less granular than the source and dest ports,
    which can be visible and accessible using the next header field of the AH
    header (because the AH payload is not encrypted).

<BV> Yes. The decision is at the end user. He/She may decide to use
IPSec over UDP as well.

[BB] I didn't mean the other way up. I meant the 'normal' case of a transport protocol over AH. When over AH alone, the transport is still in the clear. So it would be crazy for DetNet not to use the port numbers of the higher layer transport just because it was over AH.


    6. Management and Control Information Summary

    "IPv4 protocol field.  A limited set of values is allowed,..."
    "IPv6 next header field.  A limited set of values is allowed, ..."
    Section 5.1.1.3, where use of these fields is defined, does not mention that
    a limited set of values is allowed. And if the limited set is not defined,
    how do different nodes in a network interoperate? This is surely one role of
    the present document?

<BV> Intention was to say, that supporting protocols listed in 5.1.2 is mandatory (UDP, TCP, IPSec).
Other protocol values may be implemented, but not discussed by this document. This is what was
meant by the "limited set".

[BB] I think you've missed my point. If some nodes implement other protocols, this draft needs to define the mechanism for one node to check that other nodes implement the same other protocol, which is necessary to know before any node can use that other protocol. If the mechanism is by administrative configuration, the draft just needs to say that.


    7. Security Considerations

    The following would seem to need to be addressed for an IP data plane:

    * Privacy - There seems to be a fundamental dilemma between privacy of the
    IP payload and flow identification. Use of port numbers is fine if privacy
    is not a concern. But if privacy is of concern, then you need encryption.
    However, the SPI in the ESP header is not meant to identify anything less
    than the full set of flows between two security principles on two IP nodes.
    But that is not granular enough for the QoS of each layer-4 flow. If that is
    solved by defining multiple SPIs, then that compromises privacy. This
    section at least needs to say that is a security Limitiation.

    * Authorization to use Detnet services. Would it be possible to restrict the
    use of DetNet services to particular nodes or users? Specifically how are
    the identifiers used for flow identification bound to those held in any
    authorization system. A particular concern with an IP data plane will be
    source address spoofing

    * Denial of Service mitigation. How is the data plane protected from:
      o deliberate fast churn of reservations?
      o excessive incoming traffic to all the policers?
      (For instance, Intserv had a blockade state facility at the edge that held
      reservations from reaching aggregated parts of the network.)

      I believe the above are IP-data-plane-specific issues. So section 7 should
      at least mention them, if only to admit that they haven't been considered.

    "From a data plane perspective this document does not add or modify
    any header information."
    Not true, the DSCP can be altered.

    "To prevent DetNet packets
    from being delayed by an entity external to a DetNet domain, DetNet
    technology definition can allow for the mitigation of Man-In-The-
    Middle attacks, for example through use of authentication and
    authorization of devices within the DetNet domain."
    Eh? What does mitigation of MITM attacks mean? Either they're prevented or
    they're not. Mitigated implies just slightly prevented. How does mitigation
    of MITM attacks prevent delay? Seems a rather big jump.

<BV> Many thanks for the security related comments. We have a draft dedicated
to detnet security [I-D.ietf-detnet-security] covering most of these aspects. We
intend to discuss what is really needed in this document to avoid unnecessary
overlaps.

[BB] Please tell me when detnet-security should have taken on these points, as I should probably then review it.

Regards



Bob


==Nits==

<BV> Many thanks. All nits will be addressed in the next version.

1. Intro
s/DetNet provides these flows extremely low/  /DetNet provides these flows with extremely low/

Repetition: functions as two sub-layers: functions into two sub-layers:

    s/group(referred/group (referred/

3. DetNet IP Data Plane Overview

s/however modification of these fields is allowed, for example to a DSCP value/  /however modification of these fields is allowed, for example changing the  DSCP value/

I don't undertand the sentence below, which seems to be a fusion of two or more sentences. May be s/those are/that is/. And maybe "relay nodes" is meant to start a new sentence.

  The DetNet enabled
    end systems originate IP encapsulated traffic those are identified
    within the DetNet domain as DetNet flows, relay nodes understand the
    forwarding requirements of the DetNet flow and ensure that node,
    interface and sub-network resources are allocated to ensure DetNet
    service requirements.

Pls expand PREOF and TSN on first use, not just in the Terminology section.

Missing word: "and ensures that the receives the proper traffic
    treatment"

    Fig 4: Top line of ASCII Art has been shifted to the right.

4.3.1 (and probably throughout)
    "differentiated services code point (DSCP) field"
    Should be "differentiated services field" or "Diffserv field". The DSCP is
    the value in the field [RFC3260]. Also, in S.6. there is an incorrect
    mention of "IPv4 Type of Service", which means the combination of the
    Diffserv field and the ECN field. It is unlikely this is meant, so please
    correct to "Diffserv field"

5. DetNet IP Data Plane Procedures

    "these are referred in this section."
    I would say "referenced" or "referred to" But this might be valid US English?

    s/since applies/since it applies/

6. Management and Control Information Summary

    "If the DSCP field is to be used in flow identification.
     Ignoring the DSCP filed is optional."
    Does the first sentence mean "Whether the Diffserv field is to be used"?
    The second sentence needs to be expressed in a way that's more relevant to
    how management info will express whether the field is ignored.

    s/DSCP filed [sic]/Diffserv field/

    "IPv6 flow label field.  This field can be optionally used for
       matching.  When used, can be used instead of matching against the
       Next Header field."
    The second sentence needs to be expressed in a way that's more relevant to
    how management info will say which is used or whether both are used.




--
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/

--
last-call mailing list
last-call@xxxxxxxx
https://www.ietf.org/mailman/listinfo/last-call




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux