IPv6 Addressing Plan

Before you start it is recommended to go through the article first: IPv6 Subnetting

If someone asks “what’s the best way to prepare an IPv6 addressing plan?”, probably the best answer would be “it depends!”. Because there is no single best way to that.

Now, when you’re playing with address plan, there are some philosophical differences between IPv6 and IPv4 addressing plan. Don’t think about wastage of IPv6 address because you may not be able to save and use all the addresses in IPv6. Due to scarcity, we always count the number of individual addresses in IPv4 but in IPv6 we count the prefixes rather than the individual addresses. Unlike IPv4, the focus here is better management not to save addresses.

Here’s an example of IPv6 addressing plan. Let’s say, you have a /32 v6 prefix (2001:DB8::/32) received from the RIR.

  1. First of all, think about the number of regions or distribution PoPs you have and the approximate number of clients in each PoP. If you have ISPs or bigger enterprise customers, consider allocating at least a /48 to each of them. If your customers are end users and small offices, allocate at least a /56 to each of them. Don’t be miser rather be generous in distributing IPv6 ;-).
  2. Now, in a typical network you may subnet your /32 IPv6 prefix in /40 which will give you 2^8=256 /40 IPv6 subnets. Keep the first /40 for your infrastructure, data centers and PE-CE peering. Allocate each region or distribution PoP one /40. This way you can cover up to 255 regions/distribution PoPs and each region will have 2^8=256 /48 IPv6 prefixes for customer allocation.

    • Infrastructure, DC/DR and PE-CE peering: 2001:DB8::/40
    • Region 1: 2001:DB8:100::/40
    • Region 2: 2001:DB8:200::/40
    • Region 255: 2001:DB8:FF00::/40
  3. Take the first /40 (2001:DB8::/40) for Infrastructure, DC/DR network and PE-CE Peering. Subnet it in /48, you will have 2^8=256 /48 subnets.
    1. Take the first /48 (2001:DB8::/48) for Infrastructures and distribute it according to the following plan.
      1. First /64 (2001:DB8::/64): Loopback IP (Configure as /128 per node). This way you can keep the length of loopback address smaller :-). I prefer not to use the first address since :: looks a weird to me but it’s definitely usable. Instead, I start with the ::1 which more like the loopback of my first device and it makes me more comfortable.

        • Node 1’s Loopback: 2001:DB8::1/128
        • Node 2’s Loopback: 2001:DB8::2/128
        • Node 3’s Loopback: 2001:DB8::3/128
          so on and so forth…
      2. Second /64 (2001:DB8:0:1::/64): is for the Management IP.

        • Node 1’s Management IP: 2001:DB8:0:1::1/64
        • Node 2’s Management IP: 2001:DB8:0:1::2/64
        • Node 3’s Management IP: 2001:DB8:0:1::3/64
          so on and so forth…
      3. From third /64 (2001:DB8:0:2::/64) and onwards: Backbone P2P peering. Though IPv6 protocol design expectation is to use /64 per subnet/P2P link, RFC6164 recommends to use /127 (reserve /64 for the link, but configure as /127)

        • 1st backbone P2P Peering: 2001:DB8:0:2::/64 (Node A’s interface IP: 2001:DB8:0:2::/127 and Node B’s interface IP: 2001:DB8:0:2::1/127)
        • 2nd backbone P2P Peering: 2001:DB8:0:3::/64 (Node A’s interface IP: 2001:DB8:0:3::/127 and Node B’s interface IP: 2001:DB8:0:3::1/127)
        • 3rd backbone P2P Peering: 2001:DB8:0:4::/64 (Node A’s interface IP: 2001:DB8:0:4::/127 and Node B’s interface IP: 2001:DB8:0:4::1/127)
          so on and so forth…
      4. Last /56 (2001:DB8:0:FF00::/56): Network Operations Center (NOC) (Use as /64 per subnet)

        • NOC subnet 1: 2001:DB8:0:FF00::/64
        • NOC subnet 2: 2001:DB8:0:FF01::/64
        • NOC subnet 3: 2001:DB8:0:FF02::/64
          so on and so forth…
    2. Out of the first /40, take the second /48 (2001:DB8:1::/48) for PE-CE peering.
      1. Divide this /48 up between PoPs. If you have 16 PoPs/regions or less, consider dividing the /48 into /52 which will give you 2^4=16 of them. Allocate one /52 per PoP/region for PE-CE peering.

        • PoP/Region 1: 2001:DB8:1::/52
        • PoP/Region 2: 2001:DB8:1:1000::/52
        • PoP/Region 3: 2001:DB8:1:2000::/52
          so on and so forth…
      2. Now, you have a /52 per PoP/Region. Plan for /64 per link but configure as /127. You can accommodate 2^12=4096 PE-CE subnets/links. For instance, clients’ in PoP/Region 3 will get PE-CE address according to the plan below:

        • Client 1: 2001:DB8:1:2000::/64 (PE end: 2001:DB8:1:2000::/127 and CE end: 2001:DB8:1:2000::1/127)
        • Client 2: 2001:DB8:1:2001::/64 (PE end: 2001:DB8:1:2001::/127 and CE end: 2001:DB8:1:2001::1/127)
        • Client 3: 2001:DB8:1:2002::/64 (PE end: 2001:DB8:1:2002::/127 and CE end: 2001:DB8:1:2002::1/127)
          so on and so forth…
    3. Out of the first /40, take the third /48 (2001:DB8:2::/48) for your server farm/data center network: Configure /64 per subnet.

      • DC subnet 1: 2001:DB8:2::/64
      • DC subnet 1: 2001:DB8:2:1::/64
      • DC subnet 1: 2001:DB8:2:2::/64
        so on and so forth…
    4. This way you can plan to use next /48 (2001:DB8:3::/48) out of the first /40 for other purposes like if you have video conferencing or unified communications/IP phone services, you can take one /48 for that and use a /64 for each subnet.

      • VC subnet for Site 1: 2001:DB8:3::/64
      • UC subnet for Site 1: 2001:DB8:3:1::/64
      • VC subnet for Site 2: 2001:DB8:3:2::/64
        so on and so forth…
    5. If you have further requirements in your infrastructure, use the next /48 and so on…
  4. Now, take the second /40 (2001:DB8:100::/40) for customer allocation in Region 1. As mentioned earlier, you can have 2^8=256 /48 to distribute from that /40 in Region 1. This will repeat for other regions as well.
    1. Now remember we mentioned earlier, if you have ISPs or bigger enterprise customers, consider allocating at least a /48 for each of them.

      • Customer 1 (ISP): 2001:DB8:100::/48
      • Customer 2 (Large Enterprise): 2001:DB8:101::/48
      • Customer 3 (University): 2001:DB8:102::/48
      • Customer 4 (Bank): 2001:DB8:103::/48
        so on and so forth…
    2. If your customers are end users and small offices, take the last /48 (2001:DB8:1FF::/48) and subnet it in /56. You will have 2^8=256 /56 subnets from one /48. Allocate each /56 subnet to each customer. Once finished, take the second last /48 (2001:DB8:1FE::/48) and so on.

      • Customer 1 (Small office): 2001:DB8:1FF::/56
      • Customer 2 (End user): 2001:DB8:1FF:100::/56
      • Customer 3 (End user): 2001:DB8:1FF:200::/56
        so on and so forth…
  5. Similarly, take the third /40 (2001:DB8:200::/40) and distribute it in Region 2. Keep repeating the process mentioned in Step-4.

3 Replies to “IPv6 Addressing Plan

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.