Les protocoles de communication
Il est question ici des protocoles de
niveau
3 (réseau) et 4 (transport) du modèle OSI concernant les réseaux
locaux et plus particulièrement Internet.
L'IS (Internet Society) publie des documents sous le nom de
RFC
(Request For Comments). Des sous-groupes de cet organisme existent et
notamment l'IETF (Internet Engineering Task Force) qui définit et expérimente
les protocoles de l'internet.
Les protocoles importants de la couche réseau
| Couche Réseau |
IP ARP RARP ICMP |
| Couche Liaisons de données |
Couches
matérielles |
| Couche physique |
Le protocole IP
IP signifie Internet Protocol (Protocole Internet). Ce protocole est
associé à deux protocoles de la couche transport (couche 4) TCP et UDP.
Cette association fait que l'on parle très souvent de protocoles TCP/IP ou
UDP/IP comme si c'était un seul et même protocole.
Le protocole IP gère l'adressage logique, le nommage des matériels,
le routage, la fragmentation et le réassemblage des paquets. Pour cela
il utilise des datagrammes (unité de données) permettant le
transit des informations.
Le protocole IP est un protocole sans connexion. Si vous voulez communiquer,
le destinataire ne doit pas obligatoirement être présent (envoi de courrier
...) à la différence du réseau téléphonique.
Un poste de travail sera caractérisé par son adresse
MAC (adresse physique), son adresse logique ainsi que son nom. Prenons
l'exemple d'un matériel quelconque nommé recepteur, voici ses
attributs :
- adresse Mac : 08 :00 :11 :03 :4c :A9
- adresse logique (ou adresse IP) : 192.168.0.2
- nom : récepteur
Selon le réseau utilisé, la taille maximale d'une trame (ou
datagramme) est différente. Le protocole IP de part sa capacité
à fragmenter et à réassembler les paquets, permet de
s'affranchir de cette limitation. En effet, une trame supérieure à
la limite imposée par le type de réseau, sera découpée
en morceaux (paquets) plus petits, envoyés et réassemblés
par le destinataire pour reformer l'information complète. La taille
maximale est appelée MTU (Maximal Transport Unit). Et les protocoles
TCP ou UDP de niveau 4 (transport) sont chargés de les acheminer.
Les paquets fournis par le protocole IP ne sont pas forcément exempts
d'erreurs et dans le bon ordre. Ce sont les couches supérieures qui
se chargeront de ce travail. Par contre, le protocole IP, assure aux couches
supérieures que les paquets sont pour eux et que les adresses source
et destination sont les bonnes. Les paquets IP seront au moment de l'envoi,
encapsulés dans une trame eternet (niveau 1 et 2) contenant les adresses
matérielles des machines source et destination et le type de protocole
réseau utilisé. Ces adresses ne sont pas forcément les
adresses de départ et d'arrivée des paquets mais celles de chaque
étape du transit, suivant les
matériels traversés. Par exemple, si le paquet doit, pour
atteindre le destinataire passer par un routeur, l'adresse de la partie etdernet
sera l'adresse du routeur tandis que l'adresse source sera la machine de départ.
Une fois le routeur traversé, l'adresse destination sera la prochaine
étape (autre routeur, machine destinataire ...) et l'adresse source
l'adresse du routeur qui vient d'être traversé.
Les paquets IP
Un paquet IP comprend deux parties. Une partie en-tête et une partie
données. La totalité ne peut dépasser 64 Kilos-Octets.
Cette en-tête a une valeur fixe de 20 octets et une partie optionnelle
de longueur variable. Chaque élément de l'en-tête est caractérisé par une
partie du signal émis.
Format de l'en-tête d'un paquet IP v.4
Signification :
- Version :
- indique la version du protocole utilisé pour ce datagramme. Pour IP nous
pourrions avoir 4 pour IPV4 ou 6 pour IPV6 (codage de l'adressage IP sur
6 octets).
- IHL :
- Internet Header Lengtd, indique la longueur de l'en-tête (en mots de
32 bits). Celle-ci, si il y a une option peut être variable. Si il n'y a
pas d'option, le champ vaudra 5.
- Type de service :
- indique aux routeurs quel type de chemin il doit privilégier en fonction
de ce que désire l'émetteur (un meilleur débit, une plus grande vitesse,
une plus grande sécurité ...).
L'utilisation de cette partie est définie dans le RFC 1349 et se décompose
de la manière suivante :
| 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
| |
priorité |
|
|
TOS |
|
|
valeur 0 |
|
La priorité vaut par défaut 0 et indique si le paquet a une certaine
priorité par rapport aux autres.
Le TOS (Type Of Service) est décomposé en 4 bits prenant chacun la valeur
1 ou 0 en fonction des critères suivants :
| 1er bit |
Concerne le délai. Si la valeur est 1, il faut le minimiser en passant
par exemple par un câble sous-marin plutôt qu'un satellite. |
| 2ème bit |
Concerne le débit. Si la valeur est 1 le débit devra être maximum. |
| 3ème bit |
Concerne la fiabilité. Si la valeur est 1 les routeurs doivent privilégier
des liaisons fiables. |
| 4ème bit |
Concerne le coût. Si la valeur est 1 le coût devra être minimisé,
la transmission sera la moins chère possible. |
Si tous les bits sont à 1, la sécurité du routage sera maximisée (RFC 1455).
Quelques exemples sur des applications connues.
| Application |
Nature |
TOS |
Explications |
| Telnet |
connexion distante |
1000 |
Le délai de transmission est minimisé |
| FTP (envoi de données) |
transfert de fichiers |
0100 |
Le débit de la transmission est maximisé |
| FTP (envoi de commandes |
transfert de fichiers |
1000 |
Le délai de transmission est minimisé |
| SMTP (envoi de données) |
courrier électronique |
0100 |
Le débit de la transmission est maximisé |
| SMTP* (envoi de commandes) |
courrier électronique |
1000 |
Le délai de transmission est minimisé |
| SNMP** |
administration des réseaux |
0010 |
La fiabilité des transmissions est maximisée |
*SMTP : Simple Mail Transfer Protocol
**SNMP : Simple Network Management Protocol
Le dernier bit est à zéro. Il permet sinon de définir des options au niveau
du routage.
L'adressage physique
Les adresses matérielles de la machine source et destination notées
par les
trames IP sont le
plus souvent appelées
adresses MAC (Medium Acces Control). Celles-ci
doivent référencer
un
matériel de manière unique dans le monde informatique. Ce
matériel peut être, un serveur, un poste de travail, une imprimante,
un routeur ...
Dans ce but, un organisme a été créé sous
forme d'un consortium comprenant les constructeurs DEC, Intel, Xerox. Aujourd'hui
c'est
l'IEEE qui les distribue aux
constructeurs de matériels. C'est l'IEEE à travers son groupe
de travail 802.2 qui a proposé les formats de ces adresses matérielles.
On peut aussi trouver une liste de ces adresses dans le RFC 1700.
L'adresse
MAC est identique quelque soit la méthode d'accès. Que vous
soyez sur un réseau ethernet, token-ring ou FDDI, l'adresse aura le même
format. Deux formats existent, nous ne développerons ici que le deuxième
concernant les matériels interconnectés. Pour les réseaux
locaux non interconnectés L'IEEE permet d'utiliser des adresses déterminées
par le responsable du réseau local qui doit faire en sorte qu'elles
soient uniques.
Le format de cette adresse est alors la suivante : I/G (1 bit)
+ 15 bits.
Réseaux locaux interconnectés
L'adresse est
donc gérée par l'IEEE. Le nombre de matériels concerné est beaucoup plus
important que dans le cas des réseaux non interconnectés. L'adresse a une
longueur de 48 bits et est du format suivant :
- Le champ I/G détermine si l'adresse concerne un noeud (matériel) ou
un groupe de noeuds. Si la valeur est 1, une trame émise sera expédiée simultanément
à tous les noeuds du groupe. On parlera de multicast ou diffusion restreinte.
Les noeuds d'un même groupe auront donc le bit I/G à 1. Lorsqu'une trame est
émise, c'est la partie matérielle qui fait le filtrage et détermine si la
trame lui est destinée. Ce système permet de ne pas détériorer les performances
des stations qui n'interviennent donc pas par leurs couches supérieures pour
réaliser le filtrage. Remarque : Il ne faut pas confondre multicats et broadcast.
Broadcast est une diffusion large, c'est à dire à tous les noeuds du réseau.
- Le champ U/L. Si le bit vaut 0, l'adresse MAC concernée est dite
universelle. Elle est donnée par l'IEEE et respecte donc sa norme. Dans le
cas où le bit vaut 1, l'adresse est locale. Le format est particulier comme
dans les réseaux Token-Ring.
- Adresse de constructeur est fournie par l'IEEE. On les retrouve dans
le RFC 1700.
| Entité |
Partie adresse constructeur |
| IBM |
08 :00 :5a |
| CISCO |
00 :00 :0c |
| Tektronix |
08 :00 :11 |
| 3COM |
02 :60 :8c |
- Adresse interne. Cette partie est propre au constructeur.
L'IEEE donne une adresse unique par constructeur, ce dernier ensuite, référence
ses matériels selon sa méthode. Pour des matériels de constructeurs différents,
la partie adresse interne peut être identique, par contre, la partie adresse
de constructeur étant elle unique, l'adresse MAC globale sera bien seule sur
le réseau.
L'adressage logique
L'adressage logique permet de référencer un
matériel dans un réseau.
Souvent on parle d'adresse logique
pour une machine (ordinateur ...). Or, c'est un abus de langage car l'on confond
l'interface réseau de la machine et la machine elle même. Souvent
celle-ci n'a qu'une interface réseau (carte réseau) mais il
arrive aussi que certaines (routeurs, firewall, serveurs ...) en aient plusieurs.
Elles auront alors plusieurs adresses logiques, une par interface.
Ainsi, si l'on a deux interfaces réseaux (deux cartes réseaux),
ce sera une machine, deux adresses
MAC, deux adresses logiques, voire même deux noms pour la même
machine.
Une autre distinction existe tout comme pour les adresses physiques entre
l'adresse logique privée et l'adresse logique publique. Si le
réseau n'est pas un réseau interconnecté (réseau intranet par exemple), l'administrateur
peut fixer les adresses logiques à sa convenance même si elles existent déjà
sur le réseau internet. Il n'y aura pas d'interaction ou de conflit du fait
que son réseau n'est pas interconnecté. Par contre si le réseau créé doit
être interconnecté, il faudra, comme pour l'adresse MAC, une adresse logique
unique pour chacune des interfaces réseaux.
Un organisme se charge d'attribuer les adresses logiques afin qu'elles soient
uniques. C'est l'IANA (Internet
Assigned Numbers Authority). Cet organisme comprend des sous-structures par
région du globe, RIPE NCC pour l'Europe (Réseaux IP Européens Network Coordination
Center), APNIC pour l'Asie
et le Pacifique (Asia-Pacific Network Information Center) et ARIN pour l'Amérique
et le reste du monde (American Registry for Internet Numbers). Ces organismes
possèdent à leur tour des sous-structures en fonction du type de clients et
de leurs importances (industriels, éducation ...). En France les organismes
principaux sont Oleane, Renater, Transpac mais aussi la Lyonnaise communication,
Cegetel ...
Une adresse logique, a une longueur
de 32 bits en version 4 soit 4 octets. Une adresse se décompose
en 4 octets séparés par un point et traduit en décimal
X1.X2.X3.X4. Par exemple 192.168.0.1
Une adresse IP se décompose en 2 parties. La première concerne le réseau
sur lequel se situe la machine. La deuxième concerne le numéro de l'interface
réseau de la machine. La première partie est fournie par les organismes vus
précédemment, la deuxième partie est à la discrétion du gestionnaire du réseau.
Cinq classes d'adresse ont été définies, permettant de mieux répondre aux
besoins des gestionnaires de réseaux. Certains peuvent en effet avoir un réseau
composé de très nombreux matériels tandis que d'autres peuvent avoir de très
nombreux réseaux composés de peu de machines.
| |
1er octet |
2ème octet |
3ème octet |
4 ème octet |
| Classe A |
0xxxxxxx
|
xxxxxxxx
|
xxxxxxxx
|
xxxxxxxx
|
| Classe B |
10xxxxxx
|
xxxxxxxx
|
xxxxxxxx
|
xxxxxxxx
|
| Classe C |
110xxxxx
|
xxxxxxxx
|
xxxxxxxx
|
xxxxxxxx
|
| Classe D |
1110xxxx
|
xxxxxxxx
|
xxxxxxxx
|
xxxxxxxx
|
|
xxx partie réseau xxx
partie interface x=1 bit
|
Classe A
Le réseau est codé sur 8 bits (1er octet) et le premier bit vaut 0. Les 24
bits restants, soit 3 octets, codent les matériels (interface). Cette classe
fournit 128 réseaux pouvant comprendre plus de 16 millions de matériels. Les
adresses réseaux iront de 0 à 127 mais les réseaux 0 et 127 sont particuliers
ou réservés. Cette classe propose donc 126 réseaux utilisables. Ces adresses
ne sont données qu'à de très grands organismes tels la défense américaine,
le MIT (Massachussets Institute of Technology). Les réseaux de Classe A auront
donc la plage d'adresses allant de 0 à 127 comme 100.23.15.190 par exemple.
Classe B
Le réseau est codé sur 16 bits, les deux premiers ont les valeurs 1 et 0.
Les 16 bits suivants codent les matériels de ces réseaux. Cette classe fournit
donc plus de 16000 réseaux pouvant contenir plus de 65 500 machines (interfaces).
Ces adresses ne sont données qu'à de grands centres industriels, universitaires,
ou de recherche. Les réseaux auront la plage d'adresses de 128.0 à 191.255 Exemple
: 134.157.0.0
Classe C
Le réseau est codé sur 3 octets soit 24 bits, les trois premiers ont les
valeurs 1, 1 et 0. L'octet suivant code les matériels de ces réseaux. Cette
classe fournit donc près de 2 millions de réseaux pouvant contenir
254 machines. Les réseaux auront la plage d'adresse de 192.0.0 à 223.255.255.
Exemple : 201.123.100.20
Classe D
Cette classe est particulière. Elle ne référence
pas des matériels particuliers mais des groupes de matériels
qui partagent la même adresse. Un message envoyé à cette
adresse sera simultanément reçu par les matériels de
ce groupe. Les adresses multicast auront la plage d'adresses de 224.0.0.0
à 234.255.255.255.
Classe E
Cette classe n'est utilisée que pour des tests.
Certaines adresses sont particulières
127.0.0.1 est une adresse permettant les tests sur un matériel (loopback).
Les paquets envoyés à cette adresse reviennent sans être émis sur le réseau.
Réseau.255 permet une diffusion vers tous les matériels du réseau.
La norme IPv6 avec une possibilité d 'adressage sur 128 bits augmente
considérablement les possibilités d'adressage. Il remplacera
petit à petit IPv4.
Les masques de sous-réseaux
Muni d'une adresse de classe, le gestionnaire du réseau peut également le
découper en sous-réseaux afin de créer des entités plus petites et plus nombreuses.
On peut donc créer des sous-réseaux dans ce même réseau (même domaine d'adressage
logique) par exemple avec un sous-réseau pour les administrateurs, un
sous réseau pour un service comptable, un autre pour le pôle production d'une
entreprise ... Ce qui permet de définir des entités plus petites où le flux
des données est séparé (meilleure sécurité) et optimisé.
Les masques de sous-réseaux ou subnet mask permettent ce nouveau découpage.
Le masque de sous-réseau va permettre de modifier l'interprétation des adresses
logiques localement. Cette modification est invisible en dehors du réseau
concerné. Le subnet mask est une entité complémentaire de l'adresse logique.
Elle a le même format et est utilisée par les programmes de routage
afin de déterminer si les adresses logiques des machines sont ou non sur le
même sous-réseau.
Ces nouveaux découpages vont permettre une gestion plus souple des équipements,
un trafic inférieur par rapport au cas où les matériels étaient dans un même
réseau ainsi qu'un accroissement de la sécurité, les flux étant séparés d'un
sous-réseau à l'autre.
Les masques de réseaux "par défaut" (aucun découpage) se forment en positionnant
tous les bits concernant
la partie réseau de l'adresse logique à 1. Les autres bits, ceux concernant
la partie matérielle auront leurs bits à la valeur 0.
Masque de sous-réseau par défaut
| |
1er octet |
2ème octet |
3ème octet |
4 ème octet |
| Classe A |
255
|
000
|
000
|
000
|
| Classe B |
255
|
255
|
000
|
000
|
| Classe C |
255
|
255
|
255
|
000
|
|
xxx partie réseau xxx
partie interface
|
Pour découper l'adresse réseau en sous partie, il faudra ajouter
à la partie du subnet mask qui correspond à la partie matérielle
de l'adresse logique, des bits ayant la valeur 1. Le nombre de ces bits dépendra
du nombre de sous-ensemble que vous voulez créer. Attention, plus on
défini de sous réseaux, moins l'on dispose d'adresses logiques
pour les matériels.
Exemple :
Dans un réseau de classe C, les adresses logiques sont comprises entre 192.0.0
et 223.255.255 avec un subnet mask par défaut de 255.255.255.0. Si l'on veut,
avec une même adresse de réseau de classe C, obtenir deux sous réseaux on
positionnera le premier bit de matériel à 1. Vous obtiendrez alors un subnet
mask de 255.255.255.128 . Un réseau de classe C permet d'adresser 254 machines.
En effet les bornes inférieures "réseau.0" et "réseau.255" étant réservées
pour un usage particulier (définition du réseau et de l'adresse de diffusion
du réseau). Si l'on découpe le réseau de classe C en 2 sous réseaux,
on obtient alors : 256/2 = 128 -2 = 126 matériels adressables au sein de chaque
sous réseau ainsi défini.
De manière générale, on peut retenir : (nombre d'adresses/nombre
de sous réseaux) - (adresses réservées) = nombre matériels adressables
Nous aurons donc à notre disposition 126 * 2 =252 matériels en tout. réseau.0
, réseau.127 , réseau.128 , réseau.255 étant alors les bornes inférieures
et supérieures pour les deux sous réseaux créés. Il est évident, que plus
il y aura de sous réseaux, moins le nombre d'adresses logiques disponibles
pour les matériels sera grand, du fait des adresses réservées "non utilisables".
Si l'on découpe un réseau de classe C en 32 sous réseaux, nous n'aurons plus
qu'à notre disposition 192 adresses logiques pour les matériels, 64 adresses
ont donc été perdues.
Les sous réseaux créés sont des multiples de 2. Ce qui signifie, que
si nos besoins se limitent à trois sous réseaux, nous disposerons d'un
quatrième non utilisé.
En définissant un subnet mask pour votre réseau, celui-ci devra être le même
dans toutes les sous structures définies. Sinon, les informations transitant
par les routeurs risquent de ne jamais être acheminées, dans la majorité des
cas ; en prenant comme hypothèse le protocole de routage RIP (Routing Information
Protocol), le plus répandu dans le monde internet. La norme de ce protocole
impose cette limite.
Le routage (TCP/IP)
Les tables de routage
Les routeurs permettent de trouver et d'acheminer les informations qui circulent.
Pour cela, ils utilisent des tables de routage qui indiquent par quelle interface
les données vont devoir transiter pour atteindre leur destination.
Un routeur possède des interfaces : porte d'entrée et de sortie.
Chaque interface peut contenir plusieurs adresses logiques proposant ainsi
autant d'accès différents à des sous-réseaux ou
réseaux.
Les protocoles peuvent être dynamiques ou statiques.
Dans le premier cas, les routeurs s'échangent les tables de routage
automatiquement afin d'apprendre la configuration du réseau. Ceci grâce
à différents algorithmes caractérisés par la
convergence. Cette convergence indique le temps maximal nécessaire
aux routeurs pour recalculer les nouvelles routes suite à un changement
(panne, restructuration ...). Evidemment, plus le temps de convergence est
faible, plus l'efficacité est grande.
Dans le deuxième cas, celui du routage statique, c'est l'administrateur
du réseau qui va définir manuellement les routes. Ce cas est
évidemment très lourd à gérer si le réseau
contient un grand nombre de machines et routeurs. Les deux peuvent être
combinés afin de laisser la partie configuration globale se faire dynamiquement
et affiner en gérant les cas particuliers manuellement (sécurité,
restriction ...).
Le routeur est un matériel qui nécessite une administration
avec des commandes à spécifier une fois connecté dessus.
show ip route permet de montrer les routes IP
Les codes en première colonne sont expliqués dans l'entête
du document :
C indique que l'interface permettant d'atteindre tel ou tel réseau est directement
présente sur le routeur en question. Les interfaces se nomment Ethernetx où
x est le numéro l'interface. certains chemins sont créés par l'administrateur
manuellement (S,C) tandis que d'autres sont créés dynamiquement (R) grâce à
un échange d'informations entre matériels.
Les algorithmes de routage
Les routeurs possèdent au moins deux interfaces connectées
directement à des réseaux. Les matériels, tels les serveurs,
envoient leurs informations à un routeur, si celui-ci n'est pas directement
connecté au réseau cible, il transmet son trafic IP vers d'autres
routeurs jusqu'à trouver la destination finale. Les tables de routage
permettent aux routeurs de bien acheminer l'information. Ces tables sont donc
très importantes et ne doivent pas contenir d'erreurs sous peine de perdre
des informations.
Au démarrage d'un routeur, un ensemble de routes est définie soit :
- en les chargeant si elles sont stockées dans une mémoire secondaire (disque
...) vers la mémoire principale
- si il n y en a aucune (la table est vide) au moyen d'un programme (script
shell) contenant des commandes d'administration créant les routes et les chargeant
- en créant des routes initiales grâce à la connaissance des réseaux directement
connectés à ses interfaces puis en contactant les machines voisines.
Ces différentes possibilités dépendent essentiellement du type de système d'exploitation
que possède le routeur.
Le routeur doit, une fois l'initialisation effectuée, répercuter les changements
dans le réseau au niveau des routes (panne, ralentissement, modification ...).
Vu le nombre d'informations a drainer elles ne seront que partielles. Le routeur
n'est qu'un indicateur du chemin à emprunter comme la signalisation routière
et en l'absence d'une destination précise, il existe un chemin par défaut
(comme "autres directions"). Et au final, la bonne direction sera
à un moment donné indiquée et ainsi trouvée.
Il existe des algorithmes qui calculent et qui propagent ces itinéraires.
Ces algorithmes ont pour rôle de mettre à jour les informations le plus rapidemment
possible avec la meilleure fiabilité possible.
L'algorithme du Distant Vector appelé aussi "routage à vecteur de distance"
ou "Bellman-Ford-Fulkerson"
Cet algorithme est la base de plusieurs protocoles de routage. Chaque routeur
au moment de son initialisation n'a en sa possession que les informations concernant
les réseaux directement connectés sur ses interfaces. Chaque route initiale
possède comme information le réseau connecté et la distance pour l'atteindre.
Il transmet alors ses tables vers les routeurs directement voisins (connectés
grâce à une interface située dans le même domaine d'adressage logique qu'une
de ses propres interfaces). Lorsqu'un routeur transmet sa table :
- le routeur destination ajoute à la distance de ces routes une valeur 1.
- Il ajoute chaque route n'ayant pas d'entrée dans sa table
- Il modifie une route existante si la distance est inférieure
- Sinon il ignore la route
On parle de Vecteur de distance car les informations
échangées sont la destination (vecteur) et la distance. Si la table est modifiée
celle-ci est réemise vers ses voisines les plus proches. Cet algorithme oblige
aussi les routeurs à échanger leur table à des intervalles réguliers même si
il n'y a pas de changement, permettant ainsi à un nouveau routeur de les obtenir.
Les intervalles sont souvent de 30 secondes. Si un routeur ne reçoit pas l'état
des routes d'un autre, il le considère comme en panne. Il positionne alors le
métrique des routes concernant le matériel en panne à l'infini (valeur de la
distance administrative à 255). Ces routes sont alors ignorées étant jugées
peu sûres.
Ce type d'algorithme pose des problèmes :
- un réseau où il n'y a aucun changement génère malgré tout un trafic important
d'échange des tables.
- A contrario, un réseau dans lequel il y a beaucoup de changements, risque de
rencontrer des incohérences.
- Les échanges ne sont pas instantanés, certains routeurs ont à un moment donné
des routes fausses, la modification n'étant pas encore arrivée jusqu'à eux.
La convergence n'est alors pas assez rapide.
L'algorithme du Link State Appelé aussi algorithme à "état
de liaison" ou "Shortest Path First " (SPF)
Il résout le problème de convergence de l'algorithme du Distant
Vector. Le principe de cet algorithme est de donner à chaque routeur
la vision complète du réseau par ses propres moyens donc indépendamment
des autres matériels, sources de propagation d'erreurs. Ceci est permis
grâce à des calculs du plus court chemin découlant de
la théorie des graphes. Il obtient alors une table contenant tous les
plus courts chemins pour atteindre tous les routeurs. Chaque routeur a pour
rôle de tester l'état de ses voisins proches (actif ou inactif)
et de transmettre ensuite cet état à tous les routeurs. Les
messages transitant sur le réseau sont petits. Le temps de convergence,
du fait que chaque routeur fait le travail en local, est faible. Il est évident
que ce système ne fonctionne que pour des structures assez petites.
Les protocoles de routage
RIP (Routing Information Protocol)
Ce protocole de routage découle d'un algorithme du type "distant vector".
Ces spécifications sont présentées dans le RFC 1058 (mise
à jour avec le RFC 1723) Ce protocole est souvent associé au
programme présent sur les systèmes unix : routed. RIP est très
utilisé même dans de grands réseaux alors qu'il avait
été développé pour travailler dans de petites
structures. RIP utilise le protocole de transport UDP pour acheminer ses données.
Le port 520 lui est réservé. Son principe est simple, RIP défini
deux types de machines les actives et les passives. Les matériels actifs
(généralement des routeurs) reçoivent et émettent
des tables. On parlera d'un RIP en mode actif. Les matériels passifs,
(qui peuvent être des serveurs), ne font que recevoir les tables pour
mettre les leurs à jour mais n'en émettent aucunes. On parlera
d'un RIP en mode passif. Afin de faire parvenir rapidement les informations,
RIP utilise la diffusion sur le réseau physique.
OSPF (Open Shortest Path First)
Ce protocole utilise un algorithme basé sur celui du "Shortest Path First" ou
"link state". Ces spécifications sont présentées dans le RFC 2328. OSPF est
aussi appelé protocole "SPF ouvert" car ce n'est pas un protocole propriétaire.
OSPF n'utilise pas l'encapsulation UDP ou TCP mais se place juste au dessus
d'IP avec 89 comme numéro de protocole, et se sert pour acheminer les informations,
de l'adresse IP contenu dans le paquet IP. OSPF est un protocole de routage
dynamique qui permet de déterminer très rapidement les changements dans la structure
d'un réseau tout en générant un trafic faible. Lorsque vous utilisez OSPF, vous
pouvez définir des routes en fonction du service que vous voulez offrir, vitesse,
sécurité, coût ... Ce système nous rappelle
le
TOS décrit dans les paquets IP. (les différentes valeurs de ce TOS pour
OSPF sont dans le dans le RFC 1349). Grâce à ce TOS, il est possible avec OSPF
de définir plusieurs routes pour atteindre une même destination en fonction
du service offert. En cas de multiples routes, OSPF équilibrera le trafic en
essayant de ne pas charger un itinéraire plus qu'un autre. OSPF permet également
de définir des "zones autonomes" dans un même sous-réseau. Ainsi malgré une
adresse réseau et un subnet mask définis pour l'ensemble, vous pouvez effectuer
de nouveaux découpages invisibles de l'extérieur (ce que ne permettait pas RIP).
Il est possible, grâce, à un système d'authentification de "vérouiller" les
échanges de tables en définissant des routeurs sûrs, seuls habilités à transmettre
ces tables.
Nous vous informons que ce cours constitue une œuvre protégée en France
par le Code de la Propriété Intellectuelle, et à l’étranger par les
conventions internationales en vigueur sur le droit d’auteur. La
violation de l’un des droits d’auteur de l’œuvre est un délit de
contrefaçon.
Il est donc interdit, à titre privé ou public, de reproduire, copier,
vendre, revendre ou exploiter, que ce soit dans un but commercial ou
purement gratuit, ce cours, sauf accord exprès et préalable de son
auteur.