Vous êtes sur la page 1sur 34

Cours Protocoles et Services Réseaux AU : 2019/2020

Cours Protocoles et Services Réseaux

Réalisé par Dr. Wassim JERBI

Institut supérieur des études technologique de Sfax

Dr.Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

Bibliographie
 http://cisco.netacad.net/
 Réseaux Locaux et Internet, Laurent Toutain, Edition Hermès.
 Les réseaux, Guy Pujolle, Edition Eyrolles.

Dr.Wassim JERBI Wassi m JER BI


Cours Protocoles et Services Réseaux AU : 2019/2020

La couche transport:
TCP & UDP

24
3

Dr.Wassim JERBI Wassi m JER BI


Cours Protocoles et Services Réseaux AU : 2019/2020

Transport des données


Rôle de la couche transport
 Le rôle de la couche transport est d'établir une session de
communication temporaire entre deux applications pour acheminer les
données entre elles.
 TCP/IP utilise deux protocoles pour cela :
 TCP (Transmission Control Protocol)
 UDP (User Datagram Protocol)

 Fonctions principales des protocoles de la couche transport :


 Suivre les communications individuelles entre les applications résidant sur
les hôtes source et de destination
 Segmenter les données pour faciliter la gestion et réassembler les
données segmentées en flux de données d'application vers la destination
 Identifier l'application appropriée pour chaque flux de communication
4

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Transport des données


Fonctions de la couche transport
La segmentation des données
 Permet de multiplexer sur le même
réseau différentes communications
provenant de nombreux utilisateurs.
 Permet d'envoyer et de recevoir des
données tout en exécutant plusieurs
applications.
 Un en-tête est ajouté à chaque
segment pour l'identifier.
 La segmentation facilite la reprise sur erreur et la retransmission des
données endommagées.
5

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Transport des données


Fiabilité de la couche transport
 La couche transport est également responsable de la gestion des exigences de
fiabilité d'une conversation
 Toutes les applications n'ont pas besoin du même degré de fiabilité.
 TCP/IP fournit deux protocoles de la couche transport, TCP et UDP
utilisés selon le besoin de l’application.
Transmission Control Protocol (TCP)
Assure un acheminement fiable, Toutes les données arrivent à destination
 Surcharge le réseau avec les contrôles
User Datagram Protocol (UDP)
Fournit juste les fonctions de base pour la transmission, sans aucune
garantie ( Moins de surcharge)

Dr. Wassim JERBI


Dr. Wassim JERBI Cours Protocoles et Services Réseaux AU : 2019/2020

Initiation aux protocoles TCP et UDP


Séparation des communications multiples
 Les adresses IP désignent les machines
entre lesquelles les communications sont
établies.
Sur une machine, existe plusieurs
Applications.
 On a besoin d’identifier les processus

applicatif s communicants
 L'adressage de ce processus

(service applicatif) est effectué selon


un concept abstrait: les numéros de ports
 Les numéros de port sont utilisés par

les protocoles TCP et UDP pour


différencier les applications. 7

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Initiation aux protocoles TCP et UDP


Adressage de ports TCP et UDP
Processus source et processus destination
sont identifiés chacun par un numéro de
port

la combinaison du numéro de port et de


l'adresse IP de l'hôte identifie de manière
unique un processus d'application (socket)

Une paire de sockets, composée des


adresses IP et numéros de port source et de
destination identifie d’une manière unique
la conversation spécifique entre deux
hôtes.

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Initiation aux protocoles TCP et UDP


Adressage de ports TCP et UDP

 Ports réservés: numéros réservés à des services et applications


connus

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Initiation aux protocoles TCP et UDP


Adressage de ports TCP et UDP
 Ports Inscrits: numéros affectés à des processus ou
applications particulières d'utilisateurs. Aussi utilisés
par les processus client (si non affecté à un service)

 Ports privés ou dynamiques: généralement affectés de


façon dynamique à des applications clientes lorsqu'une
connexion à un service est initiée par un client.
10

Dr. Wassim JERBI


Initiation aux protocoles TCP et UDP
Adressage de ports TCP et UDP

Netstat Permet d'examiner les connexions TCP qui sont


ouvertes et actives sur un hôte connecté au réseau

11

Dr. Wassim JERBI


Présentation des protocoles TCP et UDP
Présentation du protocole UDP (User Datagram
Protocol)
RFC 768
 Mode non connecté
 Sans négociation préalable
Sans garantie de remise
 Sans reconstitution ordonnée des
données
 Sans contrôle de flux
Acheminement au mieux
 Multiplexage/ démultiplexage des
datagrammes
 Applications utilisant UDP : Système de noms
de domaine (DNS), Lecture vidéo en continu, Voix
sur IP (VoIP) 12

Dr. Wassim JERBI


Présentation des protocoles TCP et UDP

Présentation du protocole UDP

Les unités de données du protocole UDP sont appelés des datagrammes

Ports source et destination: identifient les processus en communication

Longueur du datagramme

Contrôle d’erreur facultatif (0 si non utilisé)


13

Dr. Wassim JERBI


Présentation des protocoles TCP et UDP
Présentation du protocole TCP
Transmission Control Protocol (TCP) RFC 793
 Orienté connexion : création d'une session entre la source et la
destination (prépare les périphériques à communiquer entre eux)
 une connexion logique s’établie avant que les données ne soient
échangées : l’une des deux extrémités (applications) doit effectuer un
appel que l’autre doit accepter
 les périphériques négocient la quantité de trafic pouvant être transmise
à un moment donné
 les données de communication peuvent être étroitement gérées
 TCP simule une connexion en « Full duplex » : l’opération qui consiste à
lire des données peut s’effectuer indépendamment de celle qui consiste à
en écrire.
 Acheminement fiable : retransmission des données perdues ou
endommagées
 Utilise les accusés de réception et d'autres mécanismes pour garantir la
transmission 14

Dr. Wassim JERBI


Présentation des protocoles TCP et UDP
Présentation du protocole TCP
 Garantie l’ordre : numérotation et séquencement des segments
 Contrôle de flux: quand le protocole TCP récepteur détermine que ses
ressources sont surexploitées, il peut demander à l'application qui
envoie les données d'en réduire le flux
 Contrôle de congestion
 Protocole avec état : il conserve une trace du nombre de segments qui
ont été envoyés à un hôte donné à partir d'une application spécifique
 Segment : unité de transfert du protocole TCP
 échangés pour établir les connexions,
 transférer les données,
 émettre des acquittements,
fermer les connexions;

15
36

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Présentation des protocoles TCP et UDP


Présentation du protocole TCP

16

Dr. Wassim JERBI


Cours Protocoles et Services AU : 2019/2020

Présentation des protocoles TCP et UDP


Le protocole TCP
Ports source- destination – identifient les processus source et destination
numéro d'ordre (32 bits) – numéro du message envoyé.
numéro d'accusé de réception (32 bits) – indique les données qui ont été reçues et le message reçu.
champ Longueur d'en-tête (4 bits) – Indique la longueur de l'en-tête du segment
TCP (exprimé en mots de 4 octets).
champ Réservé (6 bits) - champ réservé pour les futures évolutions.
Des bits de contrôle (6 bits) – indiquant l'objectif et la fonction du segment TCP.
URG : le pointeur de données urgentes est valide
ACK: la valeur du champ « acquittement » peut être prise en compte
PSH (push) : les données reçues doivent être immédiatement transmises à la
couche supérieure .Exemple : émulation terminal, pour envoyer chaque caractère
entré au clavier (mode caractère asynchrone).
RST (reset): fermeture de la connexion à cause d’une erreur irrécupérable
SYN : ouverture de la connexion
FIN : libération de la connexion (plus de donnée à émettre)
17

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Présentation des protocoles TCP et UDP

Le protocole TCP
La taille de fenêtre (16 bits) – indique la taille des données qui peuvent être
acceptées en même temps.
Somme de contrôle (16 bits) – contrôle des erreurs sur l'en-tête et les données de
segment.
Le champ Urgent (16 bits) – indique la position des données urgentes.
Options: négocier la taille maximale des segments échangés(MSS). Cette option
n'est présente que dans les segments d'initialisation de connexion ( avec bit
SYN).

18

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Communication TCP

Établissement et fermeture d'une


connexion TCP
Connexion en trois étapes
 Vérifie que le périphérique de destination est bien présent
sur le réseau
 S'assure que le périphérique de destination a un service
actif sur le numéro de port de destination utilisé par le client
 Informe le périphérique de destination que le client source
souhaite établir une session de communication sur ce
numéro de port.

19

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Communication TCP
Connexion TCP en trois étapes

20

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Communication TCP
Fermeture de la session TCP

21

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Communication TCP
Fiabilité du protocole TCP – Livraison ordonnée
 Numéros d'ordre utilisés pour remettre les segments dans l'ordre
d'origine
 Lors de la configuration de la session, un numéro d'ordre initial, ou ISN,
est défini
 Le premier segment a un numéro
d’ordre ISN+1
 le numéro d'ordre est incrémenté du
nombre d'octets ayant été transmis

 TCP récepteur place les données d'un


segment dans une mémoire tampon.
 Les segments sont remis dans l'ordre
correct et sont transmis à la couche application une fois qu'ils ont été
réassemblés. 22

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Fiabilité du protocole TCP – Accusé de


réception et taille de fenêtre
Le numéro d'ordre et celui de l'accusé de réception sont utilisés
ensemble pour confirmer la réception.
 chaque message reçu est acquitté
avec le numéro du message attendu
(tous les octets précédant la valeur
du champ ack sont bien reçus)
 La source n’envoie le message
suivant qu’après avoir reçu l’ack du
message envoyé.

23

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Contrôle de flux et fiabilité du protocole TCP


Taille de fenêtre et accusés de réception
 La technique acquittement simple pénalise les performances puisqu'il faut
attendre un acquittement avant d'émettre un nouveau message.
 La technique du fenêtrage permet l'émission d'au plus T octets (taille de fenêtre)
avant la réception d’accusé de réception et donc de ne plus pouvoir émettre .
 Le contrôle de flux consiste à limiter la quantité de données de segments
transférés et à demander des accusés de réception avant de transmettre davantage
de données. Cette quantité de données est la taille de fenêtre.

24

Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

TCP : Technique de fenêtrage


Le mécanisme de fenêtrage mis en œuvre 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être:

1 2 3 4 5 6 7 8 9 10 11 . . .
Octets émis et Octets non à émettre
Octets émis et Octets
acquittés non acquittés Peuvent être tout de suite.
émis

25

Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

Fiabilité et contrôle de flux

Contrôle de flux TCP – Éviter l'encombrement

• si la taille de fenêtre
épuisée et pas de
réception d’ack du
message envoyé, alors
l’émetteur attend
l’expiration du
temporisateur (RTO) du
message pour décider de
sa perte et procéder à sa
retransmission

26

Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

Fiabilité et contrôle de flux


Fiabilité TCP - Accusés de réception

Peut accuser l’ensemble


Ack=6

27
Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

TCP ou UDP
Applications utilisant le protocole TCP

28

Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

TCP : la congestion
 TCP gère le contrôle de flux de bout en bout mais également les problèmes
de congestion dans le réseau.

 La congestion correspond à la saturation de nœud (s) dans le réseau


provoquant une augmentation des délais d’acheminement de datagrammes
et leurs pertes éventuelles.

 Les extrémités ignorent tout de la congestion sauf les délais.


Habituellement, les protocoles retransmettent les segments ce qui aggrave
encore le phénomène.

 TCP participe à la gestion de la congestion en diminuant le débit lorsque les


délais s’allongent.

29

Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

TCP : départ lent (Slow Start)


 TCP maintient une fenêtre virtuelle de congestion
 TCP applique la fenêtre d’émission suivante:
 fenêtre_autorisée = min (fenêtre_récepteur, fenêtre_congestion).
 TCP initialise la fenêtre de congestion à 1 segment et l’incrémente de
1 MSS chaque fois qu’un acquittement est reçu; ce mécanisme
permet un démarrage lent et progressif
 Dans une situation de non congestion: fenêtre_récepteur =
fenêtre_congestion.
 En cas de perte (timeout), fenêtre de congestion est initialisée à 1MSS
(redémarrage de slow start)

30

Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

TCP : Slow Start


Fenêtre_congestion = 1,
émission du 1er segment,
attente acquittement,
réception acquittement,

Fenêtre_congestion = 2,
émission des 2 segments,
attente des acquittements,
réception des 2 acquittements,

Fenêtre_congestion = 4,

...
émission des 4 segments,

Incrément exponentiel (doubler la fenêtre à chaque


RTT) : risque de congestion
31

Wassim JERBI
Cours Protocoles et Services Réseaux AU : 2019/2020

TCP: évitement de congestion


(Congestion Avoidance)
 Afin d’éviter la croissance rapide de la fenêtre de congestion, la phase
slow start prend fin au franchissement d’un seuil (ssthresh)
 A partir du seuil, la fenêtre évolue de façon linéaire : incrémenter la
fenêtre par un segment à chaque fois qu’une fenêtre de congestion
entière est acquittée.
 Perte d’un paquet eétectée par expiration du temporisateur (timeout)
 Seuil réduit à la moitié de la fenêtre de congestion mais jamais
inférieur à 2 (ssthresh = max(cwin/2, 2))
 Fenêtre de congestion = 1 (redémarrage de slow start)

32

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Contrôle de congestion : fast retransmit


 Problème : temps d’inactivité élevé dû à l’attente de l’expiration du
temporisateur de retransmission
Retransmission rapide :
 À chaque réception d’un message, un ack doit être envoyé par le
récepteur même si d’autres ack avec le même numéro ont été
envoyés
 utilisation des acks dupliqués (3) pour activer la retransmission
(pas d’attente du temporisateur)
 Seuil initialisé à la moitié de la fenêtre de congestion, et fenêtre de
congestion initialisée à 1(retour à la phase slow start)
33

Dr. Wassim JERBI


Cours Protocoles et Services Réseaux AU : 2019/2020

Contrôle de congestion : fast recovery


 Recouvrement rapide : implémenté conjointement avec fast
retransmit
 Suite à la détection de la perte par 3 ack dupliqués:
 Retransmettre le segment perdu
 le seuil (ssthresh) est initialisé à la moitié de la fenêtre de
congestion (cwnd), mais jamais < à 2
 Mettre cwnd à ssthresh+ 3*taille du segment
 À chaque arrivé d’un ack dupliqué, augmenter la taille cwnd
par la taille du segment
 À l’arrivée de l’ack du segment retransmis, quitter fast recovery et
passer à la phase congestion avoidance avec cwnd=ssthresh.

34

Dr.Wassim JERBI

Vous aimerez peut-être aussi