为什么三次握手而不是两次(为什么需要三次握手而不是两次)

      最后更新:2023-06-07 07:41

      tcp 为什么要三次握手?

      tcp 为什么要三次握手? 我们假设A和B是通信的双方。我理解的握手实际上就是通信,发一次信息就是进行一次握手。 第一次握手:A给B打电话说,你可以听到我说话吗?第二次握手:B收到了A的信息,然后对A说:我可以听得到你说话啊,你能听得到我说话吗?第三次握手:A收到了B的信息,然后说可以的,我要给你发信息啦!在三次握手之后,A和B都能确定这么一件事:我说的话,你能听到;你说的话,我也能听到。这样,就可以开始正常通信了。 注意:HTTP是基于TCP协议的,所以每次都是客户端发送请求,服务器应答,但是TCP还可以给其他应用层提供服务,即可能A、B在建立链接之后,谁都可能先开始通信。如果采用两次握手,那么只要服务器发出确认数据包就会建立连接,但由于客户端此时并未响应服务器端的请求,那此时服务器端就会一直在等待客户端,这样服务器端就白白浪费了一定的资源。若采用三次握手,服务器端没有收到来自客户端的再此确认,则就会知道客户端并没有要求建立请求,就不会浪费服务器的资源。
      三次握手的最主要目的是保证连接是双工的,可靠更多的是通过重传机制来保证的。
      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)采用两次握手不行,原因就是上面说的失效的连接请求的特殊情况。
      TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:1. 客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始...
      TCP需要三次握手才能建立连接,那么为什么需要三次握手呢?
      详细说明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)采用两次握手不行,原因就是上面说的失效的连接请求的特殊情况。
      三次握手是为了防止已失效的连接请求再次传送到服务器端。 二次握手不可行,因为:如果由于网络不稳定,虽然客户端以前发送的连接请求以到达服务方,但服务方的同意连接的应答未能到达客户端。则客户方要重新发送连接请求,若采用二次握手,服务方收到重传的请求连接后,会以为是新的请求,就会发送同意连接报文,并新开进程提供服务,这样会造成服务方资源的无谓浪费。 采纳哦
      三次握手是为了防止已失效的连接请求再次传送到服务器端。 二次握手不可行,因为:如果由于网络不稳定,虽然客户端以前发送的连接请求以到达服务方,但服务方的同意连接的应答未能到达客户端。则客户方要重新发送连接请求,若采用二次握手,服务方收到重传的请求连接后,会以为是新的请求,就会发送同意连接报文,并新开进程提供服务,这样会造成服务方资源的无谓浪费。
      TCP为何采用三次握手来建立连接,若采用二次握手可以吗?

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

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

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

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

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类