TCP重新传输不同的有效负载

TCP重新传输不同的有效负载,tcp,Tcp,我遇到了一个奇怪的问题。当tcp重传发生时,它应该发送相同的负载和丢失的数据包。但我看到重新传输在windows系统上发送了不同的负载。这正常吗?有RFC解释过吗 例1: tcp.seq:605921 tcp.len:546这一个遗漏了 tcp.seq:605921 tcp.len:1188tcp重传不是关于再次发送丢失的数据包,而是关于发送丢失的数据。重发的数据很可能与同一数据包中的后续数据组合在一起。您的问题只显示不同的有效负载长度,而不是(如标题所述)不同的有效负载。生成的应用程序数据可能

我遇到了一个奇怪的问题。当tcp重传发生时,它应该发送相同的负载和丢失的数据包。但我看到重新传输在windows系统上发送了不同的负载。这正常吗?有RFC解释过吗

例1:

  • tcp.seq:605921 tcp.len:546这一个遗漏了

  • tcp.seq:605921 tcp.len:1188tcp重传不是关于再次发送丢失的数据包,而是关于发送丢失的数据。重发的数据很可能与同一数据包中的后续数据组合在一起。您的问题只显示不同的有效负载长度,而不是(如标题所述)不同的有效负载。生成的应用程序数据可能是相同的,只是它们在传输时的打包方式不同。

    @eeie9999:TCP是字节流协议,而不是消息协议。包装仅在运输过程中进行。如果您的应用程序无法处理不同类型的打包(例如期望单个
    recv
    与单个
    send
    完全匹配),那么您的应用程序将被破坏。不幸的是,这样的误解、错误的期望以及由此导致的应用程序失败并不罕见。谢谢,找到了相同的问题和答案,