Announcement : publicly available LISP and shim6 implementations

Olivier Bonaventure Olivier.Bonaventure at
Wed Jul 16 19:50:59 UTC 2008


During the last years, there have been many discussions about the 
scalability of the Internet architecture notably within the IRTF RRG.
With IPv6, thanks to its huge addressing space, it is possible to design 
protocols and mechanisms that are more scalable and more powerful than 
with IPv4. A typical example is the multihoming problem. This problem 
occurs when a site is attached to several Internet Service providers. 
With IPv4, the classical solution is for the site to obtain one IPv4 
prefix and advertise it by using BGP. This solution works and traffic 
engineering is possible, but unfortunately, it contributes to a 
significant growth of the BGP routing tables in the global Internet. 
With IPv6, the IETF decided to focus on a host-based technique. 
Basically, when a site is attached to n providers, each of its hosts 
will receive n different IPv6 addresses. This reduces the size of the 
BGP routing tables by avoiding to advertise the IPv6 prefixes used by 
the stub domains and provide many additional benefits in terms of path 
diversity or performance. Now that the shim6 standardization is being 
finalized by the IETF, it is time to validate this approach 
experimentally in the IPv6 Internet. Sebastien Barré has developed the 
first publicly available implementation of the shim6 IPv6 host-based 
multihoming on the Linux kernel. LinShim6 is available form

Other approaches to better scale the Internet architecture are being 
discussed, notably within the Routing Research Group of the Internet 
Research Task Force. Several of these approaches rely on separating the 
two roles of IP addresses: the locator role and the identifier role. In 
today's IPv4 Internet, IPv4 addresses are used both to indicate the 
location in the Internet topology of a host (the locator role) and to 
terminate the transport flows on end-hosts (the identifier role). This 
means that it is difficult to change the IP address of a host without 
disrupting transport flows.

The techniques that separate identifiers from locators take a different 
approach. First, an identifier is attached to each end-host. This 
identifier is used to terminate the transport flows. Second, each 
identifier may be reachable through multiple locators and a mapping 
mechanism is used to map an identifier (or a set of identifiers) onto a 
set of locators. This improves the scalability of the routing system as 
only the locators need to be distributed by BGP provided, of course, 
that the mapping system remains scalable. Furthermore, separating 
identifiers and locators has several additional benefits in terms of 
path diversity and performance. Some approaches propose to attach 
locators to hosts while other prefer to attach locators only to routers. 
The latter approach is the solution chosen by the proponents of the 
Locator/Identifier Separation Protocol (LISP). LISP is a router-based 
solution to solve the scaling problems of the Internet architecture that 
is currently being developed by Cisco.

There are still many open questions concerning notably the mapping 
between identifiers and locators. To allow researchers and network 
operators to experiment with LISP, the IP Networking Lab of UCLouvain 
releases OpenLISP. OpenLISP is the first publicly available 
implementation of LISP on the FreeBSD kernel. OpenLISP was designed and 
implemented by Luigi Iannone. You can find more details about OpenLISP 

Best regards,

Olivier Bonaventure

More information about the NANOG mailing list