TCP - 接收顺序错误 [英] TCP - received in wrong order

查看:73
本文介绍了TCP - 接收顺序错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能以错误的顺序获取 TCP 数据包,由序列号指示?那么在接收方会发生什么?例如,是否有任何队列包含过早"到达的口袋?

Is it possible to get TCP packets in wrong order, indicated by sequence number? What happens then in the receiving side? Is there any queue that holds pockets that arrived "too early", for instance?

推荐答案

也许吧.接收 TCP 引擎有几个关于做什么的选择.它唯一不能做的就是将那些乱序数据包中的数据乱序传递给接收进程.

Maybe. The receiving TCP engine has several choices about what to do. The only thing it cannot do is deliver the data in those out-of-order packets to the receiving process out of order.

  • 接收 TCP 引擎可以丢弃乱序数据.最终,发送 TCP 引擎将重新传输它们.在此之前,它肯定也会重新传输间隙中的数据.当间隙中的数据到达时,接收引擎可以将其依次传递给接收进程.
  • 接收TCP引擎可以保存乱序数据.最终,要么间隙中的数据将到达,要么发送 TCP 引擎将重新传输它.无论哪种方式,差距都会被填补,接收引擎可以按顺序将所有数据传递给接收进程.
  • 接收 TCP 引擎可以保存乱序数据,并提示发送 TCP 引擎应该在间隙中重新传输数据.它通过对接收到的最后一个有序数据字节进行重新确认来进行响应.这是大多数 TCP 引擎所做的.

这篇关于TCP - 接收顺序错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆