RFC 5548

Routing Requirements for Urban Low-Power and Lossy Networks

๐Ÿ“… published May 2009, from ietf

RFC 5548: Routing Requirements for Urban Low-Power and Lossy Networks ๐ŸŒธ

okay bestie, this is RFC 5548 ๐ŸŽ€ and it's an Informational doc (so, a "here's what we learned" doc, not a standard) from the Network Working Group, dated May 2009. the editors are M. Dohler (CTTC), T. Watteyne (BSAC, UC Berkeley), T. Winter (Eka Systems) and D. Barthel (France Telecom R&D) ๐Ÿ’… it doesn't obsolete or update any other RFC, since the header doesn't list any.

Here's the full thing, with the Table of Contents first:

Network Working Group                                     M. Dohler, Ed.
Request for Comments: 5548                                          CTTC
Category: Informational                                 T. Watteyne, Ed.
                                                       BSAC, UC Berkeley
                                                          T. Winter, Ed.
                                                             Eka Systems
                                                         D. Barthel, Ed.
                                                      France Telecom R&D
                                                                May 2009

Status of This Memo ๐Ÿ“

this memo is just info for the Internet community. it doesn't specify an Internet standard of any kind, and you're free to distribute it as much as you want ๐Ÿฆ‹

Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved.

this document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). please read those carefully, because they spell out your rights and restrictions for this doc ๐Ÿซถ

Abstract โœจ

okay so the big idea is this: we're putting application-specific routing requirements for Urban Low-Power and Lossy Networks (U-LLNs) on paper ๐Ÿ™๏ธ in the near future, sensing and actuating nodes are going to live outdoors in cities. the goal is to improve people's living conditions and to monitor compliance with increasingly strict environmental laws ๐ŸŒˆ

these field nodes are expected to measure and report a wide gamut of data. think the stuff needed for smart-metering apps, or apps that track meteorological, pollution, and allergy conditions ๐ŸŒธ most of these nodes will talk wirelessly over links like IEEE 802.15.4, low-power IEEE 802.11, or IEEE 802.15.1 (Bluetooth). the radio range is limited and there are tons of nodes, so you NEED suitable routing protocols, and that's the main headache here ๐Ÿ˜ญ

the design is mainly shaped by how little the nodes have (memory, processing power, battery, etc.) and by the particular vibes of outdoor urban scenarios ๐ŸŒ† so for a wireless solution for Routing Over Low-Power and Lossy (ROLL) networks to be useful, the protocols ought to be energy-efficient, scalable, and autonomous โšก this document aims to specify a set of IPv6 routing requirements that reflect all of that and the other tailored characteristics of U-LLNs ๐Ÿ’œ

Table of Contents ๐Ÿงš

1. Introduction ....................................................3
2. Terminology .....................................................3
   2.1. Requirements Language ......................................4
3. Overview of Urban Low-Power and Lossy Networks ..................4
   3.1. Canonical Network Elements .................................4
        3.1.1. Sensors .............................................4
        3.1.2. Actuators ...........................................5
        3.1.3. Routers .............................................6
   3.2. Topology ...................................................6
   3.3. Resource Constraints .......................................7
   3.4. Link Reliability ...........................................7
4. Urban LLN Application Scenarios .................................8
   4.1. Deployment of Nodes ........................................8
   4.2. Association and Disassociation/Disappearance of Nodes ......9
   4.3. Regular Measurement Reporting ..............................9
   4.4. Queried Measurement Reporting .............................10
   4.5. Alert Reporting ...........................................11
5. Traffic Pattern ................................................11
6. Requirements of Urban-LLN Applications .........................13
   6.1. Scalability ...............................................13
   6.2. Parameter-Constrained Routing .............................13
   6.3. Support of Autonomous and Alien Configuration .............14
   6.4. Support of Highly Directed Information Flows ..............15
   6.5. Support of Multicast and Anycast ..........................15
   6.6. Network Dynamicity ........................................16
   6.7. Latency ...................................................16
7. Security Considerations ........................................16
8. References .....................................................18
   8.1. Normative References ......................................18
   8.2. Informative References ....................................18
Appendix A.  Acknowledgements .....................................20
Appendix B.  Contributors .........................................20

1. Introduction ๐ŸŽ€

this doc details application-specific IPv6 routing requirements for Urban Low-Power and Lossy Networks (U-LLNs) ๐Ÿ™๏ธ quick note: it sticks to strict compliance with the layered IP architecture, which is very much the vibe we want. we'll go through the U-LLN use cases and the routing protocol requirements that go with them ๐Ÿ’…

here's the roadmap:

Section 2 defines terminology useful for describing U-LLNs ๐Ÿ“š

Section 3 gives you an overview of U-LLN applications โœจ

Section 4 covers a few typical use cases for U-LLN applications, showing deployment problems and the related routing issues ๐Ÿ”

Section 5 describes the traffic flows that will be typical for U-LLN applications ๐ŸŒŠ

Section 6 talks about the routing requirements for networks made of constrained devices in a U-LLN environment. these requirements may overlap with or be derived from other application-specific requirements documents [ROLL-HOME] [ROLL-INDUS] [ROLL-BUILD] ๐Ÿซถ

Section 7 gives an overview of routing security considerations for U-LLN implementations ๐Ÿ”

2. Terminology ๐Ÿ“š

the terminology here is consistent with, and builds on, what's in "Terminology in Low power And Lossy Networks" [ROLL-TERM] ๐Ÿง  this doc extends it with the following terms:

  • Anycast: an addressing and routing scheme for forwarding packets to at least one of the "nearest" interfaces from a group, as described in RFC4291 [RFC4291] and RFC1546 [RFC1546] ๐ŸŽฏ
  • Autonomous: refers to a routing protocol's ability to function independently without needing any external influence or guidance. it includes self-configuration and self-organization capabilities ๐Ÿค–
  • DoS: Denial of Service, a class of attack that tries to cause resource exhaustion to the detriment of a node or network ๐Ÿ’€
  • ISM band: Industrial, Scientific, and Medical band. it's a region of radio spectrum where low-power, unlicensed devices may generally be used, with specific guidance from an applicable local radio spectrum authority ๐Ÿ“ก
  • U-LLN: Urban Low-Power and Lossy Network ๐Ÿ™๏ธ
  • WLAN: Wireless Local Area Network ๐Ÿ›œ

2.1. Requirements Language ๐Ÿ’…

okay so here's the important bit about the key words. the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] ๐Ÿ“– bestie, read those carefully, they're literally the rules of the game ๐Ÿ‘‘

3. Overview of Urban Low-Power and Lossy Networks ๐ŸŒ†

3.1. Canonical Network Elements ๐Ÿงšโ€โ™€๏ธ

a U-LLN is understood to be a network made of three key elements, i.e.,

  1. sensors,
  2. actuators, and
  3. routers

and they all talk wirelessly ๐Ÿ“ถ the next sections (3.1.1, 3.1.2, and 3.1.3) are there to show the functional nature of a sensor, an actuator, and a router in this context. that said, these functionalities are not exclusive! a single device can act as a simple router, or it can be a router with a sensing functionality too. in that second case, it'll be treated as a "regular" router as far as routing is concerned ๐Ÿ’–

3.1.1. Sensors ๐ŸŒก๏ธ

sensing nodes measure a wide gamut of physical data, including but not limited to:

  1. municipal consumption data, such as smart-metering of gas, water, electricity, waste, etc.;
  2. meteorological data, such as temperature, pressure, humidity, UV index, strength and direction of wind, etc.;
  3. pollution data, such as gases (sulfur dioxide, nitrogen oxide, carbon monoxide, ozone), heavy metals (e.g., mercury), pH, radioactivity, etc.;
  4. ambient data, such as levels of allergens (pollen, dust), electromagnetic pollution, noise, etc.

sensor nodes run apps that usually gather the measurement data and send it to data collection and processing apps on other node(s), often outside the U-LLN ๐Ÿ“Š

sensor nodes are capable of forwarding data ๐Ÿ” they're generally not mobile in the majority of near-future roll-outs ๐Ÿง˜ and in lots of anticipated roll-outs, they may suffer from long-term resource constraints ๐Ÿชซ

the main example is a "smart grid" app: a city-wide network of smart meters and distribution monitoring sensors โšก smart meters in an urban "smart grid" app will include electric, gas, and/or water meters, usually run by one or several utility companies ๐Ÿข these meters can do advanced sensing, like measuring the quality of the electrical service a customer gets, providing granular interval data, or automating the detection of alarm conditions ๐Ÿšจ they may also do advanced interactive stuff that calls on an actuator component, like remote service disconnect or remote demand reset ๐Ÿ”Œ more advanced scenarios include demand response systems for managing peak load, and distribution automation systems that monitor the infrastructure delivering energy around the city ๐ŸŒƒ sensor nodes that can provide this kind of functionality may sometimes be called Advanced Metering Infrastructure (AMI) ๐Ÿงพ

3.1.2. Actuators ๐Ÿšฆ

actuator nodes are capable of controlling urban devices, like street or traffic lights ๐Ÿšฅ they run apps that receive instructions from control apps on other nodes (possibly outside the U-LLN) ๐ŸŽ›๏ธ the number of actuator points is well below the number of sensing nodes ๐Ÿ“‰ some sensing nodes may include an actuator component too, like an electric meter node with integrated support for remote service disconnect ๐Ÿ”ง actuators are capable of forwarding data ๐Ÿ” they're not likely to be mobile in the majority of near-future roll-outs ๐Ÿช‘ and actuator nodes may also suffer from long-term resource constraints, for example when they're battery powered ๐Ÿ”‹

3.1.3. Routers ๐ŸŒธ

okay so routers are the ones quietly closing the coverage and routing gaps inside the U-LLN ๐Ÿซถ. Their main jobs are:

  1. prolong the U-LLN's lifetime,
  2. balance nodes' energy depletion, and
  3. build advanced sensing infrastructures.

There can be several routers supporting the same U-LLN, but the number of routers is way below the amount of sensing nodes ๐Ÿ’…. Routers are generally not mobile, i.e., they're fixed to a random or pre-planned location ๐Ÿ“. Routers may, but generally do not, have any form of (long-term) resource constraint, except that they need to be small and sufficiently cheap ๐Ÿ’–. Routers are different from actuator and sensing nodes because they neither control nor sense ๐Ÿ™ˆ. That being said, a sensing node or actuator can also be a router within the U-LLN โœจ.

Some routers provide access to wider infrastructures, like the Internet, and in that context they're named Low-Power and Lossy Network Border Routers (LBRs) ๐ŸŒˆ.

LBR nodes in particular may also run applications that talk to sensor and actuator nodes (e.g., collecting and processing data from sensor applications, or sending instructions to actuator applications) ๐Ÿงš.

3.2. Topology ๐Ÿ—บ๏ธ

Whilst millions of sensing nodes may very well be deployed in an urban area, they're likely to be associated with more than one network ๐Ÿคฏ. These networks may or may not communicate with one another. The number of sensing nodes deployed in the urban environment to support some applications is expected to be in the order of 10^2 to 10^7. That's still huge and unprecedented in current roll-outs ๐Ÿ˜ญ.

Deployment is likely to happen in batches, e.g., boxes of hundreds to thousands of nodes arrive and get deployed ๐Ÿ“ฆ. The location of the nodes is random within given topological constraints, e.g., placement along a road, a river, or at individual residences ๐Ÿก.

3.3. Resource Constraints ๐Ÿ”‹

The nodes are highly resource constrained, i.e., cheap hardware, low memory, and no infinite energy source ๐Ÿฅฒ. Different node powering mechanisms are available, such as:

  1. non-rechargeable battery;
  2. rechargeable battery with regular recharging (e.g., sunlight);
  3. rechargeable battery with irregular recharging (e.g., opportunistic energy scavenging);
  4. capacitive/inductive energy provision (e.g., passive Radio Frequency IDentification (RFID));
  5. always on (e.g., powered electricity meter).

For a battery-powered sensing node, the battery shelf life is usually in the order of 10 to 15 years. So trying to maximize network lifetime with battery-powered nodes beyond that lifespan is useless ๐Ÿชซ.

The physical and electromagnetic distances between the three key elements, i.e., sensors, actuators, and routers, can generally be very large, from several hundreds of meters to one kilometer ๐Ÿ“. Not every field node is likely to reach the LBR in a single hop, so suitable routing protocols are required to manage the information flow in an energy-efficient manner ๐Ÿง .

The links between the network elements are volatile due to the following set of non-exclusive effects:

  1. packet errors due to wireless channel effects;
  2. packet errors due to MAC (Medium Access Control) (e.g., collision);
  3. packet errors due to interference from other systems;
  4. link unavailability due to network dynamicity; etc.

The wireless channel causes the received power to drop below a given threshold in a random fashion, which causes detection errors in the receiving node ๐Ÿ˜ตโ€๐Ÿ’ซ. The underlying effects are path loss, shadowing, and fading.

Since the wireless medium is broadcast in nature, nodes in their communication radios need suitable medium access control protocols that can resolve any arising contention ๐Ÿ“ป. Some available protocols may not be able to stop packets of neighboring nodes from colliding, which can lead to a high Packet Error Rate (PER) and cause a link outage ๐Ÿ’€.

The outdoor deployment of U-LLNs also has implications for the interference temperature, and therefore link reliability and range, if Industrial, Scientific, and Medical (ISM) bands are going to be used ๐ŸŒก๏ธ. For instance, if the 2.4 GHz ISM band is used for communication between U-LLN nodes, then heavily loaded Wireless Local Area Network (WLAN) hot-spots may become a detrimental performance factor. That can lead to a high PER and jeopardize the functioning of the U-LLN ๐Ÿšจ.

Finally, nodes appearing and disappearing cause dynamics in the network that can yield link outages and changes of topologies ๐ŸŽข.

4. Urban LLN Application Scenarios ๐Ÿ™๏ธโœจ

Urban applications represent a special segment of LLNs with its own unique set of requirements ๐Ÿ‘‘. To facilitate the requirements discussion in Section 6, this section lists a few typical, but not exhaustive, deployment problems and usage cases of U-LLN ๐Ÿ“.

4.1. Deployment of Nodes ๐Ÿ“ฆ

Unlike other LLN applications, deployment of nodes is likely to happen in batches straight out of a box ๐ŸŽ. Typically, hundreds to thousands of nodes are shipped by the manufacturer with pre-programmed functionalities, and then rolled out by a service provider or subcontracted entities ๐Ÿšš. Before or after roll-out, the network needs to be ramped up. This initialization phase may include, among others, allocation of addresses, (possibly hierarchical) roles in the network, synchronization, determination of schedules, etc. ๐Ÿ› ๏ธ

If initialization is performed before roll-out, all nodes are likely to be in one another's one-hop radio neighborhood. So pre-programmed Media Access Control (MAC) and routing protocols may fail to function properly, which wastes a large amount of energy ๐Ÿ˜ฉ. Whilst the major burden will be on resolving MAC conflicts, any proposed U-LLN routing protocol needs to cater for such a case. For instance, zero-configuration and network address allocation need to be properly supported, etc. ๐Ÿ™

After roll-out, nodes will have a finite set of one-hop neighbors, likely of low cardinality (in the order of 5 to 10). However, some nodes may be deployed in areas with hundreds of neighboring devices ๐Ÿ. In the resulting topology, there may be regions where many (redundant) paths are possible through the network. Other regions may depend on critical links to stay connected to the rest of the network ๐Ÿงต. Any proposed LLN routing protocol ought to support the autonomous self-organization and self-configuration of the network at the lowest possible energy cost [Lu2007], where autonomy is understood to be the ability of the network to operate without external influence ๐Ÿฆ‹. The result of such organization should be that each node, or set of nodes, is uniquely addressable so as to facilitate the set up of schedules, etc. ๐Ÿ”‘

Unless exceptionally needed, broadcast forwarding schemes are not advised in urban sensor networking environments ๐Ÿ™…โ€โ™€๏ธ.

4.2. Association and Disassociation/Disappearance of Nodes ๐Ÿ”„

After the initialization phase and possibly some operational time, new nodes may be injected into the network, and existing nodes may be removed from it ๐Ÿšช. The former might happen because a removed node is replaced as part of maintenance, or because new nodes are added since more sensors for denser readings/actuations are needed, or because routing protocols report connectivity problems. The latter might happen because a node's battery is depleted, the node is removed for maintenance, the node is stolen or accidentally destroyed, etc. ๐Ÿ˜ฑ

The protocol(s) should therefore be able to convey information about malfunctioning nodes that may affect or jeopardize the overall routing efficiency, so that the self-organization and self-configuration capabilities of the sensor network might be called on to facilitate the appropriate reconfiguration ๐Ÿ”ง. This information may include, e.g., exact or relative geographical position, etc. The reconfiguration may include changes of hierarchies, routing paths, packet forwarding schedules, etc. ๐Ÿ—‚๏ธ Furthermore, to inform the LBR(s) of a node's arrival and association with the network, as well as to tell freshly associated nodes about packet forwarding schedules, roles, etc., appropriate updating mechanisms should be supported ๐Ÿ“ฃ.

4.3. Regular Measurement Reporting ๐Ÿ“Š

The majority of sensing nodes will be configured to report their readings on a regular basis ๐Ÿ—“๏ธ. The frequency of data sensing and reporting may differ, but is generally expected to be fairly low, i.e., in the range of once per hour, per day, etc. โฐ The ratio between data sensing and reporting frequencies will determine the memory and data aggregation capabilities of the nodes ๐Ÿงฎ. Latency of an end-to-end delivery, and acknowledgements of a successful data delivery, may not be vital, since sensing outages can be observed at data collection applications. For instance, when there's no reading arriving from a given sensor or cluster of sensors within a day ๐Ÿ‘€. In this case, a query can be launched to check on the state and availability of a sensing node or sensing cluster ๐Ÿ”.

It's not uncommon to gather data on a few servers located outside of the U-LLN ๐Ÿข. In such cases, a large number of highly directional unicast flows from the sensing nodes or sensing clusters are likely to transit through an LBR ๐Ÿšฆ. Thus, the protocol(s) should be optimized to support a large number of unicast flows from the sensing nodes or sensing clusters towards an LBR, or highly directed multicast or anycast flows from the nodes towards multiple LBRs ๐Ÿ’œ.

Route computation and selection may depend on the transmitted information, the frequency of reporting, the amount of energy remaining in the nodes, the recharging pattern of energy-scavenged nodes, etc. โšก For instance, temperature readings could be reported every hour via one set of battery-powered nodes, whereas air quality indicators are reported only during the daytime via nodes powered by solar energy โ˜€๏ธ. More generally, entire routing areas may be avoided (e.g., at night) but heavily used during the day, when nodes are scavenging energy from sunlight ๐ŸŒž.

4.4. Queried Measurement Reporting ๐Ÿ”Ž

Occasionally, network-external data queries can be launched by one or several applications ๐Ÿ“ฒ. For instance, it may be desirable to know the level of pollution at a specific point, or along a given road, in the urban environment ๐ŸŒซ๏ธ. The queries' rates of occurrence are not regular but rather random, and heavy-tail distributions seem appropriate for modeling their behavior ๐Ÿ“ˆ. Queries do not necessarily need to be reported back to the same node that the query was launched from ๐Ÿ”. Round-trip times, i.e., from the launch of a query from a node until the delivery of the measured data to a node, are of importance ๐Ÿ•ฐ๏ธ. However, they're not very stringent: latencies should simply be sufficiently smaller than typical reporting intervals, for instance, in the order of seconds or minutes โฑ๏ธ. The routing protocol(s) should consider selecting paths with appropriate (e.g., latency) metrics to support queried measurement reporting ๐Ÿ›ฃ๏ธ. To facilitate the query process, U-LLN devices should support unicast and multicast routing capabilities ๐Ÿ’ซ.

The same approach also applies to schedule updates, provisioning of patches and upgrades, etc. ๐Ÿฉน In this case, however, the provision of acknowledgements and the support of unicast, multicast, and anycast are of importance ๐Ÿ’…โœจ.

4.5. Alert Reporting โœจ

Okay so every once in a while ๐Ÿšจ the sensing nodes measure something that counts as an alarm. Each node usually decides that locally, using a threshold that was pre-programmed or handed out ahead of time. Note that as a node gets close to the alert threshold, it may want to change its sensing and reporting cycles ๐Ÿ‘€. An alarm is usually picked up by a bunch of sensing nodes at once, so sending a single alert message along with where it started is enough in most cases, but not all ๐Ÿ™ˆ. For example, if the level of toxic gases goes above a threshold, the sensing nodes nearby all report the danger. Another example: a recycling glass container with a sensor that measures how full it is reports that it's full and needs emptying ๐Ÿพ.

Routes clearly need to be unicast (towards one LBR) or multicast (towards multiple LBRs) ๐Ÿ›ฃ๏ธ. Delays and latencies matter, but for a U-LLN supporting a typical application, deliveries within seconds should suffice in most cases ๐Ÿ’….

5. Traffic Pattern ๐Ÿฆ‹

Unlike traditional ad hoc networks, information in U-LLNs flows in one super clear direction ๐Ÿ’–. There are three main flows you need to know about:

  1. sensed information from the sensing nodes to applications outside the U-LLN, going through one or a subset of the LBR(s);
  2. query requests from applications outside the U-LLN, going through the LBR(s) towards the sensing nodes;
  3. control information from applications outside the U-LLN, going through the LBR(s) towards the actuators.

Some of the flows may need the reverse route to deliver acknowledgements. And eventually, some direct information flows between field devices without LBRs may happen too โœจ.

Sensed data is usually super correlated in space, time, and observed events. An example of the last one is when temperature goes up and humidity goes down as the day starts โ˜€๏ธ. Data may be sensed and delivered at different rates, and both rates are usually pretty low, like minutes, hours, days, etc. Data may be delivered on a schedule or a regular query. It may also come in irregularly after an externally triggered query, or get triggered by a sudden network-internal event or alert ๐Ÿ””. Schedules could be driven by, for example, a smart-metering app where data is expected every hour, or an environmental monitoring app where a battery-powered node reports its status at a specific time once a day ๐Ÿ”‹. Data delivery may trigger acknowledgements or maintenance traffic going the other way. So the network needs to be able to adjust to varying activity duty cycles, as well as periodic and sporadic traffic ๐Ÿ’ซ. Also, sensed data ought to be secured and locatable ๐Ÿ”.

Some data delivery has tight latency requirements. Think of a live meter reading for customer service in a smart-metering app, or a case where a sensor reading response has to arrive within a certain time to be useful โฑ๏ธ. The network should take into consideration that different application traffic may require different priorities when choosing a route through the network, and that some traffic may be more sensitive to latency ๐ŸŽ๏ธ.

A U-LLN should support occasional large-scale traffic flows from sensing nodes through LBRs (to nodes outside the U-LLN), like system-wide alerts. In the example of an AMI U-LLN, that could happen in response to something like a city-wide power outage โšก. Then all powered devices in a large segment of the network may have lost power and be running off a temporary "last gasp" source, like a capacitor or small battery ๐Ÿ˜ฑ. A node must be able to send its own alerts toward an LBR while still forwarding traffic for other devices that are also in an alert condition. The network needs to be able to manage this sudden large traffic flow ๐ŸŒŠ.

A U-LLN may also need to support efficient large-scale messaging to groups of actuators. For example, an AMI U-LLN supporting a city-wide demand response system will need to efficiently broadcast demand-response control information to a large subset of actuators in the system ๐Ÿ“ก.

Some scenarios will require internetworking between the U-LLN and another network, like a home network. For example, an AMI app that runs a demand-response system may need to forward traffic from a utility, across the U-LLN, into a home automation network. A typical use case would be telling a customer about incentives to reduce demand during peaks, or automatically adjusting the thermostat of customers who signed up for such a demand management program ๐ŸŒก๏ธ. Later traffic may flow back through the U-LLN to the utility ๐Ÿ”„.

6. Requirements of Urban-LLN Applications ๐Ÿ’ผ

Urban Low-Power and Lossy Network apps have a bunch of specific requirements related to their operating conditions, as we've seen in the previous sections ๐Ÿง .

6.1. Scalability ๐Ÿ“ˆ

The large and diverse measurement space of U-LLN nodes, coupled with typically huge urban areas, is going to yield extremely large network sizes ๐Ÿ™๏ธ. Current urban roll-outs sometimes have more than one hundred nodes. Future roll-outs, however, may easily reach numbers in the tens of thousands to millions. One of the most important LLN routing protocol design criteria is therefore scalability ๐Ÿ‘‘.

The routing protocol(s) MUST be capable of supporting the organization of a large number of sensing nodes into regions containing on the order of 10^2 to 10^4 sensing nodes each.

The routing protocol(s) MUST be scalable so as to accommodate a very large and increasing number of nodes without deteriorating selected performance parameters below configurable thresholds. The routing protocols(s) SHOULD support the organization of a large number of nodes into regions of configurable size.

6.2. Parameter-Constrained Routing ๐ŸŽ›๏ธ

Batteries in some nodes may deplete quicker than in others. The existence of one node for maintaining a routing path may not be as important as another node's. Energy-scavenging methods may recharge the battery at regular or irregular intervals. Some nodes may have a constant power source. Some nodes may have larger memory and are hence able to store more neighborhood information. Some nodes may have a stronger CPU and are hence able to perform more sophisticated data aggregation methods, etc. ๐Ÿงฉ

To this end, the routing protocol(s) MUST support parameter-constrained routing, where examples of such parameters (CPU, memory size, battery level, etc.) were given in the previous paragraph. In other words, the routing protocol MUST be able to advertise node capabilities that will be exclusively used by the routing protocol engine for routing decisions. For the sake of example, such a capability could be related to the node capability itself (e.g., remaining power) or to some application that could influence routing (e.g., capability to aggregate data) ๐Ÿ’œ.

Routing within urban sensor networks SHOULD require the U-LLN nodes to dynamically compute, select, and install different paths towards the same destination, depending on the nature of the traffic. Such functionality, in support of things like data aggregation, may imply some mechanisms to mark or tag the traffic for the appropriate routing decision using the IPv6 packet format (e.g., use of Diffserv Code Point (DSCP), Flow Label) based on an upper-layer marking decision. From this perspective, such nodes MAY use node capabilities (e.g., to act as an aggregator) together with the anycast endpoints and packet marking to route the traffic ๐Ÿ“.

6.3. Support of Autonomous and Alien Configuration ๐Ÿค–

With a large number of nodes, manually configuring and troubleshooting each node is not efficient at all ๐Ÿ™ƒ. The scale and the large number of possible topologies that may show up in the U-LLN encourage automated management capabilities that may (partly) rely on self-organizing techniques. The network is expected to self-organize and self-configure according to prior defined rules and protocols, and to support externally triggered configurations (for instance, through a commissioning tool that may help organize the network at a minimum energy cost) ๐Ÿงš.

To this end, the routing protocol(s) MUST provide a set of features including zero-configuration at network ramp-up, (network-internal) self-organization and configuration due to topological changes, and the ability to support (network-external) patches and configuration updates. For the latter, the protocol(s) MUST support multicast and anycast addressing. The protocol(s) SHOULD also support the formation and identification of groups of field devices in the network ๐Ÿซถ.

The routing protocol(s) SHOULD be able to dynamically adapt, e.g., through the application of appropriate routing metrics, to ever-changing conditions of communication (possible degradation of quality of service (QoS), variable nature of the traffic (real-time versus non-real-time, sensed data versus alerts), node mobility, a combination thereof, etc.) ๐ŸฆŽ.

The routing protocol(s) SHOULD be able to dynamically compute, select, and possibly optimize the (multiple) path(s) that will be used by the participating devices to forward the traffic towards the actuators and/or an LBR. This follows the service-specific and traffic-specific QoS, traffic engineering, and routing security policies that will have to be enforced at the scale of a routing domain (that is, a set of networking devices administered by a globally unique entity), or a region of such a domain (e.g., a metropolitan area composed of clusters of sensors) ๐Ÿ—บ๏ธ.

6.4. Support of Highly Directed Information Flows ๐ŸŽฏ

As pointed out in Section 4.3, it is not uncommon to gather data on a few servers located outside of the U-LLN. In this case, the reporting of the data readings by a large amount of spatially dispersed nodes towards a few LBRs will lead to highly directed information flows. For instance, a suitable addressing scheme can be devised that facilitates the data flow. Also, as one gets closer to the LBR, the traffic concentration increases, which may lead to high load imbalances in node usage ๐ŸŒช๏ธ.

To this end, the routing protocol(s) SHOULD support and utilize the large number of highly directed traffic flows to facilitate scalability and parameter-constrained routing.

The routing protocol MUST be able to accommodate traffic bursts by dynamically computing and selecting multiple paths towards the same destination ๐Ÿ’ฅ.

6.5. Support of Multicast and Anycast ๐Ÿ’–

Okay bestie, so routing protocols running in urban sensor networks MUST support three delivery styles ๐Ÿฆ‹. Unicast is one message to one field device, very personal. Multicast sends traffic to a whole squad of devices that all signed up for the same multicast group. Anycast is where several field devices are set up to accept traffic sent to a single IP anycast address ๐Ÿงš.

Supporting unicast, multicast, and anycast also has implications for the addressing scheme ๐Ÿ™ˆ. That's a whole other tea, though, and this doc is focused on routing requirements, so we're leaving it there ๐Ÿ’….

Some urban sensing setups might want to address a group of nodes on the same subnet without making a multicast group first, or have one node stand in for a whole group ๐Ÿซ . These schemes, where a sender builds an addressable group of receivers, are not currently supported by IPv6, and this spec won't go further into them [ROLL-HOME].

The network SHOULD support internetworking when identical protocols are used ๐ŸŒธ. While it's doing that, it has to give real attention to routing security implications, like when a home network links up with a utility U-LLN ๐Ÿ . The network may also support talking to another network that uses a different protocol, for example by supporting route redistribution โœจ.


6.6. Network Dynamicity ๐ŸŒˆ

Mobility is assumed to be low in urban LLNs, but network dynamicity is still not negligible ๐Ÿ‘€. That comes from nodes associating, disassociating, and disappearing, plus long-term link perturbations. All of this affects how quickly reorganization and reconfiguration converge, and how quickly routing protocol convergence happens too.

So here's the vibe: local network dynamics SHOULD NOT impact the entire network, meaning it shouldn't have to be reorganized or re-reconfigured ๐Ÿ™…โ€โ™€๏ธ. Instead, the network SHOULD be locally optimized to deal with the changes it runs into ๐Ÿงฉ. The routing protocol(s) SHOULD support appropriate mechanisms to be informed of the association, disassociation, and disappearance of nodes ๐Ÿ“ฃ. They SHOULD also support appropriate updating mechanisms so they hear about changes in connectivity ๐Ÿ””. And they SHOULD use that info to kick off protocol-specific mechanisms for reorganization and reconfiguration as necessary, so overall routing efficiency stays strong ๐Ÿ’ช. Convergence and route establishment times SHOULD be significantly lower than the smallest reporting interval โฑ๏ธ.

Differentiation SHOULD be made between node disappearance ๐Ÿ‘ป, where the node vanishes without any prior notification, and user- or node-initiated disassociation (aka "phased-out") ๐ŸŒ…, where the node has enough time to tell the network about its pending removal. Those are two very different plot twists, bestie ๐Ÿ“–.


6.7. Latency โณ

With the exception of alert-reporting solutions and, to a certain extent, queried reporting, U-LLNs are delay tolerant ๐Ÿข. That's as long as the information arrives within a fraction of the smallest reporting interval. For example, a few seconds is fine if reporting happens every 4 hours ๐Ÿ•“.

The routing protocol(s) SHOULD also support the ability to route according to different metrics, and latency could be one of those metrics ๐ŸŽ๏ธ.


7. Security Considerations ๐Ÿ”’๐Ÿ˜ฑ

Okay, this section is serious, so buckle up ๐ŸŽข. Like every network, U-LLNs are exposed to routing security threats that need to be addressed ๐Ÿšจ. The wireless and distributed nature of these networks widens the range of potential routing security threats. It gets worse because the nodes are resource constrained, which keeps resource-intensive routing security approaches from being deployed ๐Ÿฅฒ. A viable routing security approach SHOULD be sufficiently lightweight that it can be implemented across all nodes in a U-LLN ๐Ÿชถ. These issues need special attention during the design process so the deployment stays commercially attractive ๐Ÿ’ธ.

The U-LLN MUST deny any node that has not been authenticated to the U-LLN and authorized to take part in the routing decision process ๐Ÿšซ. No mystery guests allowed ๐Ÿ™…โ€โ™€๏ธ.

An attacker SHOULD be prevented from manipulating or disabling the routing function, for example by compromising routing control messages ๐Ÿ•ต๏ธโ€โ™€๏ธ. To stop that, the routing protocol(s) MUST support message integrity ๐Ÿ”.

There are more routing security issues to watch out for too ๐Ÿ˜ฌ. Some nodes might act egoistic, like not obeying network rules or forwarding no packets or false ones. Denial-of-service (DoS) attacks are another big worry, along with malicious address space allocations, advertisement of variable addresses, a wrong neighborhood, and more. The routing protocol(s) SHOULD support defense against DoS attacks and other attempts to maliciously or inadvertently make the routing protocol mechanisms over-consume the limited resources of LLN nodes ๐Ÿซ . That includes things like constructing forwarding loops or causing excessive routing protocol overhead traffic ๐ŸŒ€.

Self-configuration and self-organization are super desirable in a U-LLN, but they bring extra routing security considerations ๐Ÿคฏ. Mechanisms MUST be in place to deny any node that tries to take malicious advantage of those procedures ๐Ÿšท. Attacks might try to cause DoS, drain the energy of power-constrained devices, or hijack the routing mechanism ๐Ÿ”‹๐Ÿ’€. A node MUST authenticate itself to a trusted node that is already associated with the U-LLN before it can take part in self-configuration or self-organization ๐Ÿชช. And a node that has already authenticated and associated with the U-LLN MUST deny, to the maximum extent possible, the allocation of resources to any unauthenticated peer ๐Ÿงฑ. The routing protocol(s) MUST deny service to any node that has not clearly established trust with the U-LLN ๐Ÿ›‘.

Consideration SHOULD be given to cases where the U-LLN may interface with other networks, such as a home network ๐Ÿก. The U-LLN SHOULD NOT interface with any external network that has not established trust ๐Ÿ™…. The U-LLN SHOULD be capable of limiting the resources granted in support of an external network, so it isn't vulnerable to DoS ๐Ÿงฏ.

U-LLN nodes have low computation power and scarce energy, so they may not be able to resist every attack from high-power malicious nodes, like laptops and strong radios ๐Ÿ’ป๐Ÿ“ก. Even so, the amount of damage done to the whole network SHOULD be commensurate with the number of nodes physically compromised ๐Ÿ“. For example, an intruder who takes control of a single node SHOULD NOT be able to completely deny service to the whole network ๐Ÿ™…โ€โ™€๏ธโœจ.

In general, the routing protocol(s) SHOULD support the implementation of routing security best practices across the U-LLN ๐Ÿ’…. That implementation ought to include defense against things like eavesdropping, replay, message insertion, modification, and man-in-the-middle attacks ๐Ÿ‘€.

The routing security solutions you pick will affect the routing protocol(s) ๐Ÿง . So routing protocol(s) proposed for U-LLNs MUST support authentication and integrity measures, and SHOULD support confidentiality (routing security) measures ๐Ÿ”‘๐Ÿซถ.


8. References ๐Ÿ“š

8.1. Normative References

[RFC2119]     Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

8.2. Informative References

[Lu2007]      Lu, JL., Valois, F., Barthel, D., and M. Dohler,
              "FISCO: A Fully Integrated Scheme of Self-Configuration
              and Self-Organization for WSN", 11-15 March 2007,
              pp. 3370-3375, IEEE WCNC 2007, Hong Kong, China.

[RFC1546]     Partridge, C., Mendez, T., and W. Milliken, "Host
              Anycasting Service", RFC 1546, November 1993.

[RFC4291]     Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, February 2006.

[ROLL-BUILD]  Martocci, J., Ed., De Mil, P., Vermeylen, W., and N.
              Riou, "Building Automation Routing Requirements in Low
              Power and Lossy Networks", Work in Progress,
              February 2009.

[ROLL-HOME]   Brandt, A. and G. Porcu, "Home Automation Routing
              Requirements in Low Power and Lossy Networks", Work
              in Progress, November 2008.

[ROLL-INDUS]  Pister, K., Ed., Thubert, P., Ed., Dwars, S., and T.
              Phinney, "Industrial Routing Requirements in Low Power
              and Lossy Networks", Work in Progress, April 2009.

[ROLL-TERM]   Vasseur, J., "Terminology in Low power And Lossy
              Networks", Work in Progress, October 2008.

Appendix A. Acknowledgements ๐Ÿ™Œ

The in-depth feedback of JP Vasseur, Jonathan Hui, Iain Calder, and Pasi Eronen is greatly appreciated ๐Ÿ’œ.

Appendix B. Contributors ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘

Christian Jacquenet
France Telecom R&D
4 rue du Clos Courtel BP 91226
35512 Cesson Sevigne
France

EMail: christian.jacquenet@orange-ftgroup.com


Giyyarpuram Madhusudan
France Telecom R&D
28 Chemin du Vieux Chene
38243 Meylan Cedex
France

EMail: giyyarpuram.madhusudan@orange-ftgroup.com


Gabriel Chegaray
France Telecom R&D
28 Chemin du Vieux Chene
38243 Meylan Cedex
France

EMail: gabriel.chegaray@orange-ftgroup.com

Authors' Addresses ๐Ÿ’Œ

Mischa Dohler (editor)
CTTC
Parc Mediterrani de la Tecnologia
Av. Canal Olimpic S/N
08860 Castelldefels, Barcelona
Spain

EMail: mischa.dohler@cttc.es


Thomas Watteyne (editor)
Berkeley Sensor & Actuator Center, University of California, Berkeley
497 Cory Hall #1774
Berkeley, CA  94720-1774
USA

EMail: watteyne@eecs.berkeley.edu


Tim Winter (editor)
Eka Systems
20201 Century Blvd. Suite 250
Germantown, MD  20874
USA

EMail: wintert@acm.org


Dominique Barthel (editor)
France Telecom R&D
28 Chemin du Vieux Chene
38243 Meylan Cedex
France

EMail: Dominique.Barthel@orange-ftgroup.com
๐Ÿ“ฆ where this page comes from