Documente Academic
Documente Profesional
Documente Cultură
Deux protocoles de paquets au niveau de la pile TCP/IP sont disponibles: UDP : mode non-connect , sans mcanismes de contrle de flux, ni de reprise sur erreur, Ce qui peut induire des paquets perdus, dupliqus ou d-squencs. cest un protocole lger. TCP : mode connect , contrle de flux, reprise sur erreur, Les paquets arrivent dans lordre. Cest un protocole lourd.
Contexte
Modle TCP/IP
Application Protocoles FTP HTTP SMTP DNS DNS TFTP
Accs rseau
Rseau
IP
Ces destinations abstraites permettant d'adresser un service applicatif s'appellent des ports de protocole. L'mission d'un message se fait sur la base d'un port source et un port destinataire.
Ports
Au niveau applications : transmission des blocs de donnes Au niveau protocole (exemple TCP) : envoie des segments, puis rassemblement des blocs selon lapplication n De port (multiplexage des donnes / dmultiplexage rception)
Les oprations sur les ports sont tamponnes donc ncessit dune file dattente Socket (interface systme de processus de communication) = adresse IP plus protocole (TCP/IP) plus n de port (0 65535)
Ports (suite)
Message : (adresse IP, N de port) source et (adresse IP, N de port) destination 65535 ports TCP idem UDP Il y a des ports prdfinis Exemple pour TCP : 20 et 21 : FTP 23 : Telnet 25 : SMTP 80 : HTTP Pour UDP : 69 : TFTP 161: SNMP
UDP
- Mode non connect Envoi sans vrifier la prsence du rcepteur Rduction des fonctions Plus grande simplicit du transport Connexion bi-directionnelle
Non fiable
une application obtient un numro de port de la machine locale; ds lors que l'application met un message via ce port, le champ PORT SOURCE du datagramme UDP contient ce numro de port, une application connat (ou obtient) un numro de port distant afin de communiquer avec le service dsir.
Lorsque UDP reoit un datagramme, il vrifie que celui-ci est un des ports actuellement actifs (associ une application) et le dlivre l'application responsable (mise en queue) Si ce n'est pas le cas, il met un message ICMP port unreachable, et dtruit 7 le datagramme.
Checksum UDP
Donnes
Les ports source et destination (2x2 octets) : numros de port UDP utiliss pour dmultiplexer les datagrammes les acheminer au processus au niveau rception port source facultatif (gal zro si non utilis). La longueur du message est exprime en octets (en-tte + donnes), le champ de contrle est optionnel (0 si non utilis).
8
Pour lenvoi, encapsulation dans un paquet ou datagramme IP avec le champ protocole gal 17
En-tte IP En-tte UDP Donnes
Le champ PROTO indique l'identificateur de protocole pour IP (17= UDP) Le champ LONGUEUR UPD spcifie la longueur du datagramme UPD sans le pseudo-en-tte.
10
Si le checksum est non nul alors reconstitution du pseudo en-tte UDP pour vrification en cas de problme le datagramme est dtruit (en silence), sinon, transmission lapplication (selon le numro de port destination)
11
Contrle de flux transport fiable de la technologie TCP/IP. fiabilit transferts tamponns : dcoupage en segments connexions bidirectionnelles et simultanes Protocole en mode connect (metteur et rcepteur) garantie de non perte de messages ainsi que de l'ordonnancement
12
TCP : La connexion
une connexion de type circuit virtuel est tablie avant que les donnes ne soient changes : appel + ngociation + transfert Une connexion = une paire d'extrmits de connexion Une extrmit de connexion = couple (adresse IP, port) Une extrmit de connexion peut tre partage par plusieurs autres extrmits de connexions (multi-instanciation) Ltablissement de la connexion est en trois tapes (processus 3-way handshake : poigne de mains en 3 points )
metteur
Ouverture qctive demande Ouverture passive acceptation
rcepteur
ok
Connexion tablie
13
TCP : Segmentation
Segmentation, contrle de flux Les donnes sont transmises TCP sous forme dun flot d'octets ( longueur variable); Transferts tamponns; Le flux flot de donnes est divis en segments Un segment est transmis dans un datagramme IP. Acquittement de messages Pour garantir l'arrive des messages, c'est dire qu'en cas de perte, les deux extrmits sont prvenues, TCP utilise le mcanisme dacquittement de message : lorsqu'une source S met un message Mi vers une destination D, S attend un acquittement Ack de D avant d'mettre le message suivant Mi+1. Si lacquittement Ack ne parvient pas S, S considre au bout d'un certain temps que le message est perdu et remet Mi (Timeout = temporisation) :
14
TCP : Acquittements
Rseau
Emetteur
Envoi du segment Temporisation arme
Rcepteur
Segment nest pas reu Acquittement non envoy
Acquittement nest pas reu Tempo. choue Remission du segment Rception du segment Emission de Acquittement
TCP : le fentrage
La technique acquittement simple pnalise les performances puisqu'il faut attendre un acquittement avant d'mettre un nouveau message. Le fentrage amliore le rendement des rseaux.
La technique du fentrage : une fentre de taille T, permet l'mission d'au plus T messages "non acquitts" avant de ne plus pouvoir mettre :
16
TCP : le Fentrage
Source Emission de Mi Emission de Mi+1 Emission de Mi+2 Rception de Ai Rseau Destination
Rception de Mi Emission de Ai
Fentrage de taille 3
17
1 2 3 4 5 6 7 8 9 10 11 . . .
Octets mis et acquitts
Octets mis et non acquitts Octets missibles
Port source
Numro de squence Numro dacquittement N * 32bits HLEN rserv Codes Checksum fentre pointeur urgence padding
19
longueur TCP
CHECKSUM : Pour TCP obligatoire Calcul du champ de contrle : utilise un pseudo-en-tte comme UDP et s'applique la totalit du segment obtenu (PROTO =6) Le pseudo en-tte est non transmis
22
Permet de ngocier la taille maximale des segments changs. Cette option n'est prsente que dans les segments d'initialisation de connexion ( avec bit SYN). TCP calcule une taille maximale de segment de manire ce que le datagramme IP rsultant corresponde au MTU du rseau. La recommandation est de 536 octets.
23
TCP : acquittements
Acquittements cumulatifs :
acquittement = indique le numro de squence du prochain octet attendu : tous les octets prcdents cumuls sont implicitement acquitts Si un segment a un numro de squence suprieur au numro de squence attendu (bien que dans la fentre), le segment est conserv mais lacquittement rfrence toujours le numro de squence attendu. Pour tout segment mis, TCP sattend recevoir un acquittement Si le segment nest pas acquitt, le segment est considr comme perdu et TCP le retransmet. Or un rseau dinterconnexion offre des temps de transit variables ncessitant le rglage des temporisations; TCP gre des temporisations variables pour chaque connexion en utilisant un algorithme de retransmission adaptative
24
TCP : Acquittements
Seq=5 Envoi de 300 octets Seq=305 Ack=305 Envoi de 300 octets
Segment=300
TCP destination
Seq=605 Envoi de 300 octets Ack=305 Seq=305 Envoi de 300 octets Seq=605
Attente de 305
Peut tre conserv ==> peut ne pas tre rmis Envoi de 300 octets car acquitt Ack=905 entre temps
25
TCP : la congestion
Gestion de la congestion TCP gre le contrle de flux de bout en bout mais galement les problmes de congestion lis linterconnexion. La congestion correspond la saturation de noeud(s) dans le rseau provoquant des dlais dacheminement de datagrammes jusqua leur pertes ventuelles. Les extrmit ignorent tout de la congestion sauf les dlais. Habituellement, les protocoles retransmettent les segments ce qui aggrave encore le phnomne. Dans la technologie TCP/IP, les passerelles (niveau IP) utilisent la rduction du dbit de la source mais TCP participe galement la gestion de la congestion en diminuant le dbit lorsque les dlais sallongent.
26
TCP : dconnexion
Une connexion TCP est libre en un processus dit "trois temps modifi": TCP source Fin seq=x TCP destination
ack=x+1 + fin-> applicatif Applicatif -> close Fin seq=y ack=x+1 Ack y+1
27