一:什么是三次握手协议 (tcp/ip建立连接的过程)
三次握手协议指的是在发送数据的准备阶段,服务器与客户端之间需要进行三次交互。
具体过程如下:
第一次握手:建立连接时,客户端向服务器发送一个SYN包(握手信号),并计入SYN_SENT状态,等待服务器确认。
第二层握手:服务器收到SYN包,必须确认客户端的SYN,同时自己也发送一个SYN包,即SYN+ACK包(接收到消息并响应),此 时服务器进入SYN_SENT状态。
第三次握手:客户端收到服务器的SYN+ACK包,并向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入 Established(已建立的,确认的)状态。即TCP连接成功,完成三次握手。
此后,服务器和客户端就可以开始传送数据。在上述三次握手协议中,服务器还在维护一个未连接队列,等待其他客户端的连接请求,若能顺利完成三次握手协议,则服务器也可以与该客户端进行数据的传输。
二:三次握手的核心思想
1:TCP作为一种可靠传输控制协议,其核心思想是:既要保证数据可靠传输,又要提高传输效率,而用三次恰恰可以满足以上两个方面的要求。
2:三次是保证双方互相明确对方能收,能发的最低值。理论上讲不论握手多少次都不能确认一条消息是“可靠”的,但通过三次握手后,至少可以确认tcp/ip协议是“可用”的。在此基础上,继续提高握手次数,不过是提高“它是可用的”这个结论的可信程度。
3:可以将三次握手过程形象的归纳如下:
1:A发,B收,B知道A能发;
2:B发,A收,A知道B能发能收;
3:A发,B收,B知道A能收。
4:“三次握手”的本质是:信道是不可靠的,但是通信双方需要就某个协议达成一致,而要解决这个问题,无论你在消息中包含什么信息,三次通信是理论上的最小值。因为三次握手不是TCP本身的要求,而是为了满足“在不可靠的信道上可靠的传输信息”这一需要导致的。
今天的文章三次握手协议分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11374.html