Le Routage dans les r´eseaux IP - LIG Membreslig-membres.imag.fr/heusse/routage.2.pdf ·...

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

Transcript of Le Routage dans les r´eseaux IP - LIG Membreslig-membres.imag.fr/heusse/routage.2.pdf ·...

Le Routage dans les reseaux IP

Martin Heusse

Routage IP etc.

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

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 :

3 Vecteur de distance (Distance Vector)

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

– Multicast

Calcul du plus court chemin– Algorithme de Bellman-Ford

– Algorithme de Dijkstra

Routage IP etc.

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.

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.

4

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

Routage IP etc.

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.

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

– 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-

turee par tout le monde

• 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 :– Envoi d’un paquet ICMP « neighbor solicitation »– Reponse « neighbor advertisement »Mecanisme semblable pour la decouverte du routeur

Routage IP etc.

9

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.

10

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 par exemple)

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

11

Les classes d’adresses IPv4

Obsolete, 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.

12

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.

13

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.

14

Dimensionnement

• 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’administration

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

Routage IP etc.

15

NAT : Network Address Translation

• Problematiques :∗ Pas assez d’adresses disponibles !

∗ Construction d’un sous-reseau independant (Pas de connexion entrante, sauf ex-ception)

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

16

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.

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

18

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.

19

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.

20

Lien PPP : IPCPIP Control Protocol

• Adresse IP

• DNS primaire / secondaire

• Compression d’entete. . .

Routage IP etc.

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.

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.

23

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

Routage IP etc.

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.

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.

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.

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.

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.

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.

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.

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

(longest match)

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.

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.

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.

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.

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.

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.

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 » (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 donnees complete : matrice carree portant les couts associes

a chaque liens, 0 sinon

• Principe :

Base de données

Table de routage

Routage IP etc.

39

OSPF

• OSPF est le protocole de routage de systeme autonome conseille

• LSA : unite d’information sur la topologie echangee entre les routeurs

voisins

• Mecanisme de decouverte et verification du voisinage

• Inondation fiable des changements de topologie

• Calcul des plus courts chemins sur chaque routeur

• Estampillage temporel des LSA (time-out ; utilise pour supprimer un

LSA)

• Estampillage sequentiel des LSAs (mise a jour seulement pour un LSA

plus recent que celui precedemment utilise)(quand on atteint la valeur

max., il faut d’abord supprimer le LSA avant de recommencer a zero)

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

Routage IP etc.

40

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.

41

Paquets OSPF

• HELLO– Decouverte des voisins, detection de leur disparition. Multicast a tous les routeurs

OSPF

• DATABASE DESCRIPTION– Description de la base de donnees. Unicast, echange maıtre-esclave

• LINK STATE REQUEST

• LINK STATE UPDATE

• LINK STATE ACK

Routage IP etc.

42

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.

43

OSPF : quelques points importants

• Les LSAs sont acquittes : inondation fiable

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

diffusion des LSA (et de celui du reseau lui meme)

Tous les autres n’echangent les LSA qu’avec lui (il existe un BDR :

Backup Designated Router).

• Mecanisme de re-synchro au demarrage d’un routeur (paquets databasedescription : protocole maıtre-esclave)

• Notion d’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 a l’interieur 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.

44

Routage interne / externe1. Pour les algorithmes de routage externe, un sommet (du graphe) = un AS !

(reseaux de reseaux. . .)

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

connues a l’interieur

AS3

AS2

AS1

'

&

$

%

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

Routage IP etc.

45

��

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

46

�Classification des routeurs pour OSPF

Aire x Aire 0backbone

SystèmeAutonomeAire

ABR

ASBRAire y

SystèmeAutonome

Un ABR a des interfaces dans des aires différentes

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.

47

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 parfois un

IGP)

rdisc : RFC 1256 — messages ICMP type 9 (advert.) type 10 (req.)

2. Au sein de l’AS

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

Attention !

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.

48

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)

• Toute publication est volontaire (commande network)

Routage IP etc.

49

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

– Metric

Routage IP etc.

50

Choix d’une route parmi plusieurs : par ordre de priorite

1. Le « prochain routeur » doit etre accessible

2. Si la route vient de l’AS local, utiliser la route IGP

(si inconnue de l’IGP, on n’utilise pas une eventuelle route BGP)

3. Routeur de plus grand poids (parmi tous les voisins : attribut local au routeur)

4. Preference locale (attribut propage 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 metrique (multi exit discriminator)(Utilise seulement si

l’AS suivant est le meme pour toutes les routes)

8. Route externe plutot que route interne

Routage IP etc.

51

9. Route pour laquelle le « prochain routeur » est le plus proche

(metrique IGP)(Routage hot potato)

2

30th NANOG 3

Hot-Potato Routing

San Francisco

Dallas

New York

Hot-potato routing = route to closest exit point when there is more than one route to destination

ISP network

dst

9 10

30th NANOG 4

Hot-Potato Routing

San Francisco

Dallas

New York

ISP network

dst

9 10failureplanned maintenancetraffic engineering

11

Routes to thousands of destinations switch

exit point!!!Consequences:

Transient forwarding instabilityTraffic shiftInter-domain routing changes

Routage IP etc.

52

BGP : important

• Les routeurs voisins communiquent par TCP. Les voisins sont explicite-

ment declares a la configuration du routeur. Les echanges commencent

apres l’etablissement de la connexion.

• voisinage interne / externe :

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

Ils forment un graphe complet !

• Les connexions internes sont generalement etablies avec des interfaces

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

Routage IP etc.

53

BGP administation

• Peer-group : ensemble de routeur partageant la meme politique (une

seule configuration pour le groupe)

• Reflecteurs (route reflectors) : diminue la taille de la clique de pairs

iBGP

Les routeurs non associes a un reflecteur forment un graphe complet

RR1 RR — Client

R1 R2

Routage IP etc.

54

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.

55

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.

56

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

Routage IP etc.

57

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.

58

IGMP Internet Group Management Protocol

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

(message IGMP JOIN)

? Certains commutateurs font du multicast intelligent en ecoutant les

messages IGMP. (IGMP snooping)

• messages create, join, leave, confirm

Routage IP etc.

59

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.

60

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

61

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.

62

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.

63

Routage — sans routage

• Proxy ARP– Motivations :

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

3 Derriere une liaison point a point

3 Derriere un tunnel IP (encapsulation IP dans IP)

– Principe :

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

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

• ICMP redirect– ICMP permet de signaler les erreurs

Probleme de TTL (→ traceroute) ; probleme de taille de paquet non segmentable(TCP par exemple : flag don’t fragment)

– Possibilite de signaler une meilleure route : ICMP REDIRECT(Emis par exemple si un routeur recoit sur une interface un paquet destine a unemachine se trouvant sur cette interface.)

Routage IP etc.

64

C’est tout pour le routage !

a bientot !

Routage IP etc.

65

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.

66

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 etiquettestrouver 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 :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.

67

Exemple de graphe

S

I

2

J L

K

M

D3

12

12

3

1

Routage IP etc.