A new experimental approach to routing on the Internet is maturing. It’s called Locator-Identifier Separation Protocol (LISP), and I am proud to have worked on it with people like Dino Farinacci, Vince Fuller, Dave Meyer, Scott Brim, Darrel Lewis, Wolfgang Riedel, and Greg Schudell.
In 1993 and 1994, Paul Traina, Tony Li, and Yakov Rehkter led a rag tag effort to quickly get all the service providers to BGP 4 so that CIDR-based aggregation could save Cisco routers from hitting the dreadful 20,000 route limit. This involved a substantial operational change over a very short period of time, where people like Sean Doran at Sprint and Vince Fuller at BARRNET (who I think still used Proteons back then) as well as others went from router to router, quickly bringing up the new version of very fresh code. Talk about stress!!
Today, that number of routes looks like a blip, and in fact you can barely see the drop in the graph. In 1994, there were already 21 million users, representing a scaling factor of just over 1000. With over 2.4 billion people using the network today and 440,000 routes in the system, that represents a scaling factor of just under 5,500. Put another way, for one route, on average 5,500 people use the Internet. It’s a lot more complex than that because generally speaking only sites that have more than one Internet connection show up in the routing table. Still, based on that scaling factor, to get to today’s entire world population of 7 billion would require an additional 835,000 routes or so, and all the associated processing, which still makes some of us nervous. In the so-called Internet of Things (what connected before that term?), that number becomes a bit more unhinged in as much as it is not directly tied to the population. Tony Li has continually cautioned us on the risks of feeling good about Moore’s Law, and how it generally doesn’t apply to specialized routing devices..
LISP’s work, as well as that of ILNP, considered these issues. LISP functions as an overlay, not requiring the core of the Internet to have edge routes, effectively pruning any given routing tree by one level.
LISP-NERD focused on two particular aspects:
- Is it possible to make a separation between operational state and provisioned state within the routing system, on the basis that (a) the core of the network is extremely stable and (b) edge instability could be managed through the Locator Status bits in LISP to reduce the amount of managed operational state?
- Is LISP’s mapping function properly separated from the core? Having multiple mapping system makes it possible to test the abstraction. Other mapping systems would have served this purpose equally well.
I still encourage the development of LISP and alternatives like ILNP under the assumption that even though 835,000 sounds like a small number, there are many restrictions built into that number, specifically that will either undo themselves, or prevent us from selling more gear (and I’m specifically thinking about multihoming in the home).