TCP的三次握手机制 TCP为什么是三次握手,而不是两次或四次?
TCP为什么是三次握手,而不是两次或四次?
你听到了吗?
我听到了。你呢?
我也听说了
三次之后,确保双方都能沟通,哪句话是无效的
自动连接请求启动时,会有三次握手。我们知道三次握手完成了两个重要的功能,即双方都应该准备好发送数据(双方都知道对方准备好了),并且双方都应该被允许协商初始序列号,这是在握手过程中被发送和确认的。
现在将三次握手更改为两次握手,可能会出现死锁。例如,考虑计算机s和C之间的通信。假设C向s发送连接请求包,s接收该包并发送确认响应包。根据两次握手的协议,s认为连接已经成功建立,可以开始发送数据包。然而,当s的应答包在传输中丢失时,C将不知道s是否准备好或者s建立了什么样的序列号。C甚至怀疑s是否收到了自己的连接请求包。在这种情况下,C认为连接尚未成功建立,并且将忽略s发送的任何数据包,而只是等待连接确认响应包。S在包超时后重复发送相同的包。这会造成死锁。
tcpip三次握手自动吗?
二太少,如果第一次握手包丢失,那么如何判断网络是否畅通?因为两次丢包意味着对方确认并回复。如果没有收到回信,你认为他或我是怎么把包裹弄丢的?再重发吧,如果没有其他人,那么就可能无限重发,浪费网络资源。
三次,因为对方也需要收到回复。如果第一个数据包丢失,并且在接下来的几次重传中没有收到回复,那么可以认为停止网络是不好的。如果网络畅通,对方肯定会收到其中一个请求,然后再回复。如果此时它没有响应,也就是说,只握手两次,并且如果数据包丢失,目标不满意,它将不会被重传。主机只能认为没有目标主机,连接失败。如果是三次,则数据包在第二次握手中丢失,而另一方没有收到确认,则数据包将被重新传输。在重新传输之后,该方将收到一个数据包。这样,双方都知道对方确实存在,对于第三次握手,只需在随后的数据传输中确认即可。因此,第四次握手是不必要的。如果有第四次握手,则会有第五次握手和第六次握手。这毫无意义。你只需要确认对方是否真的存在,后续的数据传输可以随确认一起进行
在《计算机网络》(谢锡仁译)中,原因如下:1。使用两次握手,如果由客户机向服务器发起的分组A1在传输链路上遇到故障,则到服务器的传输时间相当延迟。在此期间,由于客户端没有从服务器接收到关于分组A1的确认,因此分组A2将被重新传输。假设服务器正常接收到A2包,则返回确认B2包。由于没有第三次握手,客户机和服务器此时已经建立了连接。假设A1包随后被发送到链路中的服务器,服务器将返回B1包确认。但是,由于客户机已经清除了A1数据包,因此客户机将丢弃确认数据包,但服务器将保持等同于僵尸的连接。因此,使用两次握手可能会浪费服务器的网络资源。图片说明:1。客户向服务器发送不明确的消息。2服务器收到消息,看了看,很高兴马上回复(此时,客户不知道服务已经收到)。客户很高兴收到服务器的确认信息(但是服务器不知道客户已经收到了)。如果没有收到,应该重新发送。理论上,直到海水变干岩石腐烂为止。4服务器最终收到了客户关系的确认消息,并最终放下了心,使客户与服务器真正建立了可靠的关系渠道。毕竟,我们都知道这是可行的。。。所以至少要三次才能确认这段关系。如果不需要三次,服务器就无法确定客户端是否收到了自己的消息。如果它没有接收到它,客户端可能根本没有接收到它,或者客户端响应,但是服务器没有接收到它。如果你用过对讲机,你就会明白:R C->S:你能听见我说话吗?R S->C:是的。你能听见我说话吗?R C>S:是的。
TCP的三次握手机制 计算机网络两次握手 4次挥手为什么多一次
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。