各种协议(学习笔记)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JudyC/article/details/84936596

TCP协议

TCP协议是一种面向连接的、可靠的字节流通信协议。

可靠性:

  • 数据校验:TCP在传输过程中可以通过校验和,确认和重传机制保证可靠传输。
  • 数据顺序性:TCP给数据分节进行排序,并使用累计确认保证数据的顺序不变和非重复。
  • 流量与拥塞控制:TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制。

三次握手建立连接(客户端和服务端总共发送三个包)

  • 第一次握手:客户端发送包,指明客户端准备连接服务器的端口,已经初始序列号(随机,保证安全,以防攻击)
  • 第二次握手:服务器发回确认包应答
  • 第三次握手:客户端再次发送确认包

四次挥手关闭连接

客户端或服务器均可发起挥手动作。

  • 第一次挥手:客户端发送包,表示自己已经没有数据可以发送了,但是仍然可以接受数据。
  • 第二次挥手:服务器确认客户端的包,发送一个确认包,表明自己接受到了客户端关闭连接的请求,但是还没准备好关闭连接(理论上:有可能还有数据向客户端传送)
  • 第三次挥手:服务器端准备好关闭连接时,向客户端发送结束连接请求
  • 第四次挥手:客户端接受到来自服务器的关闭请求,发送一个确认包,等待可能出现的要求重传包,服务器端接受到这个确认包后,关闭连接,客户端等待一段时间之后,没有收到服务器端的响应,认为服务器端已经处于正常关闭连接,于是自己也关闭连接

UDP协议

  • 无连接的,送数据前不需要先建立链接;TCP是面向连接的
  • 不保证可靠交付;TCP提供可靠的服务,传送的数据,无差错,不丢失,不重复,且按序到达
  • 面向报文,并且网络出现拥塞不会使得发送速率降低(会出现丢包,对实时的应用比如IP电话和视频会议等);TCP面向字节流
  • 支持1对1,1对多;TCP只能是1对1
  • 首部只有8字节;TCP首部为20字节
  •  

http协议

概念:超文本传输协议,一个客户端和服务器端请求和应答的标准(TCP),使浏览器更加高效,使网络传输减少。

https协议

概念:以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

作用:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。

和http的区别:

  • Https协议需要ca证书,费用较高
  • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
  • 使用不同的链接方式,端口也不同,一般而言,http协议的端口为80,https的端口为443
  • http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全

工作原理:

  • 客户使用https url访问服务器,web 服务器建立ssl链接
  • web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端
  • 客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级
  • 客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站
  • web服务器通过自己的私钥解密出会话密钥
  • web服务器通过会话密钥加密与客户端之间的通信

优点:

  • 现行架构下最安全的解决方案,可认证用户和服务器,确保数据发送到正确的客户机和服务器
  • 比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性

缺点:

  • 握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电
  • 缓存不如http高效,会增加数据开销
  • SSL证书需要钱
  • SSL证书需要绑定IP

猜你喜欢

转载自blog.csdn.net/JudyC/article/details/84936596