众力资讯网

TCP三次握手就像是两个人在打电话之前要确认对方是否在听。 1. 第一次握手

TCP三次握手就像是两个人在打电话之前要确认对方是否在听。

1. 第一次握手:就像是你拿起电话,对朋友说:“喂,是我,你听得到我说话吗?”这是你告诉对方你准备好了,可以开始聊天了。

2. 第二次握手:你的朋友回答说:“是的,我听得到你,你那边听得清楚吗?”这时候,你的朋友也告诉你他准备好了,并且确认了你确实在说话。

3. 第三次握手:你再次回答:“我也听得到你,那我们现在开始聊天吧。”这样,你们双方都确认了对方能听到自己说话,聊天就可以开始了。

为什么要这么麻烦,而不是直接说“喂,是我,我们开始聊天吧”?因为这样有以下几个好处:

防止误会:如果只说一次,可能会有误会,比如你说话的时候朋友那边信号不好,他没听到,然后他以为你没说话,就挂电话了。

确认双方都准备好:这样双方都确认了对方确实在听,并且都能听到对方说话,这样聊天就不会有遗漏。

避免浪费资源:如果只确认一次,可能你开始说话了,但对方还没准备好,这样你说的话可能就白说了,还得再说一遍。

所以,三次握手就像是打电话前的“喂,听得到吗?”“听得到,你呢?”“我也听得到,我们聊吧”,这样双方都确认了,聊天就能顺利进行了。

以下是具体网络协议八股:

TCP(传输控制协议)三次握手的原因在于确保双方都能发送和接收数据,以建立可靠的连接。以下是三次握手的简要过程:

1. 客户端发送SYN(同步序列编号):客户端向服务器发送一个SYN包,请求建立连接。

2. 服务器响应SYN-ACK(同步和确认):服务器收到SYN包后,回复一个SYN-ACK包,表示同意建立连接。

3. 客户端发送ACK(确认):客户端收到SYN-ACK包后,发送一个ACK包作为响应,完成握手。

如果只有两次握手,就无法确保以下几点:

客户端接收能力:服务器无法确认客户端是否能够接收数据。
服务器发送能力:客户端无法确认服务器是否能够发送数据。
服务器接收能力:客户端无法确认服务器是否能够接收数据。

因此,通过三次握手,TCP协议能够确认双方都具备发送和接收数据的能力,从而建立一个可靠的双向通信通道。
软件测试 软件测试面试 软件测试自学 软件测试培训 软件测试就业 软件测试资料 软件测试简历模板互联网软件测试转行