美文网首页
Web协议栈的常见问题

Web协议栈的常见问题

作者: 叛逆的机器人 | 来源:发表于2020-04-09 22:26 被阅读0次

1.为什么需要三次握手?
因为传输双方都必须协商出一个序号,序号相当于起点,后面数据传输了多少,序号就递增多少,后续的确认,重传都是根据这个序号来的。而TCP协议是全双工通信协议,也就是双方都需要这个序号。比如A发送序号给B,B确认收到了,B也发送序号给A,A也确认收到了,这才能保证双方的通信没有问题。因为第二步可以跟第三步合并在一起,所以是三次握手。

2.为什么需要协商出序号?直接从0开始递增不行么?
不行。假如从0开始递增,如果A与B进行通信并传输了一些报文段然后结束通信。如果某些报文段在路由中走丢了,然后A与B又开始新一轮通信,这个时候这个走丢的报文段又走回来了,结果就是不能区分这个报文段是这次通信的还是之前的。

3.为什么需要四次挥手?
因为TCP协议是全双工通信协议,通信一方结束发送数据,另一方不一定结束,再加上确认报文段,所以需要四次挥手。

4.TIME_WAIT状态是啥?为啥需要2RTT的时长?
因为TCP是一个可靠的协议,每发出一个报文段,必须收到对方的响应报文段。为了正常结束,那么在A收到FIN报文段后必须等到B正常收到ACK报文段才行。如果B没有正常收到ACK报文段,这个时候会重新发送FIN报文段,A这个时候必须能正常响应ACK报文段。2RTT刚好是一个报文段在网络的存活时间。还有,如果没有TIME_WAIT状态,那么当AB断开后重连,网络中丢失的报文段就有可能走回来,导致两次连接的报文段错乱。

5.https协议是如何握手的?
客户端先发送自己支持的密钥协商算法,服务器选择算法后发送给客户端并把服务器的证书给带上,客户端验证证书通过后,生成一对公私钥,把公钥发给服务器,服务器同样生成一对公私钥,把公钥跟其他一些信息,包括这些信息的签名(用服务器自己的私钥进行签名,与证书里面的公钥是一对)发给客户端。客户端利用证书里的公钥对签名进行验证,验证通过后。双方利用对方的公钥与自己的私钥,生成相同的对称加密密钥。然后通信开始。

6.在https协议中,对称加密密钥,非对称加密密钥,证书分别有什么作用?
非对称加密作为传输数据的算法,相比于对称加密运算速度更快。非对称加密主要作为验证服务器身份,如果服务器用私钥进行签名,客户端既可以用公钥验证,因为私钥只有服务器有,所以可以验证服务器身份。证书是对服务器公钥与服务器域名进行绑定的验证,只要证书没问题,那说明域名跟公钥是绑定的,那只要与客户端通信的对方可以通过私钥签名验证,说明客户端通信的对方确实是该域名的服务器,而不是中间人。那么证书是如何保证不被串改的。证书是用CA机构签发的,利用CA机构的私钥对证书进行签名。而CA机构的公钥则在上游证书中,客户端获取到上游证书中的签名,即可对当前证书进行验签。上游证书的验签则可以一步一步来回溯到根证书,根证书是内嵌在客户端中的,只要验签通过,即可保证证书链没问题。

7.IP地址与MAC地址?

相关文章

  • Web协议栈的常见问题

    1.为什么需要三次握手?因为传输双方都必须协商出一个序号,序号相当于起点,后面数据传输了多少,序号就递增多少,后续...

  • Web 服务器之 Apache2 的配置

    在网络协议栈的应用层中最为常用的是 HTTP 协议,基于此协议实现的 Web 服务,让我们通过网址就可以获得想要访...

  • 网络协议、端口和Socket

    1、网络协议分层 网络层次可划分为五层因特网协议栈和七层因特网协议栈。 1.1 五层因特网协议栈 因特网协议栈共有...

  • 协议栈和网卡的相关知识——基本概念

    协议栈和网卡的相关知识 问题代入 什么是协议栈? 协议栈的内部结构是什么? 协议栈是如何配合网卡进行数据收发的? ...

  • LTE学习笔记(二)

    LTE协议栈 LTE协议栈的两个面 用户面协议栈:负责用户数目传输 控制面协议栈:负责系统信令传输 用户面的主要功...

  • 用户态协议栈的实现

    协议栈,指的是TCP/IP协议栈。linux系统中,协议栈是内核实现的。 Client发送数据给server,数据...

  • 了解一下BLE协议栈整体架构

    协议栈框架 一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功...

  • 蓝牙4.0BLE中协议栈详解

    蓝牙4.0BLE协议栈介绍 问题:什么是BLE协议栈?BLE协议栈与BLE协议的关系? 顾名思义,人类之间需要一种...

  • 2.3收发数据

    2.3收发数据 将HTTP消息交给协议栈 应用程序调用socket库中的write将发送的数据交给协议栈协议栈收到...

  • TCP协议三次握手和四次挥手

    TCP协议 TCP/IP协议栈 由上图可知,TCP/IP协议栈包含很多的协议。 二. 什么是TCP TCP是TCP...

网友评论

      本文标题:Web协议栈的常见问题

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