<?xmlversion="1.0" encoding="US-ASCII"?>version='1.0' encoding='utf-8'?> <!DOCTYPE rfc SYSTEM"rfc2629.dtd" []> <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> <?rfc toc="yes"?> <?rfc tocdepth="2"?> <?rfc symrefs="yes"?> <?rfc sortrefs="yes" ?> <?rfc compact="no" ?>"rfc2629-xhtml.ent"> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" number="8965" docName="draft-ietf-babel-applicability-10"ipr="trust200902">ipr="trust200902" obsoletes="" updates="" submissionType="IETF" consensus="true" xml:lang="en" tocInclude="true" tocDepth="2" symRefs="true" sortRefs="true" version="3"> <!-- xml2rfc v2v3 conversion 3.0.0 --> <front> <title abbrev="Babel Protocol Applicability">Applicability of the Babelrouting protocol</title>Routing Protocol</title> <seriesInfo name="RFC" value="8965"/> <author fullname="Juliusz Chroboczek" initials="J." surname="Chroboczek"> <organization>IRIF, University of Paris-Diderot</organization> <address> <postal> <street>Case 7014</street><city>75205 Paris Cedex<city>Paris CEDEX 13</city><region></region> <code></code><region/> <code>75205</code> <country>France</country> </postal> <email>jch@irif.fr</email> </address> </author> <dateday="17" month="August" year="2019"/>month="January" year="2021"/> <keyword>distance-vector</keyword> <keyword>loop</keyword> <keyword>starvation</keyword> <keyword>Bellman-Ford</keyword> <keyword>routing</keyword> <keyword>routing protocol</keyword> <keyword>wireless</keyword> <keyword>mesh network</keyword> <keyword>IGP</keyword> <abstract> <t>Babel is a routing protocol based on the distance-vector algorithm augmented with mechanisms for loop avoidance and starvation avoidance. This document describes a number of niches where Babel has been found to be useful and that are arguably not adequately served by more mature protocols.</t> </abstract> </front> <middle> <sectiontitle="Introductionnumbered="true" toc="default"> <name>Introduction andbackground">Background</name> <t>Babel <xreftarget="RFC6126bis"/>target="RFC8966" format="default"/> is a routing protocol based on the familiar distance-vector algorithm (sometimes known as distributed Bellman-Ford) augmented with mechanisms for loop avoidance (there is no "counting to infinity") and starvation avoidance. This document describes a number of niches where Babel is useful and that are arguably not adequately served by more mature protocols such as OSPF <xreftarget="RFC5340"/>target="RFC5340" format="default"/> and IS-IS <xreftarget="RFC1195"/>.</t>target="RFC1195" format="default"/>.</t> <sectiontitle="Technical overviewnumbered="true" toc="default"> <name>Technical Overview of the Babelprotocol">Protocol</name> <t>At its core, Babel is a distance-vector protocol based on the distributed Bellman-Ford algorithm, similar in principle to RIP <xreftarget="RFC2453"/>,target="RFC2453" format="default"/> but with two important extensions: provisions for sensing of neighbour reachability, bidirectionalreachabilityreachability, and link quality, and support for multiple address families (e.g., IPv6 and IPv4) in a single protocol instance.</t> <t>Algorithms of this class are simple to understand and simple to implement, but unfortunately they do not work very well—-- they suffer from "counting to infinity", a case of pathologically slow convergence in some topologies after a link failure. Babel uses a mechanism pioneered byEIGRPthe Enhanced Interior Gateway Routing Protocol (EIGRP) <xreftarget="DUAL"/>target="DUAL" format="default"/> <xreftarget="RFC7868"/>,target="RFC7868" format="default"/>, known as "feasibility", which avoids routing loops and therefore makes counting to infinity impossible.</t> <t>Feasibility is a conservative mechanism, one that not only avoids all looping routes but also rejects some loop-free routes. Thus, it can lead to a situation known as "starvation", where a router rejects all routes to a given destination, even those that are loop-free. In order to recover from starvation, Babel uses a mechanism pioneered by the Destination-Sequenced Distance-Vector Routing Protocol (DSDV) <xreftarget="DSDV"/>target="DSDV" format="default"/> and known as "sequenced routes". In Babel, this mechanism is generalised to deal with prefixes of arbitrary length and routes announced at multiple points in a single routing domain (DSDV was a pure mesh protocol, and only carried host routes).</t> <t>In DSDV, the sequenced routes algorithm is slow to react to a starvation episode. In Babel, starvation recovery is accelerated by using explicit requests (known as "seqno requests" in the protocol) that signal a starvation episode and cause a new sequenced route to be propagated in a timely manner. In the absence of packet loss, this mechanism is provably complete and clears the starvation in time proportional to the diameter of the network, at the cost of some additional signalling traffic.</t> </section> </section> <sectiontitle="Propertiesnumbered="true" toc="default"> <name>Properties of the Babelprotocol">Protocol</name> <t>This section describes the properties of the Babel protocol as well as its known limitations.</t> <sectiontitle="Simplicitynumbered="true" toc="default"> <name>Simplicity andimplementability">Implementability</name> <t>Babel is a conceptually simple protocol. It consists of a familiar algorithm (distributed Bellman-Ford) augmented with three simple and well-defined mechanisms (feasibility, sequencedroutesroutes, and explicit requests). Given a sufficiently friendly audience, the principles behind Babel can be explained in 15 minutes, and a full description of the protocol can be done in 52 minutes (one microcentury).</t> <t>An important consequence is that Babel is easy to implement. At the time of writing, there exist four independent, interoperable implementations, including one that was reportedly written and debugged in just two nights.</t> </section> <sectiontitle="Robustness">numbered="true" toc="default"> <name>Robustness</name> <t>The fairly strong properties of the Babel protocol (convergence, loop avoidance, and starvation avoidance) rely on some reasonably weak properties of the network and the metric being used. The most significant are:<list style="symbols"> <t>causality: the</t> <ul empty="true"><li> <dl spacing="normal"> <dt>causality:</dt><dd>the "happens-before" relation is acyclic (intuitively, a control message is not received before it has beensent);</t> <t>strictsent);</dd> <dt>strict monotonicity of themetric: formetric:</dt><dd>for any metric M and linkcost C, M < C + Mcost C, M < C + M (intuitively, this implies that cycles have a strictly positivemetric);</t> <t>left-distributivitymetric);</dd> <dt>left-distributivity of themetric: formetric:</dt><dd>for any metrics M and M' andcost C,cost C, ifM ≤ M',M <= M', thenC + M ≤ C + M'C + M <= C + M' (intuitively, this implies that a good choice made by a neighbour B of a node A is also a good choice forA).</t> </list>A).</dd> </dl> </li> </ul> <t> See <xreftarget="METAROUTING"/>target="METAROUTING" format="default"/> for more information about these properties and their consequences.</t> <t>In particular, Babel does not assume a reliable transport, it does not assume ordered delivery, it does not assume that communication is transitive, and it does not require that the metric be discrete (continuous metrics are possible,reflectingforexampleexample, reflecting packet loss rates). This is in contrast to link-state routing protocols such as OSPF <xreftarget="RFC5340"/>target="RFC5340" format="default"/> or IS-IS <xreftarget="RFC1195"/>,target="RFC1195" format="default"/>, which incorporate a reliable flooding algorithm and make stronger requirements on the underlying network and metric.</t> <t>These weak requirements make Babel a robust protocol:<list style="symbols"> <t>robust</t> <ul empty="true"><li> <dl spacing="normal"> <dt>robust with respect to unusualnetworks: annetworks:</dt><dd>an unusual network (non-transitive links, unstable link costs, etc.) is likely not to violate the assumptions of theprotocol;</t> <t>robustprotocol;</dd> <dt>robust with respect to novelmetrics: anmetrics:</dt><dd>an unusual metric (continuous, constantly fluctuating, etc.) is likely not to violate the assumptions of theprotocol.</t> </list>protocol.</dd></dl></li> </ul> <t> <xreftarget="successful"/> belowtarget="successful" format="default"/> gives examples of successful deployments of Babel that illustrate these properties.</t> <t>These robustness properties have important consequences for the applicability of the protocol: Babel works (more or less efficiently) in a range of circumstances where traditional routing protocols don't work well (or at all).</t> </section> <sectiontitle="Extensibility">numbered="true" toc="default"> <name>Extensibility</name> <t>Babel's packet format has a number of features that make the protocol extensible (seeAppendix C of<xreftarget="RFC6126bis"/>),target="RFC8966" section="D" sectionFormat="of" format="default"/>), and a number of extensions have been designed to make Babel work better in situations that were not envisioned when the protocol was initially designed. The ease of extensibility is not an accident, but a consequence of the design of the protocol: it is reasonably easy to check whether a given extension violates the assumptions on which Babel relies.</t> <t>All of the extensions designed to date interoperate with the base protocol and with each other. This, again, is a consequence of the protocol design: in order to check that two extensions to the Babel protocol are interoperable, it is enough to verify that the interaction of the two does not violate the base protocol's assumptions.</t> <t>Notable extensions deployed to date include:<list style="symbols"> <t>source-specific</t> <ul spacing="normal"> <li>source-specific routing(SADR)(also known as Source-Address Dependent Routing, SADR) <xreftarget="BABEL-SS"/>target="I-D.ietf-babel-source-specific" format="default"/> allows forwarding to take a packet's source address into account, thus enabling a cheap form of multihoming <xreftarget="SS-ROUTING"/>;</t> <t>RTT-basedtarget="SS-ROUTING" format="default"/>;</li> <li>RTT-based routing <xreftarget="BABEL-RTT"/>target="I-D.jonglez-babel-rtt-extension" format="default"/> minimises link delay, which is useful in overlay network (where both hop count and packet loss are poormetrics).</t> </list>metrics).</li> </ul> <t> Some other extensions have beendesigned,designed but have not seen deployment in production (and their usefulness is yet to be demonstrated):<list style="symbols"> <t>frequency-aware</t> <ul spacing="normal"> <li>frequency-aware routing <xreftarget="BABEL-Z"/>target="I-D.chroboczek-babel-diversity-routing" format="default"/> aims to minimise radio interference in wirelessnetworks;</t> <t>ToS-awarenetworks;</li> <li>ToS-aware routing <xreftarget="BABEL-TOS"/>target="I-D.chouasne-babel-tos-specific" format="default"/> allows routing to take a packet'sToSType of Service (ToS) marking into account for selected routes without incurring the full cost of a multi-topology routingprotocol.</t> </list></t>protocol.</li> </ul> </section> <sectiontitle="Limitations">numbered="true" toc="default"> <name>Limitations</name> <t>Babel has some undesirable properties that make it suboptimal or even unusable in some deployments.</t> <sectiontitle="Periodic updates">numbered="true" toc="default"> <name>Periodic Updates</name> <t>The main mechanisms used by Babel to reconverge after a topology change are reactive: triggered updates, triggered retractions and explicit requests. However, Babel relies on periodic updates to clear pathologies after a mobility event or in the presence of heavy packet loss. The use of periodic updates makes Babel unsuitable in at least two kinds of environments:<list style="symbols"> <t>large,</t> <ul empty="true"><li> <dl spacing="normal"> <dt>large, stablenetworks: sincenetworks:</dt><dd>since Babel sends periodic updates even in the absence of topology changes, in well-managed, large, stable networks the amount of control traffic will be reduced by using a protocol that uses a reliable transport (such as OSPF,IS-ISIS-IS, orEIGRP);</t> <t>low-power networks: theEIGRP);</dd> <dt>low-power networks:</dt><dd>the periodic updates use up battery power even when there are no topology changes and no user traffic, which makes Babel wasteful in low-powernetworks.</t> </list></t>networks.</dd> </dl></li> </ul> </section> <sectiontitle="Full routing table">numbered="true" toc="default"> <name>Full Routing Table</name> <t>While there exist techniques that allow a Babel speaker to function with a partial routing table (e.g., by learning just a default route or, more generally, performing route aggregation), Babel is designed around the assumption that every router has a full routing table. In networks where some nodes are too constrained to hold a full routing table, it might be preferable to use a protocol that was designed from the outset to work with a partial routing table (such asAODVthe Ad hoc On-Demand Distance Vector (AODV) routing protocol <xreftarget="RFC3561"/>, RPLtarget="RFC3561" format="default"/>, the IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL) <xreftarget="RFC6550"/>target="RFC6550" format="default"/>, orLOADngthe Lightweight On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng) <xreftarget="LOADng"/>).</t>target="I-D.clausen-lln-loadng" format="default"/>).</t> </section> <sectiontitle="Slow aggregation">numbered="true" toc="default"> <name>Slow Aggregation</name> <t>Babel's loop-avoidance mechanism relies on making a route unreachable after a retraction until all neighbours have been guaranteed to have acted upon the retraction, even in the presence of packet loss. Unless the second algorithm described inSection 3.5.5 of<xreftarget="RFC6126bis"/>target="RFC8966" sectionFormat="of" section="3.5.5"/> is implemented, this entails that a node is unreachable for a few minutes after the most specific route to it has been retracted. This delay makes Babel slow to recover from a topology change in networks that perform automatic route aggregation.</t> </section> </section> </section> <sectiontitle="Successful deploymentsanchor="successful" numbered="true" toc="default"> <name>Successful Deployments ofBabel" anchor="successful">Babel</name> <t>This section gives a few examples of environments where Babel has been successfully deployed.</t> <sectiontitle="Heterogeneous networks">numbered="true" toc="default"> <name>Heterogeneous Networks</name> <t>Babel is able to deal with both classical, prefix-based ("Internet-style") routing and flat ("mesh-style") routing over non-transitive link technologies. Just like traditional distance-vector protocols, Babel is able to carry prefixes of arbitrary length, tosupresssuppress redundant announcements by applying the split-horizon optimisation where applicable, and can be configured to filter out redundant announcements (manual aggregation). Just like specialised mesh protocols, Babel doesn't by default assume that links are transitive or symmetric, can dynamically compute metrics based on an estimation of link quality, and carries large numbers of host routes efficiently by omitting common prefixes.</t> <t>Because of these properties, Babel has seen a number of successful deployments in medium-sized heterogeneous networks, networks that combine a wired, aggregated backbone with meshy wireless bits at the edges.</t> <t>Efficient operation in heterogeneous networks requires the implementation to distinguish between wired and wireless links, and to perform link quality estimation on wireless links.</t> </section> <sectiontitle="Large scale overlay networks">numbered="true" toc="default"> <name>Large-Scale Overlay Networks</name> <t>The algorithms used by Babel (loop avoidance, hysteresis, delayed updates) allow it to remain stable in the presence of unstable metrics, even in the presence of a feedback loop. For this reason, it has been successfully deployed inlarge scalelarge-scale overlay networks, built out of thousands of tunnels spanning continents, where it is used with a metric computed from links' latencies.</t> <t>This particular application depends on the extension for RTT-sensitive routing <xreftarget="DELAY-BASED"/>.</t>target="DELAY-BASED" format="default"/>.</t> </section> <sectiontitle="Pure mesh networks">numbered="true" toc="default"> <name>Pure Mesh Networks</name> <t>While Babel is a general-purpose routing protocol, it has been shown to be competitive with dedicated routing protocols for wireless mesh networks <xreftarget="REAL-WORLD"/>target="REAL-WORLD" format="default"/> <xreftarget="BRIDGING-LAYERS"/>.target="BRIDGING-LAYERS" format="default"/>. Although this particular niche is already served by a number of mature protocols, notablyOLSR-ETXthe Optimized Link State Routing Protocol with Expected Transmission Count (OLSR-ETX) and OLSRv2 (OLSR Version 2) <xreftarget="RFC7181"/>target="RFC7181" format="default"/> (equippede.g. withe.g., with theDATDirectional Airtime (DAT) metric <xreftarget="RFC7779"/>),target="RFC7779" format="default"/>), Babel has seen a moderate amount of successful deployment in pure mesh networks.</t> </section> <sectiontitle="Small unmanaged networks">numbered="true" toc="default"> <name>Small Unmanaged Networks</name> <t>Because of its small size and simple configuration, Babel has been deployed in small, unmanaged networks (e.g., home and small office networks), where it serves as a more efficient replacement for RIP <xreftarget="RFC2453"/>,target="RFC2453" format="default"/>, over which it has two significant advantages: the ability to route multiple address families (IPv6 and IPv4) in a single protocolinstance,instance and good support for using wireless links for transit.</t> </section> </section> <sectiontitle="IANA Considerations"> <t>This document requires no IANA actions. [RFC Editor: please remove this section before publication.]</t> </section> <section title="Security Considerations">numbered="true" toc="default"> <name>Security Considerations</name> <t>As is the case in all distance-vector routing protocols, a Babel speaker receives reachability information from its neighbours, which by default is trusted by all nodes in the routing domain.</t> <t>At the time of writing, the Babel protocol is usually run over a network that is secured either at the physical layer (e.g., physically protecting Ethernet sockets) or at the link layer (using a protocol such asWiFiWi-Fi Protected Access 2 (WPA2)). If Babel is being run over an unprotected network, then the routing traffic needs to be protected using a sufficiently strong cryptographic mechanism.</t> <t>At the time of writing, two such mechanisms have been defined.Babel-MACMessage Authentication Code (MAC) authentication for Babel (Babel-MAC) <xreftarget="BABEL-MAC"/>target="RFC8967" format="default"/> is a simple and easy to implement mechanism that only guarantees authenticity,integrityintegrity, and replay protection of the routingtraffic,traffic and only supports symmetric keying with a small number of keys (typically just one or two). Babel-DTLS <xreftarget="BABEL-DTLS"/>target="RFC8968" format="default"/> is a more complexmechanism,mechanism that requires some minor changes to be made to a typical Babel implementation and depends on a DTLS stack being available, but inherits all of the features of DTLS, notably confidentiality, optional replay protection, and the ability to use asymmetric keys.</t> <t>Due to its simplicity, Babel-MAC should be the preferred security mechanism in most deployments, with Babel-DTLS available for networks that require its additional features.</t> <t>In addition to the above, the information that a mobile Babel node announces to the whole routing domain is often sufficient to determine a mobile node's physical location with reasonable precision. This might make Babel unapplicable in scenarios where a node's location is considered confidential.</t> </section><section title="Acknowledgments"> <t>The author is indebted to Jean-Paul Smetz and Alexander Vainshtein for their input to this document.</t> </section></middle> <back><references title="Normative References"><displayreference target="I-D.chouasne-babel-tos-specific" to="BABEL-TOS"/> <displayreference target="I-D.ietf-babel-source-specific" to="BABEL-SS"/> <displayreference target="I-D.jonglez-babel-rtt-extension" to="BABEL-RTT"/> <displayreference target="I-D.chroboczek-babel-diversity-routing" to="BABEL-Z"/> <displayreference target="I-D.clausen-lln-loadng" to="LOADng"/> <references> <name>References</name> <references> <name>Normative References</name> <referenceanchor="RFC6126bis"><front>anchor="RFC8966" target="https://www.rfc-editor.org/info/rfc8966"> <front> <title>The Babel Routing Protocol</title> <author fullname="Juliusz Chroboczek" initials="J." surname="Chroboczek"/> <author fullname="David Schinazi" initials="D." surname="Schinazi"/> <datemonth="August" year="2019"/>month="January" year="2021"/> </front> <seriesInfoname="Internet Draft" value="draft-ietf-babel-rfc6126bis-14"/>name="RFC" value="8966"/> <seriesInfo name="DOI" value="10.17487/RFC8966"/> </reference> </references><references title="Informational References"><references> <name>Informative References</name> <reference anchor="DELAY-BASED"target="http://arxiv.org/abs/1403.3488"><front>target="http://arxiv.org/abs/1403.3488"> <front> <title>A delay-based routing metric</title> <author fullname="Baptiste Jonglez" initials="B." surname="Jonglez"/> <author fullname="Matthieu Boutier" initials="M." surname="Boutier"/> <author fullname="Juliusz Chroboczek" initials="J." surname="Chroboczek"/> <date month="March" year="2014"/> </front> </reference> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2453.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7181.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7779.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml"/> <referenceanchor="RFC2453"> <front> <title>RIP Version 2</title> <author initials="G." surname="Malkin" fullname="G. Malkin"> <organization/> </author> <date year="1998" month="November"/> </front> <seriesInfo name="STD" value="56"/> <seriesInfo name="RFC" value="2453"/> </reference> <reference anchor="RFC7181"> <front> <title> The Optimized Link State Routing Protocol Version 2 </title> <author initials="T." surname="Clausen" fullname="T. Clausen"> <organization/> </author> <author initials="C." surname="Dearlove" fullname="C. Dearlove"> <organization/> </author> <author initials="P." surname="Jacquet" fullname="P. Jacquet"> <organization/> </author> <author initials="U." surname="Herberg" fullname="U. Herberg"> <organization/> </author> <date year="2014" month="April"/> </front> <seriesInfo name="RFC" value="7181"/> </reference> <reference anchor="RFC7779">anchor="DUAL"> <front><title> Directional Airtime Metric Based on Packet Sequence Numbers for Optimized Link State Routing Version 2 (OLSRv2) </title> <author initials="H." surname="Rogge" fullname="H. Rogge"> <organization/> </author> <author initials="E." surname="Baccelli" fullname="E. Baccelli"> <organization/> </author> <date year="2016" month="April"/> </front> <seriesInfo name="RFC" value="7779"/> <seriesInfo name="DOI" value="10.17487/RFC7779"/> </reference> <reference anchor="RFC5340"> <front> <title>OSPF for IPv6</title> <author initials="R." surname="Coltun" fullname="R. Coltun"/> <author initials="D." surname="Ferguson" fullname="D. Ferguson"/> <author initials="J." surname="Moy" fullname="J. Moy"/> <author initials="A." surname="Lindem" fullname="A. Lindem"/> <date year="2008" month="July"/> </front> <seriesInfo name="RFC" value="5340"/> </reference> <reference anchor="DUAL"><front><title>Loop-Free Routing Using Diffusing Computations</title> <author fullname="J. J.Garcia Luna Aceves"Garcia-Luna-Aceves" initials="J. J."surname="Garcia Luna Aceves"/>surname="Garcia-Luna-Aceves"/> <date month="February" year="1993"/> </front><seriesInfo name="IEEE/ACM<refcontent>IEEE/ACM Transactions onNetworking" value="1:1"/> </reference> <reference anchor="RFC7868"> <front> <title> Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP) </title> <author initials="D." surname="Savage" fullname="D. Savage"> <organization/> </author> <author initials="J." surname="Ng" fullname="J. Ng"> <organization/> </author> <author initials="S." surname="Moore" fullname="S. Moore"> <organization/> </author> <author initials="D." surname="Slice" fullname="D. Slice"> <organization/> </author> <author initials="P." surname="Paluch" fullname="P. Paluch"> <organization/> </author> <author initials="R." surname="White" fullname="R. White"> <organization/> </author> <date year="2016" month="May"/> </front> <seriesInfo name="RFC" value="7868"/>Networking, Volume 1, Issue 1</refcontent> <seriesInfo name="DOI"value="10.17487/RFC7868"/>value="10.1109/90.222913"/> </reference> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7868.xml"/> <referenceanchor="DSDV"><front>anchor="DSDV" target="https://doi.org/10.1145/190314.190336"> <front> <title>Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers</title> <author fullname="Charles Perkins" initials="C." surname="Perkins"/> <author fullname="Pravin Bhagwat" initials="P." surname="Bhagwat"/> <date month="October" year="1994"/> </front><seriesInfo name="ACM SIGCOMM'94<refcontent>ACM SIGCOMM '94: Proceedings of the Conference on Communications Architectures, Protocols andApplications" value="234-244"/> </reference> <reference anchor="RFC1195"> <front> <title> Use of OSI IS-IS for routing in TCP/IP and dual environments </title> <author initials="R.W." surname="Callon" fullname="R.W. Callon"> <organization/> </author> <date year="1990" month="December"/> </front> <seriesInfo name="RFC" value="1195"/> </reference> <reference anchor="RFC3561" target="https://www.rfc-editor.org/info/rfc3561"> <front> <title>Ad hoc On-Demand Distance Vector (AODV) Routing</title> <author initials="C." surname="Perkins" fullname="C. Perkins"/> <author initials="E." surname="Belding-Royer" fullname="E. Belding-Royer"/> <author initials="S." surname="Das" fullname="S. Das"/> <date year="2003" month="July"/> </front> <seriesInfo name="RFC" value="3561"/>Applications, pp. 234-244</refcontent> <seriesInfo name="DOI"value="10.17487/RFC3561"/>value="10.1145/190314.190336"/> </reference> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1195.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3561.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6550.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.clausen-lln-loadng.xml"/> <referenceanchor="RFC6550">anchor="REAL-WORLD"> <front><title> RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks </title> <author initials="T." surname="Winter" fullname="T. Winter" role="editor"/> <author initials="P." surname="Thubert" fullname="P. Thubert" role="editor"/> <author initials="A." surname="Brandt" fullname="A. Brandt"/> <author initials="J." surname="Hui" fullname="J. Hui"/> <author initials="R." surname="Kelsey" fullname="R. Kelsey"/> <author initials="P." surname="Levis" fullname="P. Levis"/> <author initials="K." surname="Pister" fullname="K. Pister"/> <author initials="R." surname="Struik" fullname="R. Struik"/> <author initials="JP." surname="Vasseur" fullname="JP. Vasseur"/> <author initials="R." surname="Alexander" fullname="R. Alexander"/> <date year="2012" month="March"/> </front> <seriesInfo name="RFC" value="6550"/> </reference> <reference anchor='LOADng'> <front> <title>The Lightweight On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng)</title> <author initials='T' surname='Clausen' fullname='Thomas Clausen'/> <author initials='A' surname='Verdiere' fullname='Axel Verdiere'/> <author initials='J' surname='Yi' fullname='Jiazi Yi'/> <author initials='A' surname='Niktash' fullname='Afshin Niktash'/> <author initials='Y' surname='Igarashi' fullname='Yuichi Igarashi'/> <author initials='H' surname='Satoh' fullname='Hiroki Satoh'/> <author initials='U' surname='Herberg' fullname='Ulrich Herberg'/> <author initials='C' surname='Lavenu' fullname='Cedric Lavenu'/> <author initials='T' surname='Lys' fullname='Thierry Lys'/> <author initials='J' surname='Dean' fullname='Justin Dean'/> <date month='January' day='5' year='2017' /> </front> <seriesInfo name='Internet-Draft' value='draft-clausen-lln-loadng-15' /> </reference> <reference anchor="REAL-WORLD"><front><title>Real-world performance of current proactive multi-hop mesh protocols</title> <author initials="M." surname="Abolhasan"/> <author initials="B." surname="Hagelstein"/> <author initials="J. C.-P." surname="Wang"/> <date month="October" year="2009"/> </front><seriesInfo name="Asia-Pacific<refcontent>15th Asia-Pacific Conference onCommunication" value="2009"/>Communications</refcontent> <seriesInfo name="DOI" value="10.1109/APCC.2009.5375690"/> </reference> <referenceanchor="BRIDGING-LAYERS"><front>anchor="BRIDGING-LAYERS"> <front> <title>An Experimental Comparison of Routing Protocols in Multi Hop Ad Hoc Networks</title> <author initials="D." surname="Murray" fullname="David Murray"/> <author initials="M." surname="Dixon" fullname="Michael Dixon"/> <author initials="T." surname="Koziniec" fullname="Terry Koziniec"/> <dateyear="2010"/> </front> <seriesInfo name="Proc. ATNAC" value="2010"/> </reference> <reference anchor="BABEL-SS"> <front> <title>Source-Specific Routing in Babel</title> <author initials='M' surname='Boutier' fullname='Matthieu Boutier'></author> <author initials='J' surname='Chroboczek' fullname='Juliusz Chroboczek'></author> <date day="23"month="October"year="2018"/> </front> <seriesInfo name='Internet-Draft' value='draft-ietf-babel-source-specific-04'/> </reference> <reference anchor="BABEL-RTT"> <front> <title>Delay-based Metric Extension for the Babel Routing Protocol</title> <author initials='B' surname='Jonglez' fullname='Baptiste Jonglez'></author> <author initials='J' surname='Chroboczek' fullname='Juliusz Chroboczek'></author> <date month='May' day='27' year='2015' /> </front> <seriesInfo name='Internet-Draft' value='draft-jonglez-babel-rtt-extension-01' /> </reference> <reference anchor="BABEL-TOS"> <front> <title>TOS-Specific Routing in Babel</title> <author fullname="Gwendoline Chouasne" initials="G." surname="Chouasne"/> <author fullname="Juliusz Chroboczek" initials="J." surname="Chroboczek"/> <date day="3" month="July" year="2017"/> </front> <seriesInfo name='Internet-Draft' value='draft-chouasne-babel-tos-specific-00'/> </reference> <reference anchor="BABEL-Z"><front> <title>Diversity Routing for the Babel Routing Protocol</title> <author initials='J' surname='Chroboczek' fullname='Juliusz Chroboczek'></author> <date month='February' day='15' year='2016' />year="2010"/> </front> <refcontent>In Proceedings of ATNAC</refcontent> <seriesInfoname='Internet-Draft' value='draft-chroboczek-babel-diversity-routing-01'/>name="DOI" value="10.1109/ATNAC.2010.5680190"/> </reference> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-babel-source-specific.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.jonglez-babel-rtt-extension.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.chouasne-babel-tos-specific.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.chroboczek-babel-diversity-routing.xml"/> <reference anchor="SS-ROUTING"target="http://arxiv.org/pdf/1403.0445"><front> <title>Source-Specific Routing</title>target="http://arxiv.org/pdf/1403.0445"> <front> <title>Source-specific routing</title> <author initials="M." surname="Boutier" fullname="Matthieu Boutier"/> <author initials="J." surname="Chroboczek" fullname="Juliusz Chroboczek"/> <dateyear="2014" month="August"/>year="2015" month="May"/> </front><annotation>In Proc.<refcontent>In Proceedings of the IFIP Networking2015.</annotation>Conference</refcontent> <seriesInfo name="DOI" value="10.1109/IFIPNetworking.2015.7145305"/> </reference> <referenceanchor="BABEL-MAC"><front>anchor="RFC8967" target="https://www.rfc-editor.org/info/rfc8967"> <front> <title>MACauthenticationAuthentication for the Babelrouting protocol</title>Routing Protocol</title> <authorfullname="Clara Do"initials="C."surname="Do"/>surname="Dô" fullname="Clara Dô"> <organization/> </author> <authorfullname="Weronika Kolodziejak"initials="W."surname="Kolodziejak"/>surname="Kolodziejak" fullname="Weronika Kolodziejak"> <organization/> </author> <authorfullname="Juliusz Chroboczek"initials="J."surname="Chroboczek"/>surname="Chroboczek" fullname="Juliusz Chroboczek"> <organization/> </author> <datemonth="August" year="2019"/></front>month="January" year="2021"/> </front> <seriesInfo name="RFC" value="8967"/> <seriesInfoname="Internet Draft" value="draft-ietf-babel-hmac-10"/>name="DOI" value="10.17487/RFC8967"/> </reference> <referenceanchor="BABEL-DTLS"><front>anchor="RFC8968" target="https://www.rfc-editor.org/info/rfc8968"> <front> <title>Babel Routing Protocol over Datagram Transport Layer Security</title> <authorfullname="Antonin Decimo"initials="A."surname="Decimo"/>surname="Décimo" fullname="Antonin Décimo"> <organization/> </author> <authorfullname="David Schinazi"initials="D."surname="Schinazi"/>surname="Schinazi" fullname="David Schinazi"> <organization/> </author> <authorfullname="Juliusz Chroboczek"initials="J."surname="Chroboczek"/>surname="Chroboczek" fullname="Juliusz Chroboczek"> <organization/> </author> <datemonth="August" year="2019"/></front>month="January" year="2021"/> </front> <seriesInfoname="Internet Draft" value="draft-ietf-babel-dtls-09"/>name="RFC" value="8968"/> <seriesInfo name="DOI" value="10.17487/RFC8968"/> </reference> <referenceanchor="METAROUTING"><front>anchor="METAROUTING"> <front> <title>Metarouting</title> <author initials="T. G." surname="Griffin" fullname="Timothy G. Griffin"/> <author initials="J. L." surname="Sobrinho" fullname="Joao Luis Sobrinho"/> <date month="August" year="2005"/> </front><annotation>In Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications (SIGCOMM'05).</annotation><refcontent>ACM SIGCOMM Computer Communication Review, Volume 35, Issue 4</refcontent> <seriesInfo name="DOI" value="10.1145/1090191.1080094"/> </reference> </references> </references> <section numbered="false" toc="default"> <name>Acknowledgments</name> <t>The author is indebted to <contact fullname="Jean-Paul Smetz"/> and <contact fullname="Alexander Vainshtein"/> for their input to this document.</t> </section> </back> </rfc>