gpt4 book ai didi

握手后的 TCP 数据包

转载 作者:可可西里 更新时间:2023-11-01 02:57:28 29 4
gpt4 key购买 nike

我正在努力了解 TCP,但解析大量 RFC 并没有帮助。我相信我了解连接和关闭握手,但我似乎无法找到任何总结实际数据流的内容。

在连接和关闭握手之间 TCP 数据包看起来像什么? (特别是标题)

最佳答案

在连接期间通常的稳态情况下, header 将具有:

  • 目标端口和源端口设置得当;
  • 设置ACK标志;
  • 如果连接本质上是事务性的(而不是批量传输),PSH 标志也可能会被设置;
  • sequence number字段设置为本端要发送的下一个字节的sequence number(本包中有数据则计为“待发送”);
  • acknowledge字段设置为尚未从另一端接收到的最早字节的序号;
  • 窗口字段显示此端接收窗口中的剩余空间 - 使用的编码取决于是否在初始连接设置中协商了窗口缩放。

还有可能还有一个type 8的option字段,代表RFC1323中描述的Time Stamp Option。

因此,例如,在服务器向客户端发送大量数据的 HTTP 连接部分,客户端将发送带有 ACK 设置的数据包,序列号字段保持不变,确认字段随着服务器发送的段的大小递增,并且窗口大小大约是一个段的大小。服务器将发送带有 ACK 设置的数据包,序列号字段按发送的段的大小推进,确认字段保持不变,窗口大小最大。

我建议使用 Wireshark 来检查一系列真实世界的连接。

关于握手后的 TCP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297523/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com