2. CONTENU
Introduction ............................................................................................................................................................ 2
Nos démarches................................................................................................................................................ 3
Les implémentations de LISP .................................................................................................................................. 3
Description détaillé de OpenLISP............................................................................................................................ 3
Les pré-requis.................................................................................................................................................. 5
Description de la configuration....................................................................................................................... 5
Les avantages et les inconvénients de OpenLISP............................................................................................ 5
Description détaillé de LISPmob ............................................................................................................................. 6
Les prérequis sur le réseau ................................................................................................................................. 6
Avantages/Inconvénients.................................................................................................................................... 6
Configuration .................................................................................................................................................. 7
Mise en oeuvre pratique de LISPmob ................................................................................................................. 7
Analyse du trafic avec WireShark.................................................................................................................... 9
Description detaillé de LISP by CISCO ................................................................................................................... 10
Les avantages et les inconvénients de LISP by Cisco......................................................................................... 11
Description de la configuration......................................................................................................................... 11
Conclusion............................................................................................................................................................. 14
References ............................................................................................................................................................ 15
INTRODUCTION
LISP est un protocole basé sur la théorie de séparation de l’identificateur et du
localisateur, c'est une des propositions les plus réussies mises en pratique pour faire
face au problème de l'évolution des tables de routage de la DFZ et est l'une des
idées discutées par le Internet Research Task Force dans le but de concevoir une
nouvelle architecture de routage évolutive.
A la suite de la documentation et du travail de recherche que nous avons préparé
autour du sujet LISP, notamment sur les bases du protocole LISP, ses bases et aussi
ses différentes applications: multihoming, transition IPv6, virtualisation, VM
mobility… nous présentons ce document comme étant un support
d'expérimentation détaillant les majeures implémentations de LISP : OpenLISP,
LISPMob, LISP by CISCO.
Nous nous sommes basés sur un nombre significatif de ressources et de références
listées en fin du document pour bien étudier les solutions LISP présentes, leurs
avantages ainsi que leurs limitations.
3. NOS DEMARCHES
Nous avons commencé nos démarches pour implémenter LISP par rechercher car il
n’était pas disponible sur les router CISCO que nous avions a notre disposition. Nous
nous sommes rendu compte que ce n’était pas le cas et c’est tout naturellement que
nous nous sommes intéressés à OpenLISP qui semblait fournis tout ce qui nous est
nécessaire. Il ne nous a pas paru nécessaire dans un premier temps d’essayer
d’implémenter LISPmob car l’aspect mobilité ne nous est pas nécessaire.
Cependant, l'environnement Linux de LISPmob en a fait un candidat premier car
OpenLISP n’est compatible qu’avec FreeBSD qui nous a pas familière.
LES IMPLEMENTATIONS DE LISP
Il existe différentes implémentations du protocole, montrant l'intérêt de la
communauté internationale envers le protocole. Les plus connus et les plus
développés sont:
LISP PAR CISCO DANS LEURS SYSTEMES D'EXPLOITATION: IOS ET NX-OS
Cisco a développé sur certain système d’exploitations comme IOS les fonctions LISP
sur router ou équipement pouvant servir de ITR, ETR, MS, MR, PITR et PETR
OPENLISP, PAR L'UNIVERSITE CATHOLIQUE DE LOUVAIN
OpenLISP [1], l'un des la mise en œuvre figurant avant, est un logiciel open source
qui est possible d'utiliser pour commencer à utiliser le protocole de LISP.
OpenLISP met en œuvre le protocole de LISP et s’exécute sur le noyau du système
d'exploitation FreeBSD.
LISPMOB, VERSION OPEN SOURCE POUR GNU / LINUX ET ANDROID
LISPmob [2] est un open-source LISP-Mobile mise en œuvre de nœud pour
Linux. Avec LISPmob, les hôtes peuvent modifier leurs points de connexion au réseau
sans perdre la connectivité et tout en maintenant la même adresse IP.
DESCRIPTION DÉTAILLÉ DE OPENLISP
OpenLISP est une implémentation Open Source du protocole LISP, mise en oeuvre
sur une distribution FreeBSD. Cette implémentation gère à la fois l’encapsulation
4. ainsi que le système de correspondances EID->RLOC.Le travail de mise en œuvre
d’OpenLISP a été partiellement soutenu par la Commission européenne dans
l'AGAVE, Trilogy projets et une subvention Cisco URP.
OpenLISP implémente des fonctions d’encapsulation / desencapsulation,
ainsi que met en place un cache LISP et une base de données directement sur
Kernel. Il supporte aussi un système de correspondance en utilisant une API.
La nouvelle API introduite par OpenLISP, qui est une solution basée sur les
sockets, est nommé “Mapping Socket”. Cette API complète OpenLISP en l’attribuant
comme la plateforme idéale pour l’expérimetation de LISP, puisqu’elle permet de
dépasser les problèmes relatives à la correspondance EID-RLOC..De plus, Cette API
offre aussi une selection de fonctions qui permettent l’interaction entre l’espace
Kernel et les démons qui tournent sur l’espace utilisateur.
En outre, cette solution peut permettre à davantage de fonctionnalités liées à la
gestion de priorité, comme l'utilisation du champ de priorité que LISP associe à
chaque RLOC, et de choisir le locateur à grande priorité, dans le cas où le même
dispositif a de nombreux localisateurs à la fois, selon la préférence du routeur
distant.
On détermine aussi ISP Driven Informed Path Selection(IDIPS) , qui est une
solution d'ingénierie de trafic présentée par OpenLISP. IDIPS permet de classer les
chemins donnés par un FAI. puis mettre à jour le cache de OpenLISP avec la nouvelle
sélection des RLOCs triées par priorité. De cette façon, il donne la possibilité de
choisir le meilleur chemin vers le routeur distant.
LA MISE EN ŒUVRE DE LA TABLE DE CORRE SPONDANCE EID-RLOC:
OpenLISP définit deux tables de correspondances distinctes. Une table est une table
de cache pour les mapping de courte durée, l'autre est défini localement et est
disponible pour les préfixes EID. Les correspondances dans les tableaux contiennent
les mesures nécessaires, telles que le poids, la priorité et la valeur MTU.
LA MISE EN ŒUVRE DE OPENLISP AVEC LISP + ALT:
Le système de LISP + ALT est un réseau de recouvrement, fondé sur des
protocoles déjà disponibles qui fournit la mise en œuvre d’un système de
correspondance qui est représenté en quatre parties:
• GreAs, Generic Routing Encapsulation (GRE) qui est un protocole de tunneling
développé par Cisco Systems qui permet l'encapsulation d'une grande variété de
protocoles de couche réseau à l'intérieur des liens virtuels point à point sur un
réseau IP. le réseau d'ALT est un réseau de recouvrement sur la base de ce
5. protocole. Cela signifie qu'un xTR LISP devrait être en mesure de créer un tunnel GRE
à un ou plusieurs routeurs de cœur de réseau ALT.
• BGP Over the GRE, un réseau de superposition BGP est utilisé pour agréger les
préfixes d'extrémité. Un xTR doit annoncer son préfixe EID assigné dans le noyau ALT
over BGP. Le xTR devrait donc avoir le protocole BGP disponible.
• Encapsulation: La fonction principale d'un xTR consiste à encapsuler et
désencapsuler les paquets. La mise en œuvre de OpenLISP fournit ces
fonctionnalités.
• Encapsulation des informations relatives aux mapping system, dans le but de les
échanger sur le réseau ALT. L'implémentation OpenLISP est dans l'obligation
d'envoyer des paquets de contrôle des correspondances EID-RLOC sur le réseau ALT.
LES PRÉ-REQUIS
Pour une interopérabilité de base un démon de Correspondance doit étre mis en
place avec les exigences suivantes:
une Communication avec API OpenLISP socket disponible au niveau Kernel .
Ecrire les Correspondences (Mapping) dans base de données par le biais de
l'opération MAPM ADD.
Lire les Correspondences (Mapping) de la base de données par le biais de
l'opération MAPM READ.
Récupérer les informations de la base de données via l'opération MAPM
GET.
Écouter sur le socket de Correspondence (Mapping) grâce aux opérations
MAPM MISS, MAPM BADREACH, ou MAPM REACH.
messages de Correspondence (Mapping) de LISP.
Envoi de map-request, par opération de socket.
Écoute sur le port UDP 4342
Envoi du message map-reply avec les informations de la base de données,
déclenchée par un message map-request reçu.
DESCRIPTION DE LA CONFIGURATION
Map et mapstat sont deux commandes qui permettent à partir d’une ligne de
commande d’accèder et de contrôler OpenLisp:
Pour accéder aux informations à propos d’une adresse : map get -inet
145.100.104.192
pour ajouter une nouvelle entrée dans la table des correspondances EID-
>RLOC: map add -local -inet 145.100.104.193/27
Pour visualiser les statistiques : mapstat -sf inet -p lisp
LES AVANTAGES ET LES INCONVÉNIENTS DE OPENLISP
6. LES AVANTAGES:
L'avantage de OpenLISP est qu'il est ouvert pour le développement et
l'expérimentation de nouveaux systèmes de Correspondence (Mapping) , ainsi qu’il
dispose d’une solution innovante d'ingénierie de trafic comme IDIPS .
LES LIMITES:
OpenLISP est limité puisque il opère sous FreeBSD. Cette mise en œuvre ne supporte
pas IPv6 dans la pratique, même si cela est indiqué dans le cahier de spécification
.OpenLisp ne dispose pas non plus de fonctions pour router les EID et les RLOC.
DESCRIPTION DÉTAILLÉ DE LISPMOB
LISPmob est une implémentation en distrubution gratuite (open-source) pour LISP et
les noeuds LISP pour Linux, Android et OpenWrt. En utilisant LISPmob, les hôtes
peuvent changer leur liaison réseau sans perte de connectivité et en maintenant la
même adresse IP (EID restant donc inchangé). Il est ainsi possible d’instancier des
réseaux de bordure (partie EID) et les réseaux de coeur ou de transit (partie RLOC).
La correspondance EID/RLOC est réalisé par une connexion à un serveur de mapping
préexistant
LES PRÉREQUIS SUR LE RÉSEAU
Démarrer un hôte LISPmob sur l'Internet public requiert la configuration suivante:
Un EID à partir du système de Mapping,
Le RLOC du Map-server qui va accepter l'inscription de cette EID un jeton
d'authentification pour enregistrer l'EID avec le Map-server,
Le RLOC d'un Map-resolver,
Le RLOC d'un Proxy-ETR,
Un RLOC publiquement routable pour l'hôte, qui n’est ni un pare-feu, ni
derrière un NAT
AVANTAGES/INCONVENIENTS
AVANTAGES
Il est possible d’implémenter un système LISP à moindre coût grâce à
l’accès en open-source
Configuration du démon LISP accessible et peu complexe grâce à un fichier
de configuration rapidement compréhensible
Architecture modelable et flexible puisque l’on peut implémenter routeurs
et hôtes
7. INCONVENIENTS:
Pour avoir accès au service de mapping, il faut avoir accès à un serveur de
mapping, ce qui n’est pas inclu dans les fonctionnalités de LISPmob. Il faut
avoir accès à un réseau Beta pour pouvoir concrétement expérimenter.
Pour avoir l’accès à un réseau Beta, il faut demander une autorisation
d’accès comme sur www.lisp4.net/beta-network/ , ce qui nécessite un
certain délai d’acceptation
CONFIGURATION
La configuration d’un hôte LISP se fait grâce à la configuration d’un démon qui est
configurable grâce au fichier lispd.conf inclus dans les fichiers livrés. C’est une
configuration intuitive permettant de configurer les serveurs/résolveurs de mapping.
MISE EN OEUVRE PRATIQUE DE LISPMOB
MISE EN PLACE
Pour mettre en place une simulation d’utilisation du protocole LISP voici un schéma
du montage sur lequel nous allons nous appuyer. L’espace représenté par la couleur
verte est l’espace ou seulement des adresses RLOC peuvent être routées. En
revanche l’espace en orange est l’espace des EID, adresses qui identifient les
machines.
Afin que cette mise en pratique marche chaque router doit être configuré suivant le
plan d’adressage ci-dessous.
FIGURE 1 ARCHITECTURE LISPMOB
Afin de pouvoir se servir de LISPmob il faut se prémunir des paquets suivants :
build-essential
git'
libconfuse-dev
8. gengetopt
libcap2-bin
Pour compiler les fichiers sources de LISPmob il suffit de faire un make.
Un fichier lispd.conf.example est prérempli pour que ce fichier de configuration
puisse être utilisé il faut le copier dans /etc/lispd.conf
Il faut activer le transfert des paquets et annulé les filtres dans le fichier
/etc/sysctl.conf de la façon suivante :
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Le démon LISPD peut être lancée de la sorte: lispd -f /etc/lispd.conf
Le réseau doit maintenant être configuré, il faut renseigné dans lispd.conf les
paramètres suivants :
map-resolver = {adddress, …} (Il faut la demander un accès auprès de lispv4)
La base de donnée qui contient la correspondance entre les EID et les
RLOCS. Il existe un réseau de beta test de lisp : ddt-root-node { address =
84.88.16.10 priority= 1 weight= 100}
map-server {address = <IPv4 or IPv6 address or FQDN name> key-type= 1
key= <password> proxy-reply = on}
proxy-etr {address= <10.0.1.1> priority= 1 weight =100 }
# LISP beta-network PITRs
proxy-itrs = {
69.31.31.98, # eqx-ash-pxtr
149.20.48.60, # isc-pxtr
198.6.255.37, # asp-pxtr
173.36.193.25, # sjc-pxtr
129.250.1.63, # ntt-amer-pxtr
217.8.98.33, # intouch-pxtr-1
217.8.98.35, # intouch-pxtr-2
193.162.145.46, # tdc-pxtr
158.38.1.92, # uninett-pxtr
203.181.249.172, # apan-pxtr
202.51.247.10, # sg-nus-pxtr
147.83.131.33, # upc-pxtr
2001:590::451f:1f62, # eqx-ash-pxtr
9. 2001:4f8:3:d::60, # isc-pxtr
2001:418:4:1:deaf:bebe::10d, # asp-pxtr
2001:418:0:1000::613, # ntt-amer-pxtr
2001:200:e000:17::17, # intouch-pxtr-1
2001:67C:21B4:108::b, # intouch-pxtr-2
2001:6c8:41:100:0:2:1:c, # tdc-pxtr
2001:700:0:52E::4, # uninett-pxtr
2001:67C:21B4:107::b, # apan-pxtr
2001:40B0:7500:205::9353:8321 # upc-pxtr
}
ANALYSE DU TRAFIC AVEC WIRESHARK
Afin d’analyser le trafic, lorsque le protocole LISP est mis en oeuvre, est une étape
importante. En effet afin de pouvoir observer et expérimenter LISP il faut arriver à
visualiser ses effets et les échanges de données au sein du réseau ou du système de
mapping.
Wireshark est un analyseur de paquets réseau très connu et open source, il permet
le décodage des données pour un très grand nombre de protocoles réseau. LISP
n’étant pas un protocole utilisé à grande échelle de nos jours il ne fait pas partie de
cette liste de protocole que le logiciel WireShark peut reconnaître par défaut.
Lorand Jakab a mis en œuvre et maintient sur WireShark une extension permettant
la dissection et le décodage des paquets LISP. Ces fonctionnalité sont présentent sur
la version actuelle cependant chaque nouvelle version de cette extension ajoute de
nouvelles fonctionnalités. Toutefois, les versions stables ne sortent généralement
qu'une fois par an.
Le code est organisé en deux fichiers, l'un pour les paquets “data plane” (paquets-
lisp-data.c), et un autre pour les paquets de “control plane” (paquets lisp.c). De
façon simple le trafic “control plane” est le trafic qui est originaire par, or destiné au
routeur lui-même tant dis que le trafic “date plane” peut être simplement décrit
comme le trafic qui n’est pas destiné ou généré par le routeur, mais le trafic qui est
“juste de passage” pour se rendre vers d'autres destinations.
Ces fichiers doivent être utilisés pour remplacer la version amont dans le répertoire
epan/dissectors de Wireshark.
Voici le résultat affiché par WireShark[3] lorsqu’il reçoit un Map-request. On
demande au map-resolver si il connait 4.2.2.2
10. FIGURE 2 ANALYSE WIRESHARK: LISPMOB
DESCRIPTION DETAILLE DE LISP BY CISCO
LES CONNAISSANCES PRE-REQUIS POUR LA CONFIGURATION DE LISP
Pour la version Cisco IOS and NX-OS, il est indispensable que l’utilisateur doit avoir
des connaissances et compétences sur l’utilisation Cisco IOS et NX-OS, sur le concept
de réseaux de commutation et de routage ainsi que des connaissances bases sur la
vue d’ensemble de LISP.
LES EQUIPEMENTS REQUI S
Avant la configuration du protocole LISP, il est nécessaire de déterminer le
type de déploiement de LISP requis. Le déploiement de LISP définit les
fonctionnalités nécessaires pour les équipements (le matériel, logiciel, le
support supplémentaire de service de Mapping et les services de proxy) qui
sont exigés pour le déploiement.
La configuration LISP nécessite un licence « datak9 »
La table suivante présente les caractéristiques de LISP sur la plate-forme OS.
11. TABLE 1 TABLEAU DE COMPARISON: CISCO OS
LES AVANTAGES ET LES INCONVÉNIENTS DE LISP BY CISCO
AVANTAGES
Le support de LISP est disponible à travers d’une vaste gamme de plates-formes et
des systèmes d’exploitation Cisco. Des caractéristiques spécifiques et des fonctions
de LISP sont présentés selon des priorités on peut attendre dans certaines plates-
formes fournissent dans le réseau.
INCONVENIENTS
Vulnerabilités : Le produit Cisco IOS XR dispose d’un service pour traiter les
messages LISP (Locator/ID Separation Protocol ) TCP. Cependant, lorsqu’une session
LISP illicite est traitée, une erreur fatale se produit. Un attaquant peut donc envoyer
des données LISP TCP illicites vers Cisco IOS XR, afin de mener un déni de service.
DESCRIPTION DE LA CONFIGURATION
Cette partie decrira les demarches pour la configuration du protocole LISP, la
fonctionnalité sur tout les equipements concernant LISP, y compris le router de
sortie (ETR), router d’entrée (ITR), proxy ETR (PETR), le « map-resolver », la carte de
serveur (Map Server) et l’equipement LISP-ALT.
Comme illustré sur la figure 1, l'espace de noms LISP, EID représente sites terminaux
du client de la même manière que les sites finaux sont définis dans des
environnements non-LISP avec une différence: Les adresses IP utilisées dans ces sites
LISP ne sont pas annoncés au sein de l'Internet non-LISP (RLOC espace de noms).
Plûtot, une fonctionnalité de LISP du client final est déployée exclusivement sur les
routeurs d'extrémité client, qui effectuent à la fois le routeur de sortie du tunnel
(ETR) et le routeur de tunnel entrée (ITR) de fonctions d'un dispositif de LISP (en
abrégé xTR sur la figure).
12. FIGURE 3 CISCO IOS LISP ENVIRONNEMENT DE DEPLOIEMENT
1
Pour mettre en œuvre intégralement LISP avec un support pour des services de
cartographie et Internet, interopérabilité peut exiger composants de l'infrastructure
de LISP supplémentaires dans le cadre du déploiement. Comme indiqué sur la figure
ci-dessus, ces éléments d'infrastructure LISP supplémentaires comprennent des
dispositifs qui fonctionnent dans les rôles LISP de carte résolveur (MR), la carte
serveur (MS), routeur de sortie du tunnel proxy (PETR), routeur d'entrée du tunnel
proxy (PITR), et remplacement LISP topologie logique (ALT) de l'appareil.
Il y a plusieurs procédés pour configurer ce protocole. Tout dépend des exigences et
le but d'utilisation de ce protocole. Les exemples de topologie de configuration sont:
Double hébergement site LISP avec deux IPv4 RLOCs et une EID IPv4
Typique multi-hébergés LISP site avec deux xTRs et deux IPv4 RLOCs et une
EID IPv4
Multi-hébergés site LISP avec deux xTRs , Deux IPv4 RLOCs, et deux IPv4 et
IPv6 une EID
Multi-hébergés site LISP avec deux xTRs, chacun avec une adresse IPv4 et
une IPv6 RLOC et chacun avec une adresse IPv4 et une IPv6 EID
EXEMPLE: POUR LA CONFIGURATION DE : TYPIQUE MULTI-HEBERGES LISP
SITE AVEC DEUX X TRS ET DEUX IPV4 RLOCS ET UNE EID IPV4
Dans cette configuration, un site de LISP utilise deux routeurs de périphérie. Chaque
routeur périphérique est configuré comme un xTR (chacun effectue à la fois une ITR
et un ETR) et chacun comprend également une connexion IPv4 unique à un
fournisseur en amont. (Deux différents fournisseurs sont utilisés dans cet exemple
mais en amont du même fournisseur peuvent être utilisés pour les deux liaisons.)
Les deux RLOCs et le préfixe EID sont IPv4. Le site enregistre LISP à deux carte
résolveur / serveur cartographique (MR / MS) des dispositifs dans le cœur de réseau.
La topologie utilisée dans cette configuration LISP multi-hôte est typique montré
dans la figure ci-dessous:
1
Source: http://www.cisco.com/c/dam/en/us/td/i/300001-400000/300001-
310000/300001-301000/300190.tif/_jcr_content/renditions/300190.jpg
13. FIGURE 4 LA TOPOLOGIE REPRÉSENTÉE : CISCO TYPICAL MULTIHOMED LISP SITE WITH TWO XTRS
AND TWO IPV4 RLOCS AND AN IPV4 EID
2
Les composants illustrés dans la topologie représentée sur la figure sont décrits ci-
dessous:
site de LISP:
Deux routeurs CPE composent le site de LISP: XTR-1 et xTR-2.
Les deux fonctionnent routeurs CPE comme LISP xtrs (soit une ITR et un
ETR).
Le site LISP fait autorité pour le préfixe IPv4 EID de 172.16.1.0/24.
Chaque LISP xTR a une seule connexion RLOC IPv4 à l'âme: la connexion
RLOC pour XTR-1 à SP1 est 10.1.1.2/30; la connexion RLOC pour xTR-2 à SP2
est 10.2.1.2/30.
Dans ce cas multi-résident, la politique de site de LISP précise le partage de
charge équivalente entre le fournisseur de service (SP) des liens pour la
pénétration ingénierie de trafic.
Système de mappage
Deux carte résolveur / carte serveur (MR / MS) systèmes sont supposés être
disponible pour le LISP xTR à configurer. Le MR / EM ont IPv4 RLOCs
10.10.10.10 et 10.10.30.10.
Les services de cartographie sont supposés être fournis dans le cadre de
cette solution de LISP via un système de projection privée, ou comme un
système de cartographie de LISP public. Du point de vue de la configuration
de ces xTRs site de LISP, il n'y a pas de différence
2
Source : http://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/iproute_lisp/configuration/xe-3s/irl-xe-3s-book/irl-cfg-lisp.pdf
14. FIGURE 5 ETAPES A SUIVRE POUR LA CONFIGURATION DES ROUTERS LISP
CONCLUSION
En general, après ces différentes démarches consistant à s’intéresser à 3 solutions
permettant l'implémentations du protocole LISP, il nous a semblé que LISP possède
déjà une petite communauté qui permet a ce protocole d'exister et a créer l'intérêt.
LISP répond à des besoins actuels et déjà grâce a ses différentes implémentations il
va pouvoir intéresser de plus en 'utilisateurs.
15. REFERENCES
[1] “OpenLISP” <http://www.openlisp.org> Luigi Iannone derniere visite : Mars 2015
[2] “LISPmob” <www.lispmob.org> derniere visite : Mars 2015
[3]http://www.dasblinkenlichten.com/wp-content/uploads/2012/11/image33.png
[4] http://www.dasblinkenlichten.com/lisp-proxy-xtr-pxtr/ dernière visite : Mars
2015
[5] Damien Saucez, Luigi Iannone, Olivier Bonaventure, "OpenLISP: An Open Source
Implementation of the Locator/ID Separation Protocol",Sigcomm, 2009.
[6] http://lispmon.net/http://www.lisp4.net/ dernière visite : Mars 2015
[7] http://tools.ietf.org/html/draft-iannone-openlisp-implementation-01 dernier
visite : Mars 2015
[8]CISCO, configuration de LISP http://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/iproute_lisp/configuration/xe-3s/irl-xe-3s-book/irl-cfg-lisp.pdf
dernière visite : Mars 2015