Академический Документы
Профессиональный Документы
Культура Документы
Le Protocole ICMP(2)
Message ICMP
Echo Reply
Destination Unreachable
Source Quench
Redirect (change a route)
Echo Request
Time Exceeded (TTL)
Parameter Problem with a
Datagram
TYPE
13
14
15
16
17
18
Message ICMP
Timestamp Request
Timestamp Reply
Information Request
(obsolete)
Information Reply
(obsolte)
Address Mask Request
Address Mask Reply
8
16
31
TYPE CODE
CHECKSUM
Identifieur
Seq. number
Donnes spcifiques . . .
8
16
31
TYPE CODE
CHECKSUM
SPECIFIQUE
B
Internet
R1
R2
2me routage
Redirection ICMP
SIGNIFICATION
Redirect datagrams for the Network
Redirect datagrams for the Host
Redirect datagrams for the Type of Service and Network
Redirect datagrams for the Type of Service and Host
SIGNIFICATION
erreonous data
missing option
Le champ spcifique comprend un pointeur (cod sur les 8 premiers bits, les
24 restants tant 0) servant identifier loctet erron dans le datagramme;
il est non significatif lorsque CODE = 1.
Couche Transport
TCP : Transmission Control Protocol
UDP : User Datagram Protocol
16
31
Port UDP source
Port UDP dest.
Longueur message UDP
Checksum UDP
Donnes ...
Les ports source et destination contiennent les numros de port utiliss par
UDP pour dmultiplexer les datagrammes destins aux processus en
attente de les recevoir.
Le port source est facultatif (gal zro si non utilis).
La longueur du message est exprime en octets (8 au minimum) ,
Le champ de contrle est optionnel (0 si non utilis).
8
16
Adresse IP Source
Adresse IP Destination
zro
proto
31
Format du pseudo en-tte
Longueur UDP
UDP : Multiplexage
UDP multiplexe et dmultiplexe les datagrammes en slectionnant les
numros de ports :
une application obtient un numro de port de la machine locale; ds
que l'application met un message via ce port, le champ PORT
SOURCE du datagramme UDP contient ce numro de port,
une application connat 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
Si ce n'est pas le cas, il met un message ICMP port unreachable, et
dtruit le datagramme.
TCP : La connexion
une connexion de type circuit virtuel est tablie avant que les donnes
ne soient changes : appel + ngociation + transferts
Une connexion = une paire d'extrmits de connexion
Une extrmit de connexion = couple (adresse IP, port)
Exemple de connexion : ((124.32.12.1, 1034), (19.24.67.2, 21))
Une extrmit de connexion peut tre partage par plusieurs autres
extrmits de connexions
La mise en oeuvre de la connexion se fait en deux tapes :
une application (extrmit) effectue une ouverture passive en
indiquant qu'elle accepte une connexion entrante,
une autre application (extrmit) effectue une ouverture active
pour demander l'tablissement de la connexion.
TCP : Segmentation
Segmentation, contrle de flux
Les donnes transmises TCP constituent un flot d'octets de longueur
variable.
TCP divise ce flot de donnes en segments en utilisant un mcanisme de
fentrage.
Un segment est mis dans un datagramme IP.
Acquittement de messages
Contrairement UDP, TCP garantit l'arrive des messages, c'est dire
qu'en cas de perte, les deux extrmits sont prvenues.
Ce concept repose sur les techniques dacquittement de message :
lorsqu'une source S met un message Mi vers une destination D, S attend
un acquittement Ai de D avant d'mettre le message suivant Mi+1.
Si lacquittement Ai ne parvient pas S, S considre au bout d'un certain
temps que le message est perdu et remet Mi :
TCP : Acquittements
Source
Emission de Mi
Temporisation
arme
Rseau
Destination
Rception de Ai
TCP : le fentrage
TCP : le fentrage
Source
Rseau
Emission de Mi
Emission de Mi+1
Destination
Rception de Mi
Emission de Ai
Emission de Mi+2
Reception de Ai
Fentrage de taille 3
10
16
Port source
24
31
Port destination
Numro de squence
Numro dacquittement
HLEN rserv Codes
fentre
Checksum
pointeur urgence
Options ventuelles
Donnes . . .
padding
Adresse IP source
Adresse IP destination
zro protocole (6)
longueur TCP
TCP : acquittements
Acquittements et retransmissions
Le mcanisme dacquittement de TCP est cumulatif :
il 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
Fentre=900
TCP : acquittements
TCP source
Segment=300
TCP destination
Seq=3
Envoi de 300 octets
Seq=303
Ack=303
Envoi de 300 octets
Attente car
f = 900
Seq=603
Envoi de 300 octets
Attente de 303
Ack=303
Seq=303
Envoi de 300 octets
Seq=603
Envoi de 300 octets
Peut tre
conserv ==>
peut ne pas
tre rmis
car acquitt
Ack=903
entre temps
TCP : retransmissions
algorithme de retransmission adaptative
enregistre la date dmission dun segment,
enregistre la date de rception de lacquittement correspondant,
calcule lchantillon de temps de boucle A/R coul,
dtermine le temps de boucle moyen RTT (Round Trip Time) :
RTT = (a * anc_RTT) + ((1-a) * NOU_RTT))
avec 0<= a < 1
a proche de 1 : RTT insensible aux variations brves,
a proche de 0 : RTT trs sensible aux variations rapides,
calcule la valeur du temporisateur en fonction de RTT.
Les premires implmentations de TCP ont choisi un coefficient constant B
pour dterminer cette valeur : Temporisation = B * RTT avec B >1
(gnralement B=2).
Aujourdhui de nouvelles techniques sont appliques pour affiner la mesure
du RTT : lalgorithme de Karn.
TCP : retransmissions
Lalgorithme de Karn repose sur les constatations suivantes :
en cas de retransmission dun segment, lmetteur ne peut savoir si
lacquittement sadresse au segment initial ou retransmis (ambigut des
acquittements), =>lchantillon RTT ne peut donc tre calcul correctement,
TCP ne doit pas mettre jour le RTT pour les segments retransmis.
Lalgorithme de Karn combine les retransmissions avec laugmentation des
temporisations associes (timer backoff):
une valeur initiale de temporisation est calcule
si une retransmission est effectue, la temporisation est augmente
(gnralement le double de la prcdente, jusqu une valeur plafond).
Cet algorithme fonctionne bien mme avec des rseaux qui perdent des
paquets.
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.
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.
TCP : connexion
Une connexion TCP est tablie en trois temps de manire assurer la
synchronisation ncessaire entre les extrmits :
TCP source
TCP destination
Syn seq=x
Syn seq=y,ack=x+1
Ack y+1
TCP retransmissions
TCP : dconnexion
TCP destination
Fin seq=x
ack=x+1
+ fin-> applicatif
Applicatif -> close
Fin seq=y ack=x+1
Ack y+1
Mot-cl Description
FTP-DATA
FTP
TELNET
SMTP
TIME
NAMESERVER
NICNAME
DOMAIN
FINGER
HTTP
POP3
SUNRPC
TCP : Lautomate
Rinitialisation
Dpart
Ferm
ouverture active/ SYN
fermeture
Ecoute
(Listen)
SYN/SYN+ACK
SYN
reu
ouverture
passive
Send SYN
RST
SYN
mis
SYN/SYN+ACK
Fermer
RST
Tempo. exp.
ACK
SYN+ACK/ACK
Etablie
Close/FIN
FIN/ACK
Attente
Fermer
Fermer/FIN
FIN (send)
FIN
Attente
-1
FIN/ACK
rcv
ACK of FIN
Fermeture
en cours
rcv
Dernier ACK
ACK
rcv
ACK of FIN
tempo. expire aprs
2 dure de vie de segment
FIN
Attente
-2
FIN / ACK
Tempo.
expire