1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
|
<pre>Internet Engineering Task Force (IETF) S. Gulrajani
Request for Comments: 6395 S. Venaas
Category: Standards Track Cisco Systems
ISSN: 2070-1721 October 2011
<span class="h1">An Interface Identifier (ID) Hello Option for PIM</span>
Abstract
This document defines a new PIM Hello option to advertise an
Interface Identifier that can be used by PIM protocols to uniquely
identify an interface of a neighboring router.
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 <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc6395">http://www.rfc-editor.org/info/rfc6395</a>.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) 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.
<span class="grey">Gulrajani & Venaas Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc6395">RFC 6395</a> An Interface ID Hello Option for PIM October 2011</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-1.1">1.1</a>. Requirements Notation . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-2">2</a>. Interface Identifier Option . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-2.1">2.1</a>. Local Interface Identifier . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-2.2">2.2</a>. Router Identifier . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-3">3</a>. Message Format . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-4">4</a>. Security Considerations . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-5">5</a>. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-6">6</a>. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-7">7</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-7.1">7.1</a>. Normative References . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-7.2">7.2</a>. Informative References . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
This document defines a new option for use in PIM Hello messages
[<a href="./rfc4601" title=""Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)"">RFC4601</a>] to carry an Interface Identifier. A router generates
identifiers for each of its PIM-enabled interfaces such that each
interface has a different identifier. The identifiers can optionally
be generated such that they are unique within, e.g., an
administrative domain.
An example where this Interface Identifier can be used is with PIM
over Reliable Transport (PORT) [<a href="#ref-PIM-PORT" title=""A Reliable Transport Mechanism for PIM"">PIM-PORT</a>], where a single Transport
connection is used between two routers that have multiple interfaces
connecting them. If these interfaces have unnumbered or IPv6 link-
local addresses, the Interface Identifier included in the PORT Join/
Prune message will identify with which interface the message is
associated. For PORT, the Router Identifier is not needed, and it
can be set to zero.
All multi-byte integers in this specification are transmitted in
network byte order (i.e., most significant byte first).
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Requirements Notation</span>
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 [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Interface Identifier Option</span>
The Interface Identifier option is used to identify the interface of
a neighboring router through which a PIM Hello [<a href="./rfc4601" title=""Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)"">RFC4601</a>] was sent.
This allows PIM protocols to refer to, or identify, a particular
interface on a neighboring router.
<span class="grey">Gulrajani & Venaas Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc6395">RFC 6395</a> An Interface ID Hello Option for PIM October 2011</span>
The Interface Identifier option need only be included in PIM Hello
messages if the router supports protocols that require it. An
implementation MAY choose to always include it. The usage of the
Interface Identifier and the uniqueness requirements are left to the
specifications of the PIM protocols that implement it. It is assumed
that different protocols have different minimum requirements for
stability and uniqueness of the Interface Identifier but that they
have no maximum requirement. When specified, these protocols should
indicate what their minimum requirements are.
The Interface Identifier consists of 64 bits. The lower 32 bits form
a Local Interface Identifier, and the high 32 bits form a Router
Identifier.
<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>. Local Interface Identifier</span>
The 32-bit Local Interface Identifier is selected such that it is
unique among the router's PIM-enabled interfaces. That is, 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 has been allocated. If an interface goes down and
comes up, the router SHOULD use the same Identifier. If a node goes
down and comes up again, the Identifier for each interface MAY
change. Many systems make use of an ifIndex [<a href="./rfc2863" title=""The Interfaces Group MIB"">RFC2863</a>] as a Local
Interface Identifier.
The Local Interface Identifier MUST be non-zero. The reason for this
is that some protocols may have messages that optionally reference an
Interface Identifier, and they may use the value of 0 to show that no
Interface Identifier is being referenced. Note that the value of 0
is not a valid ifIndex as defined in [<a href="./rfc2863" title=""The Interfaces Group MIB"">RFC2863</a>].
<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>. Router Identifier</span>
The 32-bit Router Identifier may be used to uniquely identify the
router. The requirements for the scope in which the Router
Identifier needs to be unique depend on the protocols that utilize
it. It may need to be unique within some administrative domain, or
it may possibly be globally unique.
A router implementation selects a Router Identifier according to a
configured policy that defines the uniqueness scope. Thus, an
implementation MAY be configured to choose an IPv4 unicast address
assigned to the router as the Router Identifier, but the
implementation MUST allow the identifier to be configured manually.
<span class="grey">Gulrajani & Venaas Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc6395">RFC 6395</a> An Interface ID Hello Option for PIM October 2011</span>
Protocols such as BGP [<a href="./rfc4271" title=""A Border Gateway Protocol 4 (BGP-4)"">RFC4271</a>] and OSPFv2 [<a href="./rfc2328" title=""OSPF Version 2"">RFC2328</a>] are other
protocols that make use of 32-bit identifiers for routers. Provided
that the stability and uniqueness requirements of the protocols that
make use of the Router Identifier are met, an implementation MAY use
the same identifier used by other protocols.
The value 0 has a special meaning for the Router Identifier. It
means that no Router Identifier is used. If a router only supports
protocols that require the Interface Identifier to be unique for one
router (only making use of the Local Interface Identifier), then the
implementation MAY set the Router Identifier to zero.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Message Format</span>
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Allocated Hello Type values can be found in [<a href="#ref-HELLO-OPT" title=""PIM Hello Options"">HELLO-OPT</a>].
Length: In bytes for the value part of the Type/Length/Value
encoding. The Interface Identifier will be 8 bytes long.
Router Identifier: The Router Identifier is a 4-byte identifier
uniquely identifying 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: The Local Interface Identifier is a
4-byte identifier that is unique among all PIM-enabled interfaces
on a router.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Security Considerations</span>
The Interface Identifier is included in PIM Hello messages. See
[<a href="./rfc4601" title=""Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)"">RFC4601</a>] for security considerations regarding PIM Hello messages.
In particular, PIM Hello messages may be forged and include an
arbitrary Interface Identifier, or the Interface Identifier may be
intentionally omitted. The effects of this depend on how the
Interface Identifier is used by other protocols.
<span class="grey">Gulrajani & Venaas Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc6395">RFC 6395</a> An Interface ID Hello Option for PIM October 2011</span>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. IANA Considerations</span>
IANA has assigned the value 31 for the Interface ID PIM-Hello option
defined in this document.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Acknowledgments</span>
The authors thank Yiqun Cai, Heidi Ou, Liming Wei, Gorry Fairhurst,
Bharat Joshi, and Bill Atwood for providing valuable feedback.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. References</span>
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC4601">RFC4601</a>] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
"Protocol Independent Multicast - Sparse Mode (PIM-SM):
Protocol Specification (Revised)", <a href="./rfc4601">RFC 4601</a>, August 2006.
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. Informative References</span>
[<a id="ref-HELLO-OPT">HELLO-OPT</a>] IANA, "PIM Hello Options", <<a href="http://www.iana.org/">http://www.iana.org/</a>>.
[<a id="ref-PIM-PORT">PIM-PORT</a>] Farinacci, D., Wijnands, IJ., Venaas, S., and M.
Napierala, "A Reliable Transport Mechanism for PIM", Work
in Progress, August 2011.
[<a id="ref-RFC2328">RFC2328</a>] Moy, J., "OSPF Version 2", STD 54, <a href="./rfc2328">RFC 2328</a>, April 1998.
[<a id="ref-RFC2863">RFC2863</a>] McCloghrie, K. and F. Kastenholz, "The Interfaces Group
MIB", <a href="./rfc2863">RFC 2863</a>, June 2000.
[<a id="ref-RFC4271">RFC4271</a>] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", <a href="./rfc4271">RFC 4271</a>, January 2006.
<span class="grey">Gulrajani & Venaas Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc6395">RFC 6395</a> An Interface ID Hello Option for PIM October 2011</span>
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
Gulrajani & Venaas Standards Track [Page 6]
</pre>
|