Mécanismes avancés du protocole IP
Mécanismes avancés du protocole IP
Présentation des
principaux mécanismes
« avancés » de routage
Mamadou NDIAYE
IP « avancé » M. NDIAYE 1
Plan du cours
✔ Quelques rappels
q Allocation des adresses via DHCP
q Système de translation NAT / PAT
q Fonctionnement du routage : notions générales
q Les algorithmes de routage intra-domaine (IGP)
q Les algorithmes de routage inter-domaine (EGP)
IP « avancé » M. NDIAYE 2
Quelques rappels …
Principales caractéristiques du protocole IP
q Réseau IP
– Interconnexion de réseaux « physiques », via des routeurs
q Adressage IP
– Adresses distribuées par plages, suivant trois classes : A, B et C
– Une classe d’@ peut être sous-adressée = ensemble de sous-classes
– Chaque classe ou sous-classe est associée à un masque d’adresse
– Une classe ou une sous-classe est installée sur un réseau physique
– Plusieurs classes/sous-classes peuvent être installées sur un réseau physique donné
q Une @IP est codée sur 32 bits
– Sur un réseau IP, chaque équipement relié à un réseau physique possède une @IP
unique sur ce réseau physique
q La couche IP s’appuie sur une famille de protocoles
– ICMP : gestion des erreurs et administration
– ARP, RARP : gestion de la résolution des adresses
IP « avancé » M. NDIAYE 3
Quelques rappels …
Principales caractéristiques du protocole IP
q Les datagrammes sont routés indépendamment les uns des autres
– IP est un protocole en mode non connecté
– Chaque datagramme contient les informations nécessaires à son
acheminement (@émetteur, @destinataire)
– Equivalent d’un service postal
q IP est un protocole non fiable
– Les datagrammes peuvent être perdus
• Erreurs sur les réseaux physiques traversés
• Destruction par un routeur, suite à une congestion
– Les datagrammes peuvent être déséquencés ( = ne pas arriver dans l’ordre
d’émission)
q Toutes les normes du « monde IP » s’appellent des RFC (Request For
Comments)
– Par ex. : ICMP, RFC 792, 09/1981
IP « avancé » M. NDIAYE 4
Quelques rappels …
Un exemple simple
Configuration IP de la station
•@IP : [Link]
•Masque : [Link]
•Routeur par défaut : [Link]
• @IP du serveur DNS : [Link] Serveur DNS d’@ [Link]
•Domaine par défaut : [Link] C
[Link],
[Link]
A
« reste du réseau IP »
Envoi de datagrammes IP
vers « [Link] »
B
Machine de nom « [Link] » ,
[Link],[Link] et d’@ IP [Link]
[Link]
IP « avancé » M. NDIAYE 5
Quelques rappels
Récupération de l’@ IP de « [Link] »
Configuration IP de la station
B 5
[Link],[Link]
IP « avancé » M. NDIAYE 6
Quelques rappels …
Envoi des datagrammes IP vers [Link]
Configuration IP de la station
•@IP : [Link]
•Masque : [Link]
•Routeur par défaut : [Link]
• @IP du serveur DNS : [Link]
•Domaine par défaut : [Link]
B
Machine de nom « [Link] » ,
[Link],[Link] et d’@ IP [Link]
1
802.3 vers @ϕ B | IP de [Link] à [Link] | TCP | Req. http
IP « avancé » M. NDIAYE 7
q Quelques rappels
✔ Allocation des adresses via DHCP
q Système de translation NAT / PAT
q Fonctionnement du routage : notions générales
q Les algorithmes de routage intra-domaine (IGP)
q Les algorithmes de routage inter-domaine (EGP)
IP « avancé » M. NDIAYE 8
DHCP
Dynamic Host Configuration Protocol
IP « avancé » M. NDIAYE 11
Exemple de configuration
Extrait du fichier de configuration [Link]
d’un serveur dhcpd sous Unix
# allocation dynamique d’une plage d’@ IP
# indique sur quel subnet fonctionne le serveur DHCP
subnet [Link] netmask [Link] {
range [Link] [Link]; # pool d’@ IP à distribuer
option domain-name-servers [Link]; # @ IP du dns
option domain-name « [Link] »; # nom de domaine par défaut
option routers [Link]; # @ IP routeur par défaut
option subnet-mask [Link]; # masque
default-lease-time 6000;
# durée du bail attribué par le serveur au client, si le client
n’en propose pas une lui même
max-lease-time 72000;
# durée du bail max. attribué par le serveur;
}
IP « avancé » M. NDIAYE 13
Initialisation
DHCP
Scénario d’échange de messages
serveur serveur
(sélectionné) client (non sélectionné)
Renouvellement d’une @
puis libération
serveur
client
Détermine Détermine
la configuration la configuration
Retrouve la
Sélection de configuration
la configuration
…….
Accord sur
la configuration
Configuration
effectuée
IP « avancé » M. NDIAYE 14
q Quelques rappels
q Allocation des adresses via DHCP
✔ Système de translation NAT / PAT
q Fonctionnement du routage : notions générales
q Les algorithmes de routage intra-domaine (IGP)
q Les algorithmes de routage inter-domaine (EGP)
IP « avancé » M. NDIAYE 15
NAT
Network Address Translation
q Motivations
– Nombre d’@ IPv4 insuffisantes pour couvrir la
totalité des besoins
q Solutions
– Utilisation plus « rationnelle » des classes d’@
IPv4
• Redistribution des classes existantes, sous-adressage
– Technique de translation d’adresses ou NAT
– Déploiement IPv6 (adressage sur 128 bits)
IP « avancé » M. NDIAYE 16
NAT
Principe généraux
q Classes privées
– A : [Link] à [Link]
– B : [Link] à [Link]
– C : [Link] à [Link]
q Problématique : comment passer de manière
« transparente » d’une @ privée à une adresse public, et
inversement ?
Routeur réalisant
q Différentes formes de NAT un système de translation
d’adresses
– Statique
Réseaux « privés »
– Dynamique Utilisation de classes Réseau public
IP privées,
– Overloading non utilisée sur
= Internet
Internet
IP « avancé » M. NDIAYE 17
NAT statique
q Configuration d’une table fixe de translation par
l’administrateur
– @IP privée <-> @IP public
q Utile quand une station du réseau privée doit être
accessible depuis Internet
Table statique :
[Link]<->[Link] Réseau public
Réseaux « privés » [Link]<->[Link]
[Link]<->[Link]
Source :
Source :
[Link]
[Link]
IP « avancé » M. NDIAYE 18
NAT dynamique
q Translate une @IP privée en une @IP public « libre »,
choisie dans une plage d’@ configurée dans le routeur
– Les translations actives @IP privée <-> @IP public sont
conservées par le routeur dans une table
– Une @ public sort de la table et redevient libre, si aucun trafic
relatif à cette adresse n’est détecté par le routeur au bout d’un
certain temps Plage NAT dynamique
[Link] à [Link]
Table des @ allouées :
[Link]<->[Link]
Nouvelle entrée dans
Réseau public
Réseaux « privés » [Link]<->[Link] la table de translations
[Link]<->[Link]
[Link]<->[Link]
Source :
Source :
[Link]
[Link]
IP « avancé » M. NDIAYE 19
Overloading ou PAT
Port Address Translation
q Le routeur dispose d’une seule @IP public (ex. un routeur ADSL), chaque
adresse privée est translatée vers cette adresse unique
q Pour distinguer les différents flots de trafic, on translate cette fois-ci les ports
source au niveau TCP et UDP, ou le champ « identifiant » d’un message
ICMP
– Les translations actives sont conservées par le routeur dans une table
– Une entrée de la table est purgée, si aucun trafic relatif à cette entrée n’est détecté
par le routeur au bout d’un certain temps
– Le routeur traite directement les éventuels conflits de ports
– Un serveur du réseau privé peut être rendu accessible via un mécanisme de port
forwarding (par ex. tout paquet destiné au port 23 d’une station du réseau privé est
translaté vers la même @ IP)
Table de translations actives
Réseaux « privés » [Link]:1332<->[Link]:1332 Réseau public
[Link]:1447<->[Link]:1447
Paquet TCP
@IP source : [Link] Paquet TCP
@IP source : [Link]
Port TCP source : 1332
Port TCP source : 1332
Paquet TCP
@IP source : [Link] Paquet TCP
@IP source : [Link]
Port TCP source : 1447
Port TCP source : 1447
IP « avancé » M. NDIAYE 20
q Quelques rappels
q Allocation des adresses via DHCP
q Système de translation NAT / PAT
✔ Fonctionnement du routage : notions générales
✔ Routage dynamique vs. routage statique
✔ La notion de Système Autonome (AS)
✔ Routage intra-domaine et inter-domaine
✔ Mécanismes CIDR, classless vs. classfull
q Les algorithmes de routage intra-domaine (IGP)
q Les algorithmes de routage inter-domaine (EGP)
IP « avancé » M. NDIAYE 21
Notions générales
Routage statique / dynamique
q Routage statique
– Les entrées de routage sont configurées manuellement
par l’administrateur
– Convient bien à des « petites » configurations
– Difficile à faire évoluer
– Pas de prises en compte des pannes
q Routage dynamique
– Les routeurs s’échangent des messages pour
« apprendre » les routes
– Prise en compte automatique des nouvelles routes, en
cas d’extension du réseau, ou de pannes
– Les routes sont caractérisées par une métrique
IP « avancé » M. NDIAYE 22
Notions générales
Routage dynamique : un peu de vocabulaire
ASx ASy
Routeur interne
Routeur « de bord »
ou routeur frontière Routage inter-domaine = routage
ASz entre AS
IP « avancé » M. NDIAYE 25
Notions générales
Routage intra-domaine et inter-domaine
q Protocoles IGP
– Optimiser, trouver le meilleur
chemin « physique » à ASx ASy
l’intérieur de l’AS
– RIP, RIPv2, IGRP, EIGRP,
OSPF, IS-IS
q Protocole EGP
– Maintenir la connectivité entre
AS
– Sécuriser, appliquer une
politique de routage, on parle de
routage « politique » ≠ meilleur ASz
chemin physique
– Mécanisme d’annonces de Ex de routage « politique » : ASy peut refuser
routes = ASx déclare à ASy le trafic venant directement de ASx, et qui n’a
« les routes qu’il veut rendre pas transité par ASz (bien qu’un chemin
accessibles » pour ASy « plus direct » existe)
– EGP, BGPv4, MP-BGP
IP « avancé » M. NDIAYE 27
Notions générales
Partage des adresses IP sur cinq niveaux
1. IANA (Internet Assigned Number Authority)
• Entité au niveau mondial qui a la plus haute autorité pour le
partage des @ IP
• Distribue des groupes d’@ IP à quatre organismes régionaux
2. APNIC (Asie et Pacifique), ARIN (Amérique du Nord et
Afrique du Nord), LACNIC (Amérique du sud) et RIPE
(Europe, Moyen Orient, Asie Centrale)
3. Les AS reçoivent les @ IP de leur base régionale
• Il n’est généralement pas nécessaire pour une entreprise de
monter un AS pour fournir des services Internet, à moins d’avoir
à gérer un trafic très dense !
• Coûts élevés de mise en œuvre et de gestion du réseau
4. « Fournisseurs Internet », au sens large (ISP) !
5. Puis l’utilisateur final, qui reçoit son ou ses @ IP du
fournisseur
IP « avancé » M. NDIAYE 28
Notions générales
Ex. d’interrogation de la base du RIPE
[bidule:~] fweis% whois -h [Link] [Link] route: [Link]/16
% This is the RIPE Whois server. descr: RENATER
% The objects are in RPSL format. descr: Universite Pierre et Marie Curie
% descr: 4 place Jussieu 75252 PARIS CEDEX 05
% Rights restricted by copyright. descr: FRANCE
% See [Link] origin: AS2200
mnt-by: RENATER-MNT
inetnum: [Link] - [Link] changed: RenSVP@[Link] 19991008
remarks: source: RIPE
remarks: This inetnum has been transfered as part of the ERX.
remarks: It was present in both the ARIN and RIPE databases, so person: Roger Negaret
remarks: the information from both databases has been merged. address: Universite de Rennes 1, CRI
remarks: If you are the mntner of this object, please update it address: Campus de Beaulieu, Avenue du General Leclerc
remarks: to reflect the correct information. address: 35042 Rennes Cedex, France
remarks: phone: +33 2 23 23 71 49
remarks: Please see the information for this process: e-mail: [Link]@[Link]
remarks: [Link] nic-hdl: RN252-RIPE
remarks: mnt-by: RENATER-MNT
remarks: **** INFORMATION FROM ARIN OBJECT **** changed: rensvp@[Link] 19970416
remarks: netname: VERDUR-E changed: rensvp@[Link] 20030103
descr: Centre Interuniversitaire de Calcul de Bretagne (CICB) source: RIPE
descr: Campus de Beaulieu
descr: 35042 Rennes Cedex person: Odile Germes
remarks: country: FR address: Universite de Rennes 1
admin-c: OG238-RIPE address: CRI - Campus de Beaulieu,
tech-c: OG238-RIPE address: 35042 RENNES-cedex,
remarks: changed: hostmaster@[Link] 19910409 address: FR
remarks: changed: hostmaster@[Link] 19980410 phone: +33 2 99 84 71 31
remarks: **** INFORMATION FROM RIPE OBJECT **** e-mail: hostmaster@[Link]
netname: VERDUR-E nic-hdl: OG238-RIPE
descr: Centre Interuniversitaire de Calcul de Bretagne mnt-by: RIPE-ERX-MNT
descr: Universite de Rennes I changed: hostmaster@[Link] 19980410
descr: Campus de Beaulieu, Avenue du General Leclerc, 35042 Rennes CEDEX, France changed: hostmaster@[Link] 19980410
country: FR changed: er-transfer@[Link] 20031003
admin-c: RN252-RIPE source: RIPE
tech-c: RN252-RIPE
status: ASSIGNED PA
mnt-by: RENATER-MNT
changed: ripe-dbm@[Link] 19990706
changed: ripe-dbm@[Link] 20000225
changed: rensvp@[Link] 20020328
changed: er-transfer@[Link] 20031030
changed: ripe-dbm@[Link] 20040430
source: RIPE
IP « avancé » M. NDIAYE 29
Notions générales
CIDR : Classless Inter-domain Routing (1)
q Différents problèmes
– Pratiquement plus de classes B disponibles
– Espace d’adressage IPv4 en cours d’épuisement
– Croissance très rapide de la taille des tables de routage
• Problème crucial en routage inter-domaine : de plus en plus de routes à
annoncer entre les AS
q CIDR
– Supprime l’usage des classes A, B, C : on parle de classless
– Toutes les adresses réseaux sont annoncées avec un masque qui peut être
de taille arbitraire, par ex. /9 indique que les 9 premiers bits de l’@
désigne le numéro de réseau
– Les routeurs ne se basent plus sur les trois premiers bits de chaque @ pour
déterminer la classe du réseau (=classfull), seul le préfixe fait loi
q Avant CIDR
– 256 classes C consécutives = 256 routes annoncées !
q Avec CIDR
– [Link]/15 offre un nombre d’@ équivalent à 512 classes C (217 @)
IP « avancé » M. NDIAYE 30
Notions générales
CIDR : Classless Inter-domain Routing (2)
IP « avancé » M. NDIAYE 32
RIP : algorithme + protocole
« vecteur distance »
q S’appuie sur l’échange d’information entre routeurs adjacents = deux
routeurs connectés via une liaison directe = voisins directs, sans
routeur intermédiaire
– Très simple à mettre en œuvre sur un réseau local (par ex. Ethernet)
q Chaque routeur connaît initialement le coût de ses propres liaisons
– Métrique simple : coût = 1 ou one hop
– Métrique d’une route = nombre de routeurs à traverser pour atteindre la
destination
q Chaque routeur diffuse vers les routeurs adjacents la liste des routes
qu’il connaît (=protocole)
q Puis chaque routeur calcule localement les meilleurs routes, sur la base
des informations récoltées (=algorithme)
☞ Apprentissage progressif de toutes les routes
IP « avancé » M. NDIAYE 33
Algorithme « vecteur distance »
Envoi d’une route
q Format d’une route reçue
@réseau destination + masque + métrique Route envoyée par @routeur,
(@ routeur adjacent + interface de sortie sont implicitement connues par le routeur qui reçoit la route) Reçue sur interface ifx
Destination RA. Int. Métr. Destination RA. Int. Métr. Destination RA. Int. Métr.
[Link] - IF1 0 [Link] - IF1 0 [Link] - IF1 0
[Link] - IF2 0 [Link] - IF2 0 [Link] - IF2 0
Destination RA. Int. Métr. Destination RA. Int.Métr. Destination RA. Int. Métr.
[Link] - IF1 0 [Link] - IF1 0 [Link] - IF1 0
[Link] - IF2 0 [Link] - IF2 0 [Link] - IF2 0
[Link] [Link] IF2 1 [Link] [Link] IF1 1 [Link] [Link] IF1 1
[Link] [Link] IF2 1
IP « avancé » M. NDIAYE 35
Exemple (2)
[Link],0 [Link],0
[Link],0 [Link],0 [Link],0 [Link],0 [Link],0 [Link],0
[Link],0 [Link],0 [Link],1 [Link],1 [Link],0 [Link],0
[Link],1 [Link],1 [Link],1 [Link],1 [Link],1 [Link],1
Destination RA. Int. Métr. Destination RA. Int.Métr. Destination RA. Int. Métr.
[Link] - IF1 0 [Link] - IF1 0 [Link] - IF1 0
[Link] - IF2 0 [Link] - IF2 0 [Link] - IF2 0
[Link] [Link] IF2 1 [Link] [Link] IF1 1 [Link] [Link] IF1 1
[Link] [Link] IF2 2 [Link] [Link] IF2 1 [Link] [Link] IF1 2
Destination RA. Int. Métr. Destination RA. Int.Métr. Destination RA. Int. Métr.
[Link] - IF1 0 [Link] - IF1 0 [Link] - IF1 0
[Link] - IF2 0 [Link] - IF2 0 [Link] - IF2 0
[Link] [Link] IF2 1 [Link] [Link] IF1 1 [Link] [Link] IF1 1
[Link] [Link] IF2 2 [Link] [Link] IF2 1 [Link] [Link] IF1 2
Régime stable
IP « avancé » M. NDIAYE 36
RIP
Périodicité des échanges
IP « avancé » M. NDIAYE 38
RIP : problème de convergence (2)
[Link],1 [Link],1 [Link],1
[Link],1 [Link],1 [Link],1
[Link],2 [Link],2 [Link],2
[Link],5 [Link],5 [Link],4
IP « avancé » M. NDIAYE 39
Technique de « l’horizon
coupé » (1)
Split horizon
q Utilisé pour accélérer le problème de
convergence présenté précédemment
– On interdit à un routeur d’envoyer une route à
un routeur adjacent quand cette route passe par
ce routeur adjacent
Le routeur ne reçoit plus de message RIP
[Link],1 [Link],1 [Link],1 depuis 3 min. La route est déclarée inaccessible,
[Link],1 [Link],1 [Link],1 et n’est plus diffusée
[Link],2 [Link],2 [Link],2
[Link],3 [Link],3
IP « avancé » M. NDIAYE 40
Technique de « l’horizon
coupé » (2)
Split horizon
IP « avancé » M. NDIAYE 44
q
Format d’un message RIPv2
Domaine de routage
– Numéro de plan de routage
permettant de créer une 0 7-8 15-16 31 bits
partition au sein des Commande Version = 2 Domaine de routage
routeurs ; un routeur ne
prend en considération que
les messages RIP venant de Identificateur de la famille d’@ = Route tag
son domaine de routage
2 ou 0xFFFF
q Route tag
– Utilisé pour distinguer les @ de destination
IP « avancé » M. NDIAYE 46
EIGRP
Enhanced Interior Gateway Routing Protocol
IP « avancé » M. NDIAYE 48
q Quelques rappels
q Allocation des adresses via DHCP
q Système de translation NAT / PAT
q Fonctionnement du routage : notions générales
✔ Les algorithmes de routage intra-domaine (IGP)
✔ Les algorithmes « vecteur distance » (distant vector)
✔ RIP, RIPv2, IGRP, EIGPR
✔ Les algorithmes « état de lien » (link state)
✔ OSPF
q Les algorithmes de routage inter-domaine (EGP)
IP « avancé » M. NDIAYE 49
Etat de lien vs. vecteur distance (1)
q Dans les protocoles à vecteur distance, le calcul
des routes s’appuie sur une vision « locale » du
réseau (= état du lien connecté au routeur)
– Convergence lente
– Existence de boucles de routage en cas de
reconfiguration
– Peu adapté à de grandes configuration réseau
[Link] [Link] [Link]
…….
?
Destination RA. Int. Métr.
[Link] - IF1 1
[Link] - IF2 1 État des liens traversés inconnu
[Link] [Link] IF2 9
IP « avancé » M. NDIAYE 50
Etat de lien vs. vecteur distance (2)
q Solution : protocole à état de lien
– Chaque routeur possède une base de données qui
rassemble l’état de tous les liens du réseau
– Grâce à cette connaissance fine de l’état de tous les
liens, chaque routeur peut calculer rapidement sa table
de routage, s’adapter à des reconfigurations réseaux
(pannes, redémarrage, extension du réseau …)
État de tous
les liens du réseau
lien
IP « avancé » M. NDIAYE 51
OSPF
Open Shortest Path First
q Un protocole (Hello, échange, inondation) + un algorithme (SPF)
q Chaque routeur possède une base de données résumant l’état des liens
du réseau
– = Link state routing
q Chaque routeur exécute l’algorithme SPF (Dijkstra) pour calculer les
tables de routage, en utilisant les données de sa base
– Permet de déterminer localement le plus court chemin vers chaque
destination du réseau
q Convergence plus rapide que RIP
q Adapté à des configurations de taille importante
– S’appuie sur une vision hiérarchique et évolutive des réseaux
– Un ensemble de zones (area) interconnectés à une zone backbone
q Peut fonctionner sur des réseaux à diffusion (par ex. Ethernet), et sur
des réseaux sans diffusion (par ex. Frame Relay)
IP « avancé » M. NDIAYE 52
Protocole OSPF
Repose sur trois « sous-protocoles »
1. Hello
– Identification des voisins immédiats (= routeurs
connectés via un lien physique), et évaluation de l’état
des liens du routeur
3. Echange
– Echange de l’état des liens, afin d’initialiser au
niveau de chaque routeur sa base d’état de liens
5. Inondation
– Utilisé quand l’état d’un lien du réseau a changé ou
périodiquement, permet une mise à jour rapide des
bases de données sur l’ensemble des routeurs
IP « avancé » M. NDIAYE 53
Protocole Hello
q Message court envoyé périodiquement par un routeur sur
toutes ces interfaces, afin de vérifier l’état de ces liens
q Principaux paramètres d’un message Hello
– Router ID : plus grande @IP de l’interface qui envoie le message
– Hello interval : période des envois de messages Hello (10 s)
– Dead interval : temps au bout duquel le routeur considère un
voisin comme mort, s’il n’a pas reçu de message Hello (40 s)
– Neighbor : liste des @IP des routeurs voisins que le routeur a
reconnu via des échanges de messages Hello
– Area : numéro de la zone à laquelle appartient le routeur (cf. suite)
– Router priority : priorité du routeur (cf. suite), utilisé pour
l’élection du DR et du BDR
– DR et BDR : @IP du routeur élu et du routeur de secours (cf.
suite), s’ils existent
IP « avancé » M. NDIAYE 54
Notion de routeurs « adjacents »
q Des routeurs sont dits adjacents s’ils ont
les mêmes valeurs ( = la même vision de
l’état du réseau) dans leur base d’état de
lien
– Les bases sont « synchronisées »
q Les routeurs voisins s’envoient chacun
des messages Hello, pour s’assurer de
Message Hello
leur présence « mutuelle », et de l’état
du lien les reliant
q Les routeurs peuvent ensuite construire
une relation d’adjacence, en diffusant
l’état de leurs liens, via le protocole
d’échange Echange des états
de lien
IP « avancé » M. NDIAYE 55
Protocole d’échange
q Ce protocole est utilisé pour l’initialisation des bases, après une exécution
« mutuellement » réussi du protocole Hello
q Le routeur place l’état de tous ces liens dans des messages LSAs (Link State
Advertisement)
q Une entrée LSA contient principalement
– @ IP du routeur
– Le coût de la liaison avec un voisin immédiat
– Un numéro de séquence (qui permet de dater l’information d’état du lien)
q Le protocole d’échange permet à l’ensemble des routeurs de s’échanger des
messages LSAs, afin de synchroniser leur base, et de posséder une vue
d’ensemble du réseau
– Des routeurs possédant des bases synchronisées sont dits « adjacents »
– A la fin du processus d’échange, tous les routeurs doivent avoir la même base
d’état de lien
– Ils passent alors au statut FULL
– Un routeur qui n’a échangé aucune information avec aucun autre routeur a le statut
DOWN
q Une fois la base synchronisée, le routeur exécute l’algorithme SPF pour
calculer ses tables de routage
q Par la suite, c’est le protocole d’inondation qui est utilisé
IP « avancé » M. NDIAYE 56
Protocole d’inondation
flooding
IP « avancé » M. NDIAYE 57
Utilisation d’un routeur élu (1)
DR : Designated Router
q La diffusion des messages LSAs via les protocoles
d’échange et d’inondation, génère beaucoup de
charge sur le réseau
q Objectif : réduire le trafic des mises à jour des
informations de routage
– N routeurs -> N*(N-1) / 2 relations d’adjacences !
q Solution : utiliser un « routeur élu » (DR), et un
« routeur élu de secours » (BDR : Backup DR)
– Sur chaque réseau physique (ex. Ethernet, Frame
Relay), on désigne un DR et un BDR
– Pour effectuer cette élection, les routeurs comparent
leur priorité respective durant l’échange des messages
Hello
IP « avancé » M. NDIAYE 58
Utilisation d’un routeur élu (2)
Contenu d’un message Hello
IP « avancé » M. NDIAYE 59
Fonctionnement (1)
q Le routeur élu agit comme un « point central » de contact pour l’envoi
des messages LSAs
– Les routeurs envoie leur information d’état de lien au DR
– Le DR diffuse ces informations à l’ensemble des routeurs
q Avantages
– Moins de messages échangés lors de l’exécution du protocole d’échange
et d’inondation
– Les bases sont synchronisées beaucoup plus facilement : un routeur est
adjacent du seul DR
DR
IP « avancé » M. NDIAYE 60
Fonctionnement (2)
q Sur une ligne « point-à-point » connectant deux routeurs,
une telle élection ne sert à rien
– Pas de DR et de BDR
q Le BDR remplit les tâches du DR, si ce dernier tombe en
panne
– BDR = routeur ayant la seconde priorité, après le DR
– Si le DR ne répond pas assez rapidement aux messages du BDR, le
BDR le remplace, et un nouveau BDR est élu
q La priorité associée à chaque routeur peut être modifiée
par l’administrateur
– Possibilité de forcer l’élection, afin de désigner un routeur plus
puissant, à même de supporter la charge induite par la fonction de
DR
– Sur un routeur Cisco : ip ospf priority number
IP « avancé » M. NDIAYE 61
Résumé
1. Au démarrage, identification de ces voisins, et élection éventuelle
d’un DR et BDR sur chaque réseau (protocole Hello)
2. Formation d'une adjacence (les routeurs échangent leur LSAs avec
le DR) entre chaque routeur et le DR (protocole d’échange)
ü Le DR transmet alors une base synchronisée à chaque routeur
ü Chaque routeur à l’état FULL
3. Exécution de l’algorithme SPF au niveau de chaque routeur ayant
l’état FULL : calcul des tables de routage
PUIS (en parallèle)
4a. Echange périodique de messages Hello, pour vérifier l’état des
liens, et modifier si besoin le DR et le BDR
4b. Echange périodique de LSA, ou mise à jour suite à un changement
d’état (protocole de flooding)
IP « avancé » M. NDIAYE 62
Découpage en zones (1)
q Problème
– Les protocoles utilisés par OSPF génèrent
beaucoup de charge sur le réseau
– L’algorithme SPF utilisé pour le calcul des
routes est gourmand en ressource processeur
☞Le réseau géré via OSPF ne peut pas
dépasser une certaine taille (50 routeurs)
q On découpe le réseau en zones (area)
IP « avancé » M. NDIAYE 63
Découpage en zones (2) Base d’état de lien pour la zone x
ZONE y
IP « avancé » M. NDIAYE 64
Découpage en zones (3)
Prise en compte de l’intra-area et inter-area dans la base de données
IP « avancé » M. NDIAYE 66
Zones principales et secondaires (2)
Structure hiérarchique d’un réseau OSPF
Area 0 (backbone)
ABR ABR
Zone secondaire
Tous les nœuds ont une vue
complète du réseau (routage
intra-area et inter-area) et
calculent toutes les routes pour
Routeur interne
l’ensemble du réseau
Area 1 Area 2
Aide secondaire
IP « avancé » M. NDIAYE 67
Zones principales et secondaires (3)
Rôle d’un ASBR
ASBR
Area 0 (backbone)
ABR ABR
IP « avancé » M. NDIAYE 68
Zones principales et secondaires (4)
Structure hiérarchique d’un réseau OSPF
Area 0 (backbone)
IP « avancé » M. NDIAYE 69
OSPF en résumé
q Routage intra-domaine, par état de lien (link state)
q Messages OSPF encapsulés directement dans IP (protocole numéro 89)
q Utilisation d’@ multicast
– [Link] pour le DR et le BDR
– [Link] pour les autres routeurs
q Pas de limitation du nombre de routeurs
q Support théorique de métriques multiples, fonction de paramètres
multiples
– Débit, délai, coût, fiabilité
– Capable d’utiliser les critères du champ TOS d’un datagramme IP
– Permet de gérer plusieurs routes pour une même destination
q Valeur de la métrique par défaut
– 108 / débit max. en b/s
• Lien Ethernet, coût = 10
• Ligne série à 56kb/s, coût = 1785
q Authentification possible des routeurs
– Mot de passe en clair
– Mot de passe crypté
IP « avancé » M. NDIAYE 70
q Quelques rappels
q Allocation des adresses via DHCP
q Système de translation NAT / PAT
q Fonctionnement du routage : notions générales
q Les algorithmes de routage intra-domaine (IGP)
✔ Les algorithmes de routage inter-domaine
(EGP)
✔ Protocole EGP
✔ Protocole BGP
IP « avancé » M. NDIAYE 71
Routage inter-domaine
q Routage inter-domaine ou EGP
– Routage entre AS, maintien de la connectivité entre AS
– Mise en œuvre d’un routage « politique » via un mécanisme
d’annonce de routes
– En annonçant une route à un AS, on la rend accessible à cet
AS
q Deux protocoles de type EGP
– EGP : Exterior Gateway Protocol
• Simple, obsolète, de moins en moins utilisé
• Repose sur une architecture fortement hiérarchisée d’un réseau IP
– BGP : Border Gateway Protocol
• Version 4 la plus récente, supporte notamment l'agrégation CIDR et
des architectures d’interconnexion d’AS complexes
IP « avancé » M. NDIAYE 72
EGP (1)
Caractéristiques
q EGP (RFC 904)
– Un des premiers protocoles de
routage inter-domaine entre le cœur
ARPANET, et les réseaux connectés Réseau fédérateur
« périphériques » connectés à ce cœur As w
q Ne peut être utilisé qu’avec une
topologie fortement
« hiérarchisée »
– Un réseau fédérateur, interconnectant
des AS périphériques via un routeur
unique AS x AS y AS z
– Topologie en étoile
☞ Repose sur une vision ancienne et
maintenant obsolète de ce qu’est
un réseau IP
IP « avancé » M. NDIAYE 73
EGP (2)
Caractéristiques
IP « avancé » M. NDIAYE 74
EGP (3)
Caractéristiques
IP « avancé » M. NDIAYE 75
Fonctions principales d’EGP
q Acquisition d’un routeur voisin
– Envoi d’une demande d’acquisition
– En retour, acceptation ou refus
– Permet de négocier la périodicité des messages Hello,
et le routeur (actif) qui enverra ces mêmes messages
(vers le routeur passif)
q Test périodique sur l’accessibilité d’un voisin
– Requête Hello
– En retour, I-H-U (I hear you)
q Accessibilité des routes
– Un routeur demande périodiquement à son voisin de lui
communiquer la liste des routes qu’il connaît
IP « avancé » M. NDIAYE 76
Exemple de configuration
Commandes IOS Cisco
IP « avancé » M. NDIAYE 77
q Quelques rappels
q Allocation des adresses via DHCP
q Système de translation NAT / PAT
q Fonctionnement du routage : notions générales
q Les algorithmes de routage intra-domaine (IGP)
✔ Les algorithmes de routage inter-domaine
(EGP)
✔ Protocole EGP
✔ Protocole BGP
IP « avancé » M. NDIAYE 78
BGP : principes (1)
q Routeur participant à des échanges BGP inter-domaine = AS
Border Router ou ASBR
q Etablissement d’une session BGP entre deux routeurs
voisins
– Association des ASBR en point à point
– Utilisation du protocole de transport fiable TCP (port 179)
– Encapsulation : IP | TCP | BGP
– Les messages BGP s’échangent entre routeurs voisins au dessus
d’une connexion TCP
ASBR
(AS Border
Router) Session BGP
IP « avancé » M. NDIAYE 79
BGP : principes (2)
q Un ASBR peut établir des
sessions BGP avec plusieurs AS 1023 AS 744
ASBR
q Il se peut qu’un AS ne soit
qu’un lieu de passage (AS « de
transit ») d’un AS vers un autre AS 1400
– Les routes annoncées
consistent donc en une liste de
paires n°réseau / n°AS AS 1023 AS 744
– Le chemin vers l’AS contient
la liste des AS à traverser et les
numéros de réseau à utiliser
– La métrique de BGP permet à
l’administrateur de donner un
degré de préférence pour un
chemin donné AS 1400
IP « avancé » M. NDIAYE 80
Annonce des routes
Support du CIDR
[Link]
[Link]
[Link]
IP « avancé » M. NDIAYE 81
Messages BGP
Sur chaque session BGP (entre deux
routeurs), quatre types différents de
messages BGP sont échangés
IP « avancé » M. NDIAYE 85
Mise à jour (2)
Principaux attributs utilisés dans la deuxième partie du message
q ORIGIN : IGP, EGP, incomplète
– IGP : la route annoncée provient du même AS que le routeur annonceur
– EGP : la route annoncée a été apprise via un autre protocole inter-domaine
– Incomplète : la route annoncée a été apprise d’une autre manière (via une
configuration statique par exemple)
– Pour la sélection des routes : IGP < EGP < incomplète
q AS_PATH : liste des AS déjà traversés
q NEXT_HOP : @IP du routeur adjacent qui permet d’atteindre le réseau
annoncé (il s’agit généralement du routeur qui fait l’annonce)
q Les autres attributs sont optionnels, par ex. MULTI_EXT_DISC (MED) :
permet d’indiquer une préférence pour une route, dans le cas où il existe
plusieurs routes (= plusieurs routeurs) vers un AS donné
– Plus la valeur est petite, plus la route est préférée
– Attribut non transitif = non propagé vers les autres routeurs
IP « avancé » M. NDIAYE 86
Mise à jour (3)
q Partant des routes et des attributs associés, le
routeur construit trois tables ou RIB (Routing
Informations Base)
– Adj-RIB In : informations reçues, ne nécessitant pas de
calcul
– Adj-RIB Out : informations à propager via BGP,
classées par routeur destination
– Loc-RIB : sélection des routes par le routeur (calcul de
routes, en utilisant l’attribut MED par exemple)
IP « avancé » M. NDIAYE 87
Détection des boucles
Utilisation de l’attribut AS_PATH
AS 1023
IP « avancé » M. NDIAYE 88
Notification
q Message émis quand une erreur est détectée
– La session BGP entre les deux routeurs est
immédiatement fermée
q Exemples de cause de notification
– Collision de connexion, les deux routeurs voisins
essaient d’ouvrir une session BGP en même temps
– Version du protocole BGP non supportée
– Echec de la procédure d’authentification
– Boucle dans le chemin d’AS
– …
IP « avancé » M. NDIAYE 89
Exemple de quelques commandes
IOS Cisco
IP « avancé » M. NDIAYE 90
Rôle de iBGP (1)
internal BGP
q Dans un AS, on a souvent plusieurs ASBR qui ont une
session BGP avec d’autres AS
– Par exemple dans le cas d’un AS géographiquement étendu
q Ces routeurs BGP doivent être synchronisés entre-eux
– On établit des sessions BGP entre ces routeurs = iBGP
– Par opposition, session BGP entre deux routeurs voisins
appartenant à des AS différents = eBGP (external BGP)
– Dans une configuration de routeur, dès que n° AS local = n° AS
distant, le routeur sait qu’il ouvre une session iBGP
router bgp 103 iBGP
neighbor [Link] remote-as 103
neighbor [Link] remote-as 109 eBGP
AS 1400
AS 1409
AS 1023
eBGP
iBGP
IP « avancé » M. NDIAYE 92