RE: [NSIS] AD review: draft-ietf-nsis-ntlp-09 (minor issues and nits)
<john.loughney@nokia.com> Fri, 02 June 2006 12:26 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Fm8jS-0001sh-NN; Fri, 02 Jun 2006 08:26:26 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Fm8jR-0001sV-Ga for nsis@ietf.org; Fri, 02 Jun 2006 08:26:25 -0400
Received: from mgw-ext14.nokia.com ([131.228.20.173]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fm8jQ-0006AZ-DO for nsis@ietf.org; Fri, 02 Jun 2006 08:26:25 -0400
Received: from esebh108.NOE.Nokia.com (esebh108.ntc.nokia.com [172.21.143.145]) by mgw-ext14.nokia.com (Switch-3.1.8/Switch-3.1.7) with ESMTP id k52CQKJA002075; Fri, 2 Jun 2006 15:26:23 +0300
Received: from esebh104.NOE.Nokia.com ([172.21.143.34]) by esebh108.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 2 Jun 2006 15:26:18 +0300
Received: from esebe199.NOE.Nokia.com ([172.21.138.143]) by esebh104.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 2 Jun 2006 15:26:18 +0300
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Subject: RE: [NSIS] AD review: draft-ietf-nsis-ntlp-09 (minor issues and nits)
Date: Fri, 02 Jun 2006 15:26:17 +0300
Message-ID: <BAA65A575825454CBB0103267553FCCC18D7B7@esebe199.NOE.Nokia.com>
In-Reply-To: <A632AD91CF90F24A87C42F6B96ADE5C57EBF74@rsys005a.comm.ad.roke.co.uk>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [NSIS] AD review: draft-ietf-nsis-ntlp-09 (minor issues and nits)
Thread-Index: AcaFhvvOfYVRj+/yQjqC/8hTUlbv6AAC9xuAACsywjA=
From: john.loughney@nokia.com
To: robert.hancock@roke.co.uk, magnus.westerlund@ericsson.com, nsis@ietf.org
X-OriginalArrivalTime: 02 Jun 2006 12:26:18.0215 (UTC) FILETIME=[BF989F70:01C6863F]
X-Spam-Score: 0.2 (/)
X-Scan-Signature: 2df02f1a0db129c5d94869f6959903ec
Cc:
X-BeenThere: nsis@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Next Steps in Signaling <nsis.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/nsis>, <mailto:nsis-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:nsis@ietf.org>
List-Help: <mailto:nsis-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/nsis>, <mailto:nsis-request@ietf.org?subject=subscribe>
Errors-To: nsis-bounces@ietf.org
Magnus & Robert - I trust that Robert will update the points he agrees to, and Magnus can follow-up to the other responses. Most of this seems relatively straight-forward. thanks, John >-----Original Message----- >From: ext Hancock, Robert [mailto:robert.hancock@roke.co.uk] >Sent: 01 June, 2006 19:42 >To: Magnus Westerlund; nsis@ietf.org >Subject: RE: [NSIS] AD review: draft-ietf-nsis-ntlp-09 (minor >issues and nits) > >Hi Magnus, > >Many thanks for the detailed review. I think I at least >understand the bulk of the issues you raise, which is a good omen. > >This email has some initial comments on the minor issues/nits >since a lot of them can be cleared up fairly easily. Anything >that generates further discussion I will capture explicitly in >our issue tracker as/when it happens. I'll write separate >emails on the major issues M1-M4. > >Cheers, > >robert h. > >> -----Original Message----- >> From: Magnus Westerlund [mailto:magnus.westerlund@ericsson.com] >> Sent: 01 June 2006 15:23 >> To: nsis@ietf.org >> Subject: [NSIS] AD review: draft-ietf-nsis-ntlp-09 >> >> >> Hi, >> >> I have finally finished my review of GIST. I do have a number of >> comments and question with potentially serious implications. So lets >> start with them. Please remember that I have only read it once plus >> some checks of it when writing up things. So there might be >cases when >> a simple reference to where things are defined can resolve the issue. >> >> I will also be on vacation 3rd-11th of June so do not expect any >> response from me during this period. >> >> Major issues >> ------------ >> >> M1. Congestion Control >> M2. Security functions for d-mode >> M3. NAT traversal for GIST. >> M4. IANA consideration section > >will be covered in separate mails. > >> >> Minor Issues >> ------------ >> >> L1. The lack of a collected ABNF makes it hard to verify. Has the >> present ABNF been run through any of the syntax checkers >available at: >> http://tools.ietf.org/inventory/verif-tools ? > >earlier versions were certainly checked. the latest version >passes Bill Fenner's checker with the exception that there are >two common-headers, the second in the error message format. >That will be fixed. > >> >> L2. Section 3.3, page 12, second paragraph: >> " In addition, it should be noted that NAT traversal almost >certainly >> requires transformation of the MRI field in GIST messages (see >> Section 7.2). Although the transformation does not have to be >> defined as part of the standard, the impact on existing >GIST-aware >> NAT implementations should be considered." >> >> It seems that not defining the NAT behavior for GIST can potentially >> cause interop problems and make it very hard to use. What is >the plans >> for addressing this? Are there already existing GIST-aware NATs? > >See the (separate) answer on M3 (to come). > >> >> L3. Section 4.1.2: >> "Reliability: This attribute may be 'true' or 'false'. For the case >> 'true', messages MUST be delivered to the signaling >application >> in >> the peer exactly once or not at all; if there is a >chance that >> the >> message was not delivered, an error MUST be indicated to the >> local >> signaling application identifying the routing information for >> the >> message in question." >> >> How does one evaluate "if there is a chance that the message was not >> delivered"? I think there is need for some clear definition on when >> the normative requirement applies. > >This really depends on the protocol being used. In the current >specification, you can only use Forwards-TCP to satisfy the >reliable attribute, so I think there should be a reference to >5.7.2 to say how a TCP user can detect that a message might >not have been delivered. >This then becomes part of the rules for defining a new MA >protocol (if you use it for reliability, indicate how failures >are detected). > >> >> L4. Have anyone considered if one can run draft-ietf-pmtud-method-06 >> style of MTU discovery with GIST D-mode? > >In theory this would be possible, however, the design >rationale for splitting C/D modes suggests it's the wrong >thing to do. The idea is to make the Query small and ideally >robust against PMTU issues (since you have to do a Query for >each flow), and amortise the cost of PMTUD over the lifetime >of a MA (which can support multiple flows). We are also >assuming that solid implementations of PMTUD get re-used by >GIST implementations (because they are built into the MA >protocols), rather than being built into GIST directly, so >advances in PMTUD get incorporated automatically. > >> >> L5. Section 5.1, page 33: >> "It MUST echo the >> MRI (with inverted direction), SID, and Responder-Cookie if the >> Response carried one;" >> >> I don't think "with inverted direction" is really clear here. >> What does >> it mean to invert the direction of the MRI? > >Change D=0 ro D=1 or vice versa. Will clarify. > >> >> L6. Section 5.2.1 and A.1: >> >> I have some problems with that Section 5.2.1 first declares >> that these >> fields are present, while not defining them fully. Like nr of >> bits etc. >> Then section A.1 is also not a complete definition of the >> fields in the >> message. I think doing an informative reference in 5.2.1 is >okay, and >> then actually have a complete definition in A.1. > >OK > >> >> I would also like to point out that unless you always write out the >> number of bits a field have, and the fields in the order they >> appear in >> the graph you will confuse people reading it with text to speech >> synthesis, like Sam Hartman. > >OK > >> >> Do consider that these comments applies to also other >> protocol elements >> defined in appendix A, such as A.3.3. > >OK > >> >> L7. Section 5.2.2: >> "If the message is downstream, the IP-TTL MUST be set to the TTL >> that will be set in the IP header for the message >> (if this can >> be determined), or else set to 0." >> >> How is a message "downstream" I think you need to specify if this >> relates being sent in the downstream direction. > >OK, will clarify. > >> >> L8. Section 5.3.2: >> >> " GIST may send messages addressed as {flow sender, flow receiver} >> which could make their way to the flow receiver even if >> that receiver >> were GIST-unaware. These should be rejected (with an >> ICMP message) >> rather than delivered to the user application (which >> would be unable >> to use the source address to identify it as not being part of the >> normal data flow). Therefore, a "well-known" port is required. >> " >> >> I am having difficulties understanding how the end-peer could make a >> difference between GIST messages going the whole way to the >> end-peer per >> design and those that should be rejected by the end-peer. >> Please explain >> what the intention here is. > >OK, an example: >GIST gets assigned the port number 5682. >A pair of endpoints (A, B) set up a media flow A->B. B is GIST >unaware, and the application get allocated port 5682 by the node's >OS (just by bad luck). >As part of GIST signalling initiated by A, an intermediate node C >sends a Query which is received by B. > >This query now has source IP# of A and destination IP# of B and the >same destination port as the media flow. So it may well be delivered >to the media application (and look like garbage); if B checks the >source port the problem will only arise if C happens to chose the >same source port for GIST as A did for the media flow. > >It may be that we don't have to worry about this in real life (i.e. >we accept that occasionally bad things happen). Else it should be >explained better ;-) > > >> >> L9. Section 5.4.1: DCCP: >> The note on DCCP forgets one important factor. DCCP does not >> provide any >> reliability. > >It was implicit in the comment on fragmentation ... but we can >make it explicit. > >> >> L10. Section 5.7.1: >> "However, the object >> contents MUST be retained only for the duration of the >> Query/Response >> exchange and any following association setup, and afterwards >> discarded." >> >> Is "afterwards" only to referring to completed or failed >> association setup? > >Both. Probably we should define another default time here (cf. M1). > >> >> L11. Section 5.7.1: >> "The responding node MUST verify this to ensure that no bidding-down >> attack has occurred; see Section 8.6 for further discussion." >> >> As section 8.6 states this is not sufficient for detecting a >> on-path man >> in the middle attack. So I think the wording the the above >> sentence is >> to strong. > >I hope not: 8.6 is supposed to say that on-path man-in-the-middle >attacks can be reliably detected (modulo the residual threat listed >in section 5.7). But maybe the correct phraseology would be along >the lines of saying that "*if* a bidding down attack is detected after >checking the SCD, then ..." (i.e. we accept that there may be false >negatives but that the MUST applies to the result of the verification). > >> >> L12. Section 5.7.2: >> >> What address is used in the TCP connection. The port is >specified but >> not the address. > >Destination address: As returned in the >Network-Layer-Information in the >Response. >Source address: free. > >> >> L13. Section 5.7.3: >> >> Why is TLS 1.0 made mandatory and not TLS 1.1? > >Earlier, TLS1.1 was the mandatory one; but there was some expert >advice to the contrary; see >http://www1.ietf.org/mail-archive/web/nsis/current/msg05682.html. > >> >> L14. Section 5.8.1.2: >> "In this case, it MUST use the signaling >> source address for the IP source address in order to >> receive the ICMP >> error." >> >> How can a sender of message sending a query using d-mode with >> the flow >> source address determine that it is a to small MTU that causes the >> messages to be lost, rather than anything else? I think the >> use of MUST >> in this sentence is wrong. Is it something more than a informative >> statement saying: To be able to receive ICMP messages the >> message sender >> needs to use his own address. > >OK; I think there is still a MUST here but the MUST applies to any >transmission with DF set (we don't care why a DF was set, but if it >was, you MUST use your own SA). > >> >> L15. Section 5.8.1.3: >> >> Can someone please explain why an upstream request which has >> traversed a >> non-GIST aware router can be trusted less than a down stream one? > >Routing asymmetry and the (in)ability to apply ingress filtering. >It may be that we don't need to specify this tie-breaker aspect, >however. > >> >> L16. Section 6.4, Rule 4: >> >> Rule 4: >> >> send MA-Hello message >> restart NoHello timer >> >> why is the timeout of a send Hallo message timer reseting >the NoHello >> timer? Shouldn't the NoHello timer be only based on receiving Hello >> messages from the other side? > >I suspect you are right here (should be the SendHello timer). > >> >> Also what is the recommended Hello frequency? It would be >> good to have >> some discussion on what reasonable values are. This is also >> part of the >> congestion discussion for GIST. > >Partly true; however, I think the issues here are less critical, >since the Hello is only sent over MAs which are themselves congestion >controlled. > >> >> Section 7.1.2: GIST probing: >> >> One more missing recommendation on values for protocol functionality. > >See separate answer to M1. > >> >> L17. Section 7.1.4: >> >> Bullet 1: "The signaling >> application at E1 MAY begin local repair immediately, or MAY >> propagate a notification upstream to D1 that re-routing has >> occurred." >> >> There seems to be a interaction between GIST and the signalling >> application about the notification on the change. Are there any >> recommendations on signalling application implementing the necessary >> semantics to perform that notification? > >Yes, but only implicitly and in the NSLP specifications. Possibly there >should be >more explicit generic guidance on NSLP design, but it has not >been clear >up >to now where is the correct place to capture this information. (That >is, to a large extent I guess it would be preferable if NSLP designers >did not have to understand everything in GIST to be able to design an >NSLP properly.) > >> >> L18. Section 7.2, page 73, last paragraph: >> >> A NAT will intercept datagram mode messages with the normal >> encapsulation containing such echoed NAT-Traversal objects. >> >> It is not obvious that a NAT will do this for d-mode. Isn't a >> NAT which >> is not made GIST aware simply going to translate the IP/UDP >> headers and >> forward the packet despite the router alert. > >Non-GIST aware NATs are out of scope. > >> >> L19. Section 7.2, page 74: >> >> "Note that Confirm messages are not translated." >> >> Why isn't them? Also where is that specified? And what is >> really meant >> with "not translated"? > >See separate answer to M3. > >> >> L20. Section A.2: >> The "r" bits are not explicitly written to fall under the >> rules in the >> last paragraph of that section. > >True (!) > >> >> L21. Section A.2.1: >> >> What is the treatment of the "reserverd" AB=11 for a GIST node? > >Good question; I suspect this should be an error case. > >> >> L22. Section A.3.1: >> >> The "MRM-ID" field is not having the same name as in the IANA >> consideration section. > >OK. > >> >> L23. Section A.3.1.2: >> "D - Direction (always 0 for "downstream")" >> >> The use of "always" in the above make it unclear what is meant. > >The case D=1 is not allowed by the specification; we can fix >with a reference to 5.8.2.2. > >> >> L24. Section A.3.8: >> "the number of GIST payloads translated by the NAT" >> >> The NAT? There might be several NATs on the path and it is >> not clear how >> that is handled. One concern would be if different NATs translate >> different fields. > >See separate answer to M3. (There is an answer to this point >but the spec needs an update to include it.) > >> >> L25. Section 4.1 >> >> The Info Count Field and Info fields. I think the rules regarding >> ordering of these are to weak. As the order and existence of >> fields are >> dependent on the error codes and sub-error code, it is important to >> clarify that with normative strength. So please state the rules that >> applies for resolving the additional data fields and for each >> error code >> be clearer on the additional data field. Being explicit in >> stating none >> for those that have none is a good idea. > >The idea is that the "template" for the sections A.4.4.x tells you >this pretty strictly by virtue of the "Additional Info: " line >given for > >each error condition. But we can try to make that more formal in >some way. > >> >> >> Nits >> ---- >> >> N1. There is quite a list of abbreviation used in this >> document without >> being spelled out at their first usage. Please correct. I >> have spotted >> the following ones: >> - NSLPID >> - RAO >> - SCD >> - N-SM >> - C-mode >> - Q-mode > >OK. > >> >> N2. Section 3.4, last paragraph: >> >> "A consequence of this >> design is that signaling applications should choose SIDs >> so that they >> are cryptographically random, and should not use several >> SIDs for the >> same flow unless strictly necessary, to avoid additional >load from >> routing state maintenance." >> >> I think there is need for a reference to a document on how >to achieve >> cryptographically random numbers. Is RFC 4086 a useful ref? > >OK. > >> >> N3. section 6.1: >> >> " Rule 4 (rx_Data): >> >> if (node policy will only process Data messages with matching >> routing state) then >> send "No Routing State" error message >> else >> pass directly to NSLP" >> >> It seems to me that the expression within the IF is wrongly >> defined. I >> think it should read: >> >> if (routing state exist) then >> pass to NSLP >> else >> Send error msg. > >Nope; if routing state already existed, this state machine would >not be invoked (the message goes straight to 6.2/6.3). Some messages >can still be processed even if no routing state exists, which is >what this event is supposed to capture. > >> >> >> N4. figure 7: The established to established arrow has >> "[!confirmRequired]" which is a bit confusing on what it >> applies to of >> the above cases. > >OK. > >> >> >> N5. Section 7.1.2: >> Please include a reference for OSPF. > >OK. > >> >> N6. Section 7.2: >> >> It uses "public" and "private" when referring to the >> different sides of >> a NAT. In BEHAVE WG they are using External and Internal >instead. The >> reason is due to that the external side of a NAT may still be >> a private >> address space. > >OK. > >> >> N7. Section 11: >> Ref 6 and 8 needs to be updated > >yes for 8, but isn't 6 still the authoritative reference for TLS1.0? >(So, this depends on the answer to L13). > >> >> N8. Section A.3.5: >> "MUST not" -> "MUST NOT" > >OK > >> >> N9. Section A.4.4.9: subcode 3: >> >> "Invalid Object" -> "Invalid Object Type"? > >OK. > >> >> Cheers >> >> Magnus Westerlund >> >> Multimedia Technologies, Ericsson Research EAB/TVA/A >> >---------------------------------------------------------------------- >> Ericsson AB | Phone +46 8 4048287 >> Torshamsgatan 23 | Fax +46 8 7575550 >> S-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com >> >> _______________________________________________ >> nsis mailing list >> nsis@ietf.org >> https://www1.ietf.org/mailman/listinfo/nsis >> > >_______________________________________________ >nsis mailing list >nsis@ietf.org >https://www1.ietf.org/mailman/listinfo/nsis > _______________________________________________ nsis mailing list nsis@ietf.org https://www1.ietf.org/mailman/listinfo/nsis
- RE: [NSIS] AD review: draft-ietf-nsis-ntlp-09 (mi… Hancock, Robert
- RE: [NSIS] AD review: draft-ietf-nsis-ntlp-09 (mi… john.loughney