RFC 6845

OSPF Hybrid Broadcast and Point-to-Multipoint Interface Type

πŸ“… published January 2013, from ietf

OSPF Hybrid Broadcast and Point-to-Multipoint Interface Type πŸ’–

  • RFC number: 6845
  • Authors: N. Sheth (Contrail Systems), L. Wang (Juniper Networks), J. Zhang (Juniper Networks)
  • Category: Standards Track ✨
  • Date: January 2013 πŸ“…
  • Updates: OSPFv2 (RFC 2328) and OSPFv3 (RFC 5340) πŸ”₯
  • Obsoletes: none listed in this header
  • ISSN: 2070-1721
  • Published by: Internet Engineering Task Force (IETF) 🌈

Abstract ✨

okay so this doc is about making a broadcast network act like a hybrid of broadcast and point-to-multipoint for OSPF purposes πŸ¦‹ neighbor discovery and maintenance, plus LSA database synchronization, still happen the broadcast way, but the network shows up as point-to-multipoint inside the router-LSAs of the routers attached to it. the vibe is accurate cost info between routers on the network while keeping that broadcast efficiency. it's a pretty simple approach and it needs minimal changes to OSPF πŸ’…

this doc updates both OSPFv2 (RFC 2328) and OSPFv3 (RFC 5340) 🫢

Status of This Memo πŸ“‹

this is an Internet Standards Track document πŸŽ€

it's a product of the Internet Engineering Task Force (IETF), it represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication 🌸 more info on Internet Standards is in Section 2 of RFC 5741 πŸ’œ

for the current status, any errata, and how to give feedback, check http://www.rfc-editor.org/info/rfc6845 πŸ”—

Copyright (c) 2013 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) as in effect on the date of publication. please actually read these, bestie, because they spell out your rights and restrictions for this doc πŸ™ˆ any Code Components pulled from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License βš–οΈ

Table of Contents 🧚

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.  Requirements Language . . . . . . . . . . . . . . . . . . . . . 3
3.  Motivation  . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.  Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  4.1.  Interface Parameters  . . . . . . . . . . . . . . . . . . . 4
  4.2.  Neighbor Data Structure . . . . . . . . . . . . . . . . . . 4
  4.3.  Neighbor Discovery and Maintenance  . . . . . . . . . . . . 5
  4.4.  Database Synchronization  . . . . . . . . . . . . . . . . . 5
  4.5.  Generating Network-LSAs . . . . . . . . . . . . . . . . . . 5
  4.6.  Generating Router and Intra-Area-Prefix-LSAs  . . . . . . . 5
    4.6.1.  Stub Links in OSPFv2 Router-LSA . . . . . . . . . . . . 6
    4.6.2.  OSPFv3 Intra-Area-Prefix-LSA  . . . . . . . . . . . . . 6
  4.7.  Next-Hop Calculation  . . . . . . . . . . . . . . . . . . . 6
  4.8.  Graceful Restart  . . . . . . . . . . . . . . . . . . . . . 6
5.  Compatibility Considerations  . . . . . . . . . . . . . . . . . 6
6.  Scalability and Deployment Considerations . . . . . . . . . . . 7
7.  Management Considerations . . . . . . . . . . . . . . . . . . . 7
8.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 7
10. Normative References  . . . . . . . . . . . . . . . . . . . . . 8

1. Introduction πŸ¦‹

okay so OSPF [RFC2328] on broadcast interfaces gets to use the broadcast powers of the underlying medium for neighbor discovery and maintenance 🌸 it also uses a Designated Router (DR) and a Backup Designated Router (BDR) to keep the Link State Advertisement (LSA) databases of the routers on the network synced in an efficient way ✨ the catch is that a router can't advertise different costs to each of its neighbors on the network in its router-LSA 😭

picture a radio network that does true broadcast, but the metrics between different pairs of terminals can be different for all kinds of reasons (like different signal strength from where things are placed) πŸ“‘ for a router to advertise different costs to different neighbors on that network, the interface has to be treated as point-to-multipoint (P2MP), even though the network really is broadcast-capable πŸ™ƒ

running point-to-multipoint can need explicit configuration of who the neighboring routers are 🧐 it also means the router has to send separate Hellos to each neighbor on the network, and it requires forming adjacencies to all the configured or discovered neighbors on the network πŸ’€ the upside is that it gives routers the flexibility to advertise different costs to each neighbor in their router-LSAs πŸ‘‘

so this doc proposes a new interface type for networks that have broadcast capability πŸŽ€ in this mode, neighbor discovery and maintenance, plus database synchronization, use the existing broadcast-mode procedures πŸ’– the network gets modeled as a collection of point-to-point links in the router-LSA, just like it would be in point-to-multipoint mode ✨ this new interface type is called hybrid-broadcast-and-P2MP for the rest of the doc 🧚

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 interpreted as described in [RFC2119]. 🫢

3. Motivation 🌈

some networks are broadcast capable but have a potentially different cost for communication between any given pair of nodes πŸ“ that cost could come from the underlying topology plus link quality metrics like bandwidth, delay, and jitter, among others πŸ“Š

treating those networks as OSPF broadcast networks isn't accurate, since that doesn't let a router advertise a different cost to each of the other routers πŸ™…β€β™€οΈ point-to-multipoint mode would describe the cost to reach each router correctly, but it'd be inefficient, because it would need forming O(N^2) adjacencies when there are N routers on the network 😭

so for these networks, the hybrid-broadcast-and-P2MP type is the move πŸ”₯ it combines the flexibility of point-to-multipoint with the advantages and efficiencies of the broadcast interface type πŸ’œ

4. Operation ✨

OSPF routers that support the capabilities in this doc should have support for an extra hybrid-broadcast-and-P2MP type for the Type data item described in Section 9 of [RFC2328]. πŸŽ€

the next sub-sections break down the salient bits of OSPF operation on routers configured with a hybrid-broadcast-and-P2MP interface πŸ¦‹

4.1. Interface Parameters 🧁

the Router Priority interface parameter from OSPFv2 [RFC2328] and OSPFv3 [RFC5340] applies to a hybrid-broadcast-and-P2MP interface πŸ’–

the LinkLSASuppression interface parameter from OSPFv3 [RFC5340] also applies to a hybrid-broadcast-and-P2MP interface πŸ™Œ its default value is disabled, and it can be set to enabled via configuration πŸ”§

4.2. Neighbor Data Structure 🧩

a new field called Neighbor Output Cost gets added to the neighbor data structure πŸ’… this is the cost of sending a data packet to the neighbor, expressed in the link state metric πŸ“ its default value is the Interface output cost 🌸 it can be set to a different value using mechanisms outside the scope of this document, like static per-neighbor configuration or any dynamic discovery mechanism the underlying network supports πŸ›°οΈ

4.3. Neighbor Discovery and Maintenance πŸ‘‹

routers send and receive Hellos to do neighbor discovery and maintenance on the interface, using the procedures specified for broadcast interfaces in [RFC2328] and [RFC5340] πŸ’¬

4.4. Database Synchronization πŸ”„

routers elect a DR and a BDR for the interface and use them for both initial and ongoing database synchronization, following the procedures specified for broadcast interfaces in [RFC2328] and [RFC5340] 🀝

4.5. Generating Network-LSAs 🚫

a hybrid-broadcast-and-P2MP interface gets described in router-LSAs as a collection of point-to-point links 🧠 so the DR MUST NOT generate a network-LSA for the interface πŸ™…β€β™€οΈ

4.6. Generating Router and Intra-Area-Prefix-LSAs 🌟

routers describe the interface in their router-LSA the way it's specified for a point-to-multipoint interface in Section 12.4.1.4 of [RFC2328] and Section 4.4.3.2 of [RFC5340] πŸ’– the only changes are for Type 1 links, and they go like this:

  • if a router is not the DR and doesn't have a full adjacency to the DR, it MUST NOT add any Type 1 links πŸ™…β€β™€οΈ
  • if a router is not the DR and does have a full adjacency to the DR, and both the DR and this router agree on the DR role, it MUST add a Type 1 link for each neighbor that's in state 2-Way or higher and that the DR's router-LSA includes a link to 🫢
  • the cost for a Type 1 link corresponding to a neighbor SHOULD be set to the value of the Neighbor Output Cost field defined in Section 4.2 ✨

routers MUST add a Type 3 link for their own IP address to the router-LSA, as described in Section 12.4.1.4 of [RFC2328] πŸ’œ they MUST also add a Type 3 link with the Link ID set to the IP subnet address, Link Data set to the IP subnet mask, and cost equal to the configured output cost of the interface πŸŽ€

4.6.2. OSPFv3 Intra-Area-Prefix-LSA 🌈

routers MUST add globally scoped IPv6 addresses on the interface to the intra-area-prefix-LSA, as described for point-to-multipoint interfaces in Section 4.4.3.9 of [RFC5340] 🌸 on top of that, they MUST also add all globally scoped IPv6 prefixes on the interface to the LSA by specifying the PrefixLength, PrefixOptions, and Address Prefix fields 🧁 the Metric field for each of these prefixes is set to the configured output cost of the interface πŸ“Š

the DR MUST NOT generate an intra-area-prefix-LSA for the transit network for this interface, since it doesn't generate a network-LSA for the interface πŸ™…β€β™€οΈ and yes, the global prefixes tied to the interface still get advertised in the intra-area-prefix-LSA for the router, like described above πŸ’…

4.7. Next-Hop Calculation πŸ¦‹

next-hops to destinations directly connected to a router via the interface are calculated as specified for a point-to-multipoint interface in Section 16.1.1 of [RFC2328] ✨

4.8. Graceful Restart ✨

okay so this part is about graceful restart πŸ”„ and how a router makes sure it exits that mode properly πŸ’…. The changes below tweak the procedures in Section 2.2, item 1, of [RFC3623], and they are required, bestie 🫢

  • If a router is the DR on the interface, the pre-restart network-LSA for the interface MUST NOT be used to determine the previous set of adjacencies. πŸ™…β€β™€οΈ no peeking at the old network-LSA to figure out what adjacencies used to exist!!
  • If a router is in state DROther on the interface, an adjacency to a non-DR or non-BDR neighbor is considered as reestablished when the neighbor state reaches 2-Way. 🌸 so the adjacency counts as back once the neighbor hits 2-Way, and that's the whole vibe ✨

5. Compatibility Considerations πŸŽ€

okay compatibility time, and this one is kinda important πŸ₯Ί all routers on the network must support the hybrid-broadcast-and-P2MP interface type for successful operation πŸ’– if that's not the case, the interface should be configured as a standard broadcast interface instead πŸ¦‹

now, if some routers treat the interface as broadcast and others treat it as hybrid-broadcast-and-P2MP, neighbors and adjacencies will still get formed like it's a broadcast interface 🀝 BUT 😭 the router and network-LSAs get built differently for these two interface types, so there will be no traffic going through certain pairs of routers πŸ™ˆ the good news? this won't cause any persistent loops or black-holing of traffic 🫢

to catch possible mismatched configs, an implementation of this specification SHOULD log a message if a network-LSA is received for a locally configured hybrid interface πŸ” detective mode activated πŸ•΅οΈβ€β™€οΈ


6. Scalability and Deployment Considerations πŸ“ˆ

so scalability, you guys πŸ’€ treating a broadcast interface as hybrid-broadcast-and-P2MP gives you O(N^2) links to represent the network instead of O(N), where N is the number of routers on the network 😱 that means more memory usage and a hit to route calculation performance on all the routers in the area 🐒 network designers, please weigh the benefits of the new interface type against those disadvantages before you commit 🧠✨


7. Management Considerations 🧚

this section is not normative, so it's just vibes 🌈 the following MIB variable/value should be added to the appropriate OSPFv2 and OSPFv3 MIBs ([RFC4750], [RFC5643]) πŸ’œ

  • For ospfIfType/ospfv3IfType, a new value broadcast-P2MP-hybrid (X) for the hybrid interface type (X to be defined when the revised MIB documents are approved) πŸ“
  • For ospfNbrEntry/ospfv3NbrEntry, an ospfNbrMetricValue/ospfv3NbrMetricValue attribute for per-neighbor metrics. In case of non-hybrid interfaces, the value is the same as the interface metric. πŸŽ€

This section is not normative. 🫢


8. Security Considerations πŸ”

okay, this part is serious, so listen up 🚨 this document raises no new security issues for OSPF πŸ™Œ the security considerations for the base OSPF protocol are covered in [RFC2328], [RFC5340], and [RFC6506] πŸ’… go read those, bestie πŸ“š


9. Acknowledgements 🌷

the authors want to thank Acee Lindem and Richard Ogier for their comments and suggestions πŸ’– iconic supporting cast πŸ‘‘


10. 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.

[RFC3623]  Moy, J., Pillay-Esnault, P., and A. Lindem, "Graceful OSPF
           Restart", RFC 3623, November 2003.

[RFC4750]  Joyal, D., Galecki, P., Giacalone, S., Coltun, R., and F.
           Baker, "OSPF Version 2 Management Information Base",
           RFC 4750, December 2006.

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

[RFC5643]  Joyal, D. and V. Manral, "Management Information Base for
           OSPFv3", RFC 5643, August 2009.

[RFC6506]  Bhatia, M., Manral, V., and A. Lindem, "Supporting
           Authentication Trailer for OSPFv3", RFC 6506,
           February 2012.

Authors' Addresses πŸ§‘β€πŸ’»

Nischal Sheth
Contrail Systems
2350 Mission College Blvd, #1140
Santa Clara, CA  95054
US

EMail: nsheth@contrailsystems.com


Lili Wang
Juniper Networks
10 Technology Park Dr.
Westford, MA  01886
US

EMail: liliw@juniper.net


Jeffrey Zhang
Juniper Networks
10 Technology Park Dr.
Westford, MA  01886
US

EMail: zzhang@juniper.net

that's the whole doc, bestie!! πŸŒˆπŸ’–βœ¨

πŸ“¦ where this page comes from