Re: Review of draft-ietf-nsis-qspec-18.txt

"Martin Stiemerling" <[email protected]>
Newsgroups gmane.ietf.nsis
Message-ID <[email protected]>
Hi Jerry,

Thanks for getting back this. I hope you're doing fine in retirement.

I have just a few things below. How fast can you post an updated version?


> 
> > Hi all,
> >
> > Please find my review of draft-ietf-nsis-qspec-18.txt.
> >
> > There are some minor technical issues to fix. In general 
> the document 
> > seems to be ready to go for AD review,  once the editorials and 
> > technical issues have been fixed.
> >
> > Please address the issues and submit an updated version of 
> the draft 
> > if d one so. I will go ahead with the updated draft for the 
> protocol 
> > write up (i.e., the step before sending to Magnus and the IESG).
> >
> >  Martin
> >
> > ****
> > General
> > ****
> > I found the first part of the document (i.e., until section 
> 5) quite 
> > confusing and after section five quite clear. This does not 
> mean that 
> > there is an issue, as typically Internet drafts have the need to 
> > sketch tech things in the beginning without having the 
> reader already 
> > at the technical level. I assume that the text is fine 
> right now, as 
> > the WG has not pushed to change it.
> 
> These sections have been rewritten many times.  Please let us 
> know if you have any particular suggestion to improve clarity.

I can't say how to improve it. As said, if the WG is otherwise fine with it, we just leave it as is.



> 
> >
> > ****
> > Editorial:
> > ****
> >
> > - the idnits tool has found some issues (see below)
> 
> OK, will address.
> 
> > - Add line in memo heading with: Intended Status: Informational
> 
> Although the NSIS milestone says "Informational", the ID 
> tracker lists the status as "Proposed Standard"
> https://datatracker.ietf.org/idtracker/draft-ietf-nsis-qspec/ 
> <mhtml:{B096A9AC-8D5F-4D5A-AACE-EC56A1B5E65A}mid://00000038/!x
> -usc:https://datatracker.ietf.org/idtracker/draft-ietf-nsis-qs
> pec/> .  IMO the QSPEC document should be a PS document, in 
> close alignment with the NSLP PS document.  Many IANA 
> registries are created, etc.  I can't see the rationale for 
> NSLP being PS and QSPEC being Informational.  I do recall a 
> discussion on this point earlier and several WG members 
> expressed the same view.  Perhaps the WG members and chairs 
> can comment.

I remember to have discussed this with the ADs and agreement was that the QSPEC is informational. The charter has the final say.



> 
> > -  Section 1: Move to the very end of memo. It it is good to 
> > acknowledge other people, but it is fair enough to do it at 
> the very 
> > end, as technical protocol stuff comes first.
> 
> OK.
> 
> > - section 2: Adding a line saying that QSPEC readers should 
> (or better
> > must?) read the QoS NSLP in advance would be advantageous for the 
> > whole document.
> 
> Note that the first sentence of Section 2 references QoS NSLP 
> since the documents are closely tied.  The QSPEC document is 
> intended to be (and should be) self contained so that one 
> doesn't have to ("must") read something else first before 
> reading and understanding QSPEC.  However, your point is well 
> taken.  We can add a sentence in Section 2 such as "See 
> [QoS-SIG] for further details on QoS NSLP."

Adding the sentence would be great!

> 
> > - section 2, page 5, para starting with "Interoperability 
> between QoS 
> > NSIS entities (QNEs)..." says that parameters can be flagged or not 
> > flagged.
> > I
> > suggest to put the terms "flagged"/"non flagged" in 
> brackets and write 
> > mandatory and optional parameters. This makes it easier for 
> first time 
> > readers.
> 
> We've eliminated the terminology "mandatory" and "optional" 
> parameters.
> Parameters can be flagged by the M flag if they MUST be 
> interpreted, or otherwise, as follows:
> 
>  M Flag: When set indicates the subsequent parameter MUST be
>            interpreted. Otherwise the parameter can be ignored if not
>            understood.
> 
> We don't want to get back into the mandatory/optional 
> terminology at this point.

Ok, fine with me.

> 
> > - - section 2, page 5, para starting with " A local QSPEC can be 
> > defined in a local domain with the initiator QSPEC 
> encapsulated, ...". 
> > This paragraph is brief but describes a very powerful 
> mechanism of the 
> > QSPEC. I would suggest to remove the hint the TMOD 
> parameter and just 
> > write that the QSPEC allows local QPSECs that are domain specific. 
> > This also helps first time readers to understand a basic 
> feature of  
> > QPSEC but not the full implementation of it.
> 
> OK.
> 
> > - section 4.1, 2nd para, text in para starting with " New QoS NSLP 
> > message processing rules can only be defined in Standard...". Is it 
> > required to say this at this part of the document at all? I 
> remember 
> > this again stated in the document somewhere later on at an 
> appropriate 
> > place.
> 
> It's an important point and I think it appropriate to mention 
> it in Section 4.1.  Furthermore, I recall extensive 
> discussion on this sentence and I believe it was explicitly 
> agreed to include it here as well as later in the document.  
> Also, mentioning important points more than once often helps clarity.

Ok, fine with me.

> 
> > - section 4.2 two paras below figure 1. Suddenly there is 
> text about 
> > RESERVE and QUERY, but no hint to the QoS NSLP at all. Adding a 
> > reference to the QoS NSLP at this occasion would be excellent. 
> > Otherwise it  is hard to see where those terms are coming from
> 
> Good point, will do.
> 
> > - section 4.3.1, para starting with " When the TMOD parameter in 
> > included in QoS Available, it..." should read " When the TMOD 
> > parameter are included in QoS Available, it..."
> 
> I think the English is correct as it stands.  However, we 
> could say "When the TMOD sub-parameters are included ..."

I would prefer your suggestion, as this improves readability for non-native speakers (as I'm).

> 
> > - section 4.3.1. This section nevers talks about tmod-2! tmod-2 is 
> > mentioned only  in sections 6.2.1 and 6.2.2.
> 
> Right, good point.  We'll revise the text to refer to TMOD-1 
> and TMOD-2 and explain the difference.  We could include the 
> example of the need for the
> TMOD-2 parameter in Section 4.3.1 (see discussion/example 
> below of the need for the TMOD-2 parameter).
> 
> > - section 5, 1st and 2nd para suddenly use the E-/N-flag 
> without every 
> > explaining their meaning.
> 
> Well, this is where the M flag, E flag, and N flag are being 
> explained.  The first paragraph introduces them and there are 
> details later.  We could add text in the beginning such as 
> "Three flags are used in QSPEC, the M flag, E flag, and N 
> flag, which are explained in this section."

Please add this sentence, it also improves readability.

> 
> > - section 5.1, again the support of local QSPECs is quite 
> powerful but 
> > never really good explained with a figure. For instance, the first 
> > para of section
> > 5.1 could refer to a simple figure showing a network 
> configuration for 
> > a single flow, but with indications where which QSPEC is used. This 
> > instantly makes the whole concept better undestandable.
> 
> OK, we could add a figure analogous to Figure 3 in the 
> Y.1541-QOSM document 
> http://www.ietf.org/internet-drafts/draft-ietf-nsis-y1541-qosm
> -05.txt 
> <mhtml:{B096A9AC-8D5F-4D5A-AACE-EC56A1B5E65A}mid://00000038/!x
> -usc:http://www.ietf.org/internet-drafts/draft-ietf-nsis-y1541
> -qosm-05.txt>  to explain the concept.

This would be great!

> 
> > - section 5.2.5. formatting error
> 
> OK.
> 
> > - section 5.3.1 and related. You use tables to define cases 
> and also 
> > refer to them later in the object definition. Thus it would 
> be good to 
> > label those tables.
> 
> OK, good suggestion.
> 
> > - section 5.3.5 has one formatting issue and one spelling error 
> > (s/described In [QoS-SIG]/ described in [QoS-SIG])
> 
> OK.
> 
> > - section 5.4. remove reference to NSIS extensibility 
> document, as we 
> > do not have it ready by now.
> 
> OK.
> 
> > - section 6.1. I got confused by all the different header 
> definition. 
> > I would propose to split 6.1. in subsections, i.e., one for each 
> > header definition. This improves readability.
> 
> OK, good suggestion.
> 
> > - section 6.2.1: Why is there this line    <TMOD-1> = <r> 
> <b> <p> <m>
> > [RFC2210, RFC2215]? It is now required for the object definition.
> 
> Right, the format is inconsistent with the other subsections 
> and will be revised accordingly.
> 
> > - section 8, text says " Object Types (12 bits):" but should read 
> > "QSPEC Object Types (12 bits):".
> 
> But then Section 6.1 would have to be revised to be 
> consistent in terminology.  While I have no big objection to 
> changing all of this, IMO it should stay as is; I think it is 
> clear that this is a QSPEC object type.

Ok.

> 
> > - appendix b: add a note in the first line that this 
> appendix should 
> > be removed by the RFC editor before publication.
> 
> OK.
> 
> >
> >
> >
> > ***
> > Technical
> > ***
> > - section 5.3.1, para starting with " The QSPEC parameter IDs and 
> > values included in the QoS Reserved...". This paragraph talks about 
> > how to set the parameters in the RESPONSE message for case 2. It is 
> > basically fine, but the second sentence is for me not 
> understandable 
> > (" For those QSPEC parameters that were also included in the QoS 
> > Available object in the RESERVE message, their value is copied into 
> > the QoS Desired object.") The paragraph is talking about responses, 
> > but in RESPONSE there is no QoS desired object anymore (at least 
> > according to the table above). I probably do misunderstand 
> something 
> > here?
> 
> Good catch.  The sentence needs to be corrected.  It should 
> be: "For those QSPEC parameters that were also included in 
> the QoS Available object in the RESERVE message, their value 
> is copied from the QoS Available object (in
> RESERVE) into the QoS Reserved object (in RESPONSE) ."
> 
> > - section 6.1 qspec header element definition. The length 
> definition 
> > in the qspec header definition contradicts the length definition at 
> > the beginning of section 6.1 One says "total length of qspec" the 
> > other "length is always exept header"
> 
> Very good catch!  IMO the section definition should be revised as
> follows:
> 
>  Length: The total length of the QSPEC -->
>  Length: The total length of the QSPEC excluding the common header

OK.

> 
> > - section 6.2.2., see also my comment above about tmod-2. 
> Even after 
> > reading section 6.2.2. I do not have any clue why there two tmod 
> > parameters.
> 
> This is based on discussions with David Black, who 
> recommended the second TMOD parameter to support DiffServ 
> applications (as noted in Section 6.2.2).
> Earlier versions of QSPEC included the following example (due 
> to David), which can be added back into the draft (probably 
> in Section 4.3.1):
> 
> "It is typically assumed that DiffServ EF traffic is shaped 
> at the ingress by a single rate token bucket.  Therefore, a 
> single TMOD parameter is sufficient to signal DiffServ EF 
> traffic.  However, for DiffServ AF traffic two sets of token 
> bucket parameters are needed, one token bucket for the 
> average traffic and one token bucket for the burst traffic.  
> [RFC2697] defines a Single Rate Three Color Marker (srTCM), 
> which meters a traffic stream and marks its packets according 
> to three traffic parameters, Committed Information Rate 
> (CIR), Committed Burst Size (CBS), and Excess Burst Size 
> (EBS), to be either green, yellow, or red.  A packet is 
> marked green if it does not exceed the CBS, yellow if it does 
> exceed the CBS, but not the EBS, and red otherwise.  
> [RFC2697] defines specific procedures using two token buckets 
> that run at the same rate.  Therefore 2 TMOD parameters are 
> sufficient to distinguish among 3 levels of drop precedence.  
> An example is also described in the Appendix to [RFC2597]."

This would be good!

> 
> Also, the first sentence in Section 6.2.2 should be changed 
> slightly to: ''A second, QSPEC <TMOD-2> parameter is 
> specified, as could be needed for example to support some 
> Diffserv applications." (added word "some").

Ok.

> 
> > - section 6.2.7. The slack term is 32 bits as integer. However the 
> > slack term must only be non-negative, i.e., it is actually 
> an unsigned 
> > int.
> > Why is
> > is not specified as unsigned int? However, the current value range 
> > definition is broken, as an integer of 32 bits cannot have 
> a maximum 
> > range to  2**32-1 (there are only 31 bits left...).
> 
> The coding of the slack term is based on RSVP coding:
> 
> RFC 2210 says:
> 
>       
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 11  |  Slack Term [S]  (32-bit integer)                             |
>        
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
> RFC 2212 says:
> "The Slack term, S, can be represented as a 32-bit integer.  Its value
>    can range from 0 to (2**32)-1 microseconds."
> 
> I agree it should be specified as an unsigned integer, and 
> the notation revised to (2**32)-1 as the maximum, to be 
> clear.  I believe the range 0 to
> (2**32)-1 is correct for an unsigned integer.

Right.

> 
> > This also holds true for
> > other
> > occasions where integer values are used (e.g. section 6.2.3!
> 
> Same comments as above.
> 
> > - section 6.2.11. para starting with " When excess 
> treatment is set to 
> > 'shape', ". What is the error handling if excess treatment 
> is set to 
> > 'shape'
> > and no TMOD parameter is given?
> 
> The E flag is set for the parameter and the reservation 
> fails.  This can be specified in Section 6.2.11.

Fine.

> 
> > - section 7. This section is extremely short. This might a 
> non-issue, 
> > but I personally had the feeling the security discussion is 
> too brief. 
> > This might be OK, but the document authors and the WG should be 
> > prepared for tough questions regarding this when going to the IESG. 
> > What about this document defining just the basics, but 
> other documents 
> > defining the real behaviour?
> > Is it assumed that this does not raise any new security issue?
> 
> Good points and questions.  QSPEC security is directly tied 
> to QoS NSLP security, and the QoS NSLP document has a very 
> detailed security section.
> All these considerations apply to QSPEC and that should be 
> noted at the beginning of Section 7.  I'm not aware of any 
> new security issues introduced by QSPEC beyond the point made 
> already in Section 7 on priority.
> Suggestions welcome from the WG on other security issues that 
> might arise from QSPEC.

I'm fine with leaving the section as short as it is. However, adding a reference to the QOS NSLp would be beneficial.

> 
> > - section 8 says in several places " A specification is required to 
> > depreciate, delete, or modify QSPEC versions." What happens 
> to deleted 
> > IANA values? Is IANA allowed to re-assign those or should they be 
> > treated as deprecated values, i.e., they cannot be used 
> anymore, but 
> > the value is blocked for ever?
> 
> These are IANA specific rules that I don't think need to be 
> reviewed in Section 8.

Ok, I'm just noting now to have misread this sentence, as a result of reading too much at the same time.

Thanks,

  Martin


[email protected]   <== NEW ADDRESS

NEC Laboratories Europe - Network Research Division

NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, London W3 6BL | Registered in England 2832014
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.