Sat*_*esh 6 tcp
我想知道如果两个相同序列号的段到达目的地,哪个段会被接受?
例如:
客户端向服务器发送数据包并等待确认。但是它没有在时间线内收到确认(由于一些网络问题,该段需要时间才能到达服务器),因此再次开始发送相同的段。现在在服务器端,如果两个数据包同时到达会发生什么。
Mik*_*ott 8
一个数据包被标记为重复并被丢弃。因为它们是相同的,所以不管是哪一个。见/sf/ask/901023231/
kas*_*erd 6
两个段同时到达的前提是没有意义的。一个总是先于另一个到达。但是在下一个数据到达之前,该数据可能尚未交付给应用程序。
根据RFC 793,将使用来自第一段的数据。
段按顺序处理。到达时的初始测试用于丢弃旧的重复项,但进一步处理按 SEG.SEQ 顺序进行。如果一个段的内容跨越新旧边界,则只应处理新部分。
也就是说,不难想象现实中的实现会有不同的表现。特别是部分重叠的片段可能非常有趣。
归档时间:
10 年,4 月 前
查看次数:
1256 次
最近记录: