Académique Documents
Professionnel Documents
Culture Documents
INFORMATIQUE
port port
… …
Émetteur Récepteur
port port
(adresse IP) (adresse IP)
… …
port port
64K ports
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 4
Principe de fonctionnement
Connexion TCP : transmission d’un flot d’octets, et non de
messages
La délimitation précise de messages n’est pas conservé de bout en
bout
A B C D émetteur
(4 messages)
En-tête IP En-tête TCP
A B C D segments
A B C D récepteur
(1 message)
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 5
Exemples des connexions TCP
1245 2243
1247
5243
5244 192.168.0.18
5245
4 octets
Données (optionnelles)
10 10 512 512
seq = x seq = x+10 seq = x+20 seq = x+532
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 11
Numéro d’accusé de réception
Indique le prochain octet attendu
Accompagne le drapeau ACK
ACK = 1 => le champ Numéro d’accusé de réception doit être
exploité
S D
10 seq = x
10 seq = x+10
ACK (AckNo = x+20)
S D
je peux recevoir 4k 4k
2k
2K
j’ai reçu 2k, je peux recevoir 2k
App -> 2k
2k -> App
App -> 1k
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 17
Données urgentes
Pointeur d’urgence : décalage en octets à partir du nombre de
séquence courant pour indiquer où on retrouvent les données
urgentes.
+ Drapeau URG
S D
Client Server
bind bind
listen(80)
Client Server
connect
Client Server
connect
accept
* valeurs relatives
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 22
Communication TCP : exemple
Client Server
bind bind
…
SEQ* : 1 listen(80)
AckNo* : 1
ACK : 1
Options :
connect
accept
Client Server
bind bind
connect listen(80)
…
SEQ* : 1
AckNo* : 1 accept
ACK : 1
send
7 octets
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 24
Communication TCP : exemple
Client Server
bind bind
connect listen(80)
…
SEQ* : 1
AckNo* : 8 accept
ACK : 1
send
recv
Client Server
bind bind
connect listen(80)
…
SEQ* : 1
send AckNo* : 8 accept
ACK : 1
recv
send
recv
1460 octets
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 26
Communication TCP : exemple
Client Server
bind bind
connect listen(80)
…
SEQ : 1461
send AckNo : 8 accept
ACK : 1
recv
send
recv
1460 octets
Prof. M. Achkari Begdouri - Dép. Informatique - FP Larache 27
Communication TCP : exemple
Client Server
bind bind
connect listen(80)
…
SEQ* : 8
send AckNo* : 1461 accept
ACK : 1
recv
send
recv
Client Server
bind bind
connect listen(80)
…
send SEQ* : 8
accept
AckNo* : 1461
recv ACK : 1; FIN = 1; recv
send
close
Client Server
bind bind
connect listen(80)
…
send SEQ* : 1461
accept
AckNo* : 8
recv ACK : 1 recv
send
close close
netstat
tcpdump
Sniffers :
Microsoft Network Monitor
Ethereal (www.ethereal.com)
4 octets
Données
créer un socket
associer le socket à une adresse locale : interface
réseau + port
envoyer un message à une adresse - IP+port
créer un socket
associer le socket à une interface réseau
recevoir un message
Serveur Client
Envoi/réception Envoi/réception
close close