III.9.3 Le Protocole UDP (User
Datagram Protocol)
L'UDP est un protocole sans connexion et permet à
une application d'envoyer des messages à une autre application avec un
minimum de fonctionnalités (pas de garanties d'arrivée, ni de
contrôle de séquencement). Il n'apporte pas de
fonctionnalités supplémentaires par rapport à IP et permet
simplement de désigner les numéros de port correspondant aux
applications envisagées avec des temps de réponse court ;
comme l'illustre la figure III.13 ci - dessous.
31 23
|
15 7
0
|
Port source
|
Port destination
|
Longueur
|
Checksum
|
Données
|
Fig. III.13 Format d'un message UDP
Un message UDP est désigné dans un paquet IP
par une valeur du champ protocole égal à 17.
Le port source et le port destination permettent de
référencer les applications qui s'exécutent sur les
machines locales et distantes. Les numéros de port des applications UNIX
usuelles (process) sont donnés dans le tableau III.4 ci -
dessous.
Tableau III.4 Numéros de port UDP et TCP
usuels
N° de port
|
7
|
20
|
21
|
23
|
25
|
37
|
80
|
110
|
161
|
Process
|
Echo
|
FTP - data
|
FTP
|
Telnet
|
SMTP
|
Time
|
HTTP
|
POP3
|
SNMP
|
Les valeurs supérieures à 1000 correspondent
à des ports clients et sont affectées à la demande par la
machine qui effectue une connexion TCP.
§ La longueur indique la longueur totale du message
en octets (données et en - tête).
§ La somme de contrôle est calculée
comme pour les paquets IP. Une somme à 0 indique qu'elle n'est pas
gérée.
III.9.4 Le Protocole TCP
(Transmission Control Protocol)
Ce protocole de niveau transport recouvre globalement les
fonctionnalités des communications de classe 4 avec connexion
(normalisation ISO). Il est identifié par la valeur 6 dans le champ
protocole du paquet IP.
Ses principes caractéristiques sont :
o Etablissement et fermeture de la connexion
virtuelle ;
o Segmentation et réassemblage des données
(S - PDU) ;
o Acquittement des datagrammes reçus et
retransmission sur absence d'acquittement (un reséquencement est
effectué si la couche IP ne les délivre pas dans
l'ordre) ;
o Contrôle de flux ;
o Multiplexage des données issues de plusieurs
processus hôtes en un même segment ;
o Gestion des priorités des données et de la
sécurité de la communication.
III.9.4.1 Format des
segments TCP
31 23
15 7 0
|
Port Source
|
Port destination
|
Numéro de séquence
|
Numéro d'acquittement
|
Long. de l'en-tête
|
Réservé
|
U
R
G
|
A
C
K
|
E
O
M
|
R
S
T
|
S
Y
N
|
F
I
N
|
Fenêtre
|
Checksum
|
Priorité
|
Options Eventuelles
|
Bourrage
|
Données
|
Fig. III.14 Format des Segments TCP
· Les numéros de port permettent de
référencer les applications (voir protocole UDP) ;
· Le numéro de séquence indique le
numéro du premier octet transmis dans le segment ;
· Le numéro d'acquittement contient le
numéro de séquence du prochain octet attendu par
l'émetteur ;
· La longueur de l'en - tête est codée
sur 4 bits et donne le nombre de mots de 32 bits ;
· Les bits de contrôle permettent de
définir la fonction des messages ainsi que la validité de
certains champs :
o URG = 1 si le champ des priorités est
utilisé (pour des demandes d'interruption d'émission par
exemple) ;
o ACK = 1 si la valeur du champ d'acquittement est
significative ;
o EOM (ou PSH), indique une fin de message (End of
Message), les données doivent être transmises (pushed) à la
couche supérieure ;
o RST (Reset) : demande de réinitialisation de
la connexion ;
o SYN : demande d'ouverture de connexion (les
numéros de séquence doivent être
synchronisés) ;
o FIN : fin de connexion.
· Le champ fenêtre (Windows), indique le nombre
d'octets que le récepteur peur accepter à partir du numéro
d'acquittement ;
· Le champ checksum correspond à une somme de
contrôle de l'en - tête et du message ;
· Le champ priorité contient lors d'une
interruption d'émission (URG=1), un pointeur sur les octets de
données à traiter en priorité ;
· Le champ options permet de définir, par
exemple, la taille maximale d'un segment.
|