le routage dans les r´eseaux ip

64
Le Routage dans les r´ eseaux IP Martin Heusse 2002 Routage IP etc.

Upload: others

Post on 20-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Le Routage dans les r´eseaux IP

Le Routage dans les reseaux IP

Martin Heusse

2002

Routage IP etc.

Page 2: Le Routage dans les r´eseaux IP

1

Plan• Le routage : presentation du probleme

• Comment ca peut marcher ?– Le modele en couches

– Les adresses correspondantes

– La hierarchisation (des reseaux IPv4)

– affectation automatique d’adresse

– IPv6

• Comment ca marche ?– Commutation au niveau 2 ou au niveau 3

– Algorithmes de routages :

✓ Vecteur de distance (Distance Vector)

✓ Etat des liens (Link States)– Systemes autonomes, BGP

– Multicast

Calcul du plus court chemin– Algorithme de Bellman-Ford

– Algorithme de Dijkstra

Routage IP etc.

Page 3: Le Routage dans les r´eseaux IP

2

Modele de reference OSI/ISO

Open System Interconnection / International Standard Organization

• IP (Internet Protocol) : couche 3

• Independant des couches 1 & 2– ethernet 10/100/1000

– Token ring, FDDI (Fiber DistributedData Interface)

– X25, frame relay

– PPP (liaison serie)

– ATM

– MPLS

– IP sur SDH (sonet)

– IP sur optique

Session

Transport

Réseau

L. logique

L. Physique

HTTP ; DNS ; ftp ;X11; telnet

Xdr

TCP ; UDP ; ICMP

IP

ethernet

Application

Présentation

Routage IP etc.

Page 4: Le Routage dans les r´eseaux IP

3

Exemple de paquet

• Ethernet : niveau 2Destination: 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 3Version: 4Header length: 20 bytesDifferentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)Total Length: 60Identification: 0x037eFlags: 0x04Fragment offset: 0Time to live: 64Protocol: TCP (0x06)Header checksum: 0x7ef9Source: flocon.imag.fr (129.88.38.153)Destination: www.google.com (216.239.55.100)

Routage IP etc.

Page 5: Le Routage dans les r´eseaux IP

4

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

Routage IP etc.

Page 6: Le Routage dans les r´eseaux IP

5

Paquet IPv4��

��RFC 791

0 1 2 30 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.

Page 7: Le Routage dans les r´eseaux IP

6

Les adresses correspondantes

• Chaque couche a son adressage !

• niveau 2 :– adresse ethernet (generalement fixee par le contructeur :

<constructeur><numero>) ; 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

Routage IP etc.

Page 8: Le Routage dans les r´eseaux IP

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.

Page 9: Le Routage dans les r´eseaux IP

8

Diffusion

• Ethernet : une trame portant l’adresse ff:ff:ff:ff:ff:ff est cap-

turee par tout le monde

• IP : l’adresse de diffusion depend du sous-reseau. (voir la suite)

• Exemple (utilisation de la diffusion au niveau 2) : Arprequete Arp :0:3:93:59:cb:54 Broadcast arp 42:arp who-has delos.imag.fr tell flocon.imag.fr

reponse 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 reseau sur lequel on se trouve quideterminent si une requete ARP est emise

• IPv6 : Pas de protocole ARP !

Tout se passe au niveau IP Neighbor Discovery :

Routage IP etc.

Page 10: Le Routage dans les r´eseaux IP

9

– Envoi d’un paquet ICMP « neighbor solicitation »– Reponse « neighbor advertisement »

Mecanisme semblable pour la decouverte du routeur

Routage IP etc.

Page 11: Le Routage dans les r´eseaux IP

10

Adresses IPv4• 32 bits

– a.b.c.d (a, b, c, d ∈ [0, 255])

• <adresse-reseau><hote>• L’« adresse-reseau » est commune a toutes les stations du sous-

reseau pour lesquelles (par exemple) une requete ARP sera generee.

Architecture recommandee :

reseau niveau 2 ⇐⇒ sous-reseau IP

VLAN (reseau virtuel) ⇐⇒ sous-

reseau IP

• La taille du sous-reseau (et le nombre de bits qui l’identifient) est

variable, et specifiee par le masque de sous-reseau

• masque « + » adresses IP → adresse de broadcast IP

en0: flags=8863<UP,BROADCAST,b6,RUNNING,SIMPLEX,MULTICAST> mtu 1500inet 129.88.38.153 netmask 0xffffff00 broadcast 129.88.38.255ether 00:03:93:59:cb:54

Routage IP etc.

Page 12: Le Routage dans les r´eseaux IP

11

Les adresses speciales

• Adresses privees– 10.0.0.0/8 ; 172.16.0.0/12 ; 192.168.0.0/16

– utilisables librement en interne ⇒ pas de routage a l’exterieur du reseau prive

• Adresses reservees– 127.0.0.1 : interface de loopback (moi !)

– 0.0.0.0 : adresse inconnue : utilisee comme adresses source par les postes qui neconnaissent pas encore leur adresse.

– 169.254.0.0/16 « link local » (utilise par qq clients DHCP : voir plus loin)

• Adresses de diffusion– 255.255.255.255 : diffusion sur le reseau de niveau 2

Elle n’est jamais routee

– la derniere adresse du champs d’adressage du sous-reseau : diffusion sur tout lesous-reseau (niveau 2) designe... qui n’est pas forcement local.Ce comportement (diffusion a distance) n’est pas assure, et il est prudent de ledesactiver.

Routage IP etc.

Page 13: Le Routage dans les r´eseaux IP

12

Les classes d’adresses IPv4Obsolete, remplace par CIDR : Classless Inter-Domain Routing

• Reseau de classe A : a.0.0.0; a ≤ 126– 126 reseaux ( !) de 2563 − 2 adresses

– Ex. : 18.0.0.0 : MIT

– 0nnnnnnn ........ ........ ........

• Reseau de classe B : a.b.0.0; 128 ≤ a ≤ 191– 64× 256 reseaux de 2562 − 2 adresses

– Ex. : 129.88.0.0 : IMAG-CAMPUS ; 147.171.0.0 Imag-Grenoble

– 10nnnnnn nnnnnnnn ........ ........

• Reseau de classe C : a.b.c.0; 192 ≤ a ≤ 223– 32× 2562 reseaux 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.

Page 14: Le Routage dans les r´eseaux IP

13

Masques quelconques (CIDR)• Le sous-reseau est designe par 13 a 24 bits

• address & masq = subnet (« & » logique)

• masq = 1∗0∗ (32 bits)

• Notation– 4 decimaux ou nombre de bits a 1

– Ex. assignation d’adresse : ifconfig en0 129.88.38.153/24129.88.0.0

imag.fr

…129.88.37.0/24irma2-net.imag.fr

129.88.38.0/24batd-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 reseaux de 62 adressesmasq = 255.255.255.192

– 195.221.227.0/27 ; 195.221.227.32/27 . . .8 sous-reseaux de 30 stationsmasq = 255.255.255.224

Routage IP etc.

Page 15: Le Routage dans les r´eseaux IP

14

Masques de sous-reseau quelconques : attention

• Tous les equipements ne les supportent pas encore...

• En particulier les protocoles de routage anciens sont incompatibles

(RIPv1)

• Par defaut, un router CISCO ne fait pas de CIDR : il faut taper

ip classless

Routage IP etc.

Page 16: Le Routage dans les r´eseaux IP

15

Les conseils d’un sage1 : architecture du reseau

• Regrouper les besoins previsibles pour demander globalement une plage

d’adresses contigues suffisante.

• Reseaux locaux sur un site :

– 1 seul reseau ethernet : /27 parait correct

(7 ou 8 fois 30 entites dans un « classe C »)

– Reseau commute ; 100/1000Mb/s : ne nous emballons pas...

Agregation de 2 « classe C » au plus.

Afin de diminuer l’impact des broadcasts et de faciliter l’adminis-

tration

• NAT : attention aux limitations inherentes a la methode...

1le contenu de ce transparent n’est pas de moi.

Routage IP etc.

Page 17: Le Routage dans les r´eseaux IP

16

NAT : Network Address Translation

• Problematiques :∗ Pas assez d’adresses disponibles !

∗ Construction d’un sous-reseau independant

∗ Equilibrage de charge (une adresse → N serveurs)

• Solution :– Utilisation d’adresses privees

– le routeur fait la correspondancenumero de port ↔ adresse privee ou biennumero de port ↔ adresse privee & autre numero de port

– Ce n’est pas une operation aussi simple qu’elle en a l’air... (les adresses IP peuventapparaıtre ailleurs que dans les entetes)

Routage IP etc.

Page 18: Le Routage dans les r´eseaux IP

17

NAT et Firewall

• Deux operations differentes, mais qui font appel aux memes fonction-

nalites du noyau du routeur.

• Firewall : simple filtrage des paquets

• Meme besoin de prendre des decisions (et de faire des modifications)

sur des informations de niveau 4

Routage IP etc.

Page 19: Le Routage dans les r´eseaux IP

18

Affectation automatique d’adresse

• IPv4– DHCP (Dynamic Host Configuration Protocol)

3 modes de fonctionnement :

◦ Un fichier contient la correspondance @eth / @IP sur le serveur : adressespermanentes

◦ @ permanentes allouees automatiquement

◦ @ allouees dynamiquement (accueil de visiteurs)DHCP permet de specifier des informations complementaires : routeur par defaut,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 changee des qu’un serveur DHCP peut en fournir une

Routage IP etc.

Page 20: Le Routage dans les r´eseaux IP

19

DHCP : principe�

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

Source : RFC 2131

• Attente aleatoire (. . .)

• le client emet un paquet DHCPDISCOVER (broadcast)(champ source @

= 0)

• serveur(s) : DHCPOFFER contenant yiaddr (champ dest @ = yiaddrou bien broadcast suivant les cas)

• client : DHCPREQUEST (broadcast) contenant le serveur choisi◦ Accepte l’@ IP, demande les autres parametres

◦ Implicite : seul le serveur choisi continue de jouer

• serveur : DHCPACK (⊃ parametres) ou DHCPNACK (il y a une erreur

mon garcon. . .) – unicast• . . .

• client : DHCPDECLINE, DHCPREQUEST (renouvellement)

Routage IP etc.

Page 21: Le Routage dans les r´eseaux IP

20

DHCP (2)

• Utilisation d’un relais DHCP– Les DHCPDISCOVER peuvent etre relayes

– le champ source du paquet emis vers le deuxieme reseau est alors giaddr (gatewayinternet address)

– Le paquet re-emis et la reponse du serveur vers le relais sont en unicast→ le relais n’est pas forcement sur le routeur.

• Mise en œuvre– Centraliser les serveurs pour plusieurs sous-reseaux

– Utilisation de relais

– Redondance

• Securite : attention aux serveurs pirates !

Pas d’obligation de reponse (par exemple pour une requete portant une

adresse MAC indesirable)

Routage IP etc.

Page 22: Le Routage dans les r´eseaux IP

21

IPv6

• Adressage universel sur 128 bits

– ≈ 1039 adresses !

⇒ Espace d’adressage hierarchise geographiquement

• Simplification des entetes

• Prise en compte de la securite

• Mobilite

• Auto configuration

• Identification des flots

Routage IP etc.

Page 23: Le Routage dans les r´eseaux IP

22

IPv6 headerSimplification de l’entete IPv4

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Version| IHL |Type of Service| Total Length |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Identification |Flags| Fragment Offset |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Time to Live | Protocol | Header Checksum |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Source Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Destination Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Options | Padding |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Utilise uniquement pour la fragmentation.

Pas de fragmentation par les routeurs en IPv6.

Recalcule a chaque bond

Routage IP etc.

Page 24: Le Routage dans les r´eseaux IP

23

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

Routage IP etc.

Page 25: Le Routage dans les r´eseaux IP

24

IPv6 entetes additionnels optionnels

• Next Header remplace le protocole de l’entete IPv4

• l’entete optionnel fragment remplace les champs flags, fragment offset

de IPv4

• Possibilite de chaıner plusieurs entete

par exemple : fragment → routage → TCP

Routage IP etc.

Page 26: Le Routage dans les r´eseaux IP

25

Le routage

• Aiguillage

• Acheminement

• Routage

• Le cas de IP– Acheminement implicite

– Mais, en pratique, mise en cache des routes utilisees

• Le cas ATM– Aiguillage : commutation de cellule

– Acheminement : etablissement des VC/VP

– Routage : manuel ou PNNI

Routage IP etc.

Page 27: Le Routage dans les r´eseaux IP

26

Routage au niveau 2

• Difference entre un hub (concentrateur) et un switch (commutateur)

• Motivations :– Plus grand nombre de clients sur le meme reseau (CSMA/CD : Carrier Sense

Multiple Access / Collision Detection) moins de collisions

– Separation des trafics : confidentialite sur le meme LAN

– Mise en œuvre immediate (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.

Page 28: Le Routage dans les r´eseaux IP

27

Routage au niveau 2�

�Routage par diffusion — sur un arbre

(avec memorisation...)

(Structure d’arbre assuree par STP : Spanning Tree Protocol)

Routage IP etc.

Page 29: Le Routage dans les r´eseaux IP

28

VLAN ( 6= reseau commute)• Un virtual LAN permet de regrouper des stations comme si elles etaient

sur le meme reseau physique

• Buts : Isolation, simplification des cablages

∗ Chaque paquet est associe a un VLAN⇒ Port-based VLANs (sur quel connecteur du switch le paquet est arrive ?)

– MAC address-based VLANs (source ou destination)

– Layer 3 (or protocol)-based VLANs

• Du point de vue de IP, chaque VLAN est en reseau de niveau 2

Switch

Switch

Routeur

Switch

Routage IP etc.

Page 30: Le Routage dans les r´eseaux IP

29

Routage au niveau 3• Aiguillage

destination interface vers

1 12 24 43 1 4 2

0

1

3

Exemple (BSD → IP + ARP dans la meme table) :Destination Gateway Flags Refs Use Netif Expiredefault 129.88.38.254 UGSc 21 1119 en0127.0.0.1 127.0.0.1 UH 9 9326 lo0129.88.38/24 link#2 UC 0 0 en0129.88.38.1 0:3:ba:0:d5:f UHLW 4 7589 en0 1183129.88.38.153 127.0.0.1 UHS 0 2 lo0129.88.38.241 0:3:93:a3:83:3a UHLW 1 83534 en0 326129.88.38.254 0:7:ec:cd:18:ca UHLW 21 0 en0 1189

Routage IP etc.

Page 31: Le Routage dans les r´eseaux IP

30

• Le routage se fait « bond par bond » : a chaque etape on determine le

routeur suivant.

• Routage (etablissement de la table)

– Manuel

– Automatique : demons gated / routed�

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

• En cas de probleme, c’est le TTL des paquets qui les empeche de

« tourner » indefiniment (decremente a chaque bond)

• Le TTL est un des seuls champs de l’entete des paquets qui est modifie

par les routeurs (avec les flags de fragmentation ; ECN)

Routage IP etc.

Page 32: Le Routage dans les r´eseaux IP

31

Choix de l’interface'

&

$

%

La « ligne » utilisee dans la table de routage est celle qui correspond

sur la plus grande longueur a la destination du paquet (longestmatch)

En pratique, les possibilites sont les suivantes :

1. Adresse locale ; machine immediatement voisine

2. Adresse sur le reseau local (← entree « 129.88.38/24 link#2 » de

la table de routage, construite a l’initialisation de l’interface)⇒ requete

ARP

3. Route connue avec le masque le plus grand possible

4. Route par defaut : 0.0.0.0/0 (match forcement le plus petit...)

Routage IP etc.

Page 33: Le Routage dans les r´eseaux IP

32

Route par defaut

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

• Specifiee manuellement ou par DHCP

• Annonce de la route par defaut par les routeurs

• Echanges entre les routeurs

Routage IP etc.

Page 34: Le Routage dans les r´eseaux IP

33

Routage dynamique

• Utilisation du chemin le plus court– Calcule a partir d’une metrique administrative

→ Pas de cycle

→ Aucune sensibilite a la charge (vrai le plus souvent dans les reseaux IP)

• Interets :– Reactivite aux pannes

– Re-calcul du routage en consequence

• Attention :– Instabilites ; boucles transitoires

– trafic de fond permanent (maintien actif inutile de lignes numeris)

• Algorithme de plus court chemin : Bellman-Ford distribue, Dijkstra si

toutes les informations topologiques sont disponibles localement

Routage IP etc.

Page 35: Le Routage dans les r´eseaux IP

34

Algorithme de routage Distance Vector• Exemples : RIPv1 ; RIPv2 (masques variables)

• Structure de donnees minimale : destination / next hop / distance

• Exemple de mise a jour :

le routeur transmet les couples (destination, distance)

ab e

g

c

1

1

1

1

f1

dest. next hop distance

b b 1

d e 3

e e 1

f e 2

g e 4

d1

1

dest. next hop distance

b e 3

a e 2

d d 1

e e 1

f e 2

g d 2

table de routage en aavant apparition du

lien a-c

C transmet sa table deroutage à A quand le lien

a-c apparaît

dest. next hop distance

b b 1

c c 1

d c 2

e e 1

f e 2

g c 3

2

c e 2

table de routage en cavant apparition du

lien a-c

table de routage en a aprèsprise en compte des

informations provenant de c

Routage IP etc.

Page 36: Le Routage dans les r´eseaux IP

35

DV (2)

• Algorithme de routage original sur ARPANET

• Emission periodique du contenu de la table (RIP : periode = 30s)

• Estampillage des entrees de la table : expiration des routes

Routage IP etc.

Page 37: Le Routage dans les r´eseaux IP

36

algorithmes DV : probleme�

�Comptage a 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

5 4 5 4

5 6 5 6

après 2 échanges

après 3 échanges

après 4 échanges

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

general)RIPv2 comporte des mecanismes simples pour palier en partie a ce probleme

Mais les algorithmes DV ne permettent pas de gerer les gros reseaux

Routage IP etc.

Page 38: Le Routage dans les r´eseaux IP

37

IGRP & E-IGRP

• Protocoles CISCO

• Distance elaboree a partir des caracteristiques des liaisons– dynamique : prise en compte de la charge

M = (K1 ×B + K2 ×B

(256− L)+ K3 ×D)× K5

R + K4

avec B = 10, 000, 000/BW ; D delai en dizaines de µs ; L = load (0 a 255) ; R :reliability (0 a 255)

– par defaut : K1 = K3 = 1 ; K2 = K4 = K5 = 0 (→ metrique statique. . .)Par convention, K5 = 0 ⇒ les deuxieme terme a 1.

• EIGRP n’est pas un simple algorithme DV (pas de cycle, meme transi-

toire)

algorithme « DUAL »• Paquets HELLO

• EIGRP est compatible CIDR

Routage IP etc.

Page 39: Le Routage dans les r´eseaux IP

38

Algorithme de routage Link States

• Exemples : OSPF ; IS-IS ; PNNI

• Structure de donnees complete : matrice carree portant les couts associes

a chaque liens, 0 sinon

• Principe :

Base de données

Table de routage

Routage IP etc.

Page 40: Le Routage dans les r´eseaux IP

39

OSPF

• OSPF est le protocole de routage de systeme autonome conseille

• LSA : paquet echange entre les routeurs voisins, contenant les informa-

tions de topologie– HELLO

– DATABASE DESCRIPTION

– LINK STATE REQUEST

– LINK STATE UPDATE

– LINK STATE ACK

• Inondation des changements de topologie

• Calcul des plus courts chemins sur chaque routeur

• Estampillage temporel des donnees (time-out)• Estampillage sequentiel des LSAs (mise a jour seulement pour un LSA

plus recent que celui precedemment utilise)

• OSPF permet de gerer un reseau avec 2 niveaux de hierarchie

Routage IP etc.

Page 41: Le Routage dans les r´eseaux IP

40

base de donnee d’etat des liensLS 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 (emise 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.

Page 42: Le Routage dans les r´eseaux IP

41

Inondation

• La maniere la plus simple de transmettre un paquet a tous les

equipements d’un reseau

• Aucun information de topologie n’est requise

1. Le paquet est re-emis par le routeur vers tous ses voisins

2. Qui la re-transmettent a tous leurs voisins s’ils ne l’ont pas deja vupasser

→ Chaque paquet circule une fois dans chaque direction sur chaque lien

Routage IP etc.

Page 43: Le Routage dans les r´eseaux IP

42

OSPF : quelques points importants

• Les LSAs sont acquittes par le protocole de routage

• Routeur designe : sur un reseau de niveau 2, le routeur charge de la

diffusion des LSA

Tous les autres se synchronisent avec lui.

• Mecanisme de re-synchro au demarrage d’un routeur

• Aires : 3 types de routeurs (interne ; inter-zone (ABR) (routeur de

backbone) ; externe (ASBR))

Chaque routeur maintient– l’etat de tous les liens de la zone

– un resume des autres zones

– routes externes, sauf en cas des aires « stubs » (une seule route necessaire)

• L’aire 0 est l’aire backbone. Toute autre aire doit y etre attachee,

eventuellement virtuellement.

Routage IP etc.

Page 44: Le Routage dans les r´eseaux IP

43

Routage interne / externe

1. Pour les algorithmes de routage externe, un lien = un AS ! (reseaux de

reseaux. . .)

2. Problematique : les routes externes aux systeme autonome doivent etre

connues a l’interieur

AS3

AS2

AS1

Routage IP etc.

Page 45: Le Routage dans les r´eseaux IP

44

'

&

$

%

Le point 1 est traite par le protocole BGP

Le point 2 est traite par la redistribution par l’IGP (Internal GatewayProtocol) des routes de BGP

��

��Classification des routeurs selon l’ISO

ASDomaine

de routage

AS (domaine admin.)

Domaine de routage

Domaine de routageIS

niveau 2

ES

ISniveau 3

ISniveau 1

IS: Intermediate SystemES: End System

Routage IP etc.

Page 46: Le Routage dans les r´eseaux IP

45

�Classification des routeurs pour OSPF

Aire x Aire 0backbone

SystèmeAutonomeAire

ABR

ASBR

ABR

Aire ySystème

Autonome

Tout ABR doit faire partie du backboneSinon, il fait creer un lien virtuel

(evite les problemes de convergence du vecteur de distance :

le reseau est en etoile)

Routage IP etc.

Page 47: Le Routage dans les r´eseaux IP

46

La hierarchie des domaines de routage�

�1 AS = reseau gere par une seule organisation

1. Reseau local

Pas de protocole de routage sauf rdisc ou un IGP

2. Au sein de l’AS

Protocole IGP, eventuellement prise en compte de la charge (EIGRP ;

OSPF)

3. Routage entre AS Protocole EGP (External Gateway Protocol)Mises a jour aussi rares que possible (tres rare en pratique) ex. : BGP 4

Routage IP etc.

Page 48: Le Routage dans les r´eseaux IP

47

BGP 4

• Le protocole EGP

• Pas de notion de distance, C’est le nombre d’AS traverses qui compte

• Eventuellement, plusieurs chemins vers une destination

• La structure de donnees de routage est un vecteur de chemins

→ pas de boucle

• Possibilite de specifier un filtrage des routes en fonction des contrats

passes, ou des preference (IBM veut atteindre Motorola sans passer pas

un reseau opere par intel)

Routage IP etc.

Page 49: Le Routage dans les r´eseaux IP

48

Attibuts de routage BGP

• Attributs obligatoires pour une route annoncee par BGP

– La liste des AS traverses

– l’adresse du prochain routeur

– le mode d’acquisition de la route : apprise d’un IGP, d’un EGP ou

autre

• Optionnels :

– Preference locale

– Indication d’origine d’agregation

– Poids, Communaute

Routage IP etc.

Page 50: Le Routage dans les r´eseaux IP

49

BGP : important

• Les routeurs voisins communiquent par TCP

• voisinage interne / externe :

iBGP : le protocole BGP entre routeurs d’un meme AS.

Ils forment une clique !

• Les connexions internes sont generalement etablies avec des interfaces

de loopback⇒ connexions independantes de l’etat des liens interieurs du routeur

• inter-relation forte avec l’IGP– Une route n’est publiee que lorsqu’elle a ete redistribuee par l’IGP

→ temps de convergence = n× tconvIGP

diametre de l’Internet : 14 ( ?)

• Notion de peer-group• Toute publication est volontaire (commande network)• Annonces multiples d’un AS

⇒ Allonge la liste d’AS. . .

Routage IP etc.

Page 51: Le Routage dans les r´eseaux IP

50

Un exemple :

> show ip routCodes: 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 2E1- 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, Vlan5O IA 193.54.242.0/24 [110/21] via 193.44.182.124, 02:14:46, Vlan5O E2 194.199.31.0/24 [110/1] via 193.44.182.120, 02:14:46, Vlan5152.77.0.0/16 is variably subnetted, 8 subnets, 4 masksO E1 152.77.208.0/24 [110/71] via 193.44.182.124, 02:14:46, Vlan5O E2 152.77.5.128/25 [110/20] via 193.44.182.124, 02:14:46, Vlan5O E2 152.77.212.83/32 [110/2] via 193.44.182.124, 01:12:40, Vlan5

Routage IP etc.

Page 52: Le Routage dans les r´eseaux IP

51

O IA 152.77.0.0/16 [110/21] via 193.44.182.124, 02:14:46, Vlan5etc129.88.0.0/16 is variably subnetted, 36 subnets, 4 masksO 129.88.1.250/32 [110/9] via 129.88.4.1, 05:55:09, Vlan54C 129.88.253.0/24 is directly connected, Vlan30C 129.88.1.254/32 is directly connected, Loopback0C 129.88.69.0/24 is directly connected, Vlan15O IA 129.88.103.0/24 [110/31] via 193.44.182.124, 00:44:38, Vlan5R 129.88.25.0/24 [120/3] via 129.88.6.1, 00:00:29, Vlan59R 129.88.24.0/24 [120/3] via 129.88.6.1, 00:00:29, Vlan59C 129.88.27.0/24 is directly connected, Vlan7R 129.88.26.0/24 [120/1] via 129.88.6.1, 00:00:29, Vlan59C 129.88.29.0/24 is directly connected, Vlan14C 129.88.28.0/24 is directly connected, Vlan8C 129.88.31.0/24 is directly connected, Vlan11

Routage IP etc.

Page 53: Le Routage dans les r´eseaux IP

52

Multicast

• Envoi de paquets 1 source → N destinations

C’est la couche reseau qui duplique les paquets au besoin

⇒ utilisation des capacites du materiel

• Adresses IP multicast : classes D [224 − 239].x.y.z (commencant par

1110)

• Multicast sur le reseau ethernet :

adresse 0x01.00.5E <bit a 0 + 23 bits de poids faible de l’@IP>

⇒ adresses IP multicast codees sur 28 bits

donc on a 25 adresses IP multicast par hote sur le reseau ethernet

? Certains commutateurs font du multicast intelligent en ecoutant les

messages IGMP. (IGMP snooping)

• Inscription : l’hote declare au routeur qu’il veut se joindre a un groupe

(message IGMP JOIN)

Routage IP etc.

Page 54: Le Routage dans les r´eseaux IP

53

Exemple d’adresses multicast

• 224.0.0.1 les systemes 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 designes 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 privees (portee limitee)

Routage IP etc.

Page 55: Le Routage dans les r´eseaux IP

54

Limitation de la portee en multicast

• Utilisation du TTL IPv4

Comparaison de la valeur du TTL a une valeur eventuellement non nulle

• Reglage du TTL a l’emission... (option de la socket)TTL = 0 local a l’emetteur (pas de transmisison)

TTL = 1 portee limitee au lien

◦ TTL = 15 portee limitee au site ()

◦ TTL = 63 portee limitee a la region

◦ TTL = 127 portee mondiale

◦ TTL = 191 portee mondiale a BP limitee

◦ TTL = 255 sans restriction

• Utilisation des adresses privees :

239.0.0.0/8239.255.0.0/16 portee locale

239.192.0.0/14 organisation

– . . .

Routage IP etc.

Page 56: Le Routage dans les r´eseaux IP

55

• IPv6

11111111 flag Portee Group ID

8 bits 4 bits 4 bits 112 bits

• Portee :1 locale a l’hote

2 link local5 locale au site

8 organisation

E globale

• Flag : adresse permanente ou non

Routage IP etc.

Page 57: Le Routage dans les r´eseaux IP

56

Routage multicast• Construction d’un arbre de poids faible

(6= de l’arbre forme des plus courts chemins)

D S

D

D

D S

D

D

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

• Group shared tree – eventuellement optimal

• Center based approach (choix d’un routeur central)

• Source based approach (N sources, N arbres)

• Reverse Path Forwarding (Diffusion a tous les voisins si reception par

l’interface qui est sur le plus court chemin vers l’emetteur)

• Pruning (Les routeurs sans hote/routeur attache (aval) sont elimines)

Routage IP etc.

Page 58: Le Routage dans les r´eseaux IP

57

Protocoles de routage multicast

• DVMRP algo DV ; obsolete, a eviter

• 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.

Page 59: Le Routage dans les r´eseaux IP

58

Routage — sans routage

• Proxy ARP– Motivations :

✓ Reseau de niveau 2 6= sous-reseau niveau 3

✓ Derriere une liaison point a point

✓ Derriere un tunnel IP (encapsulation IP dans IP)

– Principe :

✓ L’hote qui a acces directement au reste du reseau IP repond aux requetes ARPdestinees aux hotes pour lesquels il fait office de proxy

✓ Routage niveau 2 (dans le sous-reseau connexe), puis 3 (au sein du proxy)

• ICMP redirect– ICMP permet de signaler les erreurs

– Possibilite de signaler une meilleure route : ICMP REDIRECT

Routage IP etc.

Page 60: Le Routage dans les r´eseaux IP

59

C’est tout pour le routage !

a bientot !

Routage IP etc.

Page 61: Le Routage dans les r´eseaux IP

60

Algorithme de Bellman-Ford

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

graphe (V,E).• Structures de donnees : distance a s pour chaque sommet (d(i)) ;

predecesseur de chaque sommet (p(i)).

• Initialisation : d(s) = 0 ; d(j) = dsj pour tout j ∈ N(s).

• Iteration : repeter N fois (diametre du graphe)

pour toute arete (jk) de E :

si d(k) > d(j) + djk)d(k)← d(j) + djk ; p(k)← j

[il est possible de ne considerer que les sommets voisins de sommets

dont le cout a diminue.]

Routage IP etc.

Page 62: Le Routage dans les r´eseaux IP

61

Algorithme de Dijkstra

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

graphe (V,E).

• Structures de donnees :

Ensemble de sommets marques : M ; distance a s pour chaque sommet

(d(i)) ; predecesseur 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).

• etape 1 : mise a jour des etiquettes

trouver i /∈M tq. d(i) = minj /∈M(d(j)) ; M ←M ∪ {i}.Si M = V on s’arrete.

• etape 2 : Mise a jour des distances

∀j ∈ N(i) tq. j /∈M :

Routage IP etc.

Page 63: Le Routage dans les r´eseaux IP

62

Si d(j) > mink∈N(j)(d(k) + dkj) Alors :

p(j)← infk∈N(j)(d(k) + dkj) ; d(j)← mink∈N(j)(d(k) + dkj) ; fin si

retour a l’etape 1.

Routage IP etc.

Page 64: Le Routage dans les r´eseaux IP

63

Exemple de graphe

S

I

2

J L

K

M

D3

12

12

3

1

Routage IP etc.