Vous êtes sur la page 1sur 22

A.

U: 2014/2015

CHAPITRE 5
TCP / UDP

Unité Pédagogique: Réseau


Unité d’enseignement: Réseaux IP et Routage

1
Couche Transport

Objectifs
• La couche transport segmente les données et gère la séparation des
données pour les différentes applications
• La couche transport divise les données en segments qui sont plus faciles à
gérer et à transporter.
• La segmentation facilite le transport des données par les couches
inférieures du réseau.
• Le contrôle d’erreur peut s’effectuer sur les données du segment pour
déterminer si le segment a été modifié lors de sa transmission.

2
Couche Transport

Les protocoles

Deux protocoles pour la communication entre applications :

• TCP : Transmission Control Protocol

communication avec connexion, fiable.

• UDP : User Datagram Protocol

communication sans connexion, non fiable.

3
TCP & UDP
Notion de ports
• Permet à plusieurs processus applicatifs de communiquer simultanément sur le
réseau, potentiellement avec un même protocole de transport (TCP ou UDP).

• Le port sert d’interface entre le processus applicatif et la couche transport. Le


port est utilisé comme destination.
Combinaison : (adresse IP , numéro de port) = socket

N° des ports codés sur


16 bits: 0-> 65535

4
TCP & UDP
Ports prédéfinis RFC 1060
Attribution des numéros de Port :
 Ports réservés (numéros 0 à 1023). Ces numéros sont réservés à des services et
applications « assignés » par l’IANA (Internet Assigned Numbers Authority)
 Ports inscrits (numéros 1024 à 49151). Ces numéros de ports sont affectés à des
processus ou applications d’utilisateurs.
 Ports privés ou dynamiques (numéros 49152 à 65535). Également appelés ports
éphémères, ces ports sont généralement affectés de façon dynamique à des
applications clientes lorsqu’une connexion est initiée.(dynamiquement alloués
par l’OS)

5
TCP & UDP
Ports prédéfinis RFC 1060

6
TCP (Transmission Control Protocol)
• Un protocole de bout en bout entre applications orienté connexion.
– Protocole de bout en bout: Les processus pairs des couches transport de 2
équipements connectés dialoguent l'un avec l'autre sans rien connaître du
réseau. C'est au niveau IP que l'on se préoccupe de la fragmentation et du
réassemblage des segments TCP.

– Protocole orienté connexion: La fiabilité du transport TCP dépend de


l'établissement d'une connexion entre les processus pairs qui veulent
dialoguer. L'établissement d'une connexion est réalisé par l'échange
d'informations telles que le numéro de port, le numéro de séquence et la
taille de fenêtre.
• Services offerts par TCP :
– en mode connecté (ouverture, fermeture : circuit virtuel)
– sans erreur : contrôle et retransmission si besoin
– sans perte : numéros de séquence des paquets et retransmission
– avec contrôle de flux (fenêtre d’émission)
– full duplex
– indication du service par le numéro de port 7
TCP (Transmission Control Protocol)
Entête

8
TCP (Transmission Control Protocol)
Entête
• Source Port (16 bits) : Numéro du port source.
• Destination Port (16 bits) : Numéro du port destination.
• Sequence Number (32 bits) : Cette valeur permet de situer à quel endroit du flux
de données le paquet, qui est arrivé, doit se situer par rapport aux autres paquets.
– Si SYN = 0, le numéro de séquence est celui du premier octet de données de ce
segment.
– Si SYN = 1, il s'agit du numéro de séquence initial (ISN). le premier octet de
donnée est à ISN+1.
• Acknowledgment Number (32 bits) :
– définit un acquittement pour les paquets reçus. Cette valeur signale le prochain
numéro de paquet attendu. Par exemple, si il vaut 1500, cela signifie que tous les
Datagrammes <1500 ont été reçus.
• Header length (4 bits) : Taille de l'en-tête TCP en mots de 32 bits.
• Reserved (6 bits) : Champ réservé pour une utilisation ultérieure. Les 6 bits doivent
être à 0.
9
TCP (Transmission Control Protocol)
Entête
• Flag (6 bits)
– URG : Urgent Pointer field significant
– ACK : Acknowledgment field significant
– PSH : Push Function ( indique au récepteur de délivrer les données à
l'application et de ne pas attendre le remplissage des tampons.)
– RST : Reset the connection
– SYN : Synchronize sequence numbers
– FIN : No more data from sender
• Window (16 bits) : Nombre d'octets de données à partir de celui indiqué
par le champ Acknowledgment.
• Checksum (16 bits) : Somme de contrôle sur 16 bits de l'en-tête et des
données.
• Urgent Pointer (16 bits) : Ce champ est interprété uniquement si le bit
de contrôle URG est à 1. Le pointeur donne le numéro de séquence de
l'octet qui suit les données « urgentes ».
• Options : variable il existe 2 formats d'options : un seul octet de
catégorie d'option ou un octet de catégorie d'option suivi d'un octet de
longueur d'option et de l'octet des données de l'option. 11
TCP (Transmission Control Protocol)
Fonctionnement du protocole

Le protocole TCP de la couche transport :

1) segmente les données des applications,

2) établit une connexion de bout-en-bout,

3) émet les segments d'un hôte à l'autre,

4) assure la fiabilité du transport des segments entre les hôtes connectés.

12
TCP (Transmission Control Protocol)

Fonctionnement du protocole

1) vérifie que le périphérique de destination est bien présent sur le


réseau

2) s’assure que le périphérique de destination a un service actif et


qu’il accepte les requêtes sur le numéro de port de destination
que le client qui démarre la session a l’intention d’utiliser

3) informe le périphérique de destination que le client source


entend établir une session de communication sur ce numéro de
port.
13
TCP (Transmission Control Protocol)

14
TCP (Transmission Control Protocol)
Etablissement de la connexion
1. Le client initiant la session envoie au serveur un segment contenant un numéro d’ordre

initial faisant office de requête afin de commencer une session de communication.

2. Le serveur répond par un segment contenant un numéro de reçu égal au numéro d’ordre

reçu plus 1, ainsi que son propre numéro d’ordre de synchronisation. Ce numéro est

supérieur au numéro d’ordre car l’ACK est toujours l’octet suivant attendu. Ce numéro de

reçu permet au client de relier la réponse au segment d’origine envoyé au serveur.

3. Le client initiant la session répond par un numéro de reçu égal au numéro d’ordre reçu

plus un. Ceci achève le processus d’établissement de la connexion.

Quand le protocole TCP sur l’hôte source n’a pas reçu de reçu après un délai prédéterminé, il

revient au dernier numéro de reçu et retransmet les données depuis ce point

15
TCP (Transmission Control Protocol)
Ré ordonnancement des segments dans l’ordre de leur transmission

16
TCP (Transmission Control Protocol)
La fiabilité
Un Mécanisme naïf : “Send and Wait” : on transmet un segment
puis on attend l’acquittement avant de transmettre le suivant.

 Mauvaise efficacité !!!! 17


TCP (Transmission Control Protocol)
La fenêtre glissante

18
TCP (Transmission Control Protocol)

La fenêtre glissante
• Les performances sont en fonction de la taille de la fenêtre et de la vitesse à
laquelle le réseau accepte les paquets.

• Utilisation de fenêtres glissantes, dont la taille est adaptée en fonction des

conditions (pertes observées).

• Le récepteur peut indiquer à l’émetteur la quantité de données qu’il peut

accepter à un moment donné (contrôle de flux).

• Bonne efficacité et contrôle de flux permettant de s’adapter à la grande

variabilité des conditions observées sur l’Internet.

19
UDP (User Datagram Protocol) rfc 768
Services offerts :

• Un Transfert de données non fiable (ne garantit ni la remise ni l’ordre

des datagrammes délivrés)

• Service de datagrammes sans connexion (ne fournit pas établissement

de connexion)

• Pas de contrôle de flux

• Pas de contrôle de congestion

• Les sommes de contrôle des données sont facultatives dans le protocole

UDP. 20
UDP (User Datagram Protocol) rfc 768
Entête

21
UDP (User Datagram Protocol) rfc 768
Entête

• Source Port (16 bits) : Numéro du port source. Ce champ est

optionnel.

• Destination Port (16 bits) : Numéro du port destination.

• Length (16 bits) : Longueur en octets du datagramme UDP incluant

l'en-tête et les données.

• Checksum (16 bits) : Somme de contrôle sur 16 bits de l'en-tête et

des données.

22
UDP (User Datagram Protocol) RFC 768
Fonctionnement

23

Vous aimerez peut-être aussi