tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 7181

Proposed STD
Pages: 115
Top     in Index     Prev     Next
in Group Index     Prev in Group     Next in Group     Group: MANET

The Optimized Link State Routing Protocol Version 2

Part 1 of 5, p. 1 to 9
None       Next RFC Part

Updated by:    7183    7187    7188    7466


Top       ToC       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.

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       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       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       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       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       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       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       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 RFC Part