RFC 7137

Use of the OSPF-MANET Interface in Single-Hop Broadcast Networks

πŸ“… published February 2014, from ietf

RFC 7137: Use of the OSPF-MANET Interface in Single-Hop Broadcast Networks πŸŽ€

Okay bestie, here's the rundown πŸ’–

  • RFC number: 7137
  • Authors: A. Retana and S. Ratliff, both from Cisco Systems, Inc. πŸ‘‘
  • Category: Experimental πŸ§ͺ
  • Date: February 2014 πŸ“…
  • Updates: RFC 5820 πŸ”
  • ISSN: 2070-1721
  • Stream: Internet Engineering Task Force (IETF) 🌈

Abstract ✨

okay so this doc is all about using the OSPF-MANET interface on single-hop broadcast networks πŸ¦‹ It also adds a way to automatically figure out when you're on one of these networks, plus some operational stuff that comes from how they work. πŸ’…

And yes, this one updates RFC 5820 🫢

Status of This Memo πŸ“œ

ngl this one is not an Internet Standards Track spec. It's being shared so people can look at it, try it out in experiments, and evaluate it πŸ§ͺ

It's an Experimental Protocol for the Internet community, made by the IETF. It reflects what the IETF community agreed on, got public review, and got approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved doc is up for any level of Internet Standard, so see Section 2 of RFC 5741 if you're curious about that πŸ€“

For the latest status, errata, or to leave feedback, check http://www.rfc-editor.org/info/rfc7137 🌸

Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. πŸ”’

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stood on the publication date. Read them carefully, because they spell out your rights and restrictions for this doc. Any Code Components you pull out of this document must include Simplified BSD License text (as described in Section 4.e of the Trust Legal Provisions), and they come with no warranty, as the Simplified BSD License says 🫢

Table of Contents πŸ—‚οΈ

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
  1.1.  Single-Hop Broadcast Networks . . . . . . . . . . . . . .   3
2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
3.  Single-Hop Network Operation  . . . . . . . . . . . . . . . .   4
  3.1.  Use of Router Priority  . . . . . . . . . . . . . . . . .   4
  3.2.  Unsynchronized Adjacencies  . . . . . . . . . . . . . . .   5
4.  Single-Hop Network Detection  . . . . . . . . . . . . . . . .   6
  4.1.  Transition from Multi-Hop to Single-Hop Mode  . . . . . .   6
  4.2.  Transition from Single-Hop to Multi-Hop Mode  . . . . . .   7
5.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
  7.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
  7.2.  Informative References  . . . . . . . . . . . . . . . . .   8

1. Introduction 🌷

The OSPF-MANET interface [RFC5820] uses a point-to-multipoint adjacency model over broadcast media, and that gives you a few perks πŸ’…

  • All router-to-router connections get treated as if they were point-to-point links. πŸ”—
  • The link metric can be set on a per-neighbor basis. 🎯
  • Broadcast and multicast can happen through the Layer 2 broadcast features of the media. πŸ“‘

It's pretty clear that the MANET interface's features could also help in other kinds of deployments. We're talking specifically about single-hop broadcast-capable networks where any pair of nodes might have a different cost attached to it πŸ¦‹

So this document updates [RFC5820] to describe using the MANET interface on single-hop broadcast networks. The simplified operation is that you don't need overlapping relays, and there's a new heuristic for smart peering that uses the Router Priority ✨

1.1. Single-Hop Broadcast Networks 🌐

The OSPF extensions for MANETs are built for ad hoc networks over bandwidth-constrained wireless links, where packets might hop through several intermediate nodes before they reach the destination (multi-hop paths on the interface) πŸ“Ά

A single-hop broadcast network, which is what this document is about, is different: every node in it is directly connected to every other node. An Ethernet interface is a great example of that connectivity model 🧚

The single-hop networks we're looking at can also have different link metrics for the connection between a specific pair of neighbors. The OSPF broadcast model [RFC2328] can't accurately describe those differences πŸ™ˆ A point-to-multipoint description fits way better, since each node can reach every other node directly πŸ’–

To sum up, the single-hop broadcast interfaces in this doc have these vibes:

  • direct connectivity between all the nodes 🀝
  • different link metrics that may exist per-neighbor πŸ“
  • broadcast/multicast capabilities πŸ“£

2. Requirements Language πŸ’œ

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read as described in [RFC2119] πŸ“–

3. Single-Hop Network Operation πŸ¦‹

The MANET interface works the same way when it's running on a single-hop broadcast interface. The difference is that some of the proposed enhancements can be simplified. Specifically, the Overlapping Relay Discovery Process SHOULD NOT be executed, and the A-bit SHOULD NOT be set by any node, so you end up with an empty set of Active Overlapping Relays 🫧

This doc only uses mechanisms that are already defined, so there are no new on-the-wire changes needed πŸŽ€

3.1. Use of Router Priority 🌸

Smart peering [RFC5820] can cut down on the need for a full mesh of adjacencies. The short version: you don't need a new adjacency if you can already reach the node through the existing shortest path tree (SPT) 🌳 In general, reachability gets verified first-come-first-served. In a typical network, the neighbors you end up with a FULL adjacency to depend on the order they were discovered in ⏳

The state machine for smart peering lets you define heuristics beyond SPT reachability, to decide whether a new adjacency is worth it. This section describes one such heuristic, to be used in Step (3) of the state machine, in place of the original one in Section 3.5.3.2 of [RFC5820] 🧠

The Router Priority (defined in OSPFv2 [RFC2328] and OSPFv3 [RFC5340]) is used to elect the (Backup) Designated Router. It can only be configured on broadcast and Non-Broadcast Multi-Access (NBMA) interfaces. The MANET interface is a broadcast interface that uses the point-to-multipoint adjacency model, which means no (Backup) Designated Router gets elected. So for use with the MANET interface, the Router Priority is defined like this πŸ’…

Router Priority: An 8-bit unsigned integer. It decides which router(s) to establish a FULL adjacency with during the Smart Peering selection process. When more than one router is attached to a network, the one with the highest Router Priority wins. If there's still a tie, the router with the highest Router ID wins πŸ‘‘

The heuristic for the smart peering state machine looks like this 🧩

        (3)                      |
      ,'''''''''''''''''''''''''''''''''''''''''''''''''''''''''|
      |             ............................                |
      |             |Determine if the number of|                |
      |             |existing adjacencies is < |                |
      |             |the maximum configured    |                |
      |             |value                     |                |
      |             '`'''''''\'''''''''''''''/''                |
      |                       \             /                   |
      |        ................\.........../..............      |
      |        |Determine if the neighbor has the highest|      |
      |        |(Router Priority, Router ID) combination |      |
      |        ''''''''''''`'''/'''''''\''''''''''''''''''      |
      |                       /         \                       |
      '`'''''''''''''''''''''/'''''''''''\'''''''''''''''''''''''

                      Smart Peering Algorithm

To avoid churn when selecting and setting up adjacencies, every router SHOULD wait until the ModeChange timer (Section 4) expires before it runs the smart peering state machine. Waiting like this means the selection process looks at all the nodes on the link, rather than kicking off every time a Hello arrives from a potential neighbor. The nodes this process picks are called "smart peers" 🫢

It is RECOMMENDED that the maximum number of adjacencies be set to 2. πŸ’–

3.2. Unsynchronized Adjacencies 🧚

An unsynchronized adjacency [RFC5820] is one where database synchronization gets postponed, but it's still announced as FULL because SPT reachability can be proven ✨ A single-hop broadcast network is one where every node is directly connected to every other node. That connectivity makes the SPT reachability check way simpler: the adjacency to a specific peer MUST be advertised as FULL by at least one smart peer πŸ”₯

Since the interface is single-hop, the reachable adjacencies can be advertised as FULL without any extra signaling πŸ“£ Flooding SHOULD be enabled for all the unsynchronized adjacencies so they can take advantage of the media's broadcast nature. The result is that every node on the interface can use all the LSAs it receives 🌈

4. Single-Hop Network Detection ✨

okay so a single-hop network is one where every node is directly connected to every other node πŸ¦‹ detecting it is actually easy-peasy at every node: you just compare the speaker's 1-hop neighbors with its 2-hop neighborhood. if, for every 1-hop neighbor, the 2-hop neighbors include the whole set of the other 1-hop neighbors, then the interface is a single-hop network. the girlies call this the Single-Hop Condition πŸ’…

a new field joins the MANET interface data structure πŸŽ€ it's called SingleHop, and it's a flag that says whether the interface is running in single-hop mode (more on that in Section 3). the SingleHop flag gets set when the node meets the Single-Hop Condition on the interface. but if the Single-Hop Condition stops being met, the SingleHop flag MUST be cleared 🫢

there's also a new timer to help the interface switch between multi-hop mode (the default one from [RFC5820]) and single-hop mode 🌈

o ModeChange: every time a node flips the SingleHop flag on the interface, the matching ModeChange timer MUST be set. this timer is the number of seconds an interface SHOULD wait before changing between multi-hop and single-hop modes. it is RECOMMENDED that this timer be set to Wait Time [RFC2328] πŸ“

the next sections walk through the steps for switching modes ✨

4.1. Transition from Multi-Hop to Single-Hop Mode

detecting the Single-Hop Condition kicks off the move into single-hop mode by setting both the SingleHop flag and the ModeChange timer πŸ’–

once the ModeChange timer runs out, the heuristic from Section 3.1 MAY be run to optimize the set of adjacencies on the interface. ngl this is the part to remember: an adjacency MUST NOT go from FULL to 2-Way unless the simplified reachability check (Section 3.2) can be verified πŸ™ˆ

4.2. Transition from Single-Hop to Multi-Hop Mode

not meeting the Single-Hop Condition is what triggers the move into multi-hop mode 🌸 that means clearing the SingleHop flag and setting the ModeChange timer. the A-bit MUST be set if the Single-Hop condition is no longer met because of one of these cases:

  • an increase in the set of 1-hop neighbors, without the matching increase in the 2-hop neighborhood
  • a decrease of the 2-hop neighborhood while keeping all the previous 1-hop neighbors

once the ModeChange timer expires, the multi-hop operation described in [RFC5820] takes over 🧚

the cases above can make the interface either gain or lose a node before the ModeChange timer expires. either way, the heuristic from Section 3.1 MAY be run to optimize the set of adjacencies on the interface πŸ¦‹

if a node joins the interface, the Designated Router and Backup Designated Router fields in the Hello packet [RFC2328] MAY be used to tell the new node the Router ID of the current smart peers (and skip the optimization) πŸ‘‘

5. Security Considerations πŸ”₯

no new security concerns beyond the ones in [RFC5820] are introduced in this document. (still, stay safe out there, bestie πŸ’œ)

6. Acknowledgements 🫢

the authors would like to thank Anton Smirnov, Jeffrey Zhang, Alia Atlas, Juan Antonio Cordero, Richard Ogier, and Christer Holmberg for their comments 🌈

7. References πŸ“š

7.1. Normative References

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

[RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.

[RFC5820]  Roy, A. and M. Chandra, "Extensions to OSPF to Support
           Mobile Ad Hoc Networking", RFC 5820, March 2010.

7.2. Informative References

[RFC5340]  Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
           for IPv6", RFC 5340, July 2008.

Authors' Addresses

Alvaro Retana
Cisco Systems, Inc.
7025 Kit Creek Rd.
Research Triangle Park, NC  27709
USA

EMail: aretana@cisco.com


Stan Ratliff
Cisco Systems, Inc.
7025 Kit Creek Rd.
Research Triangle Park, NC  27709
USA

EMail: sratliff@cisco.com
πŸ“¦ where this page comes from