IPv6 Subnet Cheat Sheet and IPv6 Cheat Sheet Reference

IPv6 Subnet Cheat Sheet and IPv6 Cheat Sheet Reference



The following article is aimed at providing some quick details on IPv6, which can be used as an IPv6 Subnet Cheat Sheet/Reference. Brought to your by your friendly web hosting provider Crucial.

IPv6 Subnet Size Reference Table:

IPv6 CIDR Subnet Number of IPs
/128 1
/127 2
/126 4
/125 8
/124 16
/123 32
/122 64
/121 128
/120 256
/119 512
/118 1,024
/117 2,048
/116 4,096
/115 8,192
/114 16,384
/113 32,768
/112 65,536
/111 131,072
/110 262,144
/109 524,288
/108 1,048,576
/107 2,097,152
/106 4,194,304
/105 8,388,608
/104 16,777,216
/103 33,554,432
/102 67,108,864
/101 134,217,728
/100 268,435,456
/99 536,870,912
/98 1,073,741,824
/97 2,147,483,648
/96 4,294,967,296
/95 8,589,934,592
/94 17,179,869,184
/93 34,359,738,368
/92 68,719,476,736
/91 137,438,953,472
/90 274,877,906,944
/89 549,755,813,888
/88 1,099,511,627,776
/87 2,199,023,255,552
/86 4,398,046,511,104
/85 8,796,093,022,208
/84 17,592,186,044,416
/83 35,184,372,088,832
/82 70,368,744,177,664
/81 140,737,488,355,328
/80 281,474,976,710,656
/79 562,949,953,421,312
/78 1,125,899,906,842,624
/77 2,251,799,813,685,248
/76 4,503,599,627,370,496
/75 9,007,199,254,740,992
/74 18,014,398,509,481,985
/73 36,028,797,018,963,968
/72 72,057,594,037,927,936
/71 144,115,188,075,855,872
/70 288,230,376,151,711,744
/69 576,460,752,303,423,488
/68 1,152,921,504,606,846,976
/67 2,305,843,009,213,693,952
/66 4,611,686,018,427,387,904
/65 9,223,372,036,854,775,808
Residential – /64 18,446,744,073,709,551,616
/63 36,893,488,147,419,103,232
/62 73,786,976,294,838,206,464
/61 147,573,952,589,676,412,928
/60 295,147,905,179,352,825,856
/59 590,295,810,358,705,651,712
/58 1,180,591,620,717,411,303,424
/57 2,361,183,241,434,822,606,848
/56 4,722,366,482,869,645,213,696
/55 9,444,732,965,739,290,427,392
/54 18,889,465,931,478,580,854,784
/53 37,778,931,862,957,161,709,568
/52 75,557,863,725,914,323,419,136
/51 151,115,727,451,828,646,838,272
/50 302,231,454,903,657,293,676,544
/49 604,462,909,807,314,587,353,088
Business – /48 1,208,925,819,614,629,174,706,176
/47 2,417,851,639,229,258,349,412,352
/46 4,835,703,278,458,516,698,824,704
/45 9,671,406,556,917,033,397,649,408
/44 19,342,813,113,834,066,795,298,816
/43 38,685,626,227,668,133,590,597,632
/42 77,371,252,455,336,267,181,195,264
/41 154,742,504,910,672,534,362,390,528
/40 309,485,009,821,345,068,724,781,056
/39 618,970,019,642,690,137,449,562,112
/38 1,237,940,039,285,380,274,899,124,224
/37 2,475,880,078,570,760,549,798,248,448
/36 4,951,760,157,141,521,099,596,496,896
/35 9,903,520,314,283,042,199,192,993,792
/34 19,807,040,628,566,084,398,385,987,584
/33 39,614,081,257,132,168,796,771,975,168
ISP – /32 79,228,162,514,264,337,593,543,950,336
/31 158,456,325,028,528,675,187,087,900,672
/30 316,912,650,057,057,350,374,175,801,344
/29 633,825,300,114,114,700,748,351,602,688
/28 1,267,650,600,228,229,401,496,703,205,376
/27 2,535,301,200,456,458,802,993,406,410,752
/26 5,070,602,400,912,917,605,986,812,821,504
/25 10,141,204,801,825,835,211,973,625,643,008
/24 20,282,409,603,651,670,423,947,251,286,016
/23 40,564,819,207,303,340,847,894,502,572,032
/22 81,129,638,414,606,681,695,789,005,144,064
/21 162,259,276,829,213,363,391,578,010,288,128
/20 324,518,553,658,426,726,783,156,020,576,256
/19 649,037,107,316,853,453,566,312,041,152,512
/18 1,298,074,214,633,706,907,132,624,082,305,024
/17 2,596,148,429,267,413,814,265,248,164,610,048
/16 5,192,296,858,534,827,628,530,496,329,220,096
/15 10,384,593,717,069,655,257,060,992,658,440,192
/14 20,769,187,434,139,310,514,121,985,316,880,384
/13 41,538,374,868,278,621,028,243,970,633,760,768
/12 83,076,749,736,557,242,056,487,941,267,521,536
/11 166,153,499,473,114,484,112,975,882,535,043,072
/10 332,306,998,946,228,968,225,951,765,070,086,144
/9 664,613,997,892,457,936,451,903,530,140,172,288
/8 1,329,227,995,784,915,872,903,807,060,280,344,576

 

IPv6 Subnet Reference Prefix Lengths:

2402:9400:0000:0000:0000:0000:0000:0001
XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
      ||| |||| |||| |||| |||| |||| ||||
      ||| |||| |||| |||| |||| |||| |||128
      ||| |||| |||| |||| |||| |||| ||124
      ||| |||| |||| |||| |||| |||| |120
      ||| |||| |||| |||| |||| |||| 116
      ||| |||| |||| |||| |||| |||112
      ||| |||| |||| |||| |||| ||108
      ||| |||| |||| |||| |||| |104
      ||| |||| |||| |||| |||| 100
      ||| |||| |||| |||| |||96
      ||| |||| |||| |||| ||92
      ||| |||| |||| |||| |88
      ||| |||| |||| |||| 84
      ||| |||| |||| |||80
      ||| |||| |||| ||76
      ||| |||| |||| |72
      ||| |||| |||| 68
      ||| |||| |||64
      ||| |||| ||60
      ||| |||| |56
      ||| |||| 52
      ||| |||48
      ||| ||44
      ||| |40
      ||| 36
      ||32
      |28
      24

Note: The IP address above is an IP address allocated to Crucial Paradigm.

 

Example of /64 Allocations:

/64 IPv6 allocations are usually given to end users, who do not require any VLANs.  It allows auto configuration, or SLAAC so makes life a lot easier when configuring.

It is fairly easy to calculate /64 allocations, and a subnet calculator is not required. In fact this is the case with assigning IPv6 allocations, it can be done fairly easily without any calculator (I’ll demonstrate this later in the reference sheet):

2402:9400:1000:0::/64
2402:9400:1000:1::/64
2402:9400:1000:2::/64
2402:9400:1000:3::/64
2402:9400:1000:4::/64
2402:9400:1000:5::/64
2402:9400:1000:6::/64
2402:9400:1000:7::/64
2402:9400:1000:8::/64
2402:9400:1000:9::/64
2402:9400:1000:a::/64
2402:9400:1000:b::/64
2402:9400:1000:c::/64
2402:9400:1000:e::/64
2402:9400:1000:e::/64
2402:9400:1000:f::/64
2402:9400:1000:10::/64
2402:9400:1000:11::/64

 

Example of /48 Allocations:

/48 allocations are usually provided to business, who require additional VLANs or may require the range to be split up.  Using a /48 allocation would allow them to do so.

2402:9400:10::/48
2402:9400:11::/48
2402:9400:12::/48
2402:9400:13::/48
2402:9400:14::/48
2402:9400:15::/48
2402:9400:16::/48
2402:9400:17::/48
2402:9400:18::/48
2402:9400:19::/48
2402:9400:1a::/48
2402:9400:1b::/48
2402:9400:1c::/48
2402:9400:1e::/48
2402:9400:1f::/48
2402:9400:20::/48

 

IPv6 Subnet Calculator NOT REQUIRED!

In most cases a subnet calculator will not be required, since IPv6 using hex (hexadecimal) – and so long as the prefix length is a multiple of 4, it makes it quite easy.  For example (this is also where the table “IPv6 Subnet Reference IP Address” comes in a lot of handy above):

2402:9400:1234:1234::/64
2402:9400:1234:123X::/60
2402:9400:1234:12XX::/56
2402:9400:1234:1XXX::/52
2402:9400:1234:XXXX::/48
2402:9400:123X:XXXX::/44
2402:9400:12XX:XXXX::/40

 

IPv6 Address Scopes:

::/128 unspecified address
::1/128 localhost
fe80::/10 link local
fc00::/7 unique local unicast  (RFC 4193)
fc00::/8 centrally assigned by unkown, routed within a site (RFC 4193)
fd00::/8 free for all, global ID must be generated randomly with pseudo-random algorithm, routed within a site (RFC 4193)
ff00::/8 multicast, following after the prefix ff there are 4 bits for flags and 4 bits for the scope
::ffff:0:0/96 IPv4 to IPv6 Address, eg: ::ffff:10.10.10.10 (RFC 4038)
2000::/3 global unicast
2001::/16 /32 subnets assigned to providers, they assign /48, /56 or /64 to the customer
2001:db8::/32 reserved for use in documentation
2001:678::/29 Provider Independent (PI) adresses and anycasting TLD nameservers
2002::/16 6to4 scope, 2002:c058:6301:: is the 6to4 public router anycast (RFC 3068)

 

Interface Configuration Linux:

#ifconfig eth0 inet6 add 2402:9400:1234:1234::1/64

Configuring SLAAC (auto configuration) on Redhat/CentOS flavours of Linux: You can do this by enabling IPv6 on an interface which is already configured automatically on boot.

 

IPv6 Command Line Tools:

ping6- IPv6 ping tool
traceroute6- IPv6 tracing tool
tracepath6 – IPv6 tracing tool
ip -6 – For configuring/viewing IPv6 interfaces and routes
ipv6calc – IPv6 subnet calculator
tcpdump ip6 – packet sniffing on IPv6
snoop inet6 – packet sniffing on IPv6

 

Calculating Unique Link Local Address (ULA):

Some of the more technical details can be found here: https://www.crucial.com.au/blog/2011/04/11/slaac-discovery-and-eui-64-converting-mac-address-based-ipv6-address-assigning/

Or an online version can be found here: http://www.sixxs.net/tools/grh/ula/

 


 



  • glglgl

    All these values starting from /74 are not exact. It should be

    >>> for i in range(74,7,-1): print i,2**(128-i)

    74 18014398509481984
    73 36028797018963968
    72 72057594037927936
    71 144115188075855872
    70 288230376151711744
    69 576460752303423488
    68 1152921504606846976
    67 2305843009213693952
    66 4611686018427387904
    65 9223372036854775808
    64 18446744073709551616
    63 36893488147419103232
    62 73786976294838206464
    61 147573952589676412928
    60 295147905179352825856
    59 590295810358705651712
    58 1180591620717411303424
    57 2361183241434822606848
    56 4722366482869645213696
    55 9444732965739290427392
    54 18889465931478580854784
    53 37778931862957161709568
    52 75557863725914323419136
    51 151115727451828646838272
    50 302231454903657293676544
    49 604462909807314587353088
    48 1208925819614629174706176
    47 2417851639229258349412352
    46 4835703278458516698824704
    45 9671406556917033397649408
    44 19342813113834066795298816
    43 38685626227668133590597632
    42 77371252455336267181195264
    41 154742504910672534362390528
    40 309485009821345068724781056
    39 618970019642690137449562112
    38 1237940039285380274899124224
    37 2475880078570760549798248448
    36 4951760157141521099596496896
    35 9903520314283042199192993792
    34 19807040628566084398385987584
    33 39614081257132168796771975168
    32 79228162514264337593543950336
    31 158456325028528675187087900672
    30 316912650057057350374175801344
    29 633825300114114700748351602688
    28 1267650600228229401496703205376
    27 2535301200456458802993406410752
    26 5070602400912917605986812821504
    25 10141204801825835211973625643008
    24 20282409603651670423947251286016
    23 40564819207303340847894502572032
    22 81129638414606681695789005144064
    21 162259276829213363391578010288128
    20 324518553658426726783156020576256
    19 649037107316853453566312041152512
    18 1298074214633706907132624082305024
    17 2596148429267413814265248164610048
    16 5192296858534827628530496329220096
    15 10384593717069655257060992658440192
    14 20769187434139310514121985316880384
    13 41538374868278621028243970633760768
    12 83076749736557242056487941267521536
    11 166153499473114484112975882535043072
    10 332306998946228968225951765070086144
    9 664613997892457936451903530140172288
    8 1329227995784915872903807060280344576

    Look how the ending digits are increasingly 000 on your side – which cannot be with powers of two.

  • Hi glglgl,

    Thanks for pointing that out, this has been fixed!

    Aaron

  • Mike

    You have one more typo:
    2402:9400:1234:1234X::/60
    should be
    2402:9400:1234:123X::/60
    Regards,
    Mike

  • Thanks Mike, that’s been fixed!

  • Pingback: IPv6 Subnet Cheat Sheet and IPv6 Cheat Sheet Reference | Crucial Cloud Hosting Blog | Deepen Dhulla's Blog()

  • thanks. the only thing you didnt mention. .. if your running linux apt install subnetcalc

    dj substance