三次握手为什么不是四次(为什么是三次握手不是四次)

      最后更新:2023-03-23 14:42:54 手机定位技术交流文章

      HTTP协议为什么要三次握手,而不是2次/4次握手?

      第一次是邀约(申请),第二次是对邀约的回复,第三次是确定此邀约成功。 通常是按照这样的逻辑去协议,不知道你能不能接受这样的解释。
      因为两次不够,四次多余。就像你问别人问题, 你:你好,请问这玩意是你的吗?对方意识到你在问他,他查看那玩意。确定是他的,然后作出反应。对方:是的,给我吧,谢谢。完了。按通讯逻辑,你不需要再说:那行,我走了, 同理,假如对方不确认,你也不能把东西给他。
      答: 第一次握手:建立连接时,客户端发送同步包syn到服务器。等待服务器确认。---------通俗话:"A :在吗"第二次握手:收到第一次握手syn同步包之后,服务器再反馈给客户端。确认可以连接。-----通俗话:"在呢;B"第三次握手:连接建立成功,保持长连接。------通俗话:"A :知道了!!!" 如果想这块内容增强的小伙伴参考网上的相关知识(黑马程序员论坛等)
      HTTP协议为什么要三次握手,而不是2次/4次握手?

      网络TCP建立连接为什么需要三次握手而结束要四次

      一、TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。Backlog参数:表示未连接队列的最大容纳数目。SYN-ACK重传次数服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。 半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
      网络TCP建立连接为什么需要三次握手而结束要四次

      TCP 为什么是三次握手,而不是两次或四次

      两次太少,如果第一次握手时丢包了,那么如何判断网络是否通畅?因为两次丢包的意思是,对方确认并回复,如果没有收到回复,己方如何认为,他丢包了还是我丢包了?那就重传吧,如果并没有对方这个人,那么可能无限重传下去,浪费网络资源。三次的话,因为对方也需要收到回复,那么如果是己方丢第一个包,那么接下来几次重传没有收到任何回复,那么认为网络不好停止就可以了,如果网络通畅,对方一定会收到其中某一个请求,那么进行回应,如果此时不对其进行回应,也就是只握手两次,目标主机无法得知此包是否到达,也就不知道是否要进行重传,如果此包丢了,那就不会去重传,己方只能认为没有目标主机,连接失败。那如果是三次,在第二次握手时丢包了,对方没有收到确认,就会重传,重传之后,己方一定会收到某一个包。这样双方都知道对方的确实存在,对于第三次的握手只需要在后续数据传输中捎带确认就可以了。所以第四次握手是不需要的,有了第四次那就有第五次第六次.......,这样是没有意义的,只需要确认对方确实存在就可以了,后续数据传输就能捎带确认了
      TCP 为什么是三次握手,而不是两次或四次

      TCP为什么是三次握手,为什么不是两次或者四次

      三次握手的目的:是为了确认双方都有收发数据的能力。 第一次: A->B,证明A有发消息的能力。第二次: ->B && B->A,证明B有收消息,并且有发消息的能力。第三次: A->B,证明A有收消息的能力。 二次握手达不到目的,四次多余。
      TCP为什么是三次握手,为什么不是两次或者四次

      连接的时候为啥是tcp三次握手,而不是二次或者四次

      建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。 (1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。 (3)采用两次握手不行,原因就是上面说的失效的连接请求的特殊情况。
      其实就是。 你瞅啥。瞅你咋地。来咱俩好好唠唠 剩下的就不可描述的传输上了。
      如果是二次握手那么连接接受方只知道自己同意不知道请求方是否同意(即请求是否可信)防止意外中断。如果是四次握手那么多余一次无确认(ack)意义,在信号逻辑设计又要求最简原则。综上3次握手最好,
      连接的时候为啥是tcp三次握手,而不是二次或者四次

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/59524.html

          热门文章

          文章分类