Académique Documents
Professionnel Documents
Culture Documents
Internet
TCP/IP
1
Pr. K. ZENKOUAR
historiques
• C’est quoi Internet ?
–Le plus grand réseau des réseaux dans le
monde,
–Utilise la commutation par paquets et les
protocoles TCP/IP,
–Fonctionne sur toutes les technologies
matérielles.
2
Historique du réseau Internet
• Origine: le projet ARPANET initié par la défense américaine et
subventionné par l’agence ARPA en 1969
3
Nombre de machines connectées
• 1977: 111 hosts on Internet
• 1981: 213 hosts
• 1983: 562 hosts
• 1984: 1,000 hosts
• 1986: 5,000 hosts
• 1987: 10,000 hosts
• 1989: 100,000 hosts
• 1992: 1,000,000 hosts
• 2001: 150 – 175 million hosts
• 2002: over 200 million hosts
• 2010, about 80% of the planet will be on the Internet
4
Historiques
Architecture développée par la DARPA (Defence Advanced
Research Project Agency), milieu des années 1970,
IP : Internet Protocol - résout les problèmes
d'interconnexion en milieu hétérogène (1974),
TCP : Transmission Control Protocol - protocole de transport
de l'Internet (de bout en bout),
TCP/IP est intégré à Unix BSD 4 (Berkeley) en 1980,
TCP/IP est intégré à ARPANET en 1983,
Aujourd'hui, TCP/IP est devenu le standard d'Internet
(Internet pour Inter-Networking).
5
Les instances de normalisation
Principaux organismes
• ISOC “Internet Society”
– Organisation principale chargée de la croissance, de l’évolution
technique, des aspects sociaux, politiques, ...
• IAB “Internet Architecture Board”
– Définition de l’architecture du réseau et de ses protocoles. Arbitrage
des conflits.
• IESB “Internet Engineering Steering Group”
– Administre les normes sur proposition de l’IETF.
• IETF "Internet Engineering Task Force“
– Définition, expérimentation des protocoles, groupes de travail par
domaines.
– RFC “Request For Comments” : normes de l’Internet.
• IRTF “Internet Research Task Group”
– Recherche à long terme.
6
Les instances de normalisation
Principaux organismes
• Le contrôle de l’Internet : Gestion des noms, adresses et
paramètres
– IANA “Internet Assigned Number Authority”
– Puis ICANN “Internet Corporation for Assigned Names and Numbers”
– Organisme chargé de l’affectation des adresses, paramètres, ... pour
l’ensemble des protocoles Internet
– Politique de gestion : adresses, noms de domaines, définition des MIB
(“Management Information Base”)… etc
– Délégation de certains responsabilités RIR (Regional Internet
Registries)(espace d’adresses)
• Amérique : INTERNIC "Internet Network Information Center".
• Europe : RIPE NCC "Réseaux IP Européens Network Computing Center"
• Asie : APNIC “Asia Pacific Network Information Center”.
– Les RIRs alloueront des blocs d’adresses à des LIR (Local Internet Registries) qui
les distribueront aux utilisateurs finaux de leur pays.
7
Régions de couverture des IRs
8
TCP/IP
9
Description générale de la pile TCP/IP
10
Description générale de la pile TCP/IP
• Les principaux protocoles et applications de l’environnement T CP/IP sont:
– HTTP, Hyper Text Transport Protocol, assure le transfert de fichiers hypertextes
entre un serveur Web et un client Web,
– FTP, File Transfer Protocol, est un système de manipulation de fichiers à
distance(transfert, suppression, création...),
– TELNET, TELetypewriter NETwork protocol (ARPA) ou TERminaL NETwork
protocol, système de terminal virtuel ,permet l’ouverture de sessions avec des
applications distantes,
– SMTP, Simple Mail Transfer Protocol, offre un service de courrier électronique,
– TFTP, Trivial FTP, est une version allégée du protocole FTP,
– DNS, Domain Name System, est un système de bases de données réparties
assurant la correspondance d’un nom symbolique et d’une adresse Internet
(adresseIP),
– RIP, Routing Information Protocol, est le premier protocole de routage (vecteur
distance) utilisé dans Internet,
11
Description générale de la pile TCP/IP
– SNMP, Simple Network Management Protocol, est devenu le standard
des protocoles d’administration de réseau,
– ICMP, Internet Control Message Protocol, assure un dialogue IP/IP et
permet notamment: la signalisation de la congestion, la
synchronisation des horloges et l’estimation des temps de transit….,
– ARP, Address Resolution Protocol, est utilisé pour associer une
adresse logique IP à une adresse physique MAC (Medium Access
Control, adresse de l’interface dans les réseaux locaux),
– RARP, Reverse Address Resolution Protocol, permet l’attribution d’une
adresse IP à une station,
– OSPF, Open Shortest Path First, est un protocole de routage du type état
des liens, il a succédé à RIP,
– SLIP, Serial Line Interface Protocol, protocole d’encapsulation des
paquets IP, il n’assure que la délimitation des trames,
– PPP, Point to Point Protocol, protocole d’encapsulation des
datagrammes IP, il assure la délimitation des trames, identifie le
protocole transporté et la détection d’erreurs. 12
Les mécanismes de base de TCP/IP
13
Les mécanismes de base de TCP/IP
• Couche réseau en mode non connecté (mode
datagramme).
– Allèger au maximum la couche réseau (internet),
– Optimiser l’utilisation des ressources réseaux,
– N’assure ni un contrôle d’erreur, ni un contrôle de
flux.
16
Identification des protocoles dans TCP/IP
17
Identification des protocoles dans le modèle
TCP/IP
• Un adressage de couche organise le dialogue vertical
(idem la notion de SAP dans le modèle OSI),
• Chaque unité protocolaire de TCP/IP identifie le
protocole ou l’application supérieure,
• L’EtherType des trames « Ethernet V 2 » identifie le
protocole du niveau réseau,
• L’identifiant de protocole dans le datagramme IP
désigne le protocole de transport utilisé,
• La notion de port dans le segment TCP détermine
l’instance locale de l’application.
18
Identification des protocoles dans le
modèle TCP/IP
19
L’ADRESSAGE DU RÉSEAU LOGIQUE
ADRESSAGE IP
20
PRIncIPE DE L’ADRESSAGE IP
• Chaque machine ou nœud raccordée au réseau logique IP, est
identifiée par un identifiant logique ou adresse IP (@IP) indépendant
de l’adressage physique utilisé dans la couche accès réseau,
• Le réseau logique IP masque le réseau physique, pour assurer
l’acheminement des données,
• Il est nécessaire de définir des mécanismes de mise en relation de
l’adresse logique avec l’adresse physique correspondante (résolution
d’adresses, exp: protocole ARP ).
• L'adresse MAC physique et l'adresse IP logique sont toutes deux
requises pour que l'ordinateur communique sur un réseau
hiérarchique, Exp: le nom et l'adresse d'une personne pour envoyer une lettre.
21
PRIncIPE DE L’ADRESSAGE IP
But :
Fournir un service de communication universel permettant
à toute machine de communiquer avec toute autre machine
25
PAR cLASSES : ‘Classfull’
• L’adressage IP V4 par classes “IP Classfull” RFC 791 (1981)
• Hiérarchisation de base des adresses avec deux niveaux
(id_network, id_host)
• Réseaux de types et de tailles très différentes:
– Distinction de trois classes principales A, B, C selon les tailles de
réseau,
– Trois frontières différentes entre adresse de réseau et adresse
d’hôte.
27
Structure d’une adresse IP
0 31
Identifiant Réseau Identifiant Machine
• La partie réseau: est un identifiant commun pour
un groupe de machines connecté sur le même
réseau physique et/ou logique,
• La partie host: identifie une machine donné dans le
réseau physique et/ou logique, identifié par
l’identifiant réseau.
Classe D 1 1 1 0 Multicast IP
Classe E 1 1 1 1 0 Réservé
29
Classe A : Grands réseaux
0 Id_Net Id_Host
8 bits pour les numéros de réseau (le premier bit a
zéro)
• 127 réseaux :De 1.0.0.0 à 126.0.0.0,
• Les réseaux 0 et 127 sont réservés.
24 bits pour l’adressage des hôtes
• 1.0.0.1 à 126.255.255.254,
• (224) - 2 = 16.777.214 machines,
• N°d’hôte: a.0.0.0 et a.255.255.255 réservés.
Plan d’adressage réservé aux très grands groupes
• 17.0.0.0 (Apple) - 18.0.0.0 (MIT).
30
Classe B : Réseaux moyens
0 1 16 31
0 1 Id_Net Id_Host
34
Résumé
Il est facile de déterminer la classe utilisée ,Selon la valeur des bits du
premier octet représentant l'adresse réseau IP
35
Adressage IP
La notation décimal d’une adresse IP:
Une adresse IP est noté par 4 chiffres séparés par des
points, chaque chiffre représente un octet de l’adresse IP.
193 . 194 . 64 . 71
36
La notion de masque réseau
• Objectif: connaitre le réseau associé a une adresse IP,
37
La notion de masque réseau
• Calcul de l’identifiant réseau en fonction du masque de réseau
– Utilisation du ET logique (and logique)
– Exp: adresse classe C : 200.100.50.23
• ‘’1’’ bit vérifié réseau
• ‘’0’’ bit ignore hôte
• Bits réseau poids fort
• Bits hôte poids faible
38
La notion de masque réseau
Une autre notation du masque d’une adresse:
Puisque le masque est constitué d’une suite contiguë de
1 suivi d’une suite de 0, l’information utile donc est le
nombre de 1 dans le masque,
39
La notion de masque réseau
Les masques associés aux 3 classes d’adresses IP sont
respectivement:
40
Adresses particulières
L’adresse réseau: la partie host =0
1100 0001 1100 0010 0100 0000 0000 0000 193.194.64.0
Adresses Privés.
42
Adresses publiques
Pour permettre l’interconnexion des réseaux, il
faut garantir l’unicité des adresses,
43
Adressage Privé
Ils peuvent être utilisé si (RFC 1918) :
Le réseau n’est pas connecté à Internet,
Sur un réseau avec un FireWall.
Il sera dans tous les cas impossible de connecter
directement à l’Internet un tel réseau,
Il faudra utiliser un traducteur d’adresse NAT Network Address
translation
Le NAT est l’interface entre un réseau privé et un réseau public
44
Adressage Privé
45
Inconvénients
• Gaspillage d’adresses dans les années 1980
- L’espace d’adressage paraissant très suffisant,
- Les adresses ont été distribuées sans prévoir.
• Les besoins exprimés par les entreprises sont
souvent:
– Supérieurs à la classe C sans justifier la classe B,
– Si attribution de plusieurs classes C : gonflement des tables
de routage => Attribution de classe B
• Hiérarchisation à deux niveaux (id-réseau, id-hôte)
• L’adressage IPV4 par classes sur 32 bits (4 294 967
296 adresses) est devenu tout à fait inadapté.
46
Adressage par sous-réseaux
“IP Subnetting” RFc 950 (1985)
47
Le sous adressage (subnetting)
• Hiérarchisation à trois niveaux:
• Possibilité offerte de structurer l’espace d'adressage
interne à un réseau de classe A, B ou C en deux niveaux,
• Trois notions :
– Réseau,
– Sous-réseau,
– Hôte,
48
Le sous adressage (subnetting)
• Objectifs:
– Mieux structurer un espace d’adressage interne,
– Sans impact sur l’Internet mondial,
– Eviter des demandes de blocs d’adresses,
– Éviter le gaspillage des adresses nœuds d’un réseau,
– Utiliser des supports physiques différents,
– Réduire le trafic sur le réseau,
– Isoler une partie du réseau en cas de défaillance
d'un composant du réseau,
– Augmenter la sécurité.
49
Le sous adressage (subnetting)
• Le sous-adressage est une extension du plan d’adressage
initial qui permet de mieux gérer les adresses.
• Le principe est qu’une adresse de réseau d’une classe A, B
ou C peut être découpé en plusieurs sous-réseaux.
0 31
Partie Réseau Partie hôte
0 31
Partie Réseau Partie sous-réseau Partie hôte
50
Le sous adressage (subnetting)
Une adresse IP comporte désormais 3 partie:
• L’identifiant réseau: il a la même signification que celui
du plan d’adressage initial.
• L’identifiant du sous-réseau: identifie un segment ou un
sous-réseaux.
• L’identifiant de la machine : identifie la machine sur le
segment ou le sous-réseaux.
8 24-N N
Réseau Sous-réseau Hôte Classe A
16 16-N N
Réseau Sous-réseau Hôte Classe B
24 8-N N
Réseau Sous-réseau Hôte Classe C
52
Le sous adressage (subnetting)
• une station d’un réseau logique IP doit connaître
– Son à dresse IP;
– Le masque de sous-réseau;
– L’adresse de la passerelle locale (routeur)
53
Le sous adressage (subnetting)
• Pour déterminer si la machine cible est localisée sur le même sous-
réseau,
• La machine source réalise un « ET » logique entre les bits l’adresse et
ceux du masque de sous-réseau,
54
Le sous Adressage
Calcul des adresses avec le sous adressage
Le sous-adressage consiste à déterminer :
• Le masque adéquat pour le sous-réseau,
• Le calcul des sous-réseaux correspondants:
Calculer l’adresse du sous-réseau,
Calculer l’adresse de diffusion correspondante,
Déterminer les adresses utilisables.
• Deux méthodes existent :
Le calcul binaire,
Le calcul décimal.
55
Le sous-adressage
Exemple de calcule des sous-réseaux d’une adresse
réseau donnée:
Nous voulons découper le réseau de classe C
192.168.64.0/24 en 8 réseaux de 30 machines pour
chaque réseau,
56
Le sous adressage
Quelque rappel sur le calcule binaire:
Une adresse IP est un entier sur 32 bit, et donc elle est
décomposé en une somme de puissances de 2:
1 1 0 1 1 0 1 1
57
Le sous adressage
• Les masques qu’on peut utiliser sont donc:
Dernier octet du Masque Écriture binaire
0 00000000
128 10000000
192 11000000
224 11100000
240 11110000
248 11111000
252 11111100
254 11111110
255 11111111
58
Le sous adressage
Algorithme de calcul des sous-réseau:
1. Déterminer le nombre de bits dans la partie sous-réseau qui permet
d’avoir le nombre de sous-réseaux voulu,
2. Déterminer le nombre de bits dans la partie machine qui permet d’avoir
le nombre de machines souhaité,
3. Déterminer le masque qui va être utilisé pour ses sous-réseaux,
4. Écrire sous forme binaire l’adresse IP initial,
5. Écrire sous forme binaire le masque initial,
6. Écrire sous forme binaire le nouveau masque,
7. Déduire les adresses de sous-réseaux en incrémentant la partie de sous-
réseau dans l’adresse initial.
8. Déduire l’adresse du broadcast en remplaçant par des 1 tous les bits de
la partie machine de l’adresse IP,
9. Enfin déduire les adresses utilisables.
59
Le sous adressage
60
Le sous adressage
Notation décimal 0 24 27 31
65
Le sous adressage
Adresse sous- Adresse
Les adresse valides
réseau broadcast
192.168.64.0 192.168.64.31 192.168.64.1 192.168.64.30
192.168.64.32 192.168.64.63 192.168.64.33 192.168.64.62
192.168.64.64 192.168.64.95 192.168.64.65 192.168.64.94
192.168.64.96 192.168.64.127 192.168.64.49 192.168.64.62
192.168.64.128 192.168.64.159 192.168.64.129 192.168.64.158
192.168.64.160 192.168.64.191 192.168.64.161 192.168.64.190
192.168.64.192 192.168.64.223 192.168.64.193 192.168.64.222
192.168.64.224 192.168.64.255 192.168.64.241 192.168.64.254
66
Le sous adressage
• 192.168.1.0/24
67
Le sous adressage
Réseau Adresse Masque de Première Dernière Adresse de
réseau sous-réseau adresse IP adresse IP diffusion
décimal utilisable utilisable
68
Le sous adressage
• 192.168.1.0/24
69
Le sous adressage
• 192.168.1.0/24
70
Le sous adressage
• Avantages
– Les tables de routages de l’Internet ne croissent pas en taille
(seuls les routeurs internes gèrent les sous réseaux),
– L’espace d’adressage privé est mieux géré (lors de la création de
nouveaux réseaux on évite de demander des adresses),
– Si un réseau modifie sa structure interne il n’est pas nécessaire
de modifier les routes dans l’Internet.
• Inconvénients
– Il faut gérer le masque en plus de l’adresse,
– On ne définit qu’une seule façon de hiérarchiser les adresses :
rigidité du découpage (un seul pour toute l’entreprise => difficile
à changer).
71
Le sous adressage
• 192.168.1.0/24
72
VLSM
74
Masques de longueur variable : VLSM
• Besoin: créer des sous réseaux de taille différente.
• La solution: VLSM Variable Length Subnet Mask (RFC
1009 en 1987) :
– Masques de taille variable,
– Chaque sous-réseau possède sa propre taille.
• Pour déterminer correctement le numéro de réseau
quelque soit sa taille:
– Le protocole de routage interne doit utiliser un masque
(un préfixe étendu) différent pour chaque sousréseau,
– Il doit transférer ces masques dans chaque route.
75
Problèmes posés par VLSM :
Correspondance la plus longue
• Recherche de "correspondance la plus longue« (‘Longest Match
Based Forwarding Algorithm’)
– Au cas ou plusieurs routes sont dans une table,
– La route de plus long préfixe est la plus précise.
• La route de plus long préfixe doit être sélectionnée et utilisée.
• Exemple :
datagramme vers l'hôte 136.1.6.5 avec 3 routes vers les
destinations suivantes :
– 136.1.0.0/16 : 10001000 00000001
– 136.1.4.0/22 : 10001000 00000001 000001
– 136.1.6.0/23 : 10001000 00000001 0000011
78
CIDR
• CIDR= Classless Inter Domain Routing
Le besoin:
Au début de l’Internet, Les adresses IP allouées pour les
Grands FAI et les Grandes firmes étaient des adresses de
classe B.
Au début des années 90 ce types d’adresses commençaient à
devenir rares, et les adresses de classe C étaient
insuffisantes pour ce type d’organisations.
79
Routage sans classe : CIDR
‘Classless Inter Domain Routing’
Problème récurrent après 1990 (web) en IP v4:
• Saturation de l'espace d'adressage,
• Croissance de la taille des tables de routage (encombrement
des tables de routage).
Solution : Hiérarchisation complète des adresses IP v4.
– Extension de l’approche VLSM à tout l’espace d’adressage de
l’Internet,
– Suppression des frontières établies par l’adressage en classes
(classless),
– Mettre en œuvre un mécanisme d’affectation géographique des
adresses de classe C non attribuées,
– En améliorant l’utilisation des adresses encore disponibles,
– En diminuant le volume des tables de routage par agrégation des
routes.
CIDR : RFC 1517 à 1520 (1993). 80
Allocation géographique des adresses de classe C
81
L’adressage géographique ou CIDR
82
L’adressage géographique ou CIDR
• Exemple:
• Pour l’Europe on a attribué les adresses 194 et 195 (les 7 premiers
bits identiques),
88
CIDR
Le bloc 193.194.64.0/19 regroupe les adresses de
192.168.64.0 jusqu’à 192.168.95.0
0 8 16 19 24 31
1100 0001 1100 0010 010 0 0000 0000 0000 : 193.194.64.0
1100 0001 1111 1111 111 0 0000 0000 0000 : 255.255.224.0
192.168.64.0
.1 .2 .3 .4
Internet P A B C
.1
192.168.65.128 .6 .2 .9
192.168.64.0/23 D E F
Un site avec deux réseaux physiques utilisant le super adressage de
manière à ce que ses deux réseaux soient couverts par une seule
adresse IP.
La passerelle P accepte tout le trafic destiné au réseau 193.194.64.0/23
et sélectionne le sous-réseau en fonction du troisième octet de
l’adresse destination. 90
Application de CIDR :
• Distribution des adresses de classe C restantes
• Adresses restantes : dans la classe C (peu de demandes).
• Solution d’administration: séparer les classe C restantes
en quatre catégories administrées par continent.
– 194.0.0.0 - 195.255.255.255 Europe RIPE
– 198.0.0.0 - 199.255.255.255 Amérique nord et sud ARIN
– 200.0.0.0 - 201.255.255.255 //
– 202.0.0.0 - 203.255.255.255 Asie Pacifique APNIC
• Distributions indépendantes par région de blocs de taille
quelconque aux FAI.
• Agrégation de routes: une adresse 194.x.y.z doit être
envoyée sur un routeur européen.
91
CIDR
• CIDR alloue efficacement les adresses IP v4
– CIDR permet de repondre assez finement aux demandes d’ @IP,
– Récupération d'anciennes adresses A, B ou C,
– Un prestataire Internet attribue librement ses adresses,
– La découpe peut opérer à tous les niveaux.
.1
.2
94
Récapitulatifs
• Améliorations successives pour palier aux problèmes:
– Demande d’adresses IP à satisfaire (croissance très rapide),
– Nombre de réseaux IP également en croissance : taille des
tables de routage.
• Solution: Hiérarchiser de plus en plus l’adressage en
relation avec le routage => Quatre étapes successives
– Hiérarchisation à deux niveaux :
• Adressage par classes ‘Classfull’,
– Hiérarchisation à trois niveaux :
• Adressage IP par sous réseaux ‘Subnetting’,
– Hiérarchisation complète à n niveaux de l’adresse d’hôte:
• Adressage IP avec masque variable VLSM (‘Variable lenght Subnet
mask’),
– Hiérarchisation complète à n niveaux de l’adresse IP
• Adressage IP sans class CIDR (‘Classless Inter Domain Routing’).
95
Protocole IP
96
Structure du datagramme IP
• IP (Internet Protocol) a été défini par la RFC791,
C’est un protocole de niveau réseau qui a pour
objet l’interconnexion des réseaux hétérogènes
98
Structure du datagramme IP
0 DF MF
99
Structure du datagramme IP
100
Structure du datagramme IP
• Version 4 bits
– Numéro de version d'IP (généralement 4 pour IPv4)
– Permet de faire cohabiter plusieurs versions (transition)
• IHL: Internet Head Length 4 bits
– Longueur de l'en-tête du datagramme (en nombre de mots
de 32 bits, 4 octets)
– Lorsqu’aucune option n’est invoquée est 5 (20 octets).
• TOS: Type Of Service 8 bits
– Pour distinguer différentes classes de services (niveaux de
priorités) -> compromis entre fiabilité, délai et débit,
– Champ ignoré par la plupart des routeurs.
101
Structure du datagramme IP
• LEN : total LENgth field 16 bits
– longueur totale du datagramme en octets
– au maximum 65535 octets.
105
Fragmentation
• La fragmentation d'un datagramme se fait au niveau
des routeurs,
• Si le datagramme est trop grand pour passer sur le
réseau (exp: Ethernet MTU 1500 X25 MTU 128 ),
• Le routeur découpe le paquet en fragments de tailles
inférieures au MTU du réseau et de telle façon que la
taille du fragment soit un multiple de 8 octets.
106
Fragmentation
• Le champ identification (ID) sur 16 bits :
– La valeur du champ ID, attribuée par la source, est générée
de manière aléatoire par un algorithme initialisé par l’heure
système,
108
Fragmentation
• Position du fragement: Offset (13bits)
– Ce champ sert pour la fragmentation,
– En multipliant sa valeur par 8, on obtient la position
dans le datagramme d’origine du premier octet de
données de ce datagramme,
– Le déplacement est différent de 0 uniquement si le
datagramme a été fragment,
– Il vaut 0 si le datagramme n’est pas fragmenté ,ou si
c’est le premier fragment,
– On reconnaît un datagramme non fragmenté lorsque le
bit More est à 0 et que le offset est à 0.
109
Fragmentation
• Exemple :
– Pour une MTU de 128 octets (MTU d’un paquet X.25),
– La charge utile (niveau IP) ne peut être que de 108 octets (128
- 20 d’en-tête IP),
– Soit une taille effective de 104 octets (13× 8)(champ offset),
110
fragmentation
111
Protocoles de
contrôle de l'Internet
112
ICMP (RFC 792 )
• Le protocole ICMP (Internet Control Message
Protocol) permet:
– Informer d’une erreur réseau (message d’erreur),
– Formuler une demande d’état à un système (message
d’information),
– Permet de pallier au manque de service d'IP,
– Les messages ICMP sont encapsulés dans un
datagramme IP (Protocole = 1),
– Utilisé par des utilitaires (ping, traceroute,……).
113
ICMP (RFC 792 )
• ICMP est un protocole de signalisation,
• ICMP permet d’envoyer des messages de contrôle
d’erreur vers d’autre machine ou passerelles,
• ICMP fait partie du protocole IP et doit être
implémenté dans chaque IP,
• Si une passerelle détecte un problème sur un
datagramme elle détruit le message, et émet un
message ICMP pou informer l’émetteur initial,
• Une erreur engendrée par un message ICMP ne peu
donner naissance à un autre message ICMP (éviter
l’effet cummulatif).
114
Structure du message ICMP.
115
ICMP: Types de message
• réponse/demande d'Echo : utilisé par ping,
• réponse/demande d'horodate : idem mais heures incluses pour
mesures de performances,
• destination inconnue : un routeur ne parvient pas à localiser la
destination, problème de fragmentation (bit DF=1), …
• délai expiré : paquet éliminé car TTL a atteint 0 (boucle, congestion, …)
• en-tête IP invalide : la valeur d'un champ IP a une valeur illégale,
• ICMP redirect : envoyé par un routeur à un nœud d'extrémité pour
signaler une meilleure route (évite la mise à jour manuelle de toutes les
tables de routage quand ajout d'un routeur…),
• ralentissement de la source : contrôle de congestion (mais quasiment
plus utilisé car génère du trafic supplémentaire -> congestion au niveau
TCP).
116
ICMP: l’utilitaire PING
• L’utilitaire PING (Packet INternet Groper) permet de
tester l’accessibilité d’un système et d’évaluer le temps
aller et retour entre le système source et le système
cible,
• La commande PING envoie un message:
– ICMP de demande d’écho (8) vers la machine cible,
– La machine cible retourne une réponse d’écho (0).
117
ICMP: l’utilitaire PING
• ping 127.0.0.1 : permet de tester la pile TCP/IP locale (en
loopback),
119
Structure du message d’Echo utilisé par l’utilitaire PING
ICMP: L'utilitaire traceroute
• Permet de trouver pas à pas le chemin pour
atteindre une destination
• envoi d'un paquet IP avec TTL=1
• Attend ICMP délai expiré
– envoi d'un paquet IP avec TTL=2, …
120
ICMP: L'utilitaire traceroute
121
La résolution d’adresses
Protocole ARP
(Address Resolution Protocol)
122
Protocole ARP
(Address Resolution Protocol)
• La résolution d’adresses dans les réseaux à
diffusion (Ethernet, token-ring,……)
– la couche IP doit établir une correspondance entre
l’adresse logique et l’adresse physique.
– Ce mécanisme s’appelle mécanisme de résolution
d’adresses.
• Le protocole ARP permet à un host ou à une
passerelle d’obtenir l’adresse MAC du nœud d’un
réseau local auquel il doit adresser des données.
123
Fonctionnement ARP
• Le host d’origine émet une demande de résolution
d’adresses sur le réseau physique à destination de la
machine cible,
• Cette demande est encapsulée, dans une trame
MAC (Ethernet, Token Ring...) dont le champ adresse
destination est à FF-FF-FF-FF-FF-FF (adresse de
diffusion),
• Seule, la machine qui a reconnu son adresse logique
répond en fournissant son adresse physique,
• La réponse est stockée dans le cache ARP de la
machine origine,
124
Fonctionnement ARP
125
Fonctionnement ARP
• Optimisation
Tous les nœuds connectés au réseau local,
reconnaissant une demande ARP extraient l’adresse
MAC origine et l’adresse IP origine.
Cette correspondance est stockée, pour une
utilisation ultérieure, dans une table dite cache ARP.
126
Le format d’un paquet ARP
127
RARP (Reverse Address Resolution Protocol)
• ARP : @IP->@MAC RARP : @MAC->@IP
• permet à un hôte de récupérer son @IP au démarrage par
interrogation d'un serveur RARP
– stations sans disque,
– imprimantes,…
• Même fonctionnement et même format de paquet ARP,
• Seule différence la valeur du champ code opération est
différente :
– 3 pour une requête
– 4 pour la réponse.
• Désormais remplacé par:
– BOOTP (BOOTstrap Protocol),
– ou DHCP (Dynamic Host Configuration Protocol),
qui peuvent rendre le même service et ne nécessite pas un
serveur RARP sur chaque réseau (broadcast MAC limité).
128
Le routage
129
Le routage IP
130
Concept généraux
131
Le routage
• Le routage
• Fonction qui consiste à choisir un chemin pour un datagramme,
• Fonction réalisée de façon distribuée: coopération de plusieurs
routeurs,
• Fonction assez complexe car elle doit prendre en compte deux
attribues (l’espace et le temps):
• Espace : distance entre les routeurs,
• Temps : trafic entre routeurs.
133
Le routage
• Mode bout en bout / point a point
• Les services nécessaires à la communication (Contrôle de
flux, gestion des d’erreurs, congestion, etc.) sont réalisés de
bout en bout à un autre niveau TCP,
• Le mode bout en bout est le plus robuste que le mode point
à point connecté; si un relais tombe en panne :
– Les voisins du relais IP recalculent les tables de routage, et
acheminent les paquets suivants par une nouvelle route,
– Dans la technologie «point à point», le circuit est rompu et la
connexion avortée.
135
Types de routage
• Routage direct
– Si un hôte émetteur est situé sur le même réseau
physique que l'hôte,
– L’hôte émetteur envoie au destinataire directement un
datagramme,
– Nécessité de trouver l’adresse MAC du destinataire
(protocole ARP)
– Le datagramme n'est passé par aucun routeur.
136
Types de routage
• Routage indirect
• Deux machines sur des sous réseaux différents,
• Passage par un ou plusieurs routeurs intermédiaires
– Choix à chaque étape du routeur intermédiaire,
– Ce routeur doit être connecté au sous-réseau(trouver son @ MAC),
– Chaque routeur connait uniquement le routeur suivant(prochain saut:
next hop),
– Aucun routeur ne possède la carte complète d’un réseau,
– Chaque routeur ou stations stocke les informations de routage dans
une: table de routage
• Le dernier routeur fais du routage direct,
• Le routage est basé uniquement sur l’adresse destinataire.
137
Acheminement des datagrammes
138
Table de routage
139
Table de routage
Toute décision de routage est prise en fonction de
l'adresse du réseau ou du sous-réseau de destination du
datagramme (non de l’adresse IP destination ),
Le routage utilise des tables de routage qui sont
consulté à chaque envoi de datagramme IP,
Chaque routeur ou hôte possède une table de routage
qui lui est propre,
• Routage spécifique pour certains hosts
– Il est possible d'inclure dans les tables de routages des
adresses IP de hosts spécifiques,
– Permet d’emprunter des routes sécurisées,
140
Table de routage
• Une table de routage est une liste contenant
essentiellement trois types d'information :
– Adresse IP du réseau (sous-réseau) destination,
– Masque réseau associé au réseau destination,
– Moyen d’atteindre le réseau destination.
141
Table de routage
142
Table de routage
143
Route par défaut
• Une route par défaut permet d’acheminer un paquet dont
la destination ne correspond à aucune autre route de la
table de routage,
• Si aucune route n’est trouvée dans la table de routage, le
paquet est détruit sauf :
– S’il existe une route par défaut,
– Si on se trouve dans le cas d’un routage sans classe (ip
classless) et qu’il existe un supernet,
145
Algorithme de routage
146
Algorithme de routage
Extraire du datagramme IP l’adresse destinataire (@IPdest),
Calculer l’adresse du réseau destinataire(@IPréseau),
Si @IPréseau correspond à une adresse de réseaux
directement accessibles
– Alors envoyer le datagramme vers sa destination sur ce réseau.
Sinon Si le datagramme possède une route spécifiée par le
host
– Alors router le datagramme comme indiqué par le host.
Sinon Si @IPréseau apparait dans la table de routage
– Alors router comme indiqué par la table.
Sinon Si une route par défaut est spécifiée
– Alors router vers le routeur par défaut.
Sinon lancer la procédure d’erreur de routage (ICMP).
147
Exemple de tables de routage
148
Exemple de tables de routage
Table de Network Subnet Mask passerelle
routage address associé
150
Remarques
• L'en-tête du datagramme en transit dans l'inter-réseau a
toujours comme adresse IP source celle de l'hôte
émetteur du datagramme et comme adresse IP
destination celle de l'hôte destinataire,
151
Remarques(suite)
• Les différentes adresses mises en jeu dans le routage indirect de
l'exemple précédent
entre l’Hôte_A et le Routeur_1
En-tête trame physique En-tête datagramme
Adresse MAC source Adresse MAC destination Adresse IP source Adresse IP destination
interface du Routeur_1
Hôte_A Hôte_A Hôte_C
côté Hôte_A
Routage statique
Routage dynamique
153
Mise à jour de la table de routage
154
Routage statique
• La commande route permet d’indiquer une route :
– vers un réseau (net),
– vers un équipement (host),
– Vers une route par défaut (default).
• Syntaxe (unix):
– route add |delete [net|host] destination |default
gateway metric
• En général, sur les équipements (hosts) non routeur, on
définit uniquement une route par défaut.
155
Routage statique
• Ajoutée une route qui permet l’accès au réseau 192.168.0.0/24 on utilisant
la passerelle 172.16.0.1
• La table de routage:
156
Routage statique
• L’administrateur réseau spécifie manuellement la
table de routage,
• Inconvénients
– L ’administrateur doit faire les mises à jour en cas de
changement de la topologie du réseau,
• Avantages
– Réduction de la charge du système, car aucune mise à
jour de routage n'est envoyée.
157
Routage dynamique
159
Routage dynamique
Le routage dynamique
L'idée générale du routage dynamique est la suivante : plutôt que de centraliser la
configuration du routage dans les mains d'un individu dont le temps de réaction est
fatalement long et les risques d'erreurs importants, nous allons délocaliser cette tâche
au niveau des routeurs.
161
Routage Dynamique
Notion de système autonome (AS)
• Un Système Autonome (AS) est un ensemble cohérent de réseaux
et de routeurs sous la responsabilité d'une autorité administrative,
• Les systèmes autonomes assurent la division de l’inter-réseau
global en réseaux plus petits et plus faciles à gérer,
• Les AS ont des architectures de routages indépendantes les unes
des autres,
• IL ont des numéros codés sur 16 bits. Ces numéros attribués par le
NIC: Network Information Center,
• Protocoles de routage internes (IGP) et externes (EGP).
162
Protocoles de routage EGP, IGP
163
Protocoles de routage
• Protocoles de routage internes (intra-AS)
– Type vecteur de distance
• RIP (RFC 1058), RIP-2 (RFC 1721 à 1724) Routing Information Protocol
• IGRP Interior Gateway Routing Protocol
– Type état de liens
• OSPF Open Short Path First (RFC 2178)
– Type hybride
• EIGRP Enhanced Interior Gateway Routing Protocol
165
Introduction
169
Algorithme général de RIP
• Un réseau immédiatement connecté devient inaccessible
– Panne de l'interface,
– Panne de la ligne,
– Modification de la topologie par l'administrateur, etc..
• Les routeurs RIP reliés à ce réseau affectent dans leur table une
distance "infinie" (16) à cette route,
• Elle est conservée pendant la durée d'un " temporisateur de
maintien" de 120 secondes puis supprimée,
• Pendant toute la durée de ce délai, le vecteur est diffusé,
• Un routeur qui reçoit un vecteur avec une distance de 16
comprend qu’il faut retirer cette route de la table car elle est
devenue invalide,
• De proche en proche, cette information se propage.
170
Algorithme général de RIP
un routeur du réseau tombe en panne
Cela veut dire que les réseaux situés derrière ce routeur sont devenus
inaccessibles.
Comment savoir si un routeur est en panne ?
RIP considère qu'un routeur qui n'a pas donné de nouvelles depuis trois
minutes (180 s) est hors-service,
Pour gérer cette situation, il attribue à toutes les routes dynamiques un
temporisateur initialisé à 180 secondes (par défaut),
A chaque réception d'un vecteur de distance déjà présent dans la table, le
compteur est réinitialisé,
Mais si jamais ce compteur atteint zéro, la route est considérée comme
invalide,
On se retrouve alors dans la situation précédente (distance infinie,
temporisateur de maintien, diffusion de l'information puis suppression de la
route).
Si un autre routeur connaît une route menant vers un des réseaux que l'on
vient de retirer, notre routeur intègrera cette nouvelle route dans sa table ,
RIP permet la tolérance aux pannes.
171
Problème de la convergence
172
Problème de la convergence
La Convergence
– Le temps de convergence est le temps
nécessaire pour que tous les routeurs aient la
même vue de la topologie du réseau,
173
problème de la convergence lente
175
Distance administrative
Directement connecté 0
Statique 1
BGP 20
OSPF 110
RIP 120
176
Métrique / distance administrative
177
Résumé
• Un routeur construit sa table de routage en fonction des
vecteurs de distance reçus de ses voisins,
• métrique = nombre de sauts (entre 1 et 15),
• 16 = valeur maximum (représente l'infini),
• Utilisable uniquement à l'intérieur de domaines peu
étendus,
• Le routeur diffuse toutes les 30 secondes un messageRIP à
ses voisins contenant la liste des réseaux qu'il peut atteindre
avec leur distance,
• Si aucun message pendant 180s, route inaccessible (d=16),
178
Message RIPv1
• Encapsulé dans un datagramme UDP (port 520)
• Command: type (request, response)
• Version : 1 (RIPv1) ou 2 (RIPv2)
• Address Family: type d'adresse (2 pour IP)
• IP Address: adresse destination connue
• Metric: nombre de sauts pour atteindre cette @
179
Routage dynamique: RIP V2
Améliorations de RIPv2 par rapport à RIPv1
180
Message RIP-v2
181
RIP: conclusion
RIP constitue un excellent moyen pédagogique pour aborder la problématique du
routage dynamique. Mais il est peu utilisé en exploitation car il souffre de certaines
limitations et défauts qui le cantonnent à des réseaux de taille moyenne.
diamètre maximum d'un réseau géré avec RIP est limité à 15 routeurs soit 16
segments de réseau.
RIP est un gros consommateur de bande passante du fait de la méthode utilisée pour
diffuser les informations de routage (toutes les 30 secondes, l'intégralité de la table RIP
est diffusée même si elle n'a subi aucune modification).
La métrique utilisée ne garantit pas que le routage soit optimal. En effet, la distance
masque les caractéristiques réelles de la voie de transmission (débit ou coût en
particulier).
le temps de convergence, délai avant que tous les routeurs ne possèdent des tables
cohérentes peut être long dans certaines situations. Pour toutes ces raisons, on a
cherché à développer d’autres protocoles de routage beaucoup plus efficace : OSPF……
182
OSPF
Open Short Path First
184
OSPF: Open Short Path First
185
Ospf: HISTORIQUE
Début du travail sur ce protocole en 1987,
1989 OSPFv1 publié dans RFC 1131,
Version expérimental, jamais déployée,
187
OSPf
• Objectifs
– Le même que les algorithmes à vecteurs distance,
– Obtenir une table de routage avec les meilleurs routes,
– Converger rapidement vers une table de routage optimale,
• Avec un protocole à vecteur distance
– Un routeur connaît ses voisins uniquement lors de la
transmission de mise à jour de leur part,
– Lors d'un envoi d'une mise à jour à un voisin, ce voisin ne
retourne aucune confirmation à l'expéditeur,
• Avec un protocole à état de lien
– Beaucoup d'informations sont transmises et nécessitent
beaucoup de ressources,
– Chaque routeur doit connaître ses voisins avant d'échanger
des informations,
188
Métrique OSPF: COUT
La notion de coût
La métrique OSPF s’appelle le coût,
Le coût est configurable par un administrateur
réseau,
OSPF attribue un coût à chaque liaison (lien) afin
de privilégier l'élection de certaines routes,
Plus le coût est faible, plus le lien est intéressant.
189
Métrique OSPF: COUT
• Problématique
– Convergence lente des protocoles de routage à vecteur
de distance,
– Choix de la métrique.
190
Métrique OSPF: COUT
• Par défaut, les coûts sont utilisés en fonction de la bande
passante du lien :
191
Algorithme SPF: Shortest Path First
193
OSPF: Principe
Chaque routeur évalue le coût pour joindre ses voisins selon une
certaine métrique,
Construit un paquet contenant les informations relatives à chacun
de ses liens (voisins),
Le diffuse à tout le monde (par inondation),
Calcule la route de moindre coût pour atteindre chaque entité du
réseau,
Lors d’un changement de la topologie, le routeur détectant le
changement informe les routeurs voisins, qui informent à leur
tour leurs voisins,
Les routeurs s'échangent uniquement les changements détectés
dans la topologie,
Chaque routeur a une vision globale de la cartographie du réseau.
194
OSPF: Principe
195
Construction de la base donnée topologique
• La base de données topologique
• Tous les routeurs d'un même réseau travaillent sur une base
de données topologique identique qui décrit le réseau,
• Cette base a été constituée pendant une première phase de
découverte,
Arc Coût
R1, R2 1
R1, R5 10
R2, R3 1
R3, R4 10
R3, R5 1
R4, R5 10
R4, 192.168.1.0 10
196
Ospf: élection des meilleures routes
197
Ospf: élection des meilleures routes
192.168.1.0 R2 22
Routeur R5
Réseau de destination Moyen de l'atteindre Coût
192.168.1.0 R4 20
199
OSPF
• Chaque routeur entretien une base de données qui reflète
la cartographie total du réseau,
• Cette vision globale du réseau permet d’éviter la formation
de boucle,
• OSPF prend en compte dans le routage le champ TOS Type
of Service présent dans l'en-tête du datagramme IP à router,
– Quand un routeur sous OSPF route des datagrammes, il prend
en compte l'adresse destination et le type de service spécifié
dans l'en-tête IP
• OSPF utilise l’équilibrage de charge (load balancing)
– S'il existe plusieurs chemins vers une même direction ayant le
même coût, OSPF distribue le trafic également sur chaque
chemin,
– NB: Les protocoles comme RIP ne calculent vers une destination
donnée qu'une seule route.
200
OSPF: AIRE
201
nOtIOn D’AIRES DE ROUtAGE
• Problématique
– Lorsque le réseau est important, la diffusion des
messages et la détermination de la nouvelle table de
routage pénalise les performances globales du réseau,
• Solution
– Le routage est hiérarchisé,
202
Notion D’AIRES de routage
• Une aire ou zone(area) correspond à une subdivision logique
d’un réseau OSPF,
• L’aire contient un groupe de routeurs qui partagent les même
informations d’état de liens,
• Chaque zone est identifiée par un numéro de zone unique sur
32bits, (ce numéro est un identifiant et non une adresse IP),
• Un AS est divisé en aires (area) ou zones
– Une aire ne connaît que l'état des liaisons internes à l'aire,
– Deux niveaux de routage : intra-area et inter-area,
– Chaque aire est identifiée par un numéro sur 32 bits.
• Différence entre AS et aires
– AS (Autonomus System): constitué d’un ou plusieurs réseaux sous la
responsabilité administrative d’une même autorité;
– Deux AS peuvent utiliser un protocole de routage interne différent,
– Aire (zone) : toutes les aires OSPF utilisent le protocole OSPF
203
Ospf: aire
204
Notion D’AIRES de routage
• La hiérarchie introduite par OSPF est limitée à 2
niveaux,
• L’environnement OSPF comprend une zone dite:
Zone fédératrice (area backbone): assure l’interconnexion
de toutes les autres zones,
205
Notion D’AIRES de routage
207
La notion du Routeur Désigné
DR: Designated Router
208
Routeur Désigné (DR, Designated Router)
• Problématique
– La réduction du nombre de routeurs par zone de diffusion
limite le trafic de gestion mais les échanges entre routeurs
sont encore nombreux,
209
Routeur Désigné (DR, Designated Router)
210
Principe de l’élection du DR et BDR (backup)
L’administrateur réseau affecte une priorité (0 à 255) à chaque routeur,
Pour une zone donnée, c’est le routeur de plus haute priorité qui est
désigné,
En cas de priorité égale c’est le routeur de plus grand identificateur qui
est élu,
L’identificateur est en principe l’adresse IP qui désigne le routeur,
Un routeur désigné de backup est aussi élu,
Lorsqu’un routeur est mis sous tension, il écoute le trafic et apprend
ainsi quel est le routeur désigné et son backup
Il accepte ces informations, même si sa priorité est la plus grande,
L’absence de trafic en provenance du routeur désigné permet de
détecter sa panne et de déclencher le mécanisme d’élection,
Un routeur de priorité 0 ne pourra jamais être élu routeur désigné.
211
Principe de l’élection du DR et son buckup BDR
215
Élections dans les réseaux OSPF
216
L’agrégation de routes
• L’utilisation de zones offre un mécanisme puissant d’affectation des
adresses IP.
• Si tous les sous-réseaux d’une zone ont des adresses IP contiguës, le
routeur ne signale qu’une seule route aux autres routeurs.
• Cette propriété permet de minimiser le trafic et d’alléger les tables
de routage.
217
Fonctionnement du
protocole OSPF
218
Les paquets OSPF
• 5 types de paquets sont utilisés. Chacun d’eux a un objectif spécifique dans
le processus de routage OSPF :
– Hello packet :permet de découvrir ses voisins et d'avertir son entourage de sa
présence,
– DBD (DataBase Description packets): description de la base de données,
contient un résumé de la base de données de chaque routeur dont les noms
des routeurs connus,
– LSR (Link-state Request packets): requête d'état de lien, pour faire une
demande d'informations complémentaire par rapport à sa DBD
– LSU (Link-state Updates packets ): mise à jour d'état de lien, décrivent les
changements de topologie, aussi utilisés pour répondre aux LSR et contient 7
types différents de LSA
• LSA: Link-State Advertisements, qui contient le sous-réseau, le masque, la
métrique et d'autres informations sur les sous-réseaux
– LSAck (Link-State Acknowledgement): lors de la réception d’un paquet LSU, le
routeur envoie un paquet LSAck pour en confirmer la bonne réception
219
Les 5 paquets OSPF
220
Les paquets OSPF
• Tous les paquets d’OSPF utilisent le même en-tête de
24octets
221
Les paquets OSPF
• Version: 1octet, indique la version du protocole.
• Type: précise le type de message
– Type 1: message Hello pour déterminer le délai,
– Type 2: message de description de la base de données (topologie),
– Type 3: requête d’état de la liaison(Link State Request),
– Type 4: message de mise à jour de l’état de la liaison (Link State Update),
– Type 5: acquittement d’un message d’état de la liaison.
• Longueur du message indique en octets la longueur du message en-
tête compris,
• Adresse IP du routeur source: l’expéditeur du message;
• Identification de zone, numéro d’identification de la zone(area) sur
32 bits,
• Total de contrôle: calculé de manière similaire au total de contrôle IP,
• Type d’authentification,: 0 aucune, 1 mot de passe simple,
• Authentification: contient un mot de passe en clair sur 8 caractères.
222
Fonctionnement d’OSPF
• Le fonctionnement d’OSPF peut se décomposer en quatre
étapes:
• Hello interval
– 30 s sur les NBMA
– 10 s sur les autres
• Dead Interval
– Sur routeur Cisco, par
défaut, 4 x Hello Interval (40s)
227
Protocole hello
• Le DR est élu suivant le principe suivant :
– Chaque routeur possède une priorité,
– Le routeur qui envoie un message Hello avec la plus grande priorité
OSPF est élu DR,
– En cas d'égalité, c'est le routeur avec la plus grande adresse IP qui
gagne,
– Si deux ou plus possèdent la plus haute priorité, celui avec le plus
grand RID est élu DR,
– Généralement, celui avec la 2ème plus grande priorité devient BDR,
– Les valeurs des priorités varient entre 0 et 255,
– Une priorité de 0 signifie que le routeur ne sera jamais élu ni DR, ni
BDR,
– Si un DR est élu et qu'un routeur apparaît dans le réseau avec une
priorité supérieure, le DR ne sera réélu que si une défaillance du DR
ou du BDR a lieu,
– Si le DR est en panne, le BDR devient DR et un nouveau BDR est élu,
– Si le BDR est en panne, un nouveau BDR est élu,
• NB: Dans les réseaux NBMA (Non Broadcast Multiple Access), il faut
configurer chaque routeur avec la liste des adresses des routeurs de l’aire et de
leur priorité 228
Protocole hello
• Le message Hello contient la liste des routeurs identifiés par écoute
ou réception de messages Hello
options
• Le champ options décrit les options supportées par le routeur. Seuls deux
bits sont utilisés.
– Le bit E à 1 indique que le routeur émet et reçoit des routes externes. Ce bit doit
avoir la même valeur pour deux routeurs d’extrémité d’une même liaison.
– Le bit T informe que le routeur a la possibilité de prendre en compte le champ
TOS des datagrammes IP et de router en fonction de celui-ci. 229
Protocole d’échange
230
Protocole d’échange
• Après découverte de ses voisins, le routeur doit initialiser sa base
de données topologiques,
• Sur une interface sans DR (liaison point à point par exemple)
– Les mises à jour OSPF sont envoyées directement à tous les voisins
• Sur une interface avec un DR, les routeurs « non DR » envoient
leurs mises à jour au DR et BDR en utilisant l'adresse multicast
224.0.0.6
– Cette adresse désigne tous les routeurs OSPF DR, ce qui signifie que le
DR et le BDR doivent être en écoute de cette adresse,
• Le DR relaie les mises à jour à tous les routeurs OSPF en utilisant
l'adresse 224.0.0.5
– Le BDR reçoit les mises à jour mais ne les forward pas. Il se tient juste
près au cas où le DR tombe en panne,
• Les routeurs voisins échangent alors leur base de données
topologiques entre-eux.
– Dès qu'un routeur a fait cet échange, il est dit être dans l'état « Full
State »
231
• Un routeur « full state » échange des LSU avec ses voisins
CONCLUSION
232
Résumé
Le déroulement complet d'OSPF est le suivant :
Chaque routeur
– Découvre son voisinage et conserve une liste de tous ses voisins,
– Utilise un protocole fiable pour échanger les informations
topologiques avec ses voisins,
– Stocke les informations topologiques apprises dans leur base de
données,
– Exécute l'algorithme SPF pour calculer les meilleurs routes,
– Place ensuite la meilleur route vers chaque sous-réseau dans sa
table de routage.
Chaque routeur possède
– Une table de ses voisins, appelé Neighbor table,
– Une base de données de la topologie du réseau, appelé Topology
database,
– Une table de routage, appelé Routing table.
233
Vecteur de distance/ Etat de lien
234
Inconvénients
Protocole complexe,
beaucoup de fonctionnalités
– Inonder une aire avec des infos de routage,
– Diffuser les tables de routage ,
• Construire par un routeur frontière
• Cacher la complexité aux autres
– Connaitre tous les routeurs d’un NBMA,
– Synchroniser/ récupérer les informations,
– Election du DR et BDR,
– S’assurer du fonctionnement des routeurs voisins.
Plusieurs Base données routes dans le réseau,
– Table de routage vers les autres réseaux du domaine,
– Table de routage vers les autres AS,
– Adresses des routeurs vers les NBMA (Non Broadcast Multiple
Access).
235
Avantages
Remédie aux inconvénients de RIP,
Temps de convergence,
OSPF adapté aux grands domaines,
OSPF prend en compte plusieurs métriques,
permet de router les sous-réseaux,
peut assurer un routage selon le champ ToS IP
(adapte le type de service demandé à la bonne
métrique),
Permet l'équilibrage de charge entre différentes
routes de même coût,
Inclut un système d'authentification des messages…
236
TP 7: OSPF
237
OSPF
Configuration de base
• router ospf process_id
• network adresse_réseau masque_générique area area-id
238
Vérifications d’OSPF
• La commande show ip ospf neighbor peut être utilisée pour
vérifier et réparer les relations de voisinage OSPF,
• Pour chaque voisin, cette commande affiche les éléments
suivants :
– Neighbor ID : ID du routeur voisin.
– Pri : priorité OSPF de l’interface. Ce sujet est traité dans une section
ultérieure.
– State : état OSPF de l’interface. L’état FULL signifie que le routeur et
son voisin ont des bases de données à état de liens OSPF
identiques.
– Dead Time : durée de temps pendant laquelle le routeur attendra
un paquet Hello OSPF du voisin avant de déclarer le voisin hors
service. Cette valeur est réinitialisée lorsque l’interface reçoit un
paquet Hello.
– Address : adresse IP de l’interface du voisin à laquelle ce routeur est
connecté directement.
– Interface : interface sur laquelle ce routeur a établi une contiguïté
avec son voisin. 239
Vérification d’OSPF
• Les autres commandes de dépannage OSPF:
– show ip protocols: cette commande offre un moyen
rapide de vérifier des données de configuration OSPF
cruciales, notamment :
• ID de processus OSPF,
• ID de routeur,
• Les réseaux que le routeur annonce,
• Les voisins desquels le routeur reçoit des mises à jour
• La distance administrative par défaut, à savoir 110 pour le
protocole OSPF.
240
Vérification d’OSPF
• show ip ospf
– Cette commande peut être utilisée pour examiner
l’ID de routeur et l’ID de processus OSPF,
– Affiche les informations de zone OSPF,
– Affiche la dernière fois où l’algorithme SPF a été
calculé.
• show ip ospf interface
• La méthode la plus rapide pour vérifier les intervalles
Hello et Dead
241
Trucage de l’élection du DR
• Changer la priorité de l’interface du routeur avec
la commande ip ospf priority,
242
Trucage de l’élection du DR
1. Quels sont les réseaux concernés par une élection DR/BDR ?
2. Quels sont les ID OSPF des routeurs?
3. Quel est le rôle de chaque routeur? (les routeurs ils ont la même priorité)
243
Les protocoles de transport
TCP et UDP
244
Couche transport
245
Couche transport
Segmente les données, et ré-assemble les
segments,
Assure un transport fiable et de bout en bout des
segments
– Contrôle le flux d'informations,
– Contrôle de congestion d'informations,
– Détecte et corrige les erreurs,
246
Types de services
Mode connecté
• Fonctionnement en 3 phases:
1. Etablissement de la connexion entre les entités
communicantes,
2. Transfert des données,
3. Fermeture de la connexion;
• Avantages: fiabilité, sécurité et contrôle,
• Inconvénients: mise en œuvre difficile, gestion du
multipoints,
Mode non connecté
• Transfert des données vers le destinataire sans savoir si
celui-ci est prêt à les traiter,
• Avantages: multipoints
• Inconvénients: non fiable, pas de contrôle
247
Qualité de service (QOS)
Assurée par la couche transport pour la couche
application et en fonction de la qualité des
services fournis par la couche réseau,
Paramètres de QOS:
– Le débit de la liaison,
– Le temps de transit,
– Le temps d’établissement de la connexion,
– Le taux d’erreurs,
– La priorité,
– ………
248
TCP:
TRANSMISSION CONTROL PROTOCOL
– Protocole avec connexion
UDP:
USER DATAGRAM PROTOCOL
– Protocole sans connexion
249
TRANSMISSION CONTROL PROTOCOL
250
Caractéristiques générales
TCP est un protocole de transport de bout en bout en mode
connecté,
Spécifié en 1981 dans le RFC n° 793,
Définit un circuit virtuel entre deux applications qui
communiquent,
Communication full-duplex,
Transporte un flot d'octets (ou flux),
La longueur maximale de l’unité de données est de 64ko,
l'application lit/écrit des octets dans un tampon,
S’appuyant sur un protocole réseau non fiable (best effort),
TCP:
– Assure la délivrance des données en séquence,
– Contrôle la validité des données reçues,
– Réalise le contrôle de flux ,
– Contrôle de congestion,
– Reprises sur erreur ou sur temporisation. 251
Structure du segment TCP
• L’en-tête de TCP est prévu à la fois pour le transport des
données, des ACK et des commandes
253
Structure du segment TCP
NS_reçu + taille_données_reçues
255
Structure du segment TCP
• Longueur de l’en-tête ou offset (4 bits)
indique la longueur de l’en-tête du segment TCP en
multiples de 4 octets,
257
Structure du segment TCP
Le champ drapeau contient 6 indicateurs(suite)
– RST:
• suite à la détection d’une anomalie grave sur le réseau, RST
demande au destinataire de réinitialiser la connexion.
– SYN:
• à 1 ce bit correspond à une demande de connexion,
• cet indicateur valide l’échange et l’acquittement des numéros de
séquence initiaux(ISN).
– FIN:
• ce drapeau correspond à une demande de déconnexion émise
par l’un des interlocuteurs.
• Le destinataire d’une demande de déconnexion n’est pas obligé
de s’exécuter (rupture de connexion négociée)
258
Structure du segment TCP
Le champ fenêtre
– La quantité de données, en octets, que l’émetteur de ce
segment est capable de recevoir, mentionné dans chaque
segment (données ou acquittement),
– Cette valeur varie dynamiquement en fonction de l’état du
récepteur.
Le champ total de contrôle
– Calculé sur l’ensemble du segment TCP, en-tête compris.
Le pointeur sur données urgentes:
– Pointe sur le dernier octet urgent du champ de données,
– Dans TCP, il n’y a pas de notion de données express,
– Les données comprises entre le début du champ données
et la valeur du pointeur données urgentes sont traitées, en
priorité, par le destinataire.
259
Connexion TCP
• Une connexion TCP est définit par l’association de différents
identifiants:
– l’identifiant des processus d’extrémité ou port,
– l’identifiant des systèmes d’extrémité ou adresses IP,
– l’identifiant du protocole de transport utilisé.
260
Connexion TCP
• L’association: {protocole, port destination, @IP
destination/ port source, @IPsource} est désignée
sous le terme de socket (RFC 793),
• La notion de socket est cependant beaucoup plus
large:
– Une socket définit une interface de programmation ou
API, Application Programming Interface, dans le monde
UNIX.
– L’environnement Microsoft définit un concept
identique: les WinSock.
261
Connexion TCP
262
Notions de port
Un port est un entier identifiant l’application à laquelle la couche
transport doit remettre les messages,
C’est la couche transport qui attribue, un numéro de port, à une
connexion,
Un port identifie un ou plusieurs processus,
La notion de port autorise le multiplexage des connexions sur une
même machine.
263
Notion de port
Classement des ports:
• Ports référencés (Well known ports)
– 1-1023 : Les 1024 premiers ports sont réservés, ils sont
dits référencés,
– Les ports référencés permettent à une application dite
cliente d’identifier une application sur un système
distant,
– Les ports référencés par la RFC 1060 et les ports
référencés localement pour les applicatifs privés sont
décrits, sous Unix, dans le fichier \etc\services.
264
Notion de port
• Classement des ports (suite)
• Ports éphémères
– Un port éphémère permet l’identification distante du flux de
données,
– L’extrémité de la connexion cliente est identifiée par un numéro
de port attribué dynamiquement par le processus appelant,
– Ce numéro de port est dit port dynamique ou éphémère.
265
Notion de port
266
Établissement de la connexion
de transport
267
Établissement de la connexion de
transport
TCP définit deux modes d’ouverture de connexion:
Un mode passif: TCP est en attente d’une
demande d’ouverture en provenance d’un autre
système,
Un mode actif: TCP adresse une demande de
connexion à un autre système identifié.
268
Numéro de séquence et ACK
• Principe du superposition
de données :
– un segment peut contenir
des données et acquitter
un segment précédent
• SEQ=numéro du premier
octet dans le segment
depuis l'ouverture de la
connexion,
• SEQa=numéro du
prochain octet attendu 269
Numéro de séquence et d’Ack
Le numéro de séquence initial (ISN)
• Chaque entité communique son ISN à l'autre à l'ouverture de la
connexion,
• Problème:
– TCP peut, sur un même couple de ports, accepter une connexion après
fermeture de la précédente.
– Des données appartenant à l’ancienne connexion et retardées dans le
réseau peuvent alors être prises en compte sur la nouvelle connexion.
• Solution:
– Pour différencier les connexions, TCP attribue à chaque connexion un
numéro de séquence initial (ISN, Initial Sequence Number) différent.
– La probabilité pour que le numéro de séquence du segment retardé
précédente connexion corresponde au numéro de séquence attendu
de la nouvelle connexion est très faible.
• Le compteur d’initialisation est incrémenté toutes les 4
microsecondes,
• un même ISN est donc tiré toutes les 4heures 30 environ.
271
Établissement de la connexion de transport
L'établissement d'une connexion TCP s'effectue par l'échange de
trois segments, à l'initiative du client:
1. demande d'ouverture
par le client (SYN),
choix ISNc,
2. acceptation par le
serveur (SYN+ACK),
allocation des
tampons, choix ISNs,
3. le client acquitte
l'acceptation (ACK)
272
Établissement de la connexion de transport
274
Fermeture de la connexion
275
Fermeture de la connexion
• Fermeture négociée
1. demande de fin de
connexion (FIN) par une
des extrémités
2. acquittement du FIN (ACK)
mais mise en attente de la
demande (B a encore des
données non transmises)
3. B envoie ses données en
attente
4. A acquitte les données
(ACK)
5. acceptation de la fin de
connexion par B (FIN)
6. acquittement de la fin de
connexion (ACK)
276
Clôture de connexion
• Interruption brutale de l'application
• L'extrémité qui arrête
– envoie les derniers octets en
attente
– envoie un paquet RST (reset)
– Le paquet RST ne reçoit pas
d'acquittement
• L'extrémité qui reçoit le RST
– transmet les éventuelles dernières
données
– Provoque une sortie d'erreur
La bufferisation des données : Le bit PUSH
• Pour optimiser la transmission, par défaut TCP attend que le
tampon d'émission soit plein pour constituer un segment
(groupage de messages)
• Le bit PUSH=1 sert à demander la transmission et réception
immédiate
278
Taille des segments TCP
• Souplesse de TCP :
– l'application lit/écrit dans un tampon
– TCP décide quand envoyer/restituer un segment (si PSH
n'est pas positionné)
– TCP a intérêt d'envoyer des segments de taille maximale
– fragmentation IP coûteuse éviter la fragmentation
– La taille max. d'un segment TCP est de 64Ko (à cause d'IP)
• MSS : Maximum Segment Size (sans en-tête)
– à l'ouverture de la connexion, chaque entité peut
annoncer (option TCP) son MSS à l'autre, en fonction de la
MTU de son réseau (MSS=MTU-40),
– par défaut, MSS=536 octets.
279
Accusé de réception (ACK)
• La fiabilité fournie par TCP consiste à remettre des datagrammes,
sans pertes, ni duplication.
• On utilise pour cela la technique de l'accuse de réception (ACK) :
280
Accusé de réception (ACK)
Chaque segment est émis avec un numéro de
séquence NS qui va servir au récepteur pour envoyer
un accusé de réception,
à chaque envoi de segment, l'émetteur arme une
temporisation qui lui sert de délai d'attente de
l'accusé de réception correspondant,
il se peut que la temporisation expire alors que le
segment a été transmis sans problème,
– l'émetteur réémet un segment alors que c'est inutile,
– Le récepteur conserve une trace des numéros de
segments reçus, il peut éliminer les doublons.
281
Valeur du temporisateur RTO
• RTO : Retransmission Time Out
• Impact de cette valeur sur les performances
• Valeur trop petite: des retransmissions inutiles ont lieu,
• Valeur trop grande: attente trop importante entre deux
retransmissions,
• TCP fait une estimation du RTT (temps aller/retour) et
ajuste dynamiquement la valeur du temporisateur en
fonction de cette estimation,
• utilisation d'une option TCP :
– l'émetteur met la valeur de son horloge dans l'option,
– le récepteur fait écho de cette valeur dans l'ACK,
– l'émetteur fait la différence entre son horloge et cette valeur à
la réception de l'ACK.
282
Valeur du temporisateur RTO
283
Retransmissions rapides (Fast Retransmit)
284
Le fenêtrage
Un protocole utilisant un accusé de réception pénalise
l’efficacité de la transmission des flots,
Car la transmission d’un nouveau paquet est retardée
jusqu'à ce que l’accusé correspondant au segment
précédent ait été reçu par l’émetteur,
La gestion d’une fenêtre glissante est une forme plus
élaborée d’accusé de bonne réception et
retransmission,
La fenêtre glissante améliorent le taux d’utilisation des
réseaux en permettant à l’émetteur d’envoyer
plusieurs segments avant de devoir attendre l’accusé
de réception.
285
Le fenêtrage
Source Réseau Destination
Emission de Mi
Emission de Mi+1
Réception de Mi
Emission de Ai
Emission de Mi+2
Reception de Ai
Fenêtrage de taille 3
287
Contrôle de flux: le concept de fenêtre glissante
• Fenêtrage glissante permettant d'optimiser la bande passante,
• Permet également au destinataire de faire diminuer le débit de
l'émetteur donc de gérer le contrôle de flux,
• Le mécanisme de fenêtrage mis en oeuvre dans TCP opère au niveau
de l'octet et non pas au niveau du segment; il repose sur :
– La numérotation séquentielle des octets de données,
– La gestion de trois pointeurs par fenêtrage :
1 2 3 4 5 6 7 8 9 10 11 . . .
Octets émis et
Octets émis et Octets Octets non émissibles
acquittés
non acquittés émissibles tout de suite.
288
Contrôle de flux
• Le buffer du récepteur est plein, il ne peut plus accepter de
données,
• Il informe l’émetteur en positionnant le champ fenêtre à 0,
• L’émetteur cesse ses émissions,
• Cependant pour maintenir l’état actif de la connexion,
l’émetteur sollicite périodiquement le récepteur en lui
envoyant 1 octet de données,
• Le récepteur ne pouvant accepter les données, les ignore, et
continue de signaler une valeur de la fenêtre toujours à zéro,
• Le processus se poursuit jusqu’à ce que le récepteur
débloque la situation en ouvrant la fenêtre.
289
Contrôle de flux
291
Contrôle de flux
• Notion de fenêtre stupide (Silly Window Syndrome, SWS)
• Solution
• Plusieurs mécanismes peuvent être utilisés pour éviter
ce phénomène,
• Du côté récepteur
– Le récepteur ne peut rouvrir la fenêtre que lors que celle-ci a
atteint la valeur minimale entre:
• La taille maximale du segment négocié (MSS),
• La moitié de la mémoire allouée à la connexion.
• Du côté émetteur,
– Il suffit de mémoriser les données pour éviter l’envoi de
petits segments (groupage).
292
Contrôle de la congestion
293
Contrôle de la congestion
• Le mécanisme de fenêtre dynamique concerne
l’asservissement de la cadence d’émission sur les
capacités de réception du destinataire; il s’agit d’une
technique de contrôle de flux,
• Aucun mécanisme spécifique dans le réseau ne
veille au contrôle de congestion (best effort),
• TCP implémente un mécanisme de gestion de la
congestion spécifique, puisque ce sont les entités de
bout en bout qui remédient à un problème interne
au réseau.
294
Contrôle de la congestion
En cas de congestion,
– Les ACK sont retardés et les données réémises,
– Ce qui contribue à renforcer la congestion.
Pour y remédier, à chaque segment perdu, le TCP
émetteur réduit ses émissions par réduction de la
fenêtre d’émission (gestion d’une fenêtre de
congestion),
Pour ne pas sur charger le réseau de retransmission
inutilement,
– Il augmente la valeur du timer de retransmission. En effet,
l’ACK peut simplement avoir été retardé par l’état de
congestion naissante.
295
Résumé
• TCP fournit un service
• Fiable (fournit un canal sans erreurs)
• Contrôle de flux et de congestion
– permet de ne pas surcharger une machine qui n'est pas prête
temporairement à recevoir de nouvelles données.
• Ordonné
– les octets émis par l'application source sont reçus dans le même
ordre chez le destinataire.
• En mode full duplex
– permet un flux de données bidirectionnel entre les deux
applications.
• En mode connecté
– La communication entre deux machines compte trois étapes :
• établissement d'une connexion,
• utilisation du canal de communication,
• puis déconnexion. 296
Le mode datagramme UDP
USER DATAGRAM PROTOCOL
297
UDP
• Performance sans garantie de délivrance,
• Souvent utilisé pour les applications multimédias
– Tolérantes aux pertes,
– Sensibles au débit.
• Autres utilisations d'UDP
– Applications qui envoient peu de données et qui ne
nécessitent pas un service fiable,
– Exemples: BOOTP/DHCP,DNS
298
UDP
299
Conclusion
La pile protocolaire TCP/IP offre deux modes de
transport,
un mode assuré, TCP, qui garantit
– la délivrance de données,
– le contrôle de flux et de congestion,
un mode allégé, UDP,
– Performant mais sans garantie de délivrance.
300