sockets - Wireshark 中的 [TCP ACKed unseen segment] 等是什么?

标签 sockets networking tcp wireshark scp

enter image description here

我已经通过 SCP 传输数据并在上图中得到一些消息(黑色)。这些消息有什么关系(TCP ACKed...,TCP Zerowindow 和 TCP Prev...)。 非常感谢您,对于网络新手的语言感到抱歉。

最佳答案

TCP 数据包上的

ACK 给出其他机器 下一步应使用的序列号:

SYN (seq=1)            ->  received
recived                <-  SYN, ACK (seq=101, ack=2)
"hi" (seq=2, ack=102)  ->  received 2 bytes
received               <-  ACK (seq=102, ack=4)
recived 2 bytes        <-  "ho" (seq=103, ack=4)

ACK 在每个数据包上发送到另一台机器说:“我期望你的下一个序列号是这个数字”。

如果从未看到部分数据,

ACK 永远不会增加。如果在上面的示例中没有收到“hi”(例如网络拥塞),右侧将拒绝所有数据包,直到收到带有 seq=2 的数据包。 TCP 通过重复 seq=2 数据包在内部处理这个问题。

您的 wireshark 日志表明它没有看到某些数据包。数据包可能已经正常通过网络(并且可能已经通过网络,否则它会重复)但是 wireshark 没有捕获它。这是一个完全可能的场景,在繁忙的网络中 wireshark 通常无法捕获每个数据包。

关于sockets - Wireshark 中的 [TCP ACKed unseen segment] 等是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37606030/

相关文章:

perl - 如何在 perl 中使用 TCP 协议(protocol)检查 recv() 和 send() 的返回值?

java - Android连续tcp轮询

Python 3 套接字 - 在停止和重新运行程序时可以保持套接字打开吗?

python - 套接字流量字节重复(?)

networking - Docker容器到主机的路由

C#按原样获取一个tcp数据包数据

c# - 在 C# 中使用套接字发送图像文件(大数据)

c++ - select() 无限期挂起

python - 如何在 python 网络服务器中禁用反向 dns 查找?

sockets - 应用程序应何时设置定义 SYN 重传次数的 TCP 选项?