Le Web Décentralisé - Algeria 2.0 LibreDay - 17 Décembre 2016
Chapitre 6 - couche transport
1. Couche Transport – Normes
et Protocoles
TARIK ZAKARIA BENMERAR, PHD
DEPARTEMENT INSTRUMENTATION ET AUTOMATIQUE, USTHB
2. Services et protocoles de la couche
La couche transport permet de créer une liaison de
communication logique entre des applications qui
s’exécutent dans des hôtes distants.
Les protocoles de la couche transport s’exécutent aux
extrémités du réseau.
3. Multiplexage/Démultiplexage et les ports
Dans la couche transport, le numéro de port permet de multiplexer à l’envoi et de
démultiplexer à la réception les données à destination d’application différentes
derrière la même adresse IP.
Dans l’exemple, P1 et P2 utilise des ports différents qui permettent de recevoir les
données de P3 et P4 selon le port destination dans le paquet de la couche
transport.
4. Protocole UDP
UDP est un protocole de la couche transport :
Sans délai de connexion.
Simple et plus rapide.
Pas de gestion des pertes de données à l’inverse du TCP. L’application doit ajouter des mécanismes pour
compenser.
UDP est souvent utilisé pour les applications multimédias (streaming audio/vidéo).
Tolérant aux pertes.
Sensible au débit.
Introduction
5. Protocole UDP
Protocole UDP
Paquet UDP
Port source : Numéro de port de
l’application émettrice du paquet.
Port destination : Numéro de port de
l’application destinataire.
Longueur : Longueur entête + Données.
Minimum 8 octets.
Maximum 65 535.
Somme de contrôle : code contrôle des
erreurs.
6. Protocole TCP
TCP est un protocole de la couche transport :
Réception garantie des données.
Réémission des données en cas d’erreurs.
Réassemblage des données transmises dans différentes segments TCP dans le bon
ordre.
Contrôle du flot de données pour ne pas saturer le réseau.
Communication en mode connecté.
Ouverture d’un canal.
Communication Full-Duplex.
Fermeture du canal.
Introduction
7. Protocole TCP
Port Source (2 octets) : Numéro de
port de l'application émettrice.
Paquet TCP
9. Protocole TCP
Paquet TCP
Numéro de Séquence (NS) (4 octets)
: Position du premier octet du segment
à transmettre. Si le flag SYN = 1, NS =
ISN (Initial Sequence Number) ou le
numéro de séquence initial.
10. Protocole TCP
Paquet TCP
Numéro de Séquence acquitté (NR)
(4 octets) : Numéro du prochain octet
attendu.
11. Paquet TCP
Longueur entête (LET) (4 bits) :
Longueur de l'en-tête en multiple de 4
octets.
Protocole TCP
13. Paquet TCP
Flag URG : Si 1, le paquet doit être géré
de façon urgente (Utilisé conjointement
avec le pointeur d’urgence).
Protocole TCP
14. Paquet TCP
Flag ACK : Si 1, le paquet est un accusé
de réception. Le champ NR
représentera le numéro de séquence
attendu après ceux acquittés.
Protocole TCP
15. Paquet TCP
Flag PSH : Si 1, les données collectées
doivent être transmises à l’application
sans attendre les données qui suivent.
Protocole TCP
16. Paquet TCP
Flag RST : Si 1, la connexion est
réinitialisée.
Protocole TCP
17. Paquet TCP
Flag SYN : Si 1, il indique une demande
d'établissement de connexion.
Protocole TCP
18. Paquet TCP
Flag FIN : Si 1, il indique la fin de
connexion.
Protocole TCP
19. Paquet TCP
Taille fenêtre (2 octets) : Le nombre
d’octets que le récepteur peut recevoir
sans acquittement.
Protocole TCP
20. Paquet TCP
Somme de contrôle entête (2 octets)
: Il permet de vérifier l’intégrité de
l’entête.
Protocole TCP
21. Paquet TCP
Pointeur d’urgence (2 octets) : Il
indique combien de données du
segment, à partir du premier octet sont
urgentes (Utilisé conjointement avec le
flag URG).
Protocole TCP
22. Paquet TCP
Options (0- 40 octets) : Facultatif,
permet de personnaliser encore plus le
l’entête TCP.
Protocole TCP
23. Paquet TCP
Bourrage : De taille variable comprise
entre 0 et 7 bits. Il permet de combler
avec des bits à 0 le champ option afin
d’obtenir une entête TCP multiple de 32
bits.
Protocole TCP
25. A est le client et B le serveur.
Les ports TCPs ouverts.
Application sur le serveur à l’écoute.
Application sur le client fait une requête.
Etablissement de connexion
Protocole TCP
26. Client : Demande de connexion.
SYN = 1, ACK = 0, ISNclient = x (Séquence initiale
aléatoire du client).
Etablissement de connexion
Protocole TCP
27. Etablissement de connexion
Serveur : Acceptation de la connexion.
SYN = 1, ACK = 1, NRclient = x+1, ISNserveur = y
(Séquence initiale aléatoire du serveur).
Protocole TCP
29. Après l’établissement de la connexion, les
application client et serveur communiquent en full
duplex, ils envoyer et recevoir des données.
Transfert des données
Protocole TCP
30. L’application client envoi 10 octets et acquitte la
réception jusqu’au numéro de séquence 202.
Transfert des données
Envoi de
10 Octets
Protocole TCP
31. Transfert des données
Envoi de
20 Octets
L’application serveur envoi 20 octets et acquitte la réception
des 10 octets jusqu’au numéro de séquence 65.
Protocole TCP
32. Transfert des données
Envoi de
10 Octets
L’application client envoi 10 octets et acquitte la réception
des 20 octets jusqu’au numéro de séquence 222.
Protocole TCP
33. Transfert des données
Envoi de
2 Octets
L’application serveur envoi 2 octets et acquitte la réception
des 20 octets jusqu’au numéro de séquence 75.
Protocole TCP
34. Fiabilité des transferts
Dans le protocole TCP, les pertes de segments sont
détectées par absence d’acquittement positif après un
timeout.
Protocole TCP
37. Fiabilité des transferts
Après un timeout pour la réception d’un acquittement,
l’application A suppose que B n’a pas reçu le segment TCP
et le renvoi.
Protocole TCP
38. Fiabilité des transferts
l’application A reçoit cette fois-ci l’acquittement. Ainsi, la fiabilité
du transfert du segment est garantie.
Protocole TCP
39. Fiabilité des transferts
l’application A reçoit cette fois-ci l’acquittement. Ainsi, la fiabilité
du transfert du segment est garantie.
Protocole TCP
40. Fin de connexion
L’application A ou B peut décider de mettre fin à la conversation.
Protocole TCP
42. Fin de connexion
L’application B acquitte la demande de l’application A.
ACK = 1, NRA = x + 1
Protocole TCP
43. Fin de connexion
Après que l’application B ait envoyé ses données en attente et
reçoit l’acquittement, il demande la fin de la connexion.
FIN=1
Protocole TCP
44. Fin de connexion
L’application A acquitte la fin de la connexion.
ACK = 1, NRB = y + 1
Protocole TCP
45. Sans contrôle du flux TCP, il y’a gaspillage de la bande passante :
Envoi de données excessives.
Attente excessive pour la confirmation de la réception des données.
Fenêtre glissante
Protocole TCP
46. L’application B a acquitté jusqu’au numéro de
séquence 44.
Comme la taille de la fenêtre est 4, A ne peut
envoyer que 4 octets de segments TCPs sans
acquittement.
Fenêtre glissante
Dernier numéro de
séquence acquitté
Protocole TCP
47. L’application A envoi une donnée avec le
numéro de séquence 45 (inclut dans la fenêtre
actuelle).
Fenêtre glissante
Protocole TCP
51. Fenêtre glissante
L’application A a épuisé la fenêtre et attend
l’acquittement de l’application B pour envoyer
des données à nouveau.
Protocole TCP
6
52. Fenêtre glissante
L’application A envoi une donnée avec le
numéro de séquence 49 qui est inclut dans la
nouvelle fenêtre.
Protocole TCP
6