美文网首页网络技术
同一条TCP链接数据包到达顺序

同一条TCP链接数据包到达顺序

作者: tracy_668 | 来源:发表于2021-03-04 07:57 被阅读0次

以前一直以为数据包先发的不一定先到,直到今天才意识这个问题的缺陷,数据包是不一定先发先到,但是对于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并不保证,网络层接收包的顺序是错乱的。

相关文章

  • 同一条TCP链接数据包到达顺序

    以前一直以为数据包先发的不一定先到,直到今天才意识这个问题的缺陷,数据包是不一定先发先到,但是对于TCP有一点特殊...

  • socket通信(tcp/udp区别及JAVA的实现方式)

    TCP——传输控制协议,具有极高的可靠性,保证数据包按照顺序准确到达,但其也有着很高的额外负担。 UDP——使用者...

  • Python TCP编程

    1. TCP简介 TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据包按顺序...

  • TCP三次握手原理

    本文主要内容 TCP数据包格式 三次握手原理 TCP的传输和确认 TCP的序号和确认序号 1、TCP数据包格式 T...

  • TCP/UDP

    TCP:TCP提供一对一的、面向连接的可靠通信服务(保证数据正确性和顺序,并恢复在传输过程中丢失的数据包)、用于传...

  • 第六章 TCP与UDP

    1. 传输层的作用 传输层定义IP会使得数据包到达目的地,但是具体这个数据包是给哪个应用程序就需要TCP等利用端口...

  • Linux TCP 重传类算法性能评估方案

    来源 /腾讯课堂Coding学院(ID:ke_coding) 导语 TCP数据包重传类算法是要让TCP连接从数据包...

  • tcp包头、三次握手、四次挥手、状态

    1. TCP协议 1.1 TCP数据包头 要了解三次握手和四次挥手,首先需要了解下TCP数据包头的结构,如下: 源...

  • 网络协议分层

    1- 通过wireshark 分析网络数据包 1.1 以太网数据包 1.2 IP 数据包 1.3 TCP 数据包 ...

  • tcp和udp的区别,tcp如何实现可靠

    TCP如何保证消息顺序以及可靠性到达参考连接:https://blog.csdn.net/dccmxj/artic...

网友评论

    本文标题:同一条TCP链接数据包到达顺序

    本文链接:https://www.haomeiwen.com/subject/bsyhqltx.html