In this article we’ll look at the things you need to consider when creating an IPv6 address plan for a service provider network.
Before we start planning, let’s go back to basics and look at the structure of an IPv6 address.
Figure 1 — IPv6 address structure.
Working our way backwards from the end, we can see that:
- Host addresses are 128 bits in length
- /64 is the common size for one subnet
- /48 is the minimum prefix size that will be routed globally in the BGP. A prefix of this size is usually assigned to a whole customer network
- /32 is the normal allocation to a network operator from a registry such as APNIC
The number of hosts in IPv6 is staggeringly large, and so for the purposes of address planning, what we really need to be doing is thinking in terms of subnets rather than hosts.
Address planning for infrastructure
Say we are planning addresses for an ISP’s infrastructure. We might need to consider our needs for:
- Loopback addresses
- Point-to-point links
- Internal server networks (for NMS and other NOC servers)
- External server networks (for mail and DNS services, for example)
For this example, let’s dedicate a /40 for backbone infrastructure. We will make all infrastructure assignments from this block, and route it with our IGP of choice.
Loopbacks
We can dedicate one /48 to assign loopback (/128) addresses. For smaller networks, you may decide you only need a /60 or /64 for this purpose.
Point-to-point
For each point-to-point link, we can assign a /64, but actually use a /127 (assuming it is supported by the equipment), as per the recommendations of RFC 6164 and RFC 6547.
Figure 2 — Point-to-point addressing example.
Internal server network(s)
If you require multiple subnets for your management server network, you may want to assign them out of a /60. For a simpler NOC LAN, a /64 should suffice.
External server network
A /64 will allow you 264 hosts for your public services.
Address planning for customers
When thinking about assigning IPv6 address blocks to customers, take some time to consider whether you want to aggregate by region. It might make sense to assign a /40 to a region to allow you to easily manage traffic per region.
Enterprise Customers
Typically, we see enterprise customers being assigned /48s, which provides them with over 65,000 subnets. Some network operators allocate smaller blocks such as /52s, /56s, or even /60s for very small customers. Assigning prefixes smaller that a /60 is not recommended, however, in order to allow customers to keep freely assigning /64s to their end users as they grow.
WAN links
For monitoring purposes, dedicate a /48 block for customer WAN links — which are not to be confused with infrastructure point-to-point links.
Again, the recommended practice is to assign a /64 to a link, but use a /127. Like the infrastructure links, you’ll want to route these via your IGP and aggregate them at a gateway or PoP router.
Broadband customers
The assignment of IPv6 address blocks for broadband users depends on your deployment, but here is an example:
On the CPE WAN side, you can assign WAN addresses out of a /64 on your BRAS using SLAAC (StateLess Address AutoConfiguration).
On the CPE LAN side, you can hand out /64s from a /48 pool on your BRAS by using DHCPv6-PD (Prefix Delegation).
I recommend dedicating a /40 or larger for broadband networks, assigning /48s to your BRASes, which will announce these prefixes via iBGP.
Data centre services
For your data centres, you will still be using the infrastructure block to assign your loopback and point-to-point link addresses. You will also need to assign another block, say a /40, for hosted services.
The way you split this up, of course, will depend on your data centre architecture. You may wish to assign a separate /64 and VLAN per service, or per customer. These subnets will be announced in iBGP via your data centre border router.
Traffic shaping
To allow you to balance incoming traffic, assign customer prefixes (that attract traffic) from both ends of the address space. An easy way to do this is to assign sub-aggregate blocks, such as the /33s in the diagram below.
Figure 3 — Sub-aggregate address block assignments.
There’s more to IPv6 address planning than can be covered in this article. To learn more, check out the APNIC Academy IPv6 Address Planning webinar.
The views expressed by the authors of this blog are their own and do not necessarily reflect the views of APNIC. Please note a Code of Conduct applies to this blog.
Note that RFC6164 is not recommending that /127 is used for p2p links, instead is saying routers must support it.
The issue described by those documents was a bug, and has been solved many years ago by vendors.
This may be an interesting reference:
https://datatracker.ietf.org/doc/draft-palet-v6ops-p2p-links/
Excellent topic you had discussed……Thank you so much…
I was planning to implement IPv6 for one of our customers. I used multiple RFC documents for this planning. This post is the summary of everything what was needed. Thanks.