TCP连接过程

news2025/1/11 16:49:29

文章目录

    • TCP连接过程
  • 附录
    • TCP报文中关键术语字段

后面再完整出理论、出实战、出总结

TCP连接过程

三次握手(Three-Way Handshake)过程。
在这里插入图片描述

TCP抓包结果分析:
在这里插入图片描述

  • step1:Client1客户端--->Server1服务器发送SYN(同步序列编号)
源IP目的IP源端口目的端口[SYN]SeqWinLenMSS
192.168.1.1192.168.2.1205721同步0819201460

说明:Client1客户端向Server1服务器发送一个SYN报文段。这是连接建立的第一步,其中Seq=0表示初始序列号,Win=8192表示窗口大小,Len=0表示没有数据负载,MSS=1460表示最大报文段长度。

  • setp2:Server1服务器--->Client1客户端发送SYN-ACK (同步-确认)
源IP目的IP源端口目的端口[SYN,ACK]SeqACKWinLenMSS
192.168.2.1192.168.1.1205721同步-确认01819201460

说明:Server1服务器收到Client1客户端的SYN报文后,发送一个SYN-ACK报文段作为响应。Seq=0是服务器的初始序列号,Ack=1是对客户端SYN报文中序列号加1的确认,Win=8192是窗口大小,Len=0表示没有数据负载,MSS=1460是最大报文段长

  • Step3:Client1客户端--->Server1服务器发送ACK(确认)
源IP目的IP源端口目的端口[ACK]SeqACKWinLen
192.168.1.1192.168.2.1205721确认1181920

说明:客户端收到服务器的SYN-ACK报文后,发送一个ACK报文段作为最终响应。Seq=1表示客户端的序列号从0增加到了1,Ack=1是对服务器SYN-ACK报文中序列号的确认,Win=8192是窗口大小,Len=0表示没有数据负载。





附录

TCP报文中关键术语字段

  1. SYN (Synchronize Sequence Numbers):
    • 功能:SYN是一个TCP控制位标志,当设置为1时,表示这是一个同步序列编号报文段,用于建立连接时同步双方的初始序列号。
  2. Seq (Sequence Number):
    • 功能:序列号用于标识TCP报文段中数据的第一个字节的编号。在连接建立时,SYN报文中的序列号是随机生成的,确保了TCP连接的每个字节流的唯一性。
  3. Win (Window Size):
    • 功能:窗口大小是一个TCP选项,用于流量控制。它告诉对方可以发送多少字节的数据而不需要等待确认。窗口大小是动态调整的,以控制数据传输的速率。
  4. Len (Length):
    • 功能:长度字段表示TCP报文段的长度,包括TCP头部和数据部分。如果报文中没有数据负载,长度可能为0。
  5. MSS (Maximum Segment Size):
    • 功能:最大报文段长度是一个TCP选项,用于通知对方在当前连接上能够接收的最大TCP报文段大小(不包括IP头部)。MSS通常设置为MTU(最大传输单元)减去必要的IP和TCP头部大小,以避免IP层的分片。
  6. ACK (Acknowledgment Number):
    • 功能:确认号是期望收到对方下一个TCP报文段的序列号。在SYN-ACK报文中,ACK标志被设置,并且确认号通常设置为接收到的SYN报文中序列号加1。
  7. FIN (Finish):
    • 功能:FIN是一个TCP控制位标志,用于关闭一个方向的连接。当设置为1时,表示发送方已经完成发送数据,并请求关闭连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2065004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++二分查找 前缀和】1658. 将 x 减到 0 的最小操作数

本文涉及的基础知识点 C二分查找 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode1658. 将 x 减到 0 的最小操作数 给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素&am…

MambaCSR: 使用SSM的双交错扫描压缩图像超分辨率

MambaCSR: Dual-Interleaved Scanning for Compressed Image Super-Resolution With SSMs 2408.11758 (arxiv.org) GitHub - renyulin-f/MambaCSR: The code source of MambaCSR 摘要 本文提出了MambaCSR,这是一个基于Mamba的简单但有效的框架,用于解决…

ffmpeg读取时长、读取视频格式

ffmpeg读取时长、读取视频格式 ffmpeg读取时长ffmpeg读取视频格式 ffmpeg读取时长 命令命令介绍具体用法ffmpeg -i查看视频时长ffmpeg -i 视频链接 or 视频路径 2>&1 | grep Duration ffmpeg读取视频格式 命令命令介绍具体用法ffmpeg -i查看视频时长ffmpeg -i 视频链接…

集合及数据结构第八节(下)———— 队列(Queue)、队列的模拟实现和练习

系列文章目录 集合及数据结构第八节(下)———— 队列(Queue)、队列的模拟实现和练习 队列(Queue)、队列的模拟实现和练习 队列的概念队列的使用队列模拟实现循环队列双端队列练习题 文章目录 系列文章目录集合及数据结构第八节(下&#x…

Chainlit接入DifyAI知识库接口快速实现自定义用户聊天界面

前言 由于dify只提供了一个分享用的网页应用,网页访问地址没法自定义,虽然可以接入NextWeb/ChatGPT web/open webui等开源应用。但是如果我们想直接给客户应用,还需要客户去设置配置,里面还有很多我们不想展示给客户的东西怎么办…

【C语言】文件操作 (详细!!)

1、为什么使用文件 使用文件的原因:使用文件主要是为了在程序的执行过程中保存、读取和交换数据。文件提供了一种持久化存储数据的方式,使得程序在关闭后,数据不会丢失,可以被其他程序或后续的程序执行周期重新读取和处理。 1.0 什…

实验2-1-3 输出三角形

本题要求编写程序&#xff0c;输出指定的由“*”组成的三角图案。 **输入格式&#xff1a; 本题无输入**输出格式&#xff1a; 按照下列格式输出由“*”组成的三角图案。 **** *** ** *程序: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int i…

leetcode 49 字母异位分词

正文 基础解法 首先&#xff0c;我们创建一个字典对象&#xff0c;然后遍历整个字符串列表&#xff0c;并且使用 sorted() 函数对字符串列表进行排序&#xff0c;所有的异位分词经过排序后它们的组成和顺序会趋于一致。但是需要注意的是 sorted 对字符串进行排序后会变成一个由…

基于element-ui 日期选择器el-date-picker, 即对日期做区间限制

需求&#xff1a; 有时候需求会让我们对日期选择器做限制&#xff0c;即控制最多可跨越多少个月份&#xff0c;其中涉及到不同年份该如何计算。 HTML&#xff1a; <el-date-pickerv-model"timePeriod"type"monthrange"value-format"yyyyMM"…

Linux系统之部署俄罗斯方块网页小游戏(三)

Linux系统之部署俄罗斯方块网页小游戏(三) 一、小游戏介绍1.1 小游戏简介1.2 项目预览二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍三、检查本地环境3.1 检查系统版本3.2 检查系统内核版本3.3 检查软件源四、安装Apache24.1 安装Apache2软件4.2 启动apache2服务4.3 查看…

【CANoe使用大全】——cdd导入CANoe流程详解

&#x1f64b;‍♂️【CANoe使用大全】系列&#x1f481;‍♂️点击跳转 文章目录 1.1.CDD导入1.1 CDD文件导入流程 2. CDD文件导后配置2.1.协议配置2.2.寻址方式配置2.3.0x27 解密DLL导入2.4.诊断ID配置 3.导入效果4.CDD操作台使用4.1.指令发送 5.Fault Memory5.1 0x19 045.2…

解释图像的边缘检测算法中的Canny算法

Canny 算法是图像处理领域中一种经典的边缘检测方法&#xff0c;由 John F. Canny 在 1986 年提出。Canny 算法以其高效、可靠的边缘检测效果在图像处理和计算机视觉领域广泛应用。它具有良好的噪声抑制能力、精确的边缘定位能力以及单像素宽度的边缘输出特性。 Canny 边缘检测…

TIM输出比较之PWM驱动LED呼吸灯应用案例

文章目录 前言一、应用案例演示二、电路接线图三、应用案例代码四、应用案例分析4.1 基本思路4.2 相关库函数介绍4.3 初始化PWM模块4.3.1 RCC开启时钟4.3.2 配置时基单元4.3.3 配置输出比较单元4.3.4 配置GPIO4.3.5 运行控制 4.4 PWM输出模块4.5 主程序 前言 提示&#xff1a;…

无人机培训与装配维修技术详解

一、无人机基础理论 无人机&#xff0c;即无人驾驶航空器&#xff0c;凭借其灵活性、高效性和广泛应用性&#xff0c;已成为现代科技领域的热点之一。在学习无人机培训与装配维修技术之前&#xff0c;掌握无人机的基础理论是必不可少的。这包括但不限于&#xff1a; 1. 无人机…

Alpaca 汉化版 v2.9.3 — 免费 PS 智能 AI 插件

Alpaca是一款免费的PS智能AI插件&#xff0c;包含了6大AI功能&#xff0c;包括提示词生图、图像转绘画风格、生成式填充、文本转图像、计算图像模型、提高图像分辨率。汉化版本安装简单&#xff0c;只需解压到PhotoShop安装目录\Plug-ins文件夹即可。安装启动PhotoShop - 增效工…

基于Springboot和BS架构的宠物健康咨询系统pf

TOC springboot509基于Springboot和BS架构的宠物健康咨询系统pf 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#x…

前端本地代理配置方式

Whistle 介绍 Whistle 是一个基于 Node.js 的跨平台 Web 调试工具。允许捕获、查看和修改 HTTP/HTTPS 网络请求。通过使用 Whistle&#xff0c;可以轻松地进行接口代理、抓包、模拟数据、修改请求和响应等操作&#xff0c;以便在前端开发中调试网络请求。 Proxy SwitchyOmega…

记录一个变量溢出的bug

文章目录 如题 如题 count2变量溢出了&#xff08;超过了255&#xff09;&#xff0c;结果导致busOff_16bitRecordHILTime变量莫名其妙被清0

c++题目_背包问题(可任意分割) 贪心算法

题目描述 有一个背包&#xff0c;背包容量是mm。有nn个物品&#xff0c;每个物品都有自己的重量wiw​i​​和价值viv​i​​&#xff0c;物品可以分割成任意大小。 要求尽可能让装入背包中的物品总价值最大&#xff0c;但不能超过总容量。 输入 第一行输入两个正整数 mm 和 n…

【C++】提高 -- 类模板

目录 一、类模板的作用 二、类模板的语法 三、类模板的例子 四、类模板和函数模板的区别 五、类模板中成员函数创建时机 六、类模板对象做函数参数 七、类模板与继承 八、类模板成员函数类外实现 九、类模板分文件编写 十、类模板与友元 十一、类模板案例 一、类模板…