Documente Academic
Documente Profesional
Documente Cultură
Chapitre 3
Sonia GAIED
sonia_f_g@yahoo.fr
Couches applicatives
(Application, Présentation,Session)
Transport
Internet
(Réseau)
Accès réseau
(Liaison de données, Physique)
La couche transport
On trouve typiquement au dessus du protocole IP
(couche réseau - 3), les protocoles de transport
(couche 4) suivants :
UDP (User Datagramme Protocol)
TCP (Transmission Control Protocol)
3
La couche transport
• Les protocoles orientés connexion :
Protocoles opérant un contrôle de transmission des données
pendant une communication établie entre deux
machines.
la machine réceptrice envoie des accusés de réception lors
de la communication, ainsi la machine émettrice est
garante de la validité des données qu'elle envoie.
TCP est un protocole orienté connexion
Hé, tu m'écoutes ?
Oui, je t'écoute
J'ai le cours réseau
OK
TCP
Je vais te l'envoyer
Transport Control ProtocolOK
Tu l'as reçu ?
Oui, c'est bon !
Salut
Salut
5
La couche transport
Protocole non orienté connexion
6
La couche transport
TCP : Protocole orienté connexion
RST
SYN
FIN
URG
ACK
PSH
Déplacement Réservé Fenêtre
CheckSum Pointeur message Urgent
Options
Bourrage
Données
8
LE MESSAGE TCP
Port Source - Port Destination
L'adresse IP, au niveau 3, permet de situer une
machine.
Une fois la machine trouvée, il faut pouvoir
déterminer l'application qui doit traiter les
données.
L'application est désignée par un NUMERO DE
PORT.
9
LE MESSAGE TCP
Exemples de numéro de PORT (extrait du RFC 1700)
11
La couche transport
TCP : Protocole orienté connexion
LE MESSAGE TCP : Numéros de ports
• Socket :combinaison d’une adresse IP et d’un numéro
de port
13
La couche transport
TCP : Protocole orienté connexion
LE MESSAGE TCP
Principe : Pour la fiabilité de la transmission les octets sont
numérotés.
Numéro de séquence (32 bits)
– numéro de séquence du premier octet dans le segment
– valeur initiale fixée à l’établissement de la connexion
Numéro d’acquittement (32 bits)
– numéro de séquence du prochain octet attendu par le
récepteur (N indique la bonne réception des octets jusqu’à
N-1)
– valeur validée par l’indicateur ACK (voir plus loin)
– valeur initiale fixée à l’établissement de la connexion 14
La couche transport
TCP : Protocole orienté connexion
LE MESSAGE TCP : les temporisateurs
15
LE MESSAGE TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RST
SYN
FIN
URG
ACK
PSH
Déplacement Réservé Fenêtre
CheckSum Pointeur message Urgent
Options
Bourrage
Données
16
LE MESSAGE TCP
Champ des bits de contrôle (Flag)
6 Bits pour définir la fonction des message et la
validité de certains champs :
URG : Message urgent - Les données doivent être
traitées sans attendre que le récepteur ait traité les
octets envoyés dans le flux.
ACK : Indique la validité du champ acquittement.
PSH : Les données reçues doivent être immédiatement
remises à la couche supérieure.
RST (Reset) : Réinitialisation de la connexion suite à une
erreur irrécupérable.
SYN : Indique l'ouverture d'une connexion.
FIN : Fermeture normale d'une connexion 17
LE MESSAGE TCP
Champ réservé Pour un usage futur et
positionné à 0.
Déplacement
Nombre de mots de 32 bits qui constitue
l'entête TCP car le champ Option est de
longueur variable. Avec aucune option,
déplacement = 5 (20 octets).
18
LE MESSAGE TCP
Champ fenêtre
Ce champ est une implémentation du contrôle de
flux.
Nombre d'octets qu'il est possible de recevoir par
rapport au numéro d'acquittement.
Il est calculé par le récepteur en fonction de la
taille encore disponible dans son buffer d'entrée.
19
La couche transport
TCP : Protocole orienté connexion
Fenêtrage
20
La couche transport
TCP : Protocole orienté connexion
Fenêtrage
Reception de Ai
Fenêtrage de taille 3
21
LE MESSAGE TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
RST
SYN
FIN
URG
ACK
PSH
Déplacement Réservé Fenêtre
CheckSum Pointeur message Urgent
Options
Bourrage
Données
22
LE MESSAGE TCP
CheckSum : permet de s'assurer de l'intégrité
de l'entête.
Pointeur message Urgent
Pointe sur les octets qui doivent être traités en
priorité.
Options
Champ de longueur variable avec un bourrage
pour s'aligner sur un multiple de 32 bits (voir
déplacement)
23
LA CONNEXION TCP
Une application qui appelle le module
TCP utilise les appels systèmes suivants :
– OPEN pour ouvrir la connexion. On
distingue :
• OPEN PASSIF qui est un open type serveur. Il reste
à l'écoute et accepte les requêtes qui lui arrive.
• OPEN ACTIF qui est un open type client qui après
une connexion sur un open passif enverra des
données.
24
LA CONNEXION TCP
– CLOSE pour fermer la connexion
– SEND pour envoyer les données après
un OPEN
– RECEIVE pour recevoir des données
– STATUS pour obtenir des informations
sur la connexion.
25
La couche transport
TCP : Protocole orienté connexion
LA CONNEXION TCP
26
LA CONNEXION TCP
• Le contrôle de flux se fait à l'aide des champs
numéro de séquence (noté #SEQ) et
acquittement (noté #ACK). La valeur initiale de
#SEQ est produite à partir d'une horloge et d'un
compteur incrémenté toutes les 4 ms. Il permet
de numéroter les octets de données.
• Avec ces éléments un schéma d'une connexion
TCP sera le suivant (il existe d'autres séquences de protocole) :
27
Etablissement de la connexion TCP
28
Exemple
29
SYN=1 ACK=0
ACTIVE OPEN
#SEQ = 55
Demande d'ouverture de
connexion par le client #ACK = 0
PASSIVE OPEN
Par le serveur
SYN=1 ACK=1
Envoi de 10 octets #SEQ = 202
#ACK = 56
Quand SYN=0 et ACK=1 :
Envoi de 30 octets
SYN=0 ACK=1
#SEQ = 224
#ACK = 78
31
Réexpédition des 30 octets
SYN=0 ACK=1
#SEQ = 224
Envoi de n octets
#ACK = 78
SYN=0 ACK=1
#SEQ = 78 Envoi de n octets
#ACK = 255
Etc.
32
La couche transport
TCP : Protocole orienté connexion
Fenêtrage
Reception de Ai
Fenêtrage de taille 3
33
34
35
36
La couche transport
UDP: Protocole non orienté connexion
RFC 768
• acheminement de datagrammes ou segments au dessus de IP
• pas de fiabilité supplémentaire assurée
• assure la préservation des limites de chaque datagramme
Caractéristiques
• UDP est léger mais n'offre que peu de services
• Échanges simples de messages courts client/serveur
• Simple, donc léger, donc à priori relativement rapide
37
La couche transport
UDP: Protocole non orienté connexion
192.168.1.24 192.168.1.32
38