建立和终止TCP连接过程

这篇具有很好参考价值的文章主要介绍了建立和终止TCP连接过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.http 和 https

http 和 https 区别:

http 使用过程中存在安全性问题:http 使用明文通信,容易被窃听。由于 http 不验证通信方的身份,攻击者可以伪装成合法的通信方进行欺骗。并且 http 无法提供报文的完整性验证,因此报文有可能被篡改。

https 使用 SSL(Secure Sockets Layer) 或 TLS(Transport Layer Security) 协议进行加密。

https通过 ssl安全套接层 或 tls安全传输层协议 的方式使 http 变成了安全的 https。

https 数据发送时 request 通过 ssl/tls 进行处理,再通过 tcp 进行发送;数据接收时 response 也是通过 ssl/tls 进行处理。相当于在应用层 http 和传输层 tcp 之间多加了一步处理。

https 加密的握手过程:

1.客户端给出协议版本号、客户端生成的一个随机数(Client random)、客户端支持的加密方法。

2.服务器确认双方使用的加密方法,并给出数字证书、服务器生成的一个随机数(Server random)。

3.客户端确认数字证书有效,生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发送至服务器。

4.服务器使用自己的私钥,解密客户端发来的随机数,得到对称密钥。

客户端和服务器根据确认的加密方法,使用前面的三个随机数,生成 对话密钥(session key)对后续的数据传输进行加密。对称密钥由客户端和服务器共享,因此可以安全地传输数据。

服务器的公钥和私钥在 https 连接中仅用于加密和解密对话密钥,即非对称加密只在握手阶段使用。这个过程保证了HTTPS连接的安全性。通过使用公钥加密和私钥解密的方法,https可以确保通信的安全性,以防止数据被窃听和篡改。同时,对称密钥的使用也提高了传输速度,因为对称加密算法较为高效。

对话中断解决方案:

握手阶段用来建立SSL连接,如果 对话中断,就需要重新握手。

两种方法恢复原来的session:session ID 和 session ticket

session ID:每次对话都会有一个编号(session ID)。如果对话中断,下次重连时,只要客户端给出这个编号,并且服务器有这个编号的记录,双方就可以重新使用已有的 对话密钥,而不必重新生成。它的缺点在于 session ID 只保留在一台服务器上。如果客户端的请求发到另一台服务器,就无法恢复对话。

session ticket:解决 session ID 的问题,客户端发送给一个服务器在上一次对话中发送来的session ticket,当服务器收到 session ticket 解密后不必重新生成对话密钥。

【session ticket 是加密的,只有服务器才能解密,其中包括本次对话的主要信息(像 对话密钥和加密方法)】。

三次握手后,建立 TCP 连接,客户端和服务器之间会进行 SSL/TLS 握手,协商加密算法、生成密钥等。https 是在 TCP 连接上应用了 SSL/TLS 协议进行加密和认证的安全传输协议。四次挥手过程中,https 也会应用 SSL/TLS 协议来进行连接的安全关闭。

二.三次握手和四次挥手

三次握手 和 四次挥手 是在网络通信中建立和终止TCP连接时发生的。

三次握手 发生在TCP连接建立阶段。当客户端想要与服务器建立连接时,它会发送一个带有SYN(同步)标志的数据包给服务器。服务器收到后会发送一个带有SYN/ACK(同步/确认)标志的数据包给客户端,表示接收到了客户端的请求并准备好建立连接。最后,客户端再发送一个带有ACK(确认)标志的数据包给服务器,表示连接已经建立。

四次挥手 发生在TCP连接终止阶段。当客户端或服务器想要断开连接时,它会发送一个带有FIN(结束)标志的数据包给对方。对方收到后会发送一个带有ACK标志的数据包作为确认。然后,对方也发送一个带有FIN标志的数据包给发起方,表示对方也准备好断开连接。最后,发起方再发送一个带有ACK标志的数据包作为确认,表示连接已经断开。

通过三次握手建立连接,可以确保双方都愿意进行通信。而通过四次挥手终止连接,可以确保双方都完成了数据的传输并且愿意断开连接。这样可以保证可靠的数据传输和释放网络资源。

三.三次握手和四次挥手过程中,网络断开会发生什么?

建立和终止TCP连接过程,http文章来源地址https://www.toymoban.com/news/detail-618534.html

到了这里,关于建立和终止TCP连接过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SNMP 计算机网络管理 实验1(二) 练习与使用Wireshark抓取SNMP数据包抓包之 任务三分析并验证TCP三次握手建立连接时三次握手工作过程

    ⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 🙉联系作者🙈by QQ:813942269🐧 🌈致亲爱的读者:很高兴你能看到我的文章,希望我的文章可以帮助到你,祝万事

    2024年02月12日
    浏览(44)
  • TCP,TCP 连接建立,TCP 连接断开,Socket 编程

    目录 TCP基本认识 TCP 头格式有哪些? 为什么需要 TCP 协议? TCP 工作在哪一层? 什么是 TCP ? 什么是 TCP 连接? #如何唯一确定一个 TCP 连接呢? UDP 和 TCP 有什么区别呢?分别的应用场景是? #TCP 和 UDP 可以使用同一个端口吗? TCP 连接建立 #TCP 三次握手过程是怎样的? 为什么

    2023年04月27日
    浏览(35)
  • WebSocket建立连接的过程

    WebSocket实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的。解决了http无状态、短链接和服务器端无法主动给客户端推送数据等问题。其通信基础也基于TCP。由于较老的浏览器可能不支持WebSocket协议,所以使用WebSocket通信的双方在进行

    2024年02月01日
    浏览(29)
  • HTTPS连接建立过程

    什么是HTTPS HTTPS,Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议。 在 TCP 和 HTTP 之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。 SSL代表安全套接字层。它是一种用于加密和验证

    2024年02月11日
    浏览(33)
  • https 建立连接过程分析

    从真实的抓包开始 根据抓包结果可以看到 从客户端发起请求开始,主要经过以下几个过程: 1、 TCP 三次握手 2、浏览器发送 Client Hello 到服务器 3、服务器发送 Server Hello 、证书、证书状态、服务端密钥交换,到浏览器 4、浏览器发送 客户端密钥交换、 Change Cipher Spec 、加密的

    2024年02月08日
    浏览(92)
  • TCP的连接建立与释放

        TCP是面向连接的协议,运输连接是用于传输TCP报文的。TCP运输的建立和释放是每一次面向连接的通信中必不可少的过程,同时也是在面试过程中必被提问的问题之一。      TCP运输连接有三个阶段,分别是:连接建立阶段、数据传输阶段、连接释放阶段。 一:TCP的连接

    2024年02月03日
    浏览(27)
  • HTTPS安全连接的建立过程

    HTTP (Hypertext Transfer Protocol) 和 HTTPS (Hypertext Transfer Protocol Secure) 都是用于在 Web 浏览器和服务器之间传输数据的协议。它们之间的主要区别在于安全性。 HTTP 是一种不安全的协议,因为它在传输过程中不对数据进行加密。这意味着如果有人截取了数据包,就可以轻松地读取其中

    2024年02月15日
    浏览(62)
  • 建立TCP连接的各个系统调用

    socket() 返回的 sockfd 是一个描述符。socket()对应于普通文件的打开操作。普通文件的打开操作返回一个文件描述字,而socket()用于创建一个socket描述符(socket descriptor),它唯一标识一个socket。这个socket描述字跟文件描述字一样,后续的操作都有用到它,把它作为参数,通过它

    2024年02月15日
    浏览(22)
  • TCP如何建立/拆除连接的方法

      TCP如何建立连接 图 1TCP 首部格式中SYN 标志位仅使用在建立TCP 连接的过程中,TCP 建立连接的过程被称为“三路握手“连接,即一般通信双方共需要传输三个数据包方能成功建立一个TCP 连接。我们通常将建立连接作为使用TCP 协议理所当然的前导过程,但很少去质疑这样一个

    2024年02月05日
    浏览(23)
  • TCP/IP客户端和服务器端建立通信过程

    使用Qt提供的类进行基于 TCP 的套接字通信需要用到两个类: QTcpServer 类用于监听客户端连接以及和客户端建立连接,在使用之前先介绍一下这个类提供的一些常用API函数: 构造函数 给监听的套接字设置监听 listen() 函数 在代码中 通过启动监听按钮 设置监听 参数: address :

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包