William Herrin wrote:
On Tue, Feb 26, 2008 at 12:34 PM, Tony Li <tli@cisco.com> wrote:On the mapping area, we have push systems and pull systems. Both have substantial drawbacks. Are there better hybrids? Are there alternatives?Alternatives? Information theory has some useful things to say about information flow but the last I heard there are really only five ways to get information: 1. You're told (unsolicited). 2. You seek and find out (solicited). 3. You're born with it (instinctual). 4. You extrapolate it from information you already have (deduction). 5. Divine inspiration. Push and pull correspond to the first two. If someone has a lead on routing protocols that work using the last three, I'm all ears.
Not so much routing protocols, but forwarding mechanisms.Note that this depends on some signaling on reachability, either explicitly flooded, e.g. as a new SAFI carried by BGP, or reactively produced, e.g. ICMP unreachables.
4. Extrapolate.Use addressing (for dual-homing) which encodes *both* uplink addresses, and facilitates easily swapping which of two addresses to use.
This effectively embeds the Identity *in* the Location. Given: PA assignment A, and PA assignment B, each of length <= 64.Build: Addresses A + (bits) + B + (bits), and B + (bits) + A + (bits). Make both "real" (either with 1:1 NAT on CPE router(s), or as actual interface addresses on hosts).
There are effectively 2xN bits of host addressing, for every N bits of prefix space delegated from the PA blocks.
If a /56 is given by A, and a /56 is given by B, there are 8+8 = 16 total bits for mapping/assigning to hosts/subnets. (1:1 NAT is left as an exercise for the reader.)
So, a home user would be able to support 65K dual-homed, globally routed and reachable "EID" addresses. And a site given a /48, would have 32 bits of host space available - the amount of space in IPv4. (!!) I think that both of the above should suffice for the vast majority of sites that don't qualify for or want PI space.
How does it work?If either the host under A's interface, or all of prefix A, is unreachable, flip top and bottom 64-bit component (or do a look-up based on the bottom 64-bit component).
Cool observation: The intersection between Interface Identifiers built using EUI-64 (which begin with OUI-24 values), and the Unicast address space's top 64 bits is: nil, nada, nothing. 2000::/3 (truncated at 24 bits), is a range that does not appear at all in OUI-24. This means that there is no ambiguity or overlap between autoconfigured interface identifiers, and prefix-based dual-homed addressing of this sort.
So, if we presume that swapping the top and bottom 64-bits of a 128 bit address (in a fixed location) is as easy to do as 1:1 NAT in hardware, there is a good chance that most current hardware should be able to perform this in the fast path.
The addition of an unreachable SAFI in BGP for more-specifics from PA blocks is an important optimization.
Note also, that the swapping of top/bottom 64-bit values is something that could be done by the IP stack itself, in response to ICMPv6 messages, after vetting the sanity of the bottom half as a destination address.
I'm not sure if this is clear enough; perhaps I should write it up as an actual I-D, and/or present this at Philedelphia.
Brian Dickson -- to unsubscribe send a message to rrg-request@psg.com with the word 'unsubscribe' in a single line as the message text body. archive: <http://psg.com/lists/rrg/> & ftp://psg.com/pub/lists/rrg