美文网首页
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