美文网首页
TCP和SSL 的三次握手和四次挥手

TCP和SSL 的三次握手和四次挥手

作者: 薛定谔的猫_0324 | 来源:发表于2019-04-07 19:19 被阅读0次

TCP : 传输控制协议,是一种可靠的面向连接的协议,对应的还有 UDP 协议UDP:用户数据报协议,是一种面向无连接的协议。

面向连接?

这里的连接可以理解为:传输的双方(客户端和服务端)是否已经在线,就像我给你打电话,你接到了,这就算连接上了。

             三次握手:

                    第一次握手:客户端向服务端发送 SYN 报文,服务端确认接收了 SYN 报文。

                    第二次握手:服务端在确认接收了 SYN 报文之后,会返回向客户端发送 SYN 报文和 ACK 确认报文。

                    第三次握手:客户端接收到 SYN 报文了 ACK 报文 之后双方就建立起了连接,可以好好玩耍了。

            四次挥手:

                    第一次挥手:客户端向服务端发送数据,发送完成之后会发送一个 FIN 报文,告诉服务端数据发送完毕。

                    第二次挥手:服务端接收到 FIN 报文之后,将 ACK 报文返回给客户端,告诉客户端(服务端)已经接收到数据。

                    第三次挥手:服务端处理完数据之后再发送一个 FIN 报文给客户端,告诉客户端(服务端)已经处理完毕。

                    第四次挥手:客户端接收到服务端发来的 FIN 报文之后就能确认这次的数据传输完成。可以关闭本次数据传输连接了。

            SSL三次握手:

                    首先来了解一下服务器的构

                    我们的服务器会有一些 已经存在的 加密方式 和 版本信息等等

服务器

    第一次握手

            有客户端生成随机数,并且携带着 版本号 以及 加密的方式

            由服务器判断是否是 可用的/支持的 加密方式

            if 版本号+加密方式 可用 那么可以 继续进行下一步操作

            反之 本次 握手结束

第一次握手

第二次握手

        服务器会 生成第二个 随机数 并且 携带者CA证书 发送给客户端

        if 证书有效/可用

        继续下一步操作

        反之 本次握手结束

第二次握手

第三次握手

客户端 生成 第三个 随机数  并且值得一提的是 第三次的报文是可以携带数据的

并且使用CA证书中的公钥进行加密 再次发送给服务器

同时发送前2次 的信息 摘要 由服务器再次验证

服务器 会接收到 这第三个随机数 并且利用 证书中的私钥将其 解密

最后双方都会生成 一个对话秘钥

扩充: 我们前2次的过程是明文的 最后一次是加密的(公钥加密,私钥解密.非对称加密)

第三次握手

相关文章

网友评论

      本文标题:TCP和SSL 的三次握手和四次挥手

      本文链接:https://www.haomeiwen.com/subject/babteftx.html