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。

四次挥手

相关推荐
嘻哈baby3 小时前
DDNS动态域名解析方案对比与实战配置
网络
捷米研发三部4 小时前
Profinet转ModbusTCP网关:实现西门子1200PLC与打标卡稳定通讯
网络
Smile_2542204184 小时前
解决本地 Windows 开发机无法注册到 PowerJob 服务器的问题
java·tcp/ip
課代表5 小时前
Windows 系统中查看已保存的WiFi密码
网络·windows·wifi·路由·netsh·无线·命令提示符
猫天意6 小时前
【即插即用模块】AAAI2026 | MHCB+DPA:特征提取+双池化注意力,涨点必备,SCI保二争一!彻底疯狂!!!
网络·人工智能·深度学习·算法·yolo
她是太阳,好耀眼i6 小时前
配置FTP目录文件以http网址方式访问并下载
网络·网络协议·http
chenyuhao20246 小时前
Linux系统编程:Ext文件系统
linux·运维·服务器·开发语言·网络·c++·后端
忆_恒心6 小时前
eNSP仿真模拟之VLAN技术(下)
网络·计算机网络·vlan·虚拟局域网
毕设源码-郭学长7 小时前
【开题答辩全过程】以 基于微服务的网络运维管理系统设计与实现为例,包含答辩的问题和答案
运维·网络·微服务
sc.溯琛7 小时前
数据链路层复习总结
网络·网络协议·智能路由器