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

首先描述下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

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章