Cisco Nederland

LISP [1] – Wat kan LISP voor u doen

3 min read



[vc_row][vc_column][vc_column_text]

Samenvatting

Het LISP-protocol biedt een organisatie met meerdere vestigingen de mogelijkheid om applicaties in datacenters of in de cloud naar believen te verplaatsen zonder IP-adressen te wijzigen en – ondanks deze verplaatsing – vanuit iedere vestiging het optimale pad door het netwerk naar de applicatie te gebruiken.

Welk probleem lost LISP op

Zowel een IPv4-adres als een IPv6-adres wordt voor twee zaken gebruikt:

  • Het identificeren van een server en zijn applicaties
  • En het aangeven van de plaats waar deze server staat in het netwerk

In de tijd dat servers op een vaste plaats stonden en nauwelijks bewogen, was deze combinatie van bovenstaande punten geen probleem. Het viel de meeste mensen niet op dat een IP-adres beide doelen diende.

Nu servers vaker van plaats worden veranderd, zoals het verplaatsen van virtuele machines (VM) tussen datacenters of naar de cloud, begint de combinatie een probleem te worden.

Normaal heeft een VM die actief is in datacenter A, een IP-adres dat thuishoort in datacenter A.

Afbeelding

Als we VM-A verplaatsen naar datacenter B (of naar de cloud) dan doemt het probleem op wat te doen met het adres van VM-A: houdt VM-A zijn adres uit datacenter A of krijgt VM-A een nieuw adres in B?

Afbeelding

Als we het adres ongewijzigd laten, zoals in bovenstaand voorbeeld 10.40.7.38, dan kunnen bestaande sessies overleven en kan iedereen die het adres van VM-A vast in een tabel heeft of hard gecodeerd heeft, VM-A nog steeds vinden. Echter iedereen die een verbinding probeert op te bouwen met VM-A, wordt door zijn routers naar DC1 gestuurd, want daar zit het subnet 10.40.7.*

Afbeelding

Vanuit DC1 moet het verkeer dan maar worden doorgesluisd naar DC2.
Het alternatief is om VM-A een adres te geven in DC2. Nieuwe sessies gaan nu netjes meteen naar DC2. Nadelige effecten van deze keuze zijn echter:

  • We verliezen bestaande sessies
  • Vaste verwijzingen naar VM-A zijn fout
  • De configuratie van VM-A moet mogelijk worden aangepast, bijvoorbeeld voor zijn default router.

Hoe lost LISP dit op

Door de functies van identificatie en locatie in het adres los te koppelen. Om dit te kunnen wordt de DNS-query gebruikt. In een traditionele situatie krijg je als antwoord op een DNS-query een IP-adres:

Afbeelding

In de LISP-situatie wordt een aparte variant van een ‘DNS server’ gebruikt, de LISP Mapping Resolver/Servers:

Afbeelding

Deze Mapping-server geeft twee adressen in zijn antwoord: het adres van VM-A, dat uiteindelijk terechtkomt bij de cliënt en als extra het adres van de DC-router waarachter VM-A zit. Dit adres wordt door de branch-router in het kantoor gebruikt om een tunnel op te zetten naar de router in DC2:

Afbeelding

De branch-router stuurt al het verkeer voor VM-A door de tunnel naar de router bij DC2. Het adres van VM-A wordt door tussenliggende routers als A en B niet gezien en hoeft dus niet in het WAN routeerbaar te zijn.

Reactie van LISP als VM-a verplaatst wordt

Als VM-A wordt teruggeplaatst naar DC1:

Afbeelding

…dan zal een router in DC1 detecteren dat VM-A weer in DC1 aanwezig is.

  • De DC1-router geeft aan de Mapping-server door dat VM-A nu in DC1 is.
  • De Mapping-server informeert router 192.68.4.2 dat VM-A niet meer in DC2 is.

De branch-router weet nog niets en stuurt pakketten naar DC2.

  • Router 192.68.4.2 ziet verkeer voor VM-A uit de tunnel komen en meldt terug aan de branch-router: Ik ken geen VM-A.
  • De branch-router gaat naar de Mapping-server en vraagt: waar zit VM-A?

Afbeelding

Hij krijgt te horen dat VM-A tegenwoordig achter router 192.68.20.1 zit. De branch-router zet een nieuwe tunnel op naar DC1:
Afbeelding

Vervolgens loopt de sessie tussen de client en VM-A ongestoord verder, nu door de tunnel tussen de branch-router en 192.68.20.1. Voor client en server zijn er geen IP-adressen gewijzigd, geen sessies verloren, geen tabellen in servers of clients gewijzigd, en is alles on-the-fly.

Voordelen van LISP

  • Servers kunnen probleemloos verplaatst worden tussen datacenters of naar de cloud. Hierbij zijn geen wijzigingen op de clients of op de servers nodig
  • Feitelijk hebben we geen NAT meer nodig. Kijk in bovenstaand voorbeeld, de adressen van de clients en de servers zijn in het tussenliggende netwerk (bijvoorbeeld het Internet) onzichtbaar
  • Feitelijk hebben we geen MPLS-VPNs of andere VPNs meer nodig: de Mapping-server kan verschillende clients verschillende antwoorden sturen en ze binnen gesloten-gebruikers-groepen houden
  • Als de hele wereld LISP zou gebruiken, kun je je afvragen of we IPv6 nodig zouden hebben

Overigens kan LISP werken met IPv4-in-IPv4, met IPv4-in-IPv6, met IPv6-in-IPv4 en met IPv6-in-IPv6.[/vc_column_text][/vc_column][/vc_row]

Authors

Fred Rabouw

Systems Engineer

Sales - Netherlands

Reageer