idnits 2.17.1 draft-ietf-vrrp-ipv6-spec-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1.a on line 16. -- Found old boilerplate from RFC 3978, Section 5.5 on line 1315. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1135. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1142. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1148. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. ** The document uses RFC 3667 boilerplate or RFC 3978-like boilerplate instead of verbatim RFC 3978 boilerplate. After 6 May 2005, submission of drafts without verbatim RFC 3978 boilerplate is not accepted. The following non-3978 patterns matched text found in the document. That text should be removed or replaced: This document is an Internet-Draft and is subject to all provisions of Section 3 of RFC 3667. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([ND]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. == There are 1 instance of lines with multicast IPv4 addresses in the document. If these are generic example addresses, they should be changed to use the 233.252.0.x range defined in RFC 5771 == There are 1 instance of lines with non-RFC3849-compliant IPv6 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 542 has weird spacing: '...ncluded is sp...' == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: When a VRRP router restarts or boots, it SHOULD not send any ND messages with its physical MAC address for the IPv6 address it owns, it should only send ND messages that include Virtual MAC addresses. This may entail: == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: A VRRP router SHOULD not forward packets addressed to the IPv6 Address it becomes Master for if it is not the owner. Forwarding these packets would result in unnecessary traffic. Also in the case of LANs that receive packets they transmit (e.g., token ring) this can result in a forwarding loop that is only terminated when the IPv6 TTL expires. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (September 28, 2004) is 7149 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC 2119' is mentioned on line 146, but not defined == Unused Reference: 'RFC2026' is defined on line 1218, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 1221, but no explicit reference was found in the text == Unused Reference: 'OSPF' is defined on line 1239, but no explicit reference was found in the text == Unused Reference: 'RIP' is defined on line 1241, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3513 (ref. 'ADD-ARH') (Obsoleted by RFC 4291) ** Downref: Normative reference to an Informational RFC: RFC 1071 (ref. 'CKSM') ** Obsolete normative reference: RFC 2463 (ref. 'ICMPv6') (Obsoleted by RFC 4443) ** Obsolete normative reference: RFC 2460 (ref. 'IPv6') (Obsoleted by RFC 8200) -- Possible downref: Non-RFC (?) normative reference: ref. 'IPX' ** Obsolete normative reference: RFC 2461 (ref. 'ND') (Obsoleted by RFC 4861) ** Downref: Normative reference to an Historic RFC: RFC 1469 -- Possible downref: Non-RFC (?) normative reference: ref. 'TKARCH' ** Obsolete normative reference: RFC 2338 (ref. 'VRRP-V4') (Obsoleted by RFC 3768) Summary: 13 errors (**), 0 flaws (~~), 12 warnings (==), 9 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 INTERNET-DRAFT R. Hinden / Nokia 3 September 28, 2004 5 Virtual Router Redundancy Protocol for IPv6 7 9 Status of this Memo 11 This document is an Internet-Draft and is subject to all provisions 12 of section 3 of RFC 3667. By submitting this Internet-Draft, each 13 author represents that any applicable patent or other IPR claims of 14 which he or she is aware have been or will be disclosed, and any of 15 which he or she become aware will be disclosed, in accordance with 16 RFC 3668. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as 21 Internet-Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 This internet draft expires on April 3, 2005. 36 Abstract 38 This memo defines the Virtual Router Redundancy Protocol (VRRP) for 39 IPv6. It is version three (3) of the protocol. It is based on the 40 original version of VRRP (version 2) for IPv4 that is defined in 41 RFC2338. 43 VRRP specifies an election protocol that dynamically assigns 44 responsibility for a virtual router to one of the VRRP routers on a 45 LAN. The VRRP router controlling the IP address(es) associated with 46 a virtual router is called the Master, and forwards packets sent to 47 these IP addresses. The election process provides dynamic fail over 48 in the forwarding responsibility should the Master become 49 unavailable. The advantage gained from using VRRP for IPv6 is a 50 quicker switch over to back up routers than can be obtained with 51 standard IPv6 Neighbor Discovery [ND] mechanisms. 53 Table of Contents 55 1. Introduction................................................3 56 2. Required Features...........................................5 57 3. VRRP Overview...............................................6 58 4. Sample Configurations.......................................8 59 5. Protocol...................................................10 60 5.1 VRRP Packet Format....................................10 61 5.2 IP Field Descriptions.................................11 62 5.3 VRRP Field Descriptions...............................11 63 6. Protocol State Machine....................................13 64 6.1 Parameters per Virtual Router.........................13 65 6.2 Timers................................................13 66 6.3 State Transition Diagram..............................15 67 6.4 State Descriptions....................................15 68 7. Sending and Receiving VRRP Packets........................19 69 7.1 Receiving VRRP Packets................................19 70 7.2 Transmitting Packets..................................19 71 7.3 Virtual MAC Address...................................20 72 7.4 IPv6 Interface Identifiers............................20 73 8. Operational Issues........................................21 74 8.1 ICMPv6 Redirects......................................21 75 8.2 ND Neighbor Solicitation..............................21 76 8.3 Router Advertisements.................................21 77 8.4 Potential Forwarding Loop.............................22 78 8.5 Recommendations regarding setting priority values.....22 79 9. Operation over FDDI, Token Ring, and ATM LANE.............22 80 9.1 Operation over FDDI...................................22 81 9.2 Operation over Token Ring.............................22 82 9.3 Operation over ATM LANE...............................25 83 10. Security Considerations...................................25 84 11. Intellectual Property.....................................26 85 12. Acknowledgments...........................................26 86 13. IANA Considerations.......................................27 87 14. Normative References......................................27 88 15. Informative References....................................28 89 16. Authors' Address..........................................28 90 17. Changes from RFC2338......................................29 91 18. Disclaimer of Validity....................................31 92 19. Copyright Statement.......................................31 94 1. Introduction 96 IPv6 hosts on a LAN will usually learn about one or more default 97 routers by receiving Router Advertisements sent using the IPv6 98 Neighbor Discovery protocol [ND]. The Router Advertisements are 99 multicast periodically at a rate that the hosts will learn about the 100 default routers in a few minutes. They are not sent frequently enough 101 to rely on the absence of the router advertisement to detect router 102 failures. 104 Neighbor Discovery (ND) includes a mechanism called Neighbor 105 Unreachability Detection to detect the failure of a neighbor node 106 (router or host) or the forwarding path to a neighbor. This is done 107 by sending unicast ND Neighbor Solicitation messages to the neighbor 108 node. To reduce the overhead of sending Neighbor Solicitations, they 109 are only sent to neighbors to which the node is actively sending 110 traffic and only after there has been no positive indication that the 111 router is up for a period of time. Using the default parameters in 112 ND, it will take a host about 38 seconds to learn that a router is 113 unreachable before it will switch to another default router. This 114 delay would be very noticeable to users and cause some transport 115 protocol implementations to timeout. 117 While the ND unreachability detection could be speeded up by changing 118 the parameters to be more aggressive (note that the current lower 119 limit for this is 5 seconds), this would have the downside of 120 significantly increasing the overhead of ND traffic. Especially when 121 there are many hosts all trying to determine the reachability of a 122 one of more routers. 124 The Virtual Router Redundancy Protocol for IPv6 provides a much 125 faster switch over to an alternate default router than can be 126 obtained using standard ND procedures. Using VRRP a backup router 127 can take over for a failed default router in around three seconds 128 (using VRRP default parameters). This is done with out any 129 interaction with the hosts and a minimum amount of VRRP traffic. 131 VRRP specifies an election protocol that dynamically assigns 132 responsibility for a virtual router to one of the VRRP routers on a 133 LAN. The VRRP router controlling the IP address(es) associated with 134 a virtual router is called the Master, and forwards packets sent to 135 these IP addresses. The election process provides dynamic fail over 136 in the forwarding responsibility should the Master become 137 unavailable. 139 VRRP provides a function similar to the proprietary protocols Hot 140 Standby Router Protocol (HSRP) [HSRP] and IP Standby Protocol 141 [IPSTB]. 143 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 144 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 145 document are to be interpreted as described in [RFC 2119]. 147 1.1 Scope 149 The remainder of this document describes the features, design goals, 150 and theory of operation of VRRP for IPv6. The message formats, 151 protocol processing rules and state machine that guarantee 152 convergence to a single Virtual Router Master are presented. 153 Finally, operational issues related to MAC address mapping, handling 154 of Neighbor Discovery requests, generation of ICMPv6 redirect 155 messages, and security issues are addressed. 157 This protocol is intended for use with IPv6 routers only. VRRP for 158 IPv4 is defined in [VRRP-V4]. 160 1.2 Definitions 162 VRRP Router A router running the Virtual Router Redundancy 163 Protocol. It may participate in one or more 164 virtual routers. 166 Virtual Router An abstract object managed by VRRP that acts 167 as a default router for hosts on a shared LAN. 168 It consists of a Virtual Router Identifier and 169 an a set of associated IPv6 address(es) across 170 a common LAN. A VRRP Router may backup one or 171 more virtual routers. 173 IPv6 Address Owner The VRRP router that has the virtual router's 174 IPv6 address(es) as real interface address. 175 This is the router that, when up, will respond 176 to packets addressed to the IPv6 address(es) 177 for ICMPv6 pings, TCP connections, etc. 179 Virtual Router Master The VRRP router that is assuming the 180 responsibility of forwarding packets sent to 181 the IPv6 address(es) associated with the 182 virtual router, and answering ND requests for 183 these IPv6 address(es). Note that if the IPv6 184 address owner is available, then it will 185 always become the Master. 187 Virtual Router Backup The set of VRRP routers available to assume 188 forwarding responsibility for a virtual router 189 should the current Master fail. 191 2.0 Required Features 193 This section outlines the set of features that were considered 194 mandatory and that guided the design of VRRP. 196 2.1 IPv6 Address Backup 198 Backup of an IPv6 address(es) is the primary function of the Virtual 199 Router Redundancy Protocol. While providing election of a Virtual 200 Router Master and the additional functionality described below, the 201 protocol should strive to: 203 - Minimize the duration of black holes. 204 - Minimize the steady state bandwidth overhead and processing 205 complexity. 206 - Function over a wide variety of multiaccess LAN technologies 207 capable of supporting IPv6 traffic. 208 - Provide for election of multiple virtual routers on a network for 209 load balancing 210 - Support of multiple logical IPv6 subnets on a single LAN segment. 212 2.2 Preferred Path Indication 214 A simple model of Master election among a set of redundant routers is 215 to treat each router with equal preference and claim victory after 216 converging to any router as Master. However, there are likely to be 217 many environments where there is a distinct preference (or range of 218 preferences) among the set of redundant routers. For example, this 219 preference may be based upon access link cost or speed, router 220 performance or reliability, or other policy considerations. The 221 protocol should allow the expression of this relative path preference 222 in an intuitive manner, and guarantee Master convergence to the most 223 preferential router currently available. 225 2.3 Minimization of Unnecessary Service Disruptions 227 Once Master election has been performed then any unnecessary 228 transitions between Master and Backup routers can result in a 229 disruption in service. The protocol should ensure after Master 230 election that no state transition is triggered by any Backup router 231 of equal or lower preference as long as the Master continues to 232 function properly. 234 Some environments may find it beneficial to avoid the state 235 transition triggered when a router becomes available that is 236 preferred over the current Master. It may be useful to support an 237 override of the immediate convergence to the preferred path. 239 2.4 Efficient Operation over Extended LANs 241 Sending IPv6 packets on a multiaccess LAN requires mapping from an 242 IPv6 address to a MAC address. The use of the virtual router MAC 243 address in an extended LAN employing learning bridges can have a 244 significant effect on the bandwidth overhead of packets sent to the 245 virtual router. If the virtual router MAC address is never used as 246 the source address in a link level frame then the station location is 247 never learned, resulting in flooding of all packets sent to the 248 virtual router. To improve the efficiency in this environment the 249 protocol should: 1) use the virtual router MAC as the source in a 250 packet sent by the Master to trigger station learning; 2) trigger a 251 message immediately after transitioning to Master to update the 252 station learning; and 3) trigger periodic messages from the Master to 253 maintain the station learning cache. 255 3.0 VRRP Overview 257 VRRP specifies an election protocol to provide the virtual router 258 function described earlier. All protocol messaging is performed 259 using IPv6 multicast datagrams, thus the protocol can operate over a 260 variety of multiaccess LAN technologies supporting IPv6 multicast. 261 Each VRRP virtual router has a single well-known MAC address 262 allocated to it. This document currently only details the mapping to 263 networks using the IEEE 802 48-bit MAC address. The virtual router 264 MAC address is used as the source in all periodic VRRP messages sent 265 by the Master router to enable bridge learning in an extended LAN. 267 A virtual router is defined by its virtual router identifier (VRID) 268 and a set of IPv6 address(es). A VRRP router may associate a virtual 269 router with its real address on an interface, and may also be 270 configured with additional virtual router mappings and priority for 271 virtual routers it is willing to backup. The mapping between VRID 272 and its IPv6 address(es) must be coordinated among all VRRP routers 273 on a LAN. However, there is no restriction against reusing a VRID 274 with a different address mapping on different LANs. The scope of 275 each virtual router is restricted to a single LAN. 277 To minimize network traffic, only the Master for each virtual router 278 sends periodic VRRP Advertisement messages. A Backup router will not 279 attempt to preempt the Master unless it has higher priority. This 280 eliminates service disruption unless a more preferred path becomes 281 available. It's also possible to administratively prohibit all 282 preemption attempts. The only exception is that a VRRP router will 283 always become Master of any virtual router associated with address it 284 owns. If the Master becomes unavailable then the highest priority 285 Backup will transition to Master after a short delay, providing a 286 controlled transition of the virtual router responsibility with 287 minimal service interruption. 289 The VRRP protocol design provides rapid transition from Backup to 290 Master to minimize service interruption, and incorporates 291 optimizations that reduce protocol complexity while guaranteeing 292 controlled Master transition for typical operational scenarios. The 293 optimizations result in an election protocol with minimal runtime 294 state requirements, minimal active protocol states, and a single 295 message type and sender. The typical operational scenarios are 296 defined to be two redundant routers and/or distinct path preferences 297 among each router. A side effect when these assumptions are violated 298 (i.e., more than two redundant paths all with equal preference) is 299 that duplicate packets may be forwarded for a brief period during 300 Master election. However, the typical scenario assumptions are 301 likely to cover the vast majority of deployments, loss of the Master 302 router is infrequent, and the expected duration in Master election 303 convergence is quite small ( << 1 second ). Thus the VRRP 304 optimizations represent significant simplifications in the protocol 305 design while incurring an insignificant probability of brief network 306 degradation. 308 4. Sample Configurations 310 4.1 Sample Configuration 1 312 The following figure shows a simple network with two VRRP routers 313 implementing one virtual router. Note that this example is provided 314 to help understand the protocol, but is not expected to occur in 315 actual practice. 317 +-----------+ +-----------+ 318 | Rtr1 | | Rtr2 | 319 |(MR VRID=1)| |(BR VRID=1)| 320 | | | | 321 VRID=1 +-----------+ +-----------+ 322 IPv6 A -------->* *<--------- IPv6 B 323 | | 324 | | 325 ------------------+------------+-----+--------+--------+--------+-- 326 ^ ^ ^ ^ 327 | | | | 328 (IPv6 A) (IPv6 A) (IPv6 A) (IPv6 A) 329 | | | | 330 +--+--+ +--+--+ +--+--+ +--+--+ 331 | H1 | | H2 | | H3 | | H4 | 332 +-----+ +-----+ +--+--+ +--+--+ 333 Legend: 334 ---+---+---+-- = Ethernet, Token Ring, or FDDI 335 H = Host computer 336 MR = Master Router 337 BR = Backup Router 338 * = IPv6 Address 339 (IPv6) = default router for hosts 341 Eliminating all mention of VRRP (VRID=1) from the figure above leaves 342 it as a typical IPv6 deployment. Each router has a link-local IPv6 343 address on the LAN interface (Rtr1 is assigned IPv6 Link-Local A and 344 Rtr2 is assigned IPv6 Link-Local B), and each host learns a default 345 route from Router Advertisements through one of the routers (in this 346 example they all use Rtr1's IPv6 Link-Local A). 348 Moving to the VRRP environment, each router has the exact same Link- 349 Local IPv6 address. Rtr1 is said to be the IPv6 address owner of 350 IPv6 A, and Rtr2 is the IPv6 address owner of IPv6 B. A virtual 351 router is then defined by associating a unique identifier (the 352 virtual router ID) with the address owned by a router. Finally, the 353 VRRP protocol manages virtual router fail over to a backup router. 355 The example above shows a virtual router configured to cover the IPv6 356 address owned by Rtr1 (VRID=1,IPv6_Address=A). When VRRP is enabled 357 on Rtr1 for VRID=1 it will assert itself as Master, with 358 priority=255, since it is the IPv6 address owner for the virtual 359 router IPv6 address. When VRRP is enabled on Rtr2 for VRID=1 it will 360 transition to Backup, with priority=100, since it is not the IPv6 361 address owner. If Rtr1 should fail then the VRRP protocol will 362 transition Rtr2 to Master, temporarily taking over forwarding 363 responsibility for IPv6 A to provide uninterrupted service to the 364 hosts. 366 Note that in this example IPv6 B is not backed up, it is only used by 367 Rtr2 as its interface address. In order to backup IPv6 B, a second 368 virtual router must be configured. This is shown in the next 369 section. 371 4.2 Sample Configuration 2 373 The following figure shows a configuration with two virtual routers 374 with the hosts splitting their traffic between them. This example is 375 expected to be common in actual practice. 377 +-----------+ +-----------+ 378 | Rtr1 | | Rtr2 | 379 |(MR VRID=1)| |(BR VRID=1)| 380 |(BR VRID=2)| |(MR VRID=2)| 381 VRID=1 +-----------+ +-----------+ VRID=2 382 IPv6 A -------->* *<---------- IPv6 B 383 | | 384 | | 385 ------------------+------------+-----+--------+--------+--------+-- 386 ^ ^ ^ ^ 387 | | | | 388 (IPv6 A) (IPv6 A) (IPv6 B) (IPv6 B) 389 | | | | 390 +--+--+ +--+--+ +--+--+ +--+--+ 391 | H1 | | H2 | | H3 | | H4 | 392 +-----+ +-----+ +--+--+ +--+--+ 393 Legend: 394 ---+---+---+-- = Ethernet, Token Ring, or FDDI 395 H = Host computer 396 MR = Master Router 397 BR = Backup Router 398 * = IPv6 Address 399 (IPv6) = default router for hosts 401 In the example above, half of the hosts have learned a default route 402 through Rtr1's IPv6 A and half are using Rtr2's IPv6 B. The 403 configuration of virtual router VRID=1 is exactly the same as in the 404 first example (see section 4.1), and a second virtual router has been 405 added to cover the IPv6 address owned by Rtr2 (VRID=2, 406 IPv6_Address=B). In this case Rtr2 will assert itself as Master for 407 VRID=2 while Rtr1 will act as a backup. This scenario demonstrates a 408 deployment providing load splitting when both routers are available 409 while providing full redundancy for robustness. 411 5.0 Protocol 413 The purpose of the VRRP packet is to communicate to all VRRP routers 414 the priority and the state of the Master router associated with the 415 Virtual Router ID. 417 VRRP packets are sent encapsulated in IPv6 packets. They are sent to 418 the IPv6 multicast address assigned to VRRP. 420 5.1 VRRP Packet Format 422 This section defines the format of the VRRP packet and the relevant 423 fields in the IPv6 header. 425 0 1 2 3 426 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 427 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 428 |Version| Type | Virtual Rtr ID| Priority |Count IPv6 Addr| 429 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 430 |(rsvd) | Adver Int | Checksum | 431 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 432 | | 433 + + 434 | IPv6 Address(es) | 435 + + 436 + + 437 + + 438 + + 439 | | 440 + + 441 | | 442 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 444 5.2 IPv6 Field Descriptions 446 5.2.1 Source Address 448 The IPv6 link-local address of the interface the packet is being sent 449 from. 451 5.2.2 Destination Address 453 The IPv6 multicast address as assigned by the IANA for VRRP is: 455 FF02:0:0:0:0:0:XXXX:XXXX 457 This is a link-local scope multicast address. Routers MUST NOT 458 forward a datagram with this destination address regardless of its 459 Hop Limit. 461 5.2.3 Hop Limit 463 The Hop Limit MUST be set to 255. A VRRP router receiving a packet 464 with the Hop Limit not equal to 255 MUST discard the packet. 466 5.2.4 Next Header 468 The IPv6 Next Header protocol assigned by the IANA for VRRP is 112 469 (decimal). 471 5.3 VRRP Field Descriptions 473 5.3.1 Version 475 The version field specifies the VRRP protocol version of this packet. 476 This document defines version 3. 478 5.3.2 Type 480 The type field specifies the type of this VRRP packet. The only 481 packet type defined in this version of the protocol is: 483 1 ADVERTISEMENT 485 A packet with unknown type MUST be discarded. 487 5.3.3 Virtual Rtr ID (VRID) 489 The Virtual Router Identifier (VRID) field identifies the virtual 490 router this packet is reporting status for. 492 5.3.4 Priority 494 The priority field specifies the sending VRRP router's priority for 495 the virtual router. Higher values equal higher priority. This field 496 is an 8 bit unsigned integer field. 498 The priority value for the VRRP router that owns the IPv6 address 499 associated with the virtual router MUST be 255 (decimal). 501 VRRP routers backing up a virtual router MUST use priority values 502 between 1-254 (decimal). The default priority value for VRRP routers 503 backing up a virtual router is 100 (decimal). 505 The priority value zero (0) has special meaning indicating that the 506 current Master has stopped participating in VRRP. This is used to 507 trigger Backup routers to quickly transition to Master without having 508 to wait for the current Master to timeout. 510 5.3.5 Count IPv6 Addr 512 The number of IPv6 addresses contained in this VRRP advertisement. 513 The minimum value is 1. 515 5.3.5 Rsvd 517 This field MUST be set to zero on transmission and ignored on 518 reception. 520 5.3.6 Advertisement Interval (Adver Int) 522 The Advertisement interval is a 12-bit field that indicates the time 523 interval (in centiseconds) between ADVERTISEMENTS. The default is 524 100 centiseconds (1 second). This field is used for troubleshooting 525 misconfigured routers. 527 5.3.7 Checksum 529 The checksum field is used to detect data corruption in the VRRP 530 message. 532 The checksum is the 16-bit one's complement of the one's complement 533 sum of the entire VRRP message starting with the version field and a 534 "pseudo-header" as defined in section 8.1 of RFC2460 [IPv6]. The 535 next header field in the "pseudo-header" should be set to 112 536 (decimal) for VRRP. For computing the checksum, the checksum field 537 is set to zero. See RFC1071 for more detail [CKSM]. 539 5.3.8 IPv6 Address(es) 541 One or more IPv6 addresses associated associated with the virtual 542 router. The number of addresses included is specified in the "Count 543 IP Addr" field. The first address must be the IPv6 link-local 544 address associated with the virtual router. These fields are used 545 for troubleshooting misconfigured routers. If more than one address 546 is sent it is recommended that all routers be configured to send 547 these addresses in the same order to make it easier to do this 548 comparison. 550 6. Protocol State Machine 552 6.1 Parameters per Virtual Router 554 VRID Virtual Router Identifier. Configurable 555 item in the range 1-255 (decimal). There is 556 no default. 558 Priority Priority value to be used by this VRRP 559 router in Master election for this virtual 560 router. The value of 255 (decimal) is 561 reserved for the router that owns the IPv6 562 address associated with the virtual router. 563 The value of 0 (zero) is reserved for Master 564 router to indicate it is releasing 565 responsibility for the virtual router. The 566 range 1-254 (decimal) is available for VRRP 567 routers backing up the virtual router. The 568 default value is 100 (decimal). 570 IPv6_Addresses One or more IPv6 addresses associated with 571 this virtual router. Configured item. No 572 default. The first address must be the 573 Link-Local address associated with the 574 virtual router. 576 Advertisement_Interval Time interval between ADVERTISEMENTS 577 (centiseconds). Default is 100 centiseconds 578 (1 second). 580 Skew_Time Time to skew Master_Down_Interval in 581 centiseconds. Calculated as: 583 (((256 - priority) * 584 Advertisement_Interval) / 256). 586 Master_Down_Interval Time interval for Backup to declare Master 587 down (centiseconds). Calculated as: 589 (3 * Advertisement_Interval) + Skew_time 591 Preempt_Mode Controls whether a higher priority Backup 592 router preempts a lower priority Master. 593 Values are True to allow preemption and 594 False to prohibit preemption. Default is 595 True. 597 Note: Exception is that the router that owns 598 the IPv6 address associated with the virtual 599 router always preempts independent of the 600 setting of this flag. 602 Accept_Mode Controls whether a virtual router in Master 603 state will accept packets addressed to the 604 address owner's IPv6 address as its own if 605 it is not the IPv6 address owner. Default 606 is False. 608 6.2 Timers 610 Master_Down_Timer Timer that fires when ADVERTISEMENT has not 611 been heard for Master_Down_Interval. 613 Adver_Timer Timer that fires to trigger sending of 614 ADVERTISEMENT based on 615 Advertisement_Interval. 617 6.3 State Transition Diagram 619 +---------------+ 620 +--------->| |<-------------+ 621 | | Initialize | | 622 | +------| |----------+ | 623 | | +---------------+ | | 624 | | | | 625 | V V | 626 +---------------+ +---------------+ 627 | |---------------------->| | 628 | Master | | Backup | 629 | |<----------------------| | 630 +---------------+ +---------------+ 632 6.4 State Descriptions 634 In the state descriptions below, the state names are identified by 635 {state-name}, and the packets are identified by all upper case 636 characters. 638 A VRRP router implements an instance of the state machine for each 639 virtual router election it is participating in. 641 6.4.1 Initialize 643 The purpose of this state is to wait for a Startup event. If a 644 Startup event is received, then: 646 - If the Priority = 255 (i.e., the router owns the IPv6 address 647 associated with the virtual router) 649 o Send an ADVERTISEMENT 650 o Send an unsolicited ND Neighbor Advertisement with the Router 651 Flag (R) set, the Solicited Flag (S) unset, the Override flag 652 (O) set, the Target Address set to the IPv6 link-local address 653 of the Virtual Router, and the Target Link Layer address set to 654 the virtual router MAC address. 655 o Set the Adver_Timer to Advertisement_Interval 656 o Transition to the {Master} state 658 else 660 o Set the Master_Down_Timer to Master_Down_Interval 661 o Transition to the {Backup} state 663 endif 665 6.4.2 Backup 667 The purpose of the {Backup} state is to monitor the availability and 668 state of the Master Router. 670 While in this state, a VRRP router MUST do the following: 672 - MUST NOT respond to ND Neighbor Solicitation messages for the IPv6 673 address(es) associated with the virtual router. 675 - MUST NOT send ND Router Advertisement messages for the virtual 676 router. 678 - MUST discard packets with a destination link layer MAC address 679 equal to the virtual router MAC address. 681 - MUST NOT accept packets addressed to the IPv6 address(es) 682 associated with the virtual router. 684 - If a Shutdown event is received, then: 686 o Cancel the Master_Down_Timer 687 o Transition to the {Initialize} state 689 endif 691 - If the Master_Down_Timer fires, then: 693 o Send an ADVERTISEMENT 694 o Compute and join the Solicited-Node multicast address [ADD-ARH] 695 for the IPv6 address(es) addresses associated with the the 696 Virtual Router. 697 o Send an unsolicited ND Neighbor Advertisement with the Router 698 Flag (R) set, the Solicited Flag (S) unset, the Override flag 699 (O) set, the Target Address set to the IPv6 link-local address 700 of the Virtual Router, and the Target Link Layer address set to 701 the virtual router MAC address. 702 o Set the Adver_Timer to Advertisement_Interval 703 o Transition to the {Master} state 705 endif 707 - If an ADVERTISEMENT is received, then: 709 If the Priority in the ADVERTISEMENT is Zero, then: 711 o Set the Master_Down_Timer to Skew_Time 713 else: 715 If Preempt_Mode is False, or If the Priority in the 716 ADVERTISEMENT is greater than or equal to the local 717 Priority, then: 719 o Reset the Master_Down_Timer to Master_Down_Interval 721 else: 723 o Discard the ADVERTISEMENT 725 endif 726 endif 727 endif 729 6.4.3 Master 731 While in the {Master} state the router functions as the forwarding 732 router for the IPv6 address associated with the virtual router. 734 While in this state, a VRRP router MUST do the following: 736 - MUST be a member of the Solicited-Node multicast address for the 737 IPv6 link-local address associated with the virtual router. 739 - MUST respond to ND Neighbor Solicitation message for the IPv6 740 address(es) associated with the virtual router. 742 - MUST send ND Router Advertisements for the virtual router. 744 - MUST respond to ND Router Solicitation message for the virtual 745 router. 747 - MUST forward packets with a destination link layer MAC address 748 equal to the virtual router MAC address. 750 - MUST accept packets addressed to the IPv6 address(es) associated 751 with the virtual router if it is the IPv6 address owner or if 752 Accept_Mode is True. Otherwise, MUST NOT accept these packets. 754 - If a Shutdown event is received, then: 756 o Cancel the Adver_Timer 757 o Send an ADVERTISEMENT with Priority = 0 758 o Transition to the {Initialize} state 760 endif 762 - If the Adver_Timer fires, then: 764 o Send an ADVERTISEMENT 765 o Reset the Adver_Timer to Advertisement_Interval 767 endif 769 - If an ADVERTISEMENT is received, then: 771 If the Priority in the ADVERTISEMENT is Zero, then: 773 o Send an ADVERTISEMENT 774 o Reset the Adver_Timer to Advertisement_Interval 776 else: 778 If the Priority in the ADVERTISEMENT is greater than the 779 local Priority, 780 or 781 If the Priority in the ADVERTISEMENT is equal to the local 782 Priority and the IPv6 Address of the sender is greater than 783 the local IPv6 Address, then: 785 o Cancel Adver_Timer 786 o Set Master_Down_Timer to Master_Down_Interval 787 o Transition to the {Backup} state 789 else: 791 o Discard ADVERTISEMENT 793 endif 794 endif 795 endif 797 7. Sending and Receiving VRRP Packets 799 7.1 Receiving VRRP Packets 801 Performed the following functions when a VRRP packet is received: 803 - MUST verify that the IPv6 Hop Limit is 255. 804 - MUST verify the VRRP version is 3 805 - MUST verify that the received packet contains the complete VRRP 806 packet (including fixed fields, and IPv6 Address. 807 - MUST verify the VRRP checksum 808 - MUST verify that the VRID is configured on the receiving 809 interface and the local router is not the IPv6 Address owner 810 (Priority equals 255 (decimal)). 812 If any one of the above checks fails, the receiver MUST discard the 813 packet, SHOULD log the event and SHOULD indicate via network 814 management that an error occurred. 816 - MAY verify that the IPv6 Address matches the IPv6_Address 817 configured for the VRID. 819 If the above check fails, the receiver SHOULD log the event and 820 SHOULD indicate via network management that a misconfiguration was 821 detected. If the packet was not generated by the address owner 822 (Priority does not equal 255 (decimal)), the receiver MUST drop the 823 packet, otherwise continue processing. 825 - MUST verify that the Adver Interval in the packet is the same as 826 the locally configured for this virtual router 828 If the above check fails, the receiver SHOULD log the event and 829 SHOULD indicate via network management that a misconfiguration was 830 detected. 832 7.2 Transmitting VRRP Packets 834 The following operations MUST be performed when transmitting a VRRP 835 packet. 837 - Fill in the VRRP packet fields with the appropriate virtual 838 router configuration state 839 - Compute the VRRP checksum 840 - Set the source MAC address to Virtual Router MAC Address 841 - Set the source IPv6 address to interface link-local IPv6 address 842 - Set the IPv6 protocol to VRRP 843 - Send the VRRP packet to the VRRP IP multicast group 845 Note: VRRP packets are transmitted with the virtual router MAC 846 address as the source MAC address to ensure that learning bridges 847 correctly determine the LAN segment the virtual router is attached 848 to. 850 7.3 Virtual Router MAC Address 852 The virtual router MAC address associated with a virtual router is an 853 IEEE 802 MAC Address in the following format: 855 00-00-5E-00-02-{VRID} (in hex in internet standard bit-order) 857 The first three octets are derived from the IANA's OUI. The next two 858 octets (00-02) indicate the address block assigned to the VRRP for 859 IPv6 protocol. {VRID} is the VRRP Virtual Router Identifier. This 860 mapping provides for up to 255 VRRP routers on a network. 862 7.4 IPv6 Interface Identifiers 864 IPv6 Routers running VRRP MUST create their Interface Identifiers in 865 the normal manner (e.g., RFC2464 "Transmission of IPv6 Packets over 866 Ethernet"). They MUST NOT use the Virtual Router MAC address to 867 create the Modified EUI-64 identifiers. 869 This VRRP specification describes how to advertise and resolve the 870 VRRP routers IPv6 link local address into the Virtual Router MAC 871 address. 873 8. Operational Issues 875 8.1 ICMPv6 Redirects 877 ICMPv6 Redirects may be used normally when VRRP is running between a 878 group of routers [ICMPv6]. This allows VRRP to be used in 879 environments where the topology is not symmetric (e.g., the VRRP 880 routers do not connect to the same destinations). 882 The IPv6 source address of an ICMPv6 redirect should be the address 883 the end host used when making its next hop routing decision. If a 884 VRRP router is acting as Master for virtual router(s) containing 885 addresses it does not own, then it must determine which virtual 886 router the packet was sent to when selecting the redirect source 887 address. One method to deduce the virtual router used is to examine 888 the destination MAC address in the packet that triggered the 889 redirect. 891 8.2 ND Neighbor Solicitation 893 When a host sends an ND Neighbor Solicitation message for the virtual 894 router IPv6 address, the Master virtual router MUST respond to the ND 895 Neighbor Solicitation message with the virtual MAC address for the 896 virtual router. The Master virtual router MUST NOT respond with its 897 physical MAC address. This allows the client to always use the same 898 MAC address regardless of the current Master router. 900 When a Master virtual router sends an ND Neighbor Solicitation 901 message for a host's IPv6 address, the Master virtual router MUST 902 include the virtual MAC address for the virtual router if it sends a 903 source link-layer address option in the neighbor solicitation 904 message. It MUST NOT use its physical MAC address in the source 905 link-layer address option. 907 When a VRRP router restarts or boots, it SHOULD not send any ND 908 messages with its physical MAC address for the IPv6 address it owns, 909 it should only send ND messages that include Virtual MAC addresses. 910 This may entail: 912 - When configuring an interface, VRRP routers should send an 913 unsolicitated ND Neighbor Advertisement message containing the 914 virtual router MAC address for the IPv6 address on that interface. 916 - At system boot, when initializing interfaces for VRRP operation; 917 delay all ND Router and Neighbor Advertisements and Solicitation 918 messages until both the IPv6 address and the virtual router MAC 919 address are configured. 921 8.3 Router Advertisements 923 When a backup VRRP router has become Master for a virtual router, it 924 is responsible for sending Router Advertisements for the virtual 925 router as specified in section 6.4.3. The backup routers must be 926 configured to send the same Router Advertisement options as the 927 address owner. 929 Router Advertisement options that advertise special services (e.g., 930 Home Agent Information Option) that are present in the address owner, 931 should not be sent by the address owner unless the backup routers are 932 prepared to assume these services in full and have a complete and 933 synchronized database for this service. 935 8.4 Potential Forwarding Loop 937 A VRRP router SHOULD not forward packets addressed to the IPv6 938 Address it becomes Master for if it is not the owner. Forwarding 939 these packets would result in unnecessary traffic. Also in the case 940 of LANs that receive packets they transmit (e.g., token ring) this 941 can result in a forwarding loop that is only terminated when the IPv6 942 TTL expires. 944 One such mechanism for VRRP routers is to add/delete a reject host 945 route for each adopted IPv6 address when transitioning to/from MASTER 946 state. 948 8.5 Recommendations regarding setting priority values 950 A priority value of 255 designates a particular router as the "IPv6 951 address owner". Care must be taken not to configure more than one 952 router on the link in this way for a single VRID. 954 Routers with priority 255 will, as soon as they start up, preempt all 955 lower priority routers. Configure no more than one router on the 956 link with priority 255, especially if preemption is set. If no 957 router has this priority, and preemption is disabled, then no 958 preemption will occur. 960 When there are multiple Backup routers, their priority values should 961 be uniformly distributed. For example, if one Backup routers has the 962 default priority of 100 and another BR is added, a priority of 50 963 would be a better choice for it than 99 or 100 to facilitate faster 964 convergence. 966 9. Operation over FDDI, Token Ring, and ATM LANE 968 9.1 Operation over FDDI 970 FDDI interfaces remove from the FDDI ring frames that have a source 971 MAC address matching the device's hardware address. Under some 972 conditions, such as router isolations, ring failures, protocol 973 transitions, etc., VRRP may cause there to be more than one Master 974 router. If a Master router installs the virtual router MAC address 975 as the hardware address on a FDDI device, then other Masters' 976 ADVERTISEMENTS will be removed from the ring during the Master 977 convergence, and convergence will fail. 979 To avoid this an implementation SHOULD configure the virtual router 980 MAC address by adding a unicast MAC filter in the FDDI device, rather 981 than changing its hardware MAC address. This will prevent a Master 982 router from removing any ADVERTISEMENTS it did not originate. 984 9.2 Operation over Token Ring 986 Token ring has several characteristics that make running VRRP 987 difficult. These include: 989 - In order to switch to a new master located on a different bridge 990 token ring segment from the previous master when using source 991 route bridges, a mechanism is required to update cached source 992 route information. 994 - No general multicast mechanism supported across old and new token 995 ring adapter implementations. While many newer token ring adapters 996 support group addresses, token ring functional address support is 997 the only generally available multicast mechanism. Due to the 998 limited number of token ring functional addresses these may 999 collide with other usage of the same token ring functional 1000 addresses. 1002 Due to these difficulties, the preferred mode of operation over token 1003 ring will be to use a token ring functional address for the VRID 1004 virtual MAC address. Token ring functional addresses have the two 1005 high order bits in the first MAC address octet set to B'1'. They 1006 range from 03-00-00-00-00-80 to 03-00-02-00-00-00 (canonical format). 1007 However, unlike multicast addresses, there is only one unique 1008 functional address per bit position. The functional addresses 1009 addresses 03-00-00-10-00-00 through 03-00-02-00-00-00 are reserved 1010 by the Token Ring Architecture [TKARCH] for user-defined 1011 applications. However, since there are only 12 user-defined token 1012 ring functional addresses, there may be other non-IP protocols using 1013 the same functional address. Since the Novell IPX [IPX] protocol uses 1014 the 03-00-00-10-00-00 functional address, operation of VRRP over 1015 token ring will avoid use of this functional address. In general, 1016 token ring VRRP users will be responsible for resolution of other 1017 user-defined token ring functional address conflicts. 1019 VRIDs are mapped directly to token ring functional addresses. In 1020 order to decrease the likelihood of functional address conflicts, 1021 allocation will begin with the largest functional address. Most non- 1022 IP protocols use the first or first couple user-defined functional 1023 addresses and it is expected that VRRP users will choose VRIDs 1024 sequentially starting with 1. 1026 VRID Token Ring Functional Address 1027 ---- ----------------------------- 1028 1 03-00-02-00-00-00 1029 2 03-00-04-00-00-00 1030 3 03-00-08-00-00-00 1031 4 03-00-10-00-00-00 1032 5 03-00-20-00-00-00 1033 6 03-00-40-00-00-00 1034 7 03-00-80-00-00-00 1035 8 03-00-00-01-00-00 1036 9 03-00-00-02-00-00 1037 10 03-00-00-04-00-00 1038 11 03-00-00-08-00-00 1040 Or more succinctly, octets 3 and 4 of the functional address are 1041 equal to (0x4000 >> (VRID - 1)) in non-canonical format. 1043 Since a functional address cannot be used used as a MAC level source 1044 address, the real MAC address is used as the MAC source address in 1045 VRRP advertisements. This is not a problem for bridges since packets 1046 addressed to functional addresses will be sent on the spanning-tree 1047 explorer path [802.1D]. 1049 The functional address mode of operation MUST be implemented by 1050 routers supporting VRRP on token ring. 1052 Additionally, routers MAY support unicast mode of operation to take 1053 advantage of newer token ring adapter implementations that support 1054 non-promiscuous reception for multiple unicast MAC addresses and to 1055 avoid both the multicast traffic and usage conflicts associated with 1056 the use of token ring functional addresses. Unicast mode uses the 1057 same mapping of VRIDs to virtual MAC addresses as Ethernet. However, 1058 one important difference exists. ND request/reply packets contain the 1059 virtual MAC address as the source MAC address. The reason for this is 1060 that some token ring driver implementations keep a cache of MAC 1061 address/source routing information independent of the ND cache. 1062 Hence, these implementations need have to receive a packet with the 1063 virtual MAC address as the source address in order to transmit to 1064 that MAC address in a source-route bridged network. 1066 Unicast mode on token ring has one limitation that should be 1067 considered. If there are VRID routers on different source-route 1068 bridge segments and there are host implementations that keep their 1069 source-route information in the ND cache and do not listen to 1070 gratuitous NDs, these hosts will not update their ND source-route 1071 information correctly when a switch-over occurs. The only possible 1072 solution is to put all routers with the same VRID on the same source- 1073 bridge segment and use techniques to prevent that bridge segment from 1074 being a single point of failure. These techniques are beyond the 1075 scope this document. 1077 For both the multicast and unicast mode of operation, VRRP 1078 advertisements sent to 224.0.0.18 should be encapsulated as described 1079 in [RFC1469]. 1081 9.3 Operation over ATM LANE 1083 Operation of VRRP over ATM LANE on routers with ATM LANE interfaces 1084 and/or routers behind proxy LEC's are beyond the scope of this 1085 document. 1087 10. Security Considerations 1089 VRRP for IPv6 does not currently include any type of authentication. 1090 Earlier versions of the VRRP (for IPv4) specification included 1091 several types of authentication ranging from none to strong. 1092 Operational experience and further analysis determined that these did 1093 not provide any real measure of security. Due to the nature of the 1094 VRRP protocol, even if VRRP messages are cryptographically protected, 1095 it does not prevent hostile routers from behaving as if they are a 1096 VRRP master, creating multiple masters. Authentication of VRRP 1097 messages could have prevented a hostile router from causing all 1098 properly functioning routers from going into backup state. However, 1099 having multiple masters can cause as much disruption as no routers, 1100 which authentication cannot prevent. Also, even if a hostile router 1101 could not disrupt VRRP, it can disrupt ARP and create the same effect 1102 as having all routers go into backup. 1104 It should be noted that these attacks are not worse and are a subset 1105 of the attacks that any node attached to a LAN can do independently 1106 of VRRP. The kind of attacks a malicious node on a LAN can do 1107 include promiscuously receiving packets for any routers MAC address, 1108 sending packets with the routers MAC address as the source MAC 1109 addresses in the L2 header to tell the L2 switches to send packets 1110 addressed to the router to the malicious node instead of the router, 1111 send redirects to tell the hosts to send their traffic somewhere 1112 else, send unsolicited ND replies, answer ND requests, etc., etc. 1113 All of this can be done independently of implementing VRRP. VRRP 1114 does not add to these vulnerabilities. 1116 Independent of any authentication type VRRP includes a mechanism 1117 (setting TTL=255, checking on receipt) that protects against VRRP 1118 packets being injected from another remote network. This limits most 1119 vulnerabilities to local attacks. 1121 VRRP does not provide any confidentiality. Confidentiality is not 1122 necessary for the correct operation of VRRP and there is no 1123 information in the VRRP messages that must be kept secret from other 1124 nodes on the LAN. 1126 11. Intellectual Property 1128 The IETF takes no position regarding the validity or scope of any 1129 Intellectual Property Rights or other rights that might be claimed to 1130 pertain to the implementation or use of the technology described in 1131 this document or the extent to which any license under such rights 1132 might or might not be available; nor does it represent that it has 1133 made any independent effort to identify any such rights. Information 1134 on the procedures with respect to rights in RFC documents can be 1135 found in BCP 78 and BCP 79. 1137 Copies of IPR disclosures made to the IETF Secretariat and any 1138 assurances of licenses to be made available, or the result of an 1139 attempt made to obtain a general license or permission for the use of 1140 such proprietary rights by implementers or users of this 1141 specification can be obtained from the IETF on-line IPR repository at 1142 http://www.ietf.org/ipr. 1144 The IETF invites any interested party to bring to its attention any 1145 copyrights, patents or patent applications, or other proprietary 1146 rights that may cover technology that may be required to implement 1147 this standard. Please address the information to the IETF at 1148 ietf-ipr@ietf.org. 1150 The IETF has been notified of intellectual property rights claimed in 1151 regard to some or all of the specification contained in this 1152 document. For more information consult the online list of claimed 1153 rights. 1155 12. Acknowledgments 1157 This specification is based on RFC2238. The authors of RFC2238 are 1158 S. Knight, D. Weaver, D. Whipple, R. Hinden, D. Mitzel, P. Hunt, P. 1159 Higginson, M. Shand, and A. Lindem. 1161 The author of this document would also like to thank Erik Nordmark, 1162 Thomas Narten, Steve Deering, Radia Perlman, Danny Mitzel, Mukesh 1163 Gupta, Don Provan, Mark Hollinger, John Cruz, and Melissa Johnson for 1164 their helpful suggestions. 1166 13. IANA Considerations 1168 VRRP for IPv6 needs an IPv6 link-local scope multicast address 1169 assigned by the IANA for this specification. The IPv6 multicast 1170 address should be of the following form: 1172 FF02:0:0:0:0:0:XXXX:XXXX 1174 The values assigned address should be entered into section 5.2.2. 1176 A convenient assignment of this link-local scope multicast would be: 1178 FF02:0:0:0:0:0:0:12 1180 as this would be consistent with the IPv4 assignment for VRRP. 1182 The IANA should also reserve a block of IANA Ethernet unicast 1183 addresses from: 1185 00-00-5E-00-02-00 to 00-00-5E-00-02-FF in hex 1187 for VRRP for IPv6. Similar assignments are documented in: 1189 http://www.iana.org/assignments/ethernet-numbers 1191 14. Normative References 1193 [802.1D] International Standard ISO/IEC 10038: 1993, ANSI/IEEE Std 1194 802.1D, 1993 edition. 1196 [ADD-ARH] Hinden, R., S. Deering, "IP Version 6 Addressing 1197 Architecture", RFC3513, April 2003. 1199 [CKSM] Braden, R., D. Borman, C. Partridge, "Computing the 1200 Internet Checksum", RFC1071, September 1988. 1202 [ICMPv6] Conta, A., S. Deering, "Internet Control Message Protocol 1203 (ICMPv6) for the Internet Protocol Version 6 (IPv6)", 1204 RFC2463, December 1998. 1206 [IPv6] Deering, S., R. Hinden, "Internet Protocol, Version 6 1207 (IPv6) Specification", RFC2460, December 1998. 1209 [IPX] Novell Incorporated., "IPX Router Specification", Version 1210 1.10, October 1992. 1212 [ND] Narten, T., E. Nordmark, W. Simpson, "Neighbor Discovery 1213 for IP Version 6 (IPv6)", RFC2461, December 1998. 1215 [RFC1469] Pusateri, T., "IP Multicast over Token Ring Local Area 1216 Networks", RFC1469, June 1993. 1218 [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 1219 3", RFC2026, BCP00009, October 1996. 1221 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1222 Requirement Levels", RFC2119, BCP0014, March 1997. 1224 [TKARCH] IBM Token-Ring Network, Architecture Reference, Publication 1225 SC30-3374-02, Third Edition, (September, 1989). 1227 [VRRP-V4] Knight, S., et. al., "Virtual Router Redundancy Protocol", 1228 RFC2338, April 1998. 1230 15. Informative References 1232 [HSRP] Li, T., B. Cole, P. Morton, D. Li, "Cisco Hot Standby 1233 Router Protocol (HSRP)", RFC2281, March 1998. 1235 [IPSTB] Higginson, P., M. Shand, "Development of Router Clusters to 1236 Provide Fast Failover in IP Networks", Digital Technical 1237 Journal, Volume 9 Number 3, Winter 1997. 1239 [OSPF] Moy, J., "OSPF version 2", RFC2328, STD0054, April 1998. 1241 [RIP] Malkin, G., "RIP Version 2", RFC2453, STD0056, November 1242 1998. 1244 16. Author's Address 1246 Robert Hinden 1247 Nokia 1248 313 Fairchild Drive 1249 Mountain View, CA 94043 1250 USA 1252 Phone: +1 650 625-2004 1253 EMail: bob.hinden@nokia.com 1255 17. Changes from RFC2338 1257 - Added new subsection (8.3) that provided more detail on sending ND 1258 Router Advertisements. 1259 - Added new subsection (8.5) with recommendations about setting 1260 priority values and it's relationship to the preempt flag. 1261 - Changed rules for receiving VRRP packets to not drop the packet if 1262 the Adver Interval is not consistent with the local configuration 1263 for the virtual router. Only log and notify network management. 1264 - Reduced granularity of the Advertisement_Interval to centiseconds 1265 (i.e., 1/100 of a second). Changes include: 1266 o Made Adver Int field in the header 12-bits to allow range from 1267 1 to 4096 centiseconds. 1268 o Change Skew_Timer calculation to skew over one 1269 Advertisement_Interval. 1270 - Added switch (Accept_Mode) to control whether a virtual router in 1271 Master state will accept packets addresses to the address owner's 1272 IPv6 address as its own if it is not the IPv6 address owner. 1273 - Changed VMAC assignments to a separate block of IANA Ethernet 1274 addresses and added this to the IANA considerations section. 1275 - Removed different authentication methods, header fields, and 1276 updated the security considerations section to explain the reasons 1277 for doing this. 1278 - General rewrite to change protocol to provide virtual router 1279 functionality from IPv4 to IPv6. Specific changes include: 1280 o Increment VRRP version to 3. 1281 o Change packet format to support an 128-bit IPv6 address. 1282 o Rewrote text to specify IPv6 Neighbor Discovery mechanisms 1283 instead of ARP. 1284 o Changed state machine actions to use Neighbor Discovery 1285 mechanisms. This includes sending unsolicited Neighbor 1286 Advertisements, Receiving Neighbor Solicitations, joining the 1287 appropriate solicited node multicast group, sending Router 1288 Advertisements, and receiving Router Solicitations. 1289 - Revised the section 4 examples text with a clearer description of 1290 mapping of IPv6 address owner, priorities, etc. 1292 - Clarify the section 7.1 text describing address list validation. 1293 - Corrected text in Preempt_Mode definition. 1294 - Changed authentication to be per Virtual Router instead of per 1295 Interface. 1296 - Added new subsection (9.3) stating that VRRP over ATM LANE is 1297 beyond the scope of this document. 1298 - Clarified text describing received packet length check. 1299 - Clarified text describing received authentication check. 1300 - Clarified text describing VRID verification check. 1301 - Added new subsection (8.3) describing need to not forward packets 1302 for adopted IPv6 addresses. 1303 - Added clarification to the security considerations section. 1304 - Added reference for computing the internet checksum. 1305 - Updated references and author information. 1307 18. Disclaimer of Validity 1309 This document and the information contained herein are provided on an 1310 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1311 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 1312 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 1313 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 1314 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1315 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1317 19. Copyright Statement 1319 Copyright (C) The Internet Society (2004). This document is subject 1320 to the rights, licenses and restrictions contained in BCP 78, and 1321 except as set forth therein, the authors retain all their rights.