Locator/Identifier Separation Protocol

Un article de Wikipédia, l'encyclopédie libre.
Le logo de LISP.

Le Locator/Identifier Separation Protocol (LISP) désigne un changement de l'architecture Internet qui permet de séparer deux rôles distincts joués par des adresses IP : celui de localisateur (où se trouve une machine sur le réseau) et celui d'identificateur (chaque appareil connecté a une adresse IP différente). Il est décrit par la RFC 6830[1] et a été originellement proposé par Cisco en 2009[2].

Problème[modifier | modifier le code]

Une adresse IP sert deux buts distincts :

  • comme identificateur d'une machine dans un réseau,
  • comme localisateur utilisé par le routage, pour acheminer le trafic dans un réseau IP.

Si à l'origine ces deux buts étaient similaires, aujourd'hui deux adresses IP proches sont potentiellement éloignées pour le réseau, ce qui rend le routage plus complexe.

Exemple[modifier | modifier le code]

Une personne A est située à l'est. Si cette personne change d'emplacement pour celui de B, à l'ouest, elle a encore l'identité A, mais son emplacement devient B.

Par exemple A possède l'adresse IP x.y.z.1 lorsqu'il réside à l'est. Après avoir déménagé, sa nouvelle adresse IP (attribuée typiquement par DHCP), pourra être w.z.y.9 : cette IP reflète le changement d'emplacement, mais également d'identité pour A.

Historique[modifier | modifier le code]

C'est en que l'Internet Architecture Board exprime son intérêt[3] pour une architecture supportant la montée en charge du routage et de l'adressage, dans un contexte d'épuisement des adresses IPv4. Plusieurs propositions ont émergé, chacune proposant une séparation entre localisation et identification sur le réseau. Le nom « Loc/ID split » est pour cela parfois utilisé[4].

Propositions[modifier | modifier le code]

Plusieurs propositions ont vu le jour pour séparer ces deux fonctions :

  • Mécanismes basés sur le réseau :
    • GSE/8+8
    • Locator/Identifier Separation Protocol (LISP)
  • Mécanismes basés sur les hôtes :

Dans l'approche LISP, les routeurs sont responsables de l'association entre les End-point-identifiers (EID) et les route-locators (RLOC), ce processus étant transparent pour les hôtes.

Fonctionnement[modifier | modifier le code]

Schéma de fonctionnement de LISP.
Principe d'un header avec LISP.

Quand un hôte d'un domaine LISP veut contacter un serveur d'un domaine LISP, le trafic est intercepté par un routeur ingress (iTR) qui détermine le RLOC associé au EID de la destination en consultant le service d'annuaire EID-RLOC. Le trafic sera ensuite encapsulé à destination du RLOC de destination qui fait office d'egress router (eTR).

L'accès au domaine LISP par un hôte d'un domaine non LISP utilise un proxy qui se charge d'interroger le système d'annuaire et d'encapsuler le trafic.

Le cœur du réseau n'a donc pas besoin de connaître l'espace d'adressage EID.

Terminologie[modifier | modifier le code]

  • Routing Locator (RLOC) : Un RLOC est la sortie d'un egress tunnel router (ETR), aussi bien en IPv4 ou IPv6
  • Endpoint ID (EID) : Un EID est une adress IP (IPv4 ou bien IPv6) utilisé comme source et destination des champs address du premier header LISP d'un paquet.
  • Egress Tunnel Router (ETR) : Un ETR est le point de sortie du tunnel : il accepte un paquet IP où l'adresse IP de destination est une des IP d'un RLOC.
  • Ingress Tunnel Router (ITR) : Un ITR est le point d'entrée du tunnel : il reçoit les paquets des équipements terminaux du site, et renvoie des paquets encapsulés avec LISP, vers un ETR de l'autre côté.
  • Proxy ETR (PETR) : Un PETR est utilisé pour l'interconnexion entre les sites LISP et non LISP. Un PETR se comporte comme un ETR, mais le fait pour les sites LISP qui envoient des paquets vers des sites non-LISP.
  • Proxy ITR (PITR): Un PITR est utilisé pour l'interconnexion entre les sites LISP et non-LISP. Un PITR se comporte comme un ITR, et agit sur les paquets envoyés par les sites non-LISP vers les sites LISP[5].
  • xTR : Un xTR joue à la fois les rôles d'ITR et d'ETR[5].
  • Re-encapsulating Tunnel Router (RTR): Un RTR est utilisé pour les communications de site LISP à site LISP, lorsque la communication directe n'est pas supportée. Par exemple un site uniquement en IPv4 avec un site uniquement en IPv6[6].

Utilisation[modifier | modifier le code]

Le bénéfice escompté est de trouver une solution de multi-homing qui ne fasse pas appel à des adresses de type Provider Independent comme actuellement, ce qui empêche l'agrégation et nuit au bon fonctionnement du routage sur Internet. Le recours à un NAT serait également dissuadé.

Ce protocole permet aussi la communication entre IPv6 et IPv4 et permet la mobilité[7].

Un groupe de travail a été créé au sein de l'IETF en vue de développer LISP[8].

L'utilisation de Lisp pourrait aider à la virtualisation du réseau[9].

Notes et références[modifier | modifier le code]

  1. (en) Dino Farinacci et al., « The Locator/ID Separation Protocol (LISP) », Request for comments no 6830,
  2. (en) Margaret Rouse ; Jessica Scarpati, « Cisco LISP (Location Identifier Separation Protocol) », sur techtarget (consulté le )
  3. (en) « RFC4984 - Report from the IAB Workshop on Routing and Addressing » (consulté le )
  4. (en) « IETF I-D Architectural Implications of Locator/ID Separation »
  5. a et b (en) « Interworking LISP with IPv4 and IPv6 »
  6. (en) « NAT traversal for LISP »
  7. Christophe Bardy, « CiscoLive : Cisco montre les capacités de LISP en matière de mobilité », sur le mag IT, (consulté le )
  8. Locator/ID Separation Protocol (lisp) Working Group
  9. Jacques Cheminat, « LISP, un élément de la virtualisation du réseau pour Cisco », sur le monde informatique, (consulté le )

Liens externes[modifier | modifier le code]