Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
TCP comme UDP sexcute au-dessus dIP et se fonde sur les services fournis par ce dernier.
Avec TCP ou UDP, il est possible de remettre des donnes des processus dapplication
sexcutant sur une machine distante. Ces processus dapplication sont identifis par numros
de port. Une socket (historiquement dvelopp dans Unix BSD) est un point de
communication par lequel un processus peut mettre et recevoir des informations. Cest la
combinaison dune adresse IP et dun numro de port. La combinaison de 2 sockets dfinit
compltement une connexion TCP ou un change UDP.
(199.21.32.26, 1400)
(196.62.132.11, 80)
Ps
Ps
Numro de port
1400
TCP
80
TCP
IP
199.21.32.26
IP
196.62.132.11
rseau IP
47
Caractristiques dUDP :
UDP possde un mcanisme permettant didentifier les processus dapplication laide de
numros de port UDP.
UDP est orient datagrammes (sans connexion), ce qui vite les problmes lis
louverture, au maintien et la fermeture des connexions.
UDP est efficace pour les applications en diffusion/multidiffusion. Les applications
satisfaisant un modle du type interrogation-rponse peuvent galement utiliser
UDP. La rponse peut tre utilise comme tant un accus de rception positif
linterrogation. Si une rponse nest pas reue dans un certain intervalle de temps,
lapplication envoie simplement une autre interrogation.
UDP ne squence pas les donnes. La remise conforme des donnes nest pas garantie.
UDP peut ventuellement vrifier lintgrit des donnes (et des donnes seulement) avec
un total de contrle.
UDP est plus rapide, plus simple et plus efficace que TCP mais il est moins robuste.
Le protocole UDP permet une transmission sans connexion, mais aussi sans scurit. Pourtant
de nombreuses applications reposent sur UDP :
- TFTP
- DNS
- NFS
- SNMP
- RIP
Len-tte a une taille fixe de 8 octets.
En-tte UDP
Donnes
Bits
16
31
Source Port
Destination Port
Length
Checksum
Data
48
2.1. Fiabilit
Lutilisation dun mcanisme appel PAR (Positive Acknowlegment with Retransmission,
Accus de rception positif avec la retransmission) permet TCP de garantir des
transmissions fiables.
Un systme utilisant PAR envoie nouveau les donnes, moins que le systme distance ne
lui renvoie un message prcisant que les donnes sont arrives correctement.
Emetteur
Destinataire Emetteur
Destinataire
Donnes 2
Erreur
timeout
Donnes non
reues : pas
d acquittement
Lunit utilise pour lchange de donnes entre modules TCP cooprants est appele
segment. Chaque segment contient un total de contrle que le destinataire utilise pour vrifier
que les donnes nont pas t endommages pendant leur transmission. Si le segment de
donnes est reu en parfait tat, le rcepteur renvoie un accus de rception positif
lmetteur. Dans la ngative, le rcepteur limine ce segment de donnes. Aprs un dlai
dattente dtermin, le module TCP denvoi retransmet les segments pour lesquels aucun
accus de rception positif na t reu.
49
En-tte
Donnes
Bits
1
6
Source Port
Mots
1
2
Sequence Number
Ack Number
Data
offset
5
6
Reserved
2
4
2
8
3
1
Destination Port
2
0
Window
Flags
Urgent Pointer
Checksum
Options
Padding
Data
TCP est un protocole orient connexion. Il tablit une connexion logique de bout en bout
entre deux machines-htes communicantes. Une information de contrle, appele handshake
( poigne de main ), est change entre les deux extrmits de manire tablir un dialogue
avant de procder la transmission des donnes. TCP active la fonction de contrle dun
segment en mettant 1 le bit appropri du champ Flags du 4e mot de len-tte du segment.
TCP utilise un mcanisme de poigne de main mettant en uvre trois changes de segment :
three-way handshake .
Hte A
Hte B
SYN
SYN, ACK
ACK, donnes
Le transfert de donnes a
commenc
50
changent alors une poigne de main de type Three-way handshake dont les segments
contiennent le bit plus aucune donne transmettre (appel le bit FIN) pour indiquer la fin
de la connexion. Lchange de donnes bout en bout assure la connexion logique entre les
deux systmes.
Destination Port
Emetteur
Destinataire
Sequence Number
rseau IP
Ack Number
Data
Reserved
offset
Flags
Window
Checksum
Urgent Pointer
Options
Padding
Data
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
Three-way handshake
F
I
N
...
ACK=1, PSH=1, SEQ# = 1000, ACK# = 3000
20 octets
60 octets
30 octets
...
Chaque octet de donnes est numrot squentiellement partir du numro ISN, de sorte que
le numro de squence du premier octet de donnes envoy est le suivant : ISN + 1
(gnralement 1).
Le numro de squence contenu dans len-tte dun segment de donnes permet didentifier la
position squentielle du premier octet de donnes dun segment appartenant un flot de
donnes dtermin.
51
Segment en
cours
Donnes reues
1001
Numro de
squence initiale 0
2001
3001
Numro de laccus
de rception 2000
4001
5001
6001
7001
Numro de
squence 4001
52
Lmetteur na reu aucun accus de rception pour les octets situs au-del de 2001.
Toutefois, il continue denvoyer des donnes tant que la fentre peut les accepter. Si
lmetteur remplit la fentre et ne reoit aucun accus de rception concernant les donnes
prcdemment envoyes, il renvoie, aprs un certain dlai, les donnes partir dun premier
octet sans accus de rception.
La retransmission devrait commencer partir de loctet 2001, pour autant quaucun accus de
rception nait t reu entre-temps. Cette procdure garantit que lextrmit distance du
rseau a rceptionn les donnes transmises.
2.4. Muliplexage
TCP peut servir simultanment plusieurs processus de la mme machine par multiplexage.
Ces processus communiquent par la mme interface rseau et partagent donc la mme adresse
IP que linterface rseau. TCP associe un numro de port chaque application qui utilise ses
services.
Une connexion stablit entre le numro de port de lmetteur et celui du rcepteur. On
appelle cela les extrmits (end points) de la connexion : une extrmit est dfinie par une
paire de valeurs : ladresse IP et le numro de port. Les numros des ports source et de
destination sont contenus dans le premier mot de len-tte du segment.
TCP peut de plus transmettre les donnes sur une connexion dans un sens ou dans lautre
(connexion full duplex).
Priodiquement une RFC dcrit les numros de ports usuels. Les numros compris entre 0 et
1023 sont rservs et sont les numros de port usuels.
HTTP
port=80
SMTP
SSH
port=25
DNS
port=22
port=53
port=161
DHCP
port=67/68
UDP
TCP
proto=6
ICMP
SNMP
proto=17
proto=1
IP
type=0x800
ARP
type=0x806
Ethernet
53