当前位置: 首页> 科技> 互联网 > 北京网站建设制作方案_舟山网页设计_新媒体口碑营销案例_长沙靠谱seo优化费用

北京网站建设制作方案_舟山网页设计_新媒体口碑营销案例_长沙靠谱seo优化费用

时间:2025/7/12 5:58:36来源:https://blog.csdn.net/hxd030228/article/details/146988626 浏览次数:0次
北京网站建设制作方案_舟山网页设计_新媒体口碑营销案例_长沙靠谱seo优化费用

一.c. TCP握手为什么三次、不能是二次、或四次?

i.不能是两次:

防止已经失效的连接报文突然又传到了服务端,产生错误
如果不采用三次握手,服务端直接建立连接,会白白浪费资源
三次握手告诉服务端,客户端有没有收这个数据,连接的序号是否是有效的·服务端收到正常的数据后,建立tcp连接,否则关闭端口,减少服务器开销

ii.不能是四次:

三次已经创建可靠连接,没有必要多一次握手花费更多建立连接。

iii.TCP二次握手:

在TCP三次握手的过程中,当用户首次访问Server时,发送SYN包Server根据用户IP生成Cookie(已加密),并与SYN-ACK一同发回Client;当Client随后重连时,在SYN包携带TCP Cookie;如果Server校验合法,则在用户回复ACK前就可以直接发送数据;否则按照正常三次握手进行。

二.三次握手中每一次没收到报文会发生什么情况

i.第一次握手:

客户端没有收到确认报文,等待一段时间会重新发送SYN报文

ii.第二次握手:

服务端会触发超时重传,重传SYN-ACK报文前。

ii.第三次握手:

服务端会触发超时重传,重传到收到ACK报文或达到最大次数关闭连

三.第二次握手传回了ACK,为什么还要传回SYN

i.ACK:

是为了告诉客户端传过来的数据已经接受无误

ii.SYN:

告诉客户端,服务端已经响应客户端的报文。服务端在本次连接没有需要超时处理的事情

四.第三次握手可以携带数据吗?

第三次握手可以携带数据。

在 TCP 三次握手过程中,前两次握手主要用于建立连接,确认双方的发送和接收能力。第三次握手时,客户端在发送的 ACK 报文中可以携带数据。如果此时携带数据,那么服务器在收到带有数据的第三次握手报文后,就可以直接对数据进行处理,而无需等待客户端再发送一个专门的数据报文,这样可以减少一次数据传输的往返时间,提高通信效率。

五.客户端在发送完最后一个确认报文后,为什么不直接进入关闭状态?而是要进入时间等待状态,2MSL后才进入关闭状态,这是否有必要呢?

i.如果客户端最后一个确认报文丢失后,服务器无法进入关闭状态,会反复重传FIN报文。因此等待时间2msl,可以确保服务器可以收到最后TCP确认报文

ii.客户端发送最后一个TCP确认报文段后,经过2MSL时长,可以使当前所有产生的报文段从网络中消失。

六.为什么是2MSL

i.2MSL是报文最大生存时间,任何超过该时间的报文都将丢弃

ii.2MSL是因为网络中存在发送方的数据包,当这些发送方的数据包被接受方处理后又会被响应,所以来回需要2MSL

关键字:北京网站建设制作方案_舟山网页设计_新媒体口碑营销案例_长沙靠谱seo优化费用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: