sou*_*rar 7 udp tcp duplication network-protocols packet-loss
我试图找出丢包和数据包重复问题之间的区别.有谁知道'数据包重复'到底是什么?当在TCP中检测到丢失时,它是否与重新发送数据包相同?
Hei*_*bug 11
号在TCP交付"三包"是可靠的(我认为的项数据应该是在这种情况下更好,因为它是一个面向流的协议).
丢包和复制是与不可靠的协议数据报相关的问题UDP.在UDP中,当您发送数据报时,这可能会重复,无序或甚至根本不到达.
当在TCP中检测到丢失时,它是否与重新发送数据包相同?
是的,不是.假设TCP在内部使用ack机制来检测丢失的数据,并自动重新发送它们.因此,丢失的数据对用户来说是透明的,并由协议本身处理.
有谁知道'数据包重复'到底是什么?
在某些情况下,可能会发生IP数据包沿着到目的地的路径重复.例如,路由器可以决定通过2个不同的网络接口转发传入流量.在这种情况下,可能会发生两个IP数据包都将到达目的地.
TCP处理重复的IP数据包问题,所以你不关心它们.
UDP不处理它们.当您收到数据报时,不能保证您之前没有收到过相同的数据报.你应该检查一下.
有两件事你可能意味着重复数据包:有效负载的重复(正在发送的数据)或有效负载和标头的完全重复.TCP将尝试重新发送它没有收到ACK的数据(来自接收方的确认数据包到达的确认).然而,这导致着名的" 两个将军 "问题,你永远无法确定实际到达的数据,或者你是否因为ACK数据包丢失而没有得到ACK.接收方可能已收到数据包,并以ACK回复,但ACK随后丢失.在这种情况下,发送方将假定从未接收到数据包,并发送具有相同有效负载的另一个数据包.由于这种情况,像TCP这样的协议需要处理多次发送数据.在这种情况下,答案是"是",它们是相同的.
第二件事重复数据包可能意味着实际的100%重复数据包(有效负载和标头).这可能是由于软件,硬件或路由问题或配置错误导致的错误.在这种情况下没有,这是一个有点不同的问题,而不是TCP从检测到数据包丢失中发送具有重复有效负载的新数据包.在这种情况下,发送方只发送了一个数据包,但它在路由器或硬件接口的某个地方被复制.
| 归档时间: |
|
| 查看次数: |
17979 次 |
| 最近记录: |