-------[  RtC Mag, At the end of the universe  ]

--------------[  Routage Dynamique  ]
---------[ in RtC mag 4 ]
----[  by SnEaKie <sneakie-rtc@fr.st>  ]


-------[  Introduction

Premirement, qu'est ce que le routage?
Pour faire pas trop compliqu, lorsqu'une machine se connecte  Internet, alors 
elle se connecte  un serveur. Jusque l a va... Lequel serveur possde une 
base de donnes que l'on appelle Table de Routage. Cette table possde diffrentes 
entres et sorties. Vous n'tes pas sans savoir que dans chaque datagramme IP, se 
situe l'adresse IP de l'envoyeur et du destinataire. Le serveur  cette occasion,
lorsqu'il aura reu un paquet envoy par A, va vrifier si l'adresse destinatrice 
B est contenue dans sa table de routage. En gnral non, donc le serveur renvoie 
le paquet  un autre serveur, en s'tant assurer au pralable que ce serveur tait
situ sur la mme portion du rseau que la cible du datagramme IP. 
Prenons un petit exemple:

      A       ----------------------------------------->     B 
(198.23.25.36)                                         (145.23.89.78)
Dans ce cas, il existe un dtail (et mme de nombreux) de cette connexion simple.
	A    	  -------------------> Routeur ------------>     B 
(198.23.25.36)			   (125.56.85.96)		 (145.23.89.78)
En gros, c'est a, seulement l o je ne met que 1 Routeur, il y en a gnralement 
5 ou 6 voir plus en fonction de la cible.

Note:
A ce propos, lorsque vous utilisez TRACERT.EXE qui est un utilitaire de traage de
route bas sur des transissions ICMP: (cf ICMP my Friend from SnEaKie) vous verrez 
si vous spcifiez une adresse au hasard que celle ci n'existe pas, la rponse 
ngative des routeurs se fera au bout de, 8 voir mme plus, routeurs. Ceci tant 
d au fait que les tables de routages se redirigent, ce qui implique qu'une machine 
cible peut tre joignable au bout de 30 routeurs si celle-ci est peu utilise, 
situe sur une portion de rseau qui figure dans peu de tables de routage.

On distingue cependant plusieurs types de routages, le routage dynamique dont on  
va parler ici, le routage statique, le routage direct ou indirect. Le routage 
statique ne s'opre qu'entre les routeurs, c'est  dire que l'on l'appelle routage 
dans le sens o il y a change de donnes entre diffrents routeurs, en fait ils 
changent des informations rgulires sur l'tat des rseaux. Ce qui a pour but de 
dceler toute annomalie dans les transmissions. Imaginons que A veuille joindre B 
et que pour cela, Le Routeur R1 doit joindre R2, qui doit joindre  son tour R3, etc 
jusqu' R10 qui est en panne: rsultat pas de paquet pour B, grce au routage 
dynamique, R9 sera averti que R10 est en panne, il va mettre (R9) une croix sur 
momentane sur R10 dans sa table de routage et va travailler sans lui. Cependant, 
pour fournir un service satisfaisant, R9 va chercher un R10 de remplacement que 
possde l'adresse cibleB (145.23.89.78) dans sa table de routage, quite  devoir 
joindre un R10 puis un R11, jusqu' R19 si il le faut.

Remarque: il aurait p tre possible d'envoyer un message ICMP  R10 par R9 pour 
connatre l'tat de sa connexion, seulement les routeurs sont limits en ce qui 
concerne les messages ICMP car ceux-ci entraneraient un trafic trop important sur 
le rseau et feraient saturer les connexions. 

On distingue trois protocoles de routage dynamique; RIP le plus ancien, OSPF, et BGP.


-------[  A) RIP, Routing Information Protocol


Celui-ci est trs utilis dans le routage de passerelle interne. RIP a t dvelopp 
pour tre oprationnel sous UNIX de Berkeley: pas mal! Un routeur RIP envoie des 
diffusions UDP sur le port 520 pour changer des informations de routage avec les 
autres routeurs. On distingue deux types de messages dans RIP: les requtes et les 
rponses. Quand un routeur s'initialise, il fait une diffusion de requtes RIP  
partir de chaque interface rseau. Ces requtes demandent tout simplement aux autres 
routeurs de rpondre dans un message rponse qui contiendra leurs tables de routage.

	Systme Autonome 1
|-----------------------------|  
| |------|           |------| |
| |  P1  |==========>|  P2  | |
| |------|           |------| |
|    |                  |     |
|    |  Protocoles de   |     |
|    |   passerelles    |     |=================>Protocoles de passerelles 
|    |     internes     |     |                           externes
|    |                  |     |                              |
|    |                  |     |                              |
|    |                  |     |                              |
| |------|              |     |                              |
| |  P3  |==============|     |                              |
| |------|                    |                              |
|                             |                              |
|-----------------------------|                              |
                                                             |-|
                                                       Systme | Autonome 2
                                                 |-----------------------------|
                                                 | |------|           |------| |
                                                 | |  P4  |==========>|  P5  | |
                                                 | |------|           |------| |
                                                 |    |                  |     |
                                                 |    |                  |     |
                                                 |    |  Protocoles de   |     |
                                                 |    |   passerelles    |     |
                                                 |    |     internes     |     |
                                                 |    |                  |     |
                                                 |    |                  |     |
                                                 | |------|              |     |
                                                 | |  M1  |==============|     |
                                                 | |------|                    |
                                                 |                             |
                                                 |-----------------------------|   

Rem: RIP ne sert qu' ces passerelles internes c'est  dire  l'intrieur des 
domaines, alors que les protocoles de passerelles externes servent eux au 
routage externe: c'est  dire entre les domaines.



Un seul message RIP (de la version 1) peut contenir 25 routes, chacune de ces 
routes augmente de 20 octets la taille du paquet.
 
|------------------------------------------------------------------------------|
| Commande (1 octet)| Version (1 octet) |        Non utilis (2 octets)        |
|------------------------------------------------------------------------------|
| Identificateur d'adresse (2 octets)   |        Non utilis (2 octets)        |
|------------------------------------------------------------------------------|
|                           Adresse IP (2 octets)                              |
|------------------------------------------------------------------------------|
|                           Non Utilis (4 octets)                             |
|------------------------------------------------------------------------------|
|                           Non Utilis (4 octets)                             |
|------------------------------------------------------------------------------|
|                              Metrique (4 octets)                             |
|------------------------------------------------------------------------------|

Voici l'en-tte ou le header d'un paquet RIP version1.0. 
J'ai le sentiment que quelques petites explications sont  apporter, tout ne 
parle pas de lui-mme!

Commande (1 octet) : VALEUR 1 ==> REQUETE : Ce code est utilis pour une requte
                                            d'infos de table de routage.
                     VALEUR 2 ==> REPONSE : Permet de transmettre les infos de
		 	                          routage ou de mise  jour.  
                     VALEUR 3 ==> TRACEON : Marche plus!
                     VALEUR 4 ==> TRACEOFF: Marche plus non plus!
                     VALEUR 5 ==> POLL    : Utilis par quelques utilitaires et
                                            est utilis pour des tests ou des
                                            dpannages: bon  essayer!
                     VALEUR 6 ==> POLL-ENTRY : Idem POLL.

Identificateur d'adresses (2 octets) : Le format des messages RIP permet des 
infos de routage pour d'autres protocoles que IP. Ce champ contient un code 
identifiant le protocole (valeur 2 pour IP).  

Adresse IP (4 octets) : CE champ identifie un rseau ou un hte atteint par le 
trafic de routage  travers le systme de passerelle gnrant le message RIP.

Mtrique (4 octets) : Ce champ indique le nbre de sauts ncessaires pour 
atteindre la destination indique dans le champ de l'adresse IP. 

	Voil pour RIP, mais il faut savoir qu'il en existe 2 versions; RIP v.1 
ainsi que RIP v.2. Alors l quelle est la question qu'on se pose, " Quelle est 
la diffrence entre les deux?"
Simple, pour rpondre  cette question, on regarde le fonctionnement de RIPv.1 
et celui de RIPv.2 ==> En fait RIPv.1 est totalement incapable d'inclure les 
masques de sous-rseau pour les adresses IP qui sont indiques dans les routes. 
Le pb rside dans le fait qu'un routeur est dans l'impossibilit (logique 
d'ailleurs) de faire la diffrence entre une adresse IP d'1 hte simple comme 
moi, ou une IP d'un rseau avec un masque de sous-rseau.
De plus, RIPv.2 apporte quelques solutions aux pbs de la v.1. Le format de 
paquets de RIPv2 est le mme que RIPv1  l'exception prs que RIPv2 tend  
utiliser les donnes libres se trouvant dans le champ de donnes non-utilises.
De ce fait les systmes ne pouvant recevoir que les RIPv1 reoivent RIPv2 en 
ignorant les donnes supplmentaires. RIPv2 a aussi t dvelopp dans
l'optique d'viter les pbs de transmissions excessives: par ex, il active les 
transmissions multicast (multi-destinataires) de faon a viter que les 
systmes non-RIP envoient les messages de routage.

Bon, je vais qd mme vous filer le format du message RIPv2, (mais faites-en 
bon usage,MDR!)

|------------------------------------------------------------------------------|
| Commande (1 octet)| Version (1 octet) |   Domaine de routage (2 octets)      |
|------------------------------------------------------------------------------|
| Identificateur d'adresse (2 octets)   |    Marqueur de route (2 octets)      |
|------------------------------------------------------------------------------|
|                           Adresse IP (2 octets)                              |
|------------------------------------------------------------------------------|
|                        Masque de sous-rseau (4 octets)                      |
|------------------------------------------------------------------------------|
|                    Adresse IP du saut suivant (4 octets)                     |
|------------------------------------------------------------------------------|
|                              Metrique (4 octets)                             |
|------------------------------------------------------------------------------|

Petite explication des nouveaux champs de donnes:

Domaine de routage(2octets): Ce champ contient une valeur identifiant le 
processus de routage utilis par ce message. Un systme recevant un mess RIP 
avec une value de domaine de routage diffrente du sien dtruit le paquet. 
Par dfaut value = 0.

Marqueur de route(2 octets): Ce marqueur transporte un numro de systme 
autonome qui permet  RIP d'interagir avec les protocoles de passerelles 
externes comme EGP ou BGP.

Masque de sous-rseau(4 octets); Le masque de sous-rseau est appliqu au champ 
adresse IP pour que les systme soit capable d'identifier le sous-rseau.

Adresse IP du saut suivant(4octets): Ce champ identifie l'interface de 
passerelle par laquelle le trafic (destin au systme indiqu par le champ 
adresse IP) doit tre envoy.

RIPv2 contient aussi une option qui oblige les messages de routage  tre 
authentifis avant d'tre envoys.          



-------[  B) OSPF, Open Shortest Path Protocol


Pour faire simple, disons que RIP v1 et v2 sont efficaces mais sont 
contreverss. Disons qu'ils sont efficaces dans la mesure o le calcul 
d'une route base sur le nombre de sauts est souvent correcte mais peut se 
rvler trs contraignante. Je m'explique enfin, disons que grce  RIP vos 
paquets vous arrivent mais il se peut trs bien que ce type de routage soit 
trs problmatique en ce qui concerne la bande passante. Pour un seul saut 
peut correspondre par ex., 2 segments Ethernet, un PPP lent ou encore tout 
autre type de rseau qui oblige les MTU a tre remis  jour perptuellement... 
Rsultat, fiable mais non-fiable!

Pour resoudre ce pb, on parle alors de "routage  tat de liens", cette 
mthode permet d'informer rgulirement les routeurs d'autres rseaux 
interconnects. Disons que les routeurs testent les connexions avec les 
autres routeurs et sauvegardent les infos dans une base donnes qui est 
ensuite envoye gracieusement sur les rseaux interconnects. De ce fait, 
quand les informations sur l'tat des liens sont transmises aux autres 
routeurs, le chemin le plus court est facilement dtermin. Par lasuite chaque 
routeur construi sa table de routage d'aprs les infos reues. OSPF, par 
rapport  RIP, est bien meilleur en ce qui concerne les changements de route 
de dernire minute due  une panne de seuveur ou autre. Non seulement a, mais 
il a aussi d'autres avantages:

   Equilibrage des charges: Quand deux ou plusieurs routes vers la mme 
destination possdent la mme mtrique, OSPF rpartit le trafic sur ces 
diffrentes routes pour viter un goulet d'tranglement sur l'une des routes.

   Authentification: Tous les messages OSPF sont tenus d'tre authentifis par 
dfaut avant d'tre traits par le destinataire. Un champ type d'authentification
dfinit le type d'authentification  utiliser.

   Sous-rseau: OSPF comporte un masque de sous-rseau pour les adresses IP de 
chaque route.

   Zone OSPF: Un systme autonome peut contenir des sous-ensembles de rseaux 
appels zones OSPF. Ils sont traits comme des domaines de routage, spars du 
rste du systme autonome.

   Infos de routage externe: OSPF peut assimiler les infos de routage obtenues 
par des sources externes comme des routes statiques. Les dones de routage 
externe sont envoyes vers tous les autres routeurs OSPF.

   Routage bas sur TOS: Les bases de donnes OSPF peuvent grer des infos de
routage pour chaque type de services indiqus dans l'en-tte IP.


-------[  EOF
