@ Michel Carpentier - Alain Gofflot1 1. La couche réseaux BUT : La couche réseaux se charge...
-
Upload
paule-le-berre -
Category
Documents
-
view
111 -
download
5
Transcript of @ Michel Carpentier - Alain Gofflot1 1. La couche réseaux BUT : La couche réseaux se charge...
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 11
11. La couche réseaux. La couche réseaux
BUT :BUT :La couche réseaux se charge d’acheminer des La couche réseaux se charge d’acheminer des
paquets tout au long d’un parcours, d’une source paquets tout au long d’un parcours, d’une source jusqu’à un destinataire.jusqu’à un destinataire.
Gère le trafic à travers les nœuds de Gère le trafic à travers les nœuds de communication intermédiaire.communication intermédiaire.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 22
Fonctions principalesFonctions principales
Pour acheminer un paquet d’un émetteur vers Pour acheminer un paquet d’un émetteur vers un destinataire, il est impératif de connaître un destinataire, il est impératif de connaître précisément la localisation de l’émetteur et du précisément la localisation de l’émetteur et du destinataire.destinataire.Pour ce faire, la couche réseau introduit la Pour ce faire, la couche réseau introduit la notion d’notion d’adressageadressage..
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 33
Fonctions principalesFonctions principales
Une fois la destination connue, il faut déterminer Une fois la destination connue, il faut déterminer le chemin à parcourir pour s’y rendre. le chemin à parcourir pour s’y rendre. La couche réseau introduit donc la notion de La couche réseau introduit donc la notion de routageroutage. . Le routage est le choix du meilleur chemin à Le routage est le choix du meilleur chemin à prendre pour aller à la destination.prendre pour aller à la destination.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 44
Fonctions principalesFonctions principales
Le réseau global peut être vu comme un réseau Le réseau global peut être vu comme un réseau routier. Par conséquent, il est sensible aux routier. Par conséquent, il est sensible aux mêmes problèmes d’embouteillages.mêmes problèmes d’embouteillages.La couche réseau assure le La couche réseau assure le contrôle de fluxcontrôle de flux et et le le contrôle de congestioncontrôle de congestion pour limiter les pour limiter les dégâts de ces embouteillages.dégâts de ces embouteillages.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 55
Le service à la couche transportLe service à la couche transport
Les service offerts à la couche 4 doivent Les service offerts à la couche 4 doivent respecter les objectifs suivants :respecter les objectifs suivants : les services doivent être indépendants des les services doivent être indépendants des
technologies de routeur mises en œuvre sur le technologies de routeur mises en œuvre sur le sous-réseausous-réseau
la couche réseau doit être indépendante du la couche réseau doit être indépendante du nombre et du type des routeurs, ainsi que de la nombre et du type des routeurs, ainsi que de la topologie du réseautopologie du réseau
les adresses de réseau mises à la disposition de les adresses de réseau mises à la disposition de la couche transport doivent faire partie d’un plan la couche transport doivent faire partie d’un plan de numérotation qui doit rester uniforme.de numérotation qui doit rester uniforme.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 66
Le service à la couche transportLe service à la couche transport
Compte tenu de ces critères, les concepteurs de Compte tenu de ces critères, les concepteurs de la couche réseaux avaient la couche réseaux avaient beaucoup de beaucoup de libertéliberté pour rédiger les spécifications. pour rédiger les spécifications.
Cette liberté donna lieu à d’assez grandes Cette liberté donna lieu à d’assez grandes divergencesdivergences : :certains voulaient un service orienté connexion certains voulaient un service orienté connexion
pour assurer une certaine qualité de servicepour assurer une certaine qualité de serviced’autres voulaient un service sans connexion, d’autres voulaient un service sans connexion,
argumentant le fait que c’est aux stations argumentant le fait que c’est aux stations d’assurer le service de connexiond’assurer le service de connexion
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 77
Service sans connexionService sans connexion
Dans ce mode, les paquets sont injectés dans Dans ce mode, les paquets sont injectés dans le sous-réseau le sous-réseau individuellementindividuellement, et routés , et routés indépendammentindépendamment les uns des autres. les uns des autres.
Dans ce contexte les paquets sont souvent Dans ce contexte les paquets sont souvent appelés appelés datagrammesdatagrammes
Il est possible que les paquets n’arrivent pas Il est possible que les paquets n’arrivent pas dans l’ordre initialement émis ou n’arrive pas dans l’ordre initialement émis ou n’arrive pas du toutdu tout
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 88
Service avec connexionService avec connexion
Un chemin doit être établi au préalable du Un chemin doit être établi au préalable du routeur source jusqu’au routeur de destination routeur source jusqu’au routeur de destination avant que les paquets ne soient envoyésavant que les paquets ne soient envoyés
Cette connexion est appelée Cette connexion est appelée Circuit VirtuelCircuit Virtuel Il n’est dès lors plus nécessaire de prendre Il n’est dès lors plus nécessaire de prendre
une décision de routage pour chaque paquetune décision de routage pour chaque paquet
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 99
Couche réseau dans InternetCouche réseau dans Internet
10 principes fondamentaux sont décrits dans 10 principes fondamentaux sont décrits dans la RFC 1958.la RFC 1958.
1.1. s’assurer que tout fonctionnes’assurer que tout fonctionne
2.2. privilégier la simplicitéprivilégier la simplicité
3.3. faire des choixfaire des choix
4.4. exploiter la modularité (faite des couches)exploiter la modularité (faite des couches)
5.5. anticiper l’hétérogénéité (plus c’est grand, plus il anticiper l’hétérogénéité (plus c’est grand, plus il y a des éléments différents qui composent)y a des éléments différents qui composent)
6.6. éviter les options et les paramètres statiqueséviter les options et les paramètres statiques
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1010
Couche réseau dans InternetCouche réseau dans Internet
7.7. rechercher une conception efficace, mais pas rechercher une conception efficace, mais pas parfaiteparfaite
8.8. être sévère lors de l’envoi et tolérant lors de la être sévère lors de l’envoi et tolérant lors de la réceptionréception
9.9. penser à l’évolutivitépenser à l’évolutivité
10.10. considérer les performances et les coûtsconsidérer les performances et les coûts
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1111
IP - PlanIP - Plan
Le format de datagramme IPLe format de datagramme IPL’adressageL’adressageLa fonction de routageLa fonction de routage
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1212
IP – Le format de datagrammeIP – Le format de datagramme
Version
Identification
Durée de vie (TTL)
Adresse source
Adresse de destination
Options (0 ou plusieurs mots)
LET Type de Service
Position du fragment
Longueur TotaleDF
MF
Protocole Total de contrôle d’en-tête
Entête :Entête :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1313
VocabulaireVocabulaire
Little endianLittle endian = lecture des informations de droite à = lecture des informations de droite à gauche, soit le bit de poids faible en premiergauche, soit le bit de poids faible en premierExemple : un octet 10100Exemple : un octet 10100111111
est transmis est transmis 1111110010100101 Big endianBig endian = lecture des informations de gauche à = lecture des informations de gauche à
droite, soit le bit de poids fort en premierdroite, soit le bit de poids fort en premier Exemple : un octet 10100 Exemple : un octet 10100111111
est transmis 10100est transmis 10100111111
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1414
IP – Le format de datagrammeIP – Le format de datagramme
L’L’entêteentête est transmise sous forme big endian est transmise sous forme big endian (adresse « d’abord »)(adresse « d’abord »)
VersionVersion : indique le numéro de version du : indique le numéro de version du protocole. Ainsi, on peut avoir plusieurs protocole. Ainsi, on peut avoir plusieurs version de IP au même moment sur le réseau.version de IP au même moment sur le réseau.Actuellement, la version est IPv4.Actuellement, la version est IPv4.Une transition vers IPv6 est en cours.Une transition vers IPv6 est en cours.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1515
IP – Le format de datagrammeIP – Le format de datagramme
LETLET : la Longeur de l’En-Tête est précisée ici : la Longeur de l’En-Tête est précisée ici sous la forme d’un nombre de mots de 32 bits. sous la forme d’un nombre de mots de 32 bits. La valeur minimale est 5, sans options.La valeur minimale est 5, sans options.La valeur maximale est de 15, soit 60 octets La valeur maximale est de 15, soit 60 octets au maximum pour l’en-tête IP.au maximum pour l’en-tête IP.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1616
IP – Le format de datagrammeIP – Le format de datagramme
Type de ServiceType de Service : sert à distinguer les : sert à distinguer les différentes classes de services (combinaisons différentes classes de services (combinaisons de fiabilité et de débit).de fiabilité et de débit).A l’origine, ces 6 bits représentaient : A l’origine, ces 6 bits représentaient : 3 bits de priorité (0 = normale, 7 = haute)3 bits de priorité (0 = normale, 7 = haute)1 bit D(elay) = importance sur le délais1 bit D(elay) = importance sur le délais1 bit T(hroughput) = importance sur le débit1 bit T(hroughput) = importance sur le débit1 bit R(eliability) = importance sur la fiabilité1 bit R(eliability) = importance sur la fiabilité
Dans la pratique actuelle, le type de service est Dans la pratique actuelle, le type de service est ignoréignoré par les routeurs par les routeurs
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1717
IP – Le format de datagrammeIP – Le format de datagramme
Longueur totaleLongueur totale : donne la longueur totale du : donne la longueur totale du datagramme (en-tête + données)datagramme (en-tête + données)Actuellement, le maximum est 65.535 octets. Ce Actuellement, le maximum est 65.535 octets. Ce nombre risque de devenir trop petit dans les futurs nombre risque de devenir trop petit dans les futurs réseaux Gigabits.réseaux Gigabits.
IdentificationIdentification : permet à l’hôte destinataire de : permet à l’hôte destinataire de déterminer à quel datagramme appartient un déterminer à quel datagramme appartient un fragment reçu. Tous les fragments d’un datagramme fragment reçu. Tous les fragments d’un datagramme contiennent la même valeur d’identification.contiennent la même valeur d’identification.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1818
IP – Le format de datagrammeIP – Le format de datagramme
DF (Don’t Fragment)DF (Don’t Fragment) : un bit qui permet de : un bit qui permet de demander aux routeurs intermédiaires de ne demander aux routeurs intermédiaires de ne pas fragmenter le datagramme. Dans certains pas fragmenter le datagramme. Dans certains cas, le destinataire n’est pas en mesure de cas, le destinataire n’est pas en mesure de recomposer les datagrammes qui seraient recomposer les datagrammes qui seraient fragmentés.fragmentés.
MF (More Fragments)MF (More Fragments) : ce bit est positionné à : ce bit est positionné à 1 pour tous les fragments sauf le dernier.1 pour tous les fragments sauf le dernier.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 1919
IP – Le format de datagrammeIP – Le format de datagramme
Position de FragmentPosition de Fragment : indique la position : indique la position (déplacement, offset) du fragment dans le (déplacement, offset) du fragment dans le datagramme courant (même identification).datagramme courant (même identification).Tous les fragments (à l’exception du dernier) Tous les fragments (à l’exception du dernier) doivent avoir un multiple de 8 octets. doivent avoir un multiple de 8 octets. Ce champ contient 13 bits, soit une valeur Ce champ contient 13 bits, soit une valeur maximale de 8.192 (= 2^maximale de 8.192 (= 2^1313) fragments par ) fragments par message (unité du niveau 4).message (unité du niveau 4).8.192 x 8 = 65.536 octets au total.8.192 x 8 = 65.536 octets au total.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2020
IP – Le format de datagrammeIP – Le format de datagramme
Durée de VieDurée de Vie (TTL Time To Live) : compteur qui sert (TTL Time To Live) : compteur qui sert à limiter la durée de vie des datagrammes.à limiter la durée de vie des datagrammes.Lorsqu’un datagramme traverse un routeur, celui-ci Lorsqu’un datagramme traverse un routeur, celui-ci décrémente la valeur du TTL.décrémente la valeur du TTL.Ceci permet d’empêcher que des datagrammes Ceci permet d’empêcher que des datagrammes n’errent sans fin (boucle sans fin) dans le réseau. n’errent sans fin (boucle sans fin) dans le réseau.
En effet, un paquet pourrait « jouer » au ping-pong En effet, un paquet pourrait « jouer » au ping-pong entres routeurs et ce en fonction des informations de entres routeurs et ce en fonction des informations de routage que ces derniers possèdent (état des lignes, routage que ces derniers possèdent (état des lignes, métriques, …)métriques, …)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2121
IP – Le format de datagrammeIP – Le format de datagramme
ProtocoleProtocole : spécifie à quel processus de la : spécifie à quel processus de la couche transport doit on passer le couche transport doit on passer le datagrammedatagrammeLa numérotation des protocoles est globale La numérotation des protocoles est globale sur l’internet (fixée par la RFC1700) et sur l’internet (fixée par la RFC1700) et consultable sur le site consultable sur le site http://www.iana.orghttp://www.iana.org
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2222
IP – Le format de datagrammeIP – Le format de datagramme
Total de contrôle d’en-têteTotal de contrôle d’en-tête : permet de : permet de détecter les erreurs générées par des mots détecter les erreurs générées par des mots mémoire erronés dans un routeur.mémoire erronés dans un routeur.
Ce total de contrôle doit être recalculé dans Ce total de contrôle doit être recalculé dans chaque routeur. Pourquoi ?chaque routeur. Pourquoi ?car au moins le TTL change à chaque passage car au moins le TTL change à chaque passage
dans un routeur.dans un routeur.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2323
IP – Le format de datagrammeIP – Le format de datagramme
L’L’adresse sourceadresse source et l’ et l’adresse destinationadresse destination : : contiennent respectivement les adresses IP contiennent respectivement les adresses IP des machines source et destination.des machines source et destination.Ces adresses seront détaillées ultérieurement.Ces adresses seront détaillées ultérieurement.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2424
IP – Le format de datagrammeIP – Le format de datagramme
OptionsOptions : le champ options a été prévu pour : le champ options a été prévu pour introduire de nouveaux éléments dans le introduire de nouveaux éléments dans le protocole sans devoir revoir complètement la protocole sans devoir revoir complètement la spécification. spécification. On peut également placer dans les options On peut également placer dans les options des éléments rarement exploitables.des éléments rarement exploitables.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2525
IP – Le format de datagrammeIP – Le format de datagramme
Les options sont de longueur variables, et Les options sont de longueur variables, et sont constituées de :sont constituées de :un champ de code d’optionun champ de code d’optionun champ de longueur d’option (facultatif)un champ de longueur d’option (facultatif)un ou plusieurs octets de donnéesun ou plusieurs octets de données
Le champ option doit être un multiple de 4 Le champ option doit être un multiple de 4 octetsoctets
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2626
IP – Le format de datagrammeIP – Le format de datagramme
5 options5 options on été définies au départ : on été définies au départ :
SécuritéSécurité : renseigne sur le degré de confidentialité : renseigne sur le degré de confidentialité des données, par exemple pour interdire le des données, par exemple pour interdire le routage de paquets confidentiels au travers de routage de paquets confidentiels au travers de certains pays. En pratique, c’est ignorécertains pays. En pratique, c’est ignoré
Routage strict par la sourceRoutage strict par la source : Le chemin entre la : Le chemin entre la source et la destination est écrit, et le datagramme source et la destination est écrit, et le datagramme doit suivre ce chemin. Utile pour envoyer des doit suivre ce chemin. Utile pour envoyer des messages lorsque les tables de routage sont messages lorsque les tables de routage sont corrompuescorrompues
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2727
IP – Le format de datagrammeIP – Le format de datagramme
Routage lâche par la sourceRoutage lâche par la source : Permet de spécifier quelques : Permet de spécifier quelques routeurs que le datagramme doit traverser pour rejoindre sa routeurs que le datagramme doit traverser pour rejoindre sa destination. Utile par exemple pour éviter de traverser destination. Utile par exemple pour éviter de traverser certains pays en demandant un passage par d’autrescertains pays en demandant un passage par d’autres
Enregistrement de routeEnregistrement de route : Demande aux routeurs : Demande aux routeurs intermédiaires d’insérer leur adresse IP dans le champ intermédiaires d’insérer leur adresse IP dans le champ d’option pour que l’administrateur puisse déterminer le d’option pour que l’administrateur puisse déterminer le parcourt du datagrammeparcourt du datagramme
HorodatageHorodatage : chaque routeur intermédiaire doit introduire : chaque routeur intermédiaire doit introduire une date et heure pour permettre un debuggage du parcours une date et heure pour permettre un debuggage du parcours effectué par le datagrammeeffectué par le datagramme
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2828
Time To LiveTime To Live
TTL=4
TTL=3
TTL=
2
TTL=1
Le paquet estdélivré
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 2929
Time To LiveTime To Live
TTL=4
TTL=3
TTL=2
TTL=1
TTL=0Le paquet est détruit
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3030
IP – Les adressesIP – Les adresses
Chaque carte réseau possède une adresse MAC Chaque carte réseau possède une adresse MAC unique au monde, constituée de 48 bits.unique au monde, constituée de 48 bits.
Malheureusement, il n’y a aucune logique dans la Malheureusement, il n’y a aucune logique dans la localisation des adresses MAC :localisation des adresses MAC :l’adresse 00-90-4B-72-0D-5l’adresse 00-90-4B-72-0D-588 peut se trouver à peut se trouver à Luxembourg et l’adresse Luxembourg et l’adresse 00-90-4B-72-0D-500-90-4B-72-0D-599 se se trouver à New Yorktrouver à New York
Il est donc impossible d’utiliser ces adresses pour Il est donc impossible d’utiliser ces adresses pour acheminer les datagramme au niveau mondial.acheminer les datagramme au niveau mondial.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3131
IP – Les adressesIP – Les adresses
A chaque ordinateur, routeur, … connecté à A chaque ordinateur, routeur, … connecté à l’Internet on va attribuer au moins une adresse l’Internet on va attribuer au moins une adresse IP.IP.
Une adresse IP est constituée de 32 bits et Une adresse IP est constituée de 32 bits et contient : contient : Un numéro de réseauUn numéro de réseauUn numéro d’hôtes Un numéro d’hôtes
A chaque carte réseau peut-être associée une A chaque carte réseau peut-être associée une adresse IP.adresse IP.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3232
IP – Les adressesIP – Les adresses
Pendant plusieurs décennies, les adresses IP Pendant plusieurs décennies, les adresses IP ont été divisées en 5 classes : ont été divisées en 5 classes :
L’adressage par classesL’adressage par classes
Le tableau suivant reprend les 5 classes :Le tableau suivant reprend les 5 classes :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3333
IP – Les adressesIP – Les adresses
Réseau
10 Réseau
110 Réseau
1111 Réservé pour une utilisation future
1110 Adresse Multicast
0 Hôte
Hôte
Hôte
32 Bits
A
B
C
D
E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3434
IP – Les adressesIP – Les adresses Classe AClasse A : :
Adresses de 1.0.0.0 à 127.255.255.255Adresses de 1.0.0.0 à 127.255.255.255 128 réseaux différents128 réseaux différents 16 millions d’hôtes différents par réseau16 millions d’hôtes différents par réseau
Classe BClasse B : : Adresses de 128.0.0.0 à 191.255.255.255Adresses de 128.0.0.0 à 191.255.255.255 16384 réseaux différents16384 réseaux différents 65536 d’hôtes différents par réseau65536 d’hôtes différents par réseau
Classe CClasse C : : Adresses de 192.0.0.0 à 223.255.255.255Adresses de 192.0.0.0 à 223.255.255.255 Plus de 2 millions de réseauxPlus de 2 millions de réseaux 256 d’hôtes différents par réseau256 d’hôtes différents par réseau
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3535
IP – Les adressesIP – Les adresses
Classe DClasse D : : Adresses de 224.0.0.0 à 239.255.255.255Adresses de 224.0.0.0 à 239.255.255.255 Adresses multicast utilisées pour envoyer des Adresses multicast utilisées pour envoyer des
datagrammes à plusieurs destinataires datagrammes à plusieurs destinataires simultanément.simultanément.
Classe EClasse E : : Adresses de 240.0.0.0 à 255.255.255.255Adresses de 240.0.0.0 à 255.255.255.255 Réservé pour un usage ultérieurRéservé pour un usage ultérieur
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3636
IP – Les adressesIP – Les adresses
La gestion des adresses IP au niveau mondial La gestion des adresses IP au niveau mondial est faite par l’est faite par l’ICANNICANN ( (Internet Corporation for Internet Corporation for Assigned Names and NumbersAssigned Names and Numbers))
S’occupe de veiller à ce qu’une adresse IP S’occupe de veiller à ce qu’une adresse IP (routable) ne soit pas utilisée 2 fois sur la (routable) ne soit pas utilisée 2 fois sur la planèteplanète
Délégation de la gestion de groupes Délégation de la gestion de groupes d’adresses à des autorités régionales d’adresses à des autorités régionales Exemple : RESTENA – 158.64.0.0Exemple : RESTENA – 158.64.0.0
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3737
IP – Les adressesIP – Les adresses
Représentation d’une adresse IP :Représentation d’une adresse IP :Notation décimale pointéeNotation décimale pointée
Exemple : 158.64.1.25Exemple : 158.64.1.25Les 4 octets qui constituent l’adresse sont séparés Les 4 octets qui constituent l’adresse sont séparés
par un pointpar un pointChaque octet peut prendre une valeur de 0 à 255.Chaque octet peut prendre une valeur de 0 à 255.Exemple : Exemple :
1100 0000 0010 1001 0000 0110 0001 01001100 0000 0010 1001 0000 0110 0001 0100C0 29 06 14 C0 29 06 14 192.41.6.20192.41.6.20
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3838
IP – Les adressesIP – Les adresses
Certaines adresses ont une signification Certaines adresses ont une signification particulière : particulière : Cet hôteCet hôte : adresse utilisée au démarrage de la : adresse utilisée au démarrage de la
machine (0.0.0.0)machine (0.0.0.0)
BroadcastBroadcast : adresse utilisée pour diffuser un : adresse utilisée pour diffuser un paquet à toutes les stations d’un LANpaquet à toutes les stations d’un LAN
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 3939
IP – Les adressesIP – Les adresses
Un hôte sur ce réseauUn hôte sur ce réseau : permet de désigner un : permet de désigner un hôte sans tenir compte du numéro du réseau local hôte sans tenir compte du numéro du réseau local (NB : il faut quand même connaître la classe du (NB : il faut quand même connaître la classe du réseau)réseau)
Diffusion broadcastDiffusion broadcast sur réseau distant : permet sur réseau distant : permet d’envoyer un paquet en broadcast sur un réseau d’envoyer un paquet en broadcast sur un réseau non local.non local.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Numéro hôte
Numéro réseau 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4040
IP – Les adressesIP – Les adresses
BouclageBouclage : permet d’effectuer un test de : permet d’effectuer un test de fonctionnement de la pile de protocoles sans fonctionnement de la pile de protocoles sans utiliser le réseau physiqueutiliser le réseau physique
127.0.0.1 = localhost127.0.0.1 = localhost
0 1 1 1 1 1 1 1 Valeur quelconque
= 127
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4141
IP – Les sous-réseauxIP – Les sous-réseaux
Tous les hôtes appartenant à un même Tous les hôtes appartenant à un même réseau doivent avoir le même numéro de réseau doivent avoir le même numéro de réseauréseau
Cependant, l’utilisation d’une classe A ou B Cependant, l’utilisation d’une classe A ou B pose rapidement un pose rapidement un problèmeproblème : on ne peut : on ne peut pas stocker 60.000 hôtes ou plus dans un pas stocker 60.000 hôtes ou plus dans un espace physique adressable par un réseau espace physique adressable par un réseau Ethernet (en coaxial, la limite des 4 répéteurs Ethernet (en coaxial, la limite des 4 répéteurs est rapidement atteinte)est rapidement atteinte)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4242
IP – Les sous-réseauxIP – Les sous-réseaux
Il est donc nécessaire de faire une légère Il est donc nécessaire de faire une légère modification au système d’adressage :modification au système d’adressage :partitionner le réseaupartitionner le réseau en plusieurs entités à en plusieurs entités à usage interneusage interne..
Vu de l’extérieur, rien ne change : le réseau Vu de l’extérieur, rien ne change : le réseau est toujours vu comme une seule entité.est toujours vu comme une seule entité.
Exemple : RESTENA dispose d’une classe B Exemple : RESTENA dispose d’une classe B (158.64.0.0), et (158.64.0.0), et attribue des partiesattribue des parties de cette de cette classe aux lycées luxembourgeois.classe aux lycées luxembourgeois.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4343
IP – Les sous-réseauxIP – Les sous-réseaux
Les réseaux résultant du partitionnement sont Les réseaux résultant du partitionnement sont appelés des « appelés des « sous-réseauxsous-réseaux » ou » ou « « subnetssubnets » »
Comment un routeur d’entrée peut-il Comment un routeur d’entrée peut-il transmettre un paquet qui arrive pour une transmettre un paquet qui arrive pour une machine appartenant à un subnet ?machine appartenant à un subnet ?
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4444
IP – Les sous-réseauxIP – Les sous-réseaux
Première solutionPremière solution : Tenir en mémoire une : Tenir en mémoire une table de tous les hôtes des différents subnets.table de tous les hôtes des différents subnets.Cette solution n’a pas été retenue, car elle Cette solution n’a pas été retenue, car elle implique une table volumineuse en mémoire et implique une table volumineuse en mémoire et un travail de maintenance important (ajout, un travail de maintenance important (ajout, déplacement, retrait de stations).déplacement, retrait de stations).
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4545
IP – Les sous-réseauxIP – Les sous-réseaux
Seconde solutionSeconde solution : utiliser des bits de la partie : utiliser des bits de la partie « hôte » de l’adresse IP pour déterminer le « hôte » de l’adresse IP pour déterminer le subnet.subnet.Exemple : RESTENA dispose d’une classe B (158.64.0.0) Exemple : RESTENA dispose d’une classe B (158.64.0.0) subdivisée en subnet pour les instituts d’enseignement. Ici subdivisée en subnet pour les instituts d’enseignement. Ici pour l’IST (158.64.76.0)pour l’IST (158.64.76.0)
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0
158 64 76 0
Partie réseau Partie subnet Partie hôte
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4646
IP – Les sous-réseauxIP – Les sous-réseaux
Cette implémentation requiert l’utilisation d’un Cette implémentation requiert l’utilisation d’un « « masque de sous-réseaumasque de sous-réseau » ou « » ou « Subnet Subnet maskmask ». ». Il identifie les portions numéro de réseau / numéro de sous-Il identifie les portions numéro de réseau / numéro de sous-réseau (tous les bits à 1) et le numéro d’hôte. (tous les bits à réseau (tous les bits à 1) et le numéro d’hôte. (tous les bits à 0)0)
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0
158 64 76 0
Partie réseau Partie subnet Partie hôte
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
IP
NetMask
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4747
IP – Les sous-réseauxIP – Les sous-réseaux
Remarque : dans notre exemple, le masque Remarque : dans notre exemple, le masque de sous réseau comporte 24 bits à 1, ce qui de sous réseau comporte 24 bits à 1, ce qui est équivalent à une adresse de classe C. est équivalent à une adresse de classe C. Dans la réalité, le masque de sous réseau Dans la réalité, le masque de sous réseau peut prendre un nombre quelconque de bits à peut prendre un nombre quelconque de bits à 1 :1 :corollairecorollaire : si le nombre de subnets augmente, le : si le nombre de subnets augmente, le
nombre de machines dans ceux-ci diminuenombre de machines dans ceux-ci diminue
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4848
IP – Les sous-réseauxIP – Les sous-réseaux
Exemple :Exemple :
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
158 64 64 0
Partie réseau Partiesubnet
Partie hôte
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
IP
NetMask 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Dans ce cas, les adresses IP du sous réseau vont de 158.64.64.0 à 158.64.79.255
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 4949
IP – Les sous-réseauxIP – Les sous-réseaux
Le masque de sous réseau peut se Le masque de sous réseau peut se représenter de 2 manières différentes :représenter de 2 manières différentes :Sous la même forme qu’une Sous la même forme qu’une adresse IPadresse IP
Pour l’exemple précédent : 255.255.240.0Pour l’exemple précédent : 255.255.240.0Sous la forme d’un Sous la forme d’un nombre de bitsnombre de bits à 1 placé à à 1 placé à
coté de l’adresse du réseaucoté de l’adresse du réseauPour l’exemple précédent : 158.64.64.0 / 20Pour l’exemple précédent : 158.64.64.0 / 20
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5050
IP – Les sous-réseauxIP – Les sous-réseaux
Pour un sous réseau, certaines valeurs des Pour un sous réseau, certaines valeurs des adresses ont une signification particulière :adresses ont une signification particulière : Adresse réseauAdresse réseau : constituée d’un numéro réseau et d’un : constituée d’un numéro réseau et d’un
numéro d’hôte égal à 0.numéro d’hôte égal à 0.Elle donne la référence du sous réseau.Elle donne la référence du sous réseau.
Adresse broadcastAdresse broadcast : constituée d’un numéro de réseau et : constituée d’un numéro de réseau et d’un numéro d’hôte dont tous les bits sont d’un numéro d’hôte dont tous les bits sont à 1.à 1.Elle permet d’envoyer un paquet à toutes les machines du Elle permet d’envoyer un paquet à toutes les machines du sous réseau.sous réseau.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5151
IP – Les sous-réseauxIP – Les sous-réseaux
Calcul :Calcul :Adresse IP : 158.64.66.75 Adresse IP : 158.64.66.75 Masque de sous réseau : 255.255.240.0Masque de sous réseau : 255.255.240.0
Quelle est l’adresse du réseau ?Quelle est l’adresse du réseau ?Quelle est l’adresse de broadcast ?Quelle est l’adresse de broadcast ?Combien de machines peut-on adresser dans ce Combien de machines peut-on adresser dans ce
sous réseau ?sous réseau ?
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5252
IP – Les sous-réseauxIP – Les sous-réseaux
Représentation de l’exercice : Représentation de l’exercice :
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1
158 64 66 75
Partie réseau Partiesubnet
Partie hôte
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
IP
NetMask 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5353
IP – Les sous-réseauxIP – Les sous-réseaux
Pour calculer Pour calculer l’adresse du réseaul’adresse du réseau, il faut mettre , il faut mettre tous les bits de la partie hôte à 0.tous les bits de la partie hôte à 0.
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1
158 64 66 75
Partie réseau Partiesubnet
Partie hôte
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
IP
NetMask 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 AdresseRéseau 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
158 64 64 0
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5454
IP – Les sous-réseauxIP – Les sous-réseaux
Pour calculer Pour calculer l’adresse broadcastl’adresse broadcast, il faut mettre , il faut mettre tous les bits de la partie hôte à 1.tous les bits de la partie hôte à 1.
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1
158 64 66 75
Partie réseau Partiesubnet
Partie hôte
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
IP
NetMask 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 AdresseRéseau 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1
158 64 79 255
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5555
IP – Les sous-réseauxIP – Les sous-réseaux
Le Le nombre de machinesnombre de machines que l’on peut adresser que l’on peut adresser dans le sous réseau est égal au nombre dans le sous réseau est égal au nombre d’adresses IP différentes (avec la même partie d’adresses IP différentes (avec la même partie réseau) moins l’adresse réseau et l’adresse réseau) moins l’adresse réseau et l’adresse broadcast.broadcast.Cela revient à Cela revient à calculer le nombre de nombrescalculer le nombre de nombres que que l’on peut écrire avec les bits de la partie hôte, puis l’on peut écrire avec les bits de la partie hôte, puis soustraire 2.soustraire 2.12 bits pour la partie hôte (32 – 20) 12 bits pour la partie hôte (32 – 20) 4096 nombres différents avec ces 12 bits4096 nombres différents avec ces 12 bitsDonc, 4094 hôtes dans le sous réseauDonc, 4094 hôtes dans le sous réseau
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5656
IP – Les sous-réseauxIP – Les sous-réseaux
Exercices :Exercices :Calculez l’adresse réseau, l’adresse Calculez l’adresse réseau, l’adresse broadcast et le nombre de machine par sous broadcast et le nombre de machine par sous réseau pour les adresses suivantes.réseau pour les adresses suivantes.192.168.101.25/25192.168.101.25/25164.23.17.56/20164.23.17.56/2010.65.45.23/1210.65.45.23/12
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5757
IP – En pratiqueIP – En pratique
Déterminer l’adresse IP d’une machine Windows :Déterminer l’adresse IP d’une machine Windows :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5858
IP – En pratiqueIP – En pratique
Déterminer l’adresse IP d’une machine Unix :Déterminer l’adresse IP d’une machine Unix :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 5959
Routage : IntroductionRoutage : Introduction
Comme nous l’avons vu, la couche réseau a Comme nous l’avons vu, la couche réseau a pour but d’acheminer les paquets pour but d’acheminer les paquets (datagrammes) d’un hôte émetteur vers un (datagrammes) d’un hôte émetteur vers un hôte destinataire (distant).hôte destinataire (distant).
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6060
Routage : IntroductionRoutage : Introduction
R1
R2
R3
R4
Le réseau global peut être vu comme suit : Le réseau global peut être vu comme suit : deux machines distantes sont reliées par un deux machines distantes sont reliées par un ensemble de routeurs formant un maillage ensemble de routeurs formant un maillage complexe.complexe.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6161
Routage : IntroductionRoutage : Introduction
R1
R2
R3
R4
En conséquence, il existe plusieurs chemins En conséquence, il existe plusieurs chemins pour un datagramme pour aller de l’émetteur pour un datagramme pour aller de l’émetteur vers le récepteur.vers le récepteur.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6262
Routage : IntroductionRoutage : Introduction
Le Le routeurrouteur est un dispositif qui permet de est un dispositif qui permet de déterminer la déterminer la routeroute qu’un datagramme doit qu’un datagramme doit suivre pour arriver à destination.suivre pour arriver à destination.
Ce processus s’appelle Ce processus s’appelle routageroutage..
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6363
Routage : IntroductionRoutage : Introduction
réseau 4
réseau 5
Routeur
if 1
if 4
if 3
if 5
if 2
réseau 1 interface 1réseau 2 interface 2...réseau 5 interface 5...réseau n interface n
Globalement, le routeur peut être vu comme Globalement, le routeur peut être vu comme une boite noire avec un certain nombre une boite noire avec un certain nombre d’interface. d’interface.
Chaque interface Chaque interface pourra être pourra être connectée à un connectée à un réseau (local)réseau (local)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6464
Routage : IntroductionRoutage : Introduction
A l’intérieur du routeur, un algorithme examine A l’intérieur du routeur, un algorithme examine chaque datagramme en provenance d’une chaque datagramme en provenance d’une interface. interface.
En fonction de la En fonction de la table de routagetable de routage et de et de l’adresse de destinationl’adresse de destination, il détermine , il détermine l’interface que le datagramme doit emprunter l’interface que le datagramme doit emprunter pour continuer sa route vers sa destination.pour continuer sa route vers sa destination.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6565
Routage : table de routageRoutage : table de routage
La table de routage est une liste contenant un La table de routage est une liste contenant un certain nombre de combinaisons :certain nombre de combinaisons : Adresse IP (réseau, 0 ou réseau, hôte)Adresse IP (réseau, 0 ou réseau, hôte) Masque de sous réseauMasque de sous réseau Interface de sortieInterface de sortie
Cette liste permet de déterminer quelle interface de Cette liste permet de déterminer quelle interface de sortie doit emprunter un datagramme qui arrive au sortie doit emprunter un datagramme qui arrive au routeur.routeur.
Nous allons montrer comment le routage fonctionne Nous allons montrer comment le routage fonctionne au travers d’un exemple :au travers d’un exemple :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6666
Routage : exempleRoutage : exemple
Soit 3 universités qui demandent un accès à Soit 3 universités qui demandent un accès à l’Internet :l’Internet :Cambridge demande 2000 adresses IP et reçoit le Cambridge demande 2000 adresses IP et reçoit le
bloc d’adresses de 194.24.0.0 à 194.24.7.255 bloc d’adresses de 194.24.0.0 à 194.24.7.255 avec le masque 255.255.248.0avec le masque 255.255.248.0
Oxford demande 4000 adresses IP et reçoit le Oxford demande 4000 adresses IP et reçoit le bloc d’adresses de 194.24.16.0 à 194.24.31.255 bloc d’adresses de 194.24.16.0 à 194.24.31.255 avec le masque 255.255.240.0avec le masque 255.255.240.0Un bloc de 4096 adresses doit être aligné sur la Un bloc de 4096 adresses doit être aligné sur la valeur 4096.valeur 4096.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6767
Routage : exempleRoutage : exemple
Edimbourg demande 1000 adresses IP et reçoit le Edimbourg demande 1000 adresses IP et reçoit le bloc d’adresses de 194.24.8.0 à 194.24.11.255 bloc d’adresses de 194.24.8.0 à 194.24.11.255 avec le masque 255.255.252.0avec le masque 255.255.252.0
Dans le tableau suivant, on constate donc qu’un Dans le tableau suivant, on constate donc qu’un ensemble d’adresse IP sont disponibles de ensemble d’adresse IP sont disponibles de 194.24.12.0 à 194.24.15.255194.24.12.0 à 194.24.15.255
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6868
Routage : ExempleRoutage : Exemple
UniversitéUniversité Première Première adresseadresse
Dernière Dernière adresseadresse
Nombre Nombre d’adressesd’adresses
Masque de Masque de sous réseausous réseau
CambridgeCambridge 194.24.0.0194.24.0.0 194.24.7.255194.24.7.255 20482048 255.255.248.0255.255.248.0
EdimbourgEdimbourg 194.24.8.0194.24.8.0 194.24.11.255194.24.11.255 10241024 255.255.252.0255.255.252.0
(Disponible)(Disponible) 194.24.12.0194.24.12.0 194.24.15.255194.24.15.255 10241024 255.255.252.0255.255.252.0
OxfordOxford 194.24.16.0194.24.16.0 194.24.31.255194.24.31.255 40964096 255.255.240.0255.255.240.0
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 6969
Routage : ExempleRoutage : Exemple
Les tables de routage des routeurs sont mises à jour Les tables de routage des routeurs sont mises à jour avec ces informations.avec ces informations.Dans chaque routeur on trouvera l’adresse réseau et Dans chaque routeur on trouvera l’adresse réseau et le masque de sous réseau :le masque de sous réseau :
Y associer le port de sortieY associer le port de sortie
UniversitéUniversité Adresse réseauAdresse réseau Masque de sous réseauMasque de sous réseau
CambridgeCambridge 11000010 00011000 00000000 0000000011000010 00011000 00000000 00000000 11111111 11111111 11111000 0000000011111111 11111111 11111000 00000000
EdimbourgEdimbourg 11000010 00011000 00001000 0000000011000010 00011000 00001000 00000000 11111111 11111111 11111100 0000000011111111 11111111 11111100 00000000
OxfordOxford 11000010 00011000 00010000 0000000011000010 00011000 00010000 00000000 11111111 11111111 11110000 0000000011111111 11111111 11110000 00000000
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7070
Routage : ExempleRoutage : Exemple
Voyons ce qui se passe lorsqu’un routeur Voyons ce qui se passe lorsqu’un routeur reçoit un paquet dont l’adresse de destination reçoit un paquet dont l’adresse de destination est 194.24.17.4est 194.24.17.4
En binaire, cette adresse est :En binaire, cette adresse est :11000010 00011000 00010001 0000010011000010 00011000 00010001 00000100
Le routeur va effectuer un Le routeur va effectuer un ET logiqueET logique avec les avec les masques de chaque ligne de la table de masques de chaque ligne de la table de routage.routage.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7171
Routage : ExempleRoutage : Exemple
Pour la première ligne (Cambridge) :Pour la première ligne (Cambridge) :
11000010 00011000 00010001 0000010011000010 00011000 00010001 0000010011111111 11111111 11111000 0000000011111111 11111111 11111000 00000000----------------------------------------------------------------------------------------------------------------11000010 00011000 00010000 0000000011000010 00011000 00010000 00000000
Cette adresse Cette adresse ne correspond pasne correspond pas à l’adresse à l’adresse IP du réseau de Cambridge.IP du réseau de Cambridge.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7272
Routage : ExempleRoutage : Exemple
Pour la seconde ligne (Edimbourg) :Pour la seconde ligne (Edimbourg) :
11000010 00011000 00010001 0000010011000010 00011000 00010001 0000010011111111 11111111 11111100 0000000011111111 11111111 11111100 00000000----------------------------------------------------------------------------------------------------------------11000010 00011000 00010000 0000000011000010 00011000 00010000 00000000
Cette adresse Cette adresse ne correspond pasne correspond pas à l’adresse à l’adresse IP du réseau de Edimbourg.IP du réseau de Edimbourg.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7373
Routage : ExempleRoutage : Exemple
Pour la troisième ligne (Oxford) :Pour la troisième ligne (Oxford) :
11000010 00011000 00010001 0000010011000010 00011000 00010001 0000010011111111 11111111 11110000 0000000011111111 11111111 11110000 00000000----------------------------------------------------------------------------------------------------------------11000010 00011000 00010000 0000000011000010 00011000 00010000 00000000
Le résultat Le résultat correspondcorrespond à l’adresse du réseau à l’adresse du réseau de Oxford. de Oxford.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7474
Routage : ExempleRoutage : Exemple
Si aucune correspondance plus longue n’est Si aucune correspondance plus longue n’est trouvée, le datagramme est envoyé par trouvée, le datagramme est envoyé par l’interface correspondante pour la ligne l’interface correspondante pour la ligne trouvée dans la table de routage.trouvée dans la table de routage.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7575
Routage : ExempleRoutage : Exemple
Prenons ensuite le cas d’un routeur situé à Prenons ensuite le cas d’un routeur situé à Omaha, au Nebraska. Ce routeur ne dispose Omaha, au Nebraska. Ce routeur ne dispose que de 4 interfaces vers :que de 4 interfaces vers :MinneapolisMinneapolisNew YorkNew YorkDallasDallasDenverDenver
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7676
Routage : ExempleRoutage : Exemple
Lorsque ce routeur prend connaissance des 3 Lorsque ce routeur prend connaissance des 3 nouvelles lignes à insérer dans sa table de nouvelles lignes à insérer dans sa table de routage, il constate qu’il peut les combiner en routage, il constate qu’il peut les combiner en une seule règle :une seule règle :194.24.0.0 / 19 vers l’interface New York.194.24.0.0 / 19 vers l’interface New York.L’adresse :L’adresse :11000010 00011000 00000000 0000000011000010 00011000 00000000 00000000Le masque de sous réseau :Le masque de sous réseau :11111111 11111111 11100000 0000000011111111 11111111 11100000 00000000
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7777
Routage : ExempleRoutage : Exemple
Cette entrée dit d’envoyer tous les paquets Cette entrée dit d’envoyer tous les paquets destinés à n’importe quelle des 3 universités à destinés à n’importe quelle des 3 universités à New YorkNew York
En combinant ces entrées, le routeur de En combinant ces entrées, le routeur de Omaha simplifie sa table de routage et donc Omaha simplifie sa table de routage et donc améliore ses performances.améliore ses performances.
On appelle cette technique l’On appelle cette technique l’agrégation de agrégation de routesroutes..
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7878
Routage : ExempleRoutage : Exemple
L’entrée agrégée du routeur de Omaha dirige L’entrée agrégée du routeur de Omaha dirige aussi vers New York les datagrammes aussi vers New York les datagrammes destinés aux adresses non assignées.destinés aux adresses non assignées.
Si ces adresses étaient attribuées à Si ces adresses étaient attribuées à l’université de Californie, il faudrait ajouter une l’université de Californie, il faudrait ajouter une entrée supplémentaire :entrée supplémentaire :Exemple : 194.24.12.0 / 22 vers DallasExemple : 194.24.12.0 / 22 vers Dallas
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 7979
Routage : LAN ou WAN ?Routage : LAN ou WAN ?
Le même principe du ET logique est utilisé par Le même principe du ET logique est utilisé par les stations d’un LAN pour déterminer si le les stations d’un LAN pour déterminer si le datagramme qu’elles envoient doit être délivré datagramme qu’elles envoient doit être délivré sur le LAN ou envoyé à un routeur pour une sur le LAN ou envoyé à un routeur pour une expédition sur un WAN.expédition sur un WAN.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8080
Routage : LAN ou WAN ?Routage : LAN ou WAN ?
Exemple : voici la Exemple : voici la configuration d’une configuration d’une machine.machine.
IP : 192.168.0.15IP : 192.168.0.15 Netmask : Netmask :
255.255.255.0255.255.255.0 Gateway : 192.168.0.1Gateway : 192.168.0.1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8181
Routage : LAN ou WAN ?Routage : LAN ou WAN ? Cette machine envoie un datagramme vers Cette machine envoie un datagramme vers
192.168.0.33.192.168.0.33. On effectue un ET logique entre l’adresse de On effectue un ET logique entre l’adresse de
destination et le masque de sous réseau.destination et le masque de sous réseau. 11000000 01000100 00000000 0010000111000000 01000100 00000000 00100001
11111111 11111111 11111111 0000000011111111 11111111 11111111 00000000----------------------------------------------------------------------------------------------------------------11000000 01000100 00000000 0000000011000000 01000100 00000000 00000000
Cette adresse correspond à l’adresse réseau Cette adresse correspond à l’adresse réseau calculée à partir de l’adresse IP de la machine.calculée à partir de l’adresse IP de la machine.
Le datagramme doit donc être délivré sur le LAN.Le datagramme doit donc être délivré sur le LAN.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8282
Routage : LAN ou WAN ?Routage : LAN ou WAN ?
Cette machine envoie un datagramme vers Cette machine envoie un datagramme vers 192.168.100.33.192.168.100.33.
On effectue un ET logique entre l’adresse de On effectue un ET logique entre l’adresse de destination et le masque de sous réseau.destination et le masque de sous réseau.
11000000 01000100 01100100 0010000111000000 01000100 01100100 0010000111111111 11111111 11111111 0000000011111111 11111111 11111111 00000000----------------------------------------------------------------------------------------------------------------11000000 01000100 01100100 0000000011000000 01000100 01100100 00000000
Cette adresse ne correspond pas à l’adresse réseau Cette adresse ne correspond pas à l’adresse réseau calculée à partir de l’adresse IP de la machine.calculée à partir de l’adresse IP de la machine.
Le datagramme doit donc être délivré au routeurLe datagramme doit donc être délivré au routeur
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8383
Routage : la gatewayRoutage : la gateway
La default gateway notée dans la La default gateway notée dans la configuration de la machine exemple est en configuration de la machine exemple est en fait la destination par défaut pour tous les fait la destination par défaut pour tous les datagrammes ne trouvant pas une ligne qui datagrammes ne trouvant pas une ligne qui leur correspond.leur correspond.On peut assimiler cela au panneau « Toutes On peut assimiler cela au panneau « Toutes directions ». directions ».
Il s’agit d’une entrée de la table de routageIl s’agit d’une entrée de la table de routage
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8484
Routage : les outilsRoutage : les outils
Consultation de la table de routage sous Consultation de la table de routage sous Windows :Windows :Route printRoute printNetstat -nrNetstat -nr
Consultation de la table de routage sous Consultation de la table de routage sous Unix :Unix :Netstat –nrNetstat –nrRoute (nécessite les droits root)Route (nécessite les droits root)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8585
Routage : les outilsRoutage : les outils
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8686
Routage : les outilsRoutage : les outils
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8787
Routage : ModificationsRoutage : Modifications
Au niveau de la Au niveau de la configuration d’une configuration d’une machine, il n’y a machine, il n’y a qu’une seule route qu’une seule route par défault (default par défault (default gateway).gateway).
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8888
Routage : ModificationsRoutage : Modifications
Dans certains cas, cela peut poser des Dans certains cas, cela peut poser des problèmes. Exemple :problèmes. Exemple :
Routeur par défautRéseau 10.0.0.0
Réseau 192.223.35.0Tous les datagrammes à destination de 10.0.0.0 seront envoyés au routeurpar défaut.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 8989
Routage : ModificationsRoutage : Modifications
Pour modifier la table de routage d’un PC Pour modifier la table de routage d’un PC Windows :Windows :Ajout d’une route :Ajout d’une route :
route add 192.168.76.0 mask 255.255.255.0 192.168.0.4route add 192.168.76.0 mask 255.255.255.0 192.168.0.4
Suppression d’une route :Suppression d’une route :
route delete 192.168.76.0 mask 255.255.255.0 192.168.0.4 route delete 192.168.76.0 mask 255.255.255.0 192.168.0.4
Plus d’infos : « route /? »Plus d’infos : « route /? »
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9090
Routage : ModificationsRoutage : Modifications
Pour modifier la table de routage d’une Pour modifier la table de routage d’une machine Unix :machine Unix :Ajout d’une route :Ajout d’une route :
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
Suppression d’une route :Suppression d’une route :
route del -net 192.56.76.0 netmask 255.255.255.0 dev eth0route del -net 192.56.76.0 netmask 255.255.255.0 dev eth0
Plus d’infos : « man route »Plus d’infos : « man route »
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9191
Routage : ModificationsRoutage : Modifications
En modifiant la table de routage du PC, on peut En modifiant la table de routage du PC, on peut router directement les datagrammes vers le routeur router directement les datagrammes vers le routeur du réseau 10.0.0.0du réseau 10.0.0.0
Routeur par défautRéseau 10.0.0.0
Réseau 192.223.35.0 route add 10.0.0.0 route add 10.0.0.0 mask 255.255.0.0 mask 255.255.0.0 192.223.35.2192.223.35.2
192.223.35.2192.223.35.2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9292
Routage : ModificationsRoutage : Modifications
Dans les deux cas (Windows et Unix), les Dans les deux cas (Windows et Unix), les modifications apportées de la sorte aux tables modifications apportées de la sorte aux tables de routage ne seront valides que pour la de routage ne seront valides que pour la session courante.session courante.
Pour une modification permanente, il faut Pour une modification permanente, il faut ajouter ces lignes dans les scripts de ajouter ces lignes dans les scripts de démarrage de la machine.démarrage de la machine.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9393
Liaison couche 2 & 3Liaison couche 2 & 3
Nous avons vu précédemment que la couche Nous avons vu précédemment que la couche 2 utilise des adresses MAC pour transmettre 2 utilise des adresses MAC pour transmettre des informations d’une station à une autre.des informations d’une station à une autre.
Avec l’arrivée de la couche 3, nous avons Avec l’arrivée de la couche 3, nous avons introduit les adresses IP pour assurer introduit les adresses IP pour assurer l’acheminement mondial des datagrammes.l’acheminement mondial des datagrammes.
Comment effectuer le lien entre adresse MAC Comment effectuer le lien entre adresse MAC et adresse IP ?et adresse IP ?
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9494
ARPARP
Ce lien va être assuré par ARP (Address Ce lien va être assuré par ARP (Address Resolution Protocol).Resolution Protocol).
ARP va convertir les adresses IP en adresse ARP va convertir les adresses IP en adresse MAC (ethernet ou token ring)MAC (ethernet ou token ring)
La machine source envoie un paquet en La machine source envoie un paquet en broadcast sur le LAN. Ce paquet contient broadcast sur le LAN. Ce paquet contient l’adresse MAC source, l’adresse IP source et l’adresse MAC source, l’adresse IP source et l’adresse IP destination.l’adresse IP destination.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9595
ARPARP
Chaque machine connectée au réseau local Chaque machine connectée au réseau local reçoit ce paquet, mais seule la machine dont reçoit ce paquet, mais seule la machine dont l’adresse IP est spécifiée correspond à l’adresse IP est spécifiée correspond à l’adresse IP destination du paquet répond. l’adresse IP destination du paquet répond. Cette machine envoie alors à l’adresse MAC Cette machine envoie alors à l’adresse MAC source trouvée dans le paquet, l’information source trouvée dans le paquet, l’information demandée : son adresse MAC.demandée : son adresse MAC.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9696
ARPARP
Qui est 192.168.0.4 ?
Je suis 192.168.0.4 !
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9797
ARPARP
Les informations ainsi obtenues sont stockées Les informations ainsi obtenues sont stockées dans une mémoire temporairedans une mémoire temporaire
On peut consulter ces informations à l’aide de On peut consulter ces informations à l’aide de la commande : arp -ala commande : arp -a
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9898
Routage : ExerciceRoutage : Exercice
Donnez, pour chaque segment impliquéDonnez, pour chaque segment impliqué la valeur des adresses ethernet source et destinationla valeur des adresses ethernet source et destination la valeur des adresses IP source et destinationla valeur des adresses IP source et destination
utilisées pour une communication entre PC1 et utilisées pour une communication entre PC1 et PC2, puis PC1 et PC3, PC1 et PC4.PC2, puis PC1 et PC3, PC1 et PC4.
Vous utiliserez la notation suivante :Vous utiliserez la notation suivante :
adresse ethernet adresse ethernet sourcesource
adresse ethernet adresse ethernet destinationdestination
adresse IP sourceadresse IP source adresse IP adresse IP destinationdestination
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 9999
Routage : ExerciceRoutage : Exercice Le tableau suivant reprend les adresses des machines :Le tableau suivant reprend les adresses des machines :
Nom de machineNom de machine Adresse IPAdresse IP Adresse MACAdresse MAC
PC1PC1 199.27.35.1199.27.35.1 @PC1@PC1
PC2PC2 199.27.35.2199.27.35.2 @PC2@PC2
PC3PC3 200.25.148.3200.25.148.3 @PC3@PC3
PC4PC4 129.46.12.15129.46.12.15 @PC4@PC4
R1 interface 1R1 interface 1 198.28.25.250198.28.25.250 @R1-1@R1-1
R1 interface 2R1 interface 2 199.27.35.250199.27.35.250 @R1-2@R1-2
R1 interface 3R1 interface 3 129.46.12.250129.46.12.250 @R1-3@R1-3
R2 interface 1R2 interface 1 198.28.25.251198.28.25.251 @R2-1@R2-1
R2 interface 2R2 interface 2 200.25.148.250200.25.148.250 @R2-2@R2-2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 100100
Routage : ExerciceRoutage : Exercice Les tableaux suivants reprennent les tables de routageLes tableaux suivants reprennent les tables de routage
PC1PC1
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
0.0.0.0 / 00.0.0.0 / 0 Eth0Eth0 199.27.35.250199.27.35.250
199.27.35.0 / 24199.27.35.0 / 24 Eth0Eth0
PC2PC2
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
0.0.0.0 / 00.0.0.0 / 0 Eth0Eth0 199.27.35.250199.27.35.250
199.27.35.0 / 24199.27.35.0 / 24 Eth0Eth0
PC3PC3
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
0.0.0.0 / 00.0.0.0 / 0 Eth0Eth0 200.25.148.250200.25.148.250
200.25.148.0 / 24200.25.148.0 / 24 Eth0Eth0
PC4PC4
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
0.0.0.0 / 00.0.0.0 / 0 Eth0Eth0 129.46.12.250129.46.12.250
129.46.0.0 / 16129.46.0.0 / 16 Eth0Eth0
R1R1
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
199.27.35.0 / 24199.27.35.0 / 24 22
129.46.0.0 / 16129.46.0.0 / 16 33
0.0.0.0 / 00.0.0.0 / 0 11 198.28.25.251198.28.25.251
R2R2
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
200.25.148.0 / 24200.25.148.0 / 24 22
0.0.0.0 / 00.0.0.0 / 0 11 198.28.25.250198.28.25.250
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 101101
Routage : ExerciceRoutage : Exercice
129.46.0.0 / 16
199.27.35.0 / 24 200.25.148.0 / 24
1 1
2
3
2
PC1 PC2 PC3
PC4
R1 R2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 102102
Routage : ExerciceRoutage : Exercice
Transmission de datagramme de PC1 à PC2.Transmission de datagramme de PC1 à PC2. On effectue un ET logique entre l’adresse IP de destination On effectue un ET logique entre l’adresse IP de destination
et le masque du sous réseau de la première entrée de la et le masque du sous réseau de la première entrée de la table de routage de PC1 : 199.27.35.2 ET 0.0.0.0 = 0.0.0.0table de routage de PC1 : 199.27.35.2 ET 0.0.0.0 = 0.0.0.0La route convient, mais on continue à parcourir la table de La route convient, mais on continue à parcourir la table de routage pour trouver une éventuelle meilleure solution.routage pour trouver une éventuelle meilleure solution.
La seconde ligne nous donne le calcul suivant :La seconde ligne nous donne le calcul suivant :199.27.35.2 ET 255.255.255.0 = 199.27.35.0199.27.35.2 ET 255.255.255.0 = 199.27.35.0La route convient également. De plus, la correspondance La route convient également. De plus, la correspondance est plus longue (plus de bits correspondants), elle est donc est plus longue (plus de bits correspondants), elle est donc privilégiée.privilégiée.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 103103
Routage : ExerciceRoutage : Exercice
On recherche donc l’adresse MAC de PC2 en envoyant un On recherche donc l’adresse MAC de PC2 en envoyant un paquet ARP en broadcast sur le LAN.paquet ARP en broadcast sur le LAN.
La station PC2 répond en donnant son adresse MAC La station PC2 répond en donnant son adresse MAC @PC2.@PC2.
Le paquet peut donc circuler sur le LAN avec les Le paquet peut donc circuler sur le LAN avec les informations suivantes :informations suivantes :
adresse ethernet adresse ethernet sourcesource
adresse ethernet adresse ethernet destinationdestination
adresse IP sourceadresse IP source adresse IP adresse IP destinationdestination
@PC1@PC1 @PC2@PC2 199.27.35.1199.27.35.1 199.27.35.2199.27.35.2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 104104
Routage : ExerciceRoutage : Exercice
Transmission d’un datagramme de PC1 à PC3.Transmission d’un datagramme de PC1 à PC3. Parcours de la table de routage de PC1 :Parcours de la table de routage de PC1 :
200.25.148.3 ET 0.0.0.0 = 0.0.0.0200.25.148.3 ET 0.0.0.0 = 0.0.0.0La route convient. On continue…La route convient. On continue…
200.25.148.3 ET 255.255.255.0 = 200.25.148.0200.25.148.3 ET 255.255.255.0 = 200.25.148.0La route ne convient pas, car l’adresse trouvée ne La route ne convient pas, car l’adresse trouvée ne correspond pas à l’entrée.correspond pas à l’entrée.
La première ligne est donc utilisée. Elle renseigne qu’il faut La première ligne est donc utilisée. Elle renseigne qu’il faut envoyer le datagramme à la gateway 199.27.35.250envoyer le datagramme à la gateway 199.27.35.250
On recherche donc l’adresse MAC de ce routeur via ARP. On recherche donc l’adresse MAC de ce routeur via ARP. L’adresse nous est fournie : @R1-2L’adresse nous est fournie : @R1-2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 105105
Routage : ExerciceRoutage : Exercice
On obtient donc :On obtient donc :
adresse ethernet adresse ethernet sourcesource
adresse ethernet adresse ethernet destinationdestination
adresse IP sourceadresse IP source adresse IP adresse IP destinationdestination
@PC1@PC1 @R1-2@R1-2 199.27.35.1199.27.35.1 200.25.148.3200.25.148.3
Le datagramme arrive donc dans R1 par l’interface 2.Le datagramme arrive donc dans R1 par l’interface 2. Le routeur consulte sa table de routage pour déterminer le Le routeur consulte sa table de routage pour déterminer le
traitement à apporter à ce datagramme.traitement à apporter à ce datagramme. 200.25.148.3 ET 255.255.255.0 = 200.25.148.0200.25.148.3 ET 255.255.255.0 = 200.25.148.0
La route ne convient pas.La route ne convient pas. 200.25.148.3 ET 255.255.0.0 = 200.25.0.0200.25.148.3 ET 255.255.0.0 = 200.25.0.0
La route ne convient pas.La route ne convient pas.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 106106
Routage : ExerciceRoutage : Exercice 200.25.148.3 ET 0.0.0.0 = 0.0.0.0200.25.148.3 ET 0.0.0.0 = 0.0.0.0
La route convient et on est arrivé au bout de la table de routage.La route convient et on est arrivé au bout de la table de routage. La ligne en question indique qu’il faut transmettre le datagramme à la La ligne en question indique qu’il faut transmettre le datagramme à la
gateway 198.28.25.251 via l’interface 1 du routeurgateway 198.28.25.251 via l’interface 1 du routeur En utilisant ARP, on détermine l’adresse MAC correspondant à cette En utilisant ARP, on détermine l’adresse MAC correspondant à cette
adresse IP : @R2-1adresse IP : @R2-1 Le datagramme est donc transmis :Le datagramme est donc transmis :
adresse ethernet adresse ethernet sourcesource
adresse ethernet adresse ethernet destinationdestination
adresse IP sourceadresse IP source adresse IP adresse IP destinationdestination
@PC1@PC1 @R1-2@R1-2 199.27.35.1199.27.35.1 200.25.148.3200.25.148.3
@R1-1@R1-1 @R2-1@R2-1 199.27.35.1199.27.35.1 200.25.148.3200.25.148.3
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 107107
Routage : ExerciceRoutage : Exercice Le datagramme arrive dans R2 par l’interface 1Le datagramme arrive dans R2 par l’interface 1 Le routeur consulte sa table de routage pour déterminer le Le routeur consulte sa table de routage pour déterminer le
traitement à apporter à ce datagramme.traitement à apporter à ce datagramme. 200.25.148.3 ET 255.255.255.0 = 200.25.148.0200.25.148.3 ET 255.255.255.0 = 200.25.148.0
La route convient. La route convient. 200.25.148.3 ET 0.0.0.0 = 0.0.0.0200.25.148.3 ET 0.0.0.0 = 0.0.0.0
La route convient, mais la correspondance est plus courte, La route convient, mais la correspondance est plus courte, on conserve donc la première ligne comme route à utiliser.on conserve donc la première ligne comme route à utiliser.
Cette ligne nous indique d’utiliser l’interface 2 pour Cette ligne nous indique d’utiliser l’interface 2 pour transmettre le datagrammetransmettre le datagramme
En utilisant ARP, on détermine l’adresse MAC En utilisant ARP, on détermine l’adresse MAC correspondant à cette adresse IP : @PC3correspondant à cette adresse IP : @PC3
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 108108
Routage : ExerciceRoutage : Exercice Le datagramme est donc transmis :Le datagramme est donc transmis :
adresse ethernet adresse ethernet sourcesource
adresse ethernet adresse ethernet destinationdestination
adresse IP sourceadresse IP source adresse IP adresse IP destinationdestination
@PC1@PC1 @R1-2@R1-2 199.27.35.1199.27.35.1 200.25.148.3200.25.148.3
@R1-1@R1-1 @R2-1@R2-1 199.27.35.1199.27.35.1 200.25.148.3200.25.148.3
@R2-2@R2-2 @PC3@PC3 199.27.35.1199.27.35.1 200.25.148.3200.25.148.3
Le datagramme est arrivé à destination.Le datagramme est arrivé à destination.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 109109
Routage : ExerciceRoutage : Exercice
Transmission d’un datagramme de PC1 à PC4.Transmission d’un datagramme de PC1 à PC4. Parcours de la table de routage de PC1 :Parcours de la table de routage de PC1 :
129.46.12.15 ET 0.0.0.0 = 0.0.0.0129.46.12.15 ET 0.0.0.0 = 0.0.0.0La route convient. On continue…La route convient. On continue…
129.46.12.15 ET 255.255.255.0 = 129.46.12.0129.46.12.15 ET 255.255.255.0 = 129.46.12.0La route ne convient pas, car l’adresse trouvée ne La route ne convient pas, car l’adresse trouvée ne correspond pas à l’entrée.correspond pas à l’entrée.
La première ligne est donc utilisée. Elle renseigne qu’il faut La première ligne est donc utilisée. Elle renseigne qu’il faut envoyer le datagramme à la gateway 199.27.35.250envoyer le datagramme à la gateway 199.27.35.250
On recherche donc l’adresse MAC de ce routeur via ARP. On recherche donc l’adresse MAC de ce routeur via ARP. L’adresse nous est fournie : @R1-2L’adresse nous est fournie : @R1-2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 110110
Routage : ExerciceRoutage : Exercice
On obtient donc :On obtient donc :
adresse ethernet adresse ethernet sourcesource
adresse ethernet adresse ethernet destinationdestination
adresse IP sourceadresse IP source adresse IP adresse IP destinationdestination
@PC1@PC1 @R1-2@R1-2 199.27.35.1199.27.35.1 200.25.148.3200.25.148.3
Le datagramme arrive donc dans R1 par l’interface 2.Le datagramme arrive donc dans R1 par l’interface 2. Le routeur consulte sa table de routage pour déterminer le Le routeur consulte sa table de routage pour déterminer le
traitement à apporter à ce datagramme.traitement à apporter à ce datagramme. 129.46.12.15 ET 255.255.255.0 = 129.46.12.0129.46.12.15 ET 255.255.255.0 = 129.46.12.0
La route ne convient pas.La route ne convient pas. 129.46.12.15 ET 255.255.0.0 = 129.46.0.0129.46.12.15 ET 255.255.0.0 = 129.46.0.0
La route convient. On continue…La route convient. On continue…
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 111111
Routage : ExerciceRoutage : Exercice 129.46.12.15 ET 0.0.0.0 = 0.0.0.0129.46.12.15 ET 0.0.0.0 = 0.0.0.0
La route convient et on est arrivé au bout de la table de routage.La route convient et on est arrivé au bout de la table de routage.Cependant, la précédente solution est plus longue, donc utilisée.Cependant, la précédente solution est plus longue, donc utilisée.
La ligne en question indique qu’il faut utiliser l’interface 3 pour délivrer le La ligne en question indique qu’il faut utiliser l’interface 3 pour délivrer le datagramme sur le LAN.datagramme sur le LAN.
En utilisant ARP, on détermine l’adresse MAC correspondant à cette En utilisant ARP, on détermine l’adresse MAC correspondant à cette l’adresse IP de PC4 : @PC4l’adresse IP de PC4 : @PC4
Le datagramme est donc transmis :Le datagramme est donc transmis :
adresse ethernet adresse ethernet sourcesource
adresse ethernet adresse ethernet destinationdestination
adresse IP sourceadresse IP source adresse IP adresse IP destinationdestination
@PC1@PC1 @R1-2@R1-2 199.27.35.1199.27.35.1 129.46.12.15129.46.12.15
@R1-3@R1-3 @PC4@PC4 199.27.35.1199.27.35.1 129.46.12.15129.46.12.15
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 112112
Routage : Exercices Routage : Exercices
Conseils pour la réalisation :Conseils pour la réalisation :Attention aux tables de routage !Attention aux tables de routage !Ne pas se focaliser sur le schéma du réseauNe pas se focaliser sur le schéma du réseauTravailler de manière méthodique en suivant Travailler de manière méthodique en suivant
l’algorithme de routage.l’algorithme de routage.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 113113
Routage : Exercice 2Routage : Exercice 2
Dans la réalité, le travail de l’administrateur Dans la réalité, le travail de l’administrateur réseau est de trouver la bonne configuration réseau est de trouver la bonne configuration pour chaque routeur.pour chaque routeur.L’exercice suivant colle à cette réalité.L’exercice suivant colle à cette réalité.
Trouvez une proposition d’adressage pour les Trouvez une proposition d’adressage pour les stations et les routeurs, puis donnez les tables stations et les routeurs, puis donnez les tables de routage de chacun d’entre eux.de routage de chacun d’entre eux.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 114114
Routage : Exercice 2Routage : Exercice 2
192.168.0.0 / 16
193.79.56.0 / 24 172.15.14.0 / 24
1 1
2
3
2
PC1 PC2 PC3
PC4
R1 R2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 115115
Routage : Exercices 2Routage : Exercices 2
Attribution des adresses IP à chaque interface Attribution des adresses IP à chaque interface de station / routeur.de station / routeur.Placez les adresses IP sur le schémaPlacez les adresses IP sur le schéma
Déterminer le routage pour chaque routeur.Déterminer le routage pour chaque routeur.A remplir dans les tables suivantes.A remplir dans les tables suivantes.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 116116
Routage : Exercice 2Routage : Exercice 2
PC1PC1
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
PC2PC2
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
PC3PC3
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
PC4PC4
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
R1R1
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
R2R2
Adresse & MasqueAdresse & Masque InterfaceInterface GatewayGateway
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 117117
NATNAT
Les adresses IP sont devenues une denrée rare de Les adresses IP sont devenues une denrée rare de nos joursnos jours
Une solution consiste à allouer des adresses de Une solution consiste à allouer des adresses de manière temporaire aux personnes qui se manière temporaire aux personnes qui se connectent à l’Internet par une ligne téléphonique.connectent à l’Internet par une ligne téléphonique.Cette solution n’est malheureusement pas Cette solution n’est malheureusement pas miraculeuse car les entreprises veulent une miraculeuse car les entreprises veulent une connexion permanente, de même que les clients au connexion permanente, de même que les clients au service ADSL.service ADSL.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 118118
NATNAT
C’est pour cela qu’est née la technique de C’est pour cela qu’est née la technique de traduction d’adresses de réseautraduction d’adresses de réseau ( (Network Network Address Translation - NATAddress Translation - NAT))
On assigne à chaque organisation une seule On assigne à chaque organisation une seule adresse IP (ou un petit groupe).adresse IP (ou un petit groupe).
Tous les ordinateurs reçoivent une adresse Tous les ordinateurs reçoivent une adresse unique interne. Lorsqu’un datagramme doit unique interne. Lorsqu’un datagramme doit être envoyé sur le réseau externe, la être envoyé sur le réseau externe, la traduction d’adresse intervient.traduction d’adresse intervient.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 119119
NATNAT
Pour réaliser cela, 3 plages d’adresses IP ont Pour réaliser cela, 3 plages d’adresses IP ont été réservées :été réservées :10.0.0.0 / 8 10.0.0.0 / 8 16 777 216 hôtes16 777 216 hôtes172.16.0.0 / 12172.16.0.0 / 12 1 048 576 hôtes1 048 576 hôtes192.168.0.0 / 16192.168.0.0 / 16 65 536 hôtes65 536 hôtes
Ces adresses peuvent être utilisées librement Ces adresses peuvent être utilisées librement à la condition qu’aucune d’elle ne doit être à la condition qu’aucune d’elle ne doit être transmise sur Internet.transmise sur Internet.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 120120
NATNAT
10.0.0.1198.2.4.7
Paquet avant la traduction
Paquet après la traduction
Routeur de l’entreprise
Routeur de l’ISP
NAT
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 121121
NATNAT
144.4.4.8
Paquet réponse
Routeur de l’entreprise
Routeur de l’ISP
?.?.?.?
?
?
?
?
?
?
?
Que faire d’un paquet entrant dans le réseau de l’entreprise ?
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 122122
NATNAT
On ne peut modifier l’entête IP pour y ajouter On ne peut modifier l’entête IP pour y ajouter une information pour NAT, et il ne reste plus une information pour NAT, et il ne reste plus qu’un seul bit disponible !qu’un seul bit disponible !
Les concepteurs de NAT ont constaté que la Les concepteurs de NAT ont constaté que la majorité des paquets IP incluent une charge majorité des paquets IP incluent une charge utile TCP ou UDP.utile TCP ou UDP.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 123123
NATNAT
Nous verrons plus tard (cours 1081) que TCP Nous verrons plus tard (cours 1081) que TCP et UDP utilise un numéro de port source et un et UDP utilise un numéro de port source et un numéro de port destination pour orienter les numéro de port destination pour orienter les paquets vers les bons processus (tant chez paquets vers les bons processus (tant chez l’émetteur que le récepteur).l’émetteur que le récepteur).
Les numéros de 0 à 1023 sont réservés à des Les numéros de 0 à 1023 sont réservés à des services identifiés. services identifiés. Exemple : le port http est 80.Exemple : le port http est 80.
Ces numéros de port sont codés sur 16 bits.Ces numéros de port sont codés sur 16 bits.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 124124
NATNAT
Par analogie, on pourrait comparer ces Par analogie, on pourrait comparer ces numéros de ports aux extensions numéros de ports aux extensions téléphoniques d’une entreprise.téléphoniques d’une entreprise.Le numéro de la centrale serait l’adresse IP, Le numéro de la centrale serait l’adresse IP, tandis que les extensions des employés tandis que les extensions des employés seraient les numéros de ports.seraient les numéros de ports.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 125125
NATNAT
Lorsqu’un paquet est envoyé à l’extérieur, il Lorsqu’un paquet est envoyé à l’extérieur, il traverse le dispositif NAT :traverse le dispositif NAT :L’adresse IP interne (10.0.0.1) est remplacée par L’adresse IP interne (10.0.0.1) est remplacée par
l’adresse publique de la société (198.2.4.7)l’adresse publique de la société (198.2.4.7)Le champ port source TCP (ou UDP) est remplacé Le champ port source TCP (ou UDP) est remplacé
par une référence à une entrée dans une table de par une référence à une entrée dans une table de traduction de 65 536 adresses du dispositif NAT.traduction de 65 536 adresses du dispositif NAT.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 126126
NATNAT
Cette table contient :Cette table contient :Le numéro IP de la machine sourceLe numéro IP de la machine sourceLe numéro de port de la machine sourceLe numéro de port de la machine source
Les sommes de contrôle sont recalculées et le Les sommes de contrôle sont recalculées et le paquet est transmis.paquet est transmis.
Il est impératif de remplacer le port source par un Il est impératif de remplacer le port source par un port choisi, car au sein du réseau, deux machines port choisi, car au sein du réseau, deux machines pourraient établir une communication vers pourraient établir une communication vers l’extérieur avec le port 5000 comme source au l’extérieur avec le port 5000 comme source au même moment.même moment.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 127127
NATNAT
Lorsque la réponse arrive au dispositif NAT de Lorsque la réponse arrive au dispositif NAT de l’extérieur, le port TCP (ou UDP) est extrait du l’extérieur, le port TCP (ou UDP) est extrait du paquet et utilisé pour retrouver dans la table de paquet et utilisé pour retrouver dans la table de correspondance du dispositif NAT, le numéro de correspondance du dispositif NAT, le numéro de port et l’adresse IP de la machine destinatrice.port et l’adresse IP de la machine destinatrice.
Une fois l’entrée localisée, le paquet reconstitué Une fois l’entrée localisée, le paquet reconstitué (avec recalcul des sommes de contrôle), il peut (avec recalcul des sommes de contrôle), il peut être envoyé au destinataire.être envoyé au destinataire.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 128128
NAT (exemple sans NAT)NAT (exemple sans NAT)Sans Dispositif NAT
10.10.10.2 158.64.1.25
10.10.10.1 158.64.77.2
Packet TCP émis IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80
Packet TCP reçu IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80
Packet TCP réponse IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842
Packet TCP réponse reçue IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 129129
NAT (exemple avec NAT)NAT (exemple avec NAT)Dispositif NAT
10.10.10.2 158.64.1.25
10.10.10.1 158.64.77.2
Packet TCP émis IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80
Packet TCP reçu IP Src : 158.64.76.2Port Src : 5689IP Dest : 158.64.1.25Port Dest : 80
Packet TCP réponse IP Src : 158.64.1.25Port Src : 80IP Dest : 158.64.77.2Port Dest : 5689
Packet TCP réponse reçue IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842
Packet TCP reçu IP Src : 10.10.10.2Port Src : 1842IP Dest : 158.64.1.25Port Dest : 80
Packet TCP NATé IP Src : 158.64.77.2Port Src : 5689IP Dest : 158.64.1.25Port Dest : 80
NuméroNuméro IP SrcIP Src Port SrcPort Src
56895689 10.10.10.210.10.10.2 18421842
Table NAT
Packet TCP reçu IP Src : 158.64.1.25Port Src : 80IP Dest : 158.64.77.2Port Dest : 5689
Packet TCP dé-NATé IP Src : 158.64.1.25Port Src : 80IP Dest : 10.10.10.2Port Dest : 1842
Insert line
Consultline
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 130130
NATNAT
Cette technique a cependant ses problèmes :Cette technique a cependant ses problèmes :NAT ne respecte pas le modèle architectural qui NAT ne respecte pas le modèle architectural qui
dit que chaque machine est identifiée par son dit que chaque machine est identifiée par son adresse IPadresse IP
NAT altère le réseau en faisant d’un réseau sans NAT altère le réseau en faisant d’un réseau sans connexion une sorte de réseau avec connexions.connexion une sorte de réseau avec connexions.En cas de plantage du routeur toutes les En cas de plantage du routeur toutes les connexions en cours sont perdues.connexions en cours sont perdues.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 131131
NATNAT
NAT enfreint la règle la plus essentielle de NAT enfreint la règle la plus essentielle de l’organisation en couches : la couche k n’est l’organisation en couches : la couche k n’est absolument pas concernée par ce que la couche absolument pas concernée par ce que la couche k+1 place dans son champ de données.k+1 place dans son champ de données.La version 2 de TCP risque de poser beaucoup de La version 2 de TCP risque de poser beaucoup de problèmes.problèmes.
Les processus de l’Internet ne sont pas Les processus de l’Internet ne sont pas strictement obligés d’utiliser TCP ou UDP.strictement obligés d’utiliser TCP ou UDP.Avec NAT, ils perdent cette liberté. Avec NAT, ils perdent cette liberté.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 132132
NATNAT
Certaine application insèrent des adresses IP Certaine application insèrent des adresses IP dans le corps des données transmises. Le dans le corps des données transmises. Le récepteur peut ensuite les extraire pour s’en récepteur peut ensuite les extraire pour s’en servir. Exemple : FTP, H323.servir. Exemple : FTP, H323.
Étant donné que le champ port source est codé Étant donné que le champ port source est codé sur 16 bits, un maximum de 65 536 machines sur 16 bits, un maximum de 65 536 machines peuvent être associées. Ceci peut être contourné peuvent être associées. Ceci peut être contourné en réalisant le NAT avec plusieurs adresses en réalisant le NAT avec plusieurs adresses externes.externes.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 133133
Les protocoles de contrôleLes protocoles de contrôle
Outre IP qui sert à la transmission de Outre IP qui sert à la transmission de données, l’Internet dispose d’un certain données, l’Internet dispose d’un certain nombre de protocoles destinés au contrôle du nombre de protocoles destinés au contrôle du réseau :réseau : ICMP – Internet Control Message ProtocolICMP – Internet Control Message ProtocolARP – Address Resolution ProtocolARP – Address Resolution ProtocolRARP – Reverse Address Resolution ProtocolRARP – Reverse Address Resolution ProtocolBOOTP - BootstrapBOOTP - BootstrapDHCP – Dynamic Host Configuration ProtocolDHCP – Dynamic Host Configuration Protocol
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 134134
ICMPICMP
ICMP (Internet Control Message Protocol) sert ICMP (Internet Control Message Protocol) sert à :à :Signaler des événement inattendus sur le réseauSignaler des événement inattendus sur le réseauTester le fonctionnement du réseauTester le fonctionnement du réseau
Une dizaine de messages ICMP ont été Une dizaine de messages ICMP ont été définis et peuvent être transmis au sein d’un définis et peuvent être transmis au sein d’un paquet IP.paquet IP.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 135135
ICMPICMP
Type de messageType de message DescriptionDescriptionDestination inaccessibleDestination inaccessible Le paquet n’a pas pu être délivréLe paquet n’a pas pu être délivré
Délai expiréDélai expiré Le champ d’entête TTL a atteint 0Le champ d’entête TTL a atteint 0
Problème de paramètreProblème de paramètre Champ d’entête invalideChamp d’entête invalide
Ralentissement de la sourceRalentissement de la source Paquet de rétentionPaquet de rétention
RedirectionRedirection Indication d’une meilleure routeIndication d’une meilleure route
Demande d’échoDemande d’écho Demande à une machine si elle est activeDemande à une machine si elle est active
Envoi d’échoEnvoi d’écho La machine distante est activeLa machine distante est active
Demande d’horodateDemande d’horodate Identique à une demande d’écho, mais Identique à une demande d’écho, mais inclus en plus une horodateinclus en plus une horodate
Envoi d’horodateEnvoi d’horodate Identique à un envoi d’écho, mais inclus Identique à un envoi d’écho, mais inclus en plus une horodateen plus une horodate
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 136136
ICMPICMP
Destination inaccessibleDestination inaccessible est utilisé lorsque est utilisé lorsque le sous réseau, ou un routeur ne parvient pas le sous réseau, ou un routeur ne parvient pas à localiser la destination.à localiser la destination.Ce paquet peut également être envoyé par un Ce paquet peut également être envoyé par un routeur qui ne peut transmettre une donnée routeur qui ne peut transmettre une donnée pour laquelle le champ DF de l’entête est pour laquelle le champ DF de l’entête est positionné à 1.positionné à 1.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 137137
ICMPICMP Délai expiréDélai expiré est émis lorsqu’un paquet est éliminé car son est émis lorsqu’un paquet est éliminé car son
compteur de durée de vie a atteint la valeur 0.compteur de durée de vie a atteint la valeur 0.
TTL=4
TTL=3
TTL=2
TTL=1
TTL=0
Le paquet est détruit
ICMP
ICM
PICMP
ICM
P
ICMP
Mon paquet a été perdu
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 138138
ICMPICMP
Problème de paramètreProblème de paramètre indique qu’une indique qu’une valeur illégale a été détectée dans un champ valeur illégale a été détectée dans un champ d’entête. Il signifie un bug dans un logiciel IP.d’entête. Il signifie un bug dans un logiciel IP.
Ralentissement de sourceRalentissement de source était destiné était destiné initialement à ralentir l’émetteur trop rapide. Il initialement à ralentir l’émetteur trop rapide. Il n’est plus utilisé car le contrôle de flux est n’est plus utilisé car le contrôle de flux est maintenant assuré en couche 4. (Cours 1081)maintenant assuré en couche 4. (Cours 1081)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 139139
ICMPICMP
RedirectionRedirection est émis par un routeur lorsqu’il est émis par un routeur lorsqu’il lui semble qu’un paquet n’est pas lui semble qu’un paquet n’est pas correctement routé. Il signale à l’hôte émetteur correctement routé. Il signale à l’hôte émetteur la probabilité d’une erreur.la probabilité d’une erreur.
Les messages Les messages demande d’échodemande d’écho et et envoi envoi d’échod’écho permettent de déterminer si une permettent de déterminer si une destination donnée est accessible et active.destination donnée est accessible et active.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 140140
PingPing
Ping permet d’utiliser ces paquet ICMP Ping permet d’utiliser ces paquet ICMP demande d’écho et envoi d’écho.demande d’écho et envoi d’écho.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 141141
PingPing
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 142142
PingPing
Ping possède quelques options interessantes…Ping possède quelques options interessantes…
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 143143
ICMPICMP
D’autres messages on été définis.D’autres messages on été définis.Leur liste se trouve maintenue à l’adresse Leur liste se trouve maintenue à l’adresse http://www.iana.org/assignments/icmp-parametershttp://www.iana.org/assignments/icmp-parameters
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 144144
ICMP & ARP : ExerciceICMP & ARP : Exercice
Comment déterminer l’adresse MAC d’une Comment déterminer l’adresse MAC d’une station distante ? station distante ?
Solution en 2 étapes :Solution en 2 étapes :Effectuer un PING vers la stationEffectuer un PING vers la stationConsulter la table d’adresses MAC via ARP.Consulter la table d’adresses MAC via ARP.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 145145
ICMP & ARP : ExerciceICMP & ARP : Exercice
Quelle est l’adresse MAC de la station Quelle est l’adresse MAC de la station 192.168.100.164 ?192.168.100.164 ?Cette adresse n’est pas en mémoire :Cette adresse n’est pas en mémoire :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 146146
ICMP & ARP : ExerciceICMP & ARP : Exercice
On effectue un PING vers cette station :On effectue un PING vers cette station :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 147147
ICMP & ARP : ExerciceICMP & ARP : Exercice
On regarde le contenu de la table ARP :On regarde le contenu de la table ARP :
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 148148
RARPRARP
Nous avons vu que ARP permet de découvrir Nous avons vu que ARP permet de découvrir l’adresse MAC d’une station dont on connaît l’adresse MAC d’une station dont on connaît l’adresse IPl’adresse IP
Dans certains cas, l’inverse est également Dans certains cas, l’inverse est également intéressant : certaines stations « disk-less » intéressant : certaines stations « disk-less » doivent demander au réseau l’attribution d’une doivent demander au réseau l’attribution d’une adresse IP, connaissant leur adresse MAC.adresse IP, connaissant leur adresse MAC.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 149149
RARPRARP
RARP (Reverse Address Resolution Protocol) RARP (Reverse Address Resolution Protocol) assure cette fonction.assure cette fonction.
RFC 903RFC 903Une station effectue une requête RARP en Une station effectue une requête RARP en
broadcast avec sa propre adresse MAC.broadcast avec sa propre adresse MAC.Le serveur RARP répond en donnant Le serveur RARP répond en donnant
l’adresse IP qu’il souhaite attribuer à cette l’adresse IP qu’il souhaite attribuer à cette stationstation
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 150150
RARPRARP
Je suis 00-0D-56-E9-14-0F.Quelle IP dois-je utiliser ?
Votre IP est 192.168.100.162 !
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 151151
RARPRARP
Inconvénient :Inconvénient :Le broadcast est effectué en plaçant tous les bits Le broadcast est effectué en plaçant tous les bits
de l’adresse de destination à 1.de l’adresse de destination à 1.Une telle frame ne traverse pas le routeur qui Une telle frame ne traverse pas le routeur qui délimite le segment de la station émettrice.délimite le segment de la station émettrice.
En conséquence, il faut un serveur RARP par En conséquence, il faut un serveur RARP par segment de réseau.segment de réseau.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 152152
BOOTPBOOTP
BOOTP (Bootstrap) contourne l’inconvénient BOOTP (Bootstrap) contourne l’inconvénient de RARP en utilisant des messages UDP pour de RARP en utilisant des messages UDP pour effectuer les requêtes.effectuer les requêtes.
Dès lors, les routeurs peuvent être franchis.Dès lors, les routeurs peuvent être franchis.RFC 951, 1048, 1084RFC 951, 1048, 1084
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 153153
BOOTPBOOTP
Inconvénient :Inconvénient :Sur le serveur BOOTP, chaque station doit être Sur le serveur BOOTP, chaque station doit être
décrite sous la forme :décrite sous la forme :Adresse ethernet -> Adresse IPAdresse ethernet -> Adresse IP
La gestion d’une telle table est source de lourdeur La gestion d’une telle table est source de lourdeur et de risque potentiels de mauvaise configuration.et de risque potentiels de mauvaise configuration.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 154154
DHCPDHCP
En répondant à ce dernier inconvénient, le En répondant à ce dernier inconvénient, le protocole BOOTP a changé de nom :protocole BOOTP a changé de nom :DHCP (Dynamic Host Configuration Protocol).DHCP (Dynamic Host Configuration Protocol).
Basé sur RFC 2131 et RFC 2132Basé sur RFC 2131 et RFC 2132Le fonctionnement est basé sur le mode client Le fonctionnement est basé sur le mode client
– serveur.– serveur.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 155155
DHCPDHCP
Serveur DHCP
Client DHCP Client DHCP
Donne moi une adresse IP
Voici ton adresse IP
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 156156
DHCPDHCP
Un serveur DHCP peut envoyer des Un serveur DHCP peut envoyer des informations diverses :informations diverses :adresse IPadresse IPmasque de sous-réseaumasque de sous-réseauvaleurs optionelles :valeurs optionelles :
routeur par défautrouteur par défautserveur(s) DNSserveur(s) DNSoptions spécifiques au clientoptions spécifiques au client..
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 157157
DHCPDHCP
Lorsque l’attribution d’adresses se fait Lorsque l’attribution d’adresses se fait automatiquement, il faut s’assurer que les automatiquement, il faut s’assurer que les adresses qui ne sont plus utilisées sont adresses qui ne sont plus utilisées sont restituées au serveur.restituées au serveur.
Pour assurer cela, on utilise le mécanisme du Pour assurer cela, on utilise le mécanisme du bail bail (leasing)(leasing)
Chaque adresse est « prettée » pour une Chaque adresse est « prettée » pour une certaine période. A la fin de cette période, elle certaine période. A la fin de cette période, elle peut être renouvelée ou remise à disposition.peut être renouvelée ou remise à disposition.
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 158158
DHCPDHCP Il existe plusieurs formes de requêtes DHCP :Il existe plusieurs formes de requêtes DHCP :
DHCPDISCOVERDHCPDISCOVER (pour localiser les serveurs DHCP disponibles) (pour localiser les serveurs DHCP disponibles) DHCPOFFERDHCPOFFER (réponse du serveur à un paquet DHCPDISCOVER, qui (réponse du serveur à un paquet DHCPDISCOVER, qui
contient les premiers paramètres) contient les premiers paramètres) DHCPREQUESTDHCPREQUEST (requête diverse du client pour par exemple (requête diverse du client pour par exemple
prolonger son prolonger son bailbail) ) DHCPACKDHCPACK (réponse du serveur qui contient des paramètres et (réponse du serveur qui contient des paramètres et
l'adresse IP du client) l'adresse IP du client) DHCPNAKDHCPNAK (réponse du serveur pour signaler au client que son bail (réponse du serveur pour signaler au client que son bail
est échu ou si le client annonce une mauvaise configuration réseau) est échu ou si le client annonce une mauvaise configuration réseau) DHCPDECLINEDHCPDECLINE (le client annonce au serveur que l'adresse est déjà (le client annonce au serveur que l'adresse est déjà
utilisée) utilisée) DHCPRELEASEDHCPRELEASE (le client libère son adresse IP) (le client libère son adresse IP) DHCPINFORMDHCPINFORM (le client demande des paramètres locaux, il a déjà (le client demande des paramètres locaux, il a déjà
son adresse IP) son adresse IP)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 159159
DHCPDHCP
Serveur DHCP
Client DHCP Client DHCP
DHCPDISCOVERSource : 0.0.0.0Destin. : FF.FF.FF.FF
DHCPOFFERIP : 158.64.76.4Mask : 255.255.255.0Lease : 48hMac client : 00-10-C6-2A-C8-ACIP Server : 158.64.76.1
Le poste client demande une adresse IP au(x) serveur(s) DHCP
Le serveur envoie une proposition au client
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 160160
DHCPDHCP
Serveur DHCP
Client DHCP Client DHCP
DHCPREQUESTSource : 0.0.0.0Destin. : FF.FF.FF.FFIP : 158.64.76.4…
DHCPACKIP : 158.64.76.4Mask : 255.255.255.0Lease : 48hMac client : 00-10-C6-2A-C8-ACIP Server : 158.64.76.1
Le poste client accepte la premièreproposition qu’il a reçue en informant tous les serveurs.
Le serveur confirmel’attribution de l’adresse
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 161161
DHCPDHCP
Serveur DHCP1
Client DHCPdu serveur 2
Client DHCPdu serveur 1
Serveur DHCP2
131.25.27.150à
131.25.27.200
131.25.27.175à
131.25.27.225
131.25.27.180 131.25.27.180ERREUR
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 162162
Le routage dans l’InternetLe routage dans l’Internet
Nous avons vu jusqu’à présent un certain Nous avons vu jusqu’à présent un certain nombre de protocoles de contrôle d’Internet :nombre de protocoles de contrôle d’Internet : ICMPICMPARP, RARPARP, RARPDHCPDHCP……
Voyons à présent les protocoles de routage Voyons à présent les protocoles de routage de ce réseau fédérateurde ce réseau fédérateur
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 163163
Le routage dans l’InternetLe routage dans l’Internet
Par réseau fédérateur il faut comprendre d’Internet Par réseau fédérateur il faut comprendre d’Internet est composé d’un très grand nombre de est composé d’un très grand nombre de systèmes systèmes autonomes (SA)autonomes (SA) gérés par des acteurs (sociétés, …) gérés par des acteurs (sociétés, …) indépendants :indépendants : un SA est ensemble de réseaux qui sont sous un même un SA est ensemble de réseaux qui sont sous un même
contrôle administratif :contrôle administratif : ex : RESTENA, BELNET, UUNET, …ex : RESTENA, BELNET, UUNET, …
chacun de ces acteurs a la liberté du choix, dans son chacun de ces acteurs a la liberté du choix, dans son système (en interne) de son protocole de routagesystème (en interne) de son protocole de routage
un nombre potentiellement élevé de protocoles différentsun nombre potentiellement élevé de protocoles différents
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 164164
Le routage dans l’InternetLe routage dans l’Internet
Les différents SA sont interconnectés entre euxLes différents SA sont interconnectés entre euxen ce qui concerne BELNET :en ce qui concerne BELNET :
connexion directe avec plusieurs AS « belges » via BNIX :connexion directe avec plusieurs AS « belges » via BNIX : http://www.bnix.nethttp://www.bnix.net
connexion directe avec plusieurs AS « hollandais » via connexion directe avec plusieurs AS « hollandais » via AMSIX :AMSIX :
http://www.ams-ix.nethttp://www.ams-ix.net
connexion directe avec plusieurs réseaux de la recherche :connexion directe avec plusieurs réseaux de la recherche : SURFNET (NL), TEN-155 (Europe)SURFNET (NL), TEN-155 (Europe)
connexion directe avec des ISPs internationauxconnexion directe avec des ISPs internationaux
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 165165
Le routage dans l’InternetLe routage dans l’Internet
Quid de l’interconnexion :Quid de l’interconnexion : la définition de normes facilite grandement le la définition de normes facilite grandement le
travail de toustravail de tousen effet, si certaines règles sont respectées, en effet, si certaines règles sont respectées,
l’implémentation de l’interfaçage frontière entre l’implémentation de l’interfaçage frontière entre ces différents SA est considérablement facilitée :ces différents SA est considérablement facilitée :standardisation des règles de communicationstandardisation des règles de communicationréutilisation du coderéutilisation du code……
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 166166
Le routage dans l’InternetLe routage dans l’Internet
Le routage dans l’Internet commence donc Le routage dans l’Internet commence donc par le routage dans un système autonome :par le routage dans un système autonome :nous parlerons des nous parlerons des protocoles de routage interneprotocoles de routage interne
Nous verrons ensuite le routage entre Nous verrons ensuite le routage entre systèmes autonomes :systèmes autonomes :nous parlerons des nous parlerons des protocoles de routage externeprotocoles de routage externe
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 167167
Le routage dans l’InternetLe routage dans l’InternetExterior Gateway Protocol :Distribue les routes globalement en considérent chaque SA comme une boîte noir
Interior Gateway Protocol :Topologie interne de l’AS et des liens externes
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 168168
Les protocoles de routage interneLes protocoles de routage interne
Ou routage Ou routage intradomaineintradomaine : :Différents types de routage :Différents types de routage :
statique : cfr. 1080-1081statique : cfr. 1080-1081dynamique :dynamique :
avec vecteur de distance : RIPavec vecteur de distance : RIPavec états de liaison : OSPF, IS-ISavec états de liaison : OSPF, IS-IS
Abordons ces deux dernières catégoriesAbordons ces deux dernières catégories
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 169169
Routage : pourquoi ?Routage : pourquoi ?
L’objectif principal de la couche 3 est, comme L’objectif principal de la couche 3 est, comme nous l’avons déjà vu, d’acheminer des nous l’avons déjà vu, d’acheminer des paquets de la source vers la destinationpaquets de la source vers la destination
Dans un réseau, comment trouver le chemin Dans un réseau, comment trouver le chemin d’un point A à un point B ?d’un point A à un point B ?c’est le travail des algorithmes de routagec’est le travail des algorithmes de routageen général, chaque routeur se base sur sa table en général, chaque routeur se base sur sa table
de routage pour déterminer le port qu’il va de routage pour déterminer le port qu’il va attribuer pour véhiculer le paquetattribuer pour véhiculer le paquet
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 170170
Routage : exempleRoutage : exemple
Routing table
A : localD : SudB : EstC : Est [via B]E : Est [via B]
Routing table
A : Ouest [via B]D : Sud Ouest [via E]B : OuestC : LocalE : Sud Ouest
Routing table
A : OuestD : Sud [via E]B : LocalC : Sud [via E]E : Sud
Routing table
A : NordD : LocalB : Nord [via A]C : Est [via E]E : Est
Routing table
A : Nord [via B]D : OuestB : NordC : Nord EstE : Local
A B C
D E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 171171
Détermination de la routeDétermination de la route
Principe d’optimalitési le routeur J se trouve sur le meilleur chemin de I
à K, alors le meilleur chemin de J à K suit la même route que le meilleur chemin de I à K
on peut donc trouver le meilleur chemin de façon incrémentale
Dans un réseau, l’ensemble des meilleurs chemins partants d’un routeur est un arbre dont la racine est ce routeur
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 172172
Algorithmes de routageAlgorithmes de routage
Meilleur chemin dans un réseau ? plus court chemin [le moins de lignes à traverser] chemin avec le délai le plus court chemin avec le débit le plus élevé en général, on caractérise chaque ligne par un nombre
[métrique]
Comment construire les tables de routage ? Routage statique Routage dynamique
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 173173
Routage statiqueRoutage statique
Principeun ordinateur spécialisé calcule les tables des
routage pour tous les routeurs du réseau
Calcule des tables de routagealgorithme pour trouver le chemin le plus courtalgorithmes plus complexes pour optimiser
l’utilisation du réseau en fonction du trafic
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 174174
Routage statiqueRoutage statique
Avantages du routage statique :facile à utiliser dans un petit réseauoptimisation possible des tables de routages
Désavantagespas d’adaptation dynamique à l’évolution du traficcomment faire quand en cas de en panne ?
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 175175
Routage dynamiqueRoutage dynamique
Principe :les routeurs coopèrent pour mettre à jour leurs
tables de routage de façon dynamique avec un algorithme distribué
utilisé dans quasiment tous les réseaux
Méthodes :routage avec vecteurs de distanceroutage avec états de liaison
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 176176
Routage dynamiqueRoutage dynamique
Avantage :adaptabilité
Désavantage :beaucoup plus complexe à implémenter que
routage statique
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 177177
Routage - vecteurs de distanceRoutage - vecteurs de distance
Principe :Principe :chaque routeur transmet périodiquement un chaque routeur transmet périodiquement un
vecteur comprenant pour chaque destination vecteur comprenant pour chaque destination connue du routeur :connue du routeur :1. adresse de la destination1. adresse de la destination2. distance depuis le routeur qui transmet le vecteur 2. distance depuis le routeur qui transmet le vecteur
jusqu’à la destinationjusqu’à la destination
le vecteur de distance est en fait un résumé de la le vecteur de distance est en fait un résumé de la table de routage du routeurtable de routage du routeur
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 178178
Routage - vecteurs de distanceRoutage - vecteurs de distance
Chaque routeur reçoit les vecteurs transmis par ses voisins immédiats et se base sur cette information pour construire sa table de routage
Lorsqu’il démarre, un routeur ne connaît que lui−même
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 179179
Vecteurs de distance : exemple 1Vecteurs de distance : exemple 1
Routing table
A : 0 local
Routing table
C : 0 Local
Routing table
B : 0 Local
Routing table
D : 0 Local
Routing table
E : 0 Local
A B C
D E
Exemple :réseau simple avec lignes de distance unitaire
A = 0
A = 0
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 180180
Vecteurs de distance : exemple 2Vecteurs de distance : exemple 2
Initialement, un routeur ne connaît que lui−même et il peut se joindre avec une distance de 0
Vecteur de distance de A :A=0envoyé sur les port Est et Sud de A (tous)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 181181
Vecteurs de distance : exemple 3Vecteurs de distance : exemple 3
B et D connaissent maintenant l’existence de AB et D connaissent maintenant l’existence de A
Routing table
A : 0 local
Routing table
C : 0 Local
Routing table
B : 0 LocalA : 1 Ouest
Routing table
D : 0 LocalA : 1 Nord
Routing table
E : 0 Local
A B C
D E
D=0; A=1
D=0; A=1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 182182
Vecteurs de distance : exemple 4Vecteurs de distance : exemple 4
Vecteur de distance pour D :D=0 ; A=1envoyé sur les ports Nord et Est de D
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 183183
Vecteurs de distance : exemple 5Vecteurs de distance : exemple 5
E connaît maintenant A et DE connaît maintenant A et D
Routing table
A : 0 localD : 1 Sud
Routing table
C : 0 Local
Routing table
B : 0 LocalA : 1 Ouest
Routing table
D : 0 LocalA : 1 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 Ouest
A B C
D E
C=0
C=0
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 184184
Vecteurs de distance : exemple 6Vecteurs de distance : exemple 6
Supposons que C décide d’envoyer son vecteur :vecteur de distance pour C à ce moment :
C=0envoyé sur les ports Ouest et Sud−Ouest
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 185185
Vecteurs de distance : exemple 7Vecteurs de distance : exemple 7
B et E connaissent l’existence de CB et E connaissent l’existence de C
Routing table
A : 0 localD : 1 Sud
Routing table
C : 0 Local
Routing table
B : 0 LocalA : 1 OuestC : 1 Est
Routing table
D : 0 LocalA : 1 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-Est
A B C
D EE=0;D=1;A=2;C=1
E=0;D=1;A=2;C=1E=0;D=1;A=2;C=1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 186186
Vecteurs de distance : exemple 8Vecteurs de distance : exemple 8
Nouveau vecteur de distance pour E :E=0 ; D=1 ; A=2 ; C= 1envoyé sur tous les ports de E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 187187
Vecteurs de distance : exemple 9Vecteurs de distance : exemple 9
B reçoit le vecteur de E :nouvelle route pour E et Droute plus mauvaise pour A et C
Routing table
A : 0 localD : 1 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-Ouest
Routing table
B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 Est
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-Est
A B C
D E
B=0;A=1;C=1;D=2;E=1 B=0;A=1;C=1;D=2;E=1
B=0;A=1;C=1;D=2;E=1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 188188
Vecteurs de distance : exemple 10Vecteurs de distance : exemple 10
Nouveau vecteur de distance de B :B=0 ; A=1 ; C=1; E = 1 ; D=2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 189189
Vecteurs de distance : exemple 11Vecteurs de distance : exemple 11
Nouveau vecteur de distance de A :Nouveau vecteur de distance de A :A=0 ; D=1 ; B=1 ; C=2 ; E=2A=0 ; D=1 ; B=1 ; C=2 ; E=2envoyé sur tous les ports de A …envoyé sur tous les ports de A …
Routing table
A : 0 localD : 1 SudB : 1 EstC : 2 EstE : 2 Est
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 Est
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
A=0;B=1;C=2;D=1;E=2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 190190
Vecteurs de distance : exemple 12Vecteurs de distance : exemple 12
Routing table
A : 0 localD : 1 SudB : 1 EstC : 2 EstE : 2 Est
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 191191
Vecteurs de distance : exemple 13Vecteurs de distance : exemple 13
A cet instant, tous les routeurs savent A cet instant, tous les routeurs savent comment joindre n’importe quel autre routeur comment joindre n’importe quel autre routeur du réseaudu réseau
Les tables de routage sont stables :Les tables de routage sont stables : la réémission d’un vecteur de distance ne la réémission d’un vecteur de distance ne
provoquera pas de changement dans une table de provoquera pas de changement dans une table de routageroutage
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 192192
Routage avec VdD : problèmeRoutage avec VdD : problème
Que faire en cas de panne d’une ligne ?Que faire en cas de panne d’une ligne ?
Supprimer dans la table de routage de A et B les Supprimer dans la table de routage de A et B les destinations que l’on pouvait joindre via la ligne en destinations que l’on pouvait joindre via la ligne en panne :panne : cela ne suffit pas, il faut également propager dans le cela ne suffit pas, il faut également propager dans le
réseau l’information concernant la panne de la ligneréseau l’information concernant la panne de la ligne
A B C
D E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 193193
Routage avec VdD : problèmeRoutage avec VdD : problème
Idée :Idée :une ligne en panne = ligne avec distance infinieenvoyer un nouveau vecteur de distance indiquant
une distance infinie pour les destinations que l’on pouvait joindre via la ligne qui est tombée en panne
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 194194
Vecteurs de distance : situation stableVecteurs de distance : situation stable
Routing table
A : 0 localD : 1 SudB : 1 EstC : 2 EstE : 2 Est
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : 1 OuestC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
Apparitiond’une panne
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 195195
VdD : réaction aux pannes (1)VdD : réaction aux pannes (1)
Nouveau vecteur de distance de A :Nouveau vecteur de distance de A :A=0 ; D=1 ; B=A=0 ; D=1 ; B=∞ ; C=C=∞ ; E=E=∞envoyé sur le port Sud de Aenvoyé sur le port Sud de A
Routing table
A : 0 localD : 1 Sud
B : ∞C : ∞E : ∞
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : ∞C : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
A=0;B=∞;C=∞;D=1;E=∞
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 196196
VdD : réaction aux pannes (2)VdD : réaction aux pannes (2)
D apprend la panne. Il réagit en ajustant ses D apprend la panne. Il réagit en ajustant ses tables de routage :tables de routage :D passait par A pour aller à BD passait par A pour aller à BA annonce maintenant une distance infinie pour BA annonce maintenant une distance infinie pour BD ne sait plus joindre B en passant par AD ne sait plus joindre B en passant par A
D émet alors un nouveau vecteur de distance :D émet alors un nouveau vecteur de distance :D=0 ; A=1 ; E=1 ; C=2 ; B=D=0 ; A=1 ; E=1 ; C=2 ; B=∞
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 197197
VdD : réaction aux pannes (3)VdD : réaction aux pannes (3)
Routing table
A : 0 localD : 1 Sud
B : ∞C : ∞E : ∞
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : ∞C : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : ∞
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
D=0;B=∞;A=1;C=2;E=1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 198198
VdD : réaction aux pannes (4)VdD : réaction aux pannes (4)
Chaque routeur doit « réapprendre » la topologie :A découvre une route vers C et vers E via DA et D ne peuvent toujours pas joindre BC croit toujours pouvoir joindre A via B
B émet un nouveau vecteur de distance :B émet un nouveau vecteur de distance :B=0 ; A= B=0 ; A= ∞ ; C=1 ; E=1 ; D=2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 199199
VdD : réaction aux pannes (5)VdD : réaction aux pannes (5)
Routing table
A : 0 localD : 1 Sud
B : ∞C : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : ∞C : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : ∞
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
B=0;A=∞;C=1;E=1;D=2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 200200
VdD : réaction aux pannes (6)VdD : réaction aux pannes (6)
C apprend, à son tour, qu’il ne peut pas C apprend, à son tour, qu’il ne peut pas joindre A via B :joindre A via B : il ajuste donc sa table de routageil ajuste donc sa table de routage
E émet également un nouveau vecteur de E émet également un nouveau vecteur de distance :distance :E=0 ; D=1 ; A=2 ; C=1 ; B=1E=0 ; D=1 ; A=2 ; C=1 ; B=1ce dernier est envoyé sur tous ses portsce dernier est envoyé sur tous ses ports
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 201201
VdD : réaction aux pannes (7)VdD : réaction aux pannes (7)
Routing table
A : 0 localD : 1 Sud
B : ∞C : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : ∞B : 1 Ouest
Routing table
B : 0 LocalA : ∞C : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : ∞
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
E=0;D=1;A=2;C=1;B=1
E=0;D=1;A=2;C=1;B=1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 202202
VdD : réaction aux pannes (8)VdD : réaction aux pannes (8)
D apprend de E une route vers BD apprend de E une route vers BB apprend de E une route vers AB apprend de E une route vers AC apprend de E une route vers AC apprend de E une route vers A
leurs tables de routage respective sont mises à leurs tables de routage respective sont mises à jourjour
D enverra son vecteur de distance et D enverra son vecteur de distance et annoncera à A la route permettant de joindre annoncera à A la route permettant de joindre B via DB via D
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 203203
VdD : réaction aux pannes (9)VdD : réaction aux pannes (9)Routing table
A : 0 localD : 1 Sud
B : ∞C : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Est
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
D enverra son vecteur de distance et annoncera D enverra son vecteur de distance et annoncera à A la route permettant de joindre B via Dà A la route permettant de joindre B via D
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 204204
VdD : situation stable après une VdD : situation stable après une pannepanne
Routing table
A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Est
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 205205
VdD : nouvelle panneVdD : nouvelle panne
Une nouvelle panne survient sur la ligne entre Une nouvelle panne survient sur la ligne entre D et E :D et E :quid de la réaction d’ajustement des tables par quid de la réaction d’ajustement des tables par
propagation de nouveaux vecteurs ?propagation de nouveaux vecteurs ?
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 206206
VdD : nouvelle panneVdD : nouvelle panne
D découvre l’existence de la panne :D découvre l’existence de la panne :D sait maintenant que la distance vers E, C et B D sait maintenant que la distance vers E, C et B
est infinieest infiniesi c’est D qui envoie son vecteur de distance, tout si c’est D qui envoie son vecteur de distance, tout
se passe bien. se passe bien. Aucun problèmeAucun problèmeLe problème vient quand A transmet en premier Le problème vient quand A transmet en premier
un vecteur de distance…un vecteur de distance…
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 207207
VdD : Nouvelle panneVdD : Nouvelle panne
Routing table
A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 1 EstC : 2 EstB : 2 Est
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 208208
VdD : nouvelle panne (1)VdD : nouvelle panne (1)Routing table
A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : ∞C : ∞B : ∞
Routing table
E : 0 LocalD : ∞A : ∞C : 1 Nord-EstB : 1 Nord
A B C
D E
Vecteur de distance de A :Vecteur de distance de A :A=0 ; D=1 ; B=3 ; C=3 ; E=2A=0 ; D=1 ; B=3 ; C=3 ; E=2envoyé sur tous les ports de Aenvoyé sur tous les ports de A
A=0;D=1;B=3;C=3;E=2
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 209209
VdD : nouvelle panne (2)VdD : nouvelle panne (2)
Le vecteur de distance de A permet à D Le vecteur de distance de A permet à D d’avoir à nouveau une route vers B, C et Ed’avoir à nouveau une route vers B, C et E
Le nouveau vecteur de distance pour D est :Le nouveau vecteur de distance pour D est :D=0 ; A=1 ; E=3 ; C=4 ; B=4D=0 ; A=1 ; E=3 ; C=4 ; B=4 il est envoyé sur tous les ports de Dil est envoyé sur tous les ports de D
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 210210
VdD : nouvelle panne (3)VdD : nouvelle panne (3)
Routing table
A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 3 NordC : 4 NordB : 4 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
D=0;A=1;E=3;C=4;B=4
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 211211
VdD : nouvelle panne (4)VdD : nouvelle panne (4)
Mauvaise nouvelle pour A :Mauvaise nouvelle pour A :sa route vers B, C et E est plus longue d’une unitésa route vers B, C et E est plus longue d’une unitémise à jour de sa table et envoi des infos à ses mise à jour de sa table et envoi des infos à ses
voisinsvoisins
Le nouveau vecteur de distance pour A est :Le nouveau vecteur de distance pour A est :A=0 ; D=1 ; B=4 ; C=4 ; E=3A=0 ; D=1 ; B=4 ; C=4 ; E=3envoyé sur tous les portsenvoyé sur tous les ports
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 212212
VdD : nouvelle panne (5)VdD : nouvelle panne (5)
Routing table
A : 0 localD : 1 SudB : 4 SudC : 4 SudE : 3 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 3 NordC : 4 NordB : 4 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
A=0;D=1;B=4;C=4;E=3
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 213213
VdD : nouvelle panne (6)VdD : nouvelle panne (6)
Mauvaise nouvelle pour D :Mauvaise nouvelle pour D :sa route vers B, C et E est plus longue d’une unité sa route vers B, C et E est plus longue d’une unité
qu’avantqu’avant
Le nouveau vecteur de distance pour D est :Le nouveau vecteur de distance pour D est :A=1 ; D=0 ; B=5 ; C=5 ; E=4A=1 ; D=0 ; B=5 ; C=5 ; E=4envoyé sur tous les portsenvoyé sur tous les ports
Problème : il y a une boucleProblème : il y a une boucle
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 214214
VdD : nouvelle panne (7)VdD : nouvelle panne (7)
Routing table
A : 0 localD : 1 SudB : 4 SudC : 4 SudE : 3 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : 4 NordC : 5 NordB : 5 Nord
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
A=1;D=0;B=5;C=5;E=4
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 215215
VdD : nouvelle panne (8)VdD : nouvelle panne (8)
Origine du problème :Origine du problème :comptage à l’infini car un routeur annonce sur une comptage à l’infini car un routeur annonce sur une
ligne des routes qu’il a appris ligne des routes qu’il a appris via cette même lignevia cette même ligne
Comment éviter ?Comment éviter ?horizon partagé (split horizon)horizon partagé (split horizon)principe :principe :
construire un vecteur de distance construire un vecteur de distance pour chaque lignepour chaque lignesur une ligne, ne pas annoncer les destinations que l’on sur une ligne, ne pas annoncer les destinations que l’on
ne parvient pas à joindre via cette lignene parvient pas à joindre via cette ligne
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 216216
VdD : horizon partagéVdD : horizon partagé
Routing table
A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : ∞C : ∞B : ∞
Routing table
E : 0 LocalD : ∞A : ∞C : 1 Nord-EstB : 1 Nord
A B C
D E
D=0;B=∞;E=∞A=0
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 217217
Horizon partagéHorizon partagé
Le vecteur de distance de A envoyé vers D :Le vecteur de distance de A envoyé vers D :A=0A=0
Le vecteur de distance de D envoyé vers A :Le vecteur de distance de D envoyé vers A :D=0 ; E=D=0 ; E=∞ ; B=∞
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 218218
Horizon partagéHorizon partagé
Routing table
A : 0 localD : 1 SudB : ∞C : ∞ E : ∞
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : ∞C : ∞B : ∞
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
A apprend de D la mauvaise nouvelle :A apprend de D la mauvaise nouvelle :le problème du comptage infini est résolu
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 219219
Horizon partagé avec Horizon partagé avec empoisonnementempoisonnement
Amélioration à horizon partagé : horizon partagé avec empoisonnement principe
construire un vecteur de distance pour chaque ligne sur une ligne donnée
annoncer les destinations que l’on parvient à atteindre via d’autres lignes normalement
annoncer les destinations que l’on parvient à atteindre via cette ligne en indiquant une distance infinie
Avantage : permet d’annoncer plus rapidement les mauvaises
nouvelles que split horizon simple
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 220220
Horizon partagé avec Horizon partagé avec empoisonnement (1)empoisonnement (1)
Retour à l’exemple précédent :Retour à l’exemple précédent :
Vecteur envoyé par A : Vecteur envoyé par A : A=0 ; D=A=0 ; D=∞ ; B==∞ ; C=∞ ; E==∞
Routing table
A : 0 localD : 1 SudB : 3 SudC : 3 SudE : 2 Sud
Routing table
C : 0 LocalE : 1 Sud-OuestD : 2 Sud-OuestA : 3 Sud-OuestB : 1 Ouest
Routing table
B : 0 LocalA : 3 SudC : 1 EstE : 1 SudD : 2 Sud
Routing table
D : 0 LocalA : 1 NordE : ∞C : ∞B : ∞
Routing table
E : 0 LocalD : 1 OuestA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
D E
A=0;D=∞;B=∞;C=∞;E=∞
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 221221
Limitation à horizon partagé Limitation à horizon partagé (avec ou sans empoisonnement)(avec ou sans empoisonnement)
Routing table
A : 0 localB : ∞C : ∞ E : ∞
Routing table
C : 0 LocalE : 1 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : ∞C : 1 EstE : 1 Sud
Routing table
E : 0 LocalA : 2 NordC : 1 Nord-EstB : 1 Nord
A B C
E
A=2;B=1;C=0;E=∞A=∞;B=0;C=1;E=1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 222222
Limitation à horizon partagé Limitation à horizon partagé (avec ou sans empoisonnement)(avec ou sans empoisonnement)
B envoie ses vecteurs de distance :B envoie ses vecteurs de distance : le vecteur arrive en Ele vecteur arrive en E
Avant que le vecteur de B n’arrive en C, C Avant que le vecteur de B n’arrive en C, C envoie son vecteur à Eenvoie son vecteur à E
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 223223
Limitation à horizon partagé Limitation à horizon partagé (avec ou sans empoisonnement)(avec ou sans empoisonnement)
Routing table
A : 0 localB : ∞C : ∞ E : ∞
Routing table
C : 0 LocalE : 1 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : ∞C : 1 EstE : 1 Sud
Routing table
E : 0 LocalA : 2 OuestC : 1 Nord-EstB : 1 Nord
A B C
E
A=2;B=1;C=0;E=∞A=∞;B=0;C=1;E=∞
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 224224
Limitation à horizon partagé Limitation à horizon partagé (avec ou sans empoisonnement)(avec ou sans empoisonnement)
Routing table
A : 0 localB : ∞C : ∞ E : ∞
Routing table
C : 0 LocalE : 1 Sud-OuestA : 2 OuestB : 1 Ouest
Routing table
B : 0 LocalA : 1 OuestC : 1 EstE : 1 Sud
Routing table (E)
Routing table après vecteur de B :E : 0 LocalA : ∞C : 1 Nord-EstB : 1 Nord
Routing table après vecteur de C :E : 0 LocalA : 3 Nord-EstC : 1 Nord-EstB : 1 Nord
A B C
E
A=2;B=1;C=0;E=∞A=∞;B=0;C=1;E=∞
• E enverra son vecteur de distance :E enverra son vecteur de distance :•B découvrira une route vers A via E et l’annoncera à CB découvrira une route vers A via E et l’annoncera à C
• Nouveau problème de comptage à l’Nouveau problème de comptage à l’∞∞
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 225225
Routage avec état de liaisonRoutage avec état de liaison
Idée : plutôt que d’envoyer uniquement la distance vers chaque
destination, diffuser sur tous les routeurs une carte complète du réseau
Comment construire cette carte ? chaque routeur doit découvrir ses voisins chaque routeur doit mesurer le délai de la ligne vers
chacun de ces voisins chaque routeur envoie un paquet indiquant ses proches
voisins à tous les routeurs du réseau les routeurs assemblent les paquets reçus et utilisent
Dijkstra pour calculer le chemin +court
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 226226
Découverte des voisinsDécouverte des voisins
Comment un routeur peut-il découvrir ses Comment un routeur peut-il découvrir ses voisins ?voisins ?Message HELLO :
envoyer périodiquement un paquet spécial HELLO qui indique l’adresse du routeur sur chaque ligne
les voisins répondent en envoyant leur adressel’envoi périodique permet de vérifier que la ligne reste
activeA B
E
A: HELLO
B: HELLO E: HELLO
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 227227
Mesure du délaiMesure du délai
Comment mesurer le délai des lignes ?via le mécanisme HELLO permet de mesurer le délai aller−retouren divisant par 2 on obtient le délai de la lignele délai doit−il tenir compte de la charge actuelle
de la ligne ? :si oui, le routage pourra prendre la charge indirectement
en compte, mais le routage risque d’être instablesi non, le routage sera plus stable, mais certaines lignes
risquent d’être mal utilisées
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 228228
Mesure du délaiMesure du délai
Comment tenir compte de la charge de la Comment tenir compte de la charge de la ligne dans la mesure du délai ?ligne dans la mesure du délai ?
BA
Buffer de sortie du routeur
contient des paquets en attente de transmissionSi la charge est élevée, le buffer contiendrabeaucoup de paquets en attente en moyenneSi la charge est faible, le buffer contiendrapeu de paquets en moyenne
Placement du paquet HelloPlacement du paquet Hello à la tête du buffer :à la tête du buffer :
délai mesuré par Hello sera délai mesuré par Hello sera indépendant de la charge de la ligneindépendant de la charge de la ligne
à la queue du buffer :à la queue du buffer : (comme s’il s’agissait d’un paquet (comme s’il s’agissait d’un paquet
normal) : délai par Hello mesuré normal) : délai par Hello mesuré sera fonction de la charge de la sera fonction de la charge de la ligneligne
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 229229
Détermination de la topologieDétermination de la topologie
Comment déterminer la topologie du réseau ?Comment déterminer la topologie du réseau ? en découvrant ses voisins, chaque routeur découvre une
petite partie de la topologie
en assemblant ces petites parties, on peut construire la topologie complète
chaque routeur résume sa topologie locale en un link state packet (LSP) contenant :
identification du routeur couples (voisin,délai pour atteindre ce voisin)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 230230
Détermination de la topologieDétermination de la topologie
Quand construire les LSPs ?périodiquementen cas de problèmes (ligne devenant active ou en
panne ou délai changeant fortement)
Comment distribuer la topologie ? en s’appuyant sur les tables de routage :
impossible car ces tables n’existent pas ou risquent d’être incohérentes lorsque l’on commence à diffuser la topologie
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 231231
Détermination de la topologieDétermination de la topologie
Sans tenir compte de la table de routagela topologie doit être reçue par chaque routeur du
réseau
première solution : Chaque routeur place sa topologie locale dans un paquet
spécial (LSP) et envoie ce paquet sur toutes ses lignes de sortie
tout routeur qui reçoit un LSP d’un autre routeur stocke le contenu en mémoire et diffuse ce LSP sur ses lignes de sortie (sauf celle d’où le LSP provient évidemment)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 232232
Diffusion des LSPsDiffusion des LSPs
E diffuse le premier son LSP sur ses ports :E diffuse le premier son LSP sur ses ports : formatformat : émetteur [topologie locale] : E[D:1];[B:1];[C:1] : émetteur [topologie locale] : E[D:1];[B:1];[C:1]
Liaisons
A-B : 1A-D : 1
Liaisons
B-C : 1C-E : 1
Liaisons
A-B : 1B-E : 1B-C : 1
Liaisons
E-D : 1E-B : 1E-C : 1
A B C
E
Liaisons
A-D : 1D-E : 1
D
LSP : E[D:1];[B:1];[C:1] LSP : E[D:1];[B:1];[C:1]
LSP : E[D:1];[B:1];[C:1]
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 233233
Diffusion des LSPsDiffusion des LSPs
Chaque routeur rediffuse le LSP reçu sur toutes ses lignes sauf celles Chaque routeur rediffuse le LSP reçu sur toutes ses lignes sauf celles d’où le LSP provientd’où le LSP provient
Comment éviter qu’un LSP ne boucle en permanence ?Comment éviter qu’un LSP ne boucle en permanence ?
Liaisons
A-B : 1A-D : 1
Liaisons
B-C : 1C-E : 1B-E : 1D-E : 1
Liaisons
A-B : 1B-E : 1B-C : 1E-D : 1E-C : 1
Liaisons
E-D : 1E-B : 1E-C : 1
A B C
E
Liaisons
A-D : 1D-E : 1B-E : 1E-C : 1
D
LSP : E[D:1];[B:1];[C:1]
LSP : E[D:1];[B:1];[C:1]
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 234234
Diffusion des LSPsDiffusion des LSPs
Comment résoudre le problème du bouclage ?Comment résoudre le problème du bouclage ? il faut qu’un routeur évite de rediffuser un LSP qu’il il faut qu’un routeur évite de rediffuser un LSP qu’il
a déjà reçu précédemment sur une autre ligne :a déjà reçu précédemment sur une autre ligne :pour cela, un routeur doit pour cela, un routeur doit conserverconserver le dernier LSP émis le dernier LSP émis
par chaque routeur du réseaupar chaque routeur du réseau
principeprincipe : :chaque LSP contient :chaque LSP contient :
un numéro de séquence un numéro de séquence incrémenté par l’émetteur à chaque nouveau LSPincrémenté par l’émetteur à chaque nouveau LSP
une identification de l’émetteur du LSPune identification de l’émetteur du LSP les couples [routeur:distance] pour tous les routeurs voisins du les couples [routeur:distance] pour tous les routeurs voisins du
routeur qui émet le LSProuteur qui émet le LSP
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 235235
Diffusion des LSPsDiffusion des LSPs
chaque routeur stocke le LSP le plus récent reçu de chaque routeur du réseau
un LSP est traité et rediffusé uniquement si il est plus récent que le LSP qui était dans la mémoire du routeur
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 236236
Diffusion des LSPsDiffusion des LSPsLiaisons
A-B : 1A-D : 1---------LSPs
Liaisons
B-C : 1C-E : 1---------LSPs
Liaisons
A-B : 1B-E : 1B-C : 1---------LSPs
Liaisons
E-D : 1E-B : 1E-C : 1---------E-0[D:1];[B:1];[C:1]
A B C
E
Liaisons
A-D : 1D-E : 1---------LSPs
D
LSP : E-0[D:1];[B:1];[C:1]
LSP : E-0[D:1];[B:1];[C:1]
Initialement la table des LSPs est videInitialement la table des LSPs est vide E envoie son LSP sur tous ses portsE envoie son LSP sur tous ses ports
LSP : E-0[D:1];[B:1];[C:1]
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 237237
Diffusion des LSPsDiffusion des LSPs
Liaisons
A-B : 1A-D : 1---------LSPs
Liaisons
B-C : 1C-E : 1B-E : 1D-E : 1---------E-0[D:1];[B:1];[C:1]
Liaisons
A-B : 1B-E : 1B-C : 1E-D : 1E-C : 1---------E-0[D:1];[B:1];[C:1]
Liaisons
E-D : 1E-B : 1E-C : 1---------E-0[D:1];[B:1];[C:1]
A B C
E
Liaisons
A-D : 1D-E : 1B-E : 1E-C : 1---------E-0[D:1];[B:1];[C:1] D
LSP : E-0[D:1];[B:1];[C:1]
LSP : E-0[D:1];[B:1];[C:1]
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 238238
Diffusion des LSPsDiffusion des LSPs
Grâce à la table des LSPs :Grâce à la table des LSPs :A peut détecter qu’il reçoit le A peut détecter qu’il reçoit le même LSPmême LSP via D et via D et
via Bvia BB peut détecter qu’il reçoit un B peut détecter qu’il reçoit un ancienancien LSP via C LSP via CC peut détecter qu’il reçoit me C peut détecter qu’il reçoit me même LSPmême LSP de E et de E et
via Bvia B
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 239239
Diffusion des LSPsDiffusion des LSPs
Problème :Problème :un routeur se plante puis redémarreil envoie son LSP avec numéro de séquence = 0si un ancien LSP de ce routeur existait dans le
réseau, les autres routeurs ne propageront pas le nouveau LSP
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 240240
Diffusion des LSPsDiffusion des LSPs
Solution :Solution :ajouter un champ "age" dans les LSPsle champ age est décrémenté toutes les N
secondes même à l’intérieur des tables de LSPs des routeurs
un LSP avec age=0 est trop vieux et suppriméchaque routeur envoie périodiquement un nouveau LSP
age>0 pour garantir la présence du LSP dans le réseau
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 241241
Diffusion des LSPsDiffusion des LSPs
Améliorations :Améliorations :éviter qu’un LSP passe deux fois sur une ligne :
lorsqu’un LSP est reçu, le routeur attend quelques secondes avant de le rediffuser :
si le même LSP arrive d’une autre ligne, on a évité une diffusion
si après ce temps le LSP n’est pas arrivé, on le diffuse
un routeur qui démarre peut demander à un voisin de recevoir les LSPs stockés par ce voisin
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 242242
Diffusion des LSPsDiffusion des LSPs
garantir la transmission correcte des LSPs :CRC dans chaque LSP pour détecter les erreurs de
transmissionla réception de chaque LSP est acquittée par le routeur
qui le reçoit sur la ligne où il l’a reçu : si l’acquit n’arrive pas, le LSP est réémis
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 243243
Construction de la table de routageConstruction de la table de routage
Principe :Principe :sur base des LSPs reçus, chaque routeur calcule
un arbre de recouvrement minimum en se considérant comme la racine de l’arbre
à partir de l’arbre de recouvrement minimum, il est très facile de déduire la table de routage
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 244244
Table de routage
R1 : OuestR2 : NordR4 : EstR4 : EstR5 : EstR6 : Est
Construction de la table de routageConstruction de la table de routage
R1
R2
R3 R4R4
R5
R6
D = 3
D = 2
D = 10
D = 5
D = 1
D = 6
D = 3 D = 3
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 245245
Algorithme de DijkstraAlgorithme de Dijkstra
Construction de l’arbre de recouvrement minimum :initialement, l’arbre comprend uniquement la
racineles routeurs adjacents sont placés avec les coûts
de leur ligne dans une liste de candidatsle routeur candidat avec le coût le plus faible est
ajouté à l’arbre
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 246246
Algorithme de DijkstraAlgorithme de Dijkstra
on examine les voisins du routeur candidat choisi et on modifiera la liste des candidats si :
un des voisins ne se trouvait pas dans la liste des candidats
un des voisins est un routeur de la mise des candidats, mais avec un chemin plus court que celui qui est dans la liste actuelle
l’algorithme se poursuit avec la nouvelle liste des candidats et s’arrête avec tous les routeurs dans l’arbre
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 247247
Algorithme de DijkstraAlgorithme de Dijkstra
1) Routeurs : [R1, R2, R4, R5,R6] ; Candidats : [ − ] ; Arbre : R3
2) Routeurs : [R5, R6] ; Candidats : [R1(5) ; R2(3) ; R4 (1) ]
-> candidat choisi : R4
Nouvel Arbre : R3 − R4
Nouveaux Candidats ? [R1(5) ; R2 (3) ; R5(R4−4) ; R6(R4−7) ]
3) Routeurs [ − ]
Candidat choisi : R2 ; Nouvel Arbre : R2 − R3 − R4
Nouveaux Candidats ? [R1(5) ; R5(R4−4) ; R6 (R4−7) ]
4) Candidat choisi : R5 ; Nouvel Arbre : R2 − R3 − R4 − R5
Nouveaux candidats ? [R1(5) ; R6(R4−7) ]
R1
R2
R3R4R4
R5
R6
D = 3
D = 2
D = 10
D = 5
D = 1
D = 6
D = 3 D = 3
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 248248
Routage hiérarchiqueRoutage hiérarchique
Dans un gros réseau, la table de routage peut Dans un gros réseau, la table de routage peut devenir très grande et la distribution des LSPs devenir très grande et la distribution des LSPs consommer beaucoup de débitconsommer beaucoup de débit
Il faut donc une alternative visant à réduire Il faut donc une alternative visant à réduire cette complexité/masse de données :cette complexité/masse de données : routage hiérarchiqueroutage hiérarchique
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 249249
Routage hiérarchiqueRoutage hiérarchique
Principe :Principe :diviser le réseau en régionà l’intérieur d’une région tous les routeurs
connaissent la topologie complèteles routeurs ne connaissent qu’un résumé de la
topologie à l’extérieur de leur régionréduit un petit peu l’efficacité du routage, mais
facilite grandement la diffusion des LSPs :utilisé dans quasiment tous les grands réseaux
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 250250
Protocole OSPFProtocole OSPF
RIP fût le premier protocole de routage interne RIP fût le premier protocole de routage interne de l’Internet.de l’Internet.basé sur les vecteurs de distancebasé sur les vecteurs de distanceOKOK pour les systèmes de taille modeste pour les systèmes de taille modesteKOKO pour des systèmes plus étendus : pour des systèmes plus étendus :
problème de la valeur infinieproblème de la valeur infinieproblème d’une convergence lenteproblème d’une convergence lente
Remplacé dès 1979 par un protocole à état de Remplacé dès 1979 par un protocole à état de lienlien
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 251251
Protocole OSPFProtocole OSPF
En 1988, l’IETF introduisit OSPF (Open En 1988, l’IETF introduisit OSPF (Open Shortest Path First).Shortest Path First).
En 1990, OSPF fût normalisé :En 1990, OSPF fût normalisé :dès ce moment, OSPF devint le protocole de dès ce moment, OSPF devint le protocole de
routage intra AS dominantroutage intra AS dominantRFC RFC 23282328
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 252252
Protocole OSPFProtocole OSPF
OSPF est conçu pour répondre à une longue OSPF est conçu pour répondre à une longue liste d’exigences :liste d’exigences :protocole protocole ouvertouvert. Il appartient au domaine public. . Il appartient au domaine public.
le O de son nom le O de son nomsupport d’une grande support d’une grande variété de métriquevariété de métrique : :
distance physiquedistance physiquedélai transmissiondélai transmission……
dynamiquedynamique s’adapter automatiquement et s’adapter automatiquement et rapidement aux changements de topologierapidement aux changements de topologie
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 253253
Protocole OSPFProtocole OSPF
routage en routage en fonction du type de servicefonction du type de service demandé : demandé :exigence nouvelleexigence nouvelle une partie du trafic routé en temps réelune partie du trafic routé en temps réel
est-ce possible sur IP, comment ?est-ce possible sur IP, comment ?
reste du traficreste du trafic
gestion de gestion de l’équilibragel’équilibrage des charges : des charges :plus efficace en répartissant le trafic sur plusieurs liaisonsplus efficace en répartissant le trafic sur plusieurs liaisons
support des systèmes support des systèmes hiérarchiqueshiérarchiques : :nécessaire car le développement d’Internet dès 1988 est nécessaire car le développement d’Internet dès 1988 est
tel qu’aucun routeur ne peut connaître la topologie toute tel qu’aucun routeur ne peut connaître la topologie toute entièreentière
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 254254
Protocole OSPFProtocole OSPF
prise en charge d’un minimum de prise en charge d’un minimum de sécuritésécurité : :pour éviter que des pirates ne trompent des routeurs en pour éviter que des pirates ne trompent des routeurs en
leur envoyant des informations de routage erronéesleur envoyant des informations de routage erronées
OSFP supporte trois types de connexions et OSFP supporte trois types de connexions et de réseaux :de réseaux : liaisons liaisons point-à-pointpoint-à-point entre deux routeurs entre deux routeurs réseaux à réseaux à accès multipleaccès multiple avecavec diffusion diffusion broadcastbroadcast
ex. la plupart des LANex. la plupart des LAN
réseaux à réseaux à accès multiple sansaccès multiple sans diffusion diffusion broadcastbroadcastex. la plupart des WAN : commutation de paquetsex. la plupart des WAN : commutation de paquets
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 255255
Protocole OSPFProtocole OSPF
LAN 1
WAN 1
WAN 2
WAN 3
LAN 2
A B C
G
H
I J
E FD
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 256256
Protocole OSPF : détailsProtocole OSPF : détails
Un des objectifs est le support des grands Un des objectifs est le support des grands réseaux :réseaux :éviter des grosses tables de routageéviter des grosses tables de routage
Solution :Solution :division du réseau en régions (areas)division du réseau en régions (areas) région backbone : cœur du réseaurégion backbone : cœur du réseau
tous les routeurs connectés à deux areas ou plus en tous les routeurs connectés à deux areas ou plus en font partiefont partie
toutes les autres areas doivent se connecter au toutes les autres areas doivent se connecter au backbonebackbone
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 257257
Protocole OSPF : détailsProtocole OSPF : détails
Le routage doit permettre de n’importe quelle Le routage doit permettre de n’importe quelle area vers une autre à travers le backbonearea vers une autre à travers le backbone
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 258258
Protocole OSPF : fonctionnementProtocole OSPF : fonctionnement
OSPF = protocole avec états de liaisonOSPF = protocole avec états de liaisondémarrage d’un routeurdémarrage d’un routeur
envoi de messages HELLO pour découvrir ses voisins envoi de messages HELLO pour découvrir ses voisins et construire la topologieet construire la topologie
mise à jour des tables de routages :mise à jour des tables de routages :envoi de LSPs :envoi de LSPs :
acquits, numéros de séquence et âgeacquits, numéros de séquence et âgeenvoi périodique et lorsque une ligne change fortementenvoi périodique et lorsque une ligne change fortement
database description :database description :indique les numéros de séquence des différents LSP indique les numéros de séquence des différents LSP
stockés par le routeurstockés par le routeurutile lorsqu’une ligne ou un routeur deviennent actifsutile lorsqu’une ligne ou un routeur deviennent actifs
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 259259
Protocole OSPF : fonctionnementProtocole OSPF : fonctionnement
link state request :link state request :utilisé par un routeur pour demander à un routeur utilisé par un routeur pour demander à un routeur
adjacent un LSP particulieradjacent un LSP particulier
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 260260
Protocole OSPF : fonctionnementProtocole OSPF : fonctionnement
Problème :Problème :comment représenter un réseau local sous la comment représenter un réseau local sous la
forme d’un graphe ?forme d’un graphe ?
R1 : 192.168.4.1 R1 : 192.168.4.31R1 : 192.168.4.21R1 : 192.168.4.11
192.168.4.11 192.168.4.31
192.168.4. 1
192.168.4.21
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 261261
Protocole OSPF : fonctionnementProtocole OSPF : fonctionnement
Inconvénients :Inconvénients :beaucoup de lignes à inclure dans le graphebeaucoup de lignes à inclure dans le graphebeaucoup de message HELLO :beaucoup de message HELLO :
topologie complexetopologie complexe
ne représente pas vraiment la réalité :ne représente pas vraiment la réalité :si le LAN tombe en panne :si le LAN tombe en panne :
toutes les lignes entre routeurs tombent en panne égalementtoutes les lignes entre routeurs tombent en panne également
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 262262
Protocole OSPF : fonctionnementProtocole OSPF : fonctionnement
Comment réduire la taille du graphe ?Comment réduire la taille du graphe ? représenter le réseau local comme un nœud représenter le réseau local comme un nœud
virtuel autour auquel tous les routeurs sont virtuel autour auquel tous les routeurs sont connectés :connectés :routeur désigné :routeur désigné :
il y a toujours un et un seul routeur désigné par LAN (dialogue il y a toujours un et un seul routeur désigné par LAN (dialogue avec l’extérieur)avec l’extérieur)
routeur adjacentrouteur adjacent
192.168.4.11 192.168.4.31
192.168.4. 1
192.168.4.21
LAN
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 263263
Protocole OSPF : fonctionnementProtocole OSPF : fonctionnement
R1 R2 R3
R4DR5
AREA 1
R7 R8
R10DR9
AREA 2
RA
RB
RCAREA 0
Intérieur d’une area :• distribution de la topologie de l’area• les routeurs ne connaissent rien de la
topologie des autres areas• chaque routeur sait commentrejoindre le backbone
Intérieur du backbone :• distribution de la topologie du
backbone• chaque routeur sait joindre les
areas• propagation des routes inter-
areas
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 264264
BGP : routage interdomaineBGP : routage interdomaine
BGP : Border Gateway ProtocolBGP : Border Gateway Protocol Objectif :Objectif :
déterminer les routes entre AS, tout en permettant de déterminer les routes entre AS, tout en permettant de spécifier des politiques de routage :spécifier des politiques de routage :
exemples :exemples : Belgacom refuse de faire transiter du trafic destiné à France Telecom Belgacom refuse de faire transiter du trafic destiné à France Telecom
mais accepte le trafic destiné à WINmais accepte le trafic destiné à WIN le trafic entre deux bâtiments de Microsoft ne doit jamais passer par le trafic entre deux bâtiments de Microsoft ne doit jamais passer par
un bâtiment d’IBMun bâtiment d’IBM
les politiques de routage sont aujourd’hui spécifiées les politiques de routage sont aujourd’hui spécifiées manuellement dans chaque routeur :manuellement dans chaque routeur :
politique routage = choix stratégiquepolitique routage = choix stratégique Elles ne font par partie du protocole BGPElles ne font par partie du protocole BGP
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 265265
BGP : routage interdomaineBGP : routage interdomaine
Routage hiérarchiqueRoutage hiérarchiquePour BGP, l’Internet se résume aux différents Pour BGP, l’Internet se résume aux différents
AS et aux routeurs se trouvant au bord de ces AS et aux routeurs se trouvant au bord de ces AS :AS :BGP ne connaît pas le détail interne de la BGP ne connaît pas le détail interne de la
topologie de chaque AStopologie de chaque ASDeux routeurs BGP directement connectés Deux routeurs BGP directement connectés
s’échangent les informations de routage de s’échangent les informations de routage de façon fiable (protocole TCP)façon fiable (protocole TCP)
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 266266
Types de réseauxTypes de réseaux
Transit ISP (AS100)
AS1
StubASY
AS5
AS4
StubAS9
AS3
AS7
AS6
AS2
IX1IX2
AS100 : Réseau de transitaccepte les paquets de et vers n’importe quelle destination
AS9 : Réseau stubréseau connecté à un
seul AS
AS4 : Réseau multi-homedréseau connecté à plusieurs AS mais ne permet pas le transit.
Seuls les paquets de ou vers des adresses IP de ce réseau sont
acceptés
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 267267
BGPBGP
Principe de fonctionnement :Principe de fonctionnement : routage avec vecteurs de distance :routage avec vecteurs de distance :
chaque vecteur contient le chemin complet (liste d’AS) chaque vecteur contient le chemin complet (liste d’AS) et pas seulement l’adresse de la destinationet pas seulement l’adresse de la destination
chaque AS choisit lui-même la route qu’il utilise chaque AS choisit lui-même la route qu’il utilise sur base des vecteurs de distance reçus :sur base des vecteurs de distance reçus :la route choisie n’est pas nécessairement la plus courtela route choisie n’est pas nécessairement la plus courte
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 268268
BGPBGP
Avantage :Avantage :permet d’éviter les problèmes du vecteur de permet d’éviter les problèmes du vecteur de
distance :distance :possible de détecter les boucles lorsque l’on connaît le possible de détecter les boucles lorsque l’on connaît le
chemin completchemin complet
permet de connaître les AS par lesquels un permet de connaître les AS par lesquels un paquet passera avant d’paquet passera avant d’ arriver à la arriver à la destination :destination :nécessaire pour supporter du routage politiquenécessaire pour supporter du routage politique
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 269269
BGP : exempleBGP : exempleRouting table
AS3 : SudAS2 : EstAS5 : Est [AS2-AS5]AS4 : Est [AS2-AS4]
Routing table
AS1 : Ouest [AS2-AS1]AS2 : OuestAS3 : Est [AS2-AS4-AS3]AS4 : Sud-Ouest
Routing table
AS3 : Sud [AS4-AS3]AS1 : OuestAS5 : EstAS4 : Sud
Routing table
AS3 : OuestAS2 : NordAS5 : Nord-EstAS1 : Nord [AS2-AS1]
AS1 AS2 AS5
Routing table
AS4 : EstAS1 : NordAS5 : Nord [AS1-AS2-AS5]AS2 : Nord [AS1-AS2]
DAS3 AS4
AS2 : AS2AS1 : AS2-AS1AS5 : As2-AS5AS3 : AS2-AS1-AS3 AS5 : AS5
AS2 : As5-AS2AS1 : AS5-AS2-AS1AS4 : Sud-Ouest
AS3 : AS3AS1 : As3-AS1AS5 : AS3-AS1-AS2-AS5AS2 : AS3-AS2-AS1
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 270270
BGP : exemple BGP : exemple
Un routeur BGP annonce aux routeurs extérieurs les sous-Un routeur BGP annonce aux routeurs extérieurs les sous-réseaux qui peuvent être atteints via lui :réseaux qui peuvent être atteints via lui :
199.19.0.0/24199.19.0.0/24 192.168.0.0/16192.168.0.0/16 194.100.0.0/23194.100.0.0/23
AS30
AS20
199.19.0.0/24
194.100.1.0/24
192.168.0.0/16
194.100.0.0/24
AS10
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 271271
BGP : exempleBGP : exemple
Transit124.0.0.0/8
AS100
AS300Multihomed11.0.0.0/8
AS400Stub
194.199.10.0/24
AS200Transit
192.168.0.0/16
• Choix de la meilleure route :
1. éliminer les routes interdites par la politique de routage2. route la plus courte (# d’AS intermédiaires)3. si plusieurs routes de même longueur, choix d’une d’entres elle
suivant un critère quelconque
11.0.0.0/8 : AS100-AS300124.0.0. : AS100
11.0.0.0/8 : AS300
11.0.0.0/8 : AS300
194.199.10.0/24 : AS400
192.168.0.0/16 : AS20011.0.0.0/8 : AS300124.0.0.0/8 : AS200-AS100
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 272272
Politiques de routagePolitiques de routage
Support des politiques de routage :Support des politiques de routage :chaque routeur BGP choisit quelles routes il chaque routeur BGP choisit quelles routes il
annonce aux AS voisins :annonce aux AS voisins :tous les AS voisins ne reçoivent pas nécessairement les tous les AS voisins ne reçoivent pas nécessairement les
mêmes routesmêmes routespermet de contrôler le trafic qu’un AS acceptepermet de contrôler le trafic qu’un AS accepte
chaque routeur BGP choisit parmi toutes les chaque routeur BGP choisit parmi toutes les routes qu’il a reçu de l’extérieur celle qui est la routes qu’il a reçu de l’extérieur celle qui est la meilleure :meilleure :permet de contrôler quelle direction prend le trafic qui permet de contrôler quelle direction prend le trafic qui
sort d’un ASsort d’un AS
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 273273
Politique de routage : exemplePolitique de routage : exemple
Transit
WIN20.0.0.0/8
Belgacom22.0.0.0/8
France Telecom21.0.0.0/8
Annonce :20.0.0.0/8
Annonce :22.0.0.0/8 ; 20.0.0.0/8
Annonce :22.0.0.0/8 ; 20.0.0.0/8
Annonce : 21.0.0.0/8
Annonce :21.0.0.0/8
Annonce : 20.0.0.0/8 Annonce : 21.0.0.0/8 ; 22.0.0.0/8
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 274274
Interactions OSPF - BGPInteractions OSPF - BGP
A l’intérieur d’un AS :A l’intérieur d’un AS :OSPF distribue la topologie interneOSPF distribue la topologie interneBGP choisit le meilleur chemin interdomaine vers BGP choisit le meilleur chemin interdomaine vers
chaque destination externechaque destination externeQue faire si un AS a plusieurs liens externes ?Que faire si un AS a plusieurs liens externes ?
les routeurs connectés à ces liens doivent se les routeurs connectés à ces liens doivent se coordonner pour annoncer correctement les coordonner pour annoncer correctement les bonnes routes externes à l’intérieur de l’ASbonnes routes externes à l’intérieur de l’AS
@ Michel Carpentier - Alain Gofflot@ Michel Carpentier - Alain Gofflot 275275
Interactions OSPF - BGPInteractions OSPF - BGP
Synchronisation des routeurs externes :Synchronisation des routeurs externes :liaison iBGP interne (à l’intérieur de l’AS) entre les liaison iBGP interne (à l’intérieur de l’AS) entre les
routeurs connectés à l’extérieur :routeurs connectés à l’extérieur : permet aux routeurs de déterminer les meilleurs routespermet aux routeurs de déterminer les meilleurs routes
chaque routeur diffuse les routes passant par lui via chaque routeur diffuse les routes passant par lui via OSPF vers l’intérieur de l’ASOSPF vers l’intérieur de l’AS