implementing openlisp with lisp alt
play

Implementing OpenLISP with LISP+ALT Attilla de Groot Problem: BGP - PowerPoint PPT Presentation

Implementing OpenLISP with LISP+ALT Attilla de Groot Problem: BGP routing table 300.000 entries Entries used to load balance Updates used for traffic engineering No. of BGP entries Solution: Locator ID split Ip-address used


  1. Implementing OpenLISP with LISP+ALT Attilla de Groot

  2. Problem: BGP routing table • 300.000 entries • Entries used to load balance • Updates used for traffic engineering No. of BGP entries

  3. Solution: Locator ID split • Ip-address used as locator and id • Use separate addressing for location and endpoints • Mapping table for location -- endpoint

  4. Protocol: Locator ID separation protocol • Encapsulation solution • Separate addressing for locators and endpoints • Mapping table request & reply AS100 xTR AS200 xTR 1.1.0.0/16 2.2.0.0/16 Internet Loc ID: Loc ID: 240.0.254.10 240.0.254.20 1.1.1.1 2.2.2.2

  5. LISP + ALT • Overlay network • Based on standard protocols (GRE, BGP) • More aggregation in BGP Internet As100 As200 1.1.0.0/16 2.2.0.0/16 Gre tunnel Gre tunnel Alt network

  6. OpenLISP +-----+ +-------+ | | | | | V V | • FreeBSD implementation | +---------------+ +---------------+ | | | | | | | | | lisp_output() | | lisp6_output()| | | | | | | | • Kernel patch of IP stack | |_______________| |_______________| | | | | | | | | | +--------------------+ | | | | | | | | | | +-------------------+ | | | • Kernel API for mapping | | | | | | | | | | | | | | | | | | | | | (Transport Layer) | | | table management | | | / \ | | | | | | / \ | | | | V V V V V V | | +--------------+ +---------------+ | | | | | | | | | ip_output() | | ip6_output() | | | | | | | | | |______________| |_______________| | | | | | | | +-----+ | | +------+ \ / \ / V V (Data Link Layer)

  7. OpenLISP + ALT • GRE, FreeBSD GRE • BGP, Quagga • Mapping messages to ALT network • LISP4

  8. MapD Mapping UDP 4342 Daemon Map-reply Map-request Map-request Map-reply +-----+ +-------+ | | | | | V V | | +---------------+ +---------------+ | | | | | | | | | lisp_output() | | lisp6_output()| | | | | | | | Listen on Send on | |_______________| |_______________| | | | | | | | mapping socket mapping socket | | +--------------------+ | | | | | | | | | | +-------------------+ | | | | | | | | | | | | | | | | | | | | | | | | (Transport Layer) | | | | | | / \ | | | | | | / \ | | | | V V V V V V | | +--------------+ +---------------+ | | | | | | | BAD | | ip_output() | | ip6_output() | | DELETE ADD MISS REACH GET | | | | | | REACH | |______________| |_______________| | | | | | | | +-----+ | | +------+ \ / OpenLISP API \ / V V (Data Link Layer) Mapping Table FreeBSD Kernel

  9. Conclusion • OpenLISP on with LISP+ALT not yet possible • Separate Daemon needed • Most building blocks available

  10. Questions ?

Recommend


More recommend