tcpip3次握手的通信过程是_tcp协议为什么要三次握手

tcpip3次握手的通信过程是_tcp协议为什么要三次握手关于tcp通信过程中的三次握手、四次挥手的过程三次握手:此过程中:第一次握手,客户端先发一个SYN请求并附带一个J的值给服务端第二次握手,服务端收到请求后解堵塞,发送一个SYN请求并附带一个K值,还发送了第一次握手后对客户端的响应包并附带在之前接收到的J值的基础上加上1,即J+1第三次握手,客户端收到服务端发来的SYN请求和K值后,再发送一个K+1的响应包给服务端至此,三次握手成功…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

TCP通信过程的三次握手和四次握手

三次握手:

在这里插入图片描述
在这里插入图片描述
此过程中:
第一次握手,客户端先发一个SYN请求并附带一个J的值给服务端
第二次握手,服务端收到请求后解堵塞,发送一个SYN请求并附带一个K值,还发送了第一次握手后对客户端的响应包并附带在之前接收到的J值的基础上加上1,即J+1
第三次握手,客户端收到服务端发来的SYN请求和K值后,再发送一个K+1的响应包给服务端
至此,三次握手成功完成,客户端和服务端之间成功建立tcp链接

四次挥手:

在这里插入图片描述

此过程中:
第一次挥手:客户端调用了close,发送一个结束请求附带一个x+2的值,和一个y+1的响应包给服务端
第二次挥手:服务端发送x+3的响应包给客户端(其实每次的响应包的附带值都是在之前接收到的seq的值上加上1的结果)
第三次挥手:服务端调用close,发送一个结束seq附带一个y+1的值给客户端,此时服务端成功断开连接
第四次挥手:客户端接收到服务端的响应包和FIN请求后,回递一个y+2的响应包给服务端,此时的客户端进入time_wait状态,即继续等待2MSL的时间再完全断开链接(至于为什么要等待2MSL的时间,请看下文的MSL详解 _ )

要点:在四次挥手的过程中,哪一方先调用close, 哪一方就会在第三次挥手后继续等待2MSL的时间

tcp通信过程中的2MSL的问题:

在这里插入图片描述

2MSL即为在四次挥手的第三次过程中,先发起中断连接的一方将会继续等待2倍的MSL时间后再完全中断tcp连接

MSL即为一个数据包在网络上存活的最长时间,即数据包从被发送到被接收所经历的最长时间
等待2倍的MSL时间就是因为防止服务端没收到最后一次的ACK,即在2MSL的时间内,若服务端没收到最后的ACK,在超时时间(MSL)后,服务端会认为客户端没收到第三次挥手中的FIN,这时服务端会再发一份FIN,这时一共经历了2MSL的时间,而客户端此时等待了2MSL的时间,正好可以接收这一次服务端重发的FIN请求,从而有效的保证了所有的请求和回应都会被对方接收

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170940.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月18日 下午12:36
下一篇 2022年8月18日 下午12:36


相关推荐

  • 越来越多的Java程序员转行Java大数据…[通俗易懂]

    越来越多的Java程序员转行Java大数据…[通俗易懂]JAVA的精密,强大,拥有其它语言不可替代的性能和可维护性,早已经是成为最受欢迎的编程语言之一,很多人想进入IT行业,首选的第一门语言就是JAVA。  但是,在未来肯定是大数据的天下,人工智能的爆发,将会有大量企业会进入大数据领域,从而产生大量的大数据人才需求。据最新发布的《大数据人才报告》显示,目前全国的大数据人才仅46万,未来3-5年内大数据人才的缺口将高达150万。领英报…

    2022年7月9日
    163
  • linux java 日志_linux 查看日志

    linux java 日志_linux 查看日志1、cat命令:功能:1)显示整个文件。示例:$catfileName2)把文件串连接后传到基本输出,如将几个文件合并为一个文件或输出到屏幕。示例:$catfile1file2>file说明:把档案串连接后传到基本输出(屏幕或加>fileName到另一个档案)cat参数详解:-n或–number由1开始对所有输出的行数编号-b或–number-no…

    2022年6月16日
    25
  • goland 激活码2021【2021最新】

    (goland 激活码2021)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html9K2BT69C4S-eyJsaWNlbnNlSWQi…

    2022年3月28日
    86
  • visual studio 2012 密钥

    visual studio 2012 密钥参考自 visualstudio 密钥 https zhidao baidu com question 555696036850 htmlvs2012 密钥序列号 保证完美激活 YKCW6 BPFPF BT8C9 7DCTH QXGWCRBCXF CVBGR 382MK DFHJ4 C69G8YQ7PR QTHDM

    2026年3月16日
    1
  • idea2020.2激活码(JetBrains全家桶)

    (idea2020.2激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    269
  • bootstrap select 多选的用法,取值和赋值(取消默认选择第一个的对勾)

    bootstrap select 多选的用法,取值和赋值(取消默认选择第一个的对勾)h5 自带的 select 标签可以实现按住 ctrl 键多选的功能 但是样式及其难看 bootstrapsel 是很好用的前端插件首先引入 bootstrap 和 bootstrap select 的 css 和 js 下载地址 https download csdn net download lianzhang861 lt linkrel stylesheet h

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号