Minutes IETF101: roll
minutes-101-roll-00
Meeting Minutes | Routing Over Low power and Lossy networks (roll) WG | |
---|---|---|
Date and time | 2018-03-23 09:30 | |
Title | Minutes IETF101: roll | |
State | Active | |
Other versions | plain text | |
Last updated | 2018-04-05 |
minutes-101-roll-00
ROLL meeting Thursday 21 March; 9h30 - 12h00 Peter and Ines: Introduction (10 minutes) . Papadopoulos: object function (15 Minutes) draft: draft-ji-roll-traffic-aware-objective-function-00 Papadopoulos: RPL DAG Metric Container (15 minutes) draft: draft-koutsiamanis-roll-nsa-extension-01 Rahul: discussion of open problems (30 minutes) draft-rahul-roll-rpl-observations-00 Carsten (and Pascal) use of BIER in RPL uni- and multicast (45 minutes) draft-ietf-roll-ccast-01 draft-thubert-roll-bier-01 Michael (and xxxx): Parent selection before or after enrollment (30 minutes) draft-richardson-6tisch-roll-enrollment-priority-00 5 MINUTES open MIC to discuss continuation Note takers - Dominique Barthel, Georgios Papadopoulos - more welcome! Meeting notes [9:30] Meeting starts [9:30] Introduction (chairs) * Note Well, note takers, blue sheets, Note Well * updated the milestone list to more realistic target dates * Active internet drafts * notice IPR on two drafts, mail was sent out. Please react * Peter: this time, long ROLL meeting. Many topics to discuss. Want to get some feedback on the length of this meeting [9:36] draft-ji-roll-traffic-aware-objective-function-00 Aris: is presenting his draft on Load Balancing * new routing metric container proposed. * simulation results * the proposal is developed over Contiki OS (and Cooja simulator) * number of DIOs sent as a measure of network stability: this proposal does a bit better than state of the art (i.e., MRHOF, Child Count draft) * open questions: packets or bytes? time units? assumption of homogeneous forwarding cpapacity of nodes, should we send capacity as well in DIO? * how to relate energy consumption to packets/bytes sent? * * Shall this value be integrated with EB/IE, * Giorgios: this is layer 3 info, should not get into EB * Rahul: interesting work, done something similar * Aris: let compare notes * MCR: your diagram on slide 12, how do you ensure node 7 attaches to 4 in order to allow 5 to accommodate 8? * Michael: there should be more experiments with more children per parent, to see the impact of overloaded children per device * Rahul: OF here only takes packet transmission rate into account. * Aris: would use other metric as well, and this one as a secondary metric. * Charlie Perkins: * Charlie: study stability [9:49] RPL DAG Metric Container (MC) Node State and Attribute (NSA) object type, extension (Aris) * New TLV proposed in NSA object, for packet replication and elimination * already presented at Singapore * aim is determinism for reliability * The employed mechanism is the so-called Packet Replication and Elimination (PRE) * key point is to select the alternate parent to send replica to * idea is to pick alternate parent that has common ancestor with best parent. * new TLV contains IPv6 addresses so that ancestors can be learnt * wireshark dissector was written * drawback is size of IPv6 addresses that are sent. Compressed out some of it. * The idea is to keep the default parent and alternative parent so that to have the parents as close as possible to allow overhearing * MCR: to compress IPv6 addresses, look at 6LoRH header, code available * Carsten: your draft has NSA in the title ;-) * Peter: how does your proposal co-exist with other parent selection draft? * Aris: this is just a Constraint, not a metric. Can work with OFs * Pascal: the OF at IETF are simple, but more metrics exposed. OF should be piece of logic. Your OF would be one with high level of intelligence. * Peter: would be nice if this draft reflects how it interacts with OFs * Ines: this is of interest to ROLL, also needed by 6TiSCH * Pascal: 6TiSCH does not *need* this, but a solution that benefits from 6TiSCH would also benefit from this. [10:01] draft-rahul-roll-rpl-observations-00 (Rahul) * just observations of issues, no solution here * Smart Meter networks, 60 hops, thousands of nodes * issues mostly related to storing mode * how to handle DTSN increment? want to also check how BIER does * issue is DAO not getting through to the Border Router. Need for some redundancy. Re-transmit at every DIO Trickle timer interval? * has seen 10% of nodes not joined, for a long time. * on parent switch, should node increment DTSN * * (Dilemma 2) On parent switch, should node increase its DTSN? * DAO-ACK: could be a solution if were handled properly. Current RPL spec has multiple interpretations possible. * Contiki (new) implemented DAO-ACK hop-by-hop. RioT implements end-to-end. * RPL spec say aggregated target is possible, but how to handle failure? * problem will show on multiple hops, not simple one-hop network * third proposal: downside is aggregated ACKs is not possible. * handling node reboots: how is RPL state is maintained. * not acceptable to write to flash repeatedly (endurance issue). Incrementing DTSN 5 times a day is a problem, reportedly * Carsten: what level of ?? are you considering? * Rahul: numbers in the draft, please look at them and comment * handling resource unavailability * neighbor cache full, routing table full: how do you signal it? * impacted packet delivery rate in this experiment. Some ideas for workaround, but would like to hear about other's experience. * MCR: excellent work, should adopt it. Lots of useful points. Hadn't realized that the spec was ambiguous. * MCR: one document with solution: e.g. DTSN increment is clearly a bug in the spec. * MCR: another document to discuss issues we don't have a solution for. * Pascal: agrees to thank for the work, not so much for the rest that michael said. * Pascal: a bit of history: left a few things open when writing spec because did not know what to decide. Don't rush to immediate solution. * Pascal: RPL is not just for wireless. It's a routing protocol. Also used on wires. * Pascal: explains thinking about DAO-ACK. We need something to solve the end-to-end delivery. * Pascal: version rebuilds everything, DTSN " repaints" the DAODAG. Discrepancy is found when seeing traffic from unknown node. * Pascal: wanted capability to rebuild the network intelligently by having a timer that is long enough so that ...., never specified that. * MCR: seems Pascal agrees. Just clarified a lot of things. 6550 did not capture that clearly. Low hanging fruit document should only include non-controversial points. * MCR: a bunch of knowledge just exposed, glad it's captured on tape. Want to capture it in text quickly. * Rahul: will go to the mailing list to get consensus on what is non-controversial * Ines: a document for the problem statement and links to solutions * Pascal: problem statement does not need to be published * Peter: draft could expire. * Rahul: understand could maintain this draft as long as needed, and develop solutions in other documents? * Carsten: in the past in RoHC WG, have kept a standing doc for 5 years. [10:31] draft-ietf-roll-ccast-01 (Carsten) * this is more than 5 years old. * thought it would be good to have multicast for non-storing mode. * result of a " constrained-cast" reseach project. * in 2014, BIER appeared, revived interest. * Carsten shows tutorial slide. Efficient representation of lists of data. Bloom filters, dating back 1970's. * False positives create spurious transmissions, energy consumption. How bad is it? In dense network, gets worse. Still, can leave with some of it * False positives depend on number of bits allocating. Two many bits is also a problem. * Matt Gillmore (Itron): [10:40] draft-thubert-roll-bier-01 (Pascal, Toerless Eckert) * has backup slides to explain how BIER works with RPL, look at them at the back of the presentation or ask me to present them * can be used in storing or non-storing, unicast or multicast * Carsten: *set* vs. *sequence* * Pascal: set out to write a doc showing how all 4 cases can be done. * with bitmap, amount of storage is related to number of children, which can be controlled. Could revive storing-mode. * BIER-TE specifies bits for each hop to follow. False positive create forwarding to wrong path * Toerless: don't we want rough characterization (overhead, resources) before writing the drafts? * Pascal: Bit-by-bit fits the BIER architecture. Bloom filter needs some adaptations. * Carsten: comparing different metrics: good way to compress bit fields. Number hosts (storing mode) of forwarding nodes (non-storing mode). * Pascal: 200 hosts, how many bits do I need? * Toerless: * Carsten: bit assignment can be managed with RPL, with ND. * Carsten: could look at more ways to compress bitmaps. Could get efficiency close to that of Bloom filters. * Carsten: I' m interested in non-storing mode * Pascal: could use * Carsten: non-storing case is slightly simpler, because the actual source is always the root. * Pascal: with Bloom, creates a problem. By contrast, bit by bit allows to send multicast from inside the network. This is a differentiating point * Pascal: work to be done at BIER: allocation of bit to address, * still work to be done to compress RPL control plane messages (DIO, DAO, ...) * Toerless: what 's the packet format? can we replace IPv6 header with BIER header? * Pascal: compressed form, but packet complies with the IPv6 architecture. Can always reconstruct the full IPv6 packet using the implicits. * Pascal goes through RPL tutorial slide. Bit allocation. Aggregating bits in DAO operation. * Giorgios: what do you do if too many nodes? * Pascal: Bier can do groups. * Pascal explains how to forward messages based on bitmaps. * can be made reliable with ACK, which are OR'ed together as they go back up. * Peter: is there interest in the working group for this work? Humm now: humms heard. * Peter: anybody opposed? Speak up now. * Carsten: IPR? * Peter: propose to start design team. * Carsten: send lawyers * Toerless: isn't it always the case? Can create a design team and see later if proposed options are covered with IPR. * Peter: suggest Carsten, Pascal, Toerless, Olaf, Greg, Ijsbrand (Cisco), Giorgios, Emmanuel. * Peter: Toerless to coordinate. * Peter: DT to create doc with alternatives, IPR info. [11:16] draft-richardson-6tisch-roll-enrollment-priority-00 (Michael) * set of requirements coming from 6TiSCH to do in ROLL. * not specific to 6TiSCH, though. * Problem is network selection. Given a node that can hear many routers belonging to several networks, which one to select? * Would like to not have to try all routers, but rather know which network they belonging too without revealing too much. * We need to do DODAG selection, inside a network. * if different PANIDs, probably different keys. * Carsten: if secret handshake, none of the two parties disclose anything to a third party. * Michael: not quite the same problem. * our objective is node not going through all networks * Carsten: done with SSID * MCR: no SSID in 15.4. Has PANID, but too short and other problems. * in 6TiSCH, IE to contain * proxy priority: reflects resources allocated for unknown nodes wanting to join * R says if it will answer unicast Router Solicitation * network ID * DODAG priority: reflects willingness to accept new traffic. * Carsten: this reveal node is trying to join * MCR: secret handshake in zero-touch way, would love it * Thomas: emphasizes waste of energy of blind search. This helps a lot. Real use case. * Pascal: agrees with Thomas. Mostly interested in DODAG priority. In the field, we see instability in structures that we build. Oscillations. * Pascal: load at the root is the load of thee network. Work to do is to end up with balanced situation * need new metric container. Will be transmitted unchanged as DIOs go down the network. * new DIO configuration option. To convey the new network ID. * Pascal: your new metric does for the whole network what an OF does for a node. * Pascal: number of node left, amount of bandwidth left. Not so much percentages, because could translate to different absolute values. * MCR: in storing mode, as RPL is now, we don't know the load of the nodes * Peter: can you say again what this documennt is exactly about? * MCR this is just the description of a DIO container. Maybe suggest way of calculating this metric. * Peter: parent selection in another document? * MCR: true. * Peter: who's read? who's willing to review? who thinks we should adopt? * Ines: we'll go to the mailing list. [11:43] Open mic * Aris: finds all problems discussed very interesting. What about replicability? how to share information that would allow to reproduce situation in simulation * Rahul: agree it's a big issue. Working on a framework specifically for this. Whitefiled? framework. * MCR: F-interop is also very cool. * MCR: been the case in ROLL WG that issues were reported but no detailed info was available to simulate/replicate issue. * MCR: Cooja runs Contiki, does not allow to compare RIOT and Contiki implementations. * Thomas: there's a lot to verify. F-interop to verify interoperability. For performance, 6TiSCH python simulator and interface. Allows to enter a scenario and get graphs. Only part of the answer to your question, but still something. * Ines: introduces tomorrow's meeting. * Peter welcome feedback on time of this meeting. Do you prefer longer or shorter one? [11:51] meeting ends ===== Friday meeting Friday 23/3 9h30-11h30 Ines+Peter: Introduction (5 min) Charlie: Asymmetric AODV-P2P-RPL in LLNs (15 mins) draft-ietf-roll-aodv-rpl-02 Pascal: ND only device connects to RPL DODAG. (20 mins) draft-thubert-roll-unaware-leaves-01 Rahul: DCO performance report (15 mins) draft-ietf-roll-efficient-npdao Pascal: Objective function specification and selection for parent selection, DAG selection (30 minutes) draft-thubert-roll-unaware-leaves-01 Pascal: Root initiated routing state in RPL (15 mins) draft-ietf-roll-dao-projection-02 Dominique: state of Dis-modifications (5 min) draft-ietf-roll-dis-modifications-00 xxxxx: RPL-load balancing (15 mins) draft-qasem-roll-rpl-load-balancing-02 15 MINUTES DISCUSSION: All: Discussion on new subjects Which topics and priority, Authors, Reviewers. [9:30] Meeting starts [9:31] Routing for RPL Leaves (Pascal) * original idea was low cost nodes roaming through 6LRs. * called a leaf, is RPL-unaware. Does not know RPL is being used. Only uses 6LoWPAN ND * had to change 6LoWPAN-ND because fabric has to know what is the latest location, so that it can route to the leaf * comparing timestamps does not work because tolerance on timers and mobility speed unknown * now, source generates a sequence. Ordering becomes obvious * also change source address validation. Address could be spoofed (stolen) and traffic diverted. * association mechanism mimicking that of 802.11. Leaf pro-actively installs state in the 6LR (equal to AP in 802.11) so that the 6LR knows has to forward multicast traffic for this leaf * this supports RPL but also any other similar routing protocol * Pascal shows the address validation mechanism. ROVR is token to prove ownership of address. Only proves address on first hop * new spec: leaves set the R bit to 1 to instruct 6LR to inject this address into routing * Transaction ID is a sequence counter to be injected into the DAO Path Sequence Number. * Rahul: Path Sequence is optional * Pascal: believe it is mandatory. Otherwise, we have a problem * Rahul: will check. * Registration lifetime: in ND, expressed in minutes. In RPL, configuration that tells the time-unit. * Rahul: Transit Info not mandatory * Pascal: will check * Rahul: none of the open source RPL implementation currently use Path Sequence. * Pascal: if the MUST is missing, this is a bug. We'll look at it offline. * Pascal: still lacking a reference open-source implementation of RPL. Do not judge the quality of RPL by the quality of some implementations out there. * shows message exchange diagram. New spec mandates 6CIO option from 6LBR down to the 6LRs. * Peter (from the floor): what happens if we mix 6LR with and without the new option? * Pascal: the spec discusses this. It works. On security side, weaker because smaller keys. Spec recommends a leaf attaches to a "new" 6LR. An old 6LR on the way from the attachment 6LR and 5LBR is okay. * signaling is in the 6775-update doc, how proxy operation is done is in the backbone doc. * Got reviews from IESG, not quite closed yet but looking good. * shows diagram on address validation: protects the legitimate owner against other nodes trying to steal that address. * re-iterates that only first hop is protected, RPL is not. * we'll discuss on the mailing list on Rahul draft (DAO-ACK). * Pascal: if you're implementing RPL, understand that when a 6LR accepts a DOA from a child, it takes responsibility for transmitting ii up. * is the RPL root the LBR? technically, could be separate. In Pascal's mind, should be the same * big discussion that needs to be had: do we MUST that 6LBR and RPL root are one? * proposes to use RPL DAO to accomplish what DAR/DAC does. * remember that RPL will not do DAD, since ROVR doesn't go to Root. * summary: very simple node roams smoothly across meshed 6LRs, many DODAGs. * on terminology: RPL defines "leaf", a node that understands RPL but does not route. This draft defines "unaware-leaf", a node that doesn't even understand RPL. * pre-requisite: 6775-update, IP-in-IP, RPI header * if 6LBR was not RPL root: could make it work, no too sure. * do we have a use case for it? * Peter: who has read the draft? a few hands? * Peter: is this 6Tisch-related? useful to 6TiSCH, but not even routing-related. * Pascal: simple work, but really important. Most of it done at 6lo. * Pascal: had this dream from the start, could not implement it with RPL, now can. * work not quite done yet, if you are interested, join in. [10:15] Asymmetric AODV-P2P-RPL in LLNs (Charlie) * allows asymmetrical routes between nodes pairs. * went into last call, got lots of comments * most extensive comments: some features of P2P-RPL not implemented in OADV-RPL. As a result, attempted to include these. * discussion on use of DSTN for sequence number. * Pascal: two sequence counters coming down from the root. One when new DAODAG is built (version number), rebuilding a new DODAG including reparenting. * DTSN is to refresh the state associated to current topology. * what exactly is your destination sequence number? * Charlie: not sure, will have it as a separate discussion. * will suggest using OADV's feature to deal with uni-directional links. * this draft was published quickly to meet the submission deadline. Will get a revised version soon. * Pascal: original P2P-RPL used DIO for RReq and DAO as RReply. Needs a certain degree of bidirectionality. * Pascal: Charlie, your work is the only one that uses DIO both ways to discover the route. This is good: P2P-RPL uses DIO in one way and DAO the other way, does not work as well in presence of asymmetrical links. * Pascal/Dominique: discussion on the causes for asymmetry. * this draft defines new RREQ/RREP option. Imported from 6997 * new target option. * had discussion on pairing of InstanceIDs (one for each direction). << missed part of it>>>> * to be done * citing 6997 cannot be normative, because it's experimental. * InstanceID conflicts * import black-hole link detection of OADV? * Rahul: you said asymmetrical link detection is out of scope. * Charlie: could make it in scope * Rahul: the probing of links for asymmetry should not be in scope * Charlie: the metric should be there * Pascal: doesn't seem we need to do anything. Building another DAG, using DIO. If a link is asymmetrical, flooding will not happen, that's it. * Peter: would like this document to be completed. Have this discussion on the mailing and get to a conclusion in the next few weeks. [10:38] Route invalidation, experiment report (Rahul) * remember NPDAO sent downstream * DCO and NPDAO operating at same time in the network. * report link sent on the mailing list a month and half ago * two topologies, 50 and 100 nodes. All nodes are started at same time. * much less stale entries with DCO than with NPDAO. * control overhead better for DCO as well. * analysis of what happens on parent switching (identical in Contiki and RIOT). Send NPDAO immediately, schedule a new DAO for later. Hence route downtime. * Pascal: Contiki and RIOT implementations are not RPL. Don't state the quality of RPL based on these implementations. * Rahul: with DCO, .... * Pascal: you may be sending two DAOs, one gets slowed down, your DCO gets earlier. Don't be too quick in sending the uplink * Pascal: another point: traditional in LS to cleanup the bad state left over on mobility. From hearsay, proven to be complex. Should research on this. * Pascal: bad history of doing this in other routing protocols. * Alvaro: in other protocols, do flush. Problem is flushing for somebody else that's no longer there. State expires. Connectivity fails. * Alvaro: there has been proposals on proxying, nobody very happy with this. * Pascal: keep a note that we should experiment with this before standard RFC. I feel this is safe, but needs a check * Rahul: still kept the bit .... * Rahul: next steps * text changes (Destination Cleanup Object), but no semantic change for a long time. * would like to WGLC this * Peter: also wants this * Peter: perf report in appendix? * Peter: if you have publication elsewhere, you can also refer to it. * Pascal: Cisco and Huawei both have IPR on this. * Rahul has invited Pascal to join the work on this. [10:56] Root initiated routing state in RPL (Pascal) * two implementations under way. One by Huwaei, one * invited Huawei (whom?) and Matt Gillmore to this draft. * not much progress recently * Need to discuss size of MoP, 3 bits. AODV uses a new MOP as well. We'll be short on bits pretty soon. * Charlie: discussion also holds for AODV-RPL. Should it use new MOP or new message numbers? * Pascal: 8 MOP values. 4 consumed in the base spec. 1 is experimental, can be claimed back. Leaving 5. * Remaining questions * how is the topology known to the root? non-storing, DAOs tell the DODAG. storing, not much. * how are node capabilities know to the root? extend the DAO to include things such as memory size? * Rahul: * Pascal: constrained nodes usually don't do storing mode. If you do storing mode, do it well. If node reparents, need to be able to reconstruct state. * mixed modes? * loop avoidance * Peter: could you reduce document to non-storing mode and avoid all the storing-mode related problems? * Pascal: answer is no. Initial motivation was to build networks with long lines of nodes, want to compress this line with local storing mode. Send in non-storing mode only to the beginning of the line. * Rahul: loop avoidance will be updated in this draft [11:08] Status of draft-ietf-roll-dis-modifications-00 * interest for this work re-iterated on the mailing list. * Dominique and Cenk will allocate resource to work on this by the summer * Pascal willing to help * discussion whether this draft should just provide the flags and options or should also recommend the use of each mode and option for different real-world situations * Pascal: we've had these discussions in hallways on multiple instances since Maastricht. * not much resource available to that. * Pascal: could target the experimental track and publish quickly * Dominique: will revive this discussion on the mailing list and move forward. [11:23] meeting closed