TCP重传不同的payload
TCP retransmission different payload
我遇到一个奇怪的问题。当 tcp 重传发生时,应该发送相同的有效载荷和丢失的数据包。但是我看到重传在 windows 系统上发送了不同的负载。正常吗?和任何 RFC 解释这个?
示例 1:
- tcp.seq:605921 tcp.len:546 这个错过了
- tcp.seq:605921 tcp.len:1188 <- 超时重传,但有效负载长度不同
- tcp.ack:607109 <-- 服务器已确认 #2
示例 2:
- tcp.seq:4529820 tcp.len:419 这个错过了
- tcp.seq:4530239 tcp.len:1460
- tcp.ack:4529820
- tcp.seq:4531699 tcp.len:92
- tcp.seq:4529820 tcp.len:1460 <- 重传 #1 不同长度的有效载荷
- tcp.ack:4531791 <- 服务器已确认 #3.
TCP 重传不是关于再次发送丢失的数据包,而是关于发送丢失的数据。重传的数据很可能会与同一数据包中的后续数据合并。您的问题仅显示了不同的 length 有效负载,而不是(如标题中所述)不同的有效负载。生成的应用程序数据可能相同,只是为了传输而打包不同。
我遇到一个奇怪的问题。当 tcp 重传发生时,应该发送相同的有效载荷和丢失的数据包。但是我看到重传在 windows 系统上发送了不同的负载。正常吗?和任何 RFC 解释这个?
示例 1:
- tcp.seq:605921 tcp.len:546 这个错过了
- tcp.seq:605921 tcp.len:1188 <- 超时重传,但有效负载长度不同
- tcp.ack:607109 <-- 服务器已确认 #2
示例 2:
- tcp.seq:4529820 tcp.len:419 这个错过了
- tcp.seq:4530239 tcp.len:1460
- tcp.ack:4529820
- tcp.seq:4531699 tcp.len:92
- tcp.seq:4529820 tcp.len:1460 <- 重传 #1 不同长度的有效载荷
- tcp.ack:4531791 <- 服务器已确认 #3.
TCP 重传不是关于再次发送丢失的数据包,而是关于发送丢失的数据。重传的数据很可能会与同一数据包中的后续数据合并。您的问题仅显示了不同的 length 有效负载,而不是(如标题中所述)不同的有效负载。生成的应用程序数据可能相同,只是为了传输而打包不同。