Documenting IPv6 Assignments in the RIPE Database
Introduction
The IPv6 Address Allocation and Assignment Policy requires all IPv6 address assignments to be documented in the RIPE Database.
There are two options to register assignments in the RIPE Database:
- using inet6num objects with "status: AGGREGATED-BY-LIR" where one object represents a pool of assignments or
- using inet6num objects with "status: ASSIGNED" where one object represents one assignment.
Using inet6num objects with "status: AGGREGATED-BY-LIR"
An LIR receives an IPv6 allocation from the RIPE NCC. This is represented in the RIPE Database as an inet6num object with "status: ALLOCATED-BY-RIR".
An inet6num object with "status: AGGREGATED-BY-LIR" can be created under it. This approach allows a group of multiple assignments referencing the same contacts to be aggregated into one object. This object represents a block of IPv6 addresses from which assignments are made. All the assignments from this block have the same size. This size is documented in the "assignment-size:" attribute. A typical hierarchy may look like this:
/29 status: ALLOCATED-BY-RIR
|-----------------------------------------------------------------------------------------------|
/36 status: AGGREGATED-BY-LIR /48 status: AGGREGATED-BY-LIR
assignment-size: 48 assignment-size: 64
|-------------------------------|-------------------------------|
This indicates that assignments that are made from the first AGGREGATED-BY-LIR inet6num object will all have a prefix length of /48. All assignments from the second AGGREGATED-BY-LIR inet6num object will have a prefix length of /64.
Using inet6num objects with "status: ASSIGNED"
By registering individual assignments in the RIPE Database it is possible to specify each end user and to have different contact information in different assignments. In some parts of the RIPE NCC service region, local laws may require all assignments to be publicly displayed. The inet6num objects with "status: ASSIGNED" can be created as more specific to an inet6num object with "status: ALLOCATED-BY-RIR".
/29 status: ALLOCATED-BY-RIR
|-----------------------------------------------------------------------------------------------|
/48 /56 /64
status: status: status:
ASSIGNED ASSIGNED ASSIGNED
|----------|----------|----------|
This indicates three individual assignments of the mentioned sizes.
Using LIR-to-ISP allocations
LIRs can allocate address space to subordinate ISPs. This is achieved by registering inet6num objects with "status: ALLOCATED-BY-LIR". Within such allocation, it is still required to document assignments using inet6num objects with "status: AGGREGATED-BY-LIR" or "status: ASSIGNED".
/29 status: ALLOCATED-BY-RIR
|-----------------------------------------------------------------------------------------------|
/32 status: ALLOCATED-BY-LIR
|-------------------------------------------------------------------------------|
/36 status: AGGREGATED-BY-LIR /48 status: AGGREGATED-BY-LIR
assignment-size: 48 assignment-size: 64
|-------------------------------|-------------------------------|
/29 status: ALLOCATED-BY-RIR
|-----------------------------------------------------------------------------------------------|
/32 status: ALLOCATED-BY-LIR
|-------------------------------------------------------------------------------|
/48 /56 /64
status: status: status:
ASSIGNED ASSIGNED ASSIGNED
|----------|----------|----------|
Some general rules
- The assignment-size value must be greater than the prefix length of the containing inet6num object
- Only one "assignment-size:" attribute is allowed in an inet6num object
- The assignment-size value cannot be changed after the inet6num object has been created
- The status value cannot be changed after the inet6num object has been created
Choosing assignment size
Please see Best Current Operational Practice for Operators: IPv6 prefix assignment for end-users for information on which assignment size to use in different scenarios.