7 Network Working Group R. Hinden
8 Request for Comments: 2373 Nokia
9 Obsoletes: 1884 S. Deering
10 Category: Standards Track Cisco Systems
13 IP Version 6 Addressing Architecture
17 This document specifies an Internet standards track protocol for the
18 Internet community, and requests discussion and suggestions for
19 improvements. Please refer to the current edition of the "Internet
20 Official Protocol Standards" (STD 1) for the standardization state
21 and status of this protocol. Distribution of this memo is unlimited.
25 Copyright (C) The Internet Society (1998). All Rights Reserved.
29 This specification defines the addressing architecture of the IP
30 Version 6 protocol [IPV6]. The document includes the IPv6 addressing
31 model, text representations of IPv6 addresses, definition of IPv6
32 unicast addresses, anycast addresses, and multicast addresses, and an
33 IPv6 node's required addresses.
37 1. Introduction.................................................2
38 2. IPv6 Addressing..............................................2
39 2.1 Addressing Model.........................................3
40 2.2 Text Representation of Addresses.........................3
41 2.3 Text Representation of Address Prefixes..................5
42 2.4 Address Type Representation..............................6
43 2.5 Unicast Addresses........................................7
44 2.5.1 Interface Identifiers................................8
45 2.5.2 The Unspecified Address..............................9
46 2.5.3 The Loopback Address.................................9
47 2.5.4 IPv6 Addresses with Embedded IPv4 Addresses.........10
48 2.5.5 NSAP Addresses......................................10
49 2.5.6 IPX Addresses.......................................10
50 2.5.7 Aggregatable Global Unicast Addresses...............11
51 2.5.8 Local-use IPv6 Unicast Addresses....................11
52 2.6 Anycast Addresses.......................................12
53 2.6.1 Required Anycast Address............................13
54 2.7 Multicast Addresses.....................................14
58 Hinden & Deering Standards Track [Page 1]
60 RFC 2373 IPv6 Addressing Architecture July 1998
63 2.7.1 Pre-Defined Multicast Addresses.....................15
64 2.7.2 Assignment of New IPv6 Multicast Addresses..........17
65 2.8 A Node's Required Addresses.............................17
66 3. Security Considerations.....................................18
67 APPENDIX A: Creating EUI-64 based Interface Identifiers........19
68 APPENDIX B: ABNF Description of Text Representations...........22
69 APPENDIX C: CHANGES FROM RFC-1884..............................23
70 REFERENCES.....................................................24
71 AUTHORS' ADDRESSES.............................................25
72 FULL COPYRIGHT STATEMENT.......................................26
77 This specification defines the addressing architecture of the IP
78 Version 6 protocol. It includes a detailed description of the
79 currently defined address formats for IPv6 [IPV6].
81 The authors would like to acknowledge the contributions of Paul
82 Francis, Scott Bradner, Jim Bound, Brian Carpenter, Matt Crawford,
83 Deborah Estrin, Roger Fajman, Bob Fink, Peter Ford, Bob Gilligan,
84 Dimitry Haskin, Tom Harsch, Christian Huitema, Tony Li, Greg
85 Minshall, Thomas Narten, Erik Nordmark, Yakov Rekhter, Bill Simpson,
88 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
89 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
90 document are to be interpreted as described in [RFC 2119].
94 IPv6 addresses are 128-bit identifiers for interfaces and sets of
95 interfaces. There are three types of addresses:
97 Unicast: An identifier for a single interface. A packet sent to
98 a unicast address is delivered to the interface
99 identified by that address.
101 Anycast: An identifier for a set of interfaces (typically
102 belonging to different nodes). A packet sent to an
103 anycast address is delivered to one of the interfaces
104 identified by that address (the "nearest" one, according
105 to the routing protocols' measure of distance).
107 Multicast: An identifier for a set of interfaces (typically
108 belonging to different nodes). A packet sent to a
109 multicast address is delivered to all interfaces
110 identified by that address.
114 Hinden & Deering Standards Track [Page 2]
116 RFC 2373 IPv6 Addressing Architecture July 1998
119 There are no broadcast addresses in IPv6, their function being
120 superseded by multicast addresses.
122 In this document, fields in addresses are given a specific name, for
123 example "subscriber". When this name is used with the term "ID" for
124 identifier after the name (e.g., "subscriber ID"), it refers to the
125 contents of the named field. When it is used with the term "prefix"
126 (e.g. "subscriber prefix") it refers to all of the address up to and
127 including this field.
129 In IPv6, all zeros and all ones are legal values for any field,
130 unless specifically excluded. Specifically, prefixes may contain
131 zero-valued fields or end in zeros.
135 IPv6 addresses of all types are assigned to interfaces, not nodes.
136 An IPv6 unicast address refers to a single interface. Since each
137 interface belongs to a single node, any of that node's interfaces'
138 unicast addresses may be used as an identifier for the node.
140 All interfaces are required to have at least one link-local unicast
141 address (see section 2.8 for additional required addresses). A
142 single interface may also be assigned multiple IPv6 addresses of any
143 type (unicast, anycast, and multicast) or scope. Unicast addresses
144 with scope greater than link-scope are not needed for interfaces that
145 are not used as the origin or destination of any IPv6 packets to or
146 from non-neighbors. This is sometimes convenient for point-to-point
147 interfaces. There is one exception to this addressing model:
149 An unicast address or a set of unicast addresses may be assigned to
150 multiple physical interfaces if the implementation treats the
151 multiple physical interfaces as one interface when presenting it to
152 the internet layer. This is useful for load-sharing over multiple
155 Currently IPv6 continues the IPv4 model that a subnet prefix is
156 associated with one link. Multiple subnet prefixes may be assigned
159 2.2 Text Representation of Addresses
161 There are three conventional forms for representing IPv6 addresses as
164 1. The preferred form is x:x:x:x:x:x:x:x, where the 'x's are the
165 hexadecimal values of the eight 16-bit pieces of the address.
170 Hinden & Deering Standards Track [Page 3]
172 RFC 2373 IPv6 Addressing Architecture July 1998
175 FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
177 1080:0:0:0:8:800:200C:417A
179 Note that it is not necessary to write the leading zeros in an
180 individual field, but there must be at least one numeral in every
181 field (except for the case described in 2.).
183 2. Due to some methods of allocating certain styles of IPv6
184 addresses, it will be common for addresses to contain long strings
185 of zero bits. In order to make writing addresses containing zero
186 bits easier a special syntax is available to compress the zeros.
187 The use of "::" indicates multiple groups of 16-bits of zeros.
188 The "::" can only appear once in an address. The "::" can also be
189 used to compress the leading and/or trailing zeros in an address.
191 For example the following addresses:
193 1080:0:0:0:8:800:200C:417A a unicast address
194 FF01:0:0:0:0:0:0:101 a multicast address
195 0:0:0:0:0:0:0:1 the loopback address
196 0:0:0:0:0:0:0:0 the unspecified addresses
198 may be represented as:
200 1080::8:800:200C:417A a unicast address
201 FF01::101 a multicast address
202 ::1 the loopback address
203 :: the unspecified addresses
205 3. An alternative form that is sometimes more convenient when dealing
206 with a mixed environment of IPv4 and IPv6 nodes is
207 x:x:x:x:x:x:d.d.d.d, where the 'x's are the hexadecimal values of
208 the six high-order 16-bit pieces of the address, and the 'd's are
209 the decimal values of the four low-order 8-bit pieces of the
210 address (standard IPv4 representation). Examples:
212 0:0:0:0:0:0:13.1.68.3
214 0:0:0:0:0:FFFF:129.144.52.38
216 or in compressed form:
226 Hinden & Deering Standards Track [Page 4]
228 RFC 2373 IPv6 Addressing Architecture July 1998
231 2.3 Text Representation of Address Prefixes
233 The text representation of IPv6 address prefixes is similar to the
234 way IPv4 addresses prefixes are written in CIDR notation. An IPv6
235 address prefix is represented by the notation:
237 ipv6-address/prefix-length
241 ipv6-address is an IPv6 address in any of the notations listed
244 prefix-length is a decimal value specifying how many of the
245 leftmost contiguous bits of the address comprise
248 For example, the following are legal representations of the 60-bit
249 prefix 12AB00000000CD3 (hexadecimal):
251 12AB:0000:0000:CD30:0000:0000:0000:0000/60
252 12AB::CD30:0:0:0:0/60
255 The following are NOT legal representations of the above prefix:
257 12AB:0:0:CD3/60 may drop leading zeros, but not trailing zeros,
258 within any 16-bit chunk of the address
260 12AB::CD30/60 address to left of "/" expands to
261 12AB:0000:0000:0000:0000:000:0000:CD30
263 12AB::CD3/60 address to left of "/" expands to
264 12AB:0000:0000:0000:0000:000:0000:0CD3
266 When writing both a node address and a prefix of that node address
267 (e.g., the node's subnet prefix), the two can combined as follows:
269 the node address 12AB:0:0:CD30:123:4567:89AB:CDEF
270 and its subnet number 12AB:0:0:CD30::/60
272 can be abbreviated as 12AB:0:0:CD30:123:4567:89AB:CDEF/60
282 Hinden & Deering Standards Track [Page 5]
284 RFC 2373 IPv6 Addressing Architecture July 1998
287 2.4 Address Type Representation
289 The specific type of an IPv6 address is indicated by the leading bits
290 in the address. The variable-length field comprising these leading
291 bits is called the Format Prefix (FP). The initial allocation of
292 these prefixes is as follows:
294 Allocation Prefix Fraction of
295 (binary) Address Space
296 ----------------------------------- -------- -------------
297 Reserved 0000 0000 1/256
298 Unassigned 0000 0001 1/256
300 Reserved for NSAP Allocation 0000 001 1/128
301 Reserved for IPX Allocation 0000 010 1/128
303 Unassigned 0000 011 1/128
304 Unassigned 0000 1 1/32
307 Aggregatable Global Unicast Addresses 001 1/8
315 Unassigned 1111 0 1/32
316 Unassigned 1111 10 1/64
317 Unassigned 1111 110 1/128
318 Unassigned 1111 1110 0 1/512
320 Link-Local Unicast Addresses 1111 1110 10 1/1024
321 Site-Local Unicast Addresses 1111 1110 11 1/1024
323 Multicast Addresses 1111 1111 1/256
327 (1) The "unspecified address" (see section 2.5.2), the loopback
328 address (see section 2.5.3), and the IPv6 Addresses with
329 Embedded IPv4 Addresses (see section 2.5.4), are assigned out
330 of the 0000 0000 format prefix space.
338 Hinden & Deering Standards Track [Page 6]
340 RFC 2373 IPv6 Addressing Architecture July 1998
343 (2) The format prefixes 001 through 111, except for Multicast
344 Addresses (1111 1111), are all required to have to have 64-bit
345 interface identifiers in EUI-64 format. See section 2.5.1 for
348 This allocation supports the direct allocation of aggregation
349 addresses, local use addresses, and multicast addresses. Space is
350 reserved for NSAP addresses and IPX addresses. The remainder of the
351 address space is unassigned for future use. This can be used for
352 expansion of existing use (e.g., additional aggregatable addresses,
353 etc.) or new uses (e.g., separate locators and identifiers). Fifteen
354 percent of the address space is initially allocated. The remaining
355 85% is reserved for future use.
357 Unicast addresses are distinguished from multicast addresses by the
358 value of the high-order octet of the addresses: a value of FF
359 (11111111) identifies an address as a multicast address; any other
360 value identifies an address as a unicast address. Anycast addresses
361 are taken from the unicast address space, and are not syntactically
362 distinguishable from unicast addresses.
364 2.5 Unicast Addresses
366 IPv6 unicast addresses are aggregatable with contiguous bit-wise
367 masks similar to IPv4 addresses under Class-less Interdomain Routing
370 There are several forms of unicast address assignment in IPv6,
371 including the global aggregatable global unicast address, the NSAP
372 address, the IPX hierarchical address, the site-local address, the
373 link-local address, and the IPv4-capable host address. Additional
374 address types can be defined in the future.
376 IPv6 nodes may have considerable or little knowledge of the internal
377 structure of the IPv6 address, depending on the role the node plays
378 (for instance, host versus router). At a minimum, a node may
379 consider that unicast addresses (including its own) have no internal
383 +-----------------------------------------------------------------+
385 +-----------------------------------------------------------------+
387 A slightly sophisticated host (but still rather simple) may
388 additionally be aware of subnet prefix(es) for the link(s) it is
389 attached to, where different addresses may have different values for
394 Hinden & Deering Standards Track [Page 7]
396 RFC 2373 IPv6 Addressing Architecture July 1998
399 | n bits | 128-n bits |
400 +------------------------------------------------+----------------+
401 | subnet prefix | interface ID |
402 +------------------------------------------------+----------------+
404 Still more sophisticated hosts may be aware of other hierarchical
405 boundaries in the unicast address. Though a very simple router may
406 have no knowledge of the internal structure of IPv6 unicast
407 addresses, routers will more generally have knowledge of one or more
408 of the hierarchical boundaries for the operation of routing
409 protocols. The known boundaries will differ from router to router,
410 depending on what positions the router holds in the routing
413 2.5.1 Interface Identifiers
415 Interface identifiers in IPv6 unicast addresses are used to identify
416 interfaces on a link. They are required to be unique on that link.
417 They may also be unique over a broader scope. In many cases an
418 interface's identifier will be the same as that interface's link-
419 layer address. The same interface identifier may be used on multiple
420 interfaces on a single node.
422 Note that the use of the same interface identifier on multiple
423 interfaces of a single node does not affect the interface
424 identifier's global uniqueness or each IPv6 addresses global
425 uniqueness created using that interface identifier.
427 In a number of the format prefixes (see section 2.4) Interface IDs
428 are required to be 64 bits long and to be constructed in IEEE EUI-64
429 format [EUI64]. EUI-64 based Interface identifiers may have global
430 scope when a global token is available (e.g., IEEE 48bit MAC) or may
431 have local scope where a global token is not available (e.g., serial
432 links, tunnel end-points, etc.). It is required that the "u" bit
433 (universal/local bit in IEEE EUI-64 terminology) be inverted when
434 forming the interface identifier from the EUI-64. The "u" bit is set
435 to one (1) to indicate global scope, and it is set to zero (0) to
436 indicate local scope. The first three octets in binary of an EUI-64
437 identifier are as follows:
441 +----+----+----+----+----+----+
442 |cccc|ccug|cccc|cccc|cccc|cccc|
443 +----+----+----+----+----+----+
450 Hinden & Deering Standards Track [Page 8]
452 RFC 2373 IPv6 Addressing Architecture July 1998
455 written in Internet standard bit-order , where "u" is the
456 universal/local bit, "g" is the individual/group bit, and "c" are the
457 bits of the company_id. Appendix A: "Creating EUI-64 based Interface
458 Identifiers" provides examples on the creation of different EUI-64
459 based interface identifiers.
461 The motivation for inverting the "u" bit when forming the interface
462 identifier is to make it easy for system administrators to hand
463 configure local scope identifiers when hardware tokens are not
464 available. This is expected to be case for serial links, tunnel end-
465 points, etc. The alternative would have been for these to be of the
466 form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1,
469 The use of the universal/local bit in the IEEE EUI-64 identifier is
470 to allow development of future technology that can take advantage of
471 interface identifiers with global scope.
473 The details of forming interface identifiers are defined in the
474 appropriate "IPv6 over <link>" specification such as "IPv6 over
475 Ethernet" [ETHER], "IPv6 over FDDI" [FDDI], etc.
477 2.5.2 The Unspecified Address
479 The address 0:0:0:0:0:0:0:0 is called the unspecified address. It
480 must never be assigned to any node. It indicates the absence of an
481 address. One example of its use is in the Source Address field of
482 any IPv6 packets sent by an initializing host before it has learned
485 The unspecified address must not be used as the destination address
486 of IPv6 packets or in IPv6 Routing Headers.
488 2.5.3 The Loopback Address
490 The unicast address 0:0:0:0:0:0:0:1 is called the loopback address.
491 It may be used by a node to send an IPv6 packet to itself. It may
492 never be assigned to any physical interface. It may be thought of as
493 being associated with a virtual interface (e.g., the loopback
496 The loopback address must not be used as the source address in IPv6
497 packets that are sent outside of a single node. An IPv6 packet with
498 a destination address of loopback must never be sent outside of a
499 single node and must never be forwarded by an IPv6 router.
506 Hinden & Deering Standards Track [Page 9]
508 RFC 2373 IPv6 Addressing Architecture July 1998
511 2.5.4 IPv6 Addresses with Embedded IPv4 Addresses
513 The IPv6 transition mechanisms [TRAN] include a technique for hosts
514 and routers to dynamically tunnel IPv6 packets over IPv4 routing
515 infrastructure. IPv6 nodes that utilize this technique are assigned
516 special IPv6 unicast addresses that carry an IPv4 address in the low-
517 order 32-bits. This type of address is termed an "IPv4-compatible
518 IPv6 address" and has the format:
520 | 80 bits | 16 | 32 bits |
521 +--------------------------------------+--------------------------+
522 |0000..............................0000|0000| IPv4 address |
523 +--------------------------------------+----+---------------------+
525 A second type of IPv6 address which holds an embedded IPv4 address is
526 also defined. This address is used to represent the addresses of
527 IPv4-only nodes (those that *do not* support IPv6) as IPv6 addresses.
528 This type of address is termed an "IPv4-mapped IPv6 address" and has
531 | 80 bits | 16 | 32 bits |
532 +--------------------------------------+--------------------------+
533 |0000..............................0000|FFFF| IPv4 address |
534 +--------------------------------------+----+---------------------+
538 This mapping of NSAP address into IPv6 addresses is defined in
539 [NSAP]. This document recommends that network implementors who have
540 planned or deployed an OSI NSAP addressing plan, and who wish to
541 deploy or transition to IPv6, should redesign a native IPv6
542 addressing plan to meet their needs. However, it also defines a set
543 of mechanisms for the support of OSI NSAP addressing in an IPv6
544 network. These mechanisms are the ones that must be used if such
545 support is required. This document also defines a mapping of IPv6
546 addresses within the OSI address format, should this be required.
550 This mapping of IPX address into IPv6 addresses is as follows:
553 +-------+---------------------------------------------------------+
554 |0000010| to be defined |
555 +-------+---------------------------------------------------------+
557 The draft definition, motivation, and usage are under study.
562 Hinden & Deering Standards Track [Page 10]
564 RFC 2373 IPv6 Addressing Architecture July 1998
567 2.5.7 Aggregatable Global Unicast Addresses
569 The global aggregatable global unicast address is defined in [AGGR].
570 This address format is designed to support both the current provider
571 based aggregation and a new type of aggregation called exchanges.
572 The combination will allow efficient routing aggregation for both
573 sites which connect directly to providers and who connect to
574 exchanges. Sites will have the choice to connect to either type of
577 The IPv6 aggregatable global unicast address format is as follows:
579 | 3| 13 | 8 | 24 | 16 | 64 bits |
580 +--+-----+---+--------+--------+--------------------------------+
581 |FP| TLA |RES| NLA | SLA | Interface ID |
582 | | ID | | ID | ID | |
583 +--+-----+---+--------+--------+--------------------------------+
587 001 Format Prefix (3 bit) for Aggregatable Global
589 TLA ID Top-Level Aggregation Identifier
590 RES Reserved for future use
591 NLA ID Next-Level Aggregation Identifier
592 SLA ID Site-Level Aggregation Identifier
593 INTERFACE ID Interface Identifier
595 The contents, field sizes, and assignment rules are defined in
598 2.5.8 Local-Use IPv6 Unicast Addresses
600 There are two types of local-use unicast addresses defined. These
601 are Link-Local and Site-Local. The Link-Local is for use on a single
602 link and the Site-Local is for use in a single site. Link-Local
603 addresses have the following format:
606 | bits | 54 bits | 64 bits |
607 +----------+-------------------------+----------------------------+
608 |1111111010| 0 | interface ID |
609 +----------+-------------------------+----------------------------+
611 Link-Local addresses are designed to be used for addressing on a
612 single link for purposes such as auto-address configuration, neighbor
613 discovery, or when no routers are present.
618 Hinden & Deering Standards Track [Page 11]
620 RFC 2373 IPv6 Addressing Architecture July 1998
623 Routers must not forward any packets with link-local source or
624 destination addresses to other links.
626 Site-Local addresses have the following format:
629 | bits | 38 bits | 16 bits | 64 bits |
630 +----------+-------------+-----------+----------------------------+
631 |1111111011| 0 | subnet ID | interface ID |
632 +----------+-------------+-----------+----------------------------+
634 Site-Local addresses are designed to be used for addressing inside of
635 a site without the need for a global prefix.
637 Routers must not forward any packets with site-local source or
638 destination addresses outside of the site.
640 2.6 Anycast Addresses
642 An IPv6 anycast address is an address that is assigned to more than
643 one interface (typically belonging to different nodes), with the
644 property that a packet sent to an anycast address is routed to the
645 "nearest" interface having that address, according to the routing
646 protocols' measure of distance.
648 Anycast addresses are allocated from the unicast address space, using
649 any of the defined unicast address formats. Thus, anycast addresses
650 are syntactically indistinguishable from unicast addresses. When a
651 unicast address is assigned to more than one interface, thus turning
652 it into an anycast address, the nodes to which the address is
653 assigned must be explicitly configured to know that it is an anycast
656 For any assigned anycast address, there is a longest address prefix P
657 that identifies the topological region in which all interfaces
658 belonging to that anycast address reside. Within the region
659 identified by P, each member of the anycast set must be advertised as
660 a separate entry in the routing system (commonly referred to as a
661 "host route"); outside the region identified by P, the anycast
662 address may be aggregated into the routing advertisement for prefix
665 Note that in, the worst case, the prefix P of an anycast set may be
666 the null prefix, i.e., the members of the set may have no topological
667 locality. In that case, the anycast address must be advertised as a
668 separate routing entry throughout the entire internet, which presents
674 Hinden & Deering Standards Track [Page 12]
676 RFC 2373 IPv6 Addressing Architecture July 1998
679 a severe scaling limit on how many such "global" anycast sets may be
680 supported. Therefore, it is expected that support for global anycast
681 sets may be unavailable or very restricted.
683 One expected use of anycast addresses is to identify the set of
684 routers belonging to an organization providing internet service.
685 Such addresses could be used as intermediate addresses in an IPv6
686 Routing header, to cause a packet to be delivered via a particular
687 aggregation or sequence of aggregations. Some other possible uses
688 are to identify the set of routers attached to a particular subnet,
689 or the set of routers providing entry into a particular routing
692 There is little experience with widespread, arbitrary use of internet
693 anycast addresses, and some known complications and hazards when
694 using them in their full generality [ANYCST]. Until more experience
695 has been gained and solutions agreed upon for those problems, the
696 following restrictions are imposed on IPv6 anycast addresses:
698 o An anycast address must not be used as the source address of an
701 o An anycast address must not be assigned to an IPv6 host, that
702 is, it may be assigned to an IPv6 router only.
704 2.6.1 Required Anycast Address
706 The Subnet-Router anycast address is predefined. Its format is as
709 | n bits | 128-n bits |
710 +------------------------------------------------+----------------+
711 | subnet prefix | 00000000000000 |
712 +------------------------------------------------+----------------+
714 The "subnet prefix" in an anycast address is the prefix which
715 identifies a specific link. This anycast address is syntactically
716 the same as a unicast address for an interface on the link with the
717 interface identifier set to zero.
719 Packets sent to the Subnet-Router anycast address will be delivered
720 to one router on the subnet. All routers are required to support the
721 Subnet-Router anycast addresses for the subnets which they have
730 Hinden & Deering Standards Track [Page 13]
732 RFC 2373 IPv6 Addressing Architecture July 1998
735 The subnet-router anycast address is intended to be used for
736 applications where a node needs to communicate with one of a set of
737 routers on a remote subnet. For example when a mobile host needs to
738 communicate with one of the mobile agents on its "home" subnet.
740 2.7 Multicast Addresses
742 An IPv6 multicast address is an identifier for a group of nodes. A
743 node may belong to any number of multicast groups. Multicast
744 addresses have the following format:
746 | 8 | 4 | 4 | 112 bits |
747 +------ -+----+----+---------------------------------------------+
748 |11111111|flgs|scop| group ID |
749 +--------+----+----+---------------------------------------------+
751 11111111 at the start of the address identifies the address as
752 being a multicast address.
755 flgs is a set of 4 flags: |0|0|0|T|
758 The high-order 3 flags are reserved, and must be initialized to
761 T = 0 indicates a permanently-assigned ("well-known") multicast
762 address, assigned by the global internet numbering authority.
764 T = 1 indicates a non-permanently-assigned ("transient")
767 scop is a 4-bit multicast scope value used to limit the scope of
768 the multicast group. The values are:
778 8 organization-local scope
786 Hinden & Deering Standards Track [Page 14]
788 RFC 2373 IPv6 Addressing Architecture July 1998
795 group ID identifies the multicast group, either permanent or
796 transient, within the given scope.
798 The "meaning" of a permanently-assigned multicast address is
799 independent of the scope value. For example, if the "NTP servers
800 group" is assigned a permanent multicast address with a group ID of
803 FF01:0:0:0:0:0:0:101 means all NTP servers on the same node as the
806 FF02:0:0:0:0:0:0:101 means all NTP servers on the same link as the
809 FF05:0:0:0:0:0:0:101 means all NTP servers at the same site as the
812 FF0E:0:0:0:0:0:0:101 means all NTP servers in the internet.
814 Non-permanently-assigned multicast addresses are meaningful only
815 within a given scope. For example, a group identified by the non-
816 permanent, site-local multicast address FF15:0:0:0:0:0:0:101 at one
817 site bears no relationship to a group using the same address at a
818 different site, nor to a non-permanent group using the same group ID
819 with different scope, nor to a permanent group with the same group
822 Multicast addresses must not be used as source addresses in IPv6
823 packets or appear in any routing header.
825 2.7.1 Pre-Defined Multicast Addresses
827 The following well-known multicast addresses are pre-defined:
829 Reserved Multicast Addresses: FF00:0:0:0:0:0:0:0
842 Hinden & Deering Standards Track [Page 15]
844 RFC 2373 IPv6 Addressing Architecture July 1998
854 The above multicast addresses are reserved and shall never be
855 assigned to any multicast group.
857 All Nodes Addresses: FF01:0:0:0:0:0:0:1
860 The above multicast addresses identify the group of all IPv6 nodes,
861 within scope 1 (node-local) or 2 (link-local).
863 All Routers Addresses: FF01:0:0:0:0:0:0:2
867 The above multicast addresses identify the group of all IPv6 routers,
868 within scope 1 (node-local), 2 (link-local), or 5 (site-local).
870 Solicited-Node Address: FF02:0:0:0:0:1:FFXX:XXXX
872 The above multicast address is computed as a function of a node's
873 unicast and anycast addresses. The solicited-node multicast address
874 is formed by taking the low-order 24 bits of the address (unicast or
875 anycast) and appending those bits to the prefix
876 FF02:0:0:0:0:1:FF00::/104 resulting in a multicast address in the
879 FF02:0:0:0:0:1:FF00:0000
883 FF02:0:0:0:0:1:FFFF:FFFF
885 For example, the solicited node multicast address corresponding to
886 the IPv6 address 4037::01:800:200E:8C6C is FF02::1:FF0E:8C6C. IPv6
887 addresses that differ only in the high-order bits, e.g. due to
888 multiple high-order prefixes associated with different aggregations,
889 will map to the same solicited-node address thereby reducing the
890 number of multicast addresses a node must join.
892 A node is required to compute and join the associated Solicited-Node
893 multicast addresses for every unicast and anycast address it is
898 Hinden & Deering Standards Track [Page 16]
900 RFC 2373 IPv6 Addressing Architecture July 1998
903 2.7.2 Assignment of New IPv6 Multicast Addresses
905 The current approach [ETHER] to map IPv6 multicast addresses into
906 IEEE 802 MAC addresses takes the low order 32 bits of the IPv6
907 multicast address and uses it to create a MAC address. Note that
908 Token Ring networks are handled differently. This is defined in
909 [TOKEN]. Group ID's less than or equal to 32 bits will generate
910 unique MAC addresses. Due to this new IPv6 multicast addresses
911 should be assigned so that the group identifier is always in the low
912 order 32 bits as shown in the following:
914 | 8 | 4 | 4 | 80 bits | 32 bits |
915 +------ -+----+----+---------------------------+-----------------+
916 |11111111|flgs|scop| reserved must be zero | group ID |
917 +--------+----+----+---------------------------+-----------------+
919 While this limits the number of permanent IPv6 multicast groups to
920 2^32 this is unlikely to be a limitation in the future. If it
921 becomes necessary to exceed this limit in the future multicast will
922 still work but the processing will be sightly slower.
924 Additional IPv6 multicast addresses are defined and registered by the
927 2.8 A Node's Required Addresses
929 A host is required to recognize the following addresses as
932 o Its Link-Local Address for each interface
933 o Assigned Unicast Addresses
935 o All-Nodes Multicast Addresses
936 o Solicited-Node Multicast Address for each of its assigned
937 unicast and anycast addresses
938 o Multicast Addresses of all other groups to which the host
941 A router is required to recognize all addresses that a host is
942 required to recognize, plus the following addresses as identifying
945 o The Subnet-Router anycast addresses for the interfaces it is
946 configured to act as a router on.
947 o All other Anycast addresses with which the router has been
949 o All-Routers Multicast Addresses
954 Hinden & Deering Standards Track [Page 17]
956 RFC 2373 IPv6 Addressing Architecture July 1998
959 o Multicast Addresses of all other groups to which the router
962 The only address prefixes which should be predefined in an
963 implementation are the:
965 o Unspecified Address
967 o Multicast Prefix (FF)
968 o Local-Use Prefixes (Link-Local and Site-Local)
969 o Pre-Defined Multicast Addresses
970 o IPv4-Compatible Prefixes
972 Implementations should assume all other addresses are unicast unless
973 specifically configured (e.g., anycast addresses).
975 3. Security Considerations
977 IPv6 addressing documents do not have any direct impact on Internet
978 infrastructure security. Authentication of IPv6 packets is defined
1010 Hinden & Deering Standards Track [Page 18]
1012 RFC 2373 IPv6 Addressing Architecture July 1998
1015 APPENDIX A : Creating EUI-64 based Interface Identifiers
1016 --------------------------------------------------------
1018 Depending on the characteristics of a specific link or node there are
1019 a number of approaches for creating EUI-64 based interface
1020 identifiers. This appendix describes some of these approaches.
1022 Links or Nodes with EUI-64 Identifiers
1024 The only change needed to transform an EUI-64 identifier to an
1025 interface identifier is to invert the "u" (universal/local) bit. For
1026 example, a globally unique EUI-64 identifier of the form:
1030 +----------------+----------------+----------------+----------------+
1031 |cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm|
1032 +----------------+----------------+----------------+----------------+
1034 where "c" are the bits of the assigned company_id, "0" is the value
1035 of the universal/local bit to indicate global scope, "g" is
1036 individual/group bit, and "m" are the bits of the manufacturer-
1037 selected extension identifier. The IPv6 interface identifier would
1042 +----------------+----------------+----------------+----------------+
1043 |cccccc1gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm|
1044 +----------------+----------------+----------------+----------------+
1046 The only change is inverting the value of the universal/local bit.
1048 Links or Nodes with IEEE 802 48 bit MAC's
1050 [EUI64] defines a method to create a EUI-64 identifier from an IEEE
1051 48bit MAC identifier. This is to insert two octets, with hexadecimal
1052 values of 0xFF and 0xFE, in the middle of the 48 bit MAC (between the
1053 company_id and vendor supplied id). For example the 48 bit MAC with
1058 +----------------+----------------+----------------+
1059 |cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|
1060 +----------------+----------------+----------------+
1066 Hinden & Deering Standards Track [Page 19]
1068 RFC 2373 IPv6 Addressing Architecture July 1998
1071 where "c" are the bits of the assigned company_id, "0" is the value
1072 of the universal/local bit to indicate global scope, "g" is
1073 individual/group bit, and "m" are the bits of the manufacturer-
1074 selected extension identifier. The interface identifier would be of
1079 +----------------+----------------+----------------+----------------+
1080 |cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm|
1081 +----------------+----------------+----------------+----------------+
1083 When IEEE 802 48bit MAC addresses are available (on an interface or a
1084 node), an implementation should use them to create interface
1085 identifiers due to their availability and uniqueness properties.
1087 Links with Non-Global Identifiers
1089 There are a number of types of links that, while multi-access, do not
1090 have globally unique link identifiers. Examples include LocalTalk
1091 and Arcnet. The method to create an EUI-64 formatted identifier is
1092 to take the link identifier (e.g., the LocalTalk 8 bit node
1093 identifier) and zero fill it to the left. For example a LocalTalk 8
1094 bit node identifier of hexadecimal value 0x4F results in the
1095 following interface identifier:
1099 +----------------+----------------+----------------+----------------+
1100 |0000000000000000|0000000000000000|0000000000000000|0000000001001111|
1101 +----------------+----------------+----------------+----------------+
1103 Note that this results in the universal/local bit set to "0" to
1104 indicate local scope.
1106 Links without Identifiers
1108 There are a number of links that do not have any type of built-in
1109 identifier. The most common of these are serial links and configured
1110 tunnels. Interface identifiers must be chosen that are unique for
1113 When no built-in identifier is available on a link the preferred
1114 approach is to use a global interface identifier from another
1115 interface or one which is assigned to the node itself. To use this
1116 approach no other interface connecting the same node to the same link
1117 may use the same identifier.
1122 Hinden & Deering Standards Track [Page 20]
1124 RFC 2373 IPv6 Addressing Architecture July 1998
1127 If there is no global interface identifier available for use on the
1128 link the implementation needs to create a local scope interface
1129 identifier. The only requirement is that it be unique on the link.
1130 There are many possible approaches to select a link-unique interface
1131 identifier. They include:
1133 Manual Configuration
1134 Generated Random Number
1135 Node Serial Number (or other node-specific token)
1137 The link-unique interface identifier should be generated in a manner
1138 that it does not change after a reboot of a node or if interfaces are
1139 added or deleted from the node.
1141 The selection of the appropriate algorithm is link and implementation
1142 dependent. The details on forming interface identifiers are defined
1143 in the appropriate "IPv6 over <link>" specification. It is strongly
1144 recommended that a collision detection algorithm be implemented as
1145 part of any automatic algorithm.
1178 Hinden & Deering Standards Track [Page 21]
1180 RFC 2373 IPv6 Addressing Architecture July 1998
1183 APPENDIX B: ABNF Description of Text Representations
1184 ----------------------------------------------------
1186 This appendix defines the text representation of IPv6 addresses and
1187 prefixes in Augmented BNF [ABNF] for reference purposes.
1189 IPv6address = hexpart [ ":" IPv4address ]
1190 IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT
1192 IPv6prefix = hexpart "/" 1*2DIGIT
1194 hexpart = hexseq | hexseq "::" [ hexseq ] | "::" [ hexseq ]
1195 hexseq = hex4 *( ":" hex4)
1234 Hinden & Deering Standards Track [Page 22]
1236 RFC 2373 IPv6 Addressing Architecture July 1998
1239 APPENDIX C: CHANGES FROM RFC-1884
1240 ---------------------------------
1242 The following changes were made from RFC-1884 "IP Version 6
1243 Addressing Architecture":
1245 - Added an appendix providing a ABNF description of text
1247 - Clarification that link unique identifiers not change after
1248 reboot or other interface reconfigurations.
1249 - Clarification of Address Model based on comments.
1250 - Changed aggregation format terminology to be consistent with
1252 - Added text to allow interface identifier to be used on more than
1253 one interface on same node.
1254 - Added rules for defining new multicast addresses.
1255 - Added appendix describing procedures for creating EUI-64 based
1257 - Added notation for defining IPv6 prefixes.
1258 - Changed solicited node multicast definition to use a longer
1260 - Added site scope all routers multicast address.
1261 - Defined Aggregatable Global Unicast Addresses to use "001" Format
1263 - Changed "010" (Provider-Based Unicast) and "100" (Reserved for
1264 Geographic) Format Prefixes to Unassigned.
1265 - Added section on Interface ID definition for unicast addresses.
1266 Requires use of EUI-64 in range of format prefixes and rules for
1267 setting global/local scope bit in EUI-64.
1268 - Updated NSAP text to reflect working in RFC1888.
1269 - Removed protocol specific IPv6 multicast addresses (e.g., DHCP)
1270 and referenced the IANA definitions.
1271 - Removed section "Unicast Address Example". Had become OBE.
1272 - Added new and updated references.
1273 - Minor text clarifications and improvements.
1290 Hinden & Deering Standards Track [Page 23]
1292 RFC 2373 IPv6 Addressing Architecture July 1998
1297 [ABNF] Crocker, D., and P. Overell, "Augmented BNF for
1298 Syntax Specifications: ABNF", RFC 2234, November 1997.
1300 [AGGR] Hinden, R., O'Dell, M., and S. Deering, "An
1301 Aggregatable Global Unicast Address Format", RFC 2374, July
1304 [AUTH] Atkinson, R., "IP Authentication Header", RFC 1826, August
1307 [ANYCST] Partridge, C., Mendez, T., and W. Milliken, "Host
1308 Anycasting Service", RFC 1546, November 1993.
1310 [CIDR] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless
1311 Inter-Domain Routing (CIDR): An Address Assignment and
1312 Aggregation Strategy", RFC 1519, September 1993.
1314 [ETHER] Crawford, M., "Transmission of IPv6 Pacekts over Ethernet
1315 Networks", Work in Progress.
1317 [EUI64] IEEE, "Guidelines for 64-bit Global Identifier (EUI-64)
1318 Registration Authority",
1319 http://standards.ieee.org/db/oui/tutorials/EUI64.html,
1322 [FDDI] Crawford, M., "Transmission of IPv6 Packets over FDDI
1323 Networks", Work in Progress.
1325 [IPV6] Deering, S., and R. Hinden, Editors, "Internet Protocol,
1326 Version 6 (IPv6) Specification", RFC 1883, December 1995.
1328 [MASGN] Hinden, R., and S. Deering, "IPv6 Multicast Address
1329 Assignments", RFC 2375, July 1998.
1331 [NSAP] Bound, J., Carpenter, B., Harrington, D., Houldsworth, J.,
1332 and A. Lloyd, "OSI NSAPs and IPv6", RFC 1888, August 1996.
1334 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
1335 Requirement Levels", BCP 14, RFC 2119, March 1997.
1337 [TOKEN] Thomas, S., "Transmission of IPv6 Packets over Token Ring
1338 Networks", Work in Progress.
1340 [TRAN] Gilligan, R., and E. Nordmark, "Transition Mechanisms for
1341 IPv6 Hosts and Routers", RFC 1993, April 1996.
1346 Hinden & Deering Standards Track [Page 24]
1348 RFC 2373 IPv6 Addressing Architecture July 1998
1359 Phone: +1 408 990-2004
1360 Fax: +1 408 743-5677
1361 EMail: hinden@iprg.nokia.com
1366 170 West Tasman Drive
1367 San Jose, CA 95134-1706
1370 Phone: +1 408 527-8213
1371 Fax: +1 408 527-8254
1372 EMail: deering@cisco.com
1402 Hinden & Deering Standards Track [Page 25]
1404 RFC 2373 IPv6 Addressing Architecture July 1998
1407 Full Copyright Statement
1409 Copyright (C) The Internet Society (1998). All Rights Reserved.
1411 This document and translations of it may be copied and furnished to
1412 others, and derivative works that comment on or otherwise explain it
1413 or assist in its implementation may be prepared, copied, published
1414 and distributed, in whole or in part, without restriction of any
1415 kind, provided that the above copyright notice and this paragraph are
1416 included on all such copies and derivative works. However, this
1417 document itself may not be modified in any way, such as by removing
1418 the copyright notice or references to the Internet Society or other
1419 Internet organizations, except as needed for the purpose of
1420 developing Internet standards in which case the procedures for
1421 copyrights defined in the Internet Standards process must be
1422 followed, or as required to translate it into languages other than
1425 The limited permissions granted above are perpetual and will not be
1426 revoked by the Internet Society or its successors or assigns.
1428 This document and the information contained herein is provided on an
1429 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1430 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1431 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1432 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1433 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1458 Hinden & Deering Standards Track [Page 26]