Wireshark分析tcp交互过程

三次握手

客户端发起请求

Tcp段长度为575字节,seq=1,ack=1,next_seq=576

服务器响应:

Tcp段长度为175字节,seq=1,ack=576,next_seq=176

客户端响应:

Tcp段长度523字节,seq=576,ack=176,next_seq=1099

服务端响应:

Tcp端长度176字节,seq=176,ack=1099,net_seq=352

客户端响应:

Tcp段长度494字节,seq=1099,ack=352,next_seq=1593

服务端响应:

Tcp段长度176字节,seq=352,ack=1593,next_seq=528

客户端响应:

Tcp段长度575字节,seq=1593,ack=528,next_seq=2168

……

客户端响应:

Tcp段长度464字节,seq=2610,ack=1338,next_seq=3074。

PSH标志位

单词PUSH,意思是“推”。

接收缓冲区和发送缓冲区

进程A发送数据时,并不是直接发送,而是先写到自己的发送缓冲区。接收进程B接收到TCP报文时,会先将数据放入接收缓冲区。

PSH作用

将发送缓冲区的数据发送出去,将数据从接收缓冲区读取的时间是不确定的。

发送端

TCP模块自行决定,什么时候将发送缓冲区中数据打包成TCP报文,但如果发送缓冲区满了TCP同样会将数据打包发送。由于有MSS(最大报文段长度)的限制,数据可能会被打包成一个或多个TCP报文段。最后一个报文段会标记为PSH。

接收端

如果接收方接收到的某个TCP报文段包含PSH标志,接收方就会立即将缓冲区的所有数据推给进程。同样的,接收缓冲区如果满了也会推。

总结

发送方发送数据进行打包时,会将最后一个打包的TCP报文加上PSH标志;

接收方收到含有PSH的报文,会立刻把接收缓冲区的数据推给进程。

观察以上tcp报文可知:

1条tcp报文中的tcp段长度==seq_next — seq。

发送方tcp报文中的seq_next == 接受方回应tcp报文中的ack,发送方tcp报文中的ack=接收方回应tcp报文中的seq。

四次挥手

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LVS NAT 模式

1.3.2. LVS DR 模式 模式(局域网改写 (局域网改写 mac 地址) ①.客户端将请求发往前端的负载均衡器,请求报文源地址是 CIP,目标地址为 VIP。 ②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址&am…

Java设计模式-创建者模式-工厂模式

工厂模式 工厂模式简单工厂模式工厂方法模式抽象工厂模式 工厂模式 要求:由一个特定的工厂提供所需的对象,由工厂来完成对象的创建 工厂模式一般分为三种:简单工厂模式,工厂方法模式,抽象工厂模式 其中简单工厂模式不…

10-26 maven配置

打开idea 打开setting 基于Idea创建idea项目 加载jar包:(一般需要自己去手动加入,本地仓库是没有的)

Zookeeper选举Leader源码剖析(上)

为什么要看源码: 1、 提升技术功底: 学习源码里的优秀设计思想,比如一些疑难问题的解决思路,还有一些优秀的设计模式,整体提升自己的技术功底 2、 深度掌握技术框架: 源码看多了,对于一个新技…

AT32F403A VGA(一)

一、目的: 要用单片机实现VGA功能。 二、分析: VGA需要两根时钟信号线,分别为Hsync和Vsync。 在800*600的显示模式下,Hsync周期为26.4us,Vsync周期为16.579ms。 Hsync同步脉冲时间为3.2us,Vsync同步脉…

【23真题】太难!千万别考!不值!

今天分享的是23年哈尔滨工程大学810的信号与系统试题及解析。 为什么说不值呢?因为哈工程810据之前的分析来看不保护一志愿,就23年810的专业课来看,又在超纲的边缘疯狂试探!(如果它默认考DSP,当我没说&…

Xmake v2.8.5 发布,支持链接排序和单元测试

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好&#x…

为什么OpenAPI是未来企业数字化转型的决定性因素

随着数字经济不断发展升级,数据互通、万物互联正在逐步成为IT产业发展的主旋律,企业数字化转型也变得愈发紧迫。越来越多的企业都在数字化转型过程中寻求降本增效、加大创新力度、开展生态合作,以此来提高企业和产品的持续竞争力。而OpenAPI则…

golang正则获取中括号中的内容

reg : regexp.MustCompile("【(.*?)】") //userInfo姓名:【AAA姓名】证件类型:【BBB身份证】证件号码:【122456789458】tempData reg.FindAllStringSubmatch(userInfo, -1)for k, v : range tempData {if k 0 {tempReleaseUser.Name v[1]//AAA姓名} else if k 1…

数据结构与算法C语言版学习笔记(5)-串,匹配算法、KMP算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、串的定义二、串的存储结构1.顺序结构2.链式结构 三、串的朴素的模式匹配算法(暴力匹配算法)1.背景2.假设我们要从下面的主串 S"…

Spring boot 整合grpc 运用

文章目录 GRPC基础概念:Protocol Buffers:proto 基础语法:调用类型: Spring boot 整合 grpc项目结构:整合代码:父 pomproto 模块服务端:客户端:实际调用: 原生集成 GRPC基…

leetcode链表

这几天手的骨裂稍微好一点了,但是还是很疼,最近学校的课是真多,我都没时间做自己的事,但是好在今天下午是没有课的,我也终于可以做自己的事情了。 今天分享几道题目 移除链表元素 这道题我们将以两种方法开解决&…

Project Office X for Mac项目管理工具

Project Office X是一款全能的项目管理软件,可帮助企业或个人有效地规划、协调和执行项目。它具有直观的用户界面和强大的功能,适用于各种规模的项目。 这个软件提供了多种实用工具,包括项目计划、资源管理、任务分配、进度跟踪、风险管理和团…

在Node.js中,什么是Promise?如何使用Promise处理异步操作?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

两台Linux服务器之间传送文件

两台Linux服务器之间传送文件 将U盘上的数据传送到服务器上 本地U盘 远程服务器地址: 192.168.30.125 传送到data文件夹的下面 scp -r coco2017 s192.168.30.125:/data传送 两台Linux服务器之间传送文件的4种方法

2024上海智博会,上海国际智慧城市,物联网,大数据展会(世亚智博会)

中国国际智慧城市,物联网,大数据博览会(简称:世亚智博会)自2010年创办以来,至今已成功举办十多届。世亚智博会是中国较高、规模较大、影响力较广的展会;是被国际业界公认的不可错过的名展之一。随着世亚智博会的国际地位和影响不断…

Linux 入门

Linux 入门 1:linux 用户 root 用户 :也叫超级用户,UID0,其权限最高。系统用户:也叫虚拟用户,UID 1-999普通用户: UID1000-60000, 可以登录系统,操作自己目录下的文件. 1.1:用户操作命令 切换用户: su …

PHP+MySQL人才招聘小程序系统源码 带完整前端+后端搭建教程

在当今竞争激烈的人才市场中,招聘平台的需求日益增长。传统的招聘平台往往需要投入大量的人力物力进行维护和管理,这对于许多中小企业来说是一个沉重的负担。因此,开发一个简单易用、高效便捷的招聘平台显得尤为重要。 PHP是一种流行的服务器…

配置Linux为无线路由器

配置Linux无线路由器 将Linux配置为无线路由器。使用hostapd,可以配置无线网卡为AP模式。 这里使用buildroot来生成这个工具。Wi-Fi模块使用的是 rt8188eus。 1. 内核配置 2. buildroot配置 开启 rt8188eus 驱动 3. 启动hostapd 系统启动后,会自动加…

实用技巧:嵌入式人员使用http服务模拟工具模拟http服务器测试客户端get和post请求

文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134305752 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…