TCP网络协议

TCP粘包

  1. TCP在接收数据时,多包数据粘在了一起

  2. 原因:

  3. TCP发送数据时,没有及时发走,会根据缓冲区数据的情况进行重新组包;

  4. TCP接收方,没有及时读走缓冲区数据,导致缓冲区大量数据缓存。

  5. 如何解决TCP粘包:

  6. 发指定大小字节(结构体)

struct data

{

int id;

float tmp;

xxx;

};

指定在相同平台上使用,注意结构体对其齐问题。

  1. 发送具有指定分隔符的数据

"hello world\n"

"how are you\n"

  1. 封装自定义数据帧

AA 0d 01 00 00 00 14 00 00 00 15 xx xx xx xx sum BB

网络抓包

网络抓包:抓取通过设备网卡的数据

wireshark:网络抓包工具:

  1. 分析和追踪网络问题

  2. 查看网络协议栈

安装:sudo apt-get install wireshark

  1. sudo wireshark

  2. 选择通信设备的网卡---》any

  3. 选择抓取的过滤条件

  4. 开始抓取

  5. 进行一次通信

TCP报文头

标志位:

  1. URG: 紧急指针标志, 为1时表示紧急指针有效, 该报文应该优先传送。

  2. ACK: 确认应答标志

  3. PSH: 表示发送数据,提示接收端从TCP接收缓冲区中读走数据,为接收后续数据腾出空间

  4. RST: 重置连接标志

  5. SYN: 表示请求建立一个连接

  6. FIN: finish标志, 表示释放连接

TCP机制

  1. 应答机制:为每个数据增加序列发,发送数据时,第一个数据的序号作为报文中的序号。

接收方收到相关数据,会回应ACK报文,报文中的确认号是接收方下次希望接收到的数据的

起始序号。

  1. 超时重传机制:TCP发送数据后会在一定的时间内等待ACK,假设在指定时间ACK未收到,则视这包数据已经

丢失,会重新传输这包数据。

  1. 流量控制机制:根据接收方接收数据的能力,调整窗口大小,通知发送发进行流量控制
相关推荐
可乐鸡翅yeah_2 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
工作10年+,存储芯片行业4 小时前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
酣大智4 小时前
H3C MSR3600 交换机配置 SSH
网络·ssh·智能路由器
沐浴露z5 小时前
Agent 响应延迟过高?从工具治理角度提供两条思路
前端·网络
一号弯5 小时前
装完LINUX,请先新建日常用户
linux·运维·服务器
马六六i6 小时前
市面上正规的IP驱动产业新场景新工具有哪些
大数据·网络·python·tcp/ip
许彰午6 小时前
03-Linux环境准备依赖包内核参数与用户组
linux·运维·服务器·数据库
可乐ea7 小时前
多模型编排的三层:框架、模型路由与提供商路由
前端·网络·人工智能·ai智能体·多智能体协作·多模型编排·大模型路由
万联WANFLOW7 小时前
全球广告网络直通美国,TikTok抢占旺季全域流量新高地
网络·业界资讯
HackTwoHub7 小时前
Clown SRC skill第二代2.x最新版企业安全研究 Skill|证据优先的 SRC 与白盒审计工作流正式更新
网络·安全·web安全·网络安全·系统安全·密码学·安全架构