最后更新:2022-06-12 12:33:08 手机定位技术交流文章
我们知道,常用的网络参考模型是TCP/IP参考模型,这个参考模型是从OSI参考模型中演变出来的,因为TCP和IP协议更广泛地使用,因此,它被称为TCP/IP参考模型。因此,我们今天将研究以下的传输层协议:TCP和UDP
首先了解以下的TCP协议:
整个TCP协议是一个面向链路的可靠性传输。
所谓的链接指在发送数据之前互相通知,例如,我想把包裹寄给张三,我会打电话给张先生确认下一个人能否得到资料,对方回复能收到,我会用快车送出去。可靠性转让是指转让的过程,TCP将确保当完成时,另一方收到这些资料,注意,这种完整性意味着最终的结果,在传输过程中丢失数据包是不可避免的,但输家收受者会通知发送者,发送者将在此时间重新定位.例如,我刚才给张三发的包裹中哪件可能因某种原因在中间损坏或丢失,张三可以通知我,我会再给张三个。
那么TCP的详细操作呢?
我们将把TCP传输过程分为三个部分:数据传输前、数据传输期间和数据传输后
第一个SYN位置1的TCP消息由TCP连接的发起者发送。 初始序列数a是一个随机生成的数,因为它没有从PC2收到任何消息,因此确认序列数0;
接收了合法的SYN消息后,接收器(PC2)以SYN和ACK配置1来响应TCP消息。初始序列数b是随机生成的数目,由于此消息是响应PC1,序列数a+1被确认;
PC1接收由PC2发送的SYN和ACK配置的TCP消息,然后用序列数a+1对ACK配置的消息作出响应,确认序列数b+1。
三个手确认了通信的两个方面是否能够接收彼此的信息,所以通过三个包证实这一点。
我们可以把sys当作查询包,而ack当作典型的确认信息
现在我们假设我将向张三递交数据,但我不会直接递交数据我需要确保对方能先收到,所以握手三次:
Sys (你能听到我说话吗?
Sys+ACK(能听到你说话吗?
ACK(我能听见)
你可以看到,通过发送三个通信,双方已经确定可以相互接收信息,因此以下可以正常发送数据。
至于我们看到的sys后面的seq(序列数)=a,以及下面的ACK seq=a+1,我们可以假设这个确认信息是用来匹配哪些sys应答的
确保传输数据的大小符合传输媒体的限制,并确保由不同应用发送的数据能够通过该媒体进行多路传输
完成分段后,每个分段在网络中作为独立身份传输,那么,有可能到达的顺序不是发货的顺序,如果直接在这一顺序向用户展示,则会有序列问题,就像"我请求你吃"的回信给"你要求我吃"的那样,因为序列问题。这肯定是不行的,所以我们将添加一个序列编号到TCP头部,其序列为1、2、3、4。到达另一方后, 根据这个序列编号重新组织.
我们刚才提到了序列编号的作用,在传输过程中我们可能发送多个包一次,所以如何确认对方是否接收数据,这在TCP可靠性方面仍然十分重要,目前我们有我们的确认编号。
我们的确认号码可以称为预期确认号码,如下图所示,我们曾经发出两份数据,两个数据序列是1-1500和1501-300(注意序列的初始值是随机的),如果两个接收者已经收到信息,确认号是3001,这是接收器需要接收的下一个数据,所以叫期待确认号。
假设我们输送过程中丢了1501-300的包裹,即收件人只收到1-1500,然后确认号码是1501,发件人收到确认并知道有丢失的信息,然后1501被转交给收件人。
TCP通过 sliding window机制控制数据传输速度.

当数据传输完成时,必须切断连接,每个主机创建的链接数量有限,因此数据传输需要切断。
芬可以把它看作是传输完成的信号,ACK仍然被确认,但这次它被分成四个完整的交互。
好的,TCP传输结束了,所以UDP?
UDP是传输数据的一种不连结的努力,并且标题结构特别简单。
您可以看到在UDP标题中没有序列数、确认数、窗口大小等等,换句话说,UDP没有我们上面提到的部门重组、重新传输和窗口大小等机制。UDP只是显示数据到接收机的顺序,它先到然后。但它也保证收益很快。
总的来说,TCP的好处是可靠的,UDP的好处是快,所以当我们传输交通时,如果我们想要可靠性,我们使用TCP,例如邮件、下载等。如果我们传送一个追求速度的流动,要求低时延,然后你可以使用UDP,例如: 声音 、 视频 、 游戏等.
加入小组讨论技术,什么问题可以直接分享交换QQ小组:316317765,或者你可以注意下一个公共刊物,以后会公布更多信息。
--张文网络Quico原版
本文由 在线网速测试 整理编辑,转载请注明出处。