Subject: Re: [icnrg] [irsg] IRSG review request draft-irtf-icnrg-ccninfo-08

From: Jérôme François <[email-masked]>
Date: Fri, 8 Apr 2022 09:21:44 +0200

Dear Colin, IRSG members and draft authors,

Sorry for  providing my review late but below are my comments for 
draft-irtf-icnrg-ccninfo-08.

Best regards
Jérôme

-----------------

In general, the draft is well written but there some parts would merit 
clarification. Below are my comments, suggestions and questions (which actually 
reflects some lack of clarity IMHO).

Section 3 about the message formats is not easy to follow because it is unclear 
how these messages will be used. Of course, answers comes in the next section 4 
but as section 3 is quite long I think this could be improved by extending a bit 
the overview given in section 1 to “prepare” the reader for section 3. For 
instance in section 1, we can easily understand the flow of request and reply 
messages but with not so much regarding their content. My suggestions are to 
comment more on figure 1 and 2 in order to highlight the different structures used 
in messages afterwards (request header blocks, report blocks, reply  blocks) and 
when they are added. At a first glance, when I read report block I was thinking 
this was related to reply (somehow I thought reply = report). Of course when I 
read again I saw this is not but as the term can be little confusing, clarifying 
and emphasizing would avoid confusion. You can for example distinguish what 
information would be set in the request message and the information set in the 
reply. For replies, there are possibly multiple reply sub-blocks but it remains 
unclear for me what each sub-block should contain. I guess when there are multiple 
objects matching the prefix in the request but I’m not sure this is clearly stated 
somewhere (even in other sections).

Some detailed comments per section below:

Section 2.1 (definition):
- add the definitions of publisher and consumer as these terms are widely used in 
the text then
- CCNinfo user is also a node but a node (based on your definition) can be router, 
publisher or consumer. So, is CCNinfo user a consumer node? Or something different?
- router definition: Unclear what is meant by “facilitates”. Facilitates would 
suppose that is something not mandatory but which can help. Without router, 
content retrieval cannot be done I guess so the routers enable content retrieval ?

Section 3:
- page 9: “the Request and Reply Type values in the fixed header are”: use 
“PacketType values” to refer to packet format in figure 3
- page 9 “The CCNinfo Request and Reply messages MUST ...”: move/merge this 
sentence as first in the previous paragraph as this sounds a bit redundant here.
- Figure 6: I was wondering if there is a particular reason to have the request 
block TLV apart from other blocks (request header and report). If yes, you could 
mention it in the doc.
- page 11: “and __THE__ Request block TLV (Figure 7)”
- page 12 SkipHop: “Routers corresponding to the value specified” → “The number of 
routers corresponding...” (as this is a value not a set of routers right ?). State 
that this will correspond to the first routers in the paths toward the publisher.
- “request arrival time” is used both in request block and report blocks with the 
same definition.  My understanding is that request block is inserted by the 
initiator (CCNinfo user), so the request arrival time in that case seems to not be 
“the timestamp specifying the arrival time of the CCNinfo Request packet at a 
specific router” but the timestamp the CCNinfo user create the request (section 
4,1, p. 21). If if I’m right, you could also think changing the term “request 
arrival time” by something more relevant in Request block TLV.
- page 23 and page 24: “it it terminates the Request...”: remove one “it”
- section 5.6: I appreciate this section as I have in mind this kind of complex 
example when reading previous sections.
- section 8,2: precise what is meant by “identified”. I understand that if a 
router hides itself you can just know there was a router but you cannot know its 
id (so IMHY it is not really identify but you can detect there is a hidden router)?

---

From: Hitoshi Asaeda <[email-masked]>
Date: Fri, 8 Apr 2022 18:57:28 +0900

Dear Jérôme,

Thank you so much for your careful review.
We'll address your comments in the revision and reply to your question in a short time.

Regards,

Hitoshi

> On Apr 8, 2022, at 16:21, Jérôme François <[email-masked]> wrote:
> 
> Sorry for  providing my review late but below are my comments for draft-irtf-icnrg-ccninfo-08.
> 
> Best regards
> Jérôme
> 
> -----------------
> 
> In general, the draft is well written but there some parts would merit clarification. Below are my comments, suggestions and questions (which actually reflects some lack of clarity IMHO).
> 
> Section 3 about the message formats is not easy to follow because it is unclear how these messages will be used. Of course, answers comes in the next section 4 but as section 3 is quite long I think this could be improved by extending a bit the overview given in section 1 to “prepare” the reader for section 3. For instance in section 1, we can easily understand the flow of request and reply messages but with not so much regarding their content. My suggestions are to comment more on figure 1 and 2 in order to highlight the different structures used in messages afterwards (request header blocks, report blocks, reply  blocks) and when they are added. At a first glance, when I read report block I was thinking this was related to reply (somehow I thought reply = report). Of course when I read again I saw this is not but as the term can be little confusing, clarifying and emphasizing would avoid confusion. You can for example distinguish what information would be set in the request message and the information set in the reply. For replies, there are possibly multiple reply sub-blocks but it remains unclear for me what each sub-block should contain. I guess when there are multiple objects matching the prefix in the request but I’m not sure this is clearly stated somewhere (even in other sections).
> 
> 
> - add the definitions of publisher and consumer as these terms are widely used in the text then
> - CCNinfo user is also a node but a node (based on your definition) can be router, publisher or consumer. So, is CCNinfo user a consumer node? Or something different?
> - router definition: Unclear what is meant by “facilitates”. Facilitates would suppose that is something not mandatory but which can help. Without router, content retrieval cannot be done I guess so the routers enable content retrieval ?
> 
> Section 3:
> - page 9: “the Request and Reply Type values in the fixed header are”: use “PacketType values” to refer to packet format in figure 3
> - page 9 “The CCNinfo Request and Reply messages MUST ...”: move/merge this sentence as first in the previous paragraph as this sounds a bit redundant here.
> - Figure 6: I was wondering if there is a particular reason to have the request block TLV apart from other blocks (request header and report). If yes, you could mention it in the doc.
> - page 12 SkipHop: “Routers corresponding to the value specified” → “The number of routers corresponding...” (as this is a value not a set of routers right ?). State that this will correspond to the first routers in the paths toward the publisher.
> - “request arrival time” is used both in request block and report blocks with the same definition.  My understanding is that request block is inserted by the initiator (CCNinfo user), so the request arrival time in that case seems to not be “the timestamp specifying the arrival time of the CCNinfo Request packet at a specific router” but the timestamp the CCNinfo user create the request (section 4,1, p. 21). If if I’m right, you could also think changing the term “request arrival time” by something more relevant in Request block TLV.
> - section 5.6: I appreciate this section as I have in mind this kind of complex example when reading previous sections.
> - section 8,2: precise what is meant by “identified”. I understand that if a router hides itself you can just know there was a router but you cannot know its id (so IMHY it is not really identify but you can detect there is a hidden router)?
> 
>

---

From: Colin Perkins <[email-masked]>
Date: Fri, 8 Apr 2022 11:35:55 +0100

Thank you for the detailed review! There look to be a number of clarifications suggested, so I’ll mark this as Revised Draft Needed in the datatracker. 

Thanks!
Colin

> On 8 Apr 2022, at 10:57, Hitoshi Asaeda <[email-masked]> wrote:
> 
> Dear Jérôme,
> 

-- 
Colin Perkins
https://csperkins.org/