DN42 uses network addresses in the rfc1918 and ULA ranges. These are described in detail within the sections below.

The 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:

- open - users may request prefixes in this range, subject to any constraints that are described in the `remark` attributes
- closed - these ranges cannot be assigned
- reserved - these ranges are reserved for future use
- ask - these ranges are for specific uses, please ask on the mailing list before requesting assignments

A simple way to see all the active policies in the registry is to search the registry content for policy attributes:

    grep -r ^policy data/inet{,6}num/

The filter.txt and 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.

`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.

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.

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.

# IPv6 Address Space

DN42 uses the fd00::/8 ULA range for IPv6 addresses. Apart from a block of addresses reserved for anycast (fd42:d42:d42::/48), 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.

The DN42 registry is not authoritative for the fd00::/8 range

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) is strongly recommended. If an address conflict is found, then needing to renumber your network is no fun.

# IPv4 Address Space

DN42 uses the 172.20.0.0/14 range for IPv4 addresses. As with the public internet, IPv4 space is more limited and users are encouraged to conserve space where possible. A typical assignment in DN42 is a /27 and any requests for assignments larger than /24 must provide justification.

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.

There are other IPv4 ranges in use within DN42 related to the affiliate networks, see the filter.txt file in the registry.

## IPv4 Policies

The diagram below shows the allocation policies for the DN42 address space.

Specific policy restrictions:

Prefix | Usage
--- | ---
172.20.0.0/24 172.21.0.0/24 172.22.0.0/24 172.23.0.0/24 | Reserved for anycast addresses
172.20.240.0/20 172.22.240.0/20 | Reserved for transfer networks
172.20.64.0/18 | Reserved for allocations larger than /23, up to /21
172.22.0.0/18 | Reserved for allocations of /24 or larger, up to /21
172.23.16.0/21 | Closed to new allocations
172.21.0.0/18 172.21.128.0/17 172.22.192.0/18 | Reserved for future use