Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 7181

The Optimized Link State Routing Protocol Version 2

Pages: 115
Proposed Standard
Errata
Updated by:  7183718771887466
Part 1 of 5 – Pages 1 to 9
None   None   Next

Top   ToC   RFC7181 - Page 1
Internet Engineering Task Force (IETF)                        T. Clausen
Request for Comments: 7181                      LIX, Ecole Polytechnique
Category: Standards Track                                    C. Dearlove
ISSN: 2070-1721                                          BAE Systems ATC
                                                              P. Jacquet
                                                Alcatel-Lucent Bell Labs
                                                              U. Herberg
                                         Fujitsu Laboratories of America
                                                              April 2014


          The Optimized Link State Routing Protocol Version 2

Abstract

This specification describes version 2 of the Optimized Link State Routing Protocol (OLSRv2) for Mobile Ad Hoc Networks (MANETs). Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7181. Copyright Notice Copyright (c) 2014 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Top   ToC   RFC7181 - Page 2
   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

1. Introduction ....................................................5 2. Terminology .....................................................6 3. Applicability Statement .........................................9 4. Protocol Overview and Functioning ..............................10 4.1. Overview ..................................................10 4.2. Routers and Interfaces ....................................12 4.3. Information Base Overview .................................13 4.3.1. Local Information Base .............................13 4.3.2. Interface Information Base .........................14 4.3.3. Neighbor Information Base ..........................14 4.3.4. Topology Information Base ..........................14 4.3.5. Received Message Information Base ..................16 4.4. Signaling Overview ........................................16 4.5. Link Metrics ..............................................17 4.6. Flooding MPRs and Routing MPR .............................18 4.7. Routing Set Use ...........................................19 5. Protocol Parameters and Constants ..............................19 5.1. Protocol and Port Numbers .................................19 5.2. Multicast Address .........................................20 5.3. Interface Parameters ......................................20 5.3.1. Received Message Validity Time .....................20 5.4. Router Parameters .........................................20 5.4.1. Local History Times ................................20 5.4.2. Link Metric Parameters .............................21 5.4.3. Message Intervals ..................................21 5.4.4. Advertised Information Validity Times ..............22 5.4.5. Processing and Forwarding Validity Times ...........22 5.4.6. Jitter .............................................23 5.4.7. Hop Limit ..........................................23 5.4.8. Willingness ........................................24 5.5. Parameter Change Constraints ..............................25 5.6. Constants .................................................27 5.6.1. Link Metric Constants ..............................27 5.6.2. Willingness Constants ..............................28
Top   ToC   RFC7181 - Page 3
           5.6.3. Time Constant ......................................28
   6. Link Metric Values .............................................28
      6.1. Link Metric Representation ................................28
      6.2. Link Metric Compressed Form ...............................29
   7. Local Information Base .........................................29
      7.1. Originator Set ............................................30
      7.2. Local Attached Network Set ................................30
   8. Interface Information Base .....................................31
      8.1. Link Set ..................................................31
      8.2. 2-Hop Set .................................................32
   9. Neighbor Information Base ......................................32
   10. Topology Information Base .....................................34
      10.1. Advertising Remote Router Set ............................34
      10.2. Router Topology Set ......................................35
      10.3. Routable Address Topology Set ............................35
      10.4. Attached Network Set .....................................36
      10.5. Routing Set ..............................................37
   11. Received Message Information Base .............................37
      11.1. Received Set .............................................38
      11.2. Processed Set ............................................38
      11.3. Forwarded Set ............................................39
   12. Information Base Properties ...................................39
      12.1. Corresponding Protocol Tuples ............................39
      12.2. Address Ownership ........................................40
   13. Packets and Messages ..........................................41
      13.1. Messages .................................................41
      13.2. Packets ..................................................41
      13.3. TLVs .....................................................42
           13.3.1. Message TLVs ......................................42
           13.3.2. Address Block TLVs ................................42
   14. Message Processing and Forwarding .............................45
      14.1. Actions When Receiving a Message .........................45
      14.2. Message Considered for Processing ........................46
      14.3. Message Considered for Forwarding ........................47
   15. HELLO Messages ................................................49
      15.1. HELLO Message Generation .................................49
      15.2. HELLO Message Transmission ...............................51
      15.3. HELLO Message Processing .................................51
           15.3.1. HELLO Message Discarding ..........................51
           15.3.2. HELLO Message Usage ...............................52
   16. TC Messages ...................................................56
      16.1. TC Message Generation ....................................56
      16.2. TC Message Transmission ..................................58
      16.3. TC Message Processing ....................................59
           16.3.1. TC Message Discarding .............................59
           16.3.2. TC Message Processing Definitions .................61
           16.3.3. Initial TC Message Processing .....................61
           16.3.4. Completing TC Message Processing ..................65
Top   ToC   RFC7181 - Page 4
   17. Information Base Changes ......................................66
      17.1. Originator Address Changes ...............................66
      17.2. Link State Changes .......................................66
      17.3. Neighbor State Changes ...................................67
      17.4. Advertised Neighbor Changes ..............................67
      17.5. Advertising Remote Router Tuple Expires ..................68
      17.6. Neighborhood Changes and MPR Updates .....................68
      17.7. Routing Set Updates ......................................70
   18. Selecting MPRs ................................................71
      18.1. Overview .................................................72
      18.2. Neighbor Graph ...........................................72
      18.3. MPR Properties ...........................................73
      18.4. Flooding MPRs ............................................74
      18.5. Routing MPRs .............................................76
      18.6. Calculating MPRs .........................................77
   19. Routing Set Calculation .......................................78
      19.1. Network Topology Graph ...................................78
      19.2. Populating the Routing Set ...............................80
   20. Proposed Values for Parameters ................................81
      20.1. Local History Time Parameters ............................82
      20.2. Message Interval Parameters ..............................82
      20.3. Advertised Information Validity Time Parameters ..........82
      20.4. Received Message Validity Time Parameters ................82
      20.5. Jitter Time Parameters ...................................82
      20.6. Hop Limit Parameter ......................................82
      20.7. Willingness Parameters ...................................82
   21. Sequence Numbers ..............................................83
   22. Extensions ....................................................83
   23. Security Considerations .......................................84
      23.1. Security Architecture ....................................84
      23.2. Integrity ................................................85
      23.3. Confidentiality ..........................................86
      23.4. Interaction with External Routing Domains ................87
      23.5. Mandatory Security Mechanisms ............................87
      23.6. Key Management ...........................................88
   24. IANA Considerations ...........................................90
      24.1. Expert Review: Evaluation Guidelines .....................91
      24.2. Message Types ............................................91
      24.3. Message-Type-Specific TLV Type Registries ................91
      24.4. Message TLV Types ........................................92
      24.5. Address Block TLV Types ..................................93
      24.6. NBR_ADDR_TYPE and MPR Values .............................96
   25. Contributors ..................................................96
   26. Acknowledgments ...............................................97
   27. References ....................................................97
      27.1. Normative References .....................................97
      27.2. Informative References ...................................98
   Appendix A.  Constraints .........................................100
Top   ToC   RFC7181 - Page 5
   Appendix B.  Example Algorithm for Calculating MPRs ..............104
     B.1.  Additional Notation ......................................104
     B.2.  MPR Selection Algorithm ................................. 105
   Appendix C.  Example Algorithm for Calculating the Routing Set ...105
     C.1.  Local Interfaces and Neighbors ...........................106
     C.2.  Add Neighbor Routers .....................................107
     C.3.  Add Remote Routers .......................................107
     C.4.  Add Neighbor Addresses ...................................108
     C.5.  Add Remote Routable Addresses ............................109
     C.6.  Add Attached Networks ....................................110
     C.7.  Add 2-Hop Neighbors ......................................110
   Appendix D.  TC Message Example ..................................111
   Appendix E.  Flow and Congestion Control .........................114

1. Introduction

The Optimized Link State Routing Protocol version 2 (OLSRv2) is the successor to OLSR (version 1) as published in [RFC3626]. Compared to [RFC3626], OLSRv2 retains the same basic mechanisms and algorithms, enhanced by the ability to use a link metric other than hop count in the selection of shortest routes. OLSRv2 also uses a more flexible and efficient signaling framework and includes some simplification of the messages being exchanged. OLSRv2 is developed for Mobile Ad Hoc Networks (MANETs). It operates as a table-driven, proactive protocol, i.e., it exchanges topology information with other routers in the network regularly. OLSRv2 is an optimization of the classic link state routing protocol. Its key concept is that of multipoint relays (MPRs). Each router selects two sets of MPRs, each being a set of its neighbor routers that "cover" all of its symmetrically connected 2-hop neighbor routers. These two sets are "flooding MPRs" and "routing MPRs", which are used to achieve flooding reduction and topology reduction, respectively. Flooding reduction is achieved by control traffic being flooded through the network using hop-by-hop forwarding, but with a router only needing to forward control traffic that is first received directly from one of the routers that have selected it as a flooding MPR (its "flooding MPR selectors"). This mechanism, denoted "MPR flooding", provides an efficient mechanism for information distribution within the MANET by reducing the number of transmissions required [MPR]. Topology reduction is achieved by assigning a special responsibility to routers selected as routing MPRs when declaring link state information. A sufficient requirement for OLSRv2 to provide shortest routes to all destinations is that routers declare link state information for their routing MPR selectors, if any. Routers that
Top   ToC   RFC7181 - Page 6
   are not selected as routing MPRs need not send any link state
   information.  Based on this reduced link state information, routing
   MPRs are used as intermediate routers in multi-hop routes.

   Thus, the use of MPRs allows reduction of the number and the size of
   link state messages and reduction in the amount of link state
   information maintained in each router.  When possible (in particular
   if using a hop count metric), the same routers may be picked as both
   flooding MPRs and routing MPRs.

   A router selects both routing and flooding MPRs from among its one-
   hop neighbors connected by "symmetric", i.e., bidirectional, links.
   Therefore, selecting routes through routing MPRs avoids the problems
   associated with data packet transfer over unidirectional links (e.g.,
   the problem of not getting link-layer acknowledgments at each hop,
   for link layers employing this technique).

   OLSRv2 uses and extends the MANET Neighborhood Discovery Protocol
   (NHDP) defined in [RFC6130] and also uses the Generalized MANET
   Packet/Message Format [RFC5444], the TLVs specified in [RFC5497] and,
   optionally, message jitter as specified in [RFC5148].  These four
   other protocols and specifications were all originally created as
   part of OLSRv2 but have been specified separately for wider use.

   OLSRv2 makes no assumptions about the underlying link layer.  OLSRv2,
   through its use of [RFC6130], may use link-layer information and
   notifications when available and applicable.  In addition, OLSRv2
   uses link metrics that may be derived from link layer or any other
   information.  OLSRv2 does not specify the physical meaning of link
   metrics but specifies a means by which new types of link metrics may
   be specified in the future but used by OLSRv2 without modification.

   OLSRv2, like OLSR [RFC3626], inherits its concept of forwarding and
   relaying from the High Performance Radio Local Area Network
   (HIPERLAN) (a MAC-layer protocol), which is standardized by ETSI
   [HIPERLAN] [HIPERLAN2].  This document does not obsolete [RFC3626],
   which is left in place for further experimentation.

2. Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. All terms introduced in [RFC5444], including "packet", "Packet Header", "message", "Message Header", "Message Body", "Message Type", "message sequence number", "hop limit", "hop count", "Address Block",
Top   ToC   RFC7181 - Page 7
   "TLV Block", "TLV", "Message TLV", "Address Block TLV", "type" (of
   TLV), "type extension" (of TLV), "value" (of TLV), "address",
   "address prefix", and "address object" are to be interpreted as
   described there.

   All terms introduced in [RFC6130], including "interface", "MANET
   interface", "network address", "link", "symmetric link", "symmetric
   1-hop neighbor", "symmetric 2-hop neighbor", "symmetric 1-hop
   neighborhood" "constant", "interface parameter", "router parameter",
   "Information Base", and "HELLO message" are to be interpreted as
   described there.

   Additionally, this specification uses the following terminology:

   Router:
      A MANET router that implements this protocol.

   OLSRv2 interface:
      A MANET interface running this protocol.  A router running this
      protocol MUST have at least one OLSRv2 interface.

   Routable address:
      A network address that may be used as the destination of a data
      packet.  A router that implements this protocol will need to
      distinguish a routable address from a non-routable address by
      direct inspection of the network address, based on global-scope
      address allocations by IANA and/or administrative configuration
      (consistently across the MANET).  Broadcast and multicast
      addresses, and addresses that are limited in scope to less than
      the entire MANET, MUST NOT be considered as routable addresses.
      Anycast addresses may be considered as routable addresses.

   Originator address:
      An address that is unique (within the MANET) to a router.  A
      router MUST select an originator address; it MAY choose one of its
      interface addresses as its originator address; and it MAY select
      either a routable or non-routable address.  A broadcast,
      multicast, or anycast address MUST NOT be chosen as an originator
      address.  If the router selects a routable address, then it MUST
      be one that the router will accept as destination.  An originator
      address MUST NOT have a prefix length, except when included in an
      Address Block where it MAY be associated with a prefix of maximum
      prefix length (e.g., if the originator address is an IPv6 address,
      it MUST have either no prefix length or have a prefix length of
      128).
Top   ToC   RFC7181 - Page 8
   Message originator address:
      The originator address of the router that created a message, as
      deduced from that message by its recipient.  For all messages used
      in this specification, including HELLO messages defined in
      [RFC6130], the recipient MUST be able to deduce an originator
      address.  The message originator address will usually be included
      in the message as its <msg-orig-addr> element as defined in
      [RFC5444].  However, an exceptional case, which does not add a
      <msg-orig-addr> element to a HELLO message, may be used by a
      router that only has a single address.

   Willingness:
      A numerical value between WILL_NEVER and WILL_ALWAYS (both
      inclusive) that represents the router's willingness to be selected
      as an MPR.  A router has separate willingness values to be a
      flooding MPR and a routing MPR.

   Willing symmetric 1-hop neighbor:
      A symmetric 1-hop neighbor that has willingness not equal to
      WILL_NEVER.

   Multipoint relay (MPR):
      A router, X, is an MPR for a router, Y, if router Y has indicated
      its selection of router X as an MPR in a recent HELLO message.
      Router X may be a flooding MPR for Y if it is indicated to
      participate in the flooding process of messages received from
      router Y, or it may be a routing MPR for Y if it is indicated to
      declare link state information for the link from X to Y.  It may
      also be both at the same time.

   MPR selector:
      A router, Y, is a flooding/routing MPR selector of router X if
      router Y has selected router X as a flooding/routing MPR.

   MPR flooding:
      The optimized MANET-wide information distribution mechanism,
      employed by this protocol, in which a message is relayed by only a
      reduced subset of the routers in the network.  MPR flooding is the
      mechanism by which flooding reduction is achieved.

   EXPIRED:
      Indicates that a timer is set to a value clearly preceding the
      current time (e.g., current time - 1).

   This specification employs the same notational conventions as
   [RFC5444] and [RFC6130].
Top   ToC   RFC7181 - Page 9

3. Applicability Statement

This document specifies OLSRv2, a proactive routing protocol intended for use in Mobile Ad Hoc Networks (MANETs) [RFC2501]. The protocol's applicability is determined by its characteristics, which are that this protocol: o Is designed to work in networks with a dynamic topology and in which messages may be lost, such as due to collisions over wireless media. o Supports routers that each have one or more participating OLSRv2 interfaces, which will consist of some or all of its MANET interfaces using [RFC6130]. The set of a router's OLSRv2 interfaces, and the sets of its other MANET and non-MANET interfaces, may change over time. Each interface may have one or more network addresses (which may have prefix lengths), and these may also be dynamically changing. o Enables hop-by-hop routing, i.e., each router can use its local information provided by this protocol to route packets. o Continuously maintains routes to all destinations in the network, i.e., routes are instantly available and data traffic is subject to no delays due to route discovery. Consequently, no data traffic buffering is required. o Supports routers that have non-OLSRv2 interfaces that may be local to a router or that can serve as gateways towards other networks. o Enables the use of bidirectional additive link metrics to use shortest distance routes (i.e., routes with smallest total of link metrics). Incoming link metric values are to be determined by a process outside this specification. o Is optimized for large and dense networks; the larger and more dense a network, the more optimization can be achieved by using MPRs, compared to the classic link state algorithm [MPR]. o Uses [RFC5444] as described in its "Intended Usage" appendix and by [RFC5498]. o Allows "external" and "internal" extensibility (adding new Message Types and adding information to existing messages) as enabled by [RFC5444]. o Is designed to work in a completely distributed manner and does not depend on any central entity.


(next page on part 2)

Next Section