Vous êtes sur la page 1sur 66

INTRODUCTION AU ROUTAGE

Auteur : Version : Date : Thierry USO 1.4 7 Janvier 2004

Table des matires


CHAPITRE 1 INTRODUCTION CHAPITRE 2 CONCEPTS DE BASE
2.1 2.2 2.3 HOST ET ROUTEUR FONCTIONNEMENT DUN ROUTEUR ROUTAGE HIERARCHIQUE 11 21 21 23 26 31 31 32 38 310 41 41 42 43 51 51 55 56 61 61 64 66 68 610 612

CHAPITRE 3 ALGORITHMES DE PLUS COURT CHEMIN


3.1 3.2 3.3 3.4 MODELISATION DU RESEAU ALGORITHME DE BELLMAN-FORD ALGORITHME DE DIJKSTRA COMPARAISON ENTRE BELLMAN-FORD ET DIJKSTRA

CHAPITRE 4 TRANSMISSION DUN PAQUET IP


4.1 4.2 4.3 HOST EMETTEUR ROUTEUR HOST DESTINATAIRE

CHAPITRE 5 PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF


5.1 5.2 5.3 RIP IGRP INTEGRATED IS-IS

CHAPITRE 6 OSPF
6.1 6.2 6.3 6.4 6.5 6.6 CARACTERISTIQUES GENERALES BASES DE DONNEES MESSAGES ET PROCEDURES PROCEDURE HELLO PROCEDURE ECHANGE PROCEDURE INONDATION

iii

Table des matires CHAPITRE 7 BGP


7.1 7.2 7.3 7.4 CARACTERISTIQUES GENERALES PROCEDURES ATTRIBUTS SYNCHRONISATION AVEC LE PROTOCOLE DE ROUTAGE INTRA-DOMAINE 71 71 72 74 76 81 81 82 85 91 91 93 94 A1 Gloss.1

CHAPITRE 8 ROUTAGE MULTICAST


8.1 8.2 8.3 CONCEPTS PROTOCOLES DE ROUTAGE MULTICAST INTRA-DOMAINE PROTOCOLES DE ROUTAGE MULTICAST INTER-DOMAINE

CHAPITRE 9 ROUTAGE PAR CONTRAINTES


9.1 9.2 9.3 INGENIERIE DE TRAFIC DEFINITION DU ROUTAGE PAR CONTRAINTES PROTOCOLES DE ROUTAGE PAR CONTAINTES

ANNEXE A BIBLIOGRAPHIE GLOSSAIRE FIGURES


21 22 23 24 31 32 33 34 35 51 61 62 63 64 65 71 72 81 91 Host et routeur IP Fonctionnement dun routeur Routeur IP Routage hirarchique BELLMAN-FORD Centralis BELLMAN-FORD distribu - Dmarrage froid BELLMAN-FORD distribu - Mise jour BELLMAN-FORD distribu - Comptage linni DIJKSTRA Format du message RIP Simplication de la topologie par OSPF Format de lentte dune annonce de la Link-State database Format de lentte dun message OSPF Format du message Hello Format du message Database Description Connexions eBGP et iBGP Exemple dagrgation de prxes dadresse Algorithme ood-and-prune Exemple dingnierie de trac

22 24 25 27 34 35 36 37 39 54 63 65 67 69 611 73 75 84 92

iv

Table des matires

TABLEAUX
21 51 61 Terminologie des noeuds Mtriques de base dIGRP Optimisation du nombre darcs par OSPF 21 55 62

Chapitre 1 INTRODUCTION

Ce document est une introduction au routage. Pour des raisons de cohrence et defcacit, lessentiel des exemples concerne le routage IP. Le livre de PERLMAN (1992) peut tre consult pour ltude du routage OSI. Le chapitre 2 prsente les concepts de base indispensables (quest-ce quun routeur, un protocole de routage, un domaine de routage...). Le chapitre 3 prsente les principaux algorithmes de plus court chemin utiliss dans les protocoles de routage. Les chapitres 4, 5, 6 et 7 traitent plus prcisment du routage IP. La transmission dun paquet et les principaux protocoles de routage (RIP, IGRP, integrated IS-IS, OSPF, BGP) y sont dcrits brivement. IP est ici synonyme de IPv4 par opposition IPv6. En conclusion, les chapitres 8 et 9 prsentent respectivement le routage multicast et le routage par contraintes, 2 volutions technologiques majeures qui vont inuencer les protocoles de routage court terme. Un glossaire la n du document explicite les nombreux acronymes utiliss.

INTRODUCTION 11

Chapitre 2 CONCEPTS DE BASE

2.1 HOST ET ROUTEUR


La plupart des architectures de rseaux (TCP/IP, OSI, DECnet...) distinguent 2 types de noeuds : Les systmes terminaux Les systmes terminaux ncessitent lensemble des couches de larchitecture. Ce sont les stations de travail et les serveurs sur lesquels travaillent les utilisateurs. Les systmes intermdiaires Les systmes intermdiaires ne ncessitent que les couches les plus basses de larchitecture. Leur rle est de permettre la communication entre des systmes terminaux prsents sur des liaisons de donnes diffrentes.

Comme lindique le tableau 21, les noms attribus aux systmes terminaux et intermdiaires diffrent selon larchitecture.

Tableau 21: Terminologie des noeuds


Noeud Systme terminal Systme intermdiaire TCP/IP Host Gateway OSI ES IS DECnet End-node Router

Dans ce qui suit, nous utiliserons les termes gnriques de host et routeur pour dsigner respectivement un systme terminal et un systme intermdiaire, et cela quelque soit larchitecture. La gure 21 illustre la distinction entre host et routeur dans le cas de larchitecture TCP/IP. Le routeur y apparait comme une passerelle de niveau Internet.

CONCEPTS DE BASE 21

Figure 21: Host et routeur IP

HOST A

ROUTEUR IP

HOST B

APPLICATION

APPLICATION

TRANSPORT INTERNET PHYSICAL NETWORK INTERNET PHYSICAL NETWORK

TRANSPORT INTERNET PHYSICAL NETWORK

22 CONCEPTS DE BASE

2.2 FONCTIONNEMENT DUN ROUTEUR


La gure 22 illustre comment fonctionne un routeur. Un routeur excute en parallle 3 processes distincts : la commutation de paquets le routage la gestion

Ces processes sont en comptition permanente pour les ressources mmoire et CPU du routeur. La commutation de paquets reprsente la nalit du routeur. Les paquets commuter contiennent des donnes destination de hosts distants. Ces paquets sont reus sur un port dentre i, forwards vers un port de sortie j et enn mis sur ce port j. Le forwarding ncessite la consultation dune table de routage qui indique le port de sortie correspondant ladresse de destination du paquet. La table de routage est aussi appele Forwarding database. La table de routage peut tre mise jour de 2 manires : manuellement La mise jour manuelle est effectue par lingnieur rseau travers le process de gestion (Telnet, SNMP...). On parle alors de routage statique. dynamiquement La mise jour dynamique est effectue par un protocole de routage travers le process de routage. On parle alors de routage dynamique.

Le routage statique permet llimination du process de routage ce qui libre certaines ressources mmoire et CPU. Cependant, toute modication de la topologie du rseau (ajout, supression ou panne dlments du rseau) doit tre immdiatement prise en compte par lingnieur rseau; celui-ci doit alors modier la table de routage en consquence sous peine de dysfonctionnements plus ou moins graves (trous noirs). Le routage dynamique dtecte toute modication de la topologie du rseau et la rpercute en recalculant la table de routage. La dtection de la modication de la topologie de rseau et le recalcul de la table de routage qui en dcoule sont dautant plus rapides que le protocole de routage est efcace. On parle alors de vitesse de convergence. Le process de commutation de paquets se limite aux seules couches les plus basses de larchitecture mais ce nest pas forcment le cas des processes de routage et de gestion (gure 23).

CONCEPTS DE BASE 23

Figure 22: Fonctionnement dun routeur

PAQUET SUR PORT i

REC

GESTION

DONNEES

ROUTAGE

MAJ DYNAMIQUE

FORWARDING

TABLE DE ROUTAGE

MAJ MANUELLE

EMI

PAQUET SUR PORT j

24 CONCEPTS DE BASE

Figure 23: Routeur IP

ARP ISIS IP
1 2

ICMP IGMP

88 89

IGRP OSPF

TCP
20, 21 23

FTP TELNET

17

UDP
520 161

RIP SNMP

CONCEPTS DE BASE 25

2.3 ROUTAGE HIERARCHIQUE


Certains trs grands rseaux tels que lInternet ncessitent un routage hierarchique la fois pour des raisons de performance et de politique industrielle. Pour ce faire, le rseau est dcoup en domaines de routage et chaque domaine de routage est lui-mme dcoup en areas. Chaque domaine de routage est gr par une autorit administrative et une seule. Les routeurs la frontire entre domaines de routage utilisent un protocole de routage inter-domaine pour router entre ces domaines. De nombreux travaux lOSI et lIETF sont consacrs actuellement au routage inter-domaine, les protocoles existants tant considrs comme perfectibles. Les routeurs lintrieur dun domaine de routage utilisent un protocole de routage intradomaine pour router lintrieur de ce domaine. Les routeurs la frontire entre areas assurent le routage inter-area appel routage de niveau 2. Les routeurs lintrieur dune area assurent le routage intra-area appel routage de niveau 1. Dans la terminologie de lIETF, domaine de routage, protocoles de routage inter- et intradomaine sappellent respectivement AS, EGP et IGP.

26 CONCEPTS DE BASE

Figure 24: Routage hirarchique

IGPl2 AS1

EGP

IGPl2 IGPl2 IGPl2

IGPl1

IGPl1

IGPl1

IGPl1

IGPl1

IGPl1

AREA1 AS2

AREA2

CONCEPTS DE BASE 27

Chapitre 3 ALGORITHMES DE PLUS COURT CHEMIN

3.1 MODELISATION DU RESEAU


Un graphe est un ensemble constitu de noeuds et darcs reliant ces noeuds. Un rseau peut tre modlis par un graphe; il suft de considrer les routeurs comme des noeuds et les liaisons de donnes comme des arcs. Cette modlisation est particulirement fructueuse car elle permet aux concepteurs de protocoles de routage de sappuyer sur un ensemble thorique trs riche. Quelques dnitions sont ncessaires pour aller plus avant : Trajet Un trajet est une squence de noeuds N1, N2,...Nl telle que (N1, N2), (N2, N3),... (Nj-1, Nj) sont des arcs. Chemin (path) Un chemin est un trajet sans noeuds qui se rptent. Cycle Un cycle est un trajet sans noeuds qui se rptent sauf N1=Nj avec j>3. Graphe connect Un graphe connect est un graphe tel quil existe toujours un chemin entre le noeud Ni et tous les autre noeuds. Graphe pondr Un graphe pondr est un graphe dont les arcs ont un cot. Graphe orient Un graphe orient est un graphe dont les arcs ont un sens. Arbre Un arbre est un graphe connect sans cycle. Arbre recouvrant (spanning tree) Un arbre recouvrant est un arbre passant par tous les noeuds dun graphe connect.

ALGORITHMES DE PLUS COURT CHEMIN 31

Arbre recouvrant de poids minimal Un arbre recouvrant de poids minimal est un arbre recouvrant dont les chemins reliant le noeud racine aux autres noeuds ont un cot minimal.

Grce ces dnitions, nous pouvons afrmer que tout rseau peut tre modlis comme un graphe connect, orient et pondr. En choisissant un routeur comme noeud racine, on peut alors calculer larbre recouvrant de poids minimal pour le rseau. On obtient ainsi lensemble des plus courts chemins reliant ce routeur lensemble des destinations. Cest la dmarche suivie par les protocoles de routage. Les algorithmes de calcul de plus courts chemins les plus utiliss par les protocoles de routage sont ceux de BELLMAN-FORD (voir paragraphe 3.2) et de DIJKSTRA (voir paragraphe 3.3). Les protocoles de routage utilisant lalgorithme de BELLMAN-FORD sont dits de type Distance-Vector. Les protocoles de routage utilisant lalgorithme de DIJKSTRA sont dits de type Link-State. Le livre de BERTSEKAS et GALLAGER (1992) peut tre consult pour tudier les fondements mathmatiques de ces algorithmes.

3.2 ALGORITHME DE BELLMAN-FORD


Lalgorithme de BELLMAN-FORD existe en 2 versions : centralise distribue

Seule la version distribue appele galement algorithme de FORD-FULKERSON est utilise par les protocoles de routage de type Distance-Vector. Dans la version centralise, chaque noeud connait la topologie du rseau et calcule larbre recouvrant de poids minimal dont il est la racine selon la mthode illustre par la gure 31. N et M tant respectivement le nombre de noeuds et le nombre darcs, on dmontre que lalgorithme converge au plus en N-1 tapes et que sa fonction de complexit est O(MxN). Dans la version distribue, les noeuds nont pas connaissance de la topologie du rseau. Chaque noeud calcule ses distances minimales lensemble des noeuds du rseau grce aux messages que lui envoient ses noeuds voisins. Ces messages sont appels vecteurs de distance (routing vectors) et contiennent un ou plusieurs couples (noeud, distance). De fait, le noeud racine ne supporte pas lintgralit du calcul puisque les noeuds voisins lui fournissent des rsultats intermdiaires.

32 ALGORITHMES DE PLUS COURT CHEMIN

Les gures 32 et 33 illustrent la faon dont seffectuent lchange de messages et le calcul, respectivement dans le cas dun dmarrage froid et dans le cas dune mise jour conscutive une modication de la topologie du rseau. Comme pour la version centralise, on dmontre que la fonction de complexit est O(MxN). Cependant, lalgorithme converge parfois en plus de N-1 tapes. Cela peut se produire lors dune modication de la topologie du rseau. Le cas le plus grave appel comptage linni est illustr par la gure 34. De nombreux travaux ont t effectus en vue dacclrer la vitesse de convergence de la version distribue de lalgorithme de BELLMAN-FORD. Aucune des solutions proposes nest rellement satisfaisante. Certaines solutions sont inefcaces dans certaines congurations; dautres sont trop complexes mettre en oeuvre. Nanmoins, voici quelques-unes des solutions les plus utilises par les concepteurs de protocole de routage de type Distance-Vector : Mise jour dclanche Un vecteur de distance est envoy aux noeuds voisins toutes les T1 secondes. Un arc est considr comme rompu par un noeud lorsque celui-ci na reu aucun vecteur de distance depuis T2=nT1 secondes. Ce noeud envoie alors immdiatement son vecteur de distance modi sans attendre lexpiration de T1. Hold-on Un noeud ignore pendant n secondes les vecteurs de distance annonant la rupture dun arc. Split horizon Un noeud ne propage pas les couples (noeud, distance) provenant dun arc sur cet arc. Split horizon with poison reverse Un noeud propage les couples (noeud, distance) provenant dun arc sur cet arc en donnant une valeur innie aux distances. Route poison Un noeud nincrmente pas la distance un noeud avant davoir reu un 2me vecteur en conrmation sur le mme arc.

ALGORITHMES DE PLUS COURT CHEMIN 33

Figure 31: BELLMAN-FORD Centralis

B 1 A 4 C 1 2

8 4 2

1ere ETAPE (au plus 1 arc) B 1 A 4 C

2eme ETAPE (au plus 2 arcs) B 1 A 1 8 D

3eme ETAPE (au plus 3 arcs) B 1 A 1 2 8 D

4eme ETAPE (au plus 4 arcs) B 1 A 1 2 4 D

34 ALGORITHMES DE PLUS COURT CHEMIN

Figure 32: BELLMAN-FORD distribu - Dmarrage froid

A D

B C E

A A A=0 A A B D

D 0

L loc

B B B=0

D 0

L loc

C C C=0

D 0

L loc

D D D=0

D 0

L loc

E E E=0

D 0

L loc

D 0 1 1

L loc ba da

B B A C E

D 0 1 1 1

L loc ab cb eb

C C B E

D 0 1 1

L loc bc ec

D D A E

D 0 1 1

L loc ad ed

E E B C D

D 0 1 1 1

L loc be ce de

A=0 B=1 D=1

B=0 A=1 C=1 E=1 B B A C D E D 0 1 1 2 1 L loc ab cb ab eb

C=0 B=1 E=1

D=0 A=1 E=1

E=0 B=1 C=1 D=1 E E A B C D D 0 2 1 1 1 L loc de be ce de

A A B C D E

D 0 1 2 1 2

L loc ba ba da da

C C A B D E

D 0 2 1 2 1

L loc bc bc ec ec

D D A B C E

D 0 1 2 2 1

L loc ad ed ed ed

A=0 B=1 D=1 C=2 E=2

B=0 A=1 C=1 E=1 D=2

C=0 B=1 E=1 A=2 D=2

D=0 A=1 E=1 B=2 C=2

E=0 B=1 C=1 D=1 A=2

ALGORITHMES DE PLUS COURT CHEMIN 35

Figure 33: BELLMAN-FORD distribu - Mise jour

A D

B C E

A A B C D E

B B A C D E

C C A B D E

D 0 2 1 2 1

L loc bc bc ec ec

D D A B C E

D 0 1 2 2 1

L loc ad ed ed ed

E E A B C D

D 0 2 1 1 1

L loc de be ce de

0 loc inf ba inf ba 1 da 2 da

0 loc inf ab 1 cb inf ab 1 eb

A=0 B=inf D=1 C=inf E=2

B=0 A=inf C=1 E=1 D=inf

C=0 B=1 E=1 A=2 D=2

D=0 A=1 E=1 B=2 C=2

E=0 B=1 C=1 D=1 A=2

A A B C D E

D 0 3 3 1 2

L loc da da da da

B B A C D E

D 0 3 1 2 1

L loc eb cb eb eb

C C A B D E

D 0 3 1 2 1

L loc ec bc ec ec

D D A B C E

D 0 1 2 2 1

L loc ad ed ed ed

E E A B C D

D 0 2 1 1 1

L loc de be ce de

A=0 D=1 E=2 B=3 C=3

B=0 C=1 E=1 D=2 A=3

C=0 B=1 E=1 D=2 A=3

D=0 A=1 E=1 B=2 C=2

E=0 B=1 C=1 D=1 A=2

36 ALGORITHMES DE PLUS COURT CHEMIN

Figure 34: BELLMAN-FORD distribu - Comptage linni

A D

B C E

A A B C D E

D 0 3 3 1 2

L loc da da da da

D D A B C E

0 loc 1 ad inf ed inf ed inf ed

A=0 D=1 E=2 B=3 C=3

D=0 A=1 B=inf C=inf E=inf

1er cas : RV de D arrive sur A avant lenvoi de RV de A => CONVERGENCE 2eme cas : RV de D arrive sur A apres lenvoi de RV de A

A A B C D E

D D A B C E

D 0 1 4 4 3

L loc ad ad ad ad

0 loc inf da inf da 1 da inf da

A=0 D=1 B=inf C=inf E=inf

D=0 A=1 E=3 B=4 C=4

=> COMPTAGE A LINFINI

ALGORITHMES DE PLUS COURT CHEMIN 37

3.3 ALGORITHME DE DIJKSTRA


Chaque noeud connait la topologie du rseau et calcule larbre recouvrant de poids minimal dont il est la racine par la mthode illustre par la gure 35. N et M tant respectivement le nombre de noeuds et le nombre darcs, on dmontre que lalgorithme converge au plus en N-1 tapes et que sa fonction de complexit est O(MlogN). Lorsque les noeuds nont pas initialement connaissance de la topologie du rseau, ils acquirent cette connaissance grce lchange de messages. Le message gnr par le noeud X contient une liste de couples (nom du noeud voisin de X, cot de larc sortant pour latteindre) appel link states. Les messages sont propags lensemble des noeuds du rseau par inondation. Chaque noeud mmorise les enregistrements (nom du noeud X, liste des link states du noeud X) dans la Link-State database. Lorsque la Link-State database est complte (N enregistrements), le noeud connait la topologie du rseau et peut donc entreprendre le calcul proprement dit.

38 ALGORITHMES DE PLUS COURT CHEMIN

Figure 35: DIJKSTRA

B 1 A 4 C 1 2

8 4 2

1ere ETAPE : P=(A) B 1 A

2eme ETAPE : P=(A,B) B 1 A 1

3eme ETAPE : P=(A,B,C) B 1 A 1 2

4eme ETAPE : P=(A,B,C,E) B 1 A 1 2 4 D

ALGORITHMES DE PLUS COURT CHEMIN 39

3.4 COMPARAISON ENTRE BELLMAN-FORD ET DIJKSTRA


Plusieurs critres doivent tre pris en compte pour dterminer quel est entre BELLMANFORD et DIJKSTRA lalgorithme qui est le plus adapt aux protocoles de routage : la abilit la consommation de ressources sur les routeurs la vitesse de convergence

PERLMAN (1992) considre que les 2 premiers critres ne sont pas dterminants. Le dysfonctionnement dun routeur a des effets aussi nfastes pour les 2 algorithmes. En moyenne, les 2 algorithmes consomment des quantits de mmoire, CPU et bande passante comparables. Les 2 algorithmes se distinguent surtout par leur vitesse de convergence. La convergence est toujours assez rapide avec les protocoles de routage de type Link-State. En opposition, la convergence peut tre trs lente avec les protocoles de routage de type Distance-Vector, par exemple lors dun comptage linni.

310 ALGORITHMES DE PLUS COURT CHEMIN

Chapitre 4 TRANSMISSION DUN PAQUET IP

4.1 HOST EMETTEUR


Lorsquun host dsire envoyer un paquet IP un autre host, il commence toujours par effectuer les oprations suivantes : rceptionner les donnes de la couche Transport par la primitive de service SEND construire le paquet IP calculer et crire le checksum de lentte

Le host metteur sait, grce son subnet mask, sil peut atteindre directement le host destinataire ou sil doit passer par un routeur. Cette information couple au type de liaison de donnes de son interface IP dtermine les oprations restantes. Liaison PPP directe ou Liaison PPP ncessitant un routeur : passer le paquet IP lentit PPP encapsuler le paquet IP dans une trame PPP ayant ladresse de broadcast FF comme adresse destinataire

Liaison Ethernet directe : passer le paquet IP lentit Ethernet encapsuler le paquet IP dans une trame Ethernet dont ladresse MAC du host destinataire a t pralablement dtermine laide du protocole ARP

Liaison Ethernet ncessitant un routeur :

TRANSMISSION DUN PAQUET IP 41

passer le paquet IP lentit Ethernet encapsuler le paquet IP dans une trame Ethernet dont ladresse MAC du routeur destinataire a t pralablement dtermine laide du protocole ARP

Dans ce dernier cas, le host doit imprativement connaitre ladresse IP dun routeur sur le segment Ethernet. Pour ce faire, le host peut utiliser une des 3 mthodes suivantes : utiliser un chier de conguration Cette mthode existe dans toutes les implmentations TCP/IP. Le chier de conguration est lu au dmarrage du logiciel rseau. Linconvnient majeur de cette mthode est la ncessit pour lingnieur rseau de maintenir manuellement le chier. dcouvrir le(s) routeur(s) en coutant les messages de routage Cette mthode existe dans la plupart des implmentations TCP/IP mais uniquement pour certains protocoles de routage (RIP). Linconvnient majeur de cette mthode est la rigidit impose dans lutilisation des protocoles de routage. dcouvrir le(s) routeur(s) grce ICMP Cette mthode dcrite dans le RFC 1256 nexiste que dans quelques implmentations TCP/IP. Cest pourtant la mthode la plus satisfaisante. Les routeurs sannoncent aux hosts sur le segment Ethernet par lenvoi priodique dun message ICMP appel Router Advertisement. Le paquet IP contenant ce message a comme adresse destinataire soit ladresse multicast 224.0.0.1 identiant lensemble des hosts du segment Ethernet, soit ladresse broadcast 255.255.255.255. La mthode retenue dans IPv6 sinspire du RFC 1256.

Notons que ces 3 mthodes nassurent aucunement que le routeur choisi par le host soit le meilleur pour atteindre une destination donne. Si le host ne choisit pas le meilleur routeur, alors il doit recevoir de la part de celui-ci un message redirect ICMP indiquant quel est le meilleur routeur.

4.2 ROUTEUR
Le routeur recevant le paquet/fragment IP effectue toujours les oprations successives suivantes : passer le paquet IP lentit IP calculer et vrier le checksum de lentte vrier la version IP

Les oprations suivantes dpendent de la valeur de TTL. TTL=0 :

42 TRANSMISSION DUN PAQUET IP

le paquet IP est limin pour viter une boucle innie

TTL>0 : TTL=TTL-1 excuter les options si ncessaire dterminer le port de sortie fragmenter le paquet/fragment IP si ncessaire calculer et crire le nouveau checksum

Le routeur sait, grce son subnet mask, sil peut atteindre directement le host destinataire ou sil doit passer par un routeur. Comme pour le host metteur, cette information couple au type de liaison de donnes de son interface IP dtermine les oprations restantes. Liaison PPP directe ou Liaison PPP ncessitant un routeur : passer le paquet/fragment IP lentit PPP encapsuler le paquet/fragment IP dans une trame PPP ayant ladresse de broadcast FF comme adresse destinataire

Liaison Ethernet directe : passer le paquet/fragment IP lentit Ethernet encapsuler le paquet/fragment IP dans une trame Ethernet dont ladresse MAC du host destinataire a t pralablement dtermine laide du protocole ARP

Liaison Ethernet ncessitant un routeur : passer le paquet/fragment IP lentit Ethernet encapsuler le paquet/fragment IP dans une trame Ethernet dont ladresse MAC du routeur destinataire a t pralablement dtermine laide du protocole ARP

4.3 HOST DESTINATAIRE


Le host destinataire effectue les oprations successives suivantes : passer le paquet/fragment IP lentit IP calculer et vrier le checksum de lentte vrier la version IP rassembler le paquet IP si ncessaire

TRANSMISSION DUN PAQUET IP 43

transmettre les donnes la couche Transport par la primitive de service DELIVER

44 TRANSMISSION DUN PAQUET IP

Chapitre 5 PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF

5.1 RIP
RIP est le protocole de routage intra-domaine IP le plus ancien. Il est le rsultat de travaux de luniversit de Berkeley visant adapter le protocole de routage XNS IP. Il est implment dans le process routed. Initialement fourni dans Unix BSD, routed est depuis port sur de nombreuses plateformes. RIP existe en 2 versions. La version 1 est dcrite par le RFC 1058 et la version 2 par le RFC 1388. Son anciennet et sa simplicit de mise en oeuvre en font encoreaujourdhui le protocole de routage IP le plus rpandu. Dun point de vue architectural, RIP est une application (voir gure 23). Les ports UDP source et destination ont la valeur 520. RIP est un protocole de routage de type Distance-Vector des plus rudimentaires : Mtrique pauvre Le cot dun arc est x 1. Par consquent, le cot dun chemin est gal au nombre darcs traverss. Ce cot ne peut pas dpasser la valeur 15, soit 15 arcs traverss. La valeur 16 est synonyme dinni. Path splitting impossible Lquilibrage de charge entre 2 chemins de mme cot nexiste pas. RIP choisit arbitrairement un des 2 chemins. Routage de niveau 2 impossible Le domaine de routage ne peut pas tre dcoup en plusieurs areas.

Un noeud RIP peut tre congur comme actif ou passif. Un noeud actif coute les messages RIP, met jour sa table de routage et met ses propres messages RIP. Un noeud passif coute les messages de routage, met jour sa table de routage mais nmet aucun message RIP.

PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF 51

Les routeurs sont toujours des noeuds RIP actifs. Les hosts peuvent ne pas tre des noeuds RIP ou bien tre des noeuds RIP actifs ou passifs. Lorsquun host prsent sur un LAN est un noeud RIP, il dcouvre le(s) routeur(s) voisin(s) grce lcoute des messages RIP. Dans le cas contraire, il faut soit lui indiquer manuellement le(s) routeur(s) dans sa table de routage, soit quil utilise la mthode dcrite par le RFC 1256 (voir paragraphe 4.1). Un message RIP peut tre une requte ou une rponse. Une requte est une demande dinformations mise par un noeud RIP actif par exemple lors de son dmarrage. Les rponses sont envoyes en rponse une requte mais aussi lors dune mise jour dclanche ou dune mise jour priodique (toutes les T1 secondes). La version 1 de RIP se caractrise par : Adresse IP destinataire = Adresse de broadcast T1 = 30 secondes T1 tant le timer de mise jour priodique. T2 = 3 mn T2 tant la dure de vie maximale dun enregistrement dans la table de routage. Mise jour dclanche La mise jour dclanche nest pas immdiate pour viter un orage de broadcasts. Le noeud actif effectue un tirage au sort entre 1 et 5 secondes et attend la dure choisie avant dmettre. Split horizon Poison reverse

Le format du message RIP version 1 est donn par la gure 51. Le champ Command indique si le message est une requte (Command=1) ou une rponse (Command=2). Le champ Version indique RIP version 1 (Version=1). Le champ AFI indique IPv4 (AFI=2). La taille maximale dun message RIP version 1 est de 512 octets ce qui correspond au plus 25 couples (Address, Metric). Si le vecteur de distance est constitu de plus de 25 couples (Address, Metric), le noeud actif met plusieurs messages successifs. RIP version 2 apporte plusieurs amliorations importantes : Scurit Un mcanisme dauthentication par mot de passe est propos en option. Ce mcanisme introduit une scurit limite. Message Ladresse de broadcast est remplace par ladresse multicast 224.0.0.9 ce qui rduit les situations dorage de broadcast. IGMP nest pas ncessaire car ladresse multicast ne sert quen local. Support de prxes dadresse IP de longueur variable Le mask associ ladresse IP est propag en dehors du network ce qui permet la fois du routage de subnets et de supernets (CIDR).

52 PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF

Notication de routes externes La notication de routes externes permet de propager des routes en dehors du domaine de routage. Ces informations peuvent tre utilises par un protocole de routage inter-domaine dans les routeurs inter-domaines.

Le mcanisme dauthentication et lutilisation dune adresse multicast entrainent la perte dinteroprabilit entre les 2 versions de RIP. Le format du message RIP version 2 est donn par la gure 51. Le champ Command prend les mmes valeurs quen version 1. Le champ Version indique RIP version 2 (Version=2). Le bloc dauthentication se dcompose en un champ cod FFFF, le champ Type qui indique une authentication par mot de passe (Type=2) et le champ Authentication qui contient le mot de passe. Le champ AFI prend la mme valeur quen version 1. Le champ RouteID indique une route externe pour lEGP. Le bloc de routage se dcompose en Address, Subnet mask, Relay et Metric.

PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF 53

Figure 51: Format du message RIP

RIP version 1

RIP version 2

Command Version AFI

Reserved Reserved

Command Version FFFF

Reserved Type

IP Address Reserved Authentification Reserved Metric IP Address Subnet Mask Relay Metric

54 PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF

5.2 IGRP
IGRP est un protocole de routage antrieur integrated IS-IS et OSPF. Il a t conu par Cisco pour remdier aux dfauts les plus criants de RIP. IGRP existe en 2 versions (IGRP version 2 est aussi appele EIGRP). IGRP tant un protocole de routage propritaire (brevets Cisco), il est actuellement progressivement abandonn au prot dOSPF ou mme dintegrated IS-IS. Dun point de vue architectural, chaque message IGRP est encapsul dans un paquet IP (voir gure 23). Le champ Protocol du paquet IP a la valeur 88. IGRP est un protocole de routage de type Distance-Vector beaucoup plus sophistiqu que RIP : Mtrique composite La mtrique est une fonction de 4 mtriques de base notes D, B, F et L (tableau 51). En jouant sur les coefcients de cette fonction, il est possible de pondrer le rle respectif de chaque mtrique de base dans la mtrique rsultante. Path splitting Lorsquune destination peut tre atteinte par plusieurs chemins de cots diffrents, la charge est partage entre ces chemins en fonction de leurs cots respectifs. Par exemple, sil existe 2 chemins A et B de cots respectifs 1 et 3 pour une destination donne, 3 paquets IP sont envoys via A pour un paquet via B.

Tableau 51: Mtriques de base dIGRP


Mtrique D B F L Dnition dlai capacit de la liaison la plus faible probabilit darrive dun paquet IP charge de la liaison la plus faible Unit dizaine de usecondes Kbit/dizaine de usecondes % %

IGRP version 1 lutte beaucoup plus efcacement que RIP contre les situations de comptage linni. Le protocole introduit une priode de quarantaine lors dune mise jour ce qui limine la plupart des situations de comptage linni. Nanmoins, cela se traduit aussi par une dgradation de la vitesse de convergence dans les situations sans comptage linni. IGRP version 1 a les caractristiques gnrales suivantes : T1=90 secondes et T2=3mn Mise jour dclanche Split horizon

PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF 55

Hold-on ou route poison

IGRP version 2 apporte plusieurs amliorations majeures : Routage de niveau 2 Le domaine de routage peut tre dcoup en plusieurs areas par agrgation de prxes dadresses. Notication de routes externes La notication de routes externes permet de propager des routes en dehors du domaine de routage. Ces informations peuvent tre utilises par un protocole de routage inter-domaine dans les routeurs inter-domaines. Suppression des situations de comptage linni Les situations de comptage linni disparaissent totalement grce un algorithme appel DUAL (GARCIA-LUNES ACEVES, 1989). Support de prxes dadresse IP de longueur variable Le mask associ ladresse IP est propag en dehors du network ce qui permet la fois du routage de subnets et de supernets (CIDR).

Le contre-coup de ces amliorations est une forte augmentation de la complxit du protocole et donc des ressources consommes sur le routeur. Notons que IGRP version 2 peut fonctionner dans un mode dgrad assurant linteroprabilit entre les 2 versions.

5.3 INTEGRATED IS-IS


IS-IS est le protocole de routage utilis en environnement OSI. Cependant, il a t conu par lISO de manire tre facilement adaptable dautres environnements (format TLV). Actuellement, la seule adaptation qui a vu le jour est celle pour IP. Cette adaptation est dcrite par le RFC 1195. IS-IS est un protocole de routage de type Link-State lgrement antrieur OSPF. Les concepteurs dOSPF ayant repris de nombreuses ides dIS-IS, les 2 protocoles ont beaucoup de similitudes. Les 2 protocoles permettent : Mtrique multiple Path splitting Routage de niveau 2 Notication de routes externes

56 PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF

Support de prxes dadresse IP de longueur variable

Dun point de vue architectural, les messages IS-IS sont des paquets OSI CLNP (voir gure 23). A la diffrence des paquets IP et ARP, ces paquets sont encapsulables dans des trames IEEE 802.3 et non pas Ethernet V2. Ceci explique en partie pourquoi IS-IS na t port que tardivement dans gated. Lanalyse comparative dIS-IS et OSPF dans les grands rseaux IP est encore aujourdhui le sujet de dbats souvent polmiques (pour une analyse sereine, voir PERLMAN (1991) et SHARON (2001)). LIETF prconisant OSPF, les entreprises choisissent dsormais majoritairement OSPF sauf lorsque leurs rseaux sont la foisIP et OSI. Lorsque le rseau est la fois IP et OSI, lingnieur rseau peut adopter une des 2 stratgies suivantes : Ship-in-the-night Chaque routeur comporte 2 ensembles (process de routage, Link-State database, Forwarding database) distincts. Un ensemble est utilis pour router IP par exemple grce OSPF et lautre pour router OSI grce IS-IS. Integrated Chaque routeur ne comporte quun seul ensemble (process de routage, Link-State database, forwarding database). Cet ensemble est utilis pour router IP et OSI grce IS-IS.

Dans la pratique, lingnieur rseau adopte le plus souvent la stratgie Integrated parce quelle est moins consommatrice de ressources sur les routeurs et surtout parce quelle diminue de moiti le travail de conguration et de gestion des routeurs.

PROTOCOLES DE ROUTAGE INTRA-DOMAINES IP ANTERIEURS A OSPF 57

Chapitre 6 OSPF

6.1 CARACTERISTIQUES GENERALES


OSPF est le protocole de routage IP intra-domaines prconis par lIETF. La version actuelle est dcrite par le RFC 2528. Cette version a t porte dans gated. Dun point de vue architectural, chaque message OSPF est encapsul dans un paquet IP (voir gure 23). Le champ Protocol du paquet IP a la valeur 89. OSPF est un protocole de routage de type Link-State ayant de nombreuses fonctionnalits : Mtrique multiple OSPF propose plusieurs mtriques (cot, dlai, dbit, abilit). Lingnieur rseau peut congurer le routeur avec une ou plusieurs de ces mtriques. Dans le cas dune mtrique multiple, le routeur transmet un paquet IP sur le plus court chemin dans la mtrique indique par ce paquet. Path splitting Lorsquune destination peut tre atteinte par plusieurs chemins de cots diffrents, la charge est partage entre ces chemins en fonction de leurs cots respectifs. Par exemple, sil existe 2 chemins A et B de cots respectifs 1 et 3 pour une destination donne, 3 paquets IP sont envoys via A pour un paquet via B. Routage de niveau 2 Le domaine de routage peut tre dcoup en plusieurs areas. Les routeurs de niveau 1 et de niveau 2 sont appels respectivement area routers et area border routers. Les routeurs de niveau 2 forment un backbone. Notication de routes externes La notication de routes externes permet de propager des routes en dehors du domaine de routage. Ces informations peuvent tre utilises par un protocole de routage inter-domaine dans les routeurs inter-domaines. Ces routeurs sont appels AS border routers.

OSPF 61

Support de prxes dadresse IP de longueur variable Le mask associ ladresse IP est propag en dehors du network ce qui permet la fois du routage de subnets et de supernets (CIDR).

OSPF introduit les concepts de noeud terminal et de pseudo-node pour simplier la topologie du rseau (gure 61 et tableau 61). Cette simplication diminue le temps de calcul du spanning tree (proportionnel MlogN) et la taille de la Link-State database (M link states). Les noeuds terminaux sont les subnetworks qui portent le(s) host(s) et pas les hosts euxmmes. Le routeur ne prend en compte que la partie NetId-SubnetId de ladresse de destination du paquet IP. Un LAN est assimil un pseudo-node lorsquil porte N routeurs permettant datteindre des hosts extrieurs lui. Le pseudo-node participant activement au protocole, un des routeurs du LAN est lu pour assurer les fonctions du pseudo-node. Ce routeur est appel routeur design. Un second routeur est lu routeur backup. Ce routeur prend automatiquement la place du routeur dsign lorsque celui-ci tombe.

Tableau 61: Optimisation du nombre darcs par OSPF


Conguration LAN N hosts, 1 routeur N routeurs Sans optimisation N host-routeur N(N-1)/2 routeur-routeur optimisation OSPF 1 noeud_term-routeur N routeur-pseudo-node

62 OSPF

Figure 61: Simplication de la topologie par OSPF

NOEUD TERMINAL PSEUDONODE

OSPF 63

6.2 BASES DE DONNEES


Comme tout protocole de routage de type Link-State, OSPF possde une Link-State database et une Forwarding database (ou plus exactement une Forwarding database par mtrique). La Link-State database est organise en enregistrements comprenant chacun un ou plusieurs link states. Ces enregistrements sont appels annonces de link states. OSPF utilise des annonces de 5 types diffrents : Type 1 Une annonce de type 1 contient lensemble des link states dun routeur vers un autre routeur, un pseudo-node ou un noeud terminal. Type 2 Une annonce de type 2 contient lensemble des link states dun pseudo-node (via son routeur dsign) vers un autre routeur. Type 3 Une annonce de type 3 contient un link state rcapitulatif dun routeur de niveau 2 vers un noeud dans une area. Type 4 Une annonce de type 4 contient un link state rcapitulatif dun routeur de niveau 2 vers un routeur inter-domaine. Type 5 Une annonce de type 5 contient un link state rcapitulatif dun routeur interdomaine vers un noeud hors du domaine de routage.

Chaque annonce est constitue dun entte de format commun aux 5 types suivi du ou des link states dont le format dpend du type de lannonce. La gure 62 dcrit les 20 octets de lentte. Le champ Age exprim en secondes coules est lage de lannonce. Le champ Options a le format 000000ET. Le bit E arm indique que le routeur metteur est capable de notier des routes externes. Le bit T desarm indique lutilisation de la seule mtrique de base. Le champ Type a une valeur comprise entre 1 5 et indique le type de lannonce. Le champ RouterID est une des adresses IP du routeur metteur. Le champ LinkStateID est un identieur de lenregistrement; il est choisi par le routeur metteur (en gnral une adresse IP). Le champ SeqNumber est le numro de squence du message lorigine de lannonce (numrotation en sucette). Le champ Checksum est un checksum identique celui dIP et porte sur la totalit de lannonce. Le champ Length exprim en octets est la longueur totale de lannonce. La combinaison des champs Type, RouterID et LinkStateId identie lannonce de manire unique. Le champ Age permet dliminer une annonce devenue obsolte. Le champ SeqNumber permet de choisir entre 2 versions dune mme annonce celle qui est la plus rcente.

64 OSPF

Figure 62: Format de lentte dune annonce de la Link-State database

AGE

OPTIONS LinkStateID RouterID SeqNumber

TYPE

CHECKSUM

LENGTH

OSPF 65

6.3 MESSAGES ET PROCEDURES


OSPF utilise des messages de 5 types diffrents : Hello (Type=1) Database Description (Type=2) Link State Request (Type=3) Link State Update (Type=4) Link State Acknowledge (Type=5)

Chaque message commence par un entte de format commun aux 5 types. La gure 63 dcrit les 24 octets de cet entte. Le champ Version est la version dOSPF utilise (Version=2). Le champ Type a une valeur comprise entre 1 5 et indique le type du message. Le champ Length exprim en octets est la longueur totale du message. Le champ RouterID est ladresse IP du routeur metteur. Le champ AreaID est larea du routeur metteur (0 tant rserv au backbone). Le champ Checksum est un checksum identique celui dIP et porte sur la totalit du message. Le champ Auth indique le mcanisme dauthentication utilis (0=rien, 1=mot de passe). Le champ Data contient les donnes dauthentication (le mot de passe quand Auth=1). OSPF est un protocole de routage complexe qui se compose de 3 procdures distinctes : Hello Echange Inondation

66 OSPF

Figure 63: Format de lentte dun message OSPF

VERSION

TYPE RouterID AreaID

LENGTH

CHECKSUM

AUTH

DATA

OSPF 67

6.4 PROCEDURE HELLO


La procdure Hello a pour rles : le test de la abilit des liaisons de donnes la dcouverte des routeurs voisins llection des routeurs dsign et backup

Pour ce faire, chaque routeur envoie toutes les HelloInt secondes un message Hello sur chacune de ses liaisons de donnes. Ce message Hello est encapsul dans un paquet IP dont ladresse de destination est une adresse multicast identiant tous les routeurs OSPF sur la liaison de donnes. La gure 64 dcrit le message Hello. Le champ SubnetMask est le subnet mask de linterface IP du routeur metteur. Le champ Options est identique au champ Options de lentte dune annonce (gure 62). Le champ Priority a une valeur comprise entre 0 et 255 et indique la priorit du routeur metteur. Le champ DeadInt exprim en secondes est le temps au bout duquel un routeur voisin ne stant pas manifest est considr comme mort. Le champ DesignatedID est ladresse IP du routeur dsign (0=aucun lu). Le champ BackupID est ladresse IP du routeur backup (0=aucun lu). Les champs Neighbor sont les adresses IP des routeurs voisins. Une liaison de donnes est considre comme oprationnelle si des messages Hello ayant le mme bit E ont pu tre changs dans les 2 sens avant DeadInt secondes. Un routeur peut se proposer soit comme routeur dsign, soit comme routeur backup. Sil y a plusieurs candidats au poste de routeur backup, le routeur lu est celui qui a la valeur Priority-RouterID la plus leve parmi ces candidats. Sil ny a pas de candidats au poste de routeur backup, llection a lieu parmi tous les routeurs. Sil y a plusieurs candidats au poste de routeur dsign, le routeur lu est celui qui a la valeur Priority-RouterID la plus leve parmi ces candidats. Sil ny a pas de candidats au poste de routeur dsign, le routeur backup est promu routeur dsign et un autre routeur est lu routeur backup la place vacante. Si le routeur dsign disparait, le routeur backup est promu routeur dsign et un autre routeur backup est lu la place vacante. Si le routeur backup disparait, un autre routeur est lu routeur backup la place vacante. Lorsquun routeur apparait sur une liaison de donnes, il sannonce immdiatement par des messages Hello. Cependant, il sinterdit dtre candidat aux postes de routeur dsign et routeur backup durant DeadInt secondes.

68 OSPF

Figure 64: Format du message Hello

SubnetMask HelloInt OPTIONS DeadInt DesignatedID BackupID NEIGHBOR PRIORITY

OSPF 69

6.5 PROCEDURE ECHANGE


La procdure Echange a pour rle dacclrer la mise jour des Link-State databases lorsquun nouveau routeur apparait sur le rseau. Pour ce faire, le routeur apparaissant sur le rseau contacte ses voisins et change des informations avec eux laide de messages DD. Dans le cas dun pseudo-node, les messages DD sont changs avec le routeur dsign et le routeur backup. Chaque message DD est encapsul dans un paquet IP ayant pour adresse de destination ladresse IP du routeur voisin. La gure 65 dcrit le message DD. Les 2 premiers octets sont rservs et ont la valeur 00 dans la version actuelle dOSPF. Le champ Options est identique au champ Options de lentte dune annonce (gure 62). Le champ Flags a le format 00000IMS. Le bit I(nit) arm indique le dbut dun change. Le bit M(ore) dsarm indique la n de lchange. Le bit S(lave) indique le status du routeur metteur (0=slave, 1=Master). Le champ SeqNumber indique le numro de squence du message. Les champs Header sont les enttes des annonces de la Link-State Database du routeur metteur. Lchange seffectue en 2 phases : llection du matre et de lesclave lchange des enttes des annonces des 2 Link-State databases

Llection du matre et de lesclave est triviale. Le routeur dsirant initier un change envoie un message DD vide son voisin. Ce message DD a I=1, M=1, S=1 et un SeqNumber "unique". Le routeur acquite par un message DD vide avec I=1, M=1, S=0 et le mme SeqNumber. Le routeur linitiative de lchange est alors le matre et le routeur voisin lesclave. Si 2 routeurs initient simultanment un change entre eux, le routeur ayant ladresse IP la plus grande devient le matre. Une fois matre et esclave lus, le routeur matre envoie au routeur esclave des messages DD avec I=0, M=1 (M=0 uniquement pour le dernier message), S=1, un SEqNumber qui sincrmente et les Headers provenant de sa Link-State database. Le routeur esclave acquite chaque message DD reu par un message DD avec I=0, M=1 (M=0 uniquement pour le dernier message), S=0, le mme SeqNumber que celui du message DD reu et les Headers provenant de sa Link-State database. Si un des 2 routeurs a plus de messages DD envoyer que son partenaire, celui-ci continue nanmoins envoyer des messages DD vides tant que cela est ncessaire. Un routeur dtecte quun message DD est perdu soit par timeout, soit par desquencement. Il met alors nouveau son dernier message DD valide. Chaque Header reu est compar avec les enttes des annonces de la Link-State database du routeur. Sil ny a aucune correspondance, le Header est mmoris dans une base de donnes appele lUpdate database. Par consquent, lUpdate database liste les link states mettre jour.

610 OSPF

Figure 65: Format du message Database Description

RESERVED

OPTIONS SeqNumber

FLAGS

HEADER

OSPF 611

6.6 PROCEDURE INONDATION


La procdure Inondation a pour rle la mise jour proprement dite des Link-State databases des routeurs du rseau. Pour ce faire, les routeurs schangent des messages LSR, LSU et LSA. Chaque message LSR, LSU ou LSA est encapsul dans un paquet IP ayant pour adresse de destination ladresse multicast identiant tous les routeurs OSPF sur la liaison de donnes. Le message LSR contient une liste de demandes dannonces de link states. Chaque demande est constitue des 3 champs Type, LinkStateID et RouterID. Le champ Type a une valeur comprise entre 1 5 et indique le type de lannonce demande. Le champ LinkStateID est lidentieur de lannonce demande. Le champ RouterID est une des adresses IP du routeur metteur de lannonce demande. Le message LSU contient une liste dannonces de link states. Cette liste est prcde par le champ Number qui indique le nombre dannonces dans la liste. Le message LSA contient une liste denttes dannonces de link states (voir gure 62). La procdure Inondation intervient dans plusieurs cas : Update database non vide Suite une procdure Echange entre les routeurs X et Y, le routeur X a son Update database non vide. Il envoie alors au routeur Y un LSR contenant une liste de demandes dannonces tablie partir de lUpdate database. Le routeur Y lui rpond par un LSU contenant la liste des annonces demandes. Le routeur X acquite en envoyant au routeur Y un LSA contenant la liste denttes des annonces reues et envoie le message LSU sur ses autres ports. Le routeur X reoit en retour un LSA sur chacun des ports. Le LSU est propag de routeur en routeur. Vieillissement dune annonce dans la Link-State database Lorsquune annonce atteint un age gal MaxAge (par dfaut, MaxAge=1 heure), cette annonce est supprime de la Link-State database du routeur. Celui-ci prvient les autres routeurs en envoyant un LSU sur tous ses ports. Il reoit en retour un LSA sur chacun de ses ports. Le LSU est propag de routeur en routeur. Dtection dun changement sur une liaison de donnes Lorsquun routeur dtecte un changement sur une liaison de donnes grce la procdure Hello. Celui-ci prvient les autres routeurs en envoyant un LSU sur tous ses ports. Il reoit en retour un LSA sur chacun de ses ports. Le LSU est propag de routeur en routeur. mise jour priodique des annonces Pour viter le vieillisement injusti des annonces dans la Link-State database, chaque routeur envoie priodiquement (par dfaut, toutes les 30 mn) un LSU sur tous ses ports. Ce LSU contient les annonces de Link-State database du routeur avec SeqNumber incrment de 1. Le routeur reoit en retour un LSA sur chacun de ses ports. Il met alors jour chaque annonce dans sa Link-State database avec le nouveau SeqNumber et en initialisant Age 0 secondes. Le LSU est propag de routeur en routeur.

612 OSPF

OSPF 613

Chapitre 7 BGP

7.1 CARACTERISTIQUES GENERALES


BGP est le protocole de routage IP inter-domaines prconis par lIETF et celui utilis dans Internet. BGP existe en 4 versions appeles respectivement BGP-1 (RFC 1105), BGP-2 (RFC 1163), BGP-3 (RFC 1267) et BGP-4 (RFC 1654). BGP-1, BGP-2 et BGP-3 sont des versions considres comme obsoltes. BGP-4 qui est la version la plus rcente possde une extension appele BGP-4+ (RFC 2283) qui offre la possibilit de choisir une famille daddresses parmi IPv4, IPv6, VPN-IPv4... Lavenir de BGP nest pas encore clairement dni au sein de lIETF. En effet, 2 lignes saffrontent : remplacer BGP par IDRP Cette solution part du constat quIDRP qui est le protocole de routage inter-domaines conu par lISO est actuellement suprieur BGP. Ce constat est celui des architectes dIDRP et de BGP. introduire une version BGP-5 Cette solution aurait lavantage de conserver dans le cadre de lIETF la maitrise complte de lvolution du routage inter-domaines de lInternet.

Dun point de vue architectural, BGP est une application sappuyant sur TCP. Le port TCP destination a la valeur 179. BGP est un protocole de routage de type Distance-Path. Comme le Distance-Vector, le Distance-Path utilise lalgorithme distribu de BELLMAN-FORD mais en liminant les situations de comptage linni. BGP-4 supporte CIDR en permettant les prxes dadresse de longueur variable ainsi que lagrgation de ces prxes.

BGP 71

7.2 PROCEDURES
BGP est constitu de 4 procdures : Ouverture Mise jour Sonde Notication

La procdure douverture consiste en ltablissement dune connexion TCP entre 2 routeurs BGP adjacents appels speakers, suivi de lassociation entre ces 2 speakers. La connexion TCP peut tre externe (entre 2 speakers appartenant des domaines de routage diffrents) ou interne (entre 2 speakers appartenant au mme domaine de routage). Les connexions externe et interne sont appeles respectivement eBGP et iBGP (voir gure 71). Lassociation consiste en lenvoi dun message de demande dassociation par un des speakers. Le speaker rcepteur authentie le message en vriant la version BGP, en contrlant labsence de collision... avant de rpondre au speaker metteur par un message de sonde si lassociation est accepte ou par un message de notication si lassociation est rejete. Le rejet de lassociation est suivi de la fermeture de la connexion TCP. La procdure de mise jour consiste en lenvoi de messages de mise jour entre speakers aprs la procdure douverture ou lors dune modication du rseau. Un message de mise jour contient une liste de prxes dadresse supprimer, une liste de prxes dadresse valides et les attributs associs ces prxes. La procdure de sonde consiste en lenvoi par un speaker dun message de sonde intervalle de temps rgulier pour tester laccessibilit de son voisin. Lintervalle de temps est appel temps de garde et a 2 minutes comme valeur par dfaut. La procdure de notication permet lenvoi de messages entre speakers indiquant une erreur ou une fermeture de connexion TCP. Pour ce faire, le message utilise un code et un sous-code. Par exemple, 2-1 indique une version BGP non supporte, 4 un temps de garde coul et 6 la fermeture dune connexion TCP...

72 BGP

Figure 71: Connexions eBGP et iBGP

AS1

ASt

AS2

eBGP

iBGP

eBGP

BGP 73

7.3 ATTRIBUTS
BGP-4 dnit 7 attributs associs chaque prxe dadresse : Origin Dnition: origine du prxe dadresse (IGP=appris dun IGP, EGP=appris de BGP ou INCOMPLETE=route statique). Proprit: obligatoire AS-Path Dnition: liste de domaines de routage traverss lors de la propagation du message de mise jour (2 composants sequence {...} et set {...} utiliss pour lagrgation de prxes dadresses (voir gure 72)). Proprit: obligatoire Next-Hop Dnition: Adresse IP du routeur le plus proche pour atteindre le prxe dadresse. Proprit: obligatoire Multi-Exit-Discriminator (MED) Dnition: mtrique permettant de choisir un chemin lorsque 2 domaines de routage ont plusieurs liens entre eux. Proprit: facultatif et non transitif Local-Pref Dnition: mtrique permettant de choisir entre plusieurs chemins Proprit: facultatif Atomic-Aggregate Dnition: indication que le prxe dadresse est un agrgat Proprit: facultatif Aggregator Dnition: routeur et domaine de routage o seffectue lagrgation Proprit: facultatif et transitif

Lalgorithme Distance-Path utilise ces attributs pour calculer les plus courts chemins : 1. 2. 3. 4. Si plusieurs Si plusieurs Si plusieurs Si plusieurs Hop 5. ... chemins chemins chemins chemins possibles, choisir celui ayant la valeur Local-Pref la plus forte possibles, choisir celui ayant le plus court AS-Path possibles, choisir celui ayant la valeur MED la plus faible possibles, choisir celui ayant le cot minimum pour atteindre Next-

74 BGP

Figure 72: Exemple dagrgation de prxes dadresse

ASx

197.8.2.0/24

192.8.0.0/23

197.8.3.0/24

ASt

ASz

ASz

ASy

Annonce de ASt vers ASz sans agrgation de prfixes


197.8.0.0/23 197.8.2.0/24 197.8.3.0/24 ASPATH = seq [t], set [] ASPATH = seq [t, x], set [] ASPATH = seq [t, y], set []

Annonce de ASt vers ASz avec agrgation de prfixes


197.8.0.0/22 ASPATH = seq [t], set [x, y]

Annonce de ASz vers ASz avec agrgation de prfixes


197.8.0.0/22 ASPATH = seq [t, z], set [x, y]

BGP 75

7.4 SYNCHRONISATION AVEC LE PROTOCOLE DE ROUTAGE INTRA-DOMAINE


BGP est capable de se synchroniser avec les protocoles de routage intra-domaine RIP-2, EIGRP, IS-IS et OSPF. Voyons un exemple de synchronisation BGP-OSPF. Soit un routeur la frontire du domaine de routage AS1. Ce routeur parle OSPF sur linterface dans AS1 et BGP sur linterface hors AS1 (connexion eBGP). Les informations dOSPF correspondant un rseau de prxe x appartenant AS1 sont exportes sur linterface BGP sous la forme [prxe x, Origin=IGP, AS-Path=seq{AS1},set{},...]. Les informations de BGP correspondant un rseau de prxe y appartenant un domaine de routage ct eBGP sont exportes sur linterface OSPF via un link state dont le bit E est arm et avec une mtrique gale 1.

76 BGP

Chapitre 8 ROUTAGE MULTICAST

8.1 CONCEPTS
La plupart des applications actuelles sont de type point--point (une source, un destinataire). Cependant, quelques applications de type point--multipoint (une source, N destinataires) commencent apparatre dans les rseaux des entreprises mais aussi dans Internet (visioconfrence, distribution audio et video...). Les applications point--multipoint ont tout intrt sappuyer sur du multicasting qui est la manire la plus efcace de distribuer de linformation dune source vers N destinataires. En effet, le multicasting permet de rduire : le nombre de PDUs mises par la source La source nmet quune PDU multicast au lieu de N PDUs unicasts correspondants aux N destinataires. le nombre de PDUs transitant dans le rseau Les chemins de la source vers les destinataires sont optimiss car calculs par un protocole de routage multicast.

Le multicasting IP est bas actuellement sur un modle "ouvert" labor par DEERING (1989). Les applications multicasts sappuient sur UDP. Tout utilisateur dune application multicast est libre de crer un groupe multicast. Tout host est libre de se dclarer membre dun groupe multicast. Un groupe multicast est identi par une adresse de classe D. Un host se dclare membre du groupe multicast auprs des routeurs qui lui sont adjacents par le protocole IGMP; il devient par l mme destinataire des paquets IP adresss au groupe multicast. Les routeurs grce un protocole de routage multicast se chargent dacheminer chaque paquet IP multicast de la source vers tous les destinataires.

ROUTAGE MULTICAST 81

Le modle de DEERING a un certain nombre dinconvnients qui le rendent peu attractif pour les entreprises dsirant proposer des applications multicasts (par exemple, les ISPs). DIOT C. et al. (2000) identient principalement 3 inconvnients : possibilit de collision dadresse multicast absence de contrle daccs des sources et destinations multicasts surcot gnr par le protocole de routage multicast

En consquence, le multicasting nest actuellement quasiment pas utilis lexception du rseau exprimental MBONE au sein dInternet et de quelques applications le plus souvent limites aux rseaux locaux. 2 modles alternatifs SIM et EXPRESS ont t proposs rcemment pour pallier aux inconvnients du modle de DEERING, sans succs jusqu prsent.

8.2 PROTOCOLES DE ROUTAGE MULTICAST INTRA-DOMAINE


Les protocoles de routage multicast intra-domaine se classent en 2 ensembles selon le type darbre recouvrant quils calculent. DVMRP, PIM-Dense et MOSPF calculent un arbre recouvrant par couple {source, groupe multicast} avec la source comme racine. CBT et PIM-Sparse calculent un arbre recouvrant par groupe multicast avec un routeur appel RP (Rendez-vous Point) comme racine. DVMRP qui est une adaptation multicast de RIP version 2 applique un algorithme ood-andprune (inondation et lagage) pour calculer larbre recouvrant. Le premier paquet multicast envoy par la source est inond travers le domaine de routage. Les routeurs qui nont aucun membre du domaine multicast servir envoient en rponse un message dlagage vers la source. Ce message dlagage sert aux routeurs qui le reoivent supprimer les branches de larbre recouvrant ne portant pas de membre du groupe multicast (voir gure 81). DVMPR offre la possibilit dtablir des tunnels entre "ilts" de routeurs DVMRP ce qui est mis en oeuvre dans le MBONE. PIM-Dense applique aussi un algorithme ood-and-prune (inondation et lagage) pour calculer larbre recouvrant. Cependant, alors que DVMRP construit sa propre table de routage sur laquelle sapplique le ood-and-prune, PIM-Dense utilise la table de routage construite par le protocole de routage unicast quelque soit celui-ci. MOSPF est ladaptation multicast dOSPF. Lutilisation de MOSPF impose celle dOSPF comme protocole de routage unicast. MOSPF est spci par les RFC 1584 et 1585 (voir galement MOY, 1994). Lorsquun routeur MOSPF est averti par IGMP de lapparition ou la disparition dun membre dun groupe multicast, cette information est propage aux autres routeurs MOSPF par la procdure dinondation dOSPF (LSUs acquits par LSAs). Les LSUs contiennent des annonces de link states multicasts qui servent au marquage de la Link-State database. Le premier paquet multicast reu par un routeur MOSPF dclanche le calcul de larbre recouvrant multicast par lalgorithme de DIJKSTRA. Cet arbre est mis dans un cache.

82 ROUTAGE MULTICAST

Il en est supprim uniquement lors dune modication de la Link-State database. MOSPF offre la possibilit de faire du routage multicast de niveau 2. DVMRP, PIM-Dense et dans une moindre mesure MOSPF sont des protocoles adapts un rseau o les routeurs ont une probabilit non ngligeable de servir des membres dun groupe multicast donn (mode dense) mais peu adapts un rseau tel quInternet o cette probabilit est faible (mode clairsem). En mode clairsem, les messages dinondation et dlagage provoquent un overhead trop important. De plus, ces protocoles qui calculent un arbre recouvrant par couple {source, groupe multicast} ont une scalabilit faible. CBT et PIM-Sparse sont conus pour pallier aux inconvnients de DVMRP, PIM-Dense et MOSPF en mode clairsem. Cela se fait malheureusement au dtriment des chemins calculs qui ne sont pas toujours optimaux. Seul PIM-Parse est implment actuellement dans certains routeurs. Comme PIM-Dense, il utilise la table de routage du protocole de routage unicast quelque soit celui-ci. Il fonctionne de la manire suivante : Chaque groupe multicast est associ un routeur RP Chaque membre du groupe multicast senregistre auprs du RP en lui envoyant un message. Ces messages sont utiliss par les routeurs traverss pour calculer un arbre recouvrant dont la racine est le RP et les feuilles les routeurs qui ont des membres du groupe multicast servir. Chaque source senregistre auprs du RP en lui envoyant son premier paquet multicast encapsul dans un paquet unicast. Le RP extrait le paquet multicast et lenvoie aux membres du groupe multicast travers larbre recouvrant calcul prcdemment. Puis le RP rpond la source par un message. Ce message est utilis par les routeurs traverss pour tablir un chemin entre la source et le RP. Les sources enregistres auprs du RP lui envoient leurs paquets multicasts que le RP envoie son tour aux membres du groupe multicast via larbre recouvrant.

ROUTAGE MULTICAST 83

Figure 81: Algorithme ood-and-prune

S 1 1 2 flood prune 2

D S arbre recouvrant 1 1

84 ROUTAGE MULTICAST

8.3 PROTOCOLES DE ROUTAGE MULTICAST INTER-DOMAINE


Le routage multicast inter-domaine relve de protocoles pour linstant relativement immatures. LIETF propose 2 approches : une approche court terme Cette approche repose sur PIM-SM comme protocole de routage multicast intra-domaine coupl BGP-4 et MSDP dont le rle est de connecter les domaines multicasts. une approche long terme Cette approche repose sur le dveloppement en cours dune extension multicast BGP appele BGMP.

Voir RAMALHO M. (2000) pour plus dinformations.

ROUTAGE MULTICAST 85

Chapitre 9 ROUTAGE PAR CONTRAINTES

9.1 INGENIERIE DE TRAFIC


Lingnierie de trac est lensemble des mcanismes permettant un oprateur dutiliser au mieux les ressources de son rseau. Le but pour loprateur tant doptimiser les cots en vitant une sous ou sur-utilisation de certaines parties de ce rseau. Lapproche la plus rationnelle consiste faire assurer lessentiel des mcanismes dingnierie de trac par le protocole de routage (DAVIE B. et REKHTER Y., 2000). Malheureusement, les protocoles de routage "traditionnels" prsents dans les paragraphes prcedents se rvlent totalement inadapts cette tche. Pour illustrer linadaptation de ces protocoles de routage "traditionnels", prenons comme exemple un rseau IP ayant la topologie dcrite par la gure 91 avec OSPF comme protocole de routage et supposons que 2 ux applicatifs A1 et A2 provenant respectivement de R1 et R2 ont pour destination R3. Plusieurs cas peuvent se produire selon le paramtrage dOSPF : le cot de R4-R5-R6 est ts infrieur celui de R4-R7-R8-R6 A1 emprunte le chemin R4-R5-R6 A2 emprunte le chemin R4-R5-R6 Consquence: le chemin R4-R7-R8-R6 est sous-utilis le cot de R4-R5-R6 est gal celui de R4-R7-R8-R6 1/2 A1 + 1/2 A2 emprunte le chemin R4-R5-R6 1/2 A1 + 1/2 A2 emprunte le chemin R4-R7-R8-R6 Consquence: si le chemin R4-R5-R6 a une bande passante 3 fois suprieure celle du chemin R4-R7-R8-R6, le chemin R4-R5-R6 est sous-utilis le cot de R4-R5-R6 est gal 1/3 celui de R4-R7-R8-R6 2/3 A1 + 2/3 A2 emprunte le chemin R4-R5-R6 1/3 A1 + 1/3 A2 emprunte le chemin R4-R7-R8-R6 Consquence: si A1 a un besoin en bande passante suprieur celui de A2, lutilisation des 2 chemins nest toujours pas optimal

ROUTAGE PAR CONTRAINTES 91

Figure 91: Exemple dingnierie de trac

R1

A1
R4

R5 R6 R3

A2
R2 R7 R8

92 ROUTAGE PAR CONTRAINTES

9.2 DEFINITION DU ROUTAGE PAR CONTRAINTES


Comme le montre le paragraphe prcdent, la mise en oeuvre de lingnierie de trac prsuppose le dploiement dun nouveau type de protocole de routage. Ce nouveau type de protocole fait appel au routage par contraintes. Dans le routage par contraintes, le rseau continue tre modlis comme un graphe connect, orient et pondr dont les noeuds sont les routeurs. Les arcs sont dnis par leur tat (up/down) et leur cot mais aussi de manire facultative, et cest l la nouveaut, par un ou plusieurs attributs. Lalgorithme de routage ne calcule plus le plus court chemin dun noeud vers les autres noeuds mais le meilleur chemin. Ce meilleur chemin est le plus court chemin respectant un ensemble de contraintes exprimes par les attributs des arcs utiliss. La contrainte peut porter sur la performance ou la politique. Par exemple : Une bande passante minimale de x Kbits/s est une contrainte de performance. Cela implique que le chemin calcul respectant cette contrainte doit utiliser des arcs ayant lattribut Bande_passante_disponible suprieur x Kbits/s. Lexclusion et/ou linclusion de certains arcs est une contrainte politique. Cela implique que le chemin calcul respectant cette contrainte doit utiliser des arcs ayant lattribut A_inclure et rejeter les arcs ayant lattribut A_exclure.

Lintroduction de contraintes change radicalement le processus de forwarding du routeur. En routage traditionnel, chaque routeur travers dtermine le port de sortie du paquet grce ladresse de destination; le forwarding est dit hop-by-hop. Ce nest plus le cas en routage par contraintes, puisque ladresse de destination nest pas toujours sufsante dterminer le port de sortie. Seul le routeur dentre dans le rseau connait le chemin du paquet; le forwarding est dit explicit. Le forwarding explicit est beaucoup plus facile mettre en oeuvre en mode connect (ATM) quen mode non connect (IP). Cest pour cette raison que le routage par contraintes napparait en environnement IP quassoci la technologie MPLS (Davie B. and Rekhter Y., 2000). En IP/MPLS, le routeur dentre attribue au paquet IP (i) un LSP qui est le meilleur chemin dtermin par le protocole de routage par contraintes et (ii) le label correspondant; les autres routeurs traverss utilisent ce label pour dterminer le port de sortie.

ROUTAGE PAR CONTRAINTES 93

9.3 PROTOCOLES DE ROUTAGE PAR CONTAINTES


Jusqu rcemment, le seul protocole de routage par contraintes oprationnel tait le protocole PNNI en environnement ATM. Depuis peu lIETF a normalis une adaptation de IS-IS et dOSPF au routage par contraintes en environnement IP/MPLS. Cette adaptation passe par : lajot des attributs des arcs dans les informations changes lors de la procdure dinondation la modication de lalgorithme de DIJKSTRA pour prendre en compte les contraintes

Notons que le routage par contraintes a non seulement un impact sur le protocole de routage mais aussi sur le protocole de signalisation qui tablit le chemin. En effet, aprs tablissement dun chemin avec une bande passante garantie de x Kbits/s, le protocole de signalisation doit indiquer au protocole de routage de diminuer de x Kbits/s la valeur de lattribut Bande_ passante_disponible des arcs traverss. En environnement IP/MPLS, le protocole de signalisation qui tablit le LSP est soit RSVP, soit LDP. Il a donc fallu adapter RSVP et LDP au routage par contraintes. Ces adaptations sappellent respectivement RSVP-TE et CR-LDP.

94 ROUTAGE PAR CONTRAINTES

Annexe A BIBLIOGRAPHIE

BERTSEKAS D. and GALLAGER R. (1992) Ed. Prentice Hall Data Networks CALLON R. (1990) IETF RFC 1195 Use of OSI IS-IS for routing in TCP/IP and dual environments DAVIE B. and REKHTER Y. (2000) Ed. Morgan Kaufmann Publishers MPLS technology and applications DEERING S. (1989) IETF RFC 1112 Host extensions for IP multicasting DEERING S. (1991) IETF RFC 1256 ICMP router discovery messages DIOT C. et al. (2000) IEEE Network 14(1) pp. 78-88 Deployment issues for the IP multicast service and architecture GARCIA-LUNES ACEVES J.J. (1989) ACM Computer Communication Review A unied approach to loop-free routing using distance vectors or link states HUITEMA C. (1995) Ed. Eyrolles Le Routage Internet MOY J. (1994) IETF RFC 2328 OSPF version 2 MOY J. (1994) Communications of the ACM 37(8) pp. 61-66 Multicast routing extensions for OSPF PERLMAN R. (1991) IEEE Network Magazine Sept. pp. 18-24 A comparison between two routing protocols : OSPF and IS-IS PERLMAN R. (1992) Ed. Addison Wesley Interconnexion: Bridges and routers

BIBLIOGRAPHIE A1

RAMALHO M. (2000) IEEE Communications surveys and tutorials 3(1) pp. 2-25 Intra- and inter-domain multicast routing protocols ROSEN E. et al. (2001) IETF RFC 3031 MPLS architecture SHARON O. (2001) IEEE Networks 15(1) pp. 56-65 Dissemination of routing information in broadcast networks: OSPF versus IS-IS

A2 BIBLIOGRAPHIE

Glossaire

AFI Address Family Identier [IETF] ARP Address Resolution Protocol [IETF] AS Autonomous System [IETF] ATM Asynchronous Transfert Mode [CCITT] BGP Border Gateway Protocol [IETF] BGMP Border Gateway Multicast Protocol [IETF] CBT Core Based Tree [IETF] CIDR Classless Internet Domain Routing [IETF] CRC Cyclic Redundancy Check DD Database Description [OSPF] DUAL Diffusing Update ALgorithm [Cisco] DVMRP Distance Vector Multicast Routing Protocol [IETF] EGP Exterior Gateway Protocol [IETF] ES End System [OSI] FCS Frame Check Sequence

Gloss.1

ICMP Internet Control Message Protocol [IETF] IGMP Internet Group Management Protocol [IETF] IGP Interior Gateway Protocol [IETF] IS Intermediate System [OSI] LAN Local Area Network LDP Label Distributed Protocol [MPLS] LSA Link State Acknowledge [OSPF] LSP Label Switch Path [MPLS] LSR Link State Request [OSPF] LSU Link State Update [OSPF] MAC Medium Access Control [IEEE] MBONE Multicast backBONE [IETF] MED Multi-Exit-Discriminator [BGP] MOSPF Multicast Open Short Path First [IETF] MPLS Multi-Protocol Label Swapping [IETF] MSDP Multicast Source Discovery Protocol [IETF] OSPF Open Short Path First [IETF]

Gloss.2

PIM Protocol Independent Multicasting [IETF] PNNI Private Network-to-Network Interface [ATM forum] PPP Point-to-Point Protocol [IETF] RIP Routing Information Protocol [IETF] RSVP ReSerVation Protocol [IETF] SIM SImple Multicast [IETF] TLV Type-Longueur-Valeur WAN Wide Area Network XNS Xerox Network Services [Xerox]

Gloss.3

Vous aimerez peut-être aussi