[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
draft-wbeebee-ipv6-cpe-router-03
I think an important question is how firm we want to be on the issue
of cascading CPEs.
With IPv4, you can nest/cascade CPEs that do NAT, which makes life
harder on NAT traversal protocols but otherwise works without trouble.
Because with IPv6, each CPE needs a prefix for its LAN interface(s)
cascading CPEs without some kind of support from the ISP and upstream
CPEs isn't possible. Basically, what needs to happen is that the first
CPE gets a prefix from the ISP, and then implement a DHCPv6 server
that delegates smaller prefixes to downstream CPEs.
The first CPE can't simply relay the request to the ISP, because even
if we can presume the ISP to be generous and give more than one prefix
to a single subscriber, the first CPE needs to install this prefix in
its routing table. So that would require extensive DHCP relaying
logic. So the situation where the CPE acts as a DHCPv6 server makes
more sense. (Note that in the case where the cascading happens, we
would also want the upstream CPE to disable its firewall for addresses
in the delegated prefix to avoid double firewalling.)
Now I could see how vendors (especially of cheap) CPEs may not want to
implement all of this. But in the case where such a CPE is provided by
a broadband ISP and has a non-ethernet WAN port, the end-user would be
unable to buy a premium CPE and be stuck with whatever suboptimal
features the ISP-provided CPE incorporates. This is bad for everyone.
The situation where the customer can go out and buy a better CPE is
good for:
- the CPE vendors: more CPEs sold
- the ISPs: the ISP-provided CPEs don't have to be all things to all
people
- the consumers: choice
So in the case that a CPE vendor doesn't want to implement the DHCPv6
server necessary for cascading, I think we should mandate that the
first CPE, when it detects that a secondary CPE is connected on the
LAN side, becomes a transparent bridge. (Insert DHCPv6 option to make
this happen.)
Unfortunately, this mode of operation would be incompatible with
additional requirements for address assignment/registration and the
use of a single, known good MAC address that broadband ISPs may
impose. So I guess when those requirements are present, we're back
with requiring a DHCPv6 server in the CPE.
Implementing a DHCPv6 server in the CPE rather than relaying DHCPv6
requests to the ISP also reduces the amount of DHCPv6 traffic seen by
the ISPs, which could be helpful.
Is the above something we can agree on?
Here are some more detailed comments on the draft:
You point to the IPv6 node requirements. I thought that router
requirements would be more appropriate, but although there is an IPv4
router requirements document penned by our esteemed chair, there is no
such document for IPv6...
mDNS - Multicast Domain Name System - see http://
www.zeroconf.org.
There's a bunch of multicast DNS related drafts floating around, maybe
you can link to the most relevant one of those?
If stateful DHCPv6 is not used to obtain other
IPv6 configuration, then stateless DHCPv6 [RFC3736] must be
initiated
by the WAN interface to obtain other IPv6 configuration.
must or MUST?
I don't think there is any reason to use statless DHCPv6, because the
router must always do stateful DHCPv6 to obtain a prefix anyway. It
would be extremely unlikely that the server wouldn't return other info
such as DNS addresses statefully but then provide this information if
queried again statelessly.
BTW, what happens if the prefix delegation request fails and there is
no prefix?
5.3.3. Both Models
At any instance in time of the CPE Router operation, the router does
not forward any traffic between its WAN and LAN interface(s) if the
router has not completed IPv6 provisioning process that involves the
acquisition of a global IPv6 address by the WAN or if the WAN is
unnumbered and there is no GUA available to source WAN packets.
A router generally doesn't source packets itself, so the presence of a
WAN address doesn't really impact the router functionality...
This document recommends the RA sent out by LAN Interface(S) to be
configured for SLAAC so that the prefix advertised in the RA is
derived from the IA_PD assigned to the CPE Router by the Service
Provider; the O-bit is also set so that the CPE Router can pass
Domain Name Server(s) IPv6 address(es) to home devices. The CPE
Router obtained the Domain Name Server(s) in OPTION_DNS_SERVERS
option from the DHCPv6 server when the CPE Router WAN interface
completed DHCPv6.
It would be good if CPEs would also insert DNS addresses in RAs as per
RFC 5006. If requiring the support of an experimental RFC is a bridge
too far, at the very least say this is a good idea and point to 5006.
It would be useful to tell people to align the timers in RAs with
those in the PD delegation for easier renumbering. Note that during
renumbering hosts may source packets with the old addresses even
though the new ones are already available. This shouldn't cause
trouble, but in cases where routes or filter rules are created,
multiple sets of these are necessary during transition from one prefix
to another.
For the purpose of shim6 support: it would be possible for a user to
get service from two different ISPs and then hook up a third CPE to
the two connected to these ISPs. This third CPE would then get a
subdelegated prefix from each ISP. So either this CPE should support
this, and use two prefixes at the same time, and send packets with
source addresses from ISP A to the CPE that gave out addresses from
ISP A, and packets with B addresses to the B CPE, or it should only
accept one prefix and then make sure that all packets go to the router
that delegated that prefix.
8.1. Path MTU Discovery Support
When the WAN MTU is less than 1500 (such as in the case of PPPoE), the
router should put the WAN MTU in the RA MTU option on the LAN side so
the hosts use the reduced MTU and adjust their TCP MSS accordingly,
reducing the likelihood of trouble because of PMTUD black holes.
8.2. Optional RIPng Support
Is this useful?
8.3. Firewall
There must be a way for the user to disable the firewall if desired.
These CPEs will be dual stack but they may be connected to an IPv4-
only or even IPv6-only network. (Intentionally or by mistake, maybe
one protocol has failed but the other still works, we certainly don't
want fait sharing here...)
In the case where IPv4 is non-functional, a router MAY still advertise
private addresses, which can be used for configuration or DNS lookups
(if the CPE is a DNS forwarder, useful in the case of OSes that can't
do DNS over IPv6 transport (Windows XP) or have no autoconfiguration
of IPv6 DNS addresses (MacOS)) but MUST NOT provide a default gateway
so that the hosts know they can't send packets towards IPv4
destinations so long timeouts are avoided.
In the case of non-functional IPv6 but working IPv4, it's probably
best to not let hosts autoconfigure addresses and also not have RAs
create default gateways, because some OSes take the former to mean
that there is working IPv6 and others the latter.
Please let me know what of the above is non-controversial and I'll
submit text, if desired.