Vous êtes sur la page 1sur 298

UNIVERSITÉ SIDI MED BEN ABDELLAH DÉPARTEMENT D’INFORMATIQUE

FACULTÉ DES SCIENCES ET TECHNIQUES LST INFO


ANNÉE 2015-2016
FES

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

• Objectifs initiaux du réseau ARPANET :


• Un réseau à commutation de paquets pour le compte des militaires américains
• Robustesse et tolérance aux pannes
• Pas de hiérarchie dans le réseau : tous les nœuds sont égaux
• Un réseau standardisé : TCP/IP

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.

• La couche TCP mode connecté (bout en bout )


qui pallie les insuffisances de la couche réseau
(Internet) en assurant le contrôle d’erreur et de
flux.
14
Les mécanismes de base de TCP/IP
• IP assure:
• Implémentation de la couche réseaux par rapport au modèle OSI,
• Une indépendance des couches supérieures vis-a-vis des réseaux
physiques,
• Définit l’adressage logique des machine ainsi que le routage des
données entre les nœuds,
• Une indépendance vis-à-vis de la taille maximale des unités de
transmission (MTU),
• La fragmentation et le contrôle de réassemblage des
datagrammes paquets IP,
• Un service de type datagramme (service non connecté),

• C’est un protocole non fiable car il ne garanti pas la remise des


données à la destination final,
15
Encapsulation TCP/IP

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

Une machine doit être identifiée par :


 Une adresse qui doit être un identificateur universel de
la machine,

 Une route précisant comment la machine peut être


atteinte,

 Un nom (mnémotechnique pour les utilisateurs) réalisé


a un autre niveau (le DNS).
22
PRIncIPE DE L’ADRESSAGE IP
Solution
• Utiliser une adresse logique pour fournir un schéma
d’adressage unique pour tous les nœuds indépendamment de
leur raccordement a un réseau physique,
• Adressage binaire compact assurant un routage efficace,
• Adressage "à plat" par opposition à un adressage
hiérarchisé permettant la mise en œuvre de l'interconnexion
d'égal à égal,
• Une adresse IP dite « Internet Address" ou "IP Address" est
un entier sur 32 bits constituée d'une paire (netid, hostid)
– netid: identifie un réseau
– hostid : identifie une machine sur ce réseau.
23
Evolution DE L’ADRESSAGE IP
• 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’).
24
Par classes
‘Classfull’

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.

• Une répartition des adresses entre les trois classes


– Qui permet automatiquement de déterminer la classe (la taille
du réseau) ,
– Donc de trouver l’adresse du réseau d’appartenance (par
analyse de l’octet de fort poids). 26
L’adressage dans le réseau logique IP

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.

Cette paire est structuré d’une manière à définir 5


classes d’adresses IP.
28
Les 5 classes d’adresses IP
0 8 16 24 31

Classe A 0 id_network id-Host

Classe B 1 0 id_network id-Host

Classe C 1 1 0 id_network id-Host

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

 16 bits pour les numéros de réseau


• 128.0.0.0 à 191.255.0.0,
• Nombre de réseaux : 16 384.
 16 bits pour l’adressage des hôtes
• 128.0.0.1 à 191.255.255.254,
• (2)16 - 2 = 65534 machines,
• a.b.0.0 et a.b.255.255 réservés.
 Plan d’adressage pour entreprises moyennes,
 Cette classe est la plus utilisée et les adresses sont
aujourd’hui pratiquement épuisées.
31
Classe C : Petits Réseaux
0 1 2 3 24 31
0 0 1 Net Part Net Part

 24 bits pour les numéros de réseau


• 192.0.0.0 à 223.255.255.0,
• Nombre de réseaux 2 097152.
 8 bits pour l’adressage des hôtes
• 192.0.0.1 à 223.255.255.254,
• (2)8 - 2 = 254 machines,
• a.b.c.0 et a.b.c.255 réservés.
• Plan d’adressage peu demandé au départ
– Petites entreprises,
– utilisation avec la croissance du réseau.
32
Classe D: Diffusion sur groupe ("Multicast" IP)
0 8 16 24 31

1 1 10 Adresse de groupe (Multicast IP)


Adresses multicast (RFC 1700)
• 28 bits identifiant de groupe (adresse) de diffusion,
• Transmission point à multipoint.
Adresses de 224.0.0.0 à 239.255.255.255
Les adresses de la classe D sont utilisées pour la
diffusion (multicast) vers les machines d’un même
groupe,
 Ce groupe peut être un ensemble de machines ou
aussi un ensemble de routeurs (diffusion des tables de
routage).
33
classe E : adresses réservé
0 8 16 24
131 1 1 1 0 Réservé

–Adresses de 240.0.0.0 à 254.255.255.254


• Réservée à une utilisation future

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.

Par exemple l’adresse IP suivante est noté par:

1100 0001 1100 0010 0100 0000 0100 0111

193 . 194 . 64 . 71

36
La notion de masque réseau
• Objectif: connaitre le réseau associé a une adresse IP,

• Le masque est un entier sur 32 bits, constitué d’une suite


contiguë de 1 suivi d’une suite de 0,
• En appliquant un ET logique entre une adresse IP
quelconque et le masque associé on obtient la partie
réseau de l’adresse (l’adresse réseau),
• Par exemple le masque associé à une adresse de classe A est:
11111111 00000000 00000000 00000000
Ce qui correspond en notation décimal à 255.0.0.0

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,

Une autre notation consiste a faire suivre une adresse


donné par le nombre de bits égal 1 dans le masque,

Exemple : 193.194.64.0 avec le masque 255.255.255.0


correspond à 193.194.64.0/24.

39
La notion de masque réseau
Les masques associés aux 3 classes d’adresses IP sont
respectivement:

Pour la classe A: 255.0.0.0 ou bien /8

Pour la classe B: 255.255.0.0 ou bien /16

Pour la classe C: 255.255.255.0 ou bien /24

40
Adresses particulières
 L’adresse réseau: la partie host =0
1100 0001 1100 0010 0100 0000 0000 0000  193.194.64.0

 L’adresse de la machine: la partie réseau = 0


0000 0000 0000 0000 0000 0000 0100 0111  0.0.0.71

L’adresse de diffusion dirigé: la partie machine = 1


1100 0001 1100 0010 0100 0000 1111 1111  193.194.64.255

 Adresse de diffusion limité: tout les bits à 1: 255.255.255.255,


 L’adresse de boucle locale: toutes les adresses commençant
par 127 127.X.X.X
– Utilisation habituelle de l’adresse : 127.0.0.1 ("localhost"). exp 127.0.0.1

 Adresse local au démarrage : tout les bits à 0  0.0.0.0 41


Adresses publiques,

Adresses Privés.

42
Adresses publiques
Pour permettre l’interconnexion des réseaux, il
faut garantir l’unicité des adresses,

C’est l’une des attributions de l’IANA qui attribue à


chaque réseau un identifiant unique,

Utilisé lorsque le réseau est connecté a internet,

Les adresses publiques sont routable.

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é

Les plages d’adresses privées:


– 10/8 : 10.0.0.0  10.255.255.255,
– 172.16/12 : 172.16.0.0  172.31.255.255,
– 192.168/16: 192.168.0.0  192.168.255.255,

Ces adresses ne doivent jamais être annoncées au


niveau des tables de routage vers l’internet.

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.

• La somme des longueurs de l’identifiant sous-réseau et


l’identifiant de la machine doit toujours donner la
longueur de la partie hôte dans l’adressage classique
51
Le sous-adressage
Le sous adressage avec les différentes classes d’adresses

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,

Retrouver les adresses de sous-réseaux et le masque


associé, l’adresse broadcast ainsi que les adresses
utilisables.

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

1x27 + 1x26 + 0x25 + 1x24 + 1x23 + 0x22 + 1x21 + 1x20 = 219

Le nombre de réseaux possible par adresse = 2nombre de bits de la partie réseau

Le nombre de machines par réseau = 2nombre de bits de la partie hôte -2

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

 Le nombre de réseaux doit être une puissance de 2, or


8=23 donc nous avons 3 bits dans la partie sous-réseau.

 Le nombre de machines doit être une puissance de 2


également, 32 = 25, donc nous avons 5 bits dans la
partie hôte.

60
Le sous adressage
Notation décimal 0 24 27 31

Adresse 1100 0000 1010 1000 0100 0000 0 0 0 0 0 0 0 0


initial
192.168.64.0
1111 1111 1111 1111 1111 1111 0 0 0 0 0 0 0 0
Nouveau
Masque
255.255.255.224 1111 1111 1111 1111 1111 1111 111 0 0000
Réseau
N°=1
192.168.64.0 1100 0000 1010 1000 010 0 0000 0 0 0 0 0 0 0 0
Réseau
N°=2
192.168.64.32 1100 0000 1010 1000 010 0 0000 0 0 1 0 0 0 0 0
Réseau
N°=3
192.168.64.64 1100 0000 1010 1000 010 0 0000 0 1 0 0 0 0 0 0
Réseau
N°=4
192.168.64.96 1100 0000 1010 1000 010 0 0000 0 1 1 0 0 0 0 0
Réseau
N°=5
192.168.64.128 1100 0000 1010 1000 010 0 0000 1 0 0 0 0 0 0 0
Réseau
N°=6
192.168.64.160 1100 0000 1010 1000 010 0 0000 1 0 1 0 0 0 0 0
Réseau
N°=7
192.168.64.192 1100 0000 1010 1000 010 0 0000 1 1 0 0 0 0 0 0
Réseau
N°=8
192.168.64.224 1100 0000 1010 1000 010 0 0000 1 1 1 0 0 0610 0
Le sous adressage

Adresse réseau Adresse broadcast Adresses utilisable

192.168.64. 000 00000 192.168.64.000 11111 192.168.64.000 00001 192.168.64.000 11110


(192.168.64.0) (192.168.64.31) 192.168.64.1 192.168.64.30
192.168.64. 001 00000 192.168.64.001 11111 192.168.64.001 00001 192.168.64.001 11110
(192.168.64.32) (192.168.64.63) 192.168.64.33 192.168.64.62
192.168.64. 010 00000 192.168.64.010 11111 192.168.64.010 00001 192.168.64.010 11110
(192.168.64.64) (192.168.64.95) 192.168.64.65 192.168.64.96

192.168.64. 011 00000 192.168.64.011 11111 192.168.64.011 00001 192.168.64.011 11110


(192.168.64.96) (192.168.64.127) 192.168.64.97 192.168.64.126
192.168.64. 100 00000 192.168.64.100 11111 192.168.64.100 00001 192.168.64.100 11110
(192.168.64.128) (192.168.64.159) 192.168.64.129 192.168.64.158
192.168.64. 101 00000 192.168.64.101 11111 192.168.64.101 00001 192.168.64.101 11110
(192.168.64.160) (192.168.64.191) 192.168.64.161 192.168.64.190
192.168.64. 110 00000 192.168.64.110 11111 192.168.64.110 00001 192.168.64.110 11110
(192.168.64.192) (192.168.64.223) 192.168.64.193 192.168.64.222
192.168.64. 111 00000 192.168.64.111 11111 192.168.64.111 00001 192.168.64.111 11110
(192.168.64.224) (192.168.64.255) 192.168.64.225 192.168.64.254
62
Le sous adressage
Calcul décimal:
1. Déterminer l’octet qui va contenir le numéro du sous-réseau,

2. Déterminer le nombre de bits dans la partie machine N, ce qui


nous intéresse c’est 2N qui est le nombre d’adresses possibles
dans le sous-réseau,

3. Déterminer la première adresse de sous-réseaux (dont la partie


sous-réseau doit être égale a 0),

4. Pour obtenir la prochaine adresse IP de sous-réseau


incrémenter de 2N la première adresse,

5. Pour obtenir la prochaine adresse augmenter de 2N la dernière


adresse obtenue et ainsi de suite.
63
Le sous adressage
N=5, le nombre d’adresses possible = 25= 32
Adresse réseau initial 192.168.64.0

Masque initial 255.255.255.0


Nouveau Masque 255.255.255.224
Première adresse réseau 192.168.64.0 +0 192.168.64.0
2eme adresse réseau 192.168.64.0 +32 192.168.64.32
3eme adresse réseau 192.168.64.32 +32 192.168.64.64
4eme adresse réseau 192.168.64.64 +32 192.168.64.96
5eme adresse réseau 192.168.64.96 +32 192.168.64.128
6eme adresse réseau 192.168.64.128 +32 192.168.64.160
7eme adresse réseau 192.168.64.160 +32 192.168.64.192
8eme adresse réseau 192.168.64.192 +32 192.168.64.224 64
Le sous adressage
Calcul de l’adresse de diffusion et les adresses utilisables:

L’adresse de broadcast = adresse sous-réseau + 2N –1

Les adresses utilisables = adresse sous-réseau +1 


jusqu’à adresse broadcast -1

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

•Définir un plan d’adressage pour les quatre LANs en utilisant la


plage d’adresses IP : 192.168.1.0/24 ?
Masques de longueur variable
VLSM Variable Length Subnet Mask

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

 Les trois routes conduisent au but


 Le routeur choisit la route 136.1.6.0/23.
76
VLSM
Avantages
• L’utilisation de plusieurs masques permet un usage plus
efficace de l’espace d’adressage attribué à une organisation : il
n’est pas nécessaire de se conformer à la taille unique des sous-
réseaux,
• On réduit le volume des tables nécessaires au routage au
niveau dorsal (‘backbone’) d’une organisation.
Inconvénients
• Nécessite l’adaptation des protocoles de routage pour
échanger les masques: RIPV1  RIPV2,
• Ne permet de structurer correctement que le domaine d’adresse
privé d’une organisation.
77
Routage sans classe : CIDR
‘Classless Inter Domain Routing’

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

 Il a été décidé de n’attribuer qu’exceptionnellement les


adresses de classes B restantes,
 Attribuer des adresses contiguës de classe C,
 Faire coïncider une seule entrée dans les tables de
routage (réduire l’encombrement des table de routage)

 Réaliser une affectation géographique.

82
L’adressage géographique ou CIDR
• Exemple:
• Pour l’Europe on a attribué les adresses 194 et 195 (les 7 premiers
bits identiques),

• Le nombre de bits servant à coder la partie commune, ou préfixe


d’adresse, est représenté à la fin de l’écriture de l’adresse comme
suit : 194.0.0.0/7, ainsi cette adresse indique tous les sous-réseaux
européens,

• Il suffit donc d’indiquer aux routeurs que le champ Net_ID à


prendre en compte est de 7 bits et non de considérer ces adresses
comme des adresses de classes C,

• Une seule entrée suffit alors dans la table de routage. Cette


technique, issue de celle du masque de sous-réseau, porte le nom
de supernetting ou routage interdomaine
83
CIDR
L’introduction par l’IETF de la notion de CIDR RFC 1338-
1518-1519,
Ça consiste a allouer exactement le nombre de classes C
nécessaires pour un organisme donnée,
Les adresses de classes C doivent être contiguë, en parle
alors de super réseaux,
Au niveau des routeurs une seule entrée dans la table de
routage désigne tout le bloc d’adresses,
On parle alors d’agrégation des adresses, et ça représente
l’avantage de soulager la table de routage au niveau des
routeurs.
84
Contraintes pour le déploiement de CIDR
• Hôtes et routeurs doivent supporter l’adressage CIDR
et ses conséquences
– Mêmes conséquences que VLSM,
– Les adresses de destination doivent être échangées par les
protocoles de routage avec leur préfixe (qui peut être de
taille quelconque).

• Les routeurs doivent implanter un algorithme de


"correspondance la plus longue".

• Les adresses doivent être distribuées sur une base


topologique pour agréger les routes.
85
CIDR: Agrégation
 Pour ce faire, une comparaison binaire de l’ensemble des
adresses à agréger est nécessaire,

 Il faut en effet arriver à déterminer les bits de la partie


réseau qui sont en commun dans toutes ces adresses et
mettre à zéro tous les bits restant,

 L’exemple suivant illustre l’utilisation d’une agrégation de


quatre adresses réseaux en une seule adresse,

 Il faut en effet agréger les 4 réseaux ci-dessous :


 10.3.4.0 255.255.255.0 (ou /24)
 10.3.5.0 255.255.255.0 (ou /24)
 10.3.6.0 255.255.255.0 (ou /24)
 10.3.7.0 255.255.255.0 (ou /24)
86
CIDR
• Processus d’agrégation (ou summarization) de routes en
une seule :

Nouvelle route agrégée: 10.3.4.0 255.255.252.0 (/22)


87
CIDR
Exemple:
Les adresses de classe C qui commencent de 192.168.64.0
jusqu’à 192.168.95.0 forment un seul bloc d’adresses de
32 classe C contiguë.

On note ce bloc par 192.168.64.0/19 car le nombre de bits


commun pour toutes les classes d’adresse qui forment ce
bloc est 19.

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

1100 0001 1100 0010 010 0 0000 0000 0000 : 193.194.64.0


1100 0001 1100 0010 010 0 0001 0000 0000 : 193.194.65.0
1100 0001 1100 0010 010 0 0010 0000 0000 : 193.194.66.0
1100 0001 1100 0010 010 0 0011 0000 0000 : 193.194.67.0
1100 0001 1100 0010 010 0 0100 0000 0000 : 193.194.68.0
1100 0001 1100 0010 010 0 0101 0000 0000 : 193.194.69.0
……………
1100 0001 1100 0010 010 1 1111 0000 0000 : 193.194.95.0
89
CIDR: un exemple pratique
Les réseaux 193.194.64.0 et 193.194.64.128 sont notés seulement avec le NetId,
les machines seulement avec le Hostid ; exemple IP(F) = 193.194.64.2

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.

• CIDR permet d'agréger les routes à tous les niveaux


– Contrôle de la taille des tables de routage,
– Facilite l'administration des routeurs.

• CIDR présente les inconvénients de la hiérarchisation:


• Si une organisation souhaite changer de prestataire sans
changer d’adresse on doit créer une route d’exception ce qui
est coûteux. 92
CIDR (Classless Inter Domain Routing)
• L'adresse CIDR 192.168.24.0/22 doit prendre en charge le réseau
indiqué dans le schéma.

• En utilisant la technique VLSM, établir un partitionnement de cette plage


d'adresses afin de pouvoir attribuer des adresses IP valides à tous les hôtes dans
les différents réseaux ?

Adresse Masque sous- Adresse de Plage d’adresses


réseau réseau diffusion disponible
Exercice
• L’architecture ci-dessous représente le réseau de FSTF. Il est constitué de 4 vlans :
– Vlan 10: département physique: 20 postes,
– Vlan 20: département informatique: 50 postes,
– Vlan 30: département génie industriel: 60 postes,
– Vlan 40: salle serveurs: 10 postes.

.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

Fragmentation : Adaptation des datagrammes IP à la


MTU du réseau physique utilisé ,

Adressage IP: désignation des hosts et nœuds,

Routage: acheminement des datagramme dans le


réseau logique.
97
Structure du datagramme IP
• Le paquet IP est formé de deux grandes parties :
– L'entête du paquet
• Constitue le PCI du protocole IP (taille généralement de 20 octets).
• C'est là ou sont inscrites toutes les informations du protocole (adresse,
fragmentation, options, etc.).
– La partie "data", ou champ de données
• Elle véhicule la PDU de couche supérieure généralement un segment
TCP ou UDP).
• Taille maximum de 65536 octets (en-tête et données comprises).

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.

• ID : Identificateur fragment- 16 bits,

• Flags ou drapeau: DF (1bit) et MF (1 bit ),

• Fragment Offset: position du fragment - 13 bits


– Ces trois champs servent à gérer le mécanisme de
fragmentation du datagramme IP.
102
Structure du datagramme IP
• TTL : Time To Live 8 bits
– Compteur qui sert à limiter la durée de vie du datagramme (initialiser a 255)
– Décrémenté à chaque nouveau saut
– Datagramme éliminé s'il atteint zéro (élimine les paquets perdus (erreurs de
routage))
– La passerelle qui détruit un datagramme envoie un message d’erreur ICMP à
l’émetteur,
• Protocole 8 bits
– Numéro du protocole destinataire (RFC 1700)

Hexadécimal Décimal Protocole Nom


01 1 ICMP Internet Control Message Protocol
06 6 TCP Transmission Control Protocol
11 17 UDP User Datagram Protocol
08 8 EGP Exterior Gateway Protocol
09 9 IGP Interior Gateway Protocol 103
Structure du datagramme IP
• Header Checksum 16 bits
– CRC sur l'en-tête uniquement,
– Complément à 1 de la somme des demi-mots de 16 bits,
– Doit être recalculé dès qu'une valeur change (ex. TTL).
• Options
– Ce champ est assez peu utilisé (prévu pour des
expérimentations).
– Il permet de mettre en œuvre des mécanismes évolués
• le routage par la source (l'émetteur indique par où doit passer le
paquet),
• l'enregistrement de routes (le paquet enregistre par où il est passé
pour arriver à destination).
– Possibilité de bourrage "padding" à la fin de la section
options (longueur totale de la partie options doit être un
multiple de 4 octets).
104
Fragmentation

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,

– En cas de fragmentation, l’ID est recopiée par les systèmes


intermédiaires dans tous les fragments du datagramme
d’origine,

– L’ID permet, à l’hôte destinataire, d’identifier (N◦


identification et adresse IP) les différents fragments d’un
même datagramme,

– Il facilite ainsi le réassemblage,


107
Fragmentation
• Flags : Indicateurs de fragmentation (3bits)
• bit0 : bit non utilisé et à 0.
• bit DF Don’t Fragment :
– DF=1: indique que ce datagramme ne doit pas être fragmenté.
– Dans ce cas, un routeur qui n’a d’autre choix que le fragmenter
va le détruire et enverra un message ICMP de compte rendu de
destination inaccessible.
• bit More :
– MF= 1, indique que le datagramme n’est qu’une partie
(fragment) du datagramme d’origine et que ce n’est pas le
dernier fragment.
– Si MF= 0, indique que le datagramme est le dernier fragment du
datagramme d’origine.

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),

• ping mon@IP : permet de vérifier la configuration réseau


locale de la station,

• ping @default-routeur : permet de tester la configuration


du sous-réseau et de la passerelle,

• ping @dest : permet de tester un chemin de bout en bout


118
ICMP: l’utilitaire PING
• Le numéro de séquence: est initialisé à zéro et incrémenté à
chaque envoi d’un datagramme PING.
• Le champ identificateur: permet au système source de
différentier les réponses d’une séquence de PING vers des
systèmes différents.
• La réponse à une commande PING doit parvenir dans un délai
maximal de 20 secondes, si non la cible est déclarée
inaccessible.

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.

Cache ARP: le résultat de chaque résolution est


conservé localement pour les émissions suivantes

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

• Le routage est le processus permettant d'acheminer


un datagramme IP de son hôte émetteur jusqu'à son
hôte destinataire,

• Conditions nécessaires au routage :


– Mécanisme d’adressage pour la localisation de la source
et de la destination,
– Mécanisme de sélection du chemin.

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.

• Protocoles routés ou routables


• Les protocoles routés sont des protocoles prenant en charge les
fonctionnalités de la couche réseau (adressage et sélection)
• Exemples : IP, IPX, AppleTalk.
132
Le routage
• Mode bout en bout / point à point
• La technologie TCP-IP est de type bout en bout:
l’acheminement des paquets est réalisé par routage,
• Les technologies point à point (exp: X25): l’acheminement
des paquets est réalisé par commutation,
– X25/FR maintiennent des états associés au circuit virtuel (adresse
du prochain relais, nombre de paquets restant à transmettre,
contrôle de flux, etc.); si un de ces états est perdu, la
communication est rompue,
• IP est dit «sans états»,

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.

• Les éléments de l’interconnexion (routeur) ne doivent fournir


qu’un service minimum: router du mieux qu’ils peuvent: best
effort. 134
Types de routage

• Deux types de routage:


 Routage direct,
 Routage indirect.

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

• Action d'un routeur sur les datagrammes reçus


• Lorsqu'un routeur IP reçoit sur l'une de ses interfaces une trame
physique, il extrait le datagramme qu’elle contient,
• Puis il met en œuvre un algorithme de routage utilisant une
table de routage pour déterminer dans quelle direction propager
le datagramme,
• En fonction de l'adresse de destination IP, le routeur détermine
vers quel réseau physique doit être routé le datagramme,
• Ensuite Il encapsule le datagramme dans une nouvelle trame
physique, puis émet cette dernière sur ce réseau physique,
• Ainsi de routeur en routeur jusqu'à destination.

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.

• Soit le réseau est directement connecté à la passerelle ,


dans ce cas le moyen de l'atteindre est: le nom de
l'interface,
• Soit il s'agit de l'adresse IP du prochain routeur situé sur
la route vers ce réseau.

141
Table de routage

142
Table de routage

• Afin de limiter la taille des tables de routage et le


traitement associé:
– Le routage IP est effectué de saut en saut («next hop»)
depuis la source jusqu’à la destination,
– A chaque saut, il y a prise de décision autonome afin de
sélectionner la route qui acheminera le datagramme,
– A chaque étape, un routeur n’a qu’une connaissance
partielle du 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,

• Le routage par défaut permet d’optimiser la taille de la


table de routage,
• Le concept de route par défaut est au cœur du routage144IP,
Route par défaut
Le routage par défaut est utilisé surtout dans les hosts, cas d’un seul
routeur connecté au réseau

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é

195.10.40.0 255.255.255.0 Directement connecté


du Routeur_1 195.10.50.0 255.255.255.0 Directement connecté
195.10.60.0 255.255.255.0 195.10.50.202
195.10.40.0 255.255.255.0 195.10.50.201
du Routeur_2 195.10.50.0 255.255.255.0 Directement connecté
195.10.60.0 255.255.255.0 Directement connecté
195.10.40.0 255.255.255.0 Directement connecté
de l’Hôte_A 195.10.50.0 255.255.255.0 195.10.40.200
195.10.60.0 255.255.255.0 195.10.40.200
195.10.40.0 255.255.255.0 195.10.50.201
de l’Hôte_B 195.10.50.0 255.255.255.0 Directement connecté
195.10.60.0 255.255.255.0 195.10.50.202
195.10.40.0 255.255.255.0 195.10.60.200
de l’Hôte_C 195.10.50.0 255.255.255.0 195.10.60.200
195.10.60.0 255.255.255.0 Directement connecté
149
Exemple de tables de routage
Table de Network Subnet Mask passerelle
routage address associé
195.10.40.0 255.255.255.0 Directement connecté
du Routeur_1 195.10.50.0 255.255.255.0 Directement connecté
195.10.60.0 255.255.255.0 195.10.50.202
195.10.40.0 255.255.255.0 195.10.50.201
du Routeur_2 195.10.50.0 255.255.255.0 Directement connecté
195.10.60.0 255.255.255.0 Directement connecté
195.10.40.0 255.255.255.0 Deliver Directly
de l’Hôte_A 0.0.0.0 0.0.0.0 195.10.40.200

195.10.40.0 255.255.255.0 195.10.50.201


de l’Hôte_B 195.10.50.0 255.255.255.0 Directement connecté
195.10.60.0 255.255.255.0 195.10.50.202

de l’Hôte_C 0.0.0.0 0.0.0.0 195.10.60.200


195.10.60.0 255.255.255.0 Directement connecté

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,

• C'est au niveau de la trame physique (trame Ethernet par


exemple) que les adresses physiques source et destination
changent à chaque passage par un routeur.

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

entre le Routeur_1 et le Routeur_2


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 interface du Routeur_2
Hôte_A Hôte_C
côté Routeur_2 côté Routeur_1

entre le Roteur_2 et l’Hote C


En-tête trame physique En-tête datagramme
Adresse MAC source Adresse MAC destination Adresse IP source Adresse IP destination
interface du Routeur_2
Hôte_C Hôte_A Hôte_C 152
côté Hôte_C
Mise à jour de la table de routage

 Routage statique

 Routage dynamique

153
Mise à jour de la table de routage

Routage statique: les tables de routage sont configurées


manuellement par l'administrateur du réseau.
• Commande "route" des stations unix,
• Commande des routeurs " ip route",
• C'est souvent le cas des tables de routage des hôtes (stations de
travail ou serveurs),

Routage dynamique: les table de routage sont configurées


automatiquement via des échanges d'informations de
routage: protocole 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

• Ajouté une route par default on utilisant la passerelle 172.16.0.1

• Pour supprimer une route on utilise la commande

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

Pourquoi le routage dynamique ?


• Si le réseau est complexe, la configuration peut être fastidieuse et source
d'erreurs,

• Lorsque un nouveau réseau est ajouté, il faut reconfigurer l'ensemble


des routeurs,

• Pour prévenir tout dysfonctionnement (panne d'un routeur, ligne coupée,


etc.), il faut effectuer une surveillance permanente et reconfigurer chaque
routeur le cas échéant. Si la route est rétablie, il faut recommencer la
manipulation.
160
Routage dynamique
• L’administrateur réseau met en place un protocole de routage
établissant automatiquement les chemins entre deux 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

• Protocoles de routage externes (inter-AS)


– EGP Exterior Gateway Protocol (RFC 827)
• Premier protocole externe utilisé dans Internet
– BGP Border Gateway Protocol (RFC 1771)
• Définit les échanges internes au domaine (iBGP) et externes
(eBGP)
164
RIP
Routing Information Protocol

165
Introduction

 Issu des travaux de Bellman-Ford, le protocole RIP (Routing


Information Protocol, RFC 1058),
 Développé par l’Université de Californie (UCB, University of
California at Berkeley),
 Pour UNIX BSD 4.2 (Berkeley Software Distribution) et
utilisé initialement dans Arpanet
 Le protocole de routage vecteur distance le plus diffusé en
raison de sa simplicité, de sa solidité, de sa facilité de mise
en œuvre, ceci malgré ses lacunes.
166
Le protocole RIP
• Un routeur RIP transmet à ses voisins les adresses réseau qu'il
connaît
– Soit les adresses de ses interfaces,
– Soit les adresses découvertes via les autres routeurs,
– Ainsi que la distance pour les atteindre.
• Le couple adresse/distance est appelé vecteur de distance,
• Un routeur construit sa table de routage en fonction des vecteurs de
distance reçus de ses voisins,
• La notion de distance (concept de métrique)
– La seule métrique utilisée par RIP est la distance correspondant au nombre de
routeurs à traverser (hop ou nombre de sauts),
– Pour chaque route, le protocole RIP calcule la distance,
– Si des routes redondantes apparaissent, RIP retient celle qui a la distance la
plus faible.
167
Algorithme général de RIP
Lors de l'initialisation du routeur, celui-ci détermine l'adresse réseau de ses interfaces
puis envoie sur chacune une demande d'informations (table RIP complète) aux routeurs
voisins,
Lors de la réception d'une demande, un routeur envoie sa table complète ou partielle
suivant la nature de cette demande,
Lors de la réception d'une réponse, il met à jour sa table si besoin. Deux cas peuvent
se présenter :
 Pour une nouvelle route,
il incrémente la distance,
vérifie que celle-ci est strictement inférieure à 15,
et diffuse immédiatement le vecteur de distance correspondant ,
 Pour une route existante
1. avec une distance plus faible,
 la table est mise à jour. La nouvelle distance et l'adresse du routeur si elle
diffère sont intégrées à la table,
2. Avec une distance est supérieure à celle déjà connue,
RIP ignore la nouvelle route.
Ensuite, à intervalles réguliers (les cycles durent 30 secondes environ), la table RIP est
diffusée qu'il y ait ou non des modifications .
168
Algorithme général de RIP

 Des routes doivent être retirées de la table gérée par RIP


dans deux situations:
 Un réseau immédiatement connecté devient
inaccessible,
 Un routeur du réseau tombe en panne.

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,

– Tant que la convergence n’a pas eu lieu, des


paquets peuvent être perdus

173
problème de la convergence lente

 Dans certains cas, après la panne d'un accès réseau, deux


routeurs voisins risquent de se transmettre mutuellement
puis, ensuite, de propager des informations contradictoires
au sujet de ce réseau et créer ainsi une boucle de routage
infinie,
 Afin d'empêcher ce phénomène et de réduire le délai de
convergence, on met en œuvre les mécanismes :
 Split horizon (horizon coupé) : une information de routage reçue
d'une interface n'est jamais retransmise sur celle-ci,
 Poison reverse: renvoie des routes apprises par un routeur avec
une distance infini 16 au même routeur.
 L'existence de ces mécanismes est dû à une faiblesse des
algorithmes à vecteurs de distance que l'on appelle
"problème de la convergence lente".
174
Métrique / distance administrative

• La métrique mesure la qualité d’un chemin entre deux


routeurs
– Son calcul dépend des algorithmes de routage,
– Critères de calculs utilisés dépendant de l’algorithme de routage
(nombre de sauts, délai, charge, bande passante, fiabilité).

• La distance administrative indique la fiabilité de la source


d’une route. Plus elle est faible, plus elle est meilleure.

175
Distance administrative

Moyen de découvrir une route 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

 diffusion des masques de sous-réseaux associés aux adresses réseaux (RIPv1


n'utilisait que les masques réseau par défaut) ;

 utilisation d'adresses multicast pour diffuser les vecteurs de distance au lieu


d'adresses de broadcast, ce qui réduit l'encombrement sur le réseau ;

 Support de l'authentification en transportant un mot de passe crypté;

 interopérabilité entre protocoles de routage en diffusant des routes apprises à


partir d'autres protocoles.

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

 Protocole de routage dynamique à état de liens conçu


spécifiquement pour TCP-IP,
 Utilise l'algorithme SPF Shortest Path First (algorithme de
Dijkstra), afin d'élire la meilleure route vers une
destination donnée,
 La métrique(coût de la liaison) est configurable interface
par interface,
 Plusieurs métriques peuvent être utilisées simultanément
(longueur de la file d’attente, débit, distance...).

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,

1991 OSPFv2 publié dans RFC 1247,


L'ISO commence en même temps à travailler sur le
protocole IS-IS (Intermediate System to Intermediate System),

1998 OSPFv2 updated in RFC 2328,


1999 OSPFv3 publié dans RFC 2740.
186
OSPF et rip
• OSPF a été conçu pour palier aux limitations du
protocole RIP:
– Possibilité de gérer des domaines de diamètre >16
routeurs,
– Amélioration du temps de convergence,
– Métrique plus évoluée (prise en compte des débits),
– Meilleure possibilité d’agrégation des routes,
– Segmentation possible de domaines en zones (area).

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

• L'algorithme utilisé pour trouver les meilleurs routes


est appelé Shortest Path First algorithm : SPF
– Appelé également Dijkstra SPF algorithm ou bien
simplement Dijkstra algorithm du nom de son
concepteur,

• Les échanges d'informations entre routeurs se font


on deux grandes étapes:
1. Initialisation du processus par une recherche des
voisins,
2. Après qu'un routeur ait identifié un voisin, les routeurs
s'échangent leurs informations topologiques.
192
Lien et état de lien

• Lien: l’interface d’un routeur,


• Etat de lien: les informations relatives au lien.

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

• L'élection des meilleures routes


– L'algorithme du SPF de Dijsktra va traiter cette base de
données afin de déterminer les routes les moins
coûteuses,

– Une fois le traitement réalisé, chaque routeur se voit


comme la racine d'un arbre contenant les meilleures
routes.

197
Ospf: élection des meilleures routes

Dans l'exemple, entre R1 et 192.168.1.0, la meilleure route passe


par R2, R3 et R4 pour un coût total de 1 + 1 + 10 + 10 soit 22. 198
Table de routage
• La détermination d'une table de routage
• La base de données topologique décrit le réseau mais ne sert pas
directement au routage,
• La table de routage est déterminée par l'application de l'algorithme
du SPF sur la base topologique.
Routeur R1

Réseau de destination Moyen de l'atteindre Coût

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,

Le numéro 0.0.0.0 identifie la zone fédératrice,

Le backbone assure l’acheminement interzone,

Si le réseau OSPF ne comporte qu’une seule zone, cette zone


est obligatoirement la zone 0.0.0.0 .

205
Notion D’AIRES de routage

• IR, Internal Router: routeurs de zone ou ces routeurs n’annoncent


que les routes internes à leur zone limité a 50 routeurs au
maximum par zone,

• ABR, Area Boundary Router: routeurs qui assurent la connexion


au backbone, et qui annoncent les routes extérieures à la zone,

• ASBR, Autonomous System Boundary Router: routeurs


frontières de système autonome Ces routeurs assurent l’échange
d’information avec les autres systèmes autonomes,

• NB: Les routes extérieures au système autonome sont apprises


par des protocoles autres qu’OSPF (routage statique, EGP, BGP...).
206
Notion D’AIRES de routage
 Dans chaque zone, on découvre la topologie de la zone et on
calcul les plus courts chemins,

 Les routeurs fédérateurs reçoivent les informations locales à


leurs zones pour calculer la meilleure route pour atteindre
chaque routeur de l'AS,

 Cette information est ensuite communiquée à tous les


routeurs inter-zones qui la répercutent au sein de leurs zones,

 Si les sous-réseaux d'une zone ont des adresses IP contiguës,


le routeur inter-zones ne signale qu'une seule route par
agrégation.

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,

– Lors de l’envoi d’une mise à jour, chaque routeur doit ré-


acheminer celle-ci à tous les routeurs avec lequel il est
adjacent,

– Si N est le nombre de routeurs, le nombre de liens est N (N –


1)/2, le nombre d’annonces est N(N – 1).

209
Routeur Désigné (DR, Designated Router)

 Pour limiter ce trafic OSPF introduit la notion de:


Routeur Désigné (DR, Designated Router),
 Toute mise à jour sera envoyée uniquement au DR,
 C’est le DR qui assurera la diffusion des messages vers
les routeurs de la zone,
 Ce qui ne nécessite que N messages (1 message vers le
DR et N –1 message du DR vers les hôtes).

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

• Identification d'un routeur RID


– La base de données de la topologie du réseau contient
• La liste de tous les sous-réseaux appelé: lien,
• L'identité du routeur permettant de faire la liaison avec ce lien.
– Identifier un routeur de façon unique sur le réseau par un
identifiant appelé RID,
– La solution choisie est basée sur les adresses IP du routeur
• Si le routeur possède un adresse loopback, il prendra
l'adresse la plus grande parmi ses adresses de loopback,
• Sinon, il choisira la plus grande adresse IP de ses interfaces
opérationnelles
– Chaque routeur choisit son OSPF RID à l'initialisation,
 NB: le RID ne change pas, même si une nouvelle interface s'active.
Les changements n'ont lieu que si le processus OSPF est
réinitialisé,
212
Principe de l’élection du DR et son buckup BDR
 interface loopback
– L’avantage d’une interface loopback est que, contrairement aux
interfaces physiques, elle ne peut pas tomber en panne,
– Pour être à l’état up, l’interface loopback ne dépend pas de
câbles réels ou d’un périphérique contigu,
– Son utilisation pour déterminer l’ID de routeur offre au
processus OSPF de la stabilité.
 La commande OSPF router-id
– Une nouveauté dans IOS,
– Il est plus courant d’utiliser des adresses de loopback pour La
configuration des ID de routeur OSPF.
 Remarque
– Un routeur n’étant sélectionné ni comme DR, ni comme BDR,
devient DROther.
213
Exemple d’élection du DR et son buckup BDR

• Toutes les interfaces ont la même priorité


• La commande router-id n’est pas utilisée 214
Exemple d’é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:

1. Élection du routeur désigné et de son backup,

2. Synchronisation des données topologiques,

3. Mise à jour des bases de données,

4. Calcul du chemin le plus court.


223
Fonctionnement d’OSPF
• Pour son fonctionnement OSPF met en œuvre trois sous-
protocoles:
1. Le protocole Hello utilisé entre deux routeurs
adjacents pour synchroniser leur base de
connaissance;
2. Le protocole d’échange permet, lors de l’initialisation
d’un routeur, l’acquisition des entrées de sa base de
données;
3. Le protocole d’inondation est utilisé par un routeur
pour signaler la modification de l’état d’un lien qui lui
est rattaché.
224
Le protocole HELLO
• Le protocole Hello permet de:
– Découvrir ses voisins,
– Vérifier la connectivité entre les nœuds,
– Partager des paramètres de configuration,
– Elire le DR Designated Router et BDR Backup Designated
Router.

• Hello interval: (intervalle Hello) Un message Hello est


envoyé périodiquement pour tester la présence du routeur
voisin,

• Dead Interval: (intervalle de mort) en l’absence de


réception de message durant une période supérieure à une
durée prédéterminée, la liaison est déclarée inaccessible.
225
Le protocole HELLO
• Découverte des voisins:
• Chaque routeur a besoin de savoir si l'expédition de son
message Hello est bien arrivé à destination,
• Pour cela, si un routeur A reçoit d'un routeur B un message
Hello
– Il va prévenir B qu'il a bien reçu son message Hello en ajoutant B
dans la liste de ses voisins dans le prochain message Hello qu'il
expédiera à B,
– Ensuite, B fera de même en ajoutant A dans la liste de ses voisins
dans son prochain message Hello.
• Lorsque la liste des voisin comprend son propre RID
(adresse),le routeur en déduit que la connectivité avec son
voisin est complète (connectivité bilatérale),
• A partir de cet instant, des informations LSA (Link-state
Advertisements) sont susceptibles d'être échangées: le sous-réseau,
le masque, la métrique…….. 226
Protocole hello

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

• Il faut que les 3 paramètres


soient identiques
– Hello interval
– Dead Interval
– Network type

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

• Le process_id a une portée locale au routeur


• area-id désigne la zone ospf (pour la zone backbone
il faut mettre 0)

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,

• Imposer un ID élevé au routeur :


– avec la commande router-id,
– En créant une interface de loopback avec une
l’adresse IP.

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,

Garante de la Qualité de Service (QoS) rendue par


la couche réseau.

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

Protocole avec connexion TCP

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

Structure de la TPDU ou segment TCP 252


Structure du segment TCP
• Numéro de port
Entier identifiant l’application à laquelle la couche
transport doit remettre les messages,

Valeurs spécifiées à la connexion,

Le port destinataire est soit connu, soit défini lors


d’une phase d’identification (login) et passé à
l’appelant en réponse.

253
Structure du segment TCP

• Numéro de Séquence (émission)


– Le numéro de séquence indique la position du premier
octet du segment transmis,
– la valeur initiale et aléatoire (ISN, Numéro de
Séquence Initial) est définie et acquittée par les deux
systèmes d’extrémité lors de la phase de connexion,
– Les octets sont décomptés depuis le début de la
connexion (NS = ISN + Nb octets transmis + 1),
– Le numéro de séquence du premier octet transmis est
(ISN+1).
254
Structure du segment TCP

• Le numéro de séquence acquitté (réception)


Le récepteur renvoie le numéro du prochain octet
attendu ,
c’est-à-dire le numéro de séquence du dernier
segment reçu, incrémenté de la taille des données
reçues:

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,

La valeur 5 correspond à taille minimale de l’en-tête TCP


(20 octets),

Le champ longueur:


taille de l’en-tête TCP y compris la zone optionnelle,
indique donc le début des données.
256
Structure du segment TCP
Le champ drapeau contient 6 indicateurs:
– URG:
• Valide le champ pointeur sur données urgentes.
– ACK:
• Le bit ACK à 1 valide le champ numéro de séquence acquitté.
– PSH:
• TCP peut, pour des raisons d’efficacité du protocole,
attendre d’avoir suffisamment de données à transmettre
pour former un segment,
• L’indicateur PUSH permet de demander au destinataire de
délivrer immédiatement les données en attente.

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

Lors de la connexion chaque extrémité informe


l’autre du numéro de séquence initial choisit (ISN),
Ce qui conduit à un processus de connexion en trois
temps:
1. À la demande de connexion l’initiateur informe son
destinataire de ISN choisi,
2. Le destinataire l’acquitte et fournit son ISN,
3. En réponse l’initiateur l’acquitte,

Durant cette dernière phase il est possible


d’envoyer des données.
273
Fermeture de la connexion

274
Fermeture de la connexion

Fermeture douce ou négociée


Il existe un mode de fermeture douce ou négociée
évitant toute perte de données dans le réseau,

Car il n’y a pas de couche session pour contrôler le


dialogue,

La fermeture définitive n’ayant lieu qu’après le


transport effectif des données en attente dans les deux
systèmes d’extrémité.

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)

• il est de toute façon pénalisant d'attendre


l'expiration du RTO pour retransmettre
– Quand le récepteur reçoit des données hors-
séquence, il renvoie immédiatement un ACK
indiquant les données qu'il attend,

– Si l'émetteur a reçu 3 ACK dupliqués (4 ACK avec le


même numéro de séquence attendu), il retransmet
sans attendre l'expiration du RTO.

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

Exemple de transmission de trois segments avec un protocole à fenêtre


glissante. L’ émetteur peut transmettre tous les segments qui sont dans
la fenêtre sans attendre d’accusé de réception
286
Contrôle de flux

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

Principe du contrôle de flux par TCP


290
Contrôle de flux

• Notion de fenêtre stupide (Silly Window Syndrome, SWS)


• Problématique
– Supposons que le buffer du récepteur se vide lentement,
– Il va ouvrir la fenêtre d’une petite quantité,
– L’émetteur va alors immédiatement envoyer des données,
– La fenêtre se referme,
– L’équilibre ne sera trouvé que par l’envoi de petits segments,
– Le réseau est alors mal utilisé.

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

Vous aimerez peut-être aussi