Chapter 3 IPv6 Addressing At the end of this chapter,you should be able to do the following: ■Describe the IPv6 address space,and state why the address length of128 bits was chosen. ■Describe IPve6 address syntax,including zero suppression and compression and prefixes. ■Enumerate and describe the function of the different types of unicast IPve6 addresses. ■Describe the format of multicast IPv6 addresses. ■Describe the function of anycast IPve6 addresses. ■Describe how IPve6 interface identifiers are determined. Describe how to perform bit-level subnetting on the subnet identifier portion of a unicast IPv6 address prefix. List and compare the different addressing concepts between IPv4 addresses and IPv6 addresses. The IPv6 Address Space The most obvious distinguishing feature of Internet Protocol version 6 (IPv6)is its use of much larger addresses.The size of an address in IPv6 is 128 bits,a bit-string that is four times longer than the 32-bit IPv4 address.A 32-bit address space allows for 232,or 4,294,967,296, possible addresses.A 128-bit address space allows for 2128,or 340,282,366,920,938,463,463. 374,607,431,768,211,456(3.4×1038or340 undecillion),possible addresses. In the late 1970s,when the IPv4 address space was designed,it was unimaginable that it could ever be exhausted.However,the administrative procedures that defined address alloca- tion did not anticipate the recent explosion of hosts on the Internet.The IPv4 address space was thus consumed to the point that,by 1992,it was clear a replacement would be necessary. With IPv6,it is even more difficult to conceive that the IPv6 address space will ever be con- sumed.To help put this number in perspective,a128-bit address space provides6.65×1023 addresses for each square meter of the Earth's surface. It is important to remember that the decision to make the IPv6 address 128 bits in length was not so that every square meter of the Earth could have6.65×1023 addresses.Rather,the relatively large size of the IPv6 address is designed to be divided into hierarchical unicast routing domains that reflect the topology of the modern-day Internet.The use of 128 bits allows for multiple levels of hierarchy and flexibility in designing hierarchical unicast addressing and routing that is currently lacking on the IPv4-based Internet. 49
! "#$%& '( !() * #*) ))+ ,- . /0123450 670 89:; >30114E@ 30114E@ 30F4K01O . P@LN0301 EF L@4203FE3N 546QC0:0C 1L5@0664@D E@ 670 1L5@06 4=0@64F403 >E364E@ EF 30F4KO . R416 61 506A00@ 89:S <==301101 <@= 89:; <==301101O TU VWXY Z[\ ]^_` ^abc^d_ ec_`cfgdc_[cfg h\i`dj\ ^h kf`\jf\` lj^`^m^n b\j_c^f o pklboq c_ c`_ d_\ ^h ]dm[ nijg\j ieej\__\_J Z[\ _cr\ ^h if ieej\__ cf klbo c_ stu ac`_v i ac`w_`jcfg `[i` c_ h^dj `c]\_ n^fg\j `[if `[\ xtwac` klby ieej\__J z xtwac` ieej\__ _{im\ inn^|_ h^j txtv ^j yvt}yv}o~vt}ov {^__can\ ieej\__\_J z stuwac` ieej\__ _{im\ inn^|_ h^j tstuv ^j xyvtutvxoov}tv}xuvyoxvyoxv x~yvo~vyxsv~ouvtssvyo pxJy sxu ^j xy dfe\mcnnc^fqv {^__can\ ieej\__\_J kf `[\ ni`\ s}~_v |[\f `[\ klby ieej\__ _{im\ |i_ e\_cgf\ev c` |i_ dfc]igcfian\ `[i` c` m^dne \b\j a\ \[id_`\eJ ^|\b\jv `[\ ie]cfc_`ji`cb\ {j^m\edj\_ `[i` e\hcf\e ieej\__ inn^miw `c^f ece f^` if`cmc{i`\ `[\ j\m\f` \{n^_c^f ^h [^_`_ ^f `[\ kf`\jf\`J Z[\ klby ieej\__ _{im\ |i_ `[d_ m^f_d]\e `^ `[\ {^cf` `[i`v a s}}tv c` |i_ mn\ij i j\{nim\]\f` |^dne a\ f\m\__ijJ c`[ klbov c` c_ \b\f ]^j\ echhcmdn` `^ m^fm\cb\ `[i` `[\ klbo ieej\__ _{im\ |cnn \b\j a\ m^fw _d]\eJ Z^ [\n{ {d` `[c_ fd]a\j cf {\j_{\m`cb\v i stuwac` ieej\__ _{im\ {j^bce\_ oJo stx ieej\__\_ h^j \im[ _dij\ ]\`\j ^h `[\ ij`[_ _djhim\J k` c_ c]{^j`if` `^ j\]\]a\j `[i` `[\ e\mc_c^f `^ ]i\ `[\ klbo ieej\__ stuac`_ cf n\fg`[ |i_ f^` _^ `[i` \b\j _dij\ ]\`\j ^h `[\ ij`[ m^dne [ib\ oJo stx ieej\__\_J i`[\jv `[\ j\ni`cb\nnijg\ _cr\ ^h `[\ klbo ieej\__ c_ e\_cgf\e `^ a\ ecbce\e cf`^ [c\jijm[cmin dfcmi_` j^d`cfg e^]icf_ `[i` j\hn\m` `[\ `^{^n^g ^h `[\ ]^e\jfwei kf`\jf\`J Z[\ d_\ ^h stu ac`_ inn^|_ h^j ]dn`c{n\ n\b\n_ ^h [c\jijm[ ife hn\cacnc` cf e\_cgfcfg [c\jijm[cmin dfcmi_` ieej\__cfg ife j^d`cfg `[i` c_ mdjj\f`n nimcfg ^f `[\ klbywai_\e kf`\jf\`J
50 Understanding IPv6,Second Edition It is easy to get lost in the vastness of the IPv6 address space.As we will discover,the unthink- ably large 128-bit IPv6 address that is assigned to an interface on a typical IPv6 host is com- posed of a 64-bit subnet prefix and a 64-bit interface identifier(a 50-50 split between subnet space and interface space).The 64 bits of subnet prefix leave enough addressing room to satisfy the addressing requirements of the levels of Internet service providers(ISPs)between your organization and the backbone of the Internet and the addressing needs of your organi- zation.The 64 bits of interface identifier accommodate the mapping of current and future link-layer media access control (MAC)addresses. IPv6 Address Syntax IPv4 addresses are represented in dotted-decimal format.The 32-bit IPy4 address is divided along 8-bit boundaries.Each set of 8 bits is converted to its decimal equivalent and separated by periods.For IPv6,the 128-bit address is divided along 16-bit boundaries,and each 16-bit block is converted to a 4-digit hexadecimal number and separated by colons.The resulting representation is called colon hexadecimal. The following is an IPv6 address in binary form: 0010000000000001000011011011100000000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 The 128-bit address is divided along 16-bit boundaries: 0010000000000001000011011011100000000000000000000010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 Each 16-bit block is converted to hexadecimal and delimited with colons.The result is the fol- lowing: 2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A IPv6 address representation is further simplified by suppressing the leading zeros within each 16-bit block.However,each block must have at least a single digit.With leading zero suppres- sion,the result is the following: 2001:DB8:0:2F3B:2AA:FfF:FE28:9C5A Number System Choice for IPv6 IPv6 uses hexadecimal(the Base 6 numbering system),rather than decimal(the Base1o numbering system),because it is easier to convert between hexadecimal and binary than it is to convert between decimal and binary.Each hexadecimal digit represents four binary digits
! " #! $ " %#& ''( )*+ , - - '*#(. " /!"!01 2 ( 34512 %#& ''( " !' ! !($* ! )* %#& " *61 )' $ &712 /2! )($8 !' &712 !($* '!$( 9 :;1:; ) 2-! /2! )* !' !($* )*/(6! $ " # $ !(! (#* )(#'( 9?%/# ! !' )(' 2 )('+ T( %#&. " 34512 ''( '#'' ! 3&12 2/!'(. !' *" 3&12 2 *0 *!#(' 71' "8'*6 !/62( !' )(' 2 * !+ =" (/ ! ()(!! * ' UVWVX YZ[\]ZU^_\W+ =" $ -! ! %#& ''( ! 2!( $(6` aabaaaaaaaaaaaabaaaabbabbabbbaaaaaaaaaaaaaaaaaaaaababbbbaabbbabb aaaaaabababababaaaaaaaaabbbbbbbbbbbbbbbaaababaaabaabbbaaababbaba =" 34512 ''( '#'' ! 3&12 2/!'(` aabaaaaaaaaaaaab aaaabbabbabbbaaa aaaaaaaaaaaaaaaa aababbbbaabbbabb aaaaaabababababa aaaaaaaabbbbbbbb bbbbbbbaaababaaa baabbbaaababbaba S*" 3&12 2 *0 *!#(' "8'*6 !' ' 6' -" * !+ =" (/ " $ 1 -!` caabdaefgdaaaadchifdacjjdaahhdhkcgdlmnj %#& ''( ()(!! $/("( 6) $' 2 /))(! " '! @( -"! *" 3&12 2 *0+ o-#(. *" 2 *0 6/ "# ! '+ p" '! @( /))(1 !. " (/ " $ -!` caabdefgdadchifdcjjdhhdhkcgdlmnj qrstJI LMKOJs uvwxyJ zwI CDEF %#& / "8'*6 9" {3& !/62(! 6<. ("( "! '*6 9" {3; !/62(! 6<. 2*/ ( *!#( 2-! "8'*6 !' 2!( "! *!#( 2-! '*6 !' 2!(+ S*" "8'*6 ' ()(! $/( 2!( '+
Chapter 3 IPv6 Addressing 51 With IPv4,decimal is used to make the IPv4 addresses more palatable for humans and a 32-bit address becomes 4 decimal numbers separated by the period (.)character.With IPv6, dotted-decimal representation would result in 16 decimal numbers separated by the period (.)character.IPv6 addresses are so large that there is no attempt to make them palatable to most humans.Configuration of typical end systems is automated,and end users will almost always use names rather than IPv6 addresses.Therefore,the addresses are expressed in a way to make them more palatable to computers and IPv6 network administrators who understand the semantics and relationship of hexadecimal and binary numbers. Table 3-1 lists the conversion between binary,hexadecimal,and decimal numbers. Table 3-1 Converting Between Binary,Hexadecimal,and Decimal Numbers Binary Hexadecimal Decimal 0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 1 7 1000 8 8 1001 9 9 1010 A 10 1011 B 11 1100 ( 12 1101 13 1110 E 14 1111 F 15 Compressing Zeros Some types of IPv6 addresses contain long sequences of zeros.To further simplify the representation of IPv6 addresses,a single contiguous sequence of 16-bit blocks set to 0 in the colon hexadecimal format can be compressed to :known as a double colon.For example. the link-local address of FE80:0:0:0:2AA:FF:FE9A:4CA2 can be compressed to FE80::2AA:FF: FE9A:4CA2.The multicast address FF02:0:0:0:0:0:0:2 can be compressed to FF02::2. Note You cannot use zero compression to include part of a 16-bit block.For example,you cannot express FF02:30:0:0:0:0:0:5 as FF02:3::5,but FF02:30::5 is correct
!"#$%&% '"#( #) %% %"') *#$##+$ ,')&"#-%#-# ./0+#) %%+ !'" % !"#$-&"+ )%% *#)# +1 * )'234!#)#! )35 ' 0 !"#$) *) % -#'-6'&$) %&$-75 !"#$-&"+ )%% *#)# +1 * )' 234!#)#! )35#) %% %#) %'$#)8 # ) %-'# "*'"#( "*#$##+$ ' "'%&"#-%39'-,8&)#'-',1*!#$ -%1% "%%#&'"# #- -&% )%6$$#$"'% #$6#1%&% -#" %)# )#-5#) %% %3: ) ,') #) %% %#) ;*) %% -# 6#1'"#( ""') *#$##+$ '!'"*& )%#-5- 6')(#"-%)#')%6' &- )%#- % "#-!%#-) $#'-%*', ;# !"#$#-+-#)1-&"+ )%3 :#+$ .07$%% !'- )%'-+ 6 -+-#)1 ;# !"#$#- !"#$-&"+ )%3 < ?'" 1* %',5#) %% %!'-#-$'-8% @& -! %',A )'%3:',&) )%"*$,1 ) *) % -#'-',5#) %% %#%-8$ !'-8&'&%% @& -! ',750++$'!(%% 'B- !'$'- ;# !"#$,')"#!#-+ !'"*) %% 'CC(-'6-#%#DEFGHIJEHEK3L') ;#"*$ $-(0$'!#$#) %%',LMNBCBCBCBC/OOCLLCLMPOC9O/!#-+ !'"*) %% 'LMNBCC/OOCLLC LMPOC9O/3: "&$!#%#) %%LLB/CBCBCBCBCBCBC/!#-+ !'"*) %% 'LLB/CC/3 Q< RSTUVWWSXTYZ[Z\SUS]^\ZYY_SWXS_WU`TaZ^V\XSbVcdef_Xf`SUghiS\ZjV]^`ZklST UVWWSXZj^\ZYYiimnopmomomomomomoqVYiimnopooqkfTXiimnopmooq_YUS\\ZUXh rst uv <wxwyz{|}=tz~}=tQ=s wy {|}=t ~}=t
52 Understanding IPv6,Second Edition How Many Blocks or Bits in : To determine how many 0 blocks are represented by the::,you can count the number of blocks in the compressed address and subtract this number from 8.To determine how many 0 bits are represented by the::,multiply the number of blocks the::represents by 16.For example,in the address FF02:2,there are two blocks(the "FF02"block and the "2"block).The number of blocks expressed by the :is 6(8-2).The number of bits expressed by the::is 96(96=6x 16).Zero compression can be used only once in a given address.Otherwise,you could not determine the number of0 blocks or bits represented by each instance of :: IPv6 Prefixes The prefix is the part of the address where the bits have fixed values or are the bits that define a route or subnet.Prefixes for IPv6 subnets and summarized routes are expressed in the same way as Classless Inter-Domain Routing (CIDR)notation for IPv4.An IPv6 prefix is written in address/prefix-length notation. For example,2001:DB8:2A0:2F3B::/64 is a subnet prefix and 2001:DB8:3F::/48 is a summa- rized route prefix.As described earlier in this chapter,the 64-bit prefix is used for individual subnets to which nodes are attached.All subnets have a 64-bit prefix.Any prefix that is less than 64 bits is a summarized route or an address range that is summarizing a portion of the IPv6 address space. Note IPv4 implementations commonly use a dotted-decimal representation of the prefix length known as the subnet mask.A subnet mask is not used for IPv6.Only the prefix length notation is supported. An IPv6 prefix is relevant only for routes or address ranges,not for individual unicast addresses.In IPv4,it is common to express an IPv4 address with its prefix length.For exam- ple,192.168.29.7/24 (equivalent to 192.168.29.7 with the subnet mask 255.255.255.0) denotes the IPv4 address 192.168.29.7 with a 24-bit subnet mask.Because IPv4 addresses are no longer class-based,you cannot assume the class-based subnet mask based on the value of the leading octet.The prefix length is included so that you can determine which bits identify the subnet and which bits identify the host on the subnet.Because the number of bits used to identify the subnet in IPv4 is variable,the prefix length is needed to separate the subnet prefix from the host ID. In common IPv6 practice,however,there is no notion of a variable-length subnet prefix.At the individual IPv6 subnet level for currently defined unicast IPv6 addresses,the number of bits used to identify the subnet is always 64 and the number of bits used to identify the host on the subnet is always 64.Therefore,while unicast IPv6 addresses written with their prefix lengths
!" # $%" $ &&' () *+,+-./0+ 1)2 .304 5 67)89: 3-+ -+;-+:+0,+* 64 ,1+ 830 8)>0, ,1+ 0>.6+- )? 67)89: /0 ,1+ 8).;-+::+* 3**-+:: 30* :>6,-38, ,1/: 0>.6+- ?-). @A () *+,+-./0+ 1)2 .304 5 6/,: 3-+ -+;-+:+0,+* 64 ,1+ 7,/;74 ,1+ 0>.6+- )? 67)89: ,1+ .6+- )? 67)89: +E;-+::+* 64 ,1+ .6+- )? 6/,: +E;-+::+* 64 ,1+ :+* )074 )08+ /0 3 P/Q+0 3**-+::A R,1+-2/:+= 4)> 8)>7* 0), *+,+-./0+ ,1+ 0>.6+- )? 5 67)89: )- 6/,: -+;-+:+0,+* 64 +381 /0:,308+ )? +: )- 3-+ ,1+ 6/,: ,13, *+?/0+ 3 -)>,+ )- :>60+,A U-+?/E+: ?)- VUQC :>60+,: 30* :>..3-/W+* -)>,+: 3-+ +E;-+::+* /0 ,1+ :3.+ 234 3: X73::7+:: V0,+-YZ).3/0 [)>,/0P GXVZ[J 0),3,/)0 ?)- VUQ\A ]0 VUQC ;-+?/E /: 2-/,,+0 /0 ^__`abbcd`aefghiajklm 0),3,/)0A D)- +E3.;7+= F55B60+, ;-+?/E 30* F55B..3Y -/W+* -)>,+ ;-+?/EA ]: *+:8-/6+* +3-7/+- /0 ,1/: 813;,+-= ,1+ C\Y6/, ;-+?/E /: >:+* ?)- /0*/Q/*>37 :>60+,: ,) 21/81 0)*+: 3-+ 3,,381+*A ]77 :>60+,: 13Q+ 3 C\Y6/, ;-+?/EA ]04 ;-+?/E ,13, /: 7+:: ,130 C\ 6/,: /: 3 :>..3-/W+* -)>,+ )- 30 3**-+:: -30P+ ,13, /: :>..3-/W/0P 3 ;)-,/)0 )? ,1+ VUQC 3**-+:: :;38+A p qrst uvwxyvyz{|{u}z~ }vv}zx ~y | }{{yyuv|x ywy~yz{|{u}z } {y wy u xyz{ z}z |~ {y ~zy{ v|~ u~ z}{ ~y } qrs zx {y wy u xyz{ z}{|{u}z u~ ~ww}{y ]0 VUQC ;-+?/E /: -+7+Q30, )074 ?)- -)>,+: )- 3**-+:: -30P+:= 0), ?)- /0*/Q/*>37 >0/83:, 3**-+::+:A V0 VUQ\= /, /: 8)..)0 ,) +E;-+:: 30 VUQ\ 3**-+:: 2/,1 /,: ;-+?/E 7+0P,1A D)- +E3.Y ;7+= BLFABC@AFLAcF\ G+>/Q37+0, ,) BLFABC@AFLA 2/,1 ,1+ :>60+, .3:9 FAFAFA5J *+0),+: ,1+ VUQ\ 3**-+:: BLFABC@AFLA 2/,1 3 F\Y6/, :>60+, .3:9A n+83>:+ VUQ\ 3**-+::+: 3-+ 0) 7)0P+- 873::Y63:+*= 4)> 8300), 3::>.+ ,1+ 873::Y63:+* :>60+, .3:9 63:+* )0 ,1+ Q37>+ )? ,1+ 7+3*/0P )8,+,A (1+ ;-+?/E 7+0P,1 /: /087>*+* :) ,13, 4)> 830 *+,+-./0+ 21/81 6/,: /*+0,/?4 ,1+ :>60+, 30* 21/81 6/,: /*+0,/?4 ,1+ 1):, )0 ,1+ :>60+,A n+83>:+ ,1+ 0>.6+- )? 6/,: >:+* ,) /*+0,/?4 ,1+ :>60+, /0 VUQ\ /: Q3-/367+= ,1+ ;-+?/E 7+0P,1 /: 0++*+* ,) :+;3-3,+ ,1+ :>60+, ;-+?/E ?-). ,1+ 1):, VZA V0 8)..)0 VUQC ;-38,/8+= 1)2+Q+-= ,1+-+ /: 0) 0),/)0 )? 3 Q3-/367+Y7+0P,1 :>60+, ;-+?/EA ], ,1+ /0*/Q/*>37 VUQC :>60+, 7+Q+7 ?)- 8>--+0,74 *+?/0+* >0/83:, VUQC 3**-+::+:= ,1+ 0>.6+- )? 6/,: >:+* ,) /*+0,/?4 ,1+ :>60+, /: 37234: C\ 30* ,1+ 0>.6+- )? 6/,: >:+* ,) /*+0,/?4 ,1+ 1):, )0 ,1+ :>60+, /: 37234: C\A (1+-+?)-+= 21/7+ >0/83:, VUQC 3**-+::+: 2-/,,+0 2/,1 ,1+/- ;-+?/E 7+0P,1:
Chapter 3 IPv6 Addressing 53 are permitted in RFC 4291,in practice their prefix lengths are always 64 and therefore do not need to be expressed.For example,there is no need to express the IPv6 unicast address 2001:DB8::2AC4:2AA:FF:FE9A:82D4 as 2001:DB8::2AC4:2AA:FF:FE9A:82D4/64.Because of the 50-50 split of subnet prefixes and interface identifiers,the unicast IPv6 address 2001:DB8::2AC4:2AA:FF:FE9A:82D4 implies that the subnet prefix is 2001:DB8:0:0:2AC4:/64. Note Address prefixes with a prefix length longer than 64 bits can be used for point-to- point links between routers. Types of IPv6 Addresses There are three types of IPv6 addresses: Unicast A unicast address identifies a single interface within the scope of the type of address.The scope of an address is the region of the IPv6 network over which the address is unique.With the appropriate unicast routing topology,packets addressed to a unicast address are delivered to a single interface.To accommodate load-balancing systems,RFC 4291 allows for multiple interfaces to use the same address as long as they appear as a single interface to the IPv6 implementation on the host. Multicast A multicast address identifies zero or more interfaces on the same or different hosts.With the appropriate multicast routing topology,packets addressed to a multicast address are delivered to all interfaces identified by the address. Anycast An anycast address identifies multiple interfaces.With the appropriate unicast routing topol- ogy,packets addressed to an anycast address are delivered to a single interface-the nearest interface that is identified by the address.The nearest interface is defined as being the closest in terms of routing distance.A multicast address is used for one-to-many communication, with delivery to multiple interfaces.An anycast address is used for one-to-one-of-many communication,with delivery to a single interface. In all cases,IPv6 addresses identify interfaces,not nodes.A node is identified by any unicast address assigned to any one of its interfaces. Note RFC 4291 does not define a broadcast address.All types of IPv4 broadcast addressing are performed in IPv6 using multicast addresses.For example,the subnet and limited broadcast addresses from IPv4 are replaced with the link-local scope all-nodes multicast address of FF02::1
!"#$%&''()*+,(-+./-0"()111 12*--3 1*+&(-11*--(45607'--- #88%9:;$=9$=9$=9<#:"+-((-72)*-#88%9:;<98989#=!"99?0"3 BC DEEFGHHIFGJKLGHMKNOPIFGJKLQGRSNOQTRSGFNOPRUVWKNHXPRWGYHGEJTFITKRNZNTZ ITKRNQKR[HWGNMGGRFTYNGFH\ ]^_`abcdefghiij`aa`a k((/-1)4560---9 lmnopqr =7'---)--,+)'.((-'11)(/1)--3k( -'11)---(,11)(4560.1s16.('((---7t73u( (17'-17,11+1,/&'s---17'---+6 1-,+)'3k1''11+1A2+',-/--& !"#$%++1.-)17++ )'-17-(----+1,-(/--,+)'1(4560 +11((1-3 vwxrnopqr =7+'---)-y111)'-1(-1))(1--3u(( 17+'-17,11+1,/&'s---17+'---+6 1++)'-)2/(--3 zm{opqr =/'---)-7++)'-3u((17'-17,11+A 1,/&'s---1/'---+61-,+)'|(- )'(-)2/(--3k(-)'-)-2,('+1-- -1)17,-'3=7+'----7-)11A1A/'17'1& .(+6/17++)'-3=/'----7-)11A1A1A1)A/ '17'1&.(+6/1-,+)'3 4++'--&4560---)/)'-&11-3=1-)2//7'- ----,1/11)-)'-3 BC }~VETGHRTNEGJKRGPWFTPEXPHNPEEFGHH\DQQNIGHTJ VWFTPEXPHNPEEFGHHKRS PFGIGFJTFGEKR UYHKRSYQNKXPHNPEEFGHHGH\~TFGLPIQGNOGHYWRGNPREQKKNGE WFTPEXPHNPEEFGHHGHJFT VPFGFGIQPXGEMKNONOGQKR[ZQTXPQHXTIGPQQZRTEGHYQNKXPHN PEEFGHHTJ~~\
54 Understanding IPv6,Second Edition Unicast IPv6 Addresses The following types of addresses are unicast IPv6 addresses: Global unicast addresses Link-local addresses Site-local addresses Unique local addresses ■Special addresses Transition addresses Global Unicast Addresses IPv6 global addresses are equivalent to public IPv4 addresses.They are globally routable and reachable on the IPv6 Internet.Global unicast addresses are designed to be aggregated or summarized for an efficient routing infrastructure.Unlike the current IPv4-based Internet. which is a mixture of both flat and hierarchical routing,the IPv6-based Internet has been designed from its foundation to support efficient,hierarchical addressing and routing.The scope of a global address is the entire IPv6 Internet. RFC 4291 defines global addresses as all addresses that are not the unspecified,loopback, link-local unicast,or multicast addresses(described later in this chapter).However,Figure 3-1 shows the structure of global unicast addresses defined in RFC 3587 that are currently being used on the IPv6 Internet. 48 bits 45 bits 16 bits 64 bits Global Routing Prefix Subnet ID Interface ID 001 Figure 3-1 The structure of global unicast addresses defined in RFC 3587 The fields in the global unicast address are described in the following list: Fixed portion set to 001 The three high-order bits are set to 001. Global Routing Prefix Indicates the global routing prefix for a specific organization's site.The combination of the three fixed bits and the 45-bit Global Routing Prefix is used to create a 48-bit site prefix,which is assigned to an individual site of an organization.A site is an autonomously operating IP-based network that is connected to the IPv6 Internet. Network architects and administrators within the site determine the addressing plan and
! "##$%% &'( )*++*,-./ 012(3 *) 4556(33(3 46( 7.-8430 9:; ?+*@4+ 7.-8430 4556(33(3 > A-.BC+*84+ 4556(33(3 > D-0(C+*84+ 4556(33(3 > E.-F7( +*84+ 4556(33(3 > D2(8-4+ 4556(33(3 > &64.3-0-*. 4556(33(3 GHI H J 9:; ^{ | }}b &'( 0'6(( '-/'C*65(6 @-03 46( 3(0 0* ~~VL > GHI H _ { 9.5-840(3 0'( /+*@4+ 6*70-./ 26()-P )*6 4 32(8-)-8 *6/4.-N40-*.3 3-0(L &'( 8*M@-.40-*. *) 0'( 0'6(( )-P(5 @-03 4.5 0'( K[C@-0 ?+*@4+ Q*70-./ :6()-P -3 73(5 0* 86(40( 4 K\C@-0 3-0( 26()-PO ,'-8' -3 433-/.(5 0* 4. -.5-;-574+ 3-0( *) 4. *6/4.-N40-*.L 3-0( -3 4. 470*.*M*73+1 *2(640-./ 9:C@43(5 .(0,*6B 0'40 -3 8*..(80(5 0* 0'( 9:;< 9.0(6.(0L (0,*6B 468'-0(803 4.5 45M-.-30640*63 ,-0'-. 0'( 3-0( 5(0(6M-.( 0'( 4556(33-./ 2+4. 4.5
Chapter 3 IPv6 Addressing 55 routing policy for the organization network.Once assigned,routers on the IPv6 Internet forward IPv6 traffic matching the 48-bit prefix to the routers of the organization's site. Subnet ID The Subnet ID is used within an organization's site to identify subnets within its site.The size of this field is 16 bits.The organization's site can use these 16 bits within its site to create 65,536 subnets or multiple levels of addressing hierarchy and an efficient routing infrastructure.With 16 bits of subnetting flexibility,a global unicast pre fix assigned to an organization site is equivalent to a public IPv4 Class A address prefix (assuming that the last octet is used for identifying nodes on subnets).The routing struc- ture of the organization's network is not visible to the ISP. Interface ID Indicates the interface on a specific subnet within the site.The size of this field is 64 bits.The interface ID in IPv6 is equivalent to the node ID or host ID in IPv4. Trillions of Sites Another way to gauge the practical size of the IPv6 address space is to examine the num- ber of sites that can connect to the IPv6 Internet.With the current allocation practice defined in RFC 3587 of 48-bit global address prefixes,it is possible to define 245 or 35,184,372,088,832 possible 48-bit prefixes to assign to sites connected to the IPv6 Internet.There are more IPv6 sites than possible IPv4 addresses.This large number of sites is possible even when we are using only one-eighth of the entire IPv6 address space. By comparison,using the Internet address classes originally defined for IPv4,it was pos- sible to assign 2,113,389 address prefixes to organizations connected to the Internet. The number 2,113,389 is derived from adding up all the possible Class A,Class B,and Class C address prefixes and then subtracting the prefixes used for the private address space.Even with the adoption of CIDR to make more efficient use of unassigned Class A and Class B address prefixes,the number of possible sites connected to the Internet is not substantially increased,nor does it approach the number of possible sites that can be connected to the IPv6 Internet. Topologies Within Global Addresses The fields within the global address create a three-level topological structure,as shown in Figure 3-2. -001 Global Routing Prefix Subnet ID Interface ID 48 bits 16 bits 64 bits Public Topology Site Interface ldentifier Topology Figure 3-2 The topological structure of the global address
!"#$#"%&'("#))"*+")!",-./,"" %#*,-./# 0#!!"1234" 5!"") !"#$#6))"' 7 89: ; ))"*%!##$#6))"*" )4") %!))"',-./)"C.#"!"*",>!),>,-.1' JKLMMLNOPNQRLSTP E!"%##"!"##)$" !",-./#**")))#")"5#0"!"03 4" )")!##"!",-./,""'B!!""###" *" "*UVDA@2W 12344##**"))" 5")+)))4"*" "X1@ A@+?21+AWX+Y22+2AX))4"1234" 5")#)))")""*!",-./ ,""'U0#&"0"" ")" #))"*D#)) E#*D#))Z#**"))" 5")+!"04" ))4")")""*!","") )4)##"#)"*+*")##!!"04" ))4")")!##4" ""*!",-./,""' ]^^_^`a_^:_ <!" "*)%!!"4##**"))"#"#!""3"."#)"+#))!% V"A3X' b9 cd efghijikilmnokphqrnhrqgishfglkitokouuqgpp vwxyz{ |}x~y~ xyz{ yz ~ vxyz{ zzyy ~x~}zy|y }xz z
56 Understanding IPv6,Second Edition The public topology is the collection of larger and smaller ISPs that provide access to the IPv6 Internet.The site topology is the collection of subnets within an organization's site.The interface identifier specifies a unique interface on a subnet within an organization's site. Local-Use Unicast Addresses Local-use unicast addresses do not have a global scope and can be reused.There are two types of local-use unicast addresses: 1.Link-local addresses are used between on-link neighbors and for Neighbor Discovery processes. 2.Site-local addresses are used between nodes communicating with other nodes in the same organization. Link-Local Addresses IPv6 link-local addresses,identified by the initial 10 bits being set to 1111 1110 10 and the next 54 bits set to 0,are used by nodes when communicating with neighboring nodes on the same link.For example,on a single-link IPv6 network with no router,link-local addresses are used to communicate between hosts on the link.IPv6 link-local addresses are similar to IPv4 link-local addresses defined in RFC 3927 that use the 169.254.0.0/16 prefix.The use of IPv4 link-local addresses is known as Automatic Private IP Addressing (APIPA)in Windows Vista,Windows Server 2008,Windows Server 2003,and Windows XP.The scope of a link- local address is the local link Figure 3-3 shows the structure of the link-local address. 10 bits 54 bits 64 bits 000.000 Interface ID -1111111010 Figure 3-3 The structure of the link-local address A link-local address is required for some Neighbor Discovery processes and is always automat- ically configured,even in the absence of all other unicast addresses.For more information about the address autoconfiguration process for link-local addresses,see Chapter 8,"Address Autoconfiguration. Link-local addresses always begin with FE80.With the 64-bit interface identifier,the prefix for link-local addresses is always FE80::/64.An IPv6 router never forwards link-local traffic beyond the link
!!!"# $ ! !% !& '("( '%) $*'( +,-$ ' (!.) '$$ ! +-./ +% (% 0 $ !!!"# $ ! !% !& $% $ 1 % '% !("'%2' !%3$ $ 0 % (&')% &( $&$ ' %4 % (&' !% ' $% 1 % '% !("'%2' !%3$ $ 0 5 67 8 9!':$ %'$ '))($$$ )! %! '. ' "!' $! '%) '% ($)0 ( '( 1! #$ !& !':$ %'$ '))($$$; :!' '))($$$ '( $) 1% !%:%> %"!($ '%) &!( ?"!( @$!.(# (!$$$0 A= , :!' '))($$$ '( $) 1% %!)$ !**%' %" 1 ! ( %!)$ % $'* !("'%2' !%0 5B75 6 8 +-./ %>:!' '))($$$C )% &) # % ' DE $ %" $ ! DDDD DDDE DE '%) %F GH $ $ ! EC '( $) # %!)$ 1% !**%' %" 1 %"!(%" %!)$ !% $'* %>0 I!( F'*C !% ' $%":%> +-./ % 1!(> 1 %! (! (C %>:!' '))($$$ '( $) ! !**%' 1% !$ $ !% %>0 +-./ %>:!' '))($$$ '( $*'( ! +-.H%>:!' '))($$$ )&%) % JIK LMNO ' $ D/M0NGH0E0EPD/ (&F0 $ !&+-.H %>:!' '))($$$ $ >%!1% '$ Q !*' -(.' +- Q))($$%" RQ-+-QS % T%)!1$ U$ 'C T%)!1$ ,(.( NEEVC T%)!1$ ,(.( NEELC '%) T%)!1$ W-0 $! !& ' %>: !' '))($$ $ !' %>0 I"( L:L $!1$ $ ( ( !& %>:!' '))($$0 XY Z7Z [\] ^_`ab_a`] cd _\] efghiecbje jkk`]^^ Q %>:!' '))($$ $ (4() &!( $!* ?"!( @$!.(# (!$$$ '%) $ '1'#$ ' !*' : '# !%&"()C .% % '$% !& ' ! ( %'$ '))($$$0 I!( *!( %&!(*' !% '! '))($$ ' !!%&"(' !% (!$$ &!( %>:!' '))($$$C $ K' ( VC lQ))($$ Q !!%&"(' !%0m 9%>:!' '))($$$ '1'#$ "% 1 InVE0 T /H: % (&' )% &(C (&F &!( %>:!' '))($$$ $ '1'#$ InVE;;P/H0 Q% +-./ (! ( %.( &!(1'()$ %>:!' ('&& #!%) %>0 op qrst uv qrst wv qrst ppp ppp xysz{|}~z x oooo ooop op
Chapter 3 IPv6 Addressing 57 Site-Local Addresses Site-local addresses,identified by setting the first 10 bits to 1111 1110 11,are equivalent to the IPv4 private address space(10.0.0.0/8,172.16.0.0/12,and 192.168.0.0/16).For example,pri vate intranets that do not have a direct,routed connection to the IPv6 Internet can use site- local addresses without conflicting with global addresses.Site-local addresses are not reach- able from other sites,and routers must not forward site-local traffic outside the site.Site-local addresses can be used in addition to global addresses.The scope of a site-local address is the site. Figure 3-4 shows the structure of the site-local address. 10 bits 54 bits 64 bits Subnet ID Interface ID 1111111011 Figure 3-4 The structure of the site-local address Unlike link-local addresses,site-local addresses are not automatically configured and must be assigned either through stateless or stateful address autoconfiguration.For more information, see Chapter 8. The first 10 bits are always fixed for site-local addresses,beginning with FECO:/10.After the 10 fixed bits is a 54-bit Subnet ID field that provides 54 bits with which you can create subnets within your organization.You can have a flat subnet structure,or you can divide the high- order bits of the Subnet ID field to create a hierarchical and summarizable routing infrastruc- ture.After the Subnet ID field is a 64-bit Interface ID field that identifies a specific interface on a subnet. Site-local addresses have been formally deprecated in RFC 3879 for future IPv6 implementations. However,existing implementations of IPv6 can continue to use site-local addresses. Zone IDs for Local-Use Addresses Unlike global addresses,local-use addresses (link-local and site-local addresses)can be reused.Link-local addresses are reused on each link.Site-local addresses can be reused within each site of an organization.Because of this address reuse capability,link-local and site-local addresses are ambiguous.To specify the link on which the destination is located or the site within which the destination is located,an additional identifier is needed.This additional identifier is a zone identifier(ID),also known as a scope ID,which identifies a connected por- tion of a network that has a specified scope
!"#$!$%%&'''(%)*%+,')-.*&'/0+'"///////0//($&123$!)". 45367&3$$%%&'''7$#8/0909090:;(/9090:/=($)%/?=9/>;9090:/>@9A"&B$C7!(7& 3$)&$)'.$%")".$3$%&#(&"2%#"))#")".453>4)&)#$)2'' !"#$!$%%&'''D."2#")*!#)-D.-!"+$!$%%&'''9 !"#$!$%%&'''$&)"&$#. $+!*&"C".&''($)%&"2&'C2')"*"&D$&%' !"#$!&$**#"2'%.'9 !"#$! $%%&'''#$)+2'%)$%%")"-!"+$!$%%&'''9E.'#"7"*$' !"#$!$%%&'''. '9 A-2&F 6'."D'.'&2#2&"*.' !"#$!$%%&''9 GH I JKLMNOPQNPOLRSNKLMTNLUVRQWVWXXOLMM Y)!Z!)Z !"#$!$%%&'''(' !"#$!$%%&'''$&)"$2"C$#$!!,#")*-2&%$)%C2'+ $''-)%.&.&"2-.'$!''"&'$*2!$%%&''$2"#")*-2&$")9A"&C"&)*"&C$")( '[.$7&;9 E.*&'/0+'$&$!D$,'*B%*"&' !"#$!$%%&'''(+-)))-D.A\[0]]:/09^*&. /0*B%+''$_6 +2+)4`*!%.$7&"3%'_6+'D.D.#.,"2#$)#&$'2+)' D.),"2&"&-$)a$")9b"2#$).$3$*!$'2+)'&2#2&("&,"2#$)%3%..-. "&%&+'"*.2+)4`*!%"#&$$.&$&#.#$!$)%'2CC$&a$+!&"2)-)*&$'&2# 2&9^*&.2+)4`*!%'$>6 +4)&*$#4`*!%.$%)*'$'7#*#)&*$#") $'2+)9 !"#$!$%%&'''.$3+)*"&C$!!,%7&#$%)cA[F;C7!C)$")'9 d"D3&(B')-C7!C)$")'"*453>#$)#"))2"2'' !"#$!$%%&'''9 e fgh Y)!Z-!"+$!$%%&'''(!"#$! 2'$%%&'''8!)Z !"#$!$)%' !"#$!$%%&'''@#$)+ &2'%9i)Z !"#$!$%%&'''$&&2'%")$#.!)Z9 !"#$!$%%&'''#$)+&2'%D.) $#.'"*$)"&-$)a$")9j#$2'"*.'$%%&''&2'#$7$+!,(!)Z !"#$!$)%' !"#$! $%%&'''$&$C+-2"2'9E"'7#*,.!)Z")D.#..%')$")'!"#$%"&.' D.)D.#..%')$")'!"#$%($)$%%")$!%)*&')%%9E.'$%%")$! %)*&'$a")%)*&84`@($!'"Z)"D)$'$'#"74`(D.#.%)*'$#"))#%7"& ")"*$)D"&Z.$.$'$'7#*%'#"79 klmnop qrmnop srmnop |}muvot{ tuovwxyzvt{ kkkkkkklkk
58 Understanding IPv6,Second Edition The syntax specified in RFC 4007 for identifying the zone associated with a local-use address is Address%zone ID.in which Address is a local-use unicast IPv6 address and zone ID is an integer value representing the zone.The values of the zone ID are defined relative to the sending host.Therefore,different hosts might determine different zone ID values for the same physical zone.For example,Host A might choose 3 to represent the zone of an attached link and Host B might choose 4 to represent the same link. For Windows-based IPv6 hosts,the zone IDs for link-local and site-local addresses are defined as follows: For link-local addresses,the zone ID is typically the interface index of the interface either assigned the address or to be used as the sending interface for a link-local destination. The interface index is an integer starting at 1 that is assigned to IPv6 interfaces,which include a loopback and one or multiple LAN or tunnel interfaces.Multiple interfaces can have the same link-local zone ID if they are attached to the same link.You can view the list of interface indexes from the display of the netsh interface ipv6 show interface command.You must include a zone ID with a link-local destination. For site-local addresses,the zone ID is the site ID,an integer assigned to the site of an organization.For organizations that do not reuse the site-local address prefix,the site ID is set to I by default and does not need to be specified.In Windows,you can view the site ID from the display of the netsh interface ipv6 show address level=verbose command. The following are examples of using Windows tools and the zone ID: ping fe80::2b0:doff:fee9:4143%3 In this case,3 is the interface index of the interface attached to the link containing the destination address. tracert feco::f282:2b0:doff:fee9:4143%2 In this case,2 is the site ID of the organization site containing the destination address. In Windows Vista and Windows Server 2008,the Ipconfig.exe tool displays the zone ID of local-use IPv6 addresses.The following is an excerpt from the display of the ipconfig com- mand: Ethernet adapter Local Area Connection: Connection-specific DNS Suffix.:ecoast.example.com IPv6 Address,··,·,,·,·,:2001:db8:21da:7:713e:a426:d167:37ab Temporary IPv6 Address......:2001:db8:21da:7:5099:ba54:9881:2e54 Link-local IPv6 Address.....:fe80::713e:a426:d167:37ab%6 IPv4 Address.····,····,:157.60.14.11 Subnet Mask······,.···:255.255.255.0 Default Gateway.........fe80:20a:42ff:feb0:5400%6 157,60.14.1 For the link-local addresses in the display of the ipconfig command,the zone ID indicates the interface index of the interface either assigned the address (for Link-Local IPv6 Address)or the interface through which an address is reachable(for Default Gateway)
!"#"$ " %&' ())* #+, "$"#"- .+ +!"$ /" 0+!012 $$, " 344567789:;6? " /"! 3445677 " 0+!012 2"! @ABC $$, $ 9:;6 " "-, B02 , ,"- .+D B02 +# .+ @E , $#"$ ,0"B + $"-+D ,#+,? $"##, + F"- $,F" $"##, .+ @E B02 #+, F "!0 .+D &+, F 0? G+ H F"- !++ I + , , .+ +# !$ 0"J $ G+ K F"- !++ ( + , , F 0"JD &+, L"$+/1M$ @ABC +? .+ @E #+, 0"J10+!0 $ "10+!0 $$, , $#"$ #+00+/N O &+, 0"J10+!0 $$,? .+ @E " "!00 ",#! "$ +# ",#! ", "-$ $$, +, + M 2$ $"- ",#! #+, 0"J10+!0 $""+D ",#! "$ " "-, ,"- P " "-$ + @ABC ",#!? /"! "!02$ 0++ M!J $ + +, F20" 0 QHR +, 20 ",#!D S20" 0 ",#! ! B F 0"J10+!0 .+ @E "# , !$ + F 0"JD T+2 ! B"/ 0" +# ",#! "$ #,+F $" 0 +# UVWXY ZUWV[\]^V Z_`a XYbc ZUWV[\]^V !+FF$D T+2 F2 "!02$ .+ @E /" 0"J10+!0 $""+D O &+, "10+!0 $$,? .+ @E " " @E? "-, "-$ + " +# +,-"."+D &+, +,-"."+ $+ + ,2 "10+!0 $$, ,#"? " @E " + P M $#20 $ $+ + $ + M !"#"$D @ L"$+/? +2 ! B"/ " @E #,+F $" 0 +# UVWXY ZUWV[\]^V Z_`a XYbc ]dd[VXX eV`Vef`V[gbXV !+FF$D #+00+/"- , F 0 +# 2"- L"$+/ ++0 $ .+ @EN O h ijkllmnklkiiliolpqprsr @ " !? t " ",#! "$ +# ",#! !$ + 0"J !+""- $""+ $$,D O ikllimjmlmnklkiiliolpqprsm @ " !? u " " @E +# +,-"."+ " !+""- $""+ $$,D @ L"$+/ v" $ L"$+/ w,B, x))y? @ !+#"-D ++0 $" 0 .+ @E +# 0+!012 @ABC $$,D #+00+/"- " !, #,+F $" 0 +# Z_^bU\Zz !+F1 F$N {|}~~| |~ ~ ~| ~| ~ ~ |~~ ~ ~¡ ¢~ £ ~¤¥¥¤¡¥~¤¡ ¦ ~~ ~¡ § ¡ ~¤¡ ~| ¨¦¤¤¤¤¤¤ ~| ©|~ª£~¡~¤¡§ ¤¡ &+, 0"J10+!0 $$, " $" 0 +# Z_^bU\Zz !+FF$? .+ @E "$"! ",#! "$ +# ",#! ", "-$ $$, «#+, Q"J1Q+!0 @ABC H$$,¬ +, ",#! ,+2- /"! $$, " ,!M0 «#+, E#20 /¬D