Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
cgrey8

How is a home/private network's ipv6 network number assigned to Cable Modems?

Recommended Posts

Posted · Original PosterOP

For typical IPv4 home network deployments, the private network is made up of private IP addresses (e.g. 192.168.0.0/24). All devices share the router's public (Internet-routable) IP address assigned to it by the ISP via the cable-modem serving as a NAT-router. This serves as both a firewalling protection of the devices on the private network as well as alleviating the need for each device on your home network having a highly-valued IPv4 Internet-valid IP. And for most client devices, this works just fine.

 

However IPv6 expands the available number of networks and IPs by such a great number that each person on the planet could have more IPs assigned to them than they could possibly use. So NAT-routing isn't really necessary. And to protect the devices, traditional firewalling techniques can be used instead of relying on the devices not being internet-accessible as a form of security.

 

Now to my point, ISPs issue the cable modem an IPv6 address just like they issue IPv4 addresses. But how do they get assigned the home network IPv6 network number? I understand that IPv6 devices can generate their own host number (lower 64bits of an IPv6 address), but they still need to be told what their network number is (the upper 64-bits). This is normally done via SLAAC or DHCPv6. But the cable modem needs to know what network number to give when devices on the local network ask. 

 

So, how does the ISP communicate, to my cable modem, the network number it wants my cable modem issue to my home network IPv6 devices? I'm assuming it needs to issue this so that its routing tables can update to know that return-packets destined to my IPv6 devices must get routed to my cable-modem's IP...unless my Netgear C6300 is NATing IPv6 exactly like it does IPv4 (not likely).

 

The IPv6 IPs my cable modem is assigning have 2601 as the first quibble (Comcast/Xfinity). When I go to websites that tell me my IP address, they correctly identify both my router's public IPv4 address (they don't see my private IPv4 address) but they do see my device's actual IPv6 address (or at least the IPv6 address being used to communicate with the website) suggesting that the IPv6 IP my device is using is the source IP in the packets the website is receiving (not NATed).

 

In traditional commercial router deployments, each router is configured to know the network numbers of its various datalinks, and then it might use router configuration protocols (e.g. RIP, EIGRP, OSPF, BGP, etc) to communicate the router's routes to other routers. But in the case of residential cable-modems, I'm ASSUMING the cable-modem needs to be told what the network number of its subordinate network (i.e. my home network). I'm just curious how that's accomplished and if it's a standard networking protocol or something specific to edge-gateways like DOCSIS devices. Or perhaps is the cable modem assigned an IPv6 network number from the factory and then communicates that to the ISP via one of those router-config protocols mentioned earlier? I can see a number of possibilities and I can't seem to find any answers google-searching. It's evidently not something most people care to know. I posted a variant of this on Netgear's community forum and got an amazingly useless response that was literally nothing more than a link to Wikipedia's page describing what IPv6 is.

 

I'm suspecting the people on LTT's forum are going to be more informed...

Link to post
Share on other sites

This is quite a bit to cover but from my understanding IPv6 does not use NAT. The first 4 octets are the network. The 5th is the Subnet and the last 3 are the device assignable addresses. If you look at your public IPv6 address you should see that the first 4 octets match the first 4 octets of all your devices on the LAN.


Guides & Tutorials:

How to Format Storage Devices in Windows 10

A How-To: Drive Sharing in Windows 10

VFIO GPU Pass-though w/ Looking Glass KVM on Ubuntu 19.04

A How-To Guide: Building a Rudimentary Disk Enclosure

Three Methods to Resetting a Windows Login Password

A Beginners Guide to Debian CLI Based File Servers

A Beginners Guide to PROXMOX

How to Use Rsync on Microsoft Windows for Cross-platform Automatic Data Replication

 

Guide/Tutorial in Progress:

A Beginners Guide to Servers

 

In the Queue:

[Taking Suggestions]

 

Don't see what you need? Check the Full List or *PM me, if I haven't made it I'll add it to the list.

*NOTE: I'll only add it to the list if the request is something I know I can do.

Link to post
Share on other sites
17 minutes ago, cgrey8 said:

So NAT-routing isn't really necessary.

No it isnt, BUT will probably still be used as many people use their own Internal network to share files and printers and shit. 

 

19 minutes ago, cgrey8 said:

Now to my point, ISPs issue the cable modem an IPv6 address just like they issue IPv4 addresses. But how do they get assigned the home network IPv6 network number?

First of all what Comcast gives you is a modem/router combo. BUT Id assume that the router portion knows what to assign based on what it gets from the Comcast DHCP server. That being said, Im farily sure that Comcast assigns every one a small block of IPv6 addresses. I forget how many but I have read before that you do get multiple. Though that doesnt matter much yet, as most of the Internet is still IPv4 limited. 

Link to post
Share on other sites
Posted · Original PosterOP
1 hour ago, Windows7ge said:

...If you look at your public IPv6 address you should see that the first 4 octets match the first 4 octets of all your devices on the LAN.

Correct, sort of. Yes, the first four quibbles (4 character HEX values that represent 16-bits) are the network number. And so yes, all IPs on my private network (that aren't link-local IPs) have that same network number. That's the number that needs to be issued to my modem so it can issue that number to my devices when they ask (via SLAAC). What I don't know is what mechanism is used to communicate that network number to my modem. Attached is a screencap of where the Netgear cable modem indicates the network number in it's VERY limited IPv6 configuration page...

 

 

The last 4 quibbles of an ipv6 address are the host number...and for all intents and purposes, the value is random for most client devices. Link-local ipv6 IPs in the early days of ipv6 used EUI-64 to define the host number, which used the Ethernet MAC as the foundation. But that standard has been deprecated for privacy reasons. Point is, the host address simply needs to be unique on the network. With 64-bits, that's not exactly hard to do. There's ORDERS of magnitude more possibilities for host values than all possible IPV4 addresses, which IMO is an absolute WASTE and one of the many aspects of IPv6 that I have issue with, but it is what it is and they aren't going to change it just because I think it's a waste. However for human-managed devices such as commercial routers on the Internet or in businesses, you'll often find administrators will choose "easy-to-remember" values and zero-out most of tho host bytes. Do a traceroute to some ipv6 address on the Internet, and you'll see what I'm talking about. For example, trace route to 2606:4700:4700::1111 (one of Cloudflare's DNSv6 IPs).

 

And just to follow-up, octet requires a single-byte value. In the case of IPv4, the octet is a decimal value from 0-255.

A quibble represents a 2-byte value. In the case of IPv6 addresses, the quibble is represented as HEX values 0000-FFFF. The name comes form quad-nibble. And for those not familiar, a nibble is a 4-byte value. Two nibbles make a byte.

 

1 hour ago, Donut417 said:

..Id assume that the router portion knows what to assign based on what it gets from the Comcast DHCP server. That being said, Im farily sure that Comcast assigns every one a small block of IPv6 addresses. I forget how many but I have read before that you do get multiple. Though that doesnt matter much yet, as most of the Internet is still IPv4 limited. 

You are right, the router gets assigned the home network number somehow. My question is HOW that happens. DHCPv6 or SLAAC would be how the ISP gives my router it's IP, but there has to be some other mechanism for issuing the subordinate (home) network number. I wish I could Wireshark the cable modem connection and see that traffic. But I can't.

 

As for how many IPs you get, you get 64-bits worth. Unlike in the IPv4 days where the ISP issues you your entire IP address, in the IPv6 world, you get assigned a network number, and the host numbers you choose are completely a local matter. The ISP doesn't care what value(s) get chosen. In fact, it's a common thing for Windows to generate multiple IPv6 addresses. I've seen a dozen different IPv6 addresses assigned to my network card before. I think that was a common Win7 practice. I haven't noticed my Win10 machine doing that. Although it does produce what it calls a Temporary IP that it doesn't really appear is that temporary. It tends to stick around far longer than I associate with "temporary."

 

 

ipv6_system-delegated-prefix.jpg

Link to post
Share on other sites
13 minutes ago, cgrey8 said:

What I don't know is what mechanism is used to communicate that network number to my modem.

I believe I understand your question but despite what I've learned through my CCNA course about routing IPv6 I can't remember the specific sections well enough to give you a confident answer.

 

If I were to give you a non-confident answer (which means someone is going to correct me which means you'll get your answer even faster) I believe this mechanism between IPv4 and IPv6 hasn't changed. Even though all devices on the LAN share the same first half of the IPv6 address as the publicly facing IP it still translates them to the Public IPv6 address just as IPv4 has done.

 

...may the angry hoards of people clearly smarter than me show mercy...


Guides & Tutorials:

How to Format Storage Devices in Windows 10

A How-To: Drive Sharing in Windows 10

VFIO GPU Pass-though w/ Looking Glass KVM on Ubuntu 19.04

A How-To Guide: Building a Rudimentary Disk Enclosure

Three Methods to Resetting a Windows Login Password

A Beginners Guide to Debian CLI Based File Servers

A Beginners Guide to PROXMOX

How to Use Rsync on Microsoft Windows for Cross-platform Automatic Data Replication

 

Guide/Tutorial in Progress:

A Beginners Guide to Servers

 

In the Queue:

[Taking Suggestions]

 

Don't see what you need? Check the Full List or *PM me, if I haven't made it I'll add it to the list.

*NOTE: I'll only add it to the list if the request is something I know I can do.

Link to post
Share on other sites
Posted · Original PosterOP
47 minutes ago, Windows7ge said:

...Even though all devices on the LAN share the same first half of the IPv6 address as the publicly facing IP it still translates them to the Public IPv6 address just as IPv4 has done.

 

...may the angry hoards of people clearly smarter than me show mercy...

Ok, that's something I haven't made clear. The network number used on the home network side of my cable modem IS NOT the same network number that is issued to the modem. That said, the modem's ISP-side IP address has a 2001 first quibble. But my private network is issued a network number with a 2006 first quibble. So they are NOT the same.

 

And the thing that makes me believe that the router is not performing NAT on the IPv6 side is that websites on the Internet like whatismyipaddress.com properly identify my internal device's IPv6 address. However when asked what my IPv4 address is, they can't. They return my router's public IP (as is expected with a NAT router in the mix).

 

Attached is a capture of the public and home-side issue from my modem just for reference. You'll have to excuse the stupid way Netgear chooses to display this info. First off, they stupidly word-wrap the text. And notice one IP has a /64 notation and the other has a /128 notation. Somebody at Netgear doesn't know much about IPv6. IPv6 addresses are ALWAYS /64. The only time you see CIDR notation with values other than /64 used in IPv6 discussions is when talking about network ranges or when talking about the various prefixes within the network number. Neither of those apply here.

 

ipv6_addresses.jpg

Link to post
Share on other sites

Yeah we're at the limit of my knowledge. I've been told IPv6 doesn't use NAT (at least in home networking) but what you seem to be seeking an answer to is beyond what I can provide.

 

But just so I don't leave you high and dry and although I didn't want to pester him again this @mynameisjuan guy is among the most network savvy users on the forum. He has a greater chance of answering your question than I do.


Guides & Tutorials:

How to Format Storage Devices in Windows 10

A How-To: Drive Sharing in Windows 10

VFIO GPU Pass-though w/ Looking Glass KVM on Ubuntu 19.04

A How-To Guide: Building a Rudimentary Disk Enclosure

Three Methods to Resetting a Windows Login Password

A Beginners Guide to Debian CLI Based File Servers

A Beginners Guide to PROXMOX

How to Use Rsync on Microsoft Windows for Cross-platform Automatic Data Replication

 

Guide/Tutorial in Progress:

A Beginners Guide to Servers

 

In the Queue:

[Taking Suggestions]

 

Don't see what you need? Check the Full List or *PM me, if I haven't made it I'll add it to the list.

*NOTE: I'll only add it to the list if the request is something I know I can do.

Link to post
Share on other sites

Generally they'll serve both your address and prefix via DHCPv6.

 

You can use that DHCP assignment to place the routed subnet into your LAN side network and provide v6 space to all of your clients.

 

 


PC : 3600 · Crosshair VI WiFi · 2x16GB RGB 3200 · 1080Ti SC2 · 1TB WD SN750 · EVGA 1600G2 · Define C 

Link to post
Share on other sites
Posted · Original PosterOP
19 hours ago, beersykins said:

Generally they'll serve both your address and prefix via DHCPv6.

 

You can use that DHCP assignment to place the routed subnet into your LAN side network and provide v6 space to all of your clients.

 

 

That's what I needed to know. I wasn't aware that DHCPv6 did this. But looking closer at the protocol, it appears you are right, it does...

 

Here's what Wikipedia says. It's EXACTLY what I needed to know:

Quote

Many IPv6 routers, such as routers for residential networks, must be configured automatically with no operator intervention. Such routers require not only an IPv6 address for use in communicating with upstream routers, but also an IPv6 prefix for use in configuring devices on the downstream side of the router. DHCPv6 prefix delegation provides a mechanism for configuring such routers.

https://en.wikipedia.org/wiki/DHCPv6

 

Thanks for the help...

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×