cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6366
Views
0
Helpful
4
Replies

IPv6 Subnetting

turbo_engine26
Level 4
Level 4

Hello,

So far, as i understood from different web searches and resource materials, the Internet Registry (ARIN, for example) provides a /32 address block to Top ISP. The Top ISP provides a /48 to customers or to normal ISPs (Lower ISPs). Finally, the customer breaks the /48 into subnet using the 16 bits available. (2^16=65535 /64 subnets). Here my question comes in, How is subnetting performed by this way? ... if 65535 subnets to be used, how can we categorize them into Class A, B and C like in IPv4? .... About hosts, i understand that the low-order 64 bits in the ipv6 address is used for hosts but also how do i know which hosts to assign to which subnets? ... and because VLSM is not necessary in IPv6, does it mean that the Classless Routing Protocols concept is gone and IPv6 will be Classful?

Someone kindly shed some lights on how IPv6 subnetting is performed step-by-step.

Your response is highly appreciated.

Regards,

AM

1 Accepted Solution

Accepted Solutions

The first thing with IPv6 is to forget everything you learnt about IPv4 conservation. To put it crudely be wasteful and do not be concerned that you have 1.8x10^18 useable host addresses in a /64 and are only going to use it to address a point to point link or use it for a VLAN allocation for 15 servers.

(I am being overly simplistic here to illustrate a point, there are some subtleties, though in essence go with this)

There are also no classes, no network addresses, no broadcast addresses, no wild bit masks. Everything is CIDR, all addresses are useable.

So in the example of getting a /48, you get 65536 x /64 prefixes (2^16bits of subnetting)

Then just start assigning /64s everywhere you would assign any sized subnet in IPv4 (with the exception of loopbacks)

So from the 1st /64 sequentially number all loopbacks for devices using /128 (e.g. prefix::1, ::2, ::3, ::4 etc)

then your first point to point link gets the next /64, and the next point to point link gets the next /64 and so on, then your first VLAN gets the next /64 and so on.

So if you have 20 devices, 34 point to point links and 12 VLANs in your network you would ultimately be using 47 x /64 prefixes from your /48 and keep the rest (65489 x /64s) for later use.

That's the subnets taken care of. Hosts are in general addressed in the last 64 bits if the prefix. This can be done in one of three ways:

  1. Manually configured (e.g. prefix::3/64, prefix::7/64, prefix::AB/64, prefix::cafe:f00d/64),
  2. Using DHCPv6, or
  3. Using SLAAAC (Stateless Address Auto Configuration) where the host generates its own IPv6 address using its MAC address and padding it out to 64 bits. (Do searches in these terms for more info)

String it all together using the IGP of your choice, and that is pretty much it.

I hope this helps

View solution in original post

4 Replies 4

cadet alain
VIP Alumni
VIP Alumni

Hi,

Classes = Network not subnet and this is a legacy IPv4 concept since CIDR.

subnetting in IPv6 is same as in IPv4 because these are still binary strings but here we don't borrow bits from host part  but using the bits 49 to 63.

What do you mean? which host to assign to which subnets?  You can derive host id from Stateless autoconfig( derived from MAC address with modifiedEUI-64) or use stateful DHCPv6 or statically configure the host id.

In IPv6 there are no more subnet masks but CIDR notation and no more concepts of classes, just a prefix/prefix length.

Regards.

Alain

Don't forget to rate helpful posts.


What do you mean? which host to assign to which subnets?  You can derive host id from Stateless

Here is what i mean using IPv4 example

192.168.3.0

255.255.255.224

1- How many subnets?

2^3 = 8

2- How many Hosts per subnet?

2^5 - 2 = 30

3- What are the valid subnets?

0 32 64 96 128 160 192 224

Now i know that the 30 hosts are assigned to the mentoned subnets.

In IPv6, how can i do the subnetting using the 14 bits avaiable (49 to 63)? and how can identify the hosts per subnet as mentioned in the above example?

AM

The first thing with IPv6 is to forget everything you learnt about IPv4 conservation. To put it crudely be wasteful and do not be concerned that you have 1.8x10^18 useable host addresses in a /64 and are only going to use it to address a point to point link or use it for a VLAN allocation for 15 servers.

(I am being overly simplistic here to illustrate a point, there are some subtleties, though in essence go with this)

There are also no classes, no network addresses, no broadcast addresses, no wild bit masks. Everything is CIDR, all addresses are useable.

So in the example of getting a /48, you get 65536 x /64 prefixes (2^16bits of subnetting)

Then just start assigning /64s everywhere you would assign any sized subnet in IPv4 (with the exception of loopbacks)

So from the 1st /64 sequentially number all loopbacks for devices using /128 (e.g. prefix::1, ::2, ::3, ::4 etc)

then your first point to point link gets the next /64, and the next point to point link gets the next /64 and so on, then your first VLAN gets the next /64 and so on.

So if you have 20 devices, 34 point to point links and 12 VLANs in your network you would ultimately be using 47 x /64 prefixes from your /48 and keep the rest (65489 x /64s) for later use.

That's the subnets taken care of. Hosts are in general addressed in the last 64 bits if the prefix. This can be done in one of three ways:

  1. Manually configured (e.g. prefix::3/64, prefix::7/64, prefix::AB/64, prefix::cafe:f00d/64),
  2. Using DHCPv6, or
  3. Using SLAAAC (Stateless Address Auto Configuration) where the host generates its own IPv6 address using its MAC address and padding it out to 64 bits. (Do searches in these terms for more info)

String it all together using the IGP of your choice, and that is pretty much it.

I hope this helps

To put it crudely be wasteful and do not be concerned that you have 1.8x10^18 useable host addresses in a /64 and are only

Oh lord! be wasteful? ... So, i don't care anymore about designing and tailoring the subnets to accommodate a certain number of hosts. Just assign /64 to a subnet regardless how many hosts in this subnet. If this is the case, then IPv6 is considered much more simple than IPv4.

That's the subnets taken care of. Hosts are in general addressed in the last 64 bits if the prefix. This can be done in one of three ways:

  1. Manually configured (e.g. prefix::3/64, prefix::7/64, prefix::AB/64, prefix::cafe:f00d/64),
  2. Using DHCPv6, or
  3. Using SLAAAC (Stateless Address Auto Configuration) where the host generates its own IPv6 address using its MAC address and padding it out to 64 bits. (Do searches in these terms for more info)

Yes i understand how these mechanisms works properly. I was only concerned about subnetting.

Thanks for your help.

Regards,

AM

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: