I - Architecture traditionnelle Core, Aggregation, Access

9. Qu'est-ce que IS-IS ?

Créé en 1987 et défini dans l'ISO 10589 IS-IS (Intermediate System to Intermediate System), il sera par la suite standardisé pour TCP/IP en 1990 dans la RFC 1195 actualisé par le RFC-5308 en 2008, dans l’objectif de prendre en charge l’IPV6 et le concept de double pile.

Chronologie des RFC

IS-IS est un protocole de routage dynamique de la famille des IGP (Interior Gateway Protocol), tout comme OSPF et EIGRP. C'est-à-dire qu’il est utilisé pour le routage à l’intérieur d’une même AS, mais également pour le routage des très grandes infrastructures réseaux. Ce protocole dispose de fonctionnalités de routage avancées comme l’intégration au sein d’un MPLS, une vitesse de convergence élevée et la gestion de la double pile IPV4/IPV6. Il est donc particulièrement efficace et capable de maintenir une cohérence des tables de routage dans des infrastructures soumises à de fortes modifications. Il est à noter que IS-IS est également bien souvent plus performant qu’OSPF pour les infrastructures multi-zones très étendues. Cela en fait un protocole particulièrement apprécié par les opérateurs internet, mobiles et fournisseurs de services Cloud.

Les zones IS-IS sont une classification hiérarchique dans le routage des très grandes topologies. Elles permettent de diviser la topologie en sous-ensembles afin d’optimiser la gestion avec une réduction du trafic de mise à jour, l’augmentation de la vitesse de convergence, sans oublier la réduction de la taille de la LSDB (concept expliqué plus tard dans ce cours) et de la table de routage. Cela se traduit par un allégement important de l’utilisation des ressources de calculs. Les routeurs d’une zone forment une sous-topologie qui limite les informations échangées sur la topologie entre les zones. En l’absence de nécessité d’un routage inter-zones, les routeurs se contentent de communiquer uniquement au sein de leur zone.


Il existe deux niveaux de zones :


Les routeurs peuvent donc agir de trois manières différentes :

Architecture IS-IS

Les routeurs IS-IS vont passer par les 4 états suivants durant leur mise en fonction :

1. Down : Le protocole de routage est en cours de configuration, aucune adjacence n’est établie.

2. Initializing : Les paquets HELLO sont échangés pour établir des adjacences.

3. Up (ou Two-Way) : La relation d’adjacence bidirectionnelle est établie.

4. Full : Les LSDB sont échangées et synchronisées entre les voisins.


IS-IS est un protocole dit à état de lien , c’est-à-dire qu’il envoie des messages à chaque fois qu’un changement de topologie se produit. Il utilise l’algorithme de Dijkstra tout comme OSPF, en vue de choisir la route avec le chemin le plus court en tenant compte de la topologie du réseau. Une fois configuré, IS-IS va échanger différents messages pour construire et mettre à jour sa topologie. Ces messages sont les suivants :


Intéressons-nous maintenant à la composition des paquets des différents messages IS-IS :


Le paquet HELLO PDU est composé des éléments suivants :

Paquet IS-IS PDU
Télécharger le paquet Wireshark IS-IS HELLO

Le paquet Link State PDU est composé des éléments suivants :

Paquet IS-IS PDU
Télécharger le paquet Wireshark IS-IS LSPDU

Le paquet Complete Sequence Number PDU est composé des éléments suivants :

Paquet IS-IS Complete Sequence Number PDU
Télécharger le paquet Wireshark IS-IS CSNP

Le paquet Partial Sequence Number PDU est composé des éléments suivants :

Paquet IS-IS Partial Sequence Number PDU
Télécharger le paquet Wireshark IS-IS PSNP

Ces messages nous assurent de maintenir une LSDB à jour, qui à travers l’algorithme SPF, détermine les routes les plus courtes pour chaque destination en partant des routeurs. Bien que chaque routeur calcule ses routes de manière indépendante, la synchronisation périodique de la LSDB garantit leur cohérence.


Maintenant que la LSDB est constituée, le routeur doit procéder à la sélection des routes de la manière suivante :

1. Hiérarchie des niveaux : La route annoncée par un routeur de niveau 1 sera préférée à la route annoncée par un routeur de niveau 2.

2. Métrique : Le second critère de sélection est le coût du chemin le plus faible. Le coup du chemin est incrémenté avec la métrique de chacune des interfaces traversées. A noter que la métrique d’une interface est par défaut égale à 10, cependant elle peut être personnalisée par l’administrateur.

3. Route de secours : En cas d’égalité entre deux routes, un équilibrage de charge natif sera effectué par le protocole de routage.

4. Routes externes : Les routes internes IS-IS sont préférées aux routes externes provenant d’un autre protocole. A noter qu’il existe deux types de routes externes :

5. Tiebreakers : Si toutes les valeurs précédentes sont identiques, l’IP de l’interface de sortie et l’ID du routeur peuvent être utilisés pour départager deux routes.

En tant qu’IGP, IS-IS est moins exposé aux attaques que les EGP, cependant sa sécurisation reste indispensable. Pour cela, il est possible d’intégrer des sécurités pour empêcher l’injection de routes malveillantes.


La première sécurité pouvant être implémentée, est l’authentification des messages IS-IS afin d’empêcher l’injection de routes malveillantes. Cette authentification peut être assurée par divers moyens :



Ces authentifications simples à mettre en oeuvre présentent des limites. Notamment le fait que le hachage en MD5 est de nos jours facilement réversible, mais également qu'en cas de fuite du mot passe, tous les routeurs de la topologie seront exposés. L'authentification via SHA256 est considérée comme acceptable.


TTL Security Check, consiste à limiter le nombre de sauts acceptables afin de réduire le risque d’injection de paquets en provenance d’un routeur extérieur aux réseaux légitimes. Bien que cette méthode puisse être efficace, elle présente des limites dues à la complexité en cas d’extension du réseau, le TTL devra être reconfiguré sur tous les routeurs. De plus, cette méthode ne doit pas être utilisée seule, mais en complément d’une authentification des messages IS-IS.


L’implémentation d’IS-IS au sein d’un tunnel IPSEC au-delà d’une authentification forte, permet de chiffrer les paquets au niveau de la couche transport. Cette méthode de sécurisation bien que très lourde à mettre en oeuvre permet de se prémunir de bon nombre d’attaques, comme la reconnaissance, l’injection de données erronées, etc...


IS-IS peut être implémenté à différents niveaux dans l’architecture à trois couches. L’utilisation, la plus courante, est l’interconnexion de la couche Aggregation et Core dans les infrastructures utilisant la double pile IPV4 et IPV6 ou nécessitant une grande vitesse de convergence. Dans le cadre d’un fournisseur de service Cloud multi-sites, IS-IS peut être utilisé pour l'interconnexion des différentes couches Core des sites via la mise en place d’un MPLS.


Au sein de l’architecture que nous mettrons en oeuvre durant les travaux pratiques de ce cours, nous utiliserons IS-IS pour l’interconnexion de la couche Aggregation et Core afin de bénéficier de la vitesse de convergence. IS-IS nous permettra également de profiter de la double pile IPv4/IPv6. Nous procéderons également à l’implémentation d’une authentification par hachage SHA256.