Advertisement

Suricata6.0源码注释1:流表管理概述

阅读量:

目录

1. 流管理内容简介... 1

2. 流的新建... 1

3. 流的老化... 2

4. 流空闲数量的动态维护... 2

5. 流存储关键数据结构... 2

6. 流管理主要函数... 3

  1. 流管理内容简介

在流管理方面涉及多个核心功能模块如新建、查找等操作流程以及相关的状态维护工作其中主要包括以下内容:首先是流程表的关键初始化步骤其次是建立新的流程记录并完成相关的查找操作随后是执行更新操作以维护流程记录的状态接着会对那些已过期未使用的流程记录进行清理最后会对空闲状态下的流程记录数量进行动态监控以确保系统的负载均衡性为了实现这一目标系统中采用了独立化的多线程架构其中主要包括专门负责处理老化的回收过程以及负责回收空闲资源的一组子线程每个主要管理单元都配备有自己的子队列以支持多路处理从而保证系统的高效运行

老化线程:main→SuricataMain→RunModeDispatch→FlowManagerThreadSpawn

回收的线程:主线→SuricataMain→RunModeDispatch步骤→循环生成的线程

  1. 流的新建

当一个网络数据包被接收时,在接收到该数据包后进行解析生成得到packet结构体指针p。随后进入后续模块的第一个任务是针对该指针p查找所属流flow。这一操作由函数Fl

全部评论 (0)

还没有任何评论哟~