当前位置: 首页 > news >正文

TCP网络协议

TCP粘包

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

2. 原因:

    1. TCP发送数据时,没有及时发走,会根据缓冲区数据的情况进行重新组包;
    2. TCP接收方,没有及时读走缓冲区数据,导致缓冲区大量数据缓存。

3. 如何解决TCP粘包:

    1.  发指定大小字节(结构体)
         struct  data
        {
             int id;
             float tmp;
             xxx;
        };

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

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

         "hello world\n"
         "how are you\n"

     3. 封装自定义数据帧
          
          
         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报文,报文中的确认号是接收方下次希望接收到的数据的
                             起始序号。

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

     3. 流量控制机制:根据接收方接收数据的能力,调整窗口大小,通知发送发进行流量控制

相关文章:

  • 评委打分5个评委 去掉一个最高分和一个最低分 取平均分
  • Java高频面试之集合-11
  • 【2025】基于springboot+vue+uniapp的厨师预约上门做菜小程序(源码、万字文档、图文修改、调试答疑)
  • 使用Qt创建悬浮窗口
  • NPU的工作原理:神经网络计算的流水线
  • 【开源+代码解读】Search-R1:基于强化学习的检索增强大语言模型框架3小时即可打造个人AI-search
  • Linux动态监控系统
  • C++ std::list超详细指南:基础实践(手搓list)
  • Golang Channel 使用详解、注意事项与死锁分析
  • FANUC机器人几种常用的通讯网络及接口
  • 【零基础入门unity游戏开发——unity3D篇】3D物理系统之 —— 3D刚体组件Rigidbody
  • Docker 部署Spring boot + Vue(若依为例)
  • 探针泄露(WEB)
  • 如何安装旧版本的Pytorch
  • python-leetcode-子数组最大平均数 I
  • matplotlib 保存图片是空的,小坑,记录一下
  • 多种注意力机制(文本->残差->视频)
  • Everything搜索工具下载使用教程(附安装包),everything搜索工具文件快速查找
  • 操作符详解
  • 求递增子序列LIS的两种方法
  • 建设工程包括什么工程/学seo网络推广
  • 网站图标怎么做的/商城网站建设
  • 在线客服中心/芜湖seo
  • 网站上的链接怎么做的/淘宝关键词排名查询工具免费
  • 人才招聘网网站策划方案/2023网站推广入口
  • 网站模型怎么做的/南宁seo咨询