每日一问:为什么tcp需要三次握手?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:37   1716   0

首先描述下tcp建立连接全过程:

1.客户端发送SYN给服务器,(客户端请求建立连接)

2.服务端收到客户端发送的SYN,回复SYN+ACK给客户端(服务端同意建立连接)

3.客户端收到服务端的SYN+ACK后,回复ACK给服务端(说明客户端收到了服务端发送的同意报文)

4.服务端收到客户端发送的ACK立,连接已建立,可以数据传送。

【答案一】因为信道不可靠,而 TCP 想在不可靠信道上建立可靠地传输,那么三次通信是理论上的最小值。(而 UDP 则不需建立可靠传输,因此 UDP 不需要三次握手。)

【答案二】因为双方都需要确认对方收到了自己发送的序列号,确认过程最少要进行三次通信。

知乎 . TCP 为什么是三次握手,而不是两次或四次?

https://www.zhihu.com/question/24853633/answer/115173386

【答案三】为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP