Skip to main content

Home Networking Control Protocol
draft-ietf-homenet-hncp-10

Revision differences

Document history

Date Rev. By Action
2016-04-11
10 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2016-02-18
10 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2016-02-15
10 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2016-01-13
10 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2016-01-13
10 (System) IANA Action state changed to Waiting on RFC Editor from Waiting on Authors
2015-12-21
10 (System) IANA Action state changed to Waiting on Authors from Waiting on ADs
2015-12-18
10 (System) IANA Action state changed to Waiting on ADs from In Progress
2015-12-10
10 (System) RFC Editor state changed to EDIT
2015-12-10
10 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2015-12-10
10 (System) Announcement was received by RFC Editor
2015-12-08
10 (System) IANA Action state changed to In Progress
2015-12-08
10 Amy Vezza IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2015-12-08
10 Amy Vezza IESG has approved the document
2015-12-08
10 Amy Vezza Closed "Approve" ballot
2015-12-08
10 Amy Vezza Ballot approval text was generated
2015-12-08
10 Amy Vezza IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup
2015-12-04
10 Stephen Farrell
[Ballot comment]
Thanks for addressing my discuss about the options for
using DTLS. Sorry for being slow with this ballot update.

The comments below are …
[Ballot comment]
Thanks for addressing my discuss about the options for
using DTLS. Sorry for being slow with this ballot update.

The comments below are old, I didn't check if you've
made related changes. Happy to chat about that if you
want, (or not if you prefer not:-)

- I agree with Kathleen's discuss that the implementation
requirements for DTLS need to be clarified, hopefully (from my
POV) to make that MTI but I'll leave that discussion to the
other thread.

-Section 9: You should refer to HKDF and not HMAC-SHA256 though
the reference to RFC 6234 is still right. HMAC-SHA256 itself
is not a key derivation function, which is what you want here.

- Please take a look at the secdir review [1] and respond to
that as it raises one issue not (I think) otherwise mentioned.
What is the effect (on a home) of one compromised hncp router?
Perhaps you'll say that's obvious, or perhaps not, but I'm
interested in what you do say, in case it's not obvious:-)

  [1] https://www.ietf.org/mail-archive/web/secdir/current/msg06098.html
2015-12-04
10 Stephen Farrell [Ballot Position Update] Position for Stephen Farrell has been changed to No Objection from Discuss
2015-12-03
10 Kathleen Moriarty [Ballot comment]
Thank you for addressing my prior two discuss points.
2015-12-03
10 Kathleen Moriarty [Ballot Position Update] Position for Kathleen Moriarty has been changed to No Objection from Discuss
2015-11-30
10 Brian Haberman
[Ballot comment]
-- Old DISCUSS Points --

* I see where HNCP describes how interfaces are classified as internal or external, but how does an …
[Ballot comment]
-- Old DISCUSS Points --

* I see where HNCP describes how interfaces are classified as internal or external, but how does an interface get classified as leaf, guest, or ad-hoc?  Is this some manual configuration step that needs to be described somewhere?

* The definition of Leaf in 5.1 is unclear.  It says "Such an interface uses the Internal category with the exception that HNCP traffic MUST NOT be sent on the interface, and all such traffic received on the interface MUST be ignored." The "all such traffic" is ambiguous. Based on the definition of the Guest category, I think "all such traffic" is really "all HNCP traffic".

* The text in section 5.3 seems incomplete. It gives a 4-step algorithm for border discovery, but says "if the node does not implement auto-detection, only the first step is required." If auto detection is not supported and a fixed category is not configured, what happens? Does this mean that if auto detection is not supported manual configuration of the border is required?

* Section 7 describes how to handle non-HNCP capable routers. However, I don't see any operational issues described that could arise from having a non-HNCP capable router connecting two clouds of HNCP within the same home network. It seems like that could cause problems with a bunch of the services provided by HNCP.

-- Old Comments --

* Section 3 has several ambiguous/confusing statements:

1. Does "locally unique" mean unique to the node or unique to the link/network?

2. On a node ID collision, which node re-computes? The one detecting, I assume.

3. "7 doublings" is an odd phrase.  Why not say "Imin * 2^7"?

* I support the other DISCUSS positions raised.
2015-11-30
10 Brian Haberman [Ballot Position Update] Position for Brian Haberman has been changed to No Objection from Discuss
2015-11-28
10 Barry Leiba [Ballot comment]
Version -10 addresses all my comments.  Thanks very much for considering them!
2015-11-28
10 Barry Leiba [Ballot Position Update] Position for Barry Leiba has been changed to No Objection from Discuss
2015-11-26
10 Markus Stenberg IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2015-11-26
10 Markus Stenberg New version available: draft-ietf-homenet-hncp-10.txt
2015-11-26
09 Benoît Claise
[Ballot comment]
I moved my DISCUSS to a COMMENT:
One issue to be discussed: the link with the future BCP draft-ietf-v6ops-reducing-ra-energy-consumption-03, on the same …
[Ballot comment]
I moved my DISCUSS to a COMMENT:
One issue to be discussed: the link with the future BCP draft-ietf-v6ops-reducing-ra-energy-consumption-03, on the same telechat.
draft-ietf-v6ops-reducing-ra-energy-consumption-03 mentions:
  "On links with a large number of battery-powered devices, sending
  solicited Router Advertisements multicast can severely impact host
  power consumption."

From this document: I see "HNCP operates on multicast-capable interfaces only"
Do we expect battery-powered devices in homenet? I guess so: my phone for example.
I discussed this topic with Mark Townsley, who is on it already.

Discussing with Terry, we believe that some words that highlight the awareness of
draft-ietf-v6ops-reducing-ra-energy-consumption, and that any homenet
implementer should be cognisant of the impact on battery powered devices
is certainly sane.

=================================================================

  As HNCP uses DNCP as the actual state synchronization protocol, the
  applicability statement of DNCP can be used here as well; HNCP should
  not be used for any data that changes rapidly and constantly, and
  locators to find such services should be published using it instead.
  This is why the naming and service discovery (Section 8) TLVs contain
  only DNS server addresses, and no actual per-name or per-service data
  of hosts.

What is it in in "using it"? If DNCP, then it contradicts https://tools.ietf.org/html/draft-ietf-homenet-dncp-12#section-1.1:

    However, there are certain cases where the protocol as defined in
    this document is a less suitable choice. ...  frequently changing data:  DNCP with its use of Trickle is
    optimized for the steady state and less efficient otherwise.

Chatting with Mark Townsley, he proposed some clarifying text:
    HNCP should not be used directly for data that changes rapidly and constantly, though
    stable locators to find such data by other means may be advertised within HNCP.



- Each HNCP router MAY obtain external connection information such as
  address prefixes, DNS server addresses and DNS search paths from one
  or more sources, e.g., DHCPv6-PD [RFC3633], NETCONF [RFC6241] or
  static configuration.

If you know pf the YANG model already, you should mention it.


Below is Sheng's OPS-DIR review.

1. HNCP describes Prefix and Naming configuration. But it is not very clear how they are matched in the DNCP architecture. It would be help to understand if some description using DNCP architecture, like node state and network state, etc., could be added.

2. It would be very useful to add a bootstrap and configuration procedure of HNCP. So far, this is not clear.

3. Section 6.5 "only the one published by the node with the highest node identifier". It is not very clear how to compare the value against node identifier.
2015-11-26
09 Benoît Claise [Ballot Position Update] Position for Benoit Claise has been changed to No Objection from Discuss
2015-11-19
09 Cindy Morgan IESG state changed to IESG Evaluation::AD Followup from IESG Evaluation
2015-11-19
09 Alia Atlas
[Ballot comment]
I support Brian's Discuss.

1)  In Sec 1.1, it states "...in homenet environments where multiple IPv6
  source-prefixes can be present, routing based …
[Ballot comment]
I support Brian's Discuss.

1)  In Sec 1.1, it states "...in homenet environments where multiple IPv6
  source-prefixes can be present, routing based on source and destination
  address is necessary [RFC7368]."
 
  Looking at RFC7368, I don't see anything that matches the strength of this
  assertion which says in Sec 3.2.4 merely  "Another avenue is to introduce support
  throughout the homenet for routing that is based on the source as
  well as the destination address of each packet."

  While src-dest routing is certainly a solution - and an interesting one - it doesn't
  seem at all appropriate for an HNCP spec to assert that it is necessary.

2) For the DNCP profile,  draft-ietf-homenet-dncp-12 says  "Anything received over multicast, except Node Endpoint TLV (Section 7.2.1) and Network State TLV (Section 7.2.2)." and this draft says "HNCP nodes MUST ignore all Node State TLVs received via multicast
on a link which has DNCP security enabled in order to prevent spoofing of node state changes."
Could you please align and clarify the desired behavior for HNCP?
2015-11-19
09 Alia Atlas [Ballot Position Update] New position, No Objection, has been recorded for Alia Atlas
2015-11-19
09 Stephen Farrell
[Ballot discuss]

(Sorry for the N-th discuss, I quite like this protocol and
I'm sure we'll get 'em all cleared soon, but... ;-)

I'd like …
[Ballot discuss]

(Sorry for the N-th discuss, I quite like this protocol and
I'm sure we'll get 'em all cleared soon, but... ;-)

I'd like to chat about whether or not the DTLS recommendations
are correct here. To me, the consensus stuff (from section 8.3
of dncp) is not clearly baked (as I noted in iesg review of
dncp). The PKI stuff is well known, even if it it is a PITA from
many points of view. I don't think a SHOULD for the former and
a MAY for the latter is appropriate now. If the consensus based
stuff gets deployed and works, then it might be time to say
what you're now saying, but I don't think we're there yet. (I'd
be happy to look @ evidence that we are, and to change my
opinion accordingly.)

Please note that I think I like the consensus based scheme, I'm
just concerned it may not be ready for prime time. I'm also not
really convinced that all you need to do to get interop for
that is mention it and refer to dncp. But again, I could be
wrong and would appreciate being corrected if so.

In summary, I think you should say "when using DTLS with
asymmetric keying, then you SHOULD support the PKI-based method
and MAY support the consensus based method, which is still
somewhat experimental."
2015-11-19
09 Stephen Farrell
[Ballot comment]
- I agree with Kathleen's discuss that the implementation
requirements for DTLS need to be clarified, hopefully (from my
POV) to make that …
[Ballot comment]
- I agree with Kathleen's discuss that the implementation
requirements for DTLS need to be clarified, hopefully (from my
POV) to make that MTI but I'll leave that discussion to the
other thread.

-Section 9: You should refer to HKDF and not HMAC-SHA256 though
the reference to RFC 6234 is still right. HMAC-SHA256 itself
is not a key derivation function, which is what you want here.

- Please take a look at the secdir review [1] and respond to
that as it raises one issue not (I think) otherwise mentioned.
What is the effect (on a home) of one compromised hncp router?
Perhaps you'll say that's obvious, or perhaps not, but I'm
interested in what you do say, in case it's not obvious:-)

  [1] https://www.ietf.org/mail-archive/web/secdir/current/msg06098.html
2015-11-19
09 Stephen Farrell [Ballot Position Update] New position, Discuss, has been recorded for Stephen Farrell
2015-11-19
09 Brian Haberman
[Ballot discuss]
* I see where HNCP describes how interfaces are classified as internal or external, but how does an interface get classified as leaf, …
[Ballot discuss]
* I see where HNCP describes how interfaces are classified as internal or external, but how does an interface get classified as leaf, guest, or ad-hoc?  Is this some manual configuration step that needs to be described somewhere?

* The definition of Leaf in 5.1 is unclear.  It says "Such an interface uses the Internal category with the exception that HNCP traffic MUST NOT be sent on the interface, and all such traffic received on the interface MUST be ignored." The "all such traffic" is ambiguous. Based on the definition of the Guest category, I think "all such traffic" is really "all HNCP traffic".

* The text in section 5.3 seems incomplete. It gives a 4-step algorithm for border discovery, but says "if the node does not implement auto-detection, only the first step is required." If auto detection is not supported and a fixed category is not configured, what happens? Does this mean that if auto detection is not supported manual configuration of the border is required?

* Section 7 describes how to handle non-HNCP capable routers. However, I don't see any operational issues described that could arise from having a non-HNCP capable router connecting two clouds of HNCP within the same home network. It seems like that could cause problems with a bunch of the services provided by HNCP.
2015-11-19
09 Brian Haberman
[Ballot comment]
* Section 3 has several ambiguous/confusing statements:

1. Does "locally unique" mean unique to the node or unique to the link/network?

2. On …
[Ballot comment]
* Section 3 has several ambiguous/confusing statements:

1. Does "locally unique" mean unique to the node or unique to the link/network?

2. On a node ID collision, which node re-computes? The one detecting, I assume.

3. "7 doublings" is an odd phrase.  Why not say "Imin * 2^7"?

* I support the other DISCUSS positions raised.
2015-11-19
09 Brian Haberman [Ballot Position Update] New position, Discuss, has been recorded for Brian Haberman
2015-11-19
09 Jari Arkko [Ballot Position Update] New position, No Objection, has been recorded for Jari Arkko
2015-11-19
09 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from IANA - Not OK
2015-11-18
09 Barry Leiba
[Ballot discuss]
I have two points that I'd like to discuss, both of which should be very easy to resolve:

-- Section 10.1 --
For …
[Ballot discuss]
I have two points that I'd like to discuss, both of which should be very easy to resolve:

-- Section 10.1 --
For all the capability values you say something like this:

      It MUST be set to some value between 1 and 7
      included (4 is the default) if the router is capable of proxying
      MDNS and 0 otherwise.

First, the word you want is "inclusive", not "included".

Second, "4 is the default" really means that you can set it to 0, and that's the same as setting it to 4.  But it seems that 0 means that the router does not have the specified capability.  Those seem to be in conflict.  I strongly suggest you do NOT have a default, and allow the use of 0 *only* to designate lack of that capability.

Please discuss this with me to make sure I'm not misunderstanding you here.

-- Section 13 --
I have two concerns with how the HNCP TLV Types registry is specified:

1. Because the DNCP TLV Types registry specifically allocates 32-511 for profiles, it'd be better to simply limit the range of values in this registry to those values, rather than making it broader and duplicating the other values from the other registry.

2. I think it's a bad idea for HNCP to re-define DNCP's Private Use range in its registry.  I would rather see this be text in the document (here in the IANA Considerations is a fine place for it) that says that HNCP uses the Private Use range for per-implementation experimentation, and not have that be in the HNCP registry.

In other words, I'd make it more like this (and add a reference to RFC 5226):

NEW
  IANA should set up a registry for the (decimal values within range
  32-511, as allocated to profiles by DNCP) "HNCP TLV Types" under
  "Distributed Node Consensus Protocol (DNCP)", with the following
  initial contents:

      32: HNCP-Version
      33: External-Connection
      34: Delegated-Prefix
      35: Assigned-Prefix
      36: Node-Address
      37: DHCPv4-Data
      38: DHCPv6-Data
      39: DNS-Delegated-Zone
      40: Domain-Name
      41: Node-Name
      42: Managed-PSK
      43: Prefix-Policy
      44-511: Unassigned
     
  The policy "RFC Required" [RFC5226] should be used for future
  assignments.

  The range reserved by DNCP for Private Use (768-1023) is used by
  HNCP for per-implementation experimentation.  How collisions are
  avoided is out of scope of this document.
END

Does that make sense?
2015-11-18
09 Barry Leiba
[Ballot comment]
-- Section 1.1 --

  As HNCP uses DNCP as the actual state synchronization protocol, the
  applicability statement of DNCP can be …
[Ballot comment]
-- Section 1.1 --

  As HNCP uses DNCP as the actual state synchronization protocol, the
  applicability statement of DNCP can be used here as well; HNCP should
  not be used for any data that changes rapidly and constantly, and
  locators to find such services should be published using it instead.

I don't follow the second half of that (after the semicolon): I don't get the antecedents to "such services" (there are no services mentioned) and "it" (maybe understanding "such" will help sort this part out).  Can you re-word this to make it clearer?

-- Section 3 --

  3.  DNCP Profile
  The DNCP profile of HNCP is defined as follows:

That seems backwards to me; I'd say this is "the HNCP profile of DNCP", no?

  o  HNCP operates on multicast-capable interfaces only.  HNCP nodes
      MUST assign a locally unique non-zero 32-bit endpoint identifier
      to each interface for which HNCP is enabled.  The value zero it is
      not used in DNCP TLVs, but it has a special meaning in HNCP TLVs
      (see Section 10.3 and Section 6.4).  Implementations MAY use a
      value equivalent to the IPv6 link-local scope identifier for the
      given interface.

I want to probe that "MAY" for a moment.  Of course, implementations can use anything they want to, right?  So what's the point of calling out the scope identifier specifically?  Is it because that's a particularly convenient ur useful value?  Is it something you're recommending (but not at the "RECOMMEND" level)?  If so, it might be better to say that, rather than saying "MAY"; the "MAY" seems rather useless here.

      *  Imax SHOULD be 7 doublings of Imin (i.e., 25.6 seconds) but
        MUST NOT be lower.

The "i.e." is only correct here if the previous bullet's recommendation of 200ms is actually used.  I suggest avoiding the Latin abbreviation, and saying explicitly what you mean: "(25.6 seconds, if Imin is the recommended 200 milliseconds)".  It could also be unclear about whether "MUST NOT be lower" means "MUST NOT be lower than (Imin * 2**7)" or "MUST NOT be lower than 25.6 seconds".  I presume you mean the former, but I suggest making that explicit as well, either way.

-- Section 6.2 --

      In presence of any type 1 to 128 Prefix Policy TLV the prefix is
      specialized to reach destinations denoted by any such Prefix
      Policy TLV, i.e., in absence of a type 0 Prefix Policy TLV it is
      not usable for general internet connectivity.  An HNCP router MAY
      enforce this restriction with appropriate packet filter rules.

I have a similar question as above about the "MAY" here.  Are you actually saying, "Packet filter rules are a good way for an HNCP router to enforce this restriction." ?  Would that be better than using "MAY" here?

-- Section 6.3.1 --

  ADOPT_MAX_DELAY:  The default value is 0 seconds (i.e., prefix
      adoption MAY be done instantly).

Here, I think the "MAY" is actually wrong.  I think what you mean is "(i.e., prefix adoption is done instantly unless it is delayed by a non-zero value here)."

-- Section 6.4 --

  o  A node MUST NOT start advertising an address if it is already
      advertised by another node.

...

  o  Whenever the same address is advertised by more than one node, all
      but the one advertised by the node with the highest node
      identifier MUST be removed.

How can the second happen, given the first?

-- Section 8 --

  Each HNCP node SHOULD announce a node name for itself to be easily
  reachable and MAY do so on behalf of other devices.

MAY announce a node name for itself on behalf of other devices?  That's what "do so" says to me.  Better to replace "do so" with something clearer: "...and MAY also announce node names for other devices."

  Announcements
  are made using Node Name TLVs (Section 10.7) and MUST be unique in
  the whole network.

The announcements are, I presume, not what MUST be unique.  You mean the node names MUST be uniques, yes?  So:

NEW
  Announcements
  are made using Node Name TLVs (Section 10.7) and the node names
  MUST be unique within the whole network.
END
2015-11-18
09 Barry Leiba [Ballot Position Update] New position, Discuss, has been recorded for Barry Leiba
2015-11-18
09 Spencer Dawkins
[Ballot comment]
I support Kathleen's Discuss on DTLS as MTI, and am watching the discussion in that thread (so if you work things out with …
[Ballot comment]
I support Kathleen's Discuss on DTLS as MTI, and am watching the discussion in that thread (so if you work things out with Kathleen, I'll almost certainly be satisfied).

The transport characteristics seem well thought out for a UDP application. Thank you for that.
2015-11-18
09 Spencer Dawkins [Ballot Position Update] New position, No Objection, has been recorded for Spencer Dawkins
2015-11-18
09 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2015-11-18
09 Alissa Cooper
[Ballot comment]
-- How does a node end up in the leaf or guest category? Is it only if a fixed category is configured? If …
[Ballot comment]
-- How does a node end up in the leaf or guest category? Is it only if a fixed category is configured? If so, who decides that that configuration should happen? I think this info belongs in the draft.

-- Section 5.1 says:

"Guest category:  This declares an interface used by untrusted client
      devices only.  In addition to the restrictions of the Leaf
      category, HNCP routers MUST filter traffic from and to the
      interface such that connected devices are unable to reach other
      devices inside the HNCP network or query services advertised by
      them unless explicitly allowed."

What is the mechanism for explicitly allowing selective access for guest nodes? Is this left for firewall policy configuration? I think this warrants some explanation.

-- In Sec 6.4, I'm unclear on whether the address selection process specified in the bulleted list would ever be used to obtain a IPv6 address. If not, then this comment is not relevant. But if it might be used in some case where the node is using v6 but for some reason cannot use the mechanism specified in RFC7217, I think additional guidance is needed here about self-assignment, in line with the ongoing work on draft-ietf-6man-default-iids. Nodes might be tempted to embed a link-layer address in the IID as a means of ensuring that their self-assigned addresses do not collide with others, but they should be discouraged from doing so. So I think some text to the effect that nodes SHOULD assign themselves semantically opaque addresses even if they cannot use the RFC7217 mechanism and SHOULD NOT embed the underlying link-layer address in the IID is warranted here.
2015-11-18
09 Alissa Cooper [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper
2015-11-18
09 Benoît Claise
[Ballot discuss]
One issue to be discussed: the link with the future BCP draft-ietf-v6ops-reducing-ra-energy-consumption-03, on the same telechat.
draft-ietf-v6ops-reducing-ra-energy-consumption-03 mentions:
  "On links with …
[Ballot discuss]
One issue to be discussed: the link with the future BCP draft-ietf-v6ops-reducing-ra-energy-consumption-03, on the same telechat.
draft-ietf-v6ops-reducing-ra-energy-consumption-03 mentions:
  "On links with a large number of battery-powered devices, sending
  solicited Router Advertisements multicast can severely impact host
  power consumption."

From this document: I see "HNCP operates on multicast-capable interfaces only"
Do we expect battery-powered devices in homenet? I guess so: my phone for example.
I discussed this topic with Mark Townsley, who is on it already.
2015-11-18
09 Benoît Claise
[Ballot comment]
  As HNCP uses DNCP as the actual state synchronization protocol, the
  applicability statement of DNCP can be used here as well; …
[Ballot comment]
  As HNCP uses DNCP as the actual state synchronization protocol, the
  applicability statement of DNCP can be used here as well; HNCP should
  not be used for any data that changes rapidly and constantly, and
  locators to find such services should be published using it instead.
  This is why the naming and service discovery (Section 8) TLVs contain
  only DNS server addresses, and no actual per-name or per-service data
  of hosts.

What is it in in "using it"? If DNCP, then it contradicts https://tools.ietf.org/html/draft-ietf-homenet-dncp-12#section-1.1:

    However, there are certain cases where the protocol as defined in
    this document is a less suitable choice. ...  frequently changing data:  DNCP with its use of Trickle is
    optimized for the steady state and less efficient otherwise.

Chatting with Mark Townsley, he proposed some clarifying text:
    HNCP should not be used directly for data that changes rapidly and constantly, though
    stable locators to find such data by other means may be advertised within HNCP.



- Each HNCP router MAY obtain external connection information such as
  address prefixes, DNS server addresses and DNS search paths from one
  or more sources, e.g., DHCPv6-PD [RFC3633], NETCONF [RFC6241] or
  static configuration.

If you know pf the YANG model already, you should mention it.


Below is Sheng's OPS-DIR review.

1. HNCP describes Prefix and Naming configuration. But it is not very clear how they are matched in the DNCP architecture. It would be help to understand if some description using DNCP architecture, like node state and network state, etc., could be added.

2. It would be very useful to add a bootstrap and configuration procedure of HNCP. So far, this is not clear.

3. Section 6.5 "only the one published by the node with the highest node identifier". It is not very clear how to compare the value against node identifier.
2015-11-18
09 Benoît Claise [Ballot Position Update] New position, Discuss, has been recorded for Benoit Claise
2015-11-17
09 Ben Campbell
[Ballot comment]
Minor Issues:
===========

-4, 1st paragraph, last sentence:
I confused by the fact this sentence says nodes MUST include HNCP-Version, then goes on …
[Ballot comment]
Minor Issues:
===========

-4, 1st paragraph, last sentence:
I confused by the fact this sentence says nodes MUST include HNCP-Version, then goes on to talk about nodes _not_ including it.

-6.4, first paragraph: "Each HNCP node SHOULD announce an IPv6 address and - if it supports IPv4 - MUST announce an IPv4 address,"
I don't suppose there's any way we can make IPv6 a MUST?

-7.4, 2nd paragraph:
The MUST seems to conflict with the SHOULD in the third paragraph of section 8.

-14.2:
It looks like some, maybe most, of the informative references  need to be normative. They are cited with 2119 language,  cited in other protocol definition, or are otherwise required to fully understand this draft:
3004, 2131, 3315, 3633, 4291, 1321, 6762, 6763, 2132, 4193, 7084, 7217, 4861, and 6092.


Editorial Comments:
=================

-4, 2nd paragraph: "Any node announcing the value 0 is considered to not advertise the respective capability and thus does not take part in the respective election."

Am I correct to assume this means "any node announcing the value 0 for a particular capability..."?

- 5.1:"Internal category":"HNCP traffic MUST be sent and received."
What must send and receive it? (Similar comments for External Category).

-6.5:
Please expand "ULA" on first mention.

- 9, 1st paragraph: "The scheme SHOULD be used only in conjunction"
"SHOULD ... only" is a subtle way of saying SHOULD NOT. I suggest the following:
OLD:
The scheme SHOULD be used only in conjunction...
NEW:
The scheme SHOULD NOT be used unless in conjunction...

- 14.3:
Looks like neither URL will be cited once the RFC editor removes the appendices marked for deletion.
2015-11-17
09 Ben Campbell [Ballot Position Update] New position, No Objection, has been recorded for Ben Campbell
2015-11-17
09 Kathleen Moriarty
[Ballot discuss]
I have a couple of pints to discuss that should be pretty easy to resolve as I wasn't clear on the first because …
[Ballot discuss]
I have a couple of pints to discuss that should be pretty easy to resolve as I wasn't clear on the first because of wording (should be very simple) and would like to chat about the second.  Thanks.

1. I'm not clear on one of the bullets in section 3,
  o  HNCP nodes MUST use the leading 64 bits of MD5 [RFC1321] as DNCP
      non-cryptographic hash function H(x).

Is this meant to use a message digest (RFC1321) or a cryptographic hash for authentication (RFC2104)?  If it's the former, can you make this more clear in the bullet?  If it's the latter, can you update the reference and the number of bits to use for truncation is 80 for the minimum.  You do explicitly mention HMACs later on for PSKs using SHA256, so maybe the reference is correct and the wording should just be a bit more clear?

2. Can you explain why DTLS is a SHOULD and not a MUST?  The bullet in section 3 reads as if this is for use, not implementation.  Is there a MUST for implementation (I didn't see one, but maybe I missed that)?

Could you add a reference to RFC7525 to help with configuration and cipher suite recommendations?  This could be in section 12, security considerations.
2015-11-17
09 Kathleen Moriarty [Ballot Position Update] New position, Discuss, has been recorded for Kathleen Moriarty
2015-11-17
09 Deborah Brungard [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard
2015-11-17
09 Terry Manderson IESG state changed to IESG Evaluation from Waiting for Writeup
2015-11-17
09 Terry Manderson Changed consensus to Yes from Unknown
2015-11-17
09 Terry Manderson Ballot has been issued
2015-11-17
09 Terry Manderson [Ballot Position Update] New position, Yes, has been recorded for Terry Manderson
2015-11-17
09 Terry Manderson Created "Approve" ballot
2015-11-17
09 Terry Manderson Ballot writeup was changed
2015-10-27
09 Francis Dupont Request for Last Call review by GENART Completed: Ready. Reviewer: Francis Dupont.
2015-10-26
09 Gunter Van de Velde Request for Telechat review by OPSDIR Completed: Has Nits. Reviewer: Sheng Jiang.
2015-10-23
09 (System) IESG state changed to Waiting for Writeup from In Last Call
2015-10-21
09 (System) IANA Review state changed to IANA - Not OK from IANA - Review Needed
2015-10-21
09 Amanda Baber
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

IANA has completed its review of draft-ietf-homenet-hncp-09. If any part of this review is inaccurate, please let us know.

IANA …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

IANA has completed its review of draft-ietf-homenet-hncp-09. If any part of this review is inaccurate, please let us know.

IANA has questions about the actions requested by this document.

We understand that upon approval, IANA must complete three registry actions.

ACTION 1:

IANA will create a registry called "HNCP TLV Types" (to be listed in the yet-to-be-created "Distributed Node Consensus Protocol (DNCP)" category at http://www.iana.org/protocols) at a to-be-determined URL. The registry should appear as follows:

Registry Name: HNCP TLV Types
Reference: [this document]
Registration Procedure: RFC Required

Value  Description  Reference
----- ---------- ---------
0-31 Reserved - specified in the DNCP registry  [this document]
32 HNCP-Version  [this document]
33 External-Connection  [this document]
34 Delegated-Prefix  [this document]
35 Assigned-Prefix  [this document]
36 Node-Address  [this document]
37 DHCPv4-Data  [this document]
38 DHCPv6-Data  [this document]
39 DNS-Delegated-Zone  [this document]
40 Domain-Name  [this document]
41 Node-Name  [this document]
42 Managed-PSK  [this document]
43 Prefix-Policy  [this document]
44-512 Unassigned  [this document]
512-767 Reserved - specified in the DNCP registry  [this document]
768-1023 Reserved - to be used for per-implementation experimentation.  [this document]

QUESTION: Should this document be created at a new assignments/hncp-registry URL, as was suggested during another document's Last Call?

QUESTION: Should the term "DNCP registry" be replaced by the full name of the registry? If so, what is that name?

QUESTION: When we receive notice that this document has been approved, should we place this action on hold until the DNCP registry has been created? If so, which document creates it?

ACTION 2:

IANA will register the following UDP ports at iana.org/assignments/service-names-port-numbers:

Service Name: hnc-udp-port
Port Number: TBD
Transport Protocol: UDP
Description: ?
Assignee: IESG
Contact: IETF Chair
Reference: [this document] 

Service Name: hnc-dtls-port
Port Number: TBD
Transport Protocol: UDP
Description: ?
Assignee: IESG
Contact: IETF Chair
Reference: [this document]

QUESTION: How should we fill in the "Description" fields for these registrations?

For examples, please see

http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=iesg

ACTION 3:

If the IESG-designated expert approves, IANA will register a multicast IPv6 address called "All-Homenet-Nodes" at http://www.iana.org/assignments/ipv6-multicast-addresses. The expert is reviewing the proposal now.

Note:  The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is only to confirm what actions will be performed.

Best regards,

Amanda Baber
IANA Senior Specialist
ICANN
2015-10-15
09 Jean Mahoney Request for Last Call review by GENART is assigned to Francis Dupont
2015-10-15
09 Jean Mahoney Request for Last Call review by GENART is assigned to Francis Dupont
2015-10-15
09 Jean Mahoney Closed request for Last Call review by GENART with state 'Withdrawn'
2015-10-15
09 Jean Mahoney Request for Last Call review by GENART is assigned to Wassim Haddad
2015-10-15
09 Jean Mahoney Request for Last Call review by GENART is assigned to Wassim Haddad
2015-10-15
09 Tero Kivinen Request for Telechat review by SECDIR Completed: Ready. Reviewer: Yoav Nir.
2015-10-15
09 Terry Manderson Telechat date has been changed to 2015-11-19 from 2015-10-22
2015-10-14
09 (System) Notify list changed from homenet-chairs@ietf.org, draft-ietf-homenet-hncp.ad@ietf.org, mark@townsley.net, draft-ietf-homenet-hncp@ietf.org, draft-ietf-homenet-hncp.shepherd@ietf.org to (None)
2015-10-09
09 Amy Vezza IANA Review state changed to IANA - Review Needed
2015-10-09
09 Amy Vezza
The following Last Call announcement was sent out:

From: The IESG
To: IETF-Announce
CC:
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (Home Networking Control Protocol) to …
The following Last Call announcement was sent out:

From: The IESG
To: IETF-Announce
CC:
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (Home Networking Control Protocol) to Proposed Standard


The IESG has received a request from the Home Networking WG (homenet) to
consider the following document:
- 'Home Networking Control Protocol'
  as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits
final comments on this action. Please send substantive comments to the
ietf@ietf.org mailing lists by 2015-10-23. Exceptionally, comments may be
sent to iesg@ietf.org instead. In either case, please retain the
beginning of the Subject line to allow automated sorting.

Abstract


  This document describes the Home Networking Control Protocol (HNCP),
  an extensible configuration protocol and a set of requirements for
  home network devices.  HNCP is described as a profile of and
  extension to the Distributed Node Consensus Protocol (DNCP).  HNCP
  enables discovery of network borders, automated configuration of
  addresses, name resolution, service discovery, and the use of any
  routing protocol which supports routing based on both source and
  destination address.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-homenet-hncp/

IESG discussion can be tracked via
https://datatracker.ietf.org/doc/draft-ietf-homenet-hncp/ballot/


No IPR declarations have been submitted directly on this I-D.


2015-10-09
09 Amy Vezza IESG state changed to In Last Call from Last Call Requested
2015-10-09
09 Amy Vezza Last call announcement was changed
2015-10-09
09 Gunter Van de Velde Request for Telechat review by OPSDIR is assigned to Sheng Jiang
2015-10-09
09 Gunter Van de Velde Request for Telechat review by OPSDIR is assigned to Sheng Jiang
2015-10-08
09 Tero Kivinen Request for Telechat review by SECDIR is assigned to Yoav Nir
2015-10-08
09 Tero Kivinen Request for Telechat review by SECDIR is assigned to Yoav Nir
2015-10-07
09 Terry Manderson Placed on agenda for telechat - 2015-10-22
2015-10-07
09 Terry Manderson Last call was requested
2015-10-07
09 Terry Manderson Ballot approval text was generated
2015-10-07
09 Terry Manderson Ballot writeup was generated
2015-10-07
09 Terry Manderson IESG state changed to Last Call Requested from Publication Requested
2015-10-07
09 Terry Manderson Last call announcement was generated
2015-10-05
09 Amy Vezza Notification list changed to homenet-chairs@ietf.org, draft-ietf-homenet-hncp.ad@ietf.org, mark@townsley.net, draft-ietf-homenet-hncp@ietf.org, draft-ietf-homenet-hncp.shepherd@ietf.org from "Mark Townsley" <mark@townsley.net>
2015-10-05
09 Mark Townsley Tag Revised I-D Needed - Issue raised by WGLC cleared.
2015-10-05
09 Mark Townsley

As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up.

Please try and keep answers in regular type, and …

As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up.

Please try and keep answers in regular type, and original questions in italics.

(1) What type of RFC is being requested (BCP, Proposed Standard,
Internet Standard, Informational, Experimental, or Historic)? 

Proposed Standard.

Why is this the proper type of RFC? 

HNCP is a protocol specification for configuration of a home network interacting with other standard track protocols such as DHCP, IPv6, DNS, etc. Two interoperable and independent implementations are known.

Is this type of RFC indicated in the title page header?

Yes, the type of RFC is indicated in the title page header.

(2) The IESG approval announcement includes a Document Announcement Write-Up. Please provide such a Document Announcement Write-Up. Recent examples can be found in the "Action" announcements for approved documents. The approval announcement contains the following sections:

Technical Summary

  Relevant content can frequently be found in the abstract
  and/or introduction of the document. If not, this may be
  an indication that there are deficiencies in the abstract
  or introduction.

This document describes the Home Networking Control Protocol (HNCP), an extensible distributed configuration protocol for “unmanaged” (e.g., functions that are not configured manually or by a central management server of some kind) home network devices. The intent is to provide a distributed protocol for flooding of basic configuration state essential to IP network functionality.

HNCP is described as a profile of and extension to the Distributed Node Consensus Protocol (DNCP).  HNCP enables discovery of network topology and borders, automated configuration of addresses (using the algorithm defined in draft-ietf-homenet-prefix-assignment-08), name resolution, and service discovery.

Working Group Summary

  Was there anything in WG process that is worth noting? For
  example, was there controversy about particular points or
  were there decisions where the consensus was particularly
  rough?

The earliest roots of HNCP are in draft-acee-ospf-ospfv3-autoconfig-00 (Oct 2011) which was eventually published as Standards Track RFC 7503,  with the expectation that other documents would define HOMENET-specific TLVs to be carried inside OSPFv3.

Strong resistance from the WG (as well as open source router software developers) to this tight coupling between a specific routing protocol and network configuration led to the split of HNCP as a standalone protocol first defined in draft-stenberg-homenet-hncp-00.

Later, DNCP (generic aspects of HNCP concerning synchronization of state among a set of nodes using Trickle[RFC6206]) were split from the main HNCP document to allow for modularity and potential reuse. After this final split, the HNCP document describes the HOMENET-specific TLVs and the DNCP profile used to synchronize them across the home network.

Document Quality

  Are there existing implementations of the protocol?

The reference “hnetd” implementation is at https://github.com/sbyx/hnetd/ (project homepage at http://www.homewrt.org/doku.php).

There is a second (fully independent and interoperable) implementation available at https://github.com/jech/shncpd developed entirely from the specification documents without referal to the reference implementation.

There is a partial third implementation, though not fully independent, available here: https://github.com/fingon/pysyma


  Have a significant number of vendors indicated their plan to
  implement the specification?


The reference implementation has been a part of routing feed of OpenWrt since Barrier Breaker (14.07) release in July, 2014.

Google Nest, Comcast Xfinity, D-Link, Freebox, Technicolor, and Cisco have all expressed interest in implementing and/or shipping HNCP. HNCP is referenced in version 1.0 of the Thread Specification (Nest, Samsung, etc.)

“Homenet” running either the early OSPF version and later HNCP (with DNCP) has been demonstrated publicly at 9 IETF BnB events (every BnB since BnB began, plus at least one “pre BnB” event), HNCP split off from OSPF has been demontrated at the last 5 IETF BnB events. In addition to IETF, Homenet Implementations have been presented at:

3 IPv6 World Congress events in Paris
1 CES Event in Las Vegas
1 Cablelabs Meeting in Denver, Co

Are there any reviewers that merit special mention as having done a thorough review,  e.g., one that resulted in important changes or a conclusion that the document had no substantive issues? If there was a MIB Doctor, Media Type or other expert review, what was its course (briefly)? In the case of a Media Type review, on what date was the request posted?

Thomas Clausen provided an exhaustive review on behalf of Routing Area resulting in a number of changes to the document. Review (and coding effort) by Juliusz Chroboczek indicated that a second interoperable implementation was doable, and he provided only some minor clarifications that were incorporated later on. A number of other people have also reviewed the document.

Personnel

  Who is the Document Shepherd?

Mark Townsley

  Who is the Responsible Area Director?

Terry Manderson

(3) Briefly describe the review of this document that was performed by the Document Shepherd.  If this version of the document is not ready for publication, please explain why the document is being forwarded to the IESG.

The document shepherd reviewed the document, and comments of other reviewers, in particular one independent implementor who provided excellent review comments which have been incorporated. While not a work of Shakespeare, this is the working document upon which multiple independent interoperable implementations have now been based.

(4) Does the document Shepherd have any concerns about the depth or breadth of the reviews that have been performed?

No.

(5) Do portions of the document need review from a particular or from
broader perspective, e.g., security, operational complexity, AAA, DNS,
DHCP, XML, or internationalization? If so, describe the review that
took place.

The working group (mailing list) seems to have diverging views on how distributed DNS in a home network should be handled; there has been no explicit criticism of the design within the document, but there seem to be alternatives (e.g. TSIG-based centralized server with proxied or host-sourced updates).

(6) Describe any specific concerns or issues that the Document Shepherd
has with this document that the Responsible Area Director and/or the
IESG should be aware of? For example, perhaps he or she is uncomfortable
with certain parts of the document, or has concerns whether there really
is a need for it. In any event, if the WG has discussed those issues and
has indicated that it still wishes to advance the document, detail those
concerns here.

Modularization of DNCP from HNCP led to readabiliity and scope issues by some reviewers, in particular those reading DNCP alone with no background as to its origin. As such, it may be beneficial to advance the two as a cluster.

(7) Has each author confirmed that any and all appropriate IPR
disclosures required for full conformance with the provisions of BCP 78
and BCP 79 have already been filed. If not, explain why.

Yes.

(8) Has an IPR disclosure been filed that references this document?
If so, summarize any WG discussion and conclusion regarding the IPR
disclosures.

No.

(9) How solid is the WG consensus behind this document? Does it
represent the strong concurrence of a few individuals, with others
being silent, or does the WG as a whole understand and agree with it? 

The overall design seems to be approved by majority; some details (e.g. choice of routing protocol to use) seemed unsolvable and were left outside the document.

(10) Has anyone threatened an appeal or otherwise indicated extreme
discontent? If so, please summarise the areas of conflict in separate
email messages to the Responsible Area Director. (It should be in a
separate email because this questionnaire is publicly available.)

TBD

(11) Identify any ID nits the Document Shepherd has found in this
document. (See https://www.ietf.org/tools/idnits/ and the Internet-Drafts
Checklist). Boilerplate checks are not enough; this check needs to be
thorough.

No Nits.

(12) Describe how the document meets any required formal review
criteria, such as the MIB Doctor, media type, and URI type reviews.

N/A

(13) Have all references within this document been identified as
either normative or informative?

Yes

(14) Are there normative references to documents that are not ready for
advancement or are otherwise in an unclear state? If such normative
references exist, what is the plan for their completion?

Prefix assignment RFC reference refers to the old draft; the document is in RFC Editor queue.

(15) Are there downward normative references references (see RFC 3967)?
If so, list these downward references to support the Area Director in
the Last Call procedure.

No downward normative references.


(16) Will publication of this document change the status of any
existing RFCs? Are those RFCs listed on the title page header, listed
in the abstract, and discussed in the introduction? If the RFCs are not
listed in the Abstract and Introduction, explain why, and point to the
part of the document where the relationship of this document to the
other RFCs is discussed. If this information is not in the document,
explain why the WG considers it unnecessary.

No status changes indicated.

(17) Describe the Document Shepherd's review of the IANA considerations
section, especially with regard to its consistency with the body of the
document. Confirm that all protocol extensions that the document makes
are associated with the appropriate reservations in IANA registries.
Confirm that any referenced IANA registries have been clearly
identified. Confirm that newly created IANA registries include a
detailed specification of the initial contents for the registry, that
allocations procedures for future registrations are defined, and a
reasonable name for the new registry has been suggested (see RFC 5226).

Document requests one IANA registry for TLV-types with action “RFC required”,
initial contents and policies are given. Furthermore allocation of two UDP ports and a well-known IPv6 link-local multicast group are requested, the purpose of the allocation is mentioned.

(18) List any new IANA registries that require Expert Review for future
allocations. Provide any public guidance that the IESG would find
useful in selecting the IANA Experts for these new registries.

No registries with “Expert Review” requested. Only requested IANA registry has policy “RFC Required”.

(19) Describe reviews and automated checks performed by the Document
Shepherd to validate sections of the document written in a formal
language, such as XML code, BNF rules, MIB definitions, etc.

There is no formal language used in this document.

2015-10-05
09 Mark Townsley Responsible AD changed to Terry Manderson
2015-10-05
09 Mark Townsley IETF WG state changed to Submitted to IESG for Publication from Waiting for WG Chair Go-Ahead
2015-10-05
09 Mark Townsley IESG state changed to Publication Requested
2015-10-05
09 Mark Townsley IESG process started in state Publication Requested
2015-10-05
09 Mark Townsley IETF WG state changed to Waiting for WG Chair Go-Ahead from In WG Last Call
2015-10-05
09 Mark Townsley Changed document writeup
2015-08-31
09 Steven Barth New version available: draft-ietf-homenet-hncp-09.txt
2015-08-06
08 Steven Barth New version available: draft-ietf-homenet-hncp-08.txt
2015-07-23
07 Jonathan Hardwick Request for Early review by RTGDIR Completed: Not Ready. Reviewer: Thomas Clausen.
2015-07-23
07 Jonathan Hardwick Closed request for Early review by RTGDIR with state 'No Response'
2015-07-16
07 Mark Townsley DNCP changes may require HNCP updates
Various comments from extensive reviews to be reconciled, including some received offlist to be brought to WG.
2015-07-16
07 Mark Townsley Tag Revised I-D Needed - Issue raised by WGLC set.
2015-07-05
07 Steven Barth New version available: draft-ietf-homenet-hncp-07.txt
2015-06-23
06 Ray Bellis IETF WG state changed to In WG Last Call from WG Document
2015-06-23
06 Ray Bellis Notification list changed to "Mark Townsley" <mark@townsley.net>
2015-06-23
06 Ray Bellis Document shepherd changed to Mark Townsley
2015-06-23
06 Ray Bellis Intended Status changed to Proposed Standard from None
2015-06-17
06 Markus Stenberg New version available: draft-ietf-homenet-hncp-06.txt
2015-06-02
05 Steven Barth New version available: draft-ietf-homenet-hncp-05.txt
2015-05-20
04 Jonathan Hardwick Request for Early review by RTGDIR is assigned to Thomas Clausen
2015-05-20
04 Jonathan Hardwick Request for Early review by RTGDIR is assigned to Thomas Clausen
2015-05-20
04 Jonathan Hardwick Request for Early review by RTGDIR is assigned to Martin Vigoureux
2015-05-20
04 Jonathan Hardwick Request for Early review by RTGDIR is assigned to Martin Vigoureux
2015-05-20
04 Jonathan Hardwick Closed request for Early review by RTGDIR with state 'No Response'
2015-05-13
04 Jonathan Hardwick Request for Early review by RTGDIR is assigned to Hannes Gredler
2015-05-13
04 Jonathan Hardwick Request for Early review by RTGDIR is assigned to Hannes Gredler
2015-03-05
04 Steven Barth New version available: draft-ietf-homenet-hncp-04.txt
2015-01-06
03 Steven Barth New version available: draft-ietf-homenet-hncp-03.txt
2014-10-27
02 Markus Stenberg New version available: draft-ietf-homenet-hncp-02.txt
2014-06-25
01 Markus Stenberg New version available: draft-ietf-homenet-hncp-01.txt
2014-04-23
00 Ray Bellis This document now replaces draft-stenberg-homenet-hncp instead of None
2014-04-22
00 Markus Stenberg New version available: draft-ietf-homenet-hncp-00.txt