Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1906 connectés 

  FORUM HardWare.fr
  Windows & Software

  Question théorique sur le TCP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question théorique sur le TCP

n°2024014
Vinny_the_​true
Posté le 08-05-2005 à 17:04:53  profilanswer
 

Voilà, ma question concerne le dessin ci-dessous.
Il décrit une connexion entre A et B du début jusqu'à la fin. Le texte en noir est la base, à moi de remplir, j'ai donc mis tout le rouge (plus la plupart des flèches)
Pour chaque message, le tag indique le type de message, les deux chiffres entre parenthèses sont les numéros de séquence et d'accusé.
Mon problème principal concerne l'endroit du cercle rouge, le renvoi des données est-il déclenché par la réception d'un ACK (accusé de réception) "éronné" ou par le passement du délai (symbolisé par la flèche verticale ?
Sinon, à part ce point sensible, le reste est conforme au comportement de TCP ?
 
http://vinnythetrue.free.fr/temp/TCP.jpg
 
merci pour votre aide :bounce:

mood
Publicité
Posté le 08-05-2005 à 17:04:53  profilanswer
 

n°2024184
d'ho
Posté le 08-05-2005 à 18:38:16  profilanswer
 

Je pencherais plutôt pour un désynchronisation entre l'émetteur et le récepteur: côté serveur, apres l'envoi de DATA[26], se déclenche un timeout (200ms il me semble) en attendant un ack de ce segment, auquel cas, il reessaiera de renvoyer ledit segment. Or côté client, il attend le segment b+1 et voit arriver b+27 => désynchronisation (depuis les recnete versions de TCP, au moindre probleme, pouf reset) donc il y a reset du client :p


Message édité par d'ho le 08-05-2005 à 18:38:51
n°2024261
Vinny_the_​true
Posté le 08-05-2005 à 19:12:57  profilanswer
 

hum...d'accord. Mais n'est-ce pas possible que le client se comporte avec le message FIN comme il se comporterais avec des données ? Dans le cas de données, et bien on avancerait pas encore la fenêtre, puisqu'il y aurait un trou, mais dès que ce trou serait comblé, on avance directement de plusieures éléments.
En tout cas, merci pour ta réponse :hello: ...même si je dois bien avouer que pour le coup elle ne me satisfait pas pleinement... peut-être dans une ancienne version du protocole ? :lol:

n°2024324
d'ho
Posté le 08-05-2005 à 19:58:04  profilanswer
 

Aprés vérification, TCP fait le coup du reset moins souvent que je ne le croyais :D
 
Donc dans ton cas, ce que tu as mis est bon, l'envoi du segement DATA[26] déclenche un timeout (30s à 2 minute après vérification, 200ms est pour un autre cas :p).
 
Pendant ce temps, le serveur envoit son FIN, acquitté par le client => connexion client ->serveur fermée
 
Voila, ce que je n'avais pas capté, au même moment que la réception du ACK, le timeout du serveur expire et il renvoit DATA[26] => ack du client qui attend bien b+28 (b+27 ayant déjà été reçu ;)) inclus dans un FIN.
 
Il manque juste une flèche cote serveur qui renvoit un ack pour le FIN du client ;)


Message édité par d'ho le 08-05-2005 à 19:59:06
n°2024417
Vinny_the_​true
Posté le 08-05-2005 à 21:12:41  profilanswer
 

Je n'ai pas tout compris là  :??:  
Arrête-moi si je me trompe, mais le client ne peux pas acquitter le message FIN puisque sa séquence est bien plus élevée que ne l'est sa valeur d'accusé à ce moment-là. Donc deux options, soit il attend les 26 octets manquant, sans rien faire, puis envoi ACK+FIN dans un message, soit il envoi le ACK que j'ai mis sur le dessin (le même qu'auparavant à priori, puisqu'incrémenter l'accusé pour signifier la réception du FIN semble peu judicieux). Du coup, s'il envoi ce ACK, le serveur renvoi ses données parce-qu'il reçoit ce message ? Ou plutôt parce-que son timeout expire  :??:  
Mon problème exact concerne le comportement du client lorsqu'il reçoit un message de FIN à séquence supérieure à son accusé.
 
En tout cas merci de ton aide, tu t'es même documenté pour moi, il ne fallait pas :sweat:

n°2024605
d'ho
Posté le 09-05-2005 à 00:34:17  profilanswer
 

Vinny_the_true a écrit :

Je n'ai pas tout compris là  :??:  
Arrête-moi si je me trompe, mais le client ne peux pas acquitter le message FIN puisque sa séquence est bien plus élevée que ne l'est sa valeur d'accusé à ce moment-là. Donc deux options, soit il attend les 26 octets manquant, sans rien faire, puis envoi ACK+FIN dans un message, soit il envoi le ACK que j'ai mis sur le dessin (le même qu'auparavant à priori, puisqu'incrémenter l'accusé pour signifier la réception du FIN semble peu judicieux). Du coup, s'il envoi ce ACK, le serveur renvoi ses données parce-qu'il reçoit ce message ? Ou plutôt parce-que son timeout expire  :??:  
Mon problème exact concerne le comportement du client lorsqu'il reçoit un message de FIN à séquence supérieure à son accusé.
 
En tout cas merci de ton aide, tu t'es même documenté pour moi, il ne fallait pas :sweat:


 
Il y a une erreur que je n'avais pas vu, d'ou ton probleme de comprehension ;)
En effet, le SYN envoyé par le serveur doit être SYN(b+27;a+2)("j'envoie le segment n°a+1 et j'attend de recevoir le segment n°a+2" ); car le serveur a envoyé un segment DATA[26](b+1;a+1) avant mais ne sais pas encore que le segment a été perdu (pas d'expiration encore du timeout associé à ce segment).
Alors le client doit envoyer un ACK(a+2;b+28) et sait donc qu'il lui manque le segment a+1.
 
Enfin, le serveur ferme la connexion client ->serveur par un ACK(b+28;a+3).
 
Ensuite, la question d'une fermeture de connexion, alors qu'un segment manque me turlupine du coup. Je me renseigne ;)
 
PS: j'espere pas trop m'etre embrouille ou t'avoir embrouille :D


Message édité par d'ho le 09-05-2005 à 00:37:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  Question théorique sur le TCP

 

Sujets relatifs
Petite question !Question site web ??
Problème configuration DNS + autre questionquestion about les TTs ?
Question rapide sur un gpo et le script de connexionquestion sur hotamil et courrier indesirable
Question débile .... modif taille de partitionsQuestion : Probleme Wifi + ethernet sur le même PC
question un peu bête sur les antivirus???Nettoyeur de disque du système... question
Plus de sujets relatifs à : Question théorique sur le TCP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR