Outils pour utilisateurs

Outils du site


doc:web:tcp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doc:web:tcp [2017/10/04 01:31] – Ajout du cheminement des ACK et du délai avant ACK rootdoc:web:tcp [2020/05/11 00:29] (Version actuelle) – Suppression de la taille par défaut pour les images root
Ligne 1: Ligne 1:
 ====Négociation de la connection==== ====Négociation de la connection====
-[[https://commons.wikimedia.org/wiki/File:Tcp_connect.svg?uselang=fr|Establishing a TCP connection]], {{ :doc:web:tcp:tcp_connect.svg?500 |Archive}}+[[https://commons.wikimedia.org/wiki/File:Tcp_connect.svg?uselang=fr|Establishing a TCP connection]], {{:doc:web:tcp:tcp_connect.svg|Archive}}
  
 Normalement, le numéro de l'ACK en réponse est celui de l'origine + la taille du paquet. Dans le cas d'une connexion entrante, la taille du paquet (hors entête) est nulle. Dans ce cas uniquement, l'ACK en réponse est incrémenté de 1. Normalement, le numéro de l'ACK en réponse est celui de l'origine + la taille du paquet. Dans le cas d'une connexion entrante, la taille du paquet (hors entête) est nulle. Dans ce cas uniquement, l'ACK en réponse est incrémenté de 1.
  
 ====Envoi des trames TCP==== ====Envoi des trames TCP====
-[[https://commons.wikimedia.org/wiki/File:Tcp_talk.svg?uselang=fr|Dialogue TCP entre deux interlocuteurs]], {{ :doc:web:tcp:tcp_talk.svg?500 |Archive}}+[[https://commons.wikimedia.org/wiki/File:Tcp_talk.svg?uselang=fr|Dialogue TCP entre deux interlocuteurs]], {{:doc:web:tcp:tcp_talk.svg|Archive}}
  
 ====TCP Sequence et Acknowledgment Numbers==== ====TCP Sequence et Acknowledgment Numbers====
-<blockquote>The client on either side of a TCP session maintains a 32-bit sequence number it uses to keep track of how much data it has sent. This sequence number is included on each transmitted packet, and acknowledged by the opposite host as an acknowledgement number to inform the sending host that the transmitted data was received successfully.<cite>[[http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/|Understanding TCP Sequence and Acknowledgment Numbers - PacketLife.net]], {{ :doc:web:tcp:understanding_tcp_sequence_and_acknowledgment_numbers_-_packetlife.net.mhtml |Archive}}, {{ :doc:web:tcp:tcp_example.zip |Archive capture}}</cite></blockquote>+<blockquote>The client on either side of a TCP session maintains a 32-bit sequence number it uses to keep track of how much data it has sent. This sequence number is included on each transmitted packet, and acknowledged by the opposite host as an acknowledgement number to inform the sending host that the transmitted data was received successfully.<cite>[[http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/|Understanding TCP Sequence and Acknowledgment Numbers - PacketLife.net]], {{ :doc:web:tcp:understanding_tcp_sequence_and_acknowledgment_numbers_-_packetlife.net_2019-10-15_21_45_30_.html |Archive du 07/06/2010 le 15/10/2019}}, {{ :doc:web:tcp:tcp_example.zip |Archive capture}}</cite></blockquote>
  
 ====Délai entre le paquet de donnée et l'ACK==== ====Délai entre le paquet de donnée et l'ACK====
 Souvent le délai entre le paquet et l'ACK est long, de l'ordre de plusieurs centaines de millisecondes. C'est la faute à l'algorithme de Nagle. Souvent le délai entre le paquet et l'ACK est long, de l'ordre de plusieurs centaines de millisecondes. C'est la faute à l'algorithme de Nagle.
  
-[[https://www.extrahop.com/company/blog/2016/tcp-nodelay-nagle-quickack-best-practices/#5|TCP_NODELAY: 2016 Best Practices for TCP Optimization]], {{ :doc:web:tcp:tcp_nodelay_2016_best_practices_for_tcp_optimization_extrahop.mhtml |Archive}}+[[https://www.extrahop.com/company/blog/2016/tcp-nodelay-nagle-quickack-best-practices/#5|TCP_NODELAY: 2016 Best Practices for TCP Optimization]], {{ :doc:web:tcp:tcp_nodelay_nagle_s_algorithm_in_2019_optimize_tcp_extrahop_2019-10-15_21_47_47_.html |Archive du 29/06/2019 le 15/10/2019}}
  
 ==Dump Wireshark avec Nagle== ==Dump Wireshark avec Nagle==
-{{:doc:web:tcp:tcpdelay.png?800|}} {{ :doc:web:tcp:yesdelayserveur.pcapng |Source}}+{{:doc:web:tcp:tcpdelay.png|}} {{ :doc:web:tcp:yesdelayserveur.pcapng |Source}}
  
 Les trames 1, 2 et 3 et 9, 10 et 11 représente la connexion avec le serveur. Les trames 1, 2 et 3 et 9, 10 et 11 représente la connexion avec le serveur.
Ligne 25: Ligne 25:
  
 ==Dump Wireshark sans délai== ==Dump Wireshark sans délai==
-{{:doc:web:tcp:tcpnodelay.png?280000|}} {{ :doc:web:tcp:nodelayserveur.pcapng |Source}}+{{:doc:web:tcp:tcpnodelay.png|}} {{ :doc:web:tcp:nodelayserveur.pcapng |Source}}
  
 Quand l'algorithme n'est pas utilisé, moins d'ACK est envoyé (??) mais on constate bien qu'il n'y a que 0.3 ms entre la trame et l'ACK. Quand l'algorithme n'est pas utilisé, moins d'ACK est envoyé (??) mais on constate bien qu'il n'y a que 0.3 ms entre la trame et l'ACK.
doc/web/tcp.1507073489.txt.gz · Dernière modification : 2017/10/04 01:31 de root