tcp为什么要三次握手?

传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

tcp三次握手的原因:

防止已失效的连接请求又传送到服务器端,因而产生错误。三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤。如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认。

TCP 的通信流程:

上图中的每一个箭头都代表着一次 TCP数据包的发送

需要注意的是, 上图中出现的 ACK = x +1 的写法很容易让人误以为数据包中的 ACK 域的数据值被填成了 y+1 。 ACK = x+1 的实际含义是:

  • TCP 包的 ACK 标志位(1 bit) 被置成了 1

  • TCP 包的确认号(acknowledgement number ) 的值为 x+1

更多相关知识请关注前端学习网站

以上就是tcp为什么要三次握手?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读