确保可靠性的TCP协议【杂谈】

时间:2021-08-08
本文章向大家介绍确保可靠性的TCP协议【杂谈】,主要包括确保可靠性的TCP协议【杂谈】使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

回首这几年,凡是做的好的东西背后都有【习惯】在支撑,凡是做的不好的东西背后都缺乏稳定【习惯】。习惯就是【系统】。

今天给大家简单聊一聊【确保可靠性的TCP协议】。

按层次分,TCP位于传输层,提供可靠的字节流服务。

所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方。一言以蔽之,TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达到对方。

为了准确无误地将数据送达目标处,TCP协议采用了三次握手three-way handshaking)建立连接。用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志(flag)--SYN(synchronizeACK(acknowledgement.

发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有 SYN / ACK 标志的数据包以示传达确认信息。最后,发送端再回传一个带 ACK 标志的数据包,代表 “握手” 结束。

若在握手过程中某个阶段莫名终断,TCP协议会再次以相同的顺序发送相同的数据包。

除了上次三次握手,TCP协议还有其他各种手段来保证通信的可靠性。

协议对比:

1、TCP

  1. TCP 是面向连接的传输控制协议。
  2. TCP 具有高可靠性,确保传输数据的正确性,不出现丢失或乱序。
  1. TCP 协议可以保证接收端毫无差错地接收到发送端发出的字节流,为应用程序提供可靠的通信服务。(对可靠性要求高的通信系统往往使用 TCP 传输数据。比如 HTTP 运用 TCP 进行数据的传输。

 

2、UDP

  1. UDP 提供了无连接的数据报服务。
  2. UDP 在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作。
  1. UDP 具有较好的实时性,工作效率较 TCP 协议高。
  2. UDP 段结构比 TCP 的段结构简单,因此网络开销也小。

 

以下为历史文章链接:

【软件测试基础】

第一篇:软件测试的目的【杂谈】

第二篇:软件测试七大原则【干货】

第三篇:软件测试新七大原则【干货】

第四篇:软件测试的分类【笔记】

第五篇:软件测试的方法【笔记】

第六篇:软件测试的工具【笔记】

第七篇:如何做好业务测试【杂谈】

第八篇:如何做好接口测试【杂谈】

【互联网协议】

第一篇:HTTP协议常见状态码【干货】

第二篇:HTTP协议常见面试题一【干货】

第三篇:HTTP协议常见面试题二【干货】

第四篇:HTTP协议常见面试题三【干货】

第五篇:物联网协议之DDS【杂谈】

以上原文来自我的公众号【不只是测试】,扫描加关注哦O(∩_∩)O~

原文地址:https://www.cnblogs.com/TesterChang/p/15114899.html