当前位置:网站首页 > C++编程 > 正文

tcp标定(tcp标定最简单三个步骤)



三次握手图解以及各种状态:

四次分手图解:
在这里插入图片描述
在这里插入图片描述

【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

同步阻塞和同步非阻塞

TCP的粘包和分包问题:
Tcp是个“流协议”,所谓流,就是没有界限的一连串数据,没有界限。TCP底层不了解业务数据的含义,它会根据TCP缓冲区的实际情况进行包的划分,所以业务上认为,一个完整的包可能被TCP拆分为多个包进行发送,也可能把多个小包封装成一个大的数据包进行发送,这就是所谓的TCP粘包和拆包问题。
粘包/拆包原因
应用程序write写入的字节大小大于套接口缓冲区的大小
粘包问题解决方案



由于底层无法理解上层的业务数据,所以底层是无法保证数据不被拆分和重组的。只能通过设计上层的协议栈来解决,业界的方案可归纳如下:

消息定长,例如每个报文固定200字节,如果不够,空位补空格
在包尾增加回车换行符进行分割,如FTP协议
将消息分为消息头和消息体,消息头中包含消息的长度,字段等信息
更复杂的应用层协议
四、TCP和UDP的比较




  1. 对比
    UDPTCP是否连接无连接面向连接是否可靠不可靠传输,不使用流量控制和拥塞控制可靠传输,使用流量控制和拥塞控制连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信传输方式面向报文面向字节流首部开销首部开销小,仅8字节首部最小20字节,最大60字节适用场景适用于实时应用(IP电话、视频会议、直播等)适用于要求可靠传输的应用,例如文件传输
  2. 总结
    TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务。
    虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为
    对数据准确性要求高,速度可以相对较慢的,可以选用TCP
    HTTP和HTTPS的区别
    到现在为止,我们就比较清楚HTTPS和HTTP的区别;借用比较规范的回答就是下面几点。
    HTTPS和HTTP的区别主要如下:
    1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
    2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
    3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。









HTTPS提高了安全性,但其他方面就不如HTTP了
1、因为HTTPS要保证安全,所以HTTPS协议握手阶段比较费时,会消耗更多的CPU
2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗。
3、SSL证书需要钱,功能越强大的证书费用越高。
4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。




总得来说,
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
OSI参考模型与TCP/IP模型
7 应用层 应用层(DNS,URL,HTTP,HTML,STMP,SSH等) 应用程序
6 表示层
5 会话层
4 传输层 传输层(TCP,UDP等) 操作系统
3 网络层 网络层(ARP,IP,ICMP)
2 数据链路层 数据链路层(以太网,WIFI等) 设备驱动程序与网络接口
1 物理层 硬件











到此这篇tcp标定(tcp标定最简单三个步骤)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!


版权声明


相关文章:

  • console线制作(consolo线)2025-12-06 21:36:08
  • tcping工具(tcping工具怎么安装)2025-12-06 21:36:08
  • 查看本机本级信息(查看本机信息 cmd命令)2025-12-06 21:36:08
  • codependent 翻译(codex翻译)2025-12-06 21:36:08
  • nsa是哪个港口缩写(cnnsa是哪个港口)2025-12-06 21:36:08
  • 密码官网(id.im com找回密码官网)2025-12-06 21:36:08
  • msvcp140dll是什么文件(msvcp140dll有什么用)2025-12-06 21:36:08
  • dcp7060d纸盒无纸(7360纸盒无纸)2025-12-06 21:36:08
  • plc200定时器怎么使用(plc200定时器几种)2025-12-06 21:36:08
  • kubectl日志(kubectl查看日志命令)2025-12-06 21:36:08
  • 全屏图片