Vous êtes sur la page 1sur 42

La couche

Transport

Pr. Amina BENGAG


ENSAH

2023/2024
Plan
Rôle de la couche transport

Numéro de Port

Le protocole TCP

Le protocole UDP

A.BENGAG 2
Définition
La couche transport se positionne au-dessus de la couche réseau pour fournir
aux applications une interface, un canal de communication, qui leur permettra
de communiquer entre elles, sans se préoccuper du fonctionnement exact du
réseau.

A.BENGAG 3
Rôle de la couche transport
Suivi des conversations individuelles

Segmentation des données et reconstitution des segments

Identification des applications

A.BENGAG 4
Rôle de la couche transport
Suivi des conversations individuelles

A.BENGAG 5
Rôle de la couche transport
Segmentation des données et reconstitution des segments

A.BENGAG 6
Multiplexage / Démultiplexage
L'envoi de certains types de données sur le réseau en tant que flux de
communication complet peut nécessiter d'utiliser toute la bande
passante disponible.  Cela empêche d'autres communications d'avoir
lieu en même temps.

La segmentation des données en éléments plus petits permet à


plusieurs communications différentes, provenant de nombreux
utilisateurs, d'être imbriquées (multiplexées) sur le même réseau.

A.BENGAG 7
Rôle de la couche transport
Identification des applications

A.BENGAG 8
Numéro de port
Pour permettre à plusieurs applications de coexister sur la même machine, la
couche transport introduit un niveau d'adressage supplémentaire qu'on
appelle le numéro de port.

Le numéro de port est un simple numéro, sur 16 bits, qui vient s'ajouter à
l'adresse IP, permettant ainsi d'identifier une application fonctionnant sur une
machine.  216 = 65 535 N°

Le système d'exploitation va allouer à une application un ou plusieurs


numéros de port de façon exclusive. Aucune autre application ne pourra
utiliser le même numéro de port au même moment.

A.BENGAG 9
Rôle de numéro de port

A.BENGAG 10
Rôle de numéro de port
Certaines règles sont respectées dans l’attribution des
numéros de port :

les numéros inférieurs à 1023 sont réservés au côté


serveur

les numéros de 1024 à 49151 inscrits

Le reste ne sont pas réservés et sont utilisés librement


par les clients

Pour plus d’infos voir www.iana.org et RFC 1700

A.BENGAG 12
Rôle de numéro de port

A.BENGAG 13
Rôle de numéro de port
Remarque

Le numéro de port source identifie non seulement une application,


mais aussi une communication réalisée par cette application.

Un client ouvrant deux connexions distinctes vers un même serveur,


par exemple, ses deux connexions dotées de numéros de port source,
alors qu'elles pourront avoir le même numéro de port destination.
(pages web : 80)

A.BENGAG 14
Interface de connexion
Chaque connexion entre un client et un serveur donne lieu à la création
d’une interface de connexion cette interface est identifiée par la
combinaison unique des quatre éléments suivants :

@IP src, @IP dest, port src, port dest


C’est grâce à cette notion que :

Plusieurs sessions clientes sont possibles sur un seul client (vers le même
serveur ou vers plusieurs)

Plusieurs sessions serveur sont possibles sur un seul serveur (vers le même
client ou vers plusieurs)
A.BENGAG 15
Interface de connexion

Serveur WEB
A.BENGAG 16
Interface de connexion

Serveur WEB
A.BENGAG 17
Transmission Control Protocol
TCP

A.BENGAG 18
Le protocole TCP
Fiable
Les trois fonctions de fiabilité de base sont :

Numérotation et suivi des segments de données transmis à un hôte donné à


partir d'une application spécifique

Accusé de réception des données reçues

Retransmission des données pour lesquelles aucun accusé de réception n'a


été reçu, après un certain temps

A.BENGAG 19
Fonctions de TCP
Établissement d’une session permet de s’assurer que l’application est
prête à recevoir les données.

Livraison des segments dans un ordre défini permet de s’assurer que


les segments sont remis dans le bon ordre

L’acheminement fiable signifie que les segments perdus sont renvoyés


afin que le données soient reçues dans leur intégralité.

Le contrôle de flux permet de s’assurer que le récepteur est capable de


traiter les données reçues.
A.BENGAG 20
Segment TCP

Flags

A.BENGAG 21
Segment TCP
Port Source(16 bits): numéro du port source

Port Destination(16 bits): numéro du port destination

Séquence(32 bits): numéro de séquence du premier octet de ce segment

Numéro d'accusé de réception(32 bits):Correspond au numéro (de séquence)


du prochain segment attendu, et non le numéro du dernier segment reçu

Longueur d’en-tête(4 bits): il permet de repérer le début des données dans le


segment. Le décalage est ici essentiel car le champ d'options est de taille
variable
A.BENGAG 22
Segment TCP
Réservé(6 bits): Champ inutilisé actuellement mais prévu pour l'avenir

Drapeaux (flags)(6 bits): Représentent des informations supplémentaires, indiquant l'objectif et la fonction du
segment TCP.

Fenêtre(16 bits): ce champ contient le nombre d’octets que le récepteur peut recevoir

Si le récepteur peut recevoir encore 6000 octets, le champ Window est alors égal à 6000 octets. Ce champ indique à l’émetteur
qu’il peut poursuivre l’envoi de segments tant que le nombre total d’octets envoyés est inférieur au nombre d’octets que peut
accepter le récepteur.

Checksum(16 bits): somme de contrôle calculée sur l'ensemble de l'en-tête TCP et des données

Pointeur d'urgence(16 bits): indique le numéro d'ordre à partir duquel l'information devient urgente

Options(Taille variable): champs facultatif

Bourrage: On remplit l'espace restant après les options avec des zéros pour avoir une longueur multiple de 32 bits
A.BENGAG 23
Segment TCP
Drapeaux (flags)

URG: si ce drapeau est à 1 le segment doit être traité de façon urgente.

ACK: si ce drapeau est à 1 le segment est un accusé de réception.

PSH(PUSH): si ce drapeau est à 1, le récepteur doit délivrer tout de suite les données à la couche
application.

RST: est mis à 1 dans le segment qui suit la réception d’un segment non valide, pour réinitialiser la
connexion

SYN: utilisé lors de l’établissement de la connexion transport pour synchroniser les numéros de
séquence.

FIN: ce bit indique, quand il est positionné à 1 que l’émetteur n’a plus aucune donnée à transmettre
A.BENGAG 24
Livraison ordonnée
Il se peut que les segments TCP parviennent à leur destination dans le
désordre.

Pour que le destinataire puisse comprendre le message d’origine, il faut


que les données contenues dans ces segments soient réagencées dans leur
ordre d’origine. Pour cela, des numéros d’ordre sont affectés à l’en-tête de
chaque segment.

Pour cela, des numéros d’ordre sont affectés à l’en-tête de chaque segment.

Les numéros d’ordre des segments indiquent comment réassembler et


réordonnancer les segments reçus
A.BENGAG 25
Livraison ordonnée

A.BENGAG 26
Établissement d'une connexion TCP
Étape 1 : le client demande l'établissement d'une session de
communication client-serveur avec le serveur.

A.BENGAG 27
Établissement d'une connexion TCP
Étape 2 : le serveur accuse réception de la session de communication
client-serveur et demande l'établissement d'une session de
communication serveur-client.

A.BENGAG 28
Établissement d'une connexion TCP
Étape 3 : le client accuse réception de la session de communication
serveur-client.

A.BENGAG 29
Fermeture d'une session TCP
Étape 1 : quand le client n'a plus de données à envoyer dans le flux, il
envoie un segment dont l'indicateur FIN est défini.

A.BENGAG 30
Fermeture d'une session TCP
Étape 2 : le serveur envoie un segment ACK pour indiquer la bonne
réception du segment FIN afin de fermer la session du client au serveur.

A.BENGAG 31
Fermeture d'une session TCP
Étape 3 : le serveur envoie un segment FIN au client pour mettre fin à
la session du serveur au client.

A.BENGAG 32
Fermeture d'une session TCP
Étape 4 : le client répond à l'aide d'un segment ACK pour accuser
réception du segment FIN envoyé par le serveur.

A.BENGAG 33
Contrôle de flux TCP - Taille de fenêtre et
accusés de réception
Les équipements qui échangent les données ne le font pas toutes à la
même vitesse.

TCP utilise donc un mécanisme de contrôle de flux de données basé sur


une fenetre glissante.

Pour cela, l’en-tête TCP inclut un champ de 16 bits appelé taille de


fenêtre.

A.BENGAG 35
Contrôle de flux TCP - Taille de fenêtre et
accusés de réception
Exemple (négociation de la taille de la fenêtre & MSS)
Taille de la fenêtre : 5430 octets
MSS : 650 octets

MSS (Maximum Segment Size)


La taille max de chaque segment
Dépend essentiellement du MTU (Maximum
Transmission Unit)
Négocié au moment de l’établissement de connexion

A.BENGAG 36
Contrôle de flux TCP - Taille de fenêtre et
accusés de réception
Exemple
Taille de la fenêtre : 3000 octets
MSS : 1000 octets

A.BENGAG 37
User Dtagram Potocol
UDP

A.BENGAG 39
Le protocole UDP
Si les fonctionnalités de fiabilité TCP permettent d'améliorer la qualité
des communications entre les applications, elles engendrent également
une surcharge supplémentaire et d'éventuels retards de transmission.
Ajouter une surcharge pour garantir la fiabilité de certaines applications
peut diminuer l'utilité de l'application. Dans ce cas, le protocole UDP
représente un meilleur protocole de transport.

A.BENGAG 40
Le protocole UDP
Service en mode non connecté

Livraison des messages sans garantie

Ordonnancement et arrivée des messages non garanti

UDP est utilisé à la place de TCP, quand une livraison fiable n’est pas
nécessaire.

A.BENGAG 41
Le protocole UDP
Pourquoi utiliser UDP ?

Pas d’établissement de connexion  peut diminuer les délais

Segment allégé  faible taille des en-têtes

Pas de contrôle de congestion  l’émetteur UDP peut utiliser toute la


bande passante disponible

A.BENGAG 42
Segment UDP
Port Source : identifier l'application émettrice
du segment UDP. (Ce champ est optionnel)

Port Destination : identifier l'application de la


machine du destinataire à laquelle on s'adresse.

Longueur : Ce champ précise la longueur totale


du segment.

Cheksum : il s'agit d'une somme de contrôle


réalisée de telle façon à pouvoir contrôler
l'intégrité du segment
A.BENGAG 43
Conclusion

A.BENGAG 45
TCP vs UDP

A.BENGAG 46

Vous aimerez peut-être aussi