Escolar Documentos
Profissional Documentos
Cultura Documentos
Martin Heusse
Routage IP etc.
Plan
Le routage : prsentation du problme Comment a peut marcher ?
Le modle en couches Les adresses correspondantes La hirarchisation (des rseaux IPv4) affectation automatique dadresse IPv6
Comment a marche ?
Commutation au niveau 2 ou au niveau 3 Algorithmes de routages : Vecteur de distance (Distance Vector) tat des liens (Link States) Systmes autonomes, BGP Multicast
Routage IP etc.
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.
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.
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| |Flags| | Total Length Fragment Offset Header Checksum | | | | | | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Identification Time to Live | Protocol +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Address Destination Address Options +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Routage IP etc.
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.
Traduction dadresse
Traduction niveau 7 niveau 3 : DNS (Domain Name Service) Traduction niveau 3 niveau 2 : ARP (Address Resolution Protocol) sur ethernet
Routage IP etc.
Un exemple : ARP
Ethernet : une trame portant ladresse ff:ff:ff:ff:ff:ff est capture par tout le monde Exemple (utilisation de la diffusion au niveau 2) : Arp
requte Arp :
0:3:93:59:cb:54 Broadcast arp 42: arp who-has delos.imag.fr tell flocon.imag.fr
rponse 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 ladresse de la destination et le sous rseau sur lequel on se trouve qui dterminent si une requte ARP est mise
Adresses IPv4
32 bits <adresse-rseau><hte> Ladresse-rseau est commune toutes les stations du sous-rseau pour lesquelles (par exemple) une requte ARP sera gnre. Architecture recommande : rseau niveau 2 sous-rseau IP VLAN (rseau virtuel) sousrseau IP La taille du sous-rseau (et le nombre de bits qui lidentient) est variable, et spcie par le masque de sous-rseau masque + adresses IP adresse de broadcast IP
inet 129.88.38.153 netmask 0xffffff00 broadcast 129.88.38.255 ether 00:03:93:59:cb:54
Routage IP etc. 9
Adresses de diffusion
255.255.255.255 : diffusion sur le rseau de niveau 2 Elle nest jamais route la dernire adresse du champs dadressage du sous-rseau : diffusion sur tout le sous-rseau (niveau 2) dsign... qui nest pas forcment local. Ce comportement (diffusion distance) nest pas assur, et il est prudent de le dsactiver.
Routage IP etc.
10
129.88.38.0/24 batd-net.imag.fr
129.88.37.0/24 irma2-net.imag.fr
Routage IP etc.
13
Dimensionnement
Regrouper les besoins prvisibles pour demander globalement une plage dadresses contigus sufsante. Rseaux locaux sur un site : 1 seul rseau ethernet : /27 parait correct (7 ou 8 fois 30 entits dans un classe C) Rseau commut ; 100/1000Mb/s : ne nous emballons pas... Agrgation de 2 classe C au plus. An de diminuer limpact des broadcasts et de faciliter ladministration NAT : attention aux limitations inhrentes la mthode...
Routage IP etc.
14
Solution :
Routage IP etc.
15
NAT et Firewall
Deux oprations diffrentes, mais qui font appel aux mmes fonctionnalits du noyau du routeur. Firewall : simple ltrage des paquets Mme besoin de prendre des dcisions (et de faire des modications) sur des informations de niveau 4
Routage IP etc.
16
IPv6
Attribution dune adresse link local unique (qui comprend ladresse MAC) Adresse change ds quun serveur DHCP peut en fournir une
Routage IP etc.
17
Routage IP etc.
18
IPv6
Adressage universel sur 128 bits 1039 adresses ! Espace dadressage hirarchis gographiquement Simplication des enttes Prise en compte de la scurit Mobilit Auto conguration Identication des ots
Routage IP etc.
19
IPv6 header
Simplication de lentte IPv4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| | | | | | IHL |Type of Service| |Flags| | Total Length Fragment Offset Header Checksum | | | | | | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Identification Time to Live | Protocol +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Address Destination Address Options +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Utilis uniquement pour la fragmentation. Pas de fragmentation par les routeurs en IPv6. Recalcul chaque bond
Routage IP etc. 20
IPv6 header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | | | + | + | + | | + | + | + | Destination Address Source Address Payload Length | Flow Label Next Header | Hop Limit | | | + | + | + | | + | + | + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Routage IP etc.
21
Routage IP etc.
22
Le routage
Aiguillage Acheminement Routage Le cas de IP
Acheminement implicite Mais, en pratique, mise en cache des routes utilises
Le cas ATM
Aiguillage : commutation de cellule Acheminement : tablissement des VC/VP Routage : manuel ou PNNI
Routage IP etc.
23
Routage au niveau 3
Aiguillage
destination 1 2 4 3 interface vers 1 2 4 1
3 1 0 4 2
Refs 21 9 0 4 0 1 21
Use
Netif Expire 1119 9326 0 en0 lo0 en0 en0 2 en0 en0 1183 lo0 326 1189
7589 83534 0
Routage IP etc.
24
Le routage se fait bond par bond : chaque tape on dtermine le routeur suivant. Routage (tablissement de la table) Manuel Automatique : dmons gated / routed
En cas de problme, cest le TTL des paquets qui les empche de tourner indniment (dcrment chaque bond) Le TTL est un des seuls champs de lentte des paquets qui est modi par les routeurs (avec les ags de fragmentation ; ECN)
Routage IP etc.
25
Choix de linterface
La ligne utilise dans la table de routage est celle qui correspond sur la plus grande longueur la destination du paquet (longest match)
En pratique, les possibilits sont les suivantes : 1. Adresse locale ; machine immdiatement voisine 2. Adresse sur le rseau local ( entre 129.88.38/24 link#2 de la table de routage, construite linitialisation de linterface) requte ARP 3. Route connue avec le masque le plus grand possible 4. Route par dfaut : 0.0.0.0/0 (match forcment le plus petit...)
Routage IP etc.
26
Routage IP etc.
27
Routage dynamique
Utilisation du chemin le plus court
Calcul partir dune mtrique administrative Pas de cycle Aucune sensibilit la charge (vrai le plus souvent dans les rseaux IP) Ractivit aux pannes Re-calcul du routage en consquence
Intrts :
Attention :
Instabilits ; boucles transitoires trac 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.
28
c
1
g
1
e
1
1
dest.
b
c
next hop
b
e
distance
1
2
dest.
b
a
d
e
f
g
next hop
e
e
d
e
e
d
distance
3
2
1
1
2
2
dest.
b
c
d
e
f
g
next hop
b
c
c
e
e
c
distance
1
1
2
1
2
3
d
e
f
g
e
e
e
e
3
1
2
4
Routage IP etc.
29
DV (2)
Algorithme de routage original sur ARPANET mission priodique du contenu de la table (RIP : priode = 30s) Estampillage des entres de la table : expiration des routes
Routage IP etc.
30
algorithmes DV : problme
Comptage linni
1 3 3 5 5
2 2 4 4 6
3 3 3 5 5
4 4 4 4 6
init. : a fonctionne aprs 1 change aprs 2 changes aprs 3 changes aprs 4 changes
B K5 M = (K1 B + K2 + K3 D) (256 L) R + K4 avec B = 10, 000, 000/BW ; D dlai en dizaines de s ; L = load (0 255) ; R : reliability (0 255)
par dfaut : K1 = K3 = 1 ; K2 = K4 = K5 = 0 ( mtrique statique. . .) Par convention, K5 = 0 les deuxime terme 1.
EIGRP nest pas un simple algorithme DV (pas de cycle, mme transitoire) algorithme DUAL (diffusing update algorithm) Paquets HELLO EIGRP est compatible CIDR
Routage IP etc.
32
Routage IP etc.
33
OSPF
OSPF est le protocole de routage de systme autonome conseill LSA : unit dinformation sur la topologie change entre les routeurs Mcanisme de dcouverte et vrication du voisinage Inondation able des changements de topologie Calcul des plus courts chemins sur chaque routeur Estampillage temporel des LSA (time-out ; utilis pour supprimer un LSA) Estampillage squentiel des LSAs (mise jour seulement pour un LSA plus rcent que celui prcdemment utilis)(quand on atteint la valeur max., il faut dabord supprimer le LSA avant de recommencer zro) OSPF permet de grer un rseau avec 2 niveaux de hirarchie
Routage IP etc.
34
Inondation
La manire la plus simple de transmettre un paquet tous les quipements dun rseau Aucun information de topologie nest requise 1. Le paquet est r-mis par le routeur vers tous ses voisins 2. Qui la re-transmettent tous leurs voisins sils ne lont pas dj vu passer
Chaque paquet circule une fois dans chaque direction sur chaque lien
Routage IP etc.
35
AS1
AS3
Le point 1 est trait par le protocole BGP Le point 2 est trait par la redistribution par lIGP (Internal Gateway Protocol) des routes de BGP
Routage IP etc.
36
ES
Domaine de routage
IS niveau 3
AS Domaine de routage
Routage IP etc.
37
Systme Autonome
Tout ABR doit faire partie du backbone Sinon, il fait crer un lien virtuel (vite les problmes de convergence dun vecteur de distance : le rseau est en toile)
Routage IP etc. 38
1. Rseau 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 lAS 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 ex. : BGP 4
Routage IP etc.
39
BGP 4
Le protocole EGP Pas de notion de distance, Cest le nombre dAS traverss qui compte ventuellement, plusieurs chemins vers une destination La structure de donnes de routage est un vecteur de chemins pas de cycle Possibilit de spcier un ltrage des routes en fonction des contrats passs, ou des prfrence (IBM veut atteindre Motorola sans passer pas un rseau opr par intel) Toute publication est volontaire (commande network)
Routage IP etc.
40
Multicast
Envoi de paquets 1 source N destinations Cest la couche rseau qui duplique les paquets au besoin utilisation des capacits du matriel Adresses IP multicast : classes D [224 239].x.y.z (commenant par 1110) Multicast sur le rseau ethernet : adresse 0x01.00.5E <bit 0 + 23 bits de poids faible de l@IP> adresses IP multicast codes sur 28 bits
Routage IP etc.
41
224.0.0.1 les systmes 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.5/6 routeurs OSPF / routeurs dsigns OSPF 224.0.0.9 routeurs RIPv2 224.0.0.12 serveurs ou relais DHCP 224.0.0.13 routeurs PIM (routage multicast) ... 224.0.0.22 IGMPv3 224.0.0.251 mDNS 224.0.1.1 Clients NTP (synchronisation des horloges) ... 239.0.0.0/8 adresses prives (porte limite)
Routage IP etc.
42
Routage IP etc.
43
Routage IP etc.
44
ag 4 bits
Porte 4 bits
Routage IP etc.
45
Routage multicast
Construction dun arbre de poids faible (= de larbre form des plus courts chemins)
D D D S D S
Construire larbre de poids minimal est NP-complet. . . Group shared tree ventuellement optimal Center based approach (choix dun routeur central) Source based approach (N sources, N arbres) Reverse Path Forwarding (Diffusion tous les voisins si rception par linterface qui est sur le plus court chemin vers lmetteur) Pruning (Les routeurs sans hte/routeur attach (aval) sont limins)
46
Routage IP etc.
Routage IP etc.
47
ICMP redirect
Routage IP etc.
48
bientt !
Routage IP etc.
49
Algorithme de Bellman-Ford
On cherche construire la distance du sommet s tous les sommets du graphe (V, E). Structures de donnes : distance s pour chaque sommet (d(i)) ; prdcesseur de chaque sommet (p(i)). Initialisation : d(s) = 0 ; d(j) = dsj pour tout j N (s). Itration : rpter N fois (diamtre du graphe) pour toute arte (jk) de E : si d(k) > d(j) + djk ) d(k) d(j) + djk ; p(k) j
[il est possible de ne considrer que les sommets voisins de sommets dont le cot a diminu.]
Routage IP etc. 50
Algorithme de Dijkstra
On cherche construire la distance du sommet s tous les sommets du graphe (V, E). Structures de donnes : Ensemble de sommets marqus : M ; distance s pour chaque sommet (d(i)) ; prdcesseur 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 sarrte. tape 2 : Mise jour des distances j N (i) tq. j M : / Si d(j) > minkN (j )(d(k) + dkj ) Alors : p(j) infkN (j )(d(k) + dkj ) ; d(j) minkN (j )(d(k) + dkj ) ; n si retour ltape 1.
Routage IP etc.
51
Exemple de graphe
I 2 S 1 J
K 1 2
3 1 M
Routage IP etc.
52