How-to: IPv6 address planning

By on 22 Aug 2019

Category: Tech matters

Tags: , ,


Blog home

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.


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.


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.

Rate this article

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.


  1. Rajib K. Das

    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.


Leave a Reply

Your email address will not be published. Required fields are marked *