关于同一条TCP链接数据包到达顺序的问题
来源:互联网 发布:gekka睡眠面膜 知乎 编辑:程序博客网 时间:2024/06/08 16:16
转:http://blog.csdn.net/l1008610/article/details/52197602
以前作者也一直以为数据包先发的不一定先到,直到今天才意识这个问题的缺陷,数据包是不一定先发先到,但是对于TCP有一点特殊,若我们接受的数据包是在应用层,并且应用层用的是TCP的传输协议的话,这个顺序是保证,这个顺序的保证是在传输层保证的,举个例子:
client发生数据A,B给server,使用的TCP传输,client发送毫无疑问是先发送A,然后发送B,但是有些搞网络的同学可能会有这个疑问,A跟B在物理层走的链路不一样,传输速度不一样,B是会比A先到达Server,这个是没有错的,但是这个数据包被接受是在网络层跟传输层,请记住网络跟传输层的作用,网络层是保证同一个包的完整,就是说若你的传输层发出的包过大,在网络层(也就是IP层)会被分包,同时在Sever的网络接受的时候会被组包,有一个完整的包才会交给传输层,若包不完整是会丢弃,同时他也不保证你的包的是否达到,数据包的保证是在传输层做的,就是说若传输层(TCP协议才会,UDP并不保证)没有收到对方的确认包,会有超时重传,每个数据包也是有序列号的,同时,传输层就是根据这个序列号来保证A,B包的顺序,即使B比A先到达了,TCP也会是等A到达之后,先把A提交给应用层,再把B的数据提交给应用层,从而保证了,同一条TCP链接,先发的包先到
注:这个顺序的保证是传输层做的,TCP这个协议保证的,UDP并不保证,网络层接收包的顺序是错乱的。
下面这张就是网络的传输图
阅读全文
0 0
- 关于同一条TCP链接数据包到达顺序的问题
- 关于同一条TCP链接数据包到达顺序的问题
- tcp如何保证数据包的顺序传输
- 关于数据包的问题!
- 关于TCP/IP数据包的小认识
- 关于数据包的伪装,UDP,TCP
- Delphi中关于TCP通讯,Indy粘数据包问题
- 关于浏览器的请求数据到达后台乱码问题
- 关于多网卡的数据包传输问题
- 关于TCP/IP数据包的截取和分析
- 关于TCP/IP数据包的截取和分析
- 关于TCP/IP数据包的截取和分析
- 关于 linux中TCP数据包(SKB)序列号的小笔记
- 关于 linux中TCP数据包(SKB)序列号的小笔记
- TCP如何保证消息顺序以及可靠性到达
- TCP如何保证消息顺序以及可靠性到达
- 数据包从源主机到达目标主机的过程。
- 数据包从源主机到达目标主机的过程
- 访问vector中的字符串并改变其值
- idea中Terminal终端无法执行GIT命令: touch README.md问题解决
- pe找不到硬盘怎么办
- 自己封装的轮播图
- 1.6. 最邻近算法
- 关于同一条TCP链接数据包到达顺序的问题
- Matplotlib调用imshow()函数绘制热图
- java类加载时机与过程
- 初探Android中Window与DecorView
- Matplotlib教程
- LVM
- Spring中模板模式和回调模式(二)
- Are We More Connected or More Alone?
- 浅谈STL中的二分lower_bound()与upper_bound()