adressage et acheminement - npa.lip6.frbbaron/op6/cours/cm2-adressageacheminement.pdf · adresses...
TRANSCRIPT
À l’intérieur du réseau
“Diviser pour mieux régner”Entre les éléments du réseau et la gestion du système
Hôtes Livraison de données en mode Best-effort Entre deux (ou plus) adresses d’extrémités
Réseau Tout le reste
Diviser le travail
3
Internet
Hôte HôteRéseau
À l’intérieur du réseau
4
3
21
1
2
31
43
5
Acheminer (fowarder) les paquets d’un émetteur vers un destinataire
PAQUETS
Prend charge les paquets quand ils arrivent (look-up)
Acheminer (forward), jeter, ou mettre en mémoire les paquets
Marquer, shape, ordonnancer
ÉVÈNEMENTS
Suivre les modifications de la topologie du réseau
Calculer les chemins dans le réseau
Réserver les ressources le long d’un chemin
Découpage motivé par l’acheminent des paquets à haute-vitesse
Plan de contrôle vsPlan de
données
Faire en sorte que le réseau fonctionne correctement
Les paquets atteignent leurs bonnes destinations Les flots sur des chemins courts/non-congestionnés Les trafics indésirables sont jetés Reprise sur incident rapide Les routeurs ne manquent pas de ressources
Régulation du réseau Mesurer (sense) : topologie, trafic, performance, … Contrôler : configurer les plans contrôles et données
Plan de gestion (management)
6
Découverte du réseau et Bootstrapping
Comment bootstrapperun hôte ?
Quelle adresse IP l’hôte doit-il utiliser ?
Quel serveur local de nom utiliser ?
Comment envoyer des paquets à des destinations distantes ?
Comment s’assurer que des paquets entrants puissent arriver ?
??? 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
WAN WAN
LAN 11.2.3/24
LAN 25.6.7/24
… …
1.2.3.19
Trois identifications
9
Nom d’hôte Adresse IP Adresse MAC
Exemple www.upmc.fr 134.157.250.59 58-55-CA- F8-C1-87
PropriétésHiérarchique, lisible par les humains, taille variable
Hiérarchique, lisible par les machines, 32 bits (en IPv4)
Plate, lisible par les machines, 48 bits
Lus par Humains, hôtes Routeurs IP Commutateurs
Allocation, haut-niveau
Domaine, affecté par un registrar (e.g., for .edu)
Préfixes de tailles variables, assigné par l’ICANN, RIR, ou FAI
Bloques de tailles fixes, affectés par des équipementiers IEEE (e.g., Dell)
Allocation, bas-niveau
Nom d’hôtes, admin local
Interface, par l’administrateur ou par DHCP
Interface, par équipementiers
Adresses IP vs MAC
10
Longueur / taille de l’espace d’adressageLes adresses IPv4 ont une taille de 32 bits -> 232 adresses uniques Les adresses MAC ont une taille de 48 bits -> 248 adresses uniques
NotationIPv4 : adresses en décimales pointées / MAC : adresses en hexadécimales
Portée de l’adressage : Adresses IP et MAC globales (uniques) Les portées des numéros de port et des labels (e.g., MPLS) sont locales
Portabilité : une adresse peut changer au cours du temps/espace Une adresse IP dépend de la localisation d’un hôte
Structure : Adresses IP hiérarchiques / adresses MAC plates
Allocation / affectationLes adresses IP sont affectées statiquement par l’administrateur ou dynamiquement par DHCP Les adresses MAC sont codés en dur par l’équipementier
Adresse IP permanente vs adresse dynamique
Codée en dur dans un fichier
DHCP: Dynamic Host Configuration ProtocolRecevoir une adresse IP dynamiquement “plug and play”
Apprendre les adresses des hôtes
12
Qui suis-je ?Adresse MAC : codée en dur dans la carte Ethernet Adresse IP : configuration statique ou apprentissage dynamique (DHCP)
Qui es-tu ?L’adresse IP est codée en dur dans une URL, ou dans le code source de l’application Obtention dynamique via ARP ou DNS
Internet
Moi Toi
Interface Interface
Eviter les configurations manuelles
13
Dynamic Host Configuration Protocol (DHCP)L’hôte apprend comment envoyer des paquets Il apprend son adresse IP, les serveurs DNS et la passerelle (gateway)
Address Resolution Protocol (ARP)Les autres hôtes apprennent comment envoyer des paquets à l’hôte Ils apprennent la correspondance entre son adresse IP et son adresse MAC
??? 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
WAN WAN
LAN 11.2.3/24
LAN 25.6.7/24
… …
1.2.3.19
Points clés des protocoles
14
Broadcast : when in doubt, shout!Utiliser le broadcast des requêtes vers tous les hôtes du réseau local … quand on ne sait pas comment identifier celui recherché
Caches : se rappeler temporairement du passéStocker les informations que l’on apprend pour réduire les overheads Se rappeler de sa propre adresse et celle des autres
Soft states (états mous) : Oublier un jour le passéAssocier un champ Time-to-Live (TTL) avec l’information … et soit rafraîchir l’information, soit l’oublier Point clé pour de la robustesse en cas de changements imprévus
Broadcasting
15
Broadcasting : envoyer à tout le mondeDestinations avec une adresse MAC spéciale : FF-FF-FF-FF-FF-FF Tous les contrôleurs NIC du LAN reçoivent le paquet
Envoyer un paquet en broadcast Facile sur un medium partagé C’est comme crier dans une pièce : tout le monde peut vous entendre Ex : Ethernet, sans-fil, liens satellite
…
Réseau sans fil (ex : WiFi)
Réseau filaire(ex : LAN Ethernet)
Réseau satellite(ex : SATCOM)Conversation
DHCPDynamic Host
Configuration Protocol
Dynamic Host Configuration Protocol (DHCP)
17
Permet à chaque hôte du réseau d’obtenir une adresse IP de manière dynamique lorsqu’il arrive sur le réseau
Peut renouveler le bail pour l’adresse IP qu’il utilise Permet de réutiliser les adresses IP (seulement pour les adresses non actives) Autorise les utilisateurs mobiles qui arrivent sur le réseau temporairement
Points clés de DHCPL’hôte envoie en broadcast un message DHCP discover (optionnel) Le serveur DHCP répond avec un message DHCP offer (optionnel) L’hôte demande une adresse IP avec un message DHCP requestLe serveur DHCP envoie l’adresse IP dans un message DHCP ack
Dynamic Host Configuration Protocol (DHCP)
Client ServeurDHCP Discover(broadcast)
DHCP Offer
DHCP ACK
DHCP Request(broadcast)
Le client apprend : (1) Adresse IP, (2) Masque de sous-réseau, (3) Adresse de la passerelle, (4) Serveur(s) DNS et (5) un temps de validité (bail)
Réponse du serveur DHCP
19
Message DHCP offer du serveur DHCPConfiguration de paramètres (adresse IP, masque, gateway, serveurs DNS) Bail (temps avant lequel les informations expirent)
Plusieurs serveurs peuvent répondrePlusieurs serveur situés sur le même médium de diffusion Chacun peut répondre avec un message DHCP offer Le client peut décider quelle offre accepter
Accepter l’une des offresLe client envoie un message DHCP request reprenant les paramètres Le serveur DHCP répond avec un ACK pour confirmer … et les autres serveurs voient qu’ils n’ont pas été choisis
Scénario DHCP223.1.2.1
223.1.2.9223.1.1.4
Un client DHCP arrive sur le réseau et a besoin d’une adresse
dans ce réseau
20
Serveur DHCP223.1.2.5
Scénario DHCPClient Serveur
DHCP Discover(broadcast)
DHCP Offer
DHCP ACK
DHCP Request(broadcast)
src: 0.0.0.0, 68 dest: 255.255.255.255, 67yiaddr: 0.0.0.0transaction ID: 654
src: 223.1.2.5, 67 dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs
src: 0.0.0.0, 68 dest: 255.255.255.255, 67yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs
src: 223.1.2.5, 67 dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs
21
Décider quelle adresse IP offrir
22
Statique : le serveur comme base de données centraliséeTous les paramètres sur serveur sont configurés de manière statique Ex : Une adresse IP dédiée par adresse MAC Évite la difficulté de configurer les hôtes directement … Tout en ayant une adresse IP permanente par hôte
DynamiqueLe serveur maintient une plage (pool) d’adresses IP disponibles … et les assignent aux hôtes à leur demande La configuration est ainsi plus facile tout en utilisant efficacement les adresses Bien que ce soit plus difficile de suivre les hôtes au cours du temps
Soft state
23
Utilité du bailLe client peut relâcher une adresse IP avec DHCP RELEASE
Ex : ifconfig /release ou arrêt de l’ordinateur Mais, l’hôte ne pas relâcher l’adresse IP
Ex : peut s’arrêter brutalement (blue screen of death) ou bug logiciel Et vous ne voulez pas que cette adresse soit allouée de manière permanente
Quelles performances ?Avec un bail court les adresses inactives reviennent rapidement Avec un bail long moins d’overhead liés aux renouvellements fréquents
Et peut à présent envoyer des paquets à d’autres adresses IPMais comment apprendre l’adresse MAC de la destination ?
Donc maintenant, l’hôte connait des choses
24
@Adresse IP Masque Gateway Serveur DNS
ARPAddress Resolution
Protocol
Les interfaces comprennent seulement les adresses MACTraduire une adresse IP de destination en une adresse MAC Encapsuler le paquet IP dans une trame de couche Liaison
Envoyer des paquets sur un lien
26
1.2.3.53 1.2.3.156
…Données de l’applicationEntête IP
S: 1.2.3.53D: 1.2.3.156
Address Resolution Protocol (ARP)
27
Chaque hôte maintient une table ARP(Adresse IP, Adresse MAC)
Et consulte la table quand ils souhaitent envoyer un paquetAdresse IP de destination vers adresse MAC de destination Encapsule le paquet dans une trame en broadcast et la transmet
Et si une adresse IP n’est pas dans la table ?L’émetteur diffuse en broadcast : “Qui a l’adresse IP 1.2.3.156 ?” Le récepteur répond : “J’ai l’adresse MAC 58-23-D7-FA-20-B0” L’émetteur met en cache la réponse ARP
A veut envoyer un paquet à B
2.2.2.21
2.2.2.20
28
2.2.2.22
49-BD-D2-C7-56-2A
88-B202F-54-1A-0F
1A-23-F9-CD-06-9B
1.1.1.10
1.1.1.11
1.1.1.12E6-E9-00-17-BB-4B
74-29-9C-E8-FF-55
CC-49-DE-D0-AB-7D
A
BR
S: 1.1.1.11D: 2.2.2.221
A construit un paquet IP à envoyer à B A doit envoyer le paquet à la gateway R (pour atteindre les destination hors de 1.1.1.0/24)
2 A apprend l’adresse MAC de l’interface de R ARP request en broadcast pour R ARP response en unicast vers AS: 74-29-9C-E8-FF-55D: E6-E9-00-17-BB-4B
3 R reçoit la trame et extrait le paquet IP R consulte sa FIB pour déterminer une interface de sortie ARP request en broadcast pour B ARP response en unicast vers R
S: 1A-23-F9-CD-06-9BD: 49-BD-D2-C7-56-2A
Adressage
Qu’est ce que l’adressage ?
30
Fournir des identifiants adaptés aux noeuds De façon à diriger les données vers un noeud De façon à savoir quel noeud a envoyé les données … et savoir comment lui transmettre des données en retour
Adressage du courrier françaisCode postal : 75005 Rue : place Jussieu Numéro du bâtiment : 4 Salle dans le bâtiment: 132 Nom du destinataire : Benjamin BARON
???
Qu’est ce que le routage ?
“A name indicates what we seek.An address indicates where it is.
A route indicates how we get there.”
— Jon Postel, RFC 791
Pourquoi le routage est-il important ?
32
Performance de bout-en-boutLa qualité des chemins affecte les performances des utilisateurs Métriques de performance : délai de propagation, débit et pertes
Utilisation des ressources du réseauRépartition du trafic sur les routeurs / liens Éviter la congestion en dirigeant le trafic sur des liens moins chargés
Rendre les perturbations transitoiresDéfaillances, maintenance et équilibrage de charge (load balancing) Limiter le nombre de paquets perdus et le délai après des changements de topologie
Adresses IP et MAC
33
Adresse MAC Adresse IP
Assignation Codée en dur (hard-coded) Configurée ou apprise
Taille 48 bits 32 bits (IPv4) et 128 bits (IPv6)
Structure Plat Hiérarchique
Portabilité Constante Change selon le temps et l’espace
But Remise dans un réseau local Remise de bout-en-bout
ex : Numéro de sécurité sociale vs adresses postales
Adresses MAC
Adresses MAC
35
Adresses plates de 48 bits6 octets en hexadécimal, ex : 00-15-C5-49-04-A9 pour mon Ethernet
49-04-A900-15-C5
Assignée par l’IEEE Registration Authority Ici, “Dell Inc”
Assignée par l’équipementier
Passage à l’échelle
36
Les adresses MAC sont platesPlusieurs hôtes sur le même réseau sans relation entre les adresses MAC
Plan de contrôle
Déterminer la localisation d’un hôte
Garder les informations à jour
Plan de données
Forwarding basé sur les adresses MAC
Taille de la table de commutation ?
Overhead du look-up ?
Acheminement
37
Medium partagéAcheminer les trames sur un medium partagé revient à les envoyer à tous les hôtes connecté au medium Les interfaces des hôtes gardent les trames si l’adresse de destination de la trame correspond à l’adresse de leur interface
Ethernet commutéPlus compliqué… Diffuser chaque trame sur chaque interface ? Apprendre où une adresse MAC est située ?
…
… …
Auto-apprentissage
38
Les commutateurs doivent transmettre une trame uniquement sur “le bon” segment
Table d’acheminement d’un commutateurAssocier une adresse MAC à une interface sortante But : construire une table d’acheminement automatiquement
commutateur
A
B
C
D
12
34
Auto-apprentissage Motivations
39
Quand une trame arriveInspecter le champ “adresse source” de la trame Associer cette adresse avec l’interface entrante Stocker la correspondance dans la table de commutation Utiliser un TTL pour oublier la correspondance
Le commutateur apprend comment joindre A
A
B
C
D
12
4
Table de commutation
Destination Interface de sortie TTL
A 1 256
3
Auto-apprentissage Misses
40
Quand une trame trame arrive avec une destination inconnueForwarder la trame sur toutes les interfaces …sauf l’interface entrante Heureusement, cela n’arrive pas souvent
Le commutateur inonde la trame destinée à C
A
B
C
D
12
4
Table de commutation
Destination Interface de sortie TTL
A 1 256
3
Auto-apprentissage Acheminement
41
Quand une trame trame arrive avec une destination connueLook-up de l’adresse destination de la trame dans la table de commutation Si entrée trouvée, acheminer la trame sur l’interface de sortie correspondante
Le commutateur forwarde la trame vers A
A
B
C
D
12
4
Table de commutation
Destination Interface de sortie TTL
A 1 256
3
Filtrage / Acheminement
42
Quand un commutateur reçoit une trame :
Look-up : Chercher une entrée dans la table de commutation avecl’adresse dest
Si une entrée a été trouvée pour l’adresse dest Alors
Si dest est sur le port sur lequel est reçu la trame Alors
Jeter la trame Sinon
Acheminer la trame sur l’interface spécifiée Sinon
Inondation Acheminer la trame sur toutes les interfaces (sauf entrante)
L’inondation peut mener à des boucles
43
Les commutateurs ont parfois besoin de diffuser des trames
La diffusion est implémentée par l’inondationTransmettre la trame sur toutes les interfaces … sauf l’interface entrante
L’inondation peut mener à des boucles de niveau 2Exemple : si la topologie du réseau contient un cycle Par accident, ou pour avoir de la fiabilité supplémentaire
SolutionSpanning Trees
44
S’assurer que la topologie ne contient pas de cycleEviter d’utiliser certains liens lors de l’inondation … afin d’éviter les boucles
Spanning treeArbre couvrant, i.e., graphe couvrant l’ensemble des sommets mais un sous-ensemble des arrêtes Ne pas inonder sur les liens qui ne sont pas dans l’arbre couvrant
Spanning Tree Construction
45
Besoin d’un algorithme distribuéLes commutateurs coopèrent pour construire le spanning tree … et s’adapte automatiquement après une panne
Points clés de l’algorithmeLes commutateurs élisent la racine
Le commutateur avec le plus petit identifiant Chaque commutateur identifie l’interface sur laquelle il est le plus proche de la racine
Les autres sont exclues de l’arbre Messages échangés sont le triplet (Y, d, X )
Affirmant que Y est la racine avec pour distance d du noeud X
racine
un saut
trois sauts
Spanning Tree Protocole
46
Initialement, chaque commutateur pense être la racineUn commutateur un message sur toutes ses interfaces… s’identifiant comme la racine avec une distance de 0 Exemple : commutateur X annonce (X, 0, X )
Les commutateurs mettent à jour leur point de vue de la racineÀ la réception d’un message, vérifier l’id de la racine Si le nouvel id est plus petit, considérer ce commutateur comme la nouvelle racine
Les commutateurs calculent leur distance à la racineAjouter 1 à la distance à la distance retenue par un voisin Identifier les interfaces qui ne sont pas sur le plus court chemin vers la racine … et les exclure du spanning tree
Spanning Tree Exemple
47
Commutateur #4 pense être la racineEnvoie le message (4, 0, 4) à 2 et 7
#4 reçoit un message de #2Il reçoit le message (2, 0, 2) … et pense que #2 est la racine Et réalise qu’il est à seulement un saut
Puis, #4 reçoit un message de #7Il reçoit le message (2, 1, 7) Et réalise que c’est un chemin plus long Donc, il préfère son chemin de un saut Et il supprime le lien 4-7 du spanning tree
1
3
2
5
67
4
Spanning Tree Exemple
48
#2 entend parler de #1Il reçoit le message (1, 1, 3) de # 3 #2 considère alors que #1 est la racine Et envoie le message (1, 2, 2) à ses voisins
#4 reçoit ce message de #2#4 considère alors que #1 est la racine Et envoie le message (1, 3, 4) à ses voisins
#4 reçoit un message de #7#4 reçoit un message (1, 3, 7) de #7 Et réalise que c’est un chemin plus long Donc, il préfère son chemin de trois sauts Et il supprime le lien 4-7 du spanning tree
1
3
2
5
67
4
Spanning Tree Robutesse
49
L’algorithme doit réagir rapidement aux pannesPanne de la racine : élection de la nouvelle racine, avec le prochain plus petit identifiant Panne des nœuds ou des liens : recalcul du spanning tree
La racine continue à envoyer des messagesSe ré-annonce périodiquement comme la racine (1,0,1) Les autres switches continuent d’acheminer les messages
Détection des pannes grâce au timeout (soft state)Les commutateurs attendent de recevoir des messages de contrôle des autres commutateurs Après un timeout, un nœud peut prétendre être la nouvelle racine
Adresses MAC
50
Avantages
Identifiant persistant (enfin, sauf en cas de spoofing)
Les nœuds mobiles sont facile à gérer
Le look-up est une simple correspondance entre adresse de destination et interface de sortie
Inconvénients
Table de commutation importante (plan de données)
Overhead dû à l’inondation avant d’apprendre la localisation des nœuds
Problème de sécurité (privacy)
Adresses IPv4
Passage à l’échelle grâce à la hiérarchie
52
Hiérarchie grâce aux préfixes IPRoutage entre les réseaux Allocation de blocs d’adresses
Hiérarchie non-uniformeAllocation d’adresses plus efficace Acheminement de paquets plus complexe
Faire face au nombre d’adresses limitéEspace d’adressage plus grand (IPv6 avec 128 bits) Partager un petit ensemble d’adresse (NAT) Affectation dynamique des adresses (DHCP)
53
Réseau de réseaux… …
…
…
…
…
………
…
FAI
FAI
FAI
FAIFAI FAI FAI
FAI
FAI
FAI
FAIFAI
FAI
FAI
FAI
FAI FAI FAI FAI
FAI
FAI
FAI
FAI A
FAI B
FAI C
IXP
IXP
FAI régional
FAI ré
gional
Internet est un “réseau de réseaux”
54
Utilisé pour connecter les réseaux entre eux, pas les hôtes
Besoin d’un moyen pour adresser un groupe d’hôtesLAN Local Area Network, réseau local connectant des hôtes et des routeurs WAN Wide Area Network, réseau global connectant des routeurs
WAN WAN
LAN 1 LAN 2
… …
1.2.3.45.6.7.5...
Sans sous-réseaux
55
Supposons que les hôtes ont une adresse IP arbitraireAlors tous les routeurs devront connaître tous les hôtes individuellement …
1.2.3.4 5.6.7.9 2.4.6.8 1.2.3.5 5.6.7.9 2.4.6.9
WAN WAN
LAN 1 LAN 2
… …
Table d’acheminement
Avec sous-réseaux
56
Nombre d’hôtes relatif à un sous-réseau1.2.3.0/24 sur le LAN de gauche 5.6.7.0/24 sur le LAN de droite
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
WAN WAN
LAN 1 LAN 2
… …
Table d’acheminement
1.2.3.0/245.6.7.0/24
Évolutif
57
Pas besoin de mettre à jour les routeursExemple : ajout d’un nouvel hôte 5.6.7.213 sur le LAN 2 de droiteNe crée pas de nouvelle entrée dans table d’acheminement des routeurs
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
WAN WAN
LAN 1 LAN 2
… …
Table d’acheminement
1.2.3.0/245.6.7.0/24
5.6.7.213
Adressage par classe
58
Ça, c’était avant…Classe A : 0*
Blocs très larges /8 (ex : MIT a 18.0.0.0/8) Classe B : 10*
Blocs larges /16 (ex : UPMC a 132.227.0.0/16) Classe C : 110*
Blocs petits /24 (ex : AT&T Labs a 192.20.225.0/24) Classe D : 1110*
Groupes multicast Classe E : 11110*
Réservé pour le futur
Puis, les adresses sont devenues rares…
Adresses hiérarchiques avec les préfixes
59
Les préfixes divisent le réseau en “groupes d’hôtes”12.34.158.0/24 est un préfixe de 24 bits (28 adresses)
0000010100001100 00100010 10011110
12 34 158 5
Réseau (24 bits) Hôte (8 bits)
0000000011111111 11111111 11111111
255 255 255 0Masque
Adresse
Classless Inter-Domain Routing (CIDR)
60
Utilise deux nombres de 32 bits pour représenter un réseau
Identifiant réseau = Adresse IP + Masque
0000000000001100 00000100 00000000
0000000011111111 11111110 00000000Masque 255.254.0.0
Adresse 12.4.0.0
Préfixe réseau Hôtes
Hiérarchie CIDR
61
Les préfixes sont les clés du passage à l’échelle d’internetLes protocoles de routage et l’acheminement de paquets sont basés sur les préfixes Aujourd’hui, les tables de routages contiennent ~500,000 préfixes
12.0.0.0/8
12.0.0.0/16
12.255.0.0/16
12.1.0.0/1612.2.0.0/1612.3.0.0/16
12.254.0.0/16
12.3.0.0/24
...12.3.255.0/24
12.3.1.0/24
...
...
12.253.0.0/1912.253.32.0/1912.253.64.0/1912.253.96.0/1912.253.128.0/1912.253.160.0/1912.253.192.0/19
Agrégation
62
Les routeurs du reste de l’Internet ont juste besoin de savoir comment accéder à 201.10.0.0/21. Le fournisseur peut ensuite rediriger le paquet vers le client approprié selon l’IP
Fournisseur
A
BC
D
201.10.0.0/21
201.10.0.0/22
201.10.4.0/24201.10.5.0/24
201.10.6.0/23
Obtenir un bloc d’adresses
Séparation du contrôlePréfixe : affecté à une institution Adresse : affecté à un nœud par une institution
Qui affecte les préfixes ?Internet Corp. for Assigned Names and Numbers (ICANN)
Alloue de larges blocs aux RIRs Regional Internet Registries (RIRs)
Exemple : ARIN (American Registry for Internet Numbers) Alloue les blocs à un FAI ou une large institution
Fournisseur d’Accès Internet (FAIs) Alloue les adresses à leurs clients Qui peuvent, à leurs tours, les allouer à leurs clients
63
Agrégation pas toujours possible
64
Client multi-homé avec 201.10.6.0/23 possède deux fournisseurs. Le reste d’Internet doit pouvoir savoir comment accéder à cette destination à travers les deux fournisseurs
Fournisseur 1
A
BC
D
201.10.0.0/21
201.10.0.0/22
201.10.4.0/24201.10.5.0/24
201.10.6.0/23
Fournisseur 2
Passage à l’échelleAdressage hiérarchique
Essentielle pour passer à l’échelle Ne requiert pas que tout le monde connaisse tout le monde Réduit la quantité de mises à jour lorsque quelque chose change
Hiérarchie non-uniformeUtile pour les réseaux hétérogènes de différentes tailles L’adressage basé sur les classes conduisait à une perte d’adresses Classless Inter Domain Routing (CIDR) résout ce problème
65
Pré-CIDR (1988-1994)forte croissance
66
Croissance plus rapide que l’augmentation de la capacité des routeurs
Déploiement de CIDR (1994-1996) croissante ralentie
67
Début de l’agrégation des préfixes IP
CIDR (1996-1998) croissante linéaire
68
Bonne utilisation de l'agrégation
Boom Period (1998-2001)forte croissance
69
Boom de l'Internet et l'augmentation du multi-homing
Vue long-terme (1989-2005) Post-Boom
70
La croissance du nombre de préfixes IP
71
CIDR
pre-CIDR
Internetboom
Internetbust
recovery?
Vue long-terme (1989-2015)
72
Adressage IPv6 (Aperçu)
Pourquoi IPv6
74
Pourquoi IPv6
75
Espace d’adressage IPv6
76
340,282,366,920,938,463,463,374,607,432,768,211,456(340 Trillion Trillion Trillion)
4,294,967,296
vs
(4 Billion)
Source : http://www.google.com/intl/en/ipv6
Adresses IPv6
78
xxxx:xxxx:xxxx:xxxxgggg:gggg:gggg: ssss:
Les adresses IPv6 ont une longueur de 128 bitsElles sont segmentées en 8 groupes de 4 caractères hexadécimaux Les groupes sont séparés par un “:”
Portion réseau Identifiant d’interface
Préfixe de routage global Subnet ID Hôte
0000:0000:0000:1E2A2001:0000:0000: 00A1:Format complet
:::1E2A2001:0:0: A1:Format abbrégé
Syntaxe IPv6 (RFC 2373)
79
Les nombres hexadécimaux ne sont pas sensibles à la casse2001:0dB8:0000:130f:0000:0000:087c:AaAa
Les abréviations sont possibles2001:0db8:0000:130f::87c:aaaaLes zéros des blocs contigus peuvent être compressés en “::” Les doubles “::” ne peuvent apparaître qu’une seule fois
Seulement les zéros en tête de bloc peuvent être omis2001:db8:0:130f::87c:aaaa
IPv6 utilise la représentation CIDR2001:0db8:0000:130f:0000:0000:087c:aaaa/128
Syntaxe IPv6 (RFC 2373)
80
Représentation de l’adresse de loopback0:0:0:0:0:0:0:1 == ::1Pareil que 127.0.0.1 dans IPv4, permet à l’hôte de s’auto-identifier
Représentation d’adresse non spécifiée0:0:0:0:0:0:0:0 == ::Utilisée pour la requête initiale de DHCP ou le DAD (Duplicate Address Detection)
Représentation de la route par défaut::/0
Identifiant d’interface EUI-64
81
L’identifiant d’interface ou host id est défini selon :Un nombre généré aléatoirement En utilisant DHCPv6 En utilisant le format EUI-64 (Extended Unique Identifier)
00 90 27 17 FC 0F
00 90 27 FF FE 17 FC 0F
0000 00U0 bit U : 1 ID unique (donnée par IEEE) 0 ID pas unique (configurée par l’administrateur)
Portée des adresses IPv6
82
Une interface IPv6 a plusieurs adresses avec différentes portées
Global Unique local Link local
Multicast (ff00::/8)
Non routable, seulement sur le domaine liaison
(fe80::/64)
Routable au sein d’un domaine administratif (fc00::/7)
Routable sur l’Internet (2000::/3)
Types d’adresses IPv6
83
Type Binaire Hexadécimal
Global unicast address 001 2000::/3
Link local unicast address 1111 1110 10 fe80::/10
Site local unicast address (déprécié) 1111 1110 11 fec0::/10
Unique local unicast address 1111 110 fc00::/7
Multicast address 1111 1111 ff00::/8
Adresses link local
84
Interface ID54 bits restants = 0
Les adresses link local sont obligatoiresElles sont assignées automatiquement par l’interface en utilisation l’EUI-64 Elles ont seulement une portée locale, donc non rouables Les 54 bits restants correspondant au network ID peuvent être positionnés à zéro ou être configurés manuellement
10 bits 64 bits54 bits
1111 1110 10
fe80::/10
Adresses unique local
85
Interface IDGlobal ID
Les adresses unique local sont des adresses privéesComme dans IPv4 avec les adresses privées : 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12 Elles ont seulement une portée locale, les global ID et Subnet ID sont définis par l’administrateur du domaine
7 bits 64 bits40 bits
1111 110
fc00::/7
L
Subnet ID
16 bits
1 bit : L = 1 Assignation locale L = 0 Utilisation future
/64/48
Adresses global
86
Interface IDGlobal prefix
Les adresses global sont routables sur l’InternetComme dans IPv4, elles sont structurées avec une hiérarchie permettant de les agréger Le global prefix est donné à un FAI par l’IANA, le subnet ID est assigné à un client du FAI et le LAN ID représente un réseau dans le domaine du client
3 bits 64 bits29 bits
001
16 bits
LAN ID
Subnet ID
16 bitsFAI Site Client Hôte
/32
Assignation d’adresses IPv6
87
IPv6 fournit des mécanismes pour assigner des adressesConfiguration manuelle par un administrateur
Routeur IPv6
Nouvel hôte
Assignation d’adresses IPv6
88
IPv6 fournit des mécanismes pour assigner des adressesConfiguration manuelle par un administrateur SLAAC : IPv6 Stateless Address Auto-Configuration (RFC 2462)
Routeur IPv6
Nouvel hôte
1. Le routeur est configuré pour envoyer périodiquement des Router Advertisements annonçant les préfixes du réseau Le bit M pour utiliser SLAAC
2. À la réception d’un router Advertisement, le nouvel hôte configure son adresse à partir du préfixe annoncé et de son EUI-64 déduit de son interface MAC
O Other configuration flag
A Address config flag
M Managed address configuration flag
Assignation d’adresses IPv6
89
IPv6 fournit des mécanismes pour assigner des adressesConfiguration manuelle par un administrateur SLAAC : IPv6 Stateless Address Auto-Configuration (RFC 2462) DHCPv6 en utilisant multicast
Routeur IPv6
Nouvel hôte Serveur DHCPv6
1. Les Router Advertisements du routeur indiquent comment le client peut utiliser DHCPv6 : Le bit O pour récupérer la configuration du réseau (DNS, NTP) Le bit M pour récupérer une adresse IPv6
5. Reply4. Request3. Advertise2. Solicit
O Other configuration flag
A Address config flag
M Managed address configuration flag
O+M Stateful DHCP sans SLAAC O+A Stateless DHCP + SLAAC A SLAAC
DNS et IPv6
90
Avec IPv6, les principes de DNS sont les mêmes qu’avec IPv4Utilisation de records de type AAAA au lieu de records A pour IPv4 Les requêtes DNS peuvent retourner plusieurs adresses IPv6
Résolution de : IPv4 IPv6
Nom d’hôte vers adresse IP
A record www.abc.test. A 192.168.30.1
AAAA record www.abc.test AAAA 2001:db8:C18:1::2
Adresse IP vers nom d’hôte
PTR record 1.30.168.192.in-addr.arpa. PTR www.abc.test.
PTR record 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.8.1.c.0.8.b.d.0.1.0.0.2.ip6.arpa PTR www.abc.test
29.53%
16.41%
13.99%8.09%
16.07%
Source : http://www.google.com/intl/en/ipv6
14.43%
28.01%
29.7%
17.09%
Source : http://www.google.com/intl/en/ipv6
Acheminement de paquets IP
Acheminement de paquets “saut par saut”
94
Chaque routeur a une table d’acheminement (FIB)Faire correspondre les adresses destinations… … aux interfaces sortantes
À la réception d’un paquet :(1) Inspecter l’adresse destination du paquet (2) Rechercher l’entrée dans la table (3) Déterminer l’interface sortante (4) Acheminer le paquet vers la prochaine interface
Puis, le prochain routeur sur le chemin fait de mêmeEt le paquet est transmis le long du chemin vers la destination
95
Acheminement de paquets “saut par saut”
1
23
Table d’acheminement locale
Valeur d’entête Lien de sortie
0100 30101 20111 21001 1
Algorithme de routage
0111
Donné
es
Routage détermine les routes empruntées par les paquets
Algorithme de routage (OSPF, IS-IS, RIP, BGP…)
Acheminement (forwarding) déplace les paquets du port d’entrée vers le port de sortie approprié
Table d’acheminement (FIB)
Adresse de destination dans l’entête du paquet
Dans un routeur
96
Route Processor
1
2
3
N
1
2
3
N
Switching fabric
Les paquets sont traités en entrée
Interfaces
… …
Les paquets sont traités en sortie
Transfert des paquets d’un port
d’entrée vers un port de sortie
Interfaces
Les entrées et sortie pour un même port sont sur la
même interface
Dans un routeur
97
Route Processor
1
2
3
N
1
2
3
N
Switching fabric
Interfaces
… …
Installe les tables d’acheminement
dans les interfaces
Interfaces
Implémente les protocoles IGP et BGP et calcule les
tables de routage
Interfaces en entrée
98
Les interfaces en entrée reçoivent les paquets entrants
Elles mettent à jour l’entête IP (quels champs ?)TTL, Checksum, Options (pas obligatoire), Fragment (selon MTU)
Lookup du port de sortie pour l’adresse IP de destination
Place le paquet dans la file d’attente du switching fabric
Source IP address
Vers. Total Length (Bytes)
Header checksum
Options + padding
Data / payload
IHL ToS
Identification F Fragment offset
Time To Live Protocol
Destination IP address
Difficulté : rapidité
99
Interfaces à 40 Gbps et paquets de 100 octets -> acheminement d’un paquet toutes les 20 ns
Généralement implémenté par du matériel spécialisé ASICs, network processors spécialisés
D’où viennent les tables d’acheminement ?
100
Les routeurs ont des tables d’acheminementCorrespondance entre les préfixes et les interfaces sortantes
Les entrées peuvent être configurées statiquementExemple : 12.34.158.0/24 to Serial0/0.1
Mais, il n’y a pas d’adaptation …Aux pannes Aux nouveaux équipements Au besoin de répartir la charge …
D’où le besoin de protocoles de routage
Acheminement avec les classes
101
Identification du masque grâce à l’adressePremier bit à 0 Adresse de classe A (/8) Deux premiers bits à 10 Adresse de classe B (/16) Trois premiers bits à 110 Adresse de classe C (/24)
Ensuite, regarder la table d’acheminement pour trouver la correspondance
Exemple : 1.2.3.4 correspond à la classe 1.2.3.0/8 Ensuite, regarder l’entrée 1.2.3.0/8 de la table d’acheminement … pour identifier l’interface sortante
Longest Prefix Match
102
Table d’acheminement des routeurs IPFait la correspondance entre chaque préfixe IP et le prochain saut
Acheminement basé sur la destinationLes paquets ont une adresse de destination Les routeurs doivent identifier le préfixe le plus long … et faire un choix rapidement
Table d’acheminement
Lien sortantPaquet entrant12.34.158.5 Serial0/0.1
4.0.0.0/8
4.83.128.0/17
12.0.0.0/8
12.34.158.0/24
126.255.203.0/24
Le lookup dépend du protocole
103
Protocole Mécanisme Technique
MPLS, ATM, Ethernet Exact Match Search
Direct lookupAssociative lookup Hashing Trie
IPv4, IPv6 Longest-prefixmatch search
Radix trie Compressed trie Binary search on prefix intervals
Exact match search
104
Pour adresses L2 (label MPLS, Ethernet MAC)
Les entrées sont stockées dans des tables d’acheminement Potentiellement beaucoup d’entrées possibles (MAC : 48 bits)
AvantagesSimple et temps de lookup petit
InconvénientsUtilisation de la mémoire non efficace Temps de lookup non déterministe
IP lookups et longest prefix match
105
IP Lookup : trouver le longest matching prefix (la route la plus spécifique) parmi tous les préfixes qui matchent avec l’adresse de destination
65.0.0.0/8
128.9.0.0/16
128.9.16.0/21
128.9.176.0/24
128.9.172.0/21
142.12.0.0/19
0 232 -1128.9.16.14
IP lookup
106
Les tables de routage contiennent des paires (prefix, next hop)
Les adresses de destination des paquets ton comparées aux préfixes stockés dans la FIB
Le préfixe qui correspond à l’adresse de destination (matches) et qui est le plus long parmi ceux qui correspondent (longest) est la correspondance désirée
Le paquet est acheminé vers le prochain saut associé
Problème : ~ 500 000 préfixes
FIBPréfixe Next hop
10* 701* 5110* 31011* 50001* 50101 1* 70001 0* 10011 00* 31011 001* 21011 010* 30100 110* 60100 1100* 41011 0011* 81001 1000* 10
Adresse : 1011 0010 10000
L’algorithme basique est trop lent
107
Recherche dans la table d’acheminement une entrée à la foisVoir si la destination correspond à l’entrée Si c’est le cas, regarder la taille du masque pour le préfixe Choisir l’entrée avec le préfixe le plus long-partagé
Complexité de la recherche linéaire avec la taille de la table d’acheminement
Aujourd’hui, jusqu’à 500 000 entrées ! Et le routeur doit choisir un match en quelques nanosecondes … avant l’arrivée du prochain paquet
Besoin d’une meilleur efficacité afin de garder la cadence avec le taux d’arrivé des paquets
Meilleurs algorithmes Implémentations matérielles
LPM en exact match
108
Pour IPv4, utiliser 32 algorithmes exact match
Exact match pour /1
Exact match pour /2
Exact match pour /3
Exact match pour /32
Sélection PortAdresse
Arbres préfixes (tries)
109
Word Retrieval
Stocker les préfixes dans un arbreUn bit pour chaque niveau de l'arbre Certains noeuds correspondent à un préfixe valide ... qui indiquent le prochain saut
Quand un paquet arrive(1) Traverser l’arbre sur la base de l’adresse destination (2) Arrêtez après avoir atteint le préfixe correspondant le plus long
00*
0*
11*
0 1
0 0 1
Adresse : 1100 0010 10000Pointeur next-hop
Pointeur gauche
Pointeur droit
P5
Arbres préfixes (tries)
110
P2
P1
0 1
1
Adresse : 10111
FIBPréfixe Préfixe Port
111* P1 110* P2 21010* P3 310101 P4 4
Pointeur next-hopPointeur gauche
Pointeur droit 0
1
1
P3
0
P4
1
Propriétés du single-bit trie
111
Petite mémoire et durées de mise à jourLe problème principal est le nombre d’accès mémoire nécessaires 32 accès mémoire requis dans le cas de IPv4
Budget de approximativement 4 accès mémoireInterfaces à 40 Gbps et paquets de 100 octets -> acheminement d’un paquet toutes les 20 ns
4-ary trie (k = 2)
112
P2
P1 P1
10
11
Adresse : 10111
FIBPréfixe Préfixe Port
111* P1 110* P2 21010* P3 310101 P4 4
Pointeur next-hopPointeur
00Pointeur
01Pointeur
10Pointeur
11
11
P3
P4 P4
10
10
10
PARTICIA trie
113
P1
0
Adresse : 10111
FIBPréfixe Préfixe Port
111* P1 110* P2 21010* P3 310101 P4 4
Bit position | Pointeur next-hop
Pointeur gauche Pointeur droite
2 1
Practical Algorithm To RetrIeve Coded Information in Alphanumeric
Supprime les noeuds internes avec un seul enfant Encode la position du bit pour déterminer le bon branchement
33
P2
0
5
1
P4
0 1
P3
1*
10* 111*
1010*
100*
10100* 10101
Amélioration de performances
114
Les arbres préfixes sont plus rapides qu’un scan linéaireRecherche proportionnelle au nombre de bits de l’adresse
La recherche peut être encore plus rapideFaire des arbres à k-enfants, ex : un arbre à 4 enfants (00, 01, 10 et 11) Recherche rapide, mais nécessite plus d'espace
On peut utiliser du matériel spécialiséContent Addressable Memories (CAMs) : permet des recherches sur une clé plutôt que l'adresse destination
Beaucoup d’innovations vers la fin des années 1990Après l’introduction de CIDR (en 1994) … où la recherche du plus long préfixe partagé était devenu le nouveau goulot d’étranglement
Différence entre routage L2 et L3
115
Routage L3
Entête L2 enlevée -> Adresse IP TTL -= 1, calcul du checksum, lookup pour routage et réassemblage du datagramme IP Coûteux en temps ! Pas d’entrée -> Jeter le paquet
Routage L2
Lookup et acheminement rapides Pas d’entrée -> Broadcast
FIB FIB
dataETH dataIP
À l’intérieur d’un routeur IP
117
PWR OK
FAULT
TEMP
I LIM
PWR OK
FAULT
TEMP
I LIM
PWR OK
FAULT
TEMP
I LIM
ALARMENABLED FAIL
ACO/LT
AL
AR
M
CSC
0FAIL
10
12
ENABLED
CRITICALMAJORMINOR
SFC
ACTIVE
0CARRIER
RX PKTACTIVE
1CARRIER
RX PKTACTIVE
2CARRIER
RX PKTACTIVE
3CARRIER
RX PKT
Q O
C-3
/ST
M-P
OS
6DS3–SMB P /H/F
DOWN
LOOPRA
LA
CDHNTCD
TX0RX
TX1RX
TX2RX
TX3RX
TX4RX
TX5RX
12DS3–SMB P /H /F
DOWN
LOOPRA
LA
CDHNTCD
TX0RX
TX1RX
TX2RX
TX3RX
TX4RX
TX5RX
TX6RX
TX7RX
TX8RX
TX9RX
TX10RX
TX11RX
ACTIVECARRIERRX PKT
OC
-48
/ST
M-1
6-S
CP
OS
ACTIVE
0CARRIER
RX CELL
OC
-12/S
TM
-4 A
TM
FA
ST
ET
ER
NE
T
SLOT-0
RO
UT
E P
RO
CE
SS
OR
SLOT-1COLL
LINKTX
RXRJ-45
MII
RESET
AUX
CONSOLE
EJECT
SLOT-0
RO
UT
E P
RO
CE
SS
OR
SLOT-1
COLL
LINK
TX
RXRJ-4
5
MII
RESET AUX
CONSOLE
EJECT
FA
ST
ET
ER
NE
T
ACTIVE
0CARRIER
RX CELL
OC
-12/S
TM
-4 A
TM
ACTIVE CARRIER RX PKT
OC
-48
/ST
M-1
6-S
CP
OS
12DS
3–SM
B P/H
/FDO
WN
LOOP
RALA
CDHNT
CD
TX0RX
TX1RX
TX2RX
TX3RX
TX4RX
TX5RX
TX6RX
TX7RX
TX8RX
TX9RX
TX10RX
TX11RX
6DS3
–SM
B P/H
/FDO
WN
LOOP
RALA
CDHNT
CD
TX0RX
TX1RX
TX2RX
TX3RX
TX4RX
TX5RX
ACTIVE
0CARRIER
RX PKTACTIVE
1CARRIER
RX PKTACTIVE
2CARRIER
RX PKTACTIVE
3CARRIER
RX PKT
Q O
C-3
/ST
M-P
OS
ALAR
MENABLE
DFAIL
ACO/LT
AL
AR
M
CSC
0FAIL
10
12
ENABLED
CRITICAL MAJOR MINOR
SFC
À quoi ressemble un gros routeur ?
Line cards
Line cards
Power
Power
Routing engines
Switching fabric
Line cards
Juniper T320 (front) Juniper T320 (rear) Cisco 12016 Series (front)
Switching fabric
Routing engines
118
Processus du protocole de routage
Table d’acheminement (forwarding table)
Plan contrôle (Routing engine)
Table(s) de routage
Plan données (Packet forwarding
engines)
Paquet entrant Paquet sortant
Mises à jour de la table d’acheminement avec les routes actives
Paquets des protocoles de routage du réseau
Plan de contrôle vsPlan de
données
Composants d’un routeur
119
Processor
Line card
Line cardLine card
Line card
Line card
Line card
Line card
Switching fabric
Juniper Routing Engine 2000 Juniper T320 SIB
Juniper1-Port Gigabit Ethernet PIC
120
Packet in
Packet out
NICL2/L3 Packet
processing ASIC
Switch interface
ASIC
Route look-up
processor ASIC
Queuing + memory interface
ASIC
Switch interface
ASIC
RDRAMQueuing +
memory interface
ASIC
Switch fabric
route lookup key
databuffering
NICL2/L3 Packet
processing ASIC
Switch interface
ASIC
Queuing + memory interface
ASIC
Route look-up
processor ASIC
Switch interface
ASIC
RDRAMQueuing +
memory interface
ASIC
Switch fabric
route lookup key
databuffering
next hop
bandwidth grant
Line Cards (Network Interface Cards, Adaptors)
121
Interface entre :Lien physique Switching fabric
Manipulation de paquetsAcheminement (forwarding) Décrémenter le Time-to-Live (TTL) Gestion du buffer Ordonnancement des liens Flitrage des paquets Limitation de débit Marquage de paquets Mesures
De/Vers lien physique
De/Vers routeur
look-up
Réce
ptio
n
Transmission
Juniper1-Port Gigabit Ethernet PIC
Switching fabric
122
Livraison du paquet à l’intérieur du routeurD’une interface entrante vers une interface sortante Composé d’un petit réseau
Doit être très rapidePlusieurs paquet traversent les mêmes interfaces Changer l’ordonnancement des paquets pour faire corresponde les interfaces entrantes et sortantes
Techniques d’implémentationBus, crossbar, réseau d’interconnexions Plus rapide que les liens (2 fois) Divise les paquets de taille variable en cellules
Juniper T320 SIB
Cisco QQ123-140G
Switching fabric
123
2
34
1
choose egress
choose egress
choose egress
choose egress
Link 1, ingress
Link 2, ingress
Link 3, ingress
Link 4, ingress
Link 3, egress
Link 2, egress
Link 1, egress
Link 4, egress
3
Router processor
124
Interface “loopback”Correspond à l’adresse IP du processeur du routeur
Logiciel du plan contrôle Implémentations de protocoles de routage Création de la table d’acheminement pour les interfaces
Interface pour les administrateurs réseauCommand-line interface (CLI) pour configurer le routeur Transmission des statistiques mesurées
S’occuper des paquets spéciauxPaquets avec un champ option Paquets avec un TTL expiré
Cisco Gigabit Route Processor
Juniper Routing Engine 2000
SLOT-0
GIGABIT ROUTE PROCESSOR
SLOT-1
COLL
LINK
TX
RX
RJ-45
MII
RESET
AUX
EJECT
U17
U42
U39
NATNetwork Address
Translation
Réseau local 10.0.0/24
Reste de l’Internet
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4138.76.29.7
Tous les paquets quittant le réseau utilisent la même adresse source, l’adresse IP publique de la gateway: 138.76.29.7, avec des numéros de port source différents
Les hôtes d’extrémités envoient des paquets avec pour adresse
source leur adresse IP privée (dans 10.0.0/24)126
NAT
NAT
127
Motivation : le réseau local utilise une seule adresse IP pour communiquer avec le monde extérieur et :
Peut modifier les adresses des équipements locaux sans en avertir le monde extérieur
Peut changer de FAI sans changer les adresses des équipements dans le réseau local
Les équipements à l'intérieur du réseau local ne sont pas explicitement adressables, i.e., visibles par le monde extérieur (un peu plus de sécurité)
NAT
128
Implémentation : le routeur NAT doit :
Paquets sortants : Remplacer (@IP source, # port) de chaque paquet sortant par (@IP Gateway, nouveau # port) Les clients/serveurs distants répondront avec (@IP Gateway, nouveau # port) comme adresse de destination
Se souvenir de chaque association dans un tableau NAT(@IP source, # port) -> (@IP Gateway, nouveau # port)
Paquets entrants :remplacer (@IP Gateway, nouveau # port) des champs adresse/port destination par la correspondance (@IP source, # port) mémorisée dans le tableau NAT
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
129
S: 10.0.0.1, 3345D: 128.119.40.186, 80
S: 128.119.40.186, 80 D: 10.0.0.1, 3345
S: 128.119.40.186, 80 D: 138.76.29.7, 5001
S: 138.76.29.7, 5001D: 128.119.40.186, 80
Table de correspondance NATAdresse WAN Adresse LAN TTL138.76.29.7,
500110.0.0.1,
3345 256
... ...
1
Hôte 10.0.0.1 envoie un paquet à 128.119.40.186, 80
2
Le routeur NAT change les champs adresse/port source de 10.0.0.1, 3345 vers 138.76.29.7, 5001
3Adresse/port destination 138.76.29.7, 5001
4Le routeur NAT change les champs adresse/port destination de138.76.29.7, 5001 vers 10.0.0.1, 3345
NAT
NAT
130
Le numéro de port est codé sur un champ de 16 bits : 60 000 connexions simultanées avec une seule adresse IP
NAT est sujet à la controverse :Les routeurs ne devraient pas aller au delà de la couche 3 Enfreint le principe du bout en bout
Les concepteurs d’applications réseaux doivent prendre en compte l’utilisation des NAT (ex : applications P2P)
La pénurie d’adresse IP devrait plutôt être résolue avec IPv6
Conclusions
131
BoostrappingApprendre les paramètres du réseau (sa propre adresse IP et masque, la gateway, les serveurs DNS) Apprendre sur les autres hôtes à partir de ce que l’on sait (adresses IP, adresses MAC)
Adresse IPUn nombre de 32 bits, alloué en préfixe, suivant une hiérarchie non uniforme pour l'évolutivité et la flexibilité
Acheminement de paquetsBasé sur les préfixes + Longest-prefix-match