网站首页 > 博客文章 正文
TCP可靠的传输协议,建立连接时的三次握手,终止连接时的四次挥手,在离开大学之后,很快就只记住一个名字,具体过程记不清楚了。重新拾起来,再过一遍有不少恍然大悟的地方,当然也可能是大学时就没学磁实!
然后把自己的理解记录一下,自己能表述出来才算是理解了!以下只是对标准的TCP连接过程,不涉及半连接,同时打开,同时关闭等情况下的连接。
tcp三次握手
第一次握手,发送一个syn段指明客户打算连接的服务器的端口及初始化序号,报文1
第二次,发回包含服务器初始序号的SYN报文段, 同时对客户端的ISN加1进行确认,报文2
第三次,对服务端初始ISN序号加1进行确认,报文3
设想以下场景:
河对岸分别站一个人A和B, A向B喊话:我要扔给你(服务器)一条鱼(信息)。扔到你左边1米的格子内(端口);B听到后向A喊话,我听到了,我会在左边一米等着你的鱼; A听到后继续喊,知道你在等着了!下一个场面就是大河上下,鱼来鱼往。
tcp四次挥手
client发送一个FIN包告诉server要关闭client->server的连接;server返回一个ack包。然后server向client发送一个FIN包告诉client要关闭server->clent的连接。
设想以下场景:
河边依然站着两个人,A和B。经过三次喊话后,双方开始扔鱼(交换数据);A向B扔鱼,B向A扔螃蟹;当A的鱼扔完了,于是向B喊话,我的鱼扔完了,B听到后给A回复“知道了,那就别扔了”;如果这时B的螃蟹也扔完了,B向A说我的螃蟹也扔完了,不扔了;A听到后回复“知道了,那就停止吧”;然后A和B的交流算是完毕。如果B的螃蟹没扔完,B继续扔,这种情况就是半连接,直到扔完,再喊话给A,停止扔螃蟹。
C和S两端状态变化过程:
当client发送第一个FIN包后,client的状态从ES变成了fin-wait1,当收到server返回的ack时,状态变化成了fin-wait2; 当收到server端发的fin包后,状态变成了time_wait,然后发送Ack给server端;client在等待2msl时间后,连接彻底关闭。
当server端收到第一个fin包后,server的状态从ES变成了close_wait,然后给client发送一个ack包;server给client发送一个fin包后,状态变成了last_ack,等待接收client的ack包; 当收到client发来的ack包时,状态变成closed,连接关闭。
猜你喜欢
- 2024-09-23 TCP/IP协议-TCP三次握手和四次挥手
- 2024-09-23 前端面试—TCP协议的三次握手(tcp协议三次握手的工作原理)
- 2024-09-23 TCP/IP协议基础:深入理解三次握手过程及其重要性
- 2024-09-23 网络协议、三次握手四次挥手介绍(网络协议 三次握手)
- 2024-09-23 TCP协议的三次握手(tcp协议的三次握手建立连接的工作原理)
- 2024-09-23 TCP的三次握手到底是什么流程(tcp三次握手的通俗理解)
- 2024-09-23 协议设计系列-TCP的三次握手和挥手
- 2024-09-23 TCP协议的三次握手(建立连接)和四次挥手(关闭连接)
- 2024-09-23 TCP/IP协议握手原理(tcp udp 握手)
- 2024-09-23 TCP协议 - 三次握手,四次挥手和重要的细节(一)
你 发表评论:
欢迎- 07-02在线学习在爱奇艺信息流推荐业务中的探索与实践
- 07-02Diallyl Trisulfide(H2S donor)二烯丙基三硫:合成方法与工艺
- 07-02MitoSOX Red Mitochondrial Superoxide Indicator使用方法
- 07-02深度时空网络、记忆网络与特征表达学习在 CTR 预估中的应用
- 07-02iFluor 488标记鬼笔环肽可通过标记F-actin,研究细胞在迁移等
- 07-02快速了解红色线粒体超氧化物荧光探针的基本特性
- 07-02腔肠素400A(Coelenteramine 400a)综合解析,一文掌握所有要点!
- 07-02Chinese doctor Zhang Junqiao's heroic act exemplifies deep China-Africa friendship: FM spokesperson
- 最近发表
-
- 在线学习在爱奇艺信息流推荐业务中的探索与实践
- Diallyl Trisulfide(H2S donor)二烯丙基三硫:合成方法与工艺
- MitoSOX Red Mitochondrial Superoxide Indicator使用方法
- 深度时空网络、记忆网络与特征表达学习在 CTR 预估中的应用
- iFluor 488标记鬼笔环肽可通过标记F-actin,研究细胞在迁移等
- 快速了解红色线粒体超氧化物荧光探针的基本特性
- 腔肠素400A(Coelenteramine 400a)综合解析,一文掌握所有要点!
- Chinese doctor Zhang Junqiao's heroic act exemplifies deep China-Africa friendship: FM spokesperson
- 用Python写了一个上课点名系统(附源码)(自制考勤系统)
- Kubernetes中的PV、PVC、Configmap介绍
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)