RFC 6395
An Interface Identifier (ID) Hello Option for PIM
An Interface Identifier (ID) Hello Option for PIM π¦
okay bestie, this is RFC 6395 πΈ it's a Standards Track doc from the IETF (Internet Engineering Task Force), published October 2011, and it's by Sameer Gulrajani and Stig Venaas, both at Cisco Systems π The ISSN is 2070-1721. The header doesn't list anything it obsoletes or updates, so it's its own thing, no cap π
Abstract β¨
so the big idea is this: it defines a brand new PIM Hello option that lets routers advertise an Interface Identifier. PIM protocols can then use that ID to uniquely pin down one interface on a neighboring router π
Status of This Memo π
this is an Internet Standards Track doc, aka it's been through the whole IETF process. It represents the consensus of the IETF community, got public review, and was approved for publication by the Internet Engineering Steering Group (IESG) π«Ά If you want the deets on Internet Standards, check Section 2 of RFC 5741. Info about the current status, any errata, and how to send feedback lives at http://www.rfc-editor.org/info/rfc6395 π
Copyright Notice π
Β© 2011 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 stand on the publication date. Read those carefully, because they spell out your rights and restrictions. Code Components pulled out of this document need to include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, same as the Simplified BSD License says π
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Notation . . . . . . . . . . . . . . . . . . . 2
2. Interface Identifier Option . . . . . . . . . . . . . . . . . . 2
2.1. Local Interface Identifier . . . . . . . . . . . . . . . . 3
2.2. Router Identifier . . . . . . . . . . . . . . . . . . . . . 3
3. Message Format . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . . 5
7.2. Informative References . . . . . . . . . . . . . . . . . . 5
1. Introduction πΈ
okay so this doc adds a new option that goes in PIM Hello messages [RFC4601] to carry an Interface Identifier π¦ Each router makes IDs for its PIM-enabled interfaces, and every interface gets a different one. The IDs can optionally be generated so they're unique within, e.g., an administrative domain β¨
here's the example that makes it click: PIM over Reliable Transport (PORT) [PIM-PORT] uses a single Transport connection between two routers that have multiple interfaces connecting them π If those interfaces have unnumbered or IPv6 link-local addresses, the Interface Identifier in the PORT Join/Prune message tells you which interface that message belongs to. For PORT, the Router Identifier isn't needed, so it can be set to zero π
one more thing: every multi-byte integer here is sent in network byte order, aka most significant byte first π₯
1.1. Requirements Notation π₯
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document get read the way [RFC2119] describes π§
2. Interface Identifier Option π
the Interface Identifier option tells you which interface of a neighboring router a PIM Hello [RFC4601] came through π«Ά That lets PIM protocols point at, or identify, one specific interface on that neighbor, which is honestly iconic π
the option only has to show up in PIM Hello messages if the router supports protocols that need it. An implementation MAY choose to always include it π How the Interface Identifier gets used, and what its uniqueness requirements are, is up to the specs of whichever PIM protocols implement it. The vibe is that different protocols have different minimum requirements for stability and uniqueness, but none of them have a maximum requirement π When a protocol does get specified, it should spell out what its minimums are π
the ID is 64 bits total. The lower 32 bits are the Local Interface Identifier, and the high 32 bits are the Router Identifier π
2.1. Local Interface Identifier π«Ά
the 32-bit Local Interface Identifier is picked so it's unique among the router's PIM-enabled interfaces. So there MUST NOT be two PIM interfaces with the same Local Interface Identifier π« While an interface is up, the Identifier MUST always be the same once it's been allocated. If an interface goes down and comes back up, the router SHOULD reuse the same Identifier π If the whole node goes down and comes back, the Identifier for each interface MAY change π¦ Lots of systems use an ifIndex [RFC2863] as their Local Interface Identifier π
the Local Interface Identifier MUST be non-zero. The reason is that some protocols may have messages that optionally reference an Interface Identifier, and they can use the value 0 to say "no Interface Identifier is being referenced" π Also, 0 isn't a valid ifIndex as defined in [RFC2863], so yeah, it's a no-go π
2.2. Router Identifier π
the 32-bit Router Identifier can be used to uniquely identify the router π§ How unique it has to be depends on the protocols using it. It might need to be unique within some administrative domain, or it might need to be globally unique π
a router implementation picks its Router Identifier based on a configured policy that defines the uniqueness scope. So an implementation MAY be configured to choose an IPv4 unicast address assigned to the router as its Router Identifier, but the implementation MUST allow the identifier to be configured manually π Protocols like BGP [RFC4271] and OSPFv2 [RFC2328] also use 32-bit identifiers for routers. As long as the stability and uniqueness requirements of the protocols using the Router Identifier are met, an implementation MAY use the same identifier that other protocols use π«Ά
the value 0 is special for the Router Identifier. It means no Router Identifier is in use. If a router only supports protocols that need the Interface Identifier to be unique for one router (so it only uses the Local Interface Identifier), then the implementation MAY set the Router Identifier to zero π
3. Message Format π§
here's the option layout. Copy it exactly, the bits matter π€
Option Type: Interface Identifier
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 31 | Length = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
the Allocated Hello Type values live in [HELLO-OPT] π
- Length: the number of bytes in the value part of the Type/Length/Value encoding. The Interface Identifier is 8 bytes long πΈ
- Router Identifier: a 4-byte identifier that uniquely identifies the router within some scope. It MAY be 0 when no protocols require a Router Identifier. The field MUST contain a valid Router Identifier or the value zero π
- Local Interface Identifier: a 4-byte identifier that's unique among all PIM-enabled interfaces on a router π¦
4. Security Considerations π
okay this part is serious, bestie π¨ The Interface Identifier rides along in PIM Hello messages. For security considerations about PIM Hello messages in general, see [RFC4601]. The scary bit: PIM Hello messages may be forged and include an arbitrary Interface Identifier, or the Interface Identifier may be intentionally left out. What happens next depends on how other protocols use the Interface Identifier π±
5. IANA Considerations π
IANA has assigned the value 31 for the Interface ID PIM-Hello option defined in this document π
6. Acknowledgments π
big thanks to Yiqun Cai, Heidi Ou, Liming Wei, Gorry Fairhurst, Bharat Joshi, and Bill Atwood for giving valuable feedback π«Ά
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.
[RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
"Protocol Independent Multicast - Sparse Mode (PIM-SM):
Protocol Specification (Revised)", RFC 4601, August 2006.
7.2. Informative References
[HELLO-OPT] IANA, "PIM Hello Options", <http://www.iana.org/>.
[PIM-PORT] Farinacci, D., Wijnands, IJ., Venaas, S., and M.
Napierala, "A Reliable Transport Mechanism for PIM", Work
in Progress, August 2011.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group
MIB", RFC 2863, June 2000.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
Authors' Addresses π¦
Sameer Gulrajani
Cisco Systems
Tasman Drive
San Jose, CA 95134
USA
EMail: sameerg@cisco.com
Stig Venaas
Cisco Systems
Tasman Drive
San Jose, CA 95134
USA
EMail: stig@cisco.com
that's the whole spec, bestie! ππ you're officially PIM-literate now π
π¦ where this page comes from
- ietf: rfc6395 2011-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms