主页 > 软件开发  > 

八股文打卡day2——计算机网络(2)

八股文打卡day2——计算机网络(2)
面试题:讲一下三次握手的过程? 我的回答:

1.客户端发送报文段到服务器,主动建立连接。这个报文段中SYN标志位表示:这个报文段是用于连接的,此时SYN标志位设置为1。其中初始序列号字段包含了客户端的初始序列号。 2.服务器收到客户端的报文段之后,发送SYN-ACK报文段,这个报文段中主要包含两个信息:①ACK表示对客户端SYN报文段收到的确认②SYN表示将自己的初始序列号也发给客户端。此时SYN标识设置为1,ACK标识设置为1 3.客户端收到服务器的SYN-ACK之后,回复ACK进行确认。此时SYN置为0,ACK置为1。 这样三次握手之后,客户端和服务器就建立了连接!

为什么不是四次握手呢? 我的回答:

因为三次握手就可以保证客户端和服务器之间的可靠传输了,四次握手的话,会更加浪费资源,效率比较低。

为什么不是两次握手呢? 我的回答:

因为两次握手有很多弊端: 1.无法保证客户端和服务器都有传输数据和接收数据的能力。因为客户端没有发送ACK确认。 2.可能导致重复连接的问题。两次握手的话,如果之前有客户端发送的SYN在通信链路上延迟发送了,等到这个SYN到达服务器端的时候,可能会建立了重复连接。可能会造成资源浪费和一些安全问题。 3.可能导致假死现象。客户端发送了一个SYN,但是他在通信中延迟在链路上了,等到这个SYN可以到达服务器端了,但是客户端已经放弃这次连接了。两次握手的话,这样可能导致建立不需要的连接。

两次握手不可靠,而且有很多问题,所以得使用三次进行握手。

回答八股的时间:2023.12.17
标签:

八股文打卡day2——计算机网络(2)由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“八股文打卡day2——计算机网络(2)