bef1e1873db6a00f152cd508df2c3854aba67569
howto/Address-Space.md
| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | +DN42 uses network addresses in the [rfc1918](https://tools.ietf.org/html/rfc1918) and [ULA](https://tools.ietf.org/html/rfc4193) ranges. These are described in detail in the sections below. |
|
| 2 | + |
|
| 3 | +The [DN42 registry](https://git.dn42.us/dn42/registry) is the authoritative source of information on address space assignment. Within the registry, the DN42 address space is divided in to blocks based on _policies_ that define how the addresses may be used. Policies are defined in `inetnum` and `inet6num` objects and can be: |
|
| 4 | + |
|
| 5 | + - **open** - users may request prefixes in this range, subject to any constraints that are described in the `remark` attributes |
|
| 6 | + - **closed** - these ranges cannot be assigned |
|
| 7 | + - **reserved** - these ranges are reserved for future use |
|
| 8 | + - **ask** - these ranges are for specific uses, please ask on the mailing list before requesting assignments |
|
| 9 | + |
|
| 10 | +The [filter.txt](https://git.dn42.us/dn42/registry/src/master/data/filter.txt) and [filter6.txt](https://git.dn42.us/dn42/registry/src/master/data/filter6.txt) files within the registry detail the network wide constraints on what address ranges are in use together with the global limits on what can be announced. |
|
| 11 | + |
|
| 12 | +`inetnum` and `inet6num` objects within the registry are used to describe the allocation of address space to users. `route` and `route6` objects in the registry are used to validate routing announcements through [ROA](https://wiki.dn42/howto/Bird#route-origin-authorization). |
|
| 13 | + |
|
| 14 | +In addition to the native DN42 address ranges, the registry also contains allocations for the address space used by affiliate networks. These are updated by a regular [sync script](https://git.dn42.us/dn42/registry-sync). |
|
| 15 | + |
|
| 16 | +Globally routable prefixes are not supported in DN42; they are denied via the registry filter{6,}.txt files and many networks will filter both announcements and traffic for prefixes that are outside of the allowable ranges. |
|
| 17 | + |
|
| 18 | +# IPv6 Address Space |
|
| 19 | + |
|
| 20 | +DN42 uses the fd00::/8 ULA range for IPv6 addresses; the whole fd00::/8 block has an open policy and users are free to request any prefix in this range, that is not already allocated. |
|
| 21 | + |
|
| 22 | +**The DN42 registry is not authoritative for the fd00::/8 range** |
|
| 23 | + |
|
| 24 | +DN42 is interconnected with other networks, like icvpn, which also use the same ULA range and many users will also use this range for their own networks. A registration in the dn42 registry cannot prevent IPv6 conflicts, so a fully random prefix (see [RFC4193](https://tools.ietf.org/html/rfc4193)) is strongly recommended. If an address conflict is found, then needing to renumber your network is no fun. |
|
| 25 | + |
|
| 26 | +# IPv4 Address Space |
|
| 27 | + |
|
| 28 | +DN42 uses the 172.20.0.0/14 range for IPv4 addresses. As with the public internet, IPv4 space is limited and users are encouraged to conserve space where possible. |
|
| 29 | + |
|
| 30 | +Unlike the IPv6 address space, the DN42 IPv4 space is not fully open for assignment to users; some ranges are intended for specific uses and other ranges are reserved. See the policy section, below. Users should always check the policy in the registry before requesting a prefix to be assigned. |
|
| 31 | + |
|
| 32 | +There are other IPv4 ranges in use within DN42 related to the affiliate networks, see the [filter.txt](https://git.dn42.us/dn42/registry/src/master/data/filter.txt) file in the registry. |
|
| 33 | + |
|
| 34 | +## IPv4 Policies |
|
| 35 | + |
|
| 36 | +The diagram below shows the allocation policies for the DN42 address space. |
|
| 37 | + |
|
| 38 | +... image ... |
|
| 39 | + |
|
| 40 | +Specific policy restrictions: |
|
| 41 | + |
|
| 42 | +| Prefix | Usage | |
|
| 43 | +|--------|-------| |
|
| 44 | +| 172.20.0.0/24<br/>172.21.0.0/24<br/>172.22.0.0/24<br/>172.23.0.0/24 | Reserved for anycast addresses | |
|
| 45 | +| 172.20.240.0/20<br/>172.22.240.0/20 | Reserved for transfer networks | |
|
| 46 | +| 172.20.64.0/18 | Reserved for allocations larger than /23, up to /21 | |
|
| 47 | +| 172.22.0.0/18 | Reserved for allocations of /24 or larger, up to /21 | |
|
| 48 | +| 172.23.16.0/21 | Closed to new allocations | |
|
| 49 | + |
|
| 50 | + |