2020----网络安全

目录

 

一、http的请求过程

二、http长连接与短链接

三、https与http的区别

四、请解释下Tcp三次握手

五、解释一下TCP四次挥手

六、建立连接可以两次握手吗

七、如果第三次握手中,如果客户端ACK未发送达到服务器,会怎样

八、TCP与UDP区别


一、http的请求过程

(1)对网址进行DNS域名分析,得到对应的IP地址;

(2)根据这个IP,找到对应的服务器,发起TCP三次握手;

(3)建立TCP连接后发起http请求;

(4)服务器响应在http请求,浏览器得到html代码;

(5)浏览器解析html代码,并请求html代码中资源(js/css);

(6)浏览器对页面进行渲染呈现给用户。

二、http长连接与短链接

短链接:连接--传输数据--关闭连接

长连接:连接--传输数据--保持连接 (connection:keep-alive)

三、https与http的区别

(1)http明文传输,数据未加密;安全性较差;https数据传输过程是加密的,安全性较好;

(2)使用https需要申请证书;

(3)http页面响应速度比https块;主要是因为http使用TCP三次握手建立连接,客户端和服务器端需要交换3个包;而https除了tcp三个包,还需要加上ssL握手的9个包,一共12个包;

(4)https与http端口号不一样:前者是443,后者是80;

四、请解释下Tcp三次握手

注:SYN:同步请求;ACK:请求响应;ack:确认序号;seq:序列号

tcp状态转移解释:

CLOSED阻塞或关闭状态,表示主机当前没有正在传输或者建立的链接
LISTEN监听状态,表示服务器做好准备,等待建立传输链接
SYN RECV收到第一次的传输请求,还未进行确认
SYN SENT发送完第一个SYN报文,等待收到确认
ESTABLISHED链接正常建立之后进入数据传输阶段

第一次:C端发送SYN=1的请求报文,此时C端进入SYN SENT状态,等待服务器确认。

第二次:S端收到C端发送的SYN报文(建立链接请求)后,S端必须返回确认号并且同时发送一条SYN报文,此时进入SYN RCVD状态。

第三次:C端收到S端发的ACK+SYN报文,需要返回一个应答ACK的报文,此时该连接会进入半连接状态的队列,当S端收到ACK后,一条完整的全双工TCP链接建立完成,双方进入ESTABLISHED状态。

五、解释一下TCP四次挥手

注:tcp状态解释

FIN WAIT1主动发送第一个FIN报文之后进入该状态
FIN WAIT2已经收到第一个FIN的确认信号,等待对方发送关闭请求
TIMED WAIT完成双向链接关闭,等待分组消失
CLOSING双方同时关闭请求,等待对方确认时
CLOSE WAIT收到对方的关闭请求并进行确认进入该状态
LAST ACK等待最后一次确认关闭的报文

第一次:当C端的应用程序结束数据传输,会向S端发送一个带有FIN附加标记的报文段(FIN表示英文finish),此时C端进入FIN_WAIT1状态,C端不能在发送数据到S端。

第二次:S端收到FIN报文会响应一个ACK报文,S端进入CLOSE_WAIT状态。进入此状态后S端把剩余未发送的数据发送到C端,C端收到S端的ACK之后,进入FIN_WAIT2状态。

同时继续接受S端传输的其他数据包。

第三次:S端处理完自己待发送的数据之后,也会发送FIN断开链接的请求,S端进入LAST_ACK状态。

第四次:C端收到S端的断开链接请求后会启动一个定时器,该定时器时长是2MSL(2MSL是报文一个往返的最长时间,假设小于这个时间会发生,ACK丢了,但是还没接收到对方重传的FIN我方就重新发送了ACK。),同时发送最后一次ACK报文。

六、建立连接可以两次握手吗

不可以。那客户端就根本不知道服务器接收到这个数据没有,就会一直等待,另一方面,服务器也在等客户端发送数据,现在两边就都在等待对方,那建立的这条 TCP 通道就白白浪费了。

七、如果第三次握手中,如果客户端ACK未发送达到服务器,会怎样

server端:每隔3S,重发之前的SYN+ACK(默认重发5次,之后会自动关闭连接进入closed状态)

client端:

(1)server进入超时过程中,如果client向服务器发送数据,数据头部为1的,所以服务器收到数据之后会读取ACK number,进入establish状态。

(2)server进入closed状态后,如果client向服务器发送数据,服务器会以RST包应答。

八、TCP与UDP区别

TCP:传输控制协议,是一种面向连接的可靠传输协议,提供可靠的字节流传输服务;

UDP:用户数据报协议,是一种无连接的非可靠的传输协议,当数据段发出之后,发送方是无法得知其是否完整且安全到达了接收方向。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值