Apparently people are still having a hard time visualizing use cases for ULA-C, so let me try again to lay one out:

Let's say I build a somewhat ad-hoc wireless mesh network covering a residential area to provide Internet service. For my Internet connectivity, I get service from several different ISPs, each of which gives me an IPv6 subnet (PA space). As this is a wireless network based on inexpensive hardware often deployed in a residential setting (and possibly involves some mobility), I can't count on any portion of my network to maintain reachability to any particular ISP uplink. In addition, I am likely to change ISPs over time, and I'm too small to qualify for PI space, so I choose to number my internal network infrastructure out of private (ULA) space. In parallel, I also use DHCP, DHCP-PD, etc. to assign subnets of my various PA space to users on various portions of my network (thereby giving them IPv6 address(es) of whichever Internet uplinks are available to them). (I may also use some form of DHCP to assign PA space to my router interfaces, or I may choose to hide that detail by doing my mesh networking below layer 3, or I may choose to use ULA space there and rewrite the source address of any ULA-sourced packets leaving my network for the Internet.)

Now let's say I am thinking a little bit bigger than just my neighborhood, and would also like my network to connect to neighboring mesh networks. (This could fairly easily evolve into an arbitrarily large internetwork enabling disaster-resistant connectivity across neighborhoods, cities, or entire regions.) In order to facilitate troubleshooting, I elect to use ULA-C space for my network infrastructure, including router interfaces, (and either rewrite source addresses of any packets (presumably ICMP) my routers send out to the Internet, or also assign PA space to each interface with something like DHCP-PD, so that the router can use IPv6 address selection to use a public address for packets destined for public Internet addresses). As before, I would give out PA subnet(s) to users for Internet connectivity, but I might also elect to give them ULA addresses to communicate with other hosts on my mesh network and neighboring ones.

In a situation like this, I need to be able to resolve PTRs for hosts using my neighboring networks' ULA space without any prior knowledge about the neighboring wireless network. If both networks are numbered out of ULA-C space, this is easy: I send my PTR queries to my regular DNS resolver, which has a PA address and Internet connectivity, and can resolve the PTR from the DNS server authoritative for my neighboring wireless network's ULA-C block.

So, again, I see that ULA-C is a very simple solution to fill a very useful function that cannot be filled by local ULAs alone (at least without adding additional complexity to DNS). Importantly, this functionality does not depend on ULA-C providing an additional assurance of uniqueness, but on the fact that my block (and its authoritative DNS servers) can be registered, and others can query the registered data.

As IPv6 adoption takes hold and dynamic wireless networking becomes cheaper and more widespread, I would see this kind of use case, and its many permutations, becoming more and more common. Can you describe a way to use existing address types available to small networks (PA and ULA-L) and existing DNS technologies to support the requirements listed above? If not, I would argue that we should complete the process of ULA-C standardization, as it represents the simplest available solution to the problem.


-Scott

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to