Help:Range blocks/IPv6

From mediawiki.org
PD Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info. PD

See Help:Range blocks for the main page on rangeblocking, and for IPv4. Like IPv4, IPv6 rangeblocks are limited by $wgBlockCIDRLimit , which by default allows rangeblocks of up to /19 in size.

Technical explanation

IPv6 addresses are each 128 bits long. Because each digit in an IPv6 address can have 16 different values (from 0 to F=15), each digit represents the overall value of 4 bits (one nibble), with 32 digits total. As with IPv4, CIDR notation describes ranges in terms of a common prefix of bits. For example 2001:db8::/32 means that the range described has the first 32 bits set to the binary digits 00100000000000010000110110111000. Also like IPv4, MediaWiki implements IPv6 rangeblocks using CIDR notation.

Collateral damage

The best guideline for assessing collateral damage for an IPv6 rangeblock is to check the WHOIS, and the actual amount of activity from the range. MediaWiki supports looking up a range's contributions with Special:Contributions, e.g. Special:Contributions/2001:db8::/32 (note that the latter range will not return any edits).

In assessing collateral damage it is important to understand IPv6 address allocations to end-users. The most important fact to know about is that single or multiple /64 subnets for an end-user connection is a practical requirement of IPv6. What this means is that IPv6 connections will have at least 264 addresses assigned to them, which is around 18 billion billion; sometimes they can have considerably more. The reason IPv6 requires /64 subnetting is that any deviation from this breaks a great number of IPv6 protocols, and it will also be needed for future developments.[1] The only exception to longer than /64 subnetting is for certain connections where many IPv6 features are not needed, for example a /126 subnet for point-to-point inter-router linking.[1] But this is not relevant for IPv6 rangeblocking since no end-users will have addresses of this sort.

So in many ways IPv6 /64 rangeblocks are akin to blocks of single IPv4 addresses, as a /64 subnet is the norm for connections, although sometimes end-user allocations will include multiple /64 subnets. So generally speaking IPv6 /64 rangeblocks are recommended, as blocks of single IPv6 addresses can be easily circumvented by users with minimal technical knowledge, and normally the risk of collateral damage is low. But be aware that like in IPv4, where a single static IPv4 address may supply a household or institution of some kind, a static IPv6 /64 range may also supply a household or institution, so multiple users can be affected by /64 rangeblocks.

An exception to this is mobile broadband access; these IPs are allocated dynamically within certain ranges, and blocking these is unlikely to be successful, as they are easily circumvented and risk collateral damage; this applies to all types of blocks, whether they are IPv4 or IPv6 blocks of single addresses or ranges. Mobile broadband addresses can be checked using a WHOIS service. Note that IPv6 /64 ranges are unlikely to be a dynamic, rather they are likely to be static, and typically won't change for an end-user. This is due to the large number of available IPv6 addresses, meaning dynamic allocation is unnecessary; this lowers the risk of collateral damage.


How to calculate an IPv6 CIDR range

Although similar principles also apply to IPv4, the fact that hexadecimal digits correspond to exactly one nibble (4 bits) each simplifies the calculation somewhat.

  1. Find the common prefix – that is, the string of digits shared by all of your addresses.
  2. Expand the common prefix completely (including redundant zeros), and multiply the total number of digits by 4 - that's the size of your common prefix.
  3. Use the table below, and add the specified number to your prefix size (this is your CIDR suffix, the number of bits common to all addresses in the range). Append the specified digit to the common prefix you found in step 1. Complete the group of four digits with zeros if necessary.
  4. The CIDR is then [common prefix (with additional digit as specified by table below, followed by zeros as necessary to keep the group of four digits complete)]/[common prefix length (plus 1,2, or 3 as specified by the table below)].

Prefix modification table

Example: If your prefix is 2001:db8:abcd:: (completely expanded to 2001:0db8:abcd::), and you have addresses like 2001:db8:abcd:9000:abe:: and 2001:db8:abcd:a000::, you'd use the entry saying that the digits after your prefix match 8-b, append 8 to the prefix, and add 2 to your common prefix's size. This would generate 2001:db8:abcd:8000::/50.

If digit after prefix only matches... Append this digit to your prefix Add this to your common prefix length
0-f 0 0
0-7 0 1
8-f 8
0-3 0 2
4-7 4
8-b 8
c-f c
0-1 0 3
2-3 2
4-5 4
6-7 6
8-9 8
a-b a
c-d c
e-f e


Range table

The color-coding is approximate, and there will be overlaps.

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

Keys

No organization would ever receive an allocation of this size
Regional Internet Registry/very large organization/ISP allocation sizes
ISP/large organization allocation sizes
Organization allocation sizes
End-user allocation sizes
Sub-allocations for same enduser
(Single address)

Tools

References

  1. 1.0 1.1 IPv6 Unicast Address Assignment Considerations "Using a subnet prefix length other than a /64 will break many features of IPv6, including Neighbor Discovery (ND), Secure Neighbor Discovery (SEND) [RFC3971], privacy extensions [RFC4941], parts of Mobile IPv6 [RFC4866], Protocol Independent Multicast - Sparse Mode (PIM-SM) with Embedded-RP [RFC3956], and Site Multihoming by IPv6 Intermediation [SHIM6], among others. A number of other features currently in development, or being proposed, also rely on /64 subnet prefixes." "However, some network administrators have used prefixes longer than /64 for links connecting routers, usually just two routers on a point-to-point link."