【Linux】TCP的三次握手和四次挥手
三次握手
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。注意!三次握手只是用来建立连接用的,和TCP可靠稳定没有关系,TCP的可靠是通过重传和检错等机制实现的。
默认创建一个socket后,只拥有主动连接的能力(客户机)。要想拥有服务器接收外来的连接的能力,必须通过调用socket、bind和listen函数来完成,称为被动打开(passive open)。一旦服务器进入监听状态,就会创建一个三次握手的服务队列,等待接收客户端的连接请求。
三次握手的流程如下:
第一次握手:客户通过调用connect进行主动打开(active open)。这引起客户TCP发送一个SYN(表示同步)分节(SYN=J),它告诉服务器客户将在连接中发送到数据的初始序列号。
第二次握手:服务器必须确认客户的SYN,同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送的数据的初始序列号。服务器以单个字节向客户发送SYN和对客户SYN的ACK(表示确认)。
第三次握手:客户收到服务器的SYN+ACK。向服务器发送确认分节,此分节发送完毕,客户服务器进入ESTABLISHED状态,完成三次握手。

四次挥手
第一次挥手:某个应用进程首先调用close,我们称这一端执行主动关闭。这一端的TCP于是发送一个FIN分节,表示数据发送完毕。
第二次挥手:接收到FIN的另一端执行被动关闭(passive close)。这个FIN由TCP确认。它的接收也作为文件结束符传递给接收端应用进程(放在已排队等候应用进程接收到任何其他数据之后)
第三次挥手:一段时间后,接收到文件结束符的应用进程将调用close关闭它的套接口。这导致它的TCP也发送一个FIN。
第四次挥手:接收到这个FIN的原发送端TCP对它进行确认。

相关文章:
【Linux】TCP的三次握手和四次挥手
三次握手 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。注意!三次握手只是用来建立连接用的,和TCP可靠稳定没有关系,TCP的可靠是通过重传和检错等机制实现的。 默认创建一个socket后ÿ…...
爬山算法全解析:掌握优化技巧,攀登技术高峰!
一、引言 爬山算法是一种局部搜索算法,它基于当前解的邻域中进行搜索,通过比较当前解与邻域解的优劣来更新当前解,从而逐步逼近最优解。本文将对爬山算法进行详细的介绍。 二、爬山算法简介 爬山算法是一种基于贪心策略的优化算法ÿ…...
使用 Ollama框架 下载和使用 Llama3 AI大模型的完整指南
🏡作者主页:点击! 🤖AI大模型部署与应用专栏:点击! ⏰️创作时间:2024年5月24日20点59分 🀄️文章质量:96分 目录 💥Ollama介绍 主要特点 主要优点 应…...
最新流媒体在线音乐系统网站源码| 音乐社区 | 多语言 | 开心版
最新流媒体在线音乐系统网站源码 源码免费下载地址抄笔记 (chaobiji.cn)...
中国改革报是什么级别的报刊?在哪些领域具有较高的影响力?
中国改革报是什么级别的报刊?在哪些领域具有较高的影响力? 《中国改革报》是国家发展和改革委员会主管的全国性综合类报纸。它在经济领域和改革发展方面具有重要的影响力,是传递国家政策、反映改革动态的重要平台。该报对于推动中国的经济改…...
乡村振兴的乡村公共服务提升:提升乡村公共服务水平,满足农民多样化需求,构建幸福美好的美丽乡村
目录 一、引言 二、乡村公共服务提升的必要性 (一)满足农民多样化需求 (二)促进乡村经济发展 (三)构建幸福美好的美丽乡村 三、乡村公共服务面临的挑战 (一)基础设施薄弱 &a…...
【在 Windows 上使用 ADB 安装 Android 设备上的 atx-agent】
在进行 Android 应用的 UI 自动化测试时,通常需要在设备上安装一些辅助工具。其中一个常用的工具是 atx-agent,它可以帮助我们在 Android 设备上进行 UI 自动化操作。本文将介绍如何在 Windows 环境下使用 ADB 安装 Android 设备上的 atx-agent。 1. 下…...
iptables 防火墙
linux防火墙基础 iptables的表,链结构 数据包控制的匹配流程 编写防火墙规则 基本语法,控制类型 添加,查看,删除规则 规则的匹配条件 iptables组件 netfilter :属于内核态的功能体系,是一个内核模块…...
软件设计师笔记1
分享一下学习软考时做的笔记,笔者太懒了,后续篇章都没咋记录,现在放出来水几篇文章 另外,本章内容都是结合教材,B站课堂记录。下一篇软考笔记知识点来自真题 软考笔记 第一章 1. 计算机的组成 1. 控制器 控制器由…...
springboot集成mybatis 单元测试
1、依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…...
ecc dsa rsa des
ECC(椭圆曲线密码学)、DSA(数字签名算法)、RSA(一种公钥加密技术)和DES(数据加密标准)都是密码学领域中重要的加密和安全技术。下面是对这四种技术的简要介绍: 椭圆曲线密…...
Gitee的原理及应用详解(三)
本系列文章简介: Gitee是一款开源的代码托管平台,是国内最大的代码托管平台之一。它基于Git版本控制系统,提供了代码托管、项目管理、协作开发、代码审查等功能,方便团队协作和项目管理。Gitee的出现,在国内的开发者社…...
Mia for Gmail for Mac:Mac用户的邮件管理首选
对于追求高效工作的Mac用户来说,Mia for Gmail for Mac无疑是邮件管理的首选工具。它以其卓越的性能和丰富的功能,为用户带来了前所未有的高效邮件管理体验。 Mia for Gmail for Mac不仅支持多帐号登录和标签选择功能,还提供了邮件分类、垃圾…...
如何在忘记密码的情况下解锁 iPhone? 6 种方法分享
您是否因为没有密码而无法解锁您的 iPhone? 别担心,这种情况比你想象的更常见!忘记密码是 iPhone 用户面临的最常见问题之一,而且可能非常令人沮丧 - 但不要绝望。 在这篇文章中,我们将与您分享绕过 iPhone 屏幕密码…...
国产操作系统上使用rsync恢复用户数据 _ 统信 _ 麒麟 _ 中科方德
原文链接:国产操作系统上使用rsync恢复用户数据 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇关于在国产操作系统上使用rsync备份并还原用户数据的文章。rsync是一款功能强大的文件同步和备份工具,广泛用于Linux系…...
Elastic Cloud 将 Elasticsearch 向量数据库优化配置文件添加到 Microsoft Azure
作者:来自 Elastic Serena Chou, Jeff Vestal, Yuvraj Gupta 今天,我们很高兴地宣布,我们的 Elastic Cloud Vector Search 优化硬件配置文件现已可供 Elastic Cloud on Microsoft Azure 用户使用。 此硬件配置文件针对使用 Elasticsearch 作…...
Mongodb 可视化工具Robot 3t安装【windows环境下】
下载应用 打开连接点我 选择windows版本并点击下载 下载完毕,双击并傻瓜安装 连接数据库 点击图标, 点击create创建连接 填写host和port 如果有用户名密码的,在authentication里填写 5. save 并连接即可使用!...
【MATLAB】信号的熵
近似熵、样本熵、模糊熵、排列熵|、功率谱熵、奇异谱熵、能量熵、包络熵 代码内容: 获取代码请关注MATLAB科研小白的个人公众号(即文章下方二维码),并回复信号的熵本公众号致力于解决找代码难,写代码怵。各位有什么急需…...
【QT环境配置】节约msvc2017灰色不可用问题
1. 问题 msvc2017不可用,2019、2022都同理解决。 2. 解决 打开控制面板->程序->程序和功能->找到自己安装的vs程序->鼠标右键后出现卸载更改->点击更改 找到下面组件即可。(msvc2019就找msvcv142)...
MyBatis框架的使用:mybatis介绍+环境搭建+基础sql的使用+如何使用Map传入多个参数+返回多个实体用List或者Map接收+特殊sql的使用
MyBatis框架的使用:mybatis介绍环境搭建基础sql的使用如何使用Map传入多个参数返回多个实体用List或者Map接收特殊sql的使用 一、MyBatis介绍1.1 特性1.2 下载地址1.3 和其它持久层技术对比 二、搭建环境2.1配置maven2.2 创建mybatis配置文件2.3 搭建测试环境 三、基…...
DeepSeek-VL多模态模型本地部署:仅需8GB显存的量化推理方案(INT4+FlashAttention-2实测FP16精度保留98.6%)
更多请点击: https://codechina.net 第一章:DeepSeek-VL多模态模型本地部署概览 DeepSeek-VL 是由深度求索(DeepSeek)推出的开源多模态大模型,支持图像理解、图文问答、视觉推理等任务。其本地部署需兼顾计算资源约束…...
基于个性化机器学习与智能穿戴数据的痴呆症行为预测系统
1. 项目概述:当智能手表学会“预见”痴呆症患者的情绪风暴在痴呆症照护的漫长征途中,照护者最棘手的挑战往往不是记忆的衰退,而是那些突如其来、难以捉摸的行为与心理症状。想象一下,你照顾的长辈平时温和安静,却在某个…...
多路召回RAG系统
项目采用 多路召回 Rerank的RAG架构,核心入口是 RagSpecialistAgent.java,当用户与问答助手进行语言交流时,输入查询,首先先进行意图识别,判断是单任务还是多任务,并且判断是否需要RAG检索,因为…...
玩转谷歌开源 AI 终极端:在 Antigravity CLI (`agy`) 中无缝白嫖/调用 Claude
玩转谷歌开源 AI 终极端:在 Antigravity CLI (agy) 中无缝白嫖/调用 Claude 作为整天和终端打交道的开发者,如果你还没试过 Google 刚推出不久的 AI 终端 Agent —— Antigravity CLI (agy),那你真的错过了效率神器。 它最让我惊艳的不是能在…...
Unpaywall:5分钟快速安装,轻松解锁付费学术论文的实用指南
Unpaywall:5分钟快速安装,轻松解锁付费学术论文的实用指南 【免费下载链接】unpaywall-extension Firefox/Chrome extension that gives you a link to a free PDF when you view scholarly articles 项目地址: https://gitcode.com/gh_mirrors/un/unp…...
ubuntu个人开发者如何利用taotoken token plan降低ai实验成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Ubuntu 个人开发者如何利用 Taotoken Token Plan 降低 AI 实验成本 对于在 Ubuntu 环境下进行 AI 实验与原型开发的个人开发者而言…...
创业团队如何利用Taotoken管理多个AI模型的用量与成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业团队如何利用Taotoken管理多个AI模型的用量与成本 对于资源有限的创业团队而言,在快速迭代产品原型时,…...
终极暗黑破坏神2存档编辑器d2s-editor:可视化修改的完整指南
终极暗黑破坏神2存档编辑器d2s-editor:可视化修改的完整指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2单机存档损坏而烦恼吗?d2s-editor就是你的救星!这款免费开源的暗…...
Nrfr完整指南:免Root修改SIM卡国家码,轻松突破区域限制
Nrfr完整指南:免Root修改SIM卡国家码,轻松突破区域限制 【免费下载链接】Nrfr 🌍 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题,帮助使用海外 SIM 卡获得更好的本地化体验,解锁运营商限制࿰…...
如何快速掌握游戏逆向工程:FromSoftware资源解析终极指南
如何快速掌握游戏逆向工程:FromSoftware资源解析终极指南 【免费下载链接】BinderTool Dark Souls II / Dark Souls III / Bloodborne / Elden Ring bdt, bhd, bnd, dcx, tpf, fmg and param unpacking tool 项目地址: https://gitcode.com/gh_mirrors/bi/BinderT…...
