[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
IPv6 broadband provisioning
Hi,
(I posted largely the same message to the internet area list yesterday
because we had extensive discussions there about DSL Forum stuff.)
One of the things that we haven't quite figured out about IPv6 is how
broadband deployment would work. I think it would be good if we can
agree that customer routers can request an IPv6 prefix using DHCPv6
prefix delegation. Since there is really no other way to do this, I
don't expect that to be too controversial.
The problem is how ISPs get to enforce restrictions on how packets
flow from devices connected to the DSL or cable modem (or link, a user
could buy their own modem which isn't controlled by the ISP). If there
is a dedicated physical or virtual interface per customer, this is all
simple enough. But I understand this isn't necessarily the case, and
moving in that direction could be costly. So here's another approach.
Please let me know what you think.
The first device under the control of the ISP, or at least a device
very low in the aggregation hierarchy, to intercepts router
advertisements from the ISP's IPv6 router and slightly modifies them:
it basically injects some bits that are particular to the customer/
line, so that every customer sees RAs with a prefix unique to them.
For instance, if an IPv6 router sits on top of two layers of layer 2
aggregation devices, the IPv6 router sends out router advertisements
with prefix 2001:db8:31::/64. The lowest layer of aggregation devices
then insert a 16-bit customer or line ID in bits 48 - 63 so that
customer 9 sees 2001:db8:31:9::/64 and customer 10 2001:db8:31:a::/64
and so on. (The router advertisements can also be generated by the
layer 2 device itself, but there probably needs to be some centrally
configured info in there, too.)
Customers without an IPv6 router do normal IPv6 stateless autoconfig
so the lower 64 bits of the addresses are random, but the ISP only
sees packets with the customer ID number somewhere in the higher bits
so they know which packets come from which customer. The layer 2
infrastructure can safely impose the restriction that all customer
traffic goes to the IPv6 router and not to other customers, because
customers don't know their neighbor's prefix is on-link so they'll
send those packets to the router anyway. And the router doesn't need
an address in all those prefixes, the users only need to know its link
local address. (Of course add ingress filtering as required.) The
router is simply told that all of 2001:db8:31::/48 is on-link so it
will do ND for all customer machines, but it doesn't send redirects.
(I would probably implement a per-customer ND cache LRU algorithm to
prevent one user from DoSing a whole town by generating large amounts
of addresses that the router must do neighbor discovery for. There is
no reason why a user wouldn't be able to connect a large number of
machines using a switch but this may not be altogether desirable from
the ISP's perspective.)