今天起持续半年记录DPI产品的研发过程,欢迎大家一起讨论(1)

背景:

公司需要扩展产品线,推出一款X86下DPI的产品,本人为架构师,主要负责产品的关键技术研究,产品架构的搭建,任务的分解分配,在不设计到公司机密的情况下,每天记录下点滴。

产品主要借鉴开源snort,目前本人已经大概全部看完,被其插件的设计思想深深打动。


以下是初步的设计框架:(见图片)


今天起持续半年记录DPI产品的研发过程,欢迎大家一起讨论(1)_第1张图片


插件名称

插件功能

预处理插件:

协议解码,协议合法性检查,分片重组,会话连接,端口学习,模式匹配,策略模板,特征过滤,acl过滤,异常检查,协议关联认证。

输出插件

CLI,系统监控,日志,告警,数据库,抓包,统计,调试。

规则库插件:

拟采用:动作,协议,规则三级链表。热重启的冗余备份注册

检测插件:

对象识别,检测算法注册,hash算法注册,黑白名单

以上插件全部采用链表实现,主要都可以分为三步:注册->初始化->调用,支持后续开发自定义插件。


因为是公司第一个版本,只讲一些关键技术实现,后续后进一步补充功能,这就是插件实现的好处,新加一个功能只需要插入一个插件即可。


第一天写到这里,感兴趣的可以后续继续关注,请勿转载,谢谢!

你可能感兴趣的:(今天起持续半年记录DPI产品的研发过程,欢迎大家一起讨论(1))