有人可以简单地描述TCP中的重传机制吗? 我想知道它在这种情况下是如何处理的?
A向B发送数据包:
在这种情况下,B将收到2个相同的数据包,B怎样才能避免再次处理同一个数据包?
感谢。
答案 0 :(得分:2)
每个数据包都有一个与之关联的序列号。在发送数据时,序列号增加数据包中的原始数据量。您可以将序列号视为数据包中第一个字节从数据流开头的偏移量,尽管它可能不会(可能不会)从零开始。当A发送重试时,它将使用它第一次使用的相同序列号。 B在接收数据时跟踪序列号,并且可以知道它之前已经看过重试的序列号。如果它已经将该数据提供给(上层)客户端,那么它知道它不应该再次这样做。