BGP’s Cool Younger Brother Talks With a LISP
There’s been a lot of brouhaha lately about the fragility of the Internet. IP addresses are running out, silly folks are breaking BGP, routers are running out of resources… for how important this little thing we call the Internet is, it’s kinda freaky. You may or may not be aware, but these three problems I detailed could be addressed by a protocol that is making it’s way into the world called Location/Identifier Separation Protocol (LISP). Aside from the unfortunate acronym that it shares with the ancient programming language also called LISP, this is a pretty promising idea. Basically what it boils down to (and I’m over simplifying) is that it’s kind of like the layer 2 Ethernet methodology of tag stacking or Q-in-Q but for layer 3 IP traffic between autonomous networks.
OK, here’s where it gets heavy. The key concept of LISP is splitting both the source and destination addresses of a packet into two parts, a Route Locator (RLOC) and an End Point Identifier (EID). The purpose of this is to split identification of each individual host from the network (think Autonomous System) it originated from. At the border of a network the RLOC and EID are processed but inside the local network the EID works in it’s usual capacity (routed IPv4, IPv6, IPvWhatever). There are two types of routers that fulfill this exchange to and from the network border to the Internet at large called Ingress Tunnel Routers (ITR) which sends the packets to the Internet and Egress Tunnel Routers (ETR) which receives packets from the Internet (If you think those sound backwards, you’re not alone). If there is not an EID to RLOC mapping already in the router, a lookup is required. The lookup of how an EID maps to an RLOC is performed by sending the packet destined for the other network into the LISP Alternate Topology (LISP-ALT). LISP-ALT exists solely for these lookups to establish mappings from an EID to an RLOC. The LISP-ALT mapping infrastructure is built as a network overlay using Generic Routing Encapsulation (GRE) tunnels and BGP Multiprotocol Extensions (MP-BGP). A “Data Probe” packet requesting a mapping is sent over a GRE tunnel to a peered ETR and replied to by the router with the mapping in the LISP-ALT infrastructure with a “Map Reply” packet that contains the EID to RLOC mapping. Once this lookup is performed and the ITR has the mapping, it will cache and continue to use the mapping forwarding a destination EID to the proper RLOC without requiring another “Data Probe” packet to be sent.
So here are some of the key benefits to LISP:
- Protocol Independent - LISP doesn’t care if the EID or the actual packet payload is IPv4, IPv6 or IPv18 (no it doesn’t exist yet, but it might!) it just puts a wrapper on the packet and sends it along.
- Smaller routing table and rapid convergence times - All of the volatile changes will be at the edges so the RLOCs will stay mostly the same. There will be few routing entries in the public networks between RLOCs and little routing churn.
- Inherit Multihoming, Load Balancing and Redundancy - Because of the LISP-ALT overlay and some new weighting and priority techniques introduced, there are a lot more options for connecting from multiple places and what you can do with the traffic between those networks.
So that’s a little run down on LISP. Watch for it. It has a long way to go but seems like it could be a serious alternative for today’s scaling issues.
IP Journal have good article about LISP:
http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_11-1/111_lisp.html