[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: One socket per AF (Was: 6to4 using ::FFFF:0000:0000/96...)



> * There's no standard for how clients/servers should respond to these,
> leading to breakage already. If you send a Linux server a packet
> to ::FFFF:0102:0304 it responds back using its v4 stack with 1.2.3.4.
> Windows uses its v6 stack, even when it probably doesn't make sense to
> (through 6to4/Teredo tunnels). Mac OS X and the BSDs drop all packets
> in ::FFFF:0:0/96 and ::/96 going in/out.

What about KISS? The current specification of ::FFFF:0:0/96 is essentially that of a "magic value". According to some, whenever that magic value is encountered, something extraordinary shall happen, such as switching to a different network level protocol. This is a recipe for trouble, because it breaks the "keep it simple" rule.

What we have for every other address prefix is simple. V6 packets are sent using V6, and the outgoing interfaces are chosen according to V6 routing rules. In a host, the header of incoming V6 packet is checked, and unicast packets are rejected if the particular destination address is not recognized as a valid address for the receiving interface. In a router, packets are routed according to routing tables, and if no route is configured packets are dropped. Some routers may also perform ingress filtering. Anything more complex than is guaranteed to cause problems.

I think that Itojun was right, and we should simply deprecate the ::FFFF:0:0/96 prefix.

-- Christian Huitema