Vous êtes sur la page 1sur 69

Le Routage dans les réseaux IP

Martin Heusse

Routage IP etc.
1

Plan
• Le routage : présentation du problème
• Comment ça peut marcher ?
– Le modèle en couches
– Les adresses correspondantes
– La hiérarchisation (des réseaux IPv4)
– affectation automatique d’adresse
– IPv6
1

Plan
• Le routage : présentation du problème
• Comment ça peut marcher ?
– Le modèle en couches
– Les adresses correspondantes
– La hiérarchisation (des réseaux IPv4)
– affectation automatique d’adresse
– IPv6
• Comment ça marche ?
– Commutation au niveau 2 ou au niveau 3
– Algorithmes de routages :
3 Vecteur de distance (Distance Vector )

3 État des liens (Link States)

– Systèmes autonomes, BGP


– Multicast
Calcul du plus court chemin
– Algorithme de Bellman-Ford
– Algorithme de Dijkstra

Routage IP etc.
2

Modèle de référence OSI/ISO


Open System Interconnection / International Standard Organization

• IP (Internet Protocol) : couche 3


• Indépendant des couches 1 & 2
Application HTTP ; DNS ; ftp ;
– ethernet 10/100/1000 X11; telnet
Présentation Xdr
– Token ring, FDDI (Fiber Distributed
Session
Data Interface)
Transport TCP ; UDP ; ICMP
– X25, frame relay
Réseau IP
– PPP (liaison série)
ethernet
L. logique
– ATM
L. Physique
– MPLS
– IP sur SDH (sonet)
– IP sur optique

Routage IP etc.
3

Exemple de paquet
• Ethernet : niveau 2
Destination: 00:07:ec:cd:18:ca (Cisco_cd:18:ca)
Source: 00:03:93:59:cb:54 (Apple_59:cb:54)
Type: IP (0x0800)
• IP : nivau 3
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
Total Length: 60
Identification: 0x037e
Flags: 0x04
Fragment offset: 0
Time to live: 64
Protocol: TCP (0x06)
Header checksum: 0x7ef9
Source: flocon.imag.fr (129.88.38.153)
Destination: www.google.com (216.239.55.100)

Routage IP etc.
4

• TCP : niveau 4
Source port: 49156 (49156)
Destination port: http (80)
Sequence number: 3653725605
Ack number: xxxxxxxx
Header length: 40 bytes
Flags: 0x0002 (SYN)
Window size: 32768
Checksum: 0xb873
Options: (20 bytes)

Routage IP etc.
5

Paquet IPv4
 

RFC 791
 

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Routage IP etc.
6

Les adresses correspondantes

• Chaque couche a son adressage !


• niveau 2 :
– adresse ethernet (généralement fixée par le contructeur :
<constructeur><numéro>) ; 3+3 octets ; unique
– adresse ATM
– adresse FDDI (12 octets)
• niveau 3 :
– IPv4 : 4 octets
– IPv6 : 16 octets
• niveau 4 :
– adresse IP + port (UDP, TCP, . . .)
• niveau 7 :
– www.imag.fr
– Les URL. . .

Routage IP etc.
7

Traduction d’adresse

• Traduction niveau 7 ⇒ niveau 3 :


DNS (Domain Name Service)
• Traduction niveau 3 ⇒ niveau 2 :
ARP (Address Resolution Protocol) sur ethernet

Routage IP etc.
8

Un exemple : ARP
• Ethernet : une trame portant l’adresse ff:ff:ff:ff:ff:ff est cap-
turée par tout le monde
• Exemple (utilisation de la diffusion au niveau 2) : Arp
requête Arp :
0:3:93:59:cb:54 Broadcast arp 42:
arp who-has delos.imag.fr tell flocon.imag.fr
réponse Arp :
0:10:83:35:34:4 0:3:93:59:cb:54 arp 64:
arp reply delos.imag.fr is-at 0:10:83:35:34:4
⇒ Transmission vers la bonne station
– Ce sont l’adresse de la destination et le sous réseau sur lequel on se trouve qui
déterminent si une requête ARP est émise
• IPv6 : Pas de protocole ARP !
Tout se passe au niveau IP Neighbor Discovery :
– Envoi d’un paquet ICMP « neighbor solicitation »
– Réponse « neighbor advertisement »
Mécanisme semblable pour la découverte du routeur

Routage IP etc.
9

Adresses IPv4
• 32 bits
– a.b.c.d (a, b, c, d ∈ [0, 255])
• <adresse-réseau><h^ ote>
• L’« adresse-réseau » est commune à toutes les stations du sous-
réseau pour lesquelles (par exemple) une requête ARP sera générée.
Architecture recommandée :
réseau niveau 2 ⇐⇒ sous-réseau IP
VLAN (réseau virtuel) ⇐⇒ sous-
réseau IP
• La taille du sous-réseau (et le nombre de bits qui l’identifient) est
variable, et spécifiée par le masque de sous-réseau
• masque « + » adresses IP → adresse de broadcast IP
en0: flags=8863<UP,BROADCAST,b6,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 129.88.38.153 netmask 0xffffff00 broadcast 129.88.38.255
ether 00:03:93:59:cb:54

Routage IP etc.
10

Les adresses spéciales

• Adresses privées
– 10.0.0.0/8 ; 172.16.0.0/12 ; 192.168.0.0/16
– utilisables librement en interne ⇒ pas de routage à l’extérieur du réseau privé
• Adresses réservées
– 127.0.0.1 : interface de loopback (moi !)
– 0.0.0.0 : adresse inconnue : utilisée comme adresses source par les postes qui ne
connaissent pas encore leur adresse.
– 169.254.0.0/16 « link local » (utilisé par qq clients DHCP par exemple)
• Adresses de diffusion
– 255.255.255.255 : diffusion sur le réseau de niveau 2
Elle n’est jamais routée
– la derniére adresse du champs d’adressage du sous-réseau : diffusion sur tout le
sous-réseau (niveau 2) désigné... qui n’est pas forcément local.
Ce comportement (diffusion à distance) n’est pas assuré, et il est prudent de le
désactiver.

Routage IP etc.
11

Les classes d’adresses IPv4


Obsolète, remplacé par CIDR : Classless Inter-Domain Routing

• Réseau de classe A : a.0.0.0; a ≤ 126


– 126 réseaux ( !) de 2563 − 2 adresses
– Ex. : 18.0.0.0 : MIT
– 0nnnnnnn ........ ........ ........
• Réseau de classe B : a.b.0.0; 128 ≤ a ≤ 191
– 64 × 256 réseaux de 2562 − 2 adresses
– Ex. : 129.88.0.0 : IMAG-CAMPUS ; 147.171.0.0 Imag-Grenoble
– 10nnnnnn nnnnnnnn ........ ........
• Réseau de classe C : a.b.c.0; 192 ≤ a ≤ 223
– 32 × 2562 réseaux de 256 − 2 adresses
– Ex. : 192.108.116.0 : ENST Bretagne
– 110nnnnn nnnnnnnn nnnnnnnn ........
• classe D : adresses des groupes de diffusion a.x.y.z; 224 ≤ a ≤ 239
– 1110nnnn ........ ........ ........

Routage IP etc.
12

Masques quelconques (CIDR)


• Le sous-réseau est désigné par 13 à 24 bits
• address & masq = subnet (« & » logique)
• masq = 1∗0∗ (32 bits)
• Notation
– 4 décimaux ou nombre de bits à 1
– Ex. assignation d’adresse : ifconfig en0 129.88.38.153/24
129.88.0.0
imag.fr

129.88.38.0/24 129.88.37.0/24

batd-net.imag.fr irma2-net.imag.fr

• Imag dispose (entre autre) de 2 « classe C » 195.221.226.0/23


– 195.221.226.0/26 ; 195.221.226.64/26 ; 195.221.226.128/26 ; 195.221.226.192/26
4 sous réseaux de 62 adresses
masq = 255.255.255.192
– 195.221.227.0/27 ; 195.221.227.32/27 . . .
8 sous-réseaux de 30 stations
masq = 255.255.255.224

Routage IP etc.
13

Masques de sous-réseau quelconques : attention

• Tous les équipements ne les supportent pas encore...


• En particulier les protocoles de routage anciens sont incompatibles
(RIPv1)
• Par défaut, un router CISCO ne fait pas de CIDR : il faut taper
ip classless

Routage IP etc.
14

Dimensionnement

• Regrouper les besoins prévisibles pour demander globalement une plage


d’adresses contiguës suffisante.
• Réseaux locaux sur un site :
– 1 seul réseau ethernet : /27 parait correct
(7 ou 8 fois 30 entités dans un « classe C »)
– Réseau commuté ; 100/1000Mb/s : ne nous emballons pas...
Agrégation de 2 « classe C » au plus. Afin de diminuer l’impact
des broadcasts et de faciliter l’administration
• NAT : attention aux limitations inhérentes à la méthode...

Routage IP etc.
15

NAT : Network Address Translation

• Problématiques :
∗ Pas assez d’adresses disponibles !
∗ Construction d’un sous-réseau indépendant (Pas de connexion entrante, sauf ex-
ception)
∗ Équilibrage de charge (une adresse → N serveurs)
• Solution :
– Utilisation d’adresses privées
– le routeur fait la correspondance
numéro de port ↔ adresse privée ou bien
numéro de port ↔ adresse privée & autre numéro de port
– Ce n’est pas une opération aussi simple qu’elle en a l’air... (les adresses IP peuvent
apparaı̂tre ailleurs que dans les entêtes)

Routage IP etc.
16

NAT et Firewall

• Deux opérations différentes, mais qui font appel aux mêmes fonction-
nalités du noyau du routeur.
• Firewall : simple filtrage des paquets
• Même besoin de prendre des décisions (et de faire des modifications)
sur des informations de niveau 4

Routage IP etc.
17

Affectation automatique d’adresse

• IPv4
– DHCP (Dynamic Host Configuration Protocol )
3 modes de fonctionnement :
◦ Un fichier contient la correspondance @eth / @IP sur le serveur : adresses
permanentes
◦ @ permanentes allouées automatiquement
◦ @ allouées dynamiquement (accueil de visiteurs)
DHCP permet de spécifier des informations complémentaires : routeur par défaut,
serveur DNS. . .
– DHCP : extension de BOOTP
– PPP : affectation de l’@IP par le serveur
– RARP
• IPv6
– Attribution d’une adresse « link local » unique (qui comprend l’adresse MAC)
– Adresse changée dès qu’un serveur DHCP peut en fournir une

Routage IP etc.
18

DHCP : principe
 

DHCP utilise UDP comme protocole de transport, et donc IP !


 

Source : RFC 2131


• Attente aléatoire (. . .)
• le client émet un paquet DHCPDISCOVER (broadcast)(champ source @
= 0)
• serveur(s) : DHCPOFFER contenant yiaddr (champ dest @ = yiaddr
ou bien broadcast suivant les cas)
• client : DHCPREQUEST (broadcast) contenant le serveur choisi
◦ Accepte l’@ IP, demande les autres paramètres
◦ Implicite : seul le serveur choisi continue de jouer
• serveur : DHCPACK (⊃ paramètres) ou DHCPNACK (il y a une erreur
mon garçon. . .) – unicast
• ...
• client : DHCPDECLINE, DHCPREQUEST (renouvellement)

Routage IP etc.
19

DHCP (2)

• Utilisation d’un relais DHCP


– Les DHCPDISCOVER peuvent être relayés
– le champ source du paquet émis vers le deuxième réseau est alors giaddr (gateway
internet address)
– Le paquet ré-émis et la réponse du serveur vers le relais sont en unicast
→ le relais n’est pas forcément sur le routeur.
• Mise en œuvre
– Centraliser les serveurs pour plusieurs sous-réseaux
– Utilisation de relais
– Redondance
• Sécurité : attention aux serveurs pirates !
Pas d’obligation de réponse (par exemple pour une requête portant une
adresse MAC indésirable)

Routage IP etc.
20

Lien PPP : IPCP


IP Control Protocol

• Adresse IP
• DNS primaire / secondaire
• Compression d’entête. . .

Routage IP etc.
21

IPv6

• Adressage universel sur 128 bits


– ≈ 1039 adresses !
⇒ Espace d’adressage hiérarchisé géographiquement
• Simplification des entêtes
• Prise en compte de la sécurité
• Mobilité
• Auto configuration
• Identification des flots

Routage IP etc.
22

IPv6 header
Simplification de l’entête IPv4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Utilisé uniquement pour la fragmentation.


Pas de fragmentation par les routeurs en IPv6.
Recalculé à chaque bond
Routage IP etc.
23

IPv6 header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Routage IP etc.
24

IPv6 entêtes additionnels optionnels

• Next Header remplace le protocole de l’entête IPv4


• l’entête optionnel fragment remplace les champs flags, fragment offset
de IPv4
• Possibilité de chaı̂ner plusieurs entête
par exemple : fragment → routage → TCP

Routage IP etc.
25

Le routage

• Aiguillage
• Acheminement
• Routage
• Le cas de IP
– Acheminement implicite
– Mais, en pratique, mise en cache des routes utilisées
• Le cas ATM
– Aiguillage : commutation de cellule
– Acheminement : établissement des VC/VP
– Routage : manuel ou PNNI

Routage IP etc.
26

Routage au niveau 2

• Différence entre un hub (concentrateur) et un switch (commutateur)


• Motivations :
– Plus grand nombre de clients sur le même réseau (CSMA/CD : Carrier Sense
Multiple Access / Collision Detection) moins de collisions
– Séparation des trafics : confidentialité sur le même LAN
– Mise en œuvre immédiate (pas de configuration)
• Apprentissage de la correspondance port ↔ @MAC
– observation du trafic : les paquets portent leur @ eth source
⇒ remplissage de la matrice de commutation

Hub Switch

Routage IP etc.
27

Routage au niveau 2
 

Routage par diffusion — sur un arbre


 

(avec mémorisation...)
(Structure d’arbre assurée par STP : Spanning Tree Protocol )

Routage IP etc.
28

VLAN (6= réseau commuté)


• Un virtual LAN permet de regrouper des stations comme si elles étaient
sur le même réseau physique
• Buts : Isolation, simplification des câblages
∗ Chaque paquet est associé à un VLAN
⇒ Port-based VLANs (sur quel connecteur du switch le paquet est arrivé ?)
– MAC address-based VLANs (source ou destination)
– Layer 3 (or protocol)-based VLANs
• Du point de vue de IP, chaque VLAN est en réseau de niveau 2

Switch

Switch

Switch

Routeur

Routage IP etc.
29

Routage au niveau 3
• Aiguillage
3
destination interface vers
1 1 1
2 2
0
4 4
3 1 4 2

Exemple (BSD → IP + ARP dans la même table) :


Destination Gateway Flags Refs Use Netif E
default 129.88.38.254 UGSc 21 1119 en0
127.0.0.1 127.0.0.1 UH 9 9326 lo0
129.88.38/24 link#2 UC 0 0 en0
129.88.38.1 0:3:ba:0:d5:f UHLW 4 7589 en0
129.88.38.153 127.0.0.1 UHS 0 2 lo0
129.88.38.241 0:3:93:a3:83:3a UHLW 1 83534 en0
129.88.38.254 0:7:ec:cd:18:ca UHLW 21 0 en0

Routage IP etc.
30

• Le routage se fait « bond par bond » : à chaque étape on détermine le


routeur suivant.
• Routage (établissement de la table)
– Manuel
– Automatique : démons gated / routed
 

IP : Attention aux boucles de routage, ou aux « voies sans issue »


 

• En cas de problème, c’est le TTL des paquets qui les empêche de


« tourner » indéfiniment (décrémenté à chaque bond)
• Le TTL est un des seuls champs de l’entête des paquets qui est modifié
par les routeurs (avec les flags de fragmentation ; ECN)

Routage IP etc.
31

Choix de l’interface
' $

La « ligne » utilisée dans la table de routage est celle qui correspond


sur la plus grande longueur à la destination du paquet
(longest match)
& %

En pratique, les possibilités sont les suivantes :


1. Adresse locale ; machine immédiatement voisine
2. Adresse sur le réseau local (← entrée « 129.88.38/24 link#2 » de
la table de routage, construite à l’initialisation de l’interface) ⇒ requête
ARP
3. Route connue avec le masque le plus grand possible
4. Route par défaut : 0.0.0.0/0 (match forcément le plus petit...)

Routage IP etc.
32

Route par défaut

• Un point important de la configuration d’une machine. . .


• Spécifiée manuellement ou par DHCP
• Annonce de la route par défaut par les routeurs
• Échanges entre les routeurs

Routage IP etc.
33

Routage dynamique

• Utilisation du chemin le plus court


– Calculé à partir d’une métrique administrative
→ Pas de cycle
→ Aucune sensibilité à la charge (vrai le plus souvent dans les réseaux IP)
• Intérêts :
– Réactivité aux pannes
– Re-calcul du routage en conséquence
• Attention :
– Instabilités ; boucles transitoires
– trafic de fond permanent (maintien actif inutile de lignes numeris)
• Algorithme de plus court chemin : Bellman-Ford distribué, Dijkstra si
toutes les informations topologiques sont disponibles localement

Routage IP etc.
34

Algorithme de routage Distance Vector


• Exemples : RIPv1 ; RIPv2 (masques variables)
• Structure de données minimale : destination / next hop / distance
• Exemple de mise à jour :
le routeur transmet les couples (destination, distance)
1
d 1
c
g
1
1
2
b 1 e
a C transmet sa table de
1
1 f routage à A quand le lien
a-c apparaît

table de routage en a table de routage en c table de routage en a après


avant apparition du avant apparition du prise en compte des
lien a-c lien a-c informations provenant de c
dest. next hop distance dest. next hop distance dest. next hop distance

b b 1 b e 3 b b 1

c e 2 a e 2 c c 1

d e 3 d d 1 d c 2

e e 1 e e 1 e e 1

f e 2 f e 2 f e 2

g e 4 g d 2 g c 3

Routage IP etc.
35

DV (2)

• Algorithme de routage original sur ARPANET


• Émission périodique du contenu de la table (RIP : période = 30s)
• Estampillage des entrées de la table : expiration des routes

Routage IP etc.
36

algorithmes DV : problème
 

Comptage à l’infini
 

a b c d e

1 2 3 4 init. : a fonctionne

3 2 3 4 après 1 échange

3 4 3 4 après 2 échanges

5 4 5 4 après 3 échanges

5 6 5 6 après 4 échanges

Arrêt du processus quand la mesure atteint partout l’« infini » (=16 en


général)
RIPv2 comporte des mécanismes simples pour palier en partie à ce problème
Mais les algorithmes DV ne permettent pas de gérer les gros réseaux

Routage IP etc.
37

IGRP & E-IGRP


• Protocoles CISCO
• Distance élaborée à partir des caractéristiques des liaisons
– dynamique : prise en compte de la charge
B K5
M = (K1 × B + K2 × + K3 × D) ×
(256 − L) R + K4
avec B = 10, 000, 000/BW ; D délai en dizaines de µs ; L = load (0 à 255) ; R :
reliability (0 à 255)

– par défaut : K1 = K3 = 1 ; K2 = K4 = K5 = 0 (→ métrique statique. . .)


Par convention, K5 = 0 ⇒ les deuxième terme à 1.
• EIGRP n’est pas un simple algorithme DV (pas de cycle, même transi-
toire) algorithme « DUAL » (diffusing update algorithm)
• Paquets HELLO
• EIGRP est compatible CIDR

Routage IP etc.
38

Algorithme de routage Link States

• Exemples : OSPF ; IS-IS ; PNNI


• Structure de données complète : matrice carrée portant les coûts associés
à chaque liens, 0 sinon
• Principe :
Table de routage

Base de données

Routage IP etc.
39

OSPF

• OSPF est le protocole de routage de système autonome conseillé


• LSA : unité d’information sur la topologie échangée entre les routeurs
voisins
• Mécanisme de découverte et vérification du voisinage
• Inondation fiable des changements de topologie
• Calcul des plus courts chemins sur chaque routeur
• Estampillage temporel des LSA (time-out ; utilisé pour supprimer un
LSA)
• Estampillage séquentiel des LSAs (mise à jour seulement pour un LSA
plus récent que celui précédemment utilisé)(quand on atteint la valeur
max., il faut d’abord supprimer le LSA avant de recommencer à zéro)
• OSPF permet de gérer un réseau avec 2 niveaux de hiérarchie

Routage IP etc.
40

Inondation

• La manière la plus simple de transmettre un paquet à tous les


équipements d’un réseau
• Aucun information de topologie n’est requise

1. Le paquet est ré-émis par le routeur vers tous ses voisins


2. Qui la re-transmettent à tous leurs voisins s’ils ne l’ont pas déjà vu
passer
→ Chaque paquet circule une fois dans chaque direction sur chaque lien

Routage IP etc.
41

Paquets OSPF

• HELLO
– Découverte des voisins, détection de leur disparition. Multicast à tous les routeurs
OSPF
• DATABASE DESCRIPTION
– Description de la base de données. Unicast, échange maı̂tre-esclave
• LINK STATE REQUEST
• LINK STATE UPDATE
• LINK STATE ACK

Routage IP etc.
42

Base de donnée d’état des liens


LS Database

• Type
1. router-LSAs - states of the router’s interfaces
2. network-LSAs - the set of routers attached to the network
3. summary-LSAs - summary routes to networks (émise par les ABR)
4. summary LSAs - summary routes to AS boundary routers
5. AS-external-LSAs - routes to destinations external to the Autonomous System
• LS ID (par type)
1. The originating router’s Router ID.
2. The IP interface address of the network’s DR
3. The destination network’s IP address
4. The Router ID of the described AS boundary router
5. The destination network’s IP address

Routage IP etc.
43

OSPF : quelques points importants


• Les LSAs sont acquittés : inondation fiable
• Routeur désigné : sur un réseau de niveau 2, le routeur chargé de la
diffusion des LSA (et de celui du réseau lui même)
Tous les autres n’échangent les LSA qu’avec lui (il existe un BDR :
Backup Designated Router ).
• Mécanisme de re-synchro au démarrage d’un routeur (paquets database
description : protocole maı̂tre-esclave)
• Notion d’aires : 3 types de routeurs (interne ; inter-zone (ABR) (routeur
de backbone) ; externe (ASBR))
Chaque routeur maintient
– l’état de tous les liens de la zone
– un résumé des autres zones
– routes externes, sauf à l’intérieur des aires « stubs » (une seule route nécessaire)
• L’aire 0 est l’aire backbone. Toute autre aire doit y être attachée,
éventuellement virtuellement.

Routage IP etc.
44

Routage interne / externe


1. Pour les algorithmes de routage externe, un sommet (du graphe) = un AS !
(réseaux de réseaux. . .)
2. Problématique : les routes externes aux système autonome doivent être
connues à l’intérieur

AS2

AS1

AS3

' $

Le point 1 est traité par le protocole BGP


Le point 2 est traité par la redistribution par l’IGP (Internal Gateway
Protocol ) des routes de BGP
& %

Routage IP etc.
45

 

Classification des routeurs selon l’ISO


 

AS (domaine admin.)
Domaine
IS IS de routage
niveau 1 niveau 2

Domaine IS
de routage niveau 3
ES

AS
IS: Intermediate System
ES: End System Domaine
de routage

Routage IP etc.
46

 

Classification des routeurs pour OSPF


 

Système
Autonome

Aire x Aire 0
backbone
ABR

Aire y ASBR

Système
Aire Autonome
Un ABR a des interfaces dans des
aires différentes

Tout ABR doit faire partie du backbone


Sinon, il fait créer un lien virtuel
(évite les problèmes de convergence du vecteur de distance :
le réseau est en étoile)

Routage IP etc.
47

La hiérarchie des domaines de routage


 

1 AS = réseau géré par une seule organisation


 

1. Réseau local : pas de protocole de routage sauf rdisc (ou parfois un


IGP)
rdisc : RFC 1256 — messages ICMP type 9 (advert.) type 10 (req.)
2. Au sein de l’AS
Protocole IGP, éventuellement prise en compte de la charge (EIGRP)
Attention !
3. Routage entre AS Protocole EGP (External Gateway Protocol )
Mises à jour aussi rares que possible (très rare en pratique) ex. : BGP 4

Routage IP etc.
48

BGP 4

• Le protocole EGP
• Pas de notion de distance, C’est le nombre d’AS traversés qui compte
• Éventuellement, plusieurs chemins vers une destination
• La structure de données de routage est un vecteur de chemins
→ pas de boucle
• Possibilité de spécifier un filtrage des routes en fonction des contrats
passés, ou des préférence (IBM veut atteindre Motorola sans passer pas
un réseau opéré par intel)
• Toute publication est volontaire (commande network)

Routage IP etc.
49

Attibuts de routage BGP

• Attributs obligatoires pour une route annoncée par BGP


– La liste des AS traversés
– l’adresse du prochain routeur
– le mode d’acquisition de la route : apprise d’un IGP, d’un EGP ou
autre
• Optionnels :
– Préférence locale
– Indication d’origine d’agrégation
– Metric

Routage IP etc.
50

Choix d’une route parmi plusieurs : par ordre de priorité

1. Le « prochain routeur » doit être accessible


2. Si la route vient de l’AS local, utiliser la route IGP
(si inconnue de l’IGP, on n’utilise pas une éventuelle route BGP)
3. Routeur de plus grand poids (parmi tous les voisins : attribut local au routeur)
4. Préférence locale (attribut propagé par iBGP)
choix de la direction pour sortir de l’AS
5. Chemin le plus court (nombre d’AS)
• Annonces multiples d’un AS ⇒ Allonge la liste d’AS. . .

6. Code d’origine le plus bas (IGP < EGP < INCOMPLETE)


7. Plus petite métrique (multi exit discriminator )(Utilisé seulement si
l’AS suivant est le même pour toutes les routes)
8. Route externe plutôt que route interne
Routage IP etc.
51

9. Route pour laquelle le « prochain routeur


Hot-Potato » est le plus proche
Routing
(métrique IGP)(Routage hot potato)
dst

New York
San Francisco
ISP network
9 10

Dallas

Hot-potato routing = route to closest exit point


when there is more than one
route to destination

30th NANOG 3

Hot-Potato Routing
dst

New York
San Francisco
ISP network
failure 10
9
planned maintenance 11
Routage IP etc.
traffic engineering
52

BGP : important
• Les routeurs voisins communiquent par TCP. Les voisins sont explicite-
ment déclarés à la configuration du routeur. Les échanges commencent
après l’établissement de la connexion.
• voisinage interne / externe :
iBGP : le protocole BGP entre routeurs d’un même AS.
Ils forment un graphe complet !
• Les connexions internes sont généralement établies avec des interfaces
de loopback
⇒ connexions indépendantes de l’état des liens « intérieurs » du routeur

Routage IP etc.
53

BGP administation

• Peer-group : ensemble de routeur partageant la même politique (une


seule configuration pour le groupe)
• Réflecteurs (route reflectors) : diminue la taille de la clique de pairs
iBGP
Les routeurs non associés à un réflecteur forment un graphe complet

R1 R2

RR1 RR — Client

Routage IP etc.
54

Un exemple :

> show ip rout


Codes: C- connected, S- static, I- IGRP, R- RIP, M- mobile,
B- BGP, D- EIGRP, EX- EIGRP external, O- OSPF,
IA- OSPF inter area,
N1- OSPF NSSA ext type 1, N2- OSPF NSSA ext type 2
E1- OSPF external type 1, E2- OSPF ext type 2,
i- IS-IS, L1- IS-IS level-1, L2- IS-IS level-2,

Gateway of last resort is 193.44.182.111 to network 0.0.0.0

O 195.220.30.0/24 [110/20] via 193.44.182.122, 04:54:05, Vlan5


O IA 193.54.242.0/24 [110/21] via 193.44.182.124, 02:14:46, Vlan5
O E2 194.199.31.0/24 [110/1] via 193.44.182.120, 02:14:46, Vlan5
152.77.0.0/16 is variably subnetted, 8 subnets, 4 masks
O E1 152.77.208.0/24 [110/71] via 193.44.182.124, 02:14:46, Vlan5
O E2 152.77.5.128/25 [110/20] via 193.44.182.124, 02:14:46, Vlan5
O E2 152.77.212.83/32 [110/2] via 193.44.182.124, 01:12:40, Vlan5

Routage IP etc.
55

O IA 152.77.0.0/16 [110/21] via 193.44.182.124, 02:14:46, Vlan5


etc
129.88.0.0/16 is variably subnetted, 36 subnets, 4 masks
O 129.88.1.250/32 [110/9] via 129.88.4.1, 05:55:09, Vlan54
C 129.88.253.0/24 is directly connected, Vlan30
C 129.88.1.254/32 is directly connected, Loopback0
C 129.88.69.0/24 is directly connected, Vlan15
O IA 129.88.103.0/24 [110/31] via 193.44.182.124, 00:44:38, Vlan5
R 129.88.25.0/24 [120/3] via 129.88.6.1, 00:00:29, Vlan59
R 129.88.24.0/24 [120/3] via 129.88.6.1, 00:00:29, Vlan59
C 129.88.27.0/24 is directly connected, Vlan7
R 129.88.26.0/24 [120/1] via 129.88.6.1, 00:00:29, Vlan59
C 129.88.29.0/24 is directly connected, Vlan14
C 129.88.28.0/24 is directly connected, Vlan8
C 129.88.31.0/24 is directly connected, Vlan11

Routage IP etc.
56

Multicast

• Envoi de paquets 1 source → N destinations


C’est la couche réseau qui duplique les paquets au besoin
⇒ utilisation des capacités du matériel
• Adresses IP multicast : classes D [224 − 239].x.y.z (commençant par
1110)
• Multicast sur le réseau ethernet :
adresse 0x01.00.5E <bit à 0 + 23 bits de poids faible de l’@IP>
≤ adresses IP multicast codées sur 28 bits

Routage IP etc.
57

Exemple d’adresses multicast

• 224.0.0.1 les systèmes sur ce lien


• 224.0.0.2 les routeurs sur ce lien
• 224.0.0.4 les routeurs DVMRP sur ce lien (routage multicast)
• 224.0.0.4/5 routeurs OSPF / routeurs désignés OSPF
• 224.0.0.9 routeurs RIPv2
• 224.0.0.12 serveurs + relais DHCP
• 224.0.0.13 routeurs PIM (routage multicast)
• 224.0.1.1 Clients NTP (synchronisation des horloges)
• ...
• 239.0.0.0/8 adresses privées (portée limitée)

Routage IP etc.
58

IGMP Internet Group Management Protocol

• Inscription : l’hôte déclare au routeur qu’il veut se joindre à un groupe


(message IGMP JOIN)
? Certains commutateurs font du multicast intelligent en écoutant les
messages IGMP. (IGMP snooping)
• messages create, join, leave, confirm

Routage IP etc.
59

Limitation de la portée en multicast

• Utilisation du TTL IPv4


Comparaison de la valeur du TTL à une valeur éventuellement non nulle
• Réglage du TTL à l’émission... (option de la socket)
TTL = 0 local à l’emetteur (pas de transmisison)
TTL = 1 portée limitée au lien
◦ TTL = 15 portée limitée au site ()
◦ TTL = 63 portée limitée à la région
◦ TTL = 127 portée mondiale
◦ TTL = 191 portée mondiale à BP limitée
◦ TTL = 255 sans restriction
• Utilisation des adresses privées :
239.0.0.0/8
239.255.0.0/16 portée locale
239.192.0.0/14 organisation
– ...

Routage IP etc.
60

• IPv6
11111111 flag Portée Group ID
8 bits 4 bits 4 bits 112 bits

• Portée :
1 locale à l’hôte
2 link local
5 locale au site
8 organisation
E globale
• Flag : adresse permanente ou non

Routage IP etc.
61

Routage multicast
• Construction d’un arbre de poids faible
(6= de l’arbre formé des plus courts chemins)
D D

D S D S

D D

Construire l’arbre de poids minimal est NP-complet. . .


• Group shared tree – éventuellement optimal
• Center based approach (choix d’un routeur central)
• Source based approach (N sources, N arbres)
• Reverse Path Forwarding (Diffusion à tous les voisins si réception par
l’interface qui est sur le plus court chemin vers l’émetteur)
• Pruning (Les routeurs sans hôte/routeur attaché (aval) sont éliminés)

Routage IP etc.
62

Protocoles de routage multicast


• DVMRP algo DV ; obsolète, à éviter
• PIM (Protocol Independant Multicast)
PIM-SM (sparse mode [center based ] ; PIM-DM : dense mode et PIM
SSM : single source multicast [source based ] )
• MOSPF (Source based)
• M-BGP

Routage IP etc.
63

Routage — sans routage

• Proxy ARP
– Motivations :
3 Réseau de niveau 2 6= sous-réseau niveau 3

3 Derrière une liaison point à point

3 Derrière un tunnel IP (encapsulation IP dans IP)

– Principe :
3 L’hôte qui a accès directement au reste du réseau IP répond aux requêtes ARP

destinées aux hôtes pour lesquels il fait office de proxy


3 Routage niveau 2 (dans le sous-réseau connexe), puis 3 (au sein du proxy)

• ICMP redirect
– ICMP permet de signaler les erreurs
Problème de TTL (→ traceroute) ; problème de taille de paquet non segmentable
(TCP par exemple : flag don’t fragment)
– Possibilité de signaler une meilleure route : ICMP REDIRECT
(Émis par exemple si un routeur reçoit sur une interface un paquet destiné à une
machine se trouvant sur cette interface.)

Routage IP etc.
64

C’est tout pour le routage !

à bientôt !

Routage IP etc.
65

Algorithme de Bellman-Ford

On cherche à construire la distance du sommet s à tous les sommets du


graphe (V, E).
• Structures de données : distance à s pour chaque sommet (d(i)) ;
prédécesseur de chaque sommet (p(i)).
• Initialisation : d(s) = 0 ; d(j) = dsj pour tout j ∈ N (s).
• Itération : répéter N fois (diamètre du graphe)
pour toute arête (jk) de E :
si d(k) > d(j) + djk )
d(k) ← d(j) + djk ; p(k) ← j

[il est possible de ne considérer que les sommets voisins de sommets


dont le coût a diminué.]

Routage IP etc.
66

Algorithme de Dijkstra
On cherche à construire la distance du sommet s à tous les sommets du graphe (V, E).
• Structures de données :
Ensemble de sommets marqués : M ; distance à s pour chaque sommet (d(i)) ;
prédécesseur de chaque sommet (p(i)).
• Initialisation :
M = {s} ; d(s) = 0 ; d(j) = dsj pour tout j ∈ N (s), ∞ sinon ;
p(j) = s ∀j ∈ N (s).
• étape 1 : mise à jour des étiquettes
trouver i ∈/ M tq. d(i) = minj ∈M / (d(j)) ; M ← M ∪ {i}.
Si M = V on s’arrête.
• étape 2 : Mise à jour des distances
∀j ∈ N (i) tq. j ∈/M :
Si d(j) > mink∈N (j)(d(k) + dkj ) Alors :
p(j) ← inf k∈N (j)(d(k) + dkj ) ; d(j) ← mink∈N (j)(d(k) + dkj ) ; fin si
retour à l’étape 1.

Routage IP etc.
67

Exemple de graphe

I 3 K 3 D

2 1
S 1 M
1 2
J 2 L

Routage IP etc.

Vous aimerez peut-être aussi