[发明专利]防火墙芯片数据包缓存管理方法有效
申请号: | 200610156168.7 | 申请日: | 2006-12-30 |
公开(公告)号: | CN101212451A | 公开(公告)日: | 2008-07-02 |
发明(设计)人: | 王万亭;曾涛 | 申请(专利权)人: | 北京天融信网络安全技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
代理公司: | 信息产业部电子专利中心 | 代理人: | 周奇 |
地址: | 100085北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 防火墙 芯片 数据包 缓存 管理 方法 | ||
1.一种防火墙芯片数据包缓存管理方法,包括如下步骤:
1-1、在芯片内部分配一块内存,这块内存又分成若干同样大小的块,每块可以存放一个数据包,叫做数据包块;
1-2、建立一个空闲内存标签队列,每个标签对应存放一个数据包块的起始地址;
1-3、如果有数据包进入,则从空闲内存标签队列中取出一个标签,按照该标签指示的数据包块起始地址,将数据包放入到数据包块中;
1-4、解析数据包,建立数据包标签,该标签中包含数据包块起始地址、数据包长度、数据包特征和处理结果;
1-5、确定处理该数据包的处理模块,将该数据包标签写入到该模块的数据包标签队列中;
1-6、模块从本模块的数据包标签队列中取出数据包标签,分析数据包标签,根据数据包标签中的内容作相应处理,实现一般防火墙具有的功能,处理完后,将处理结果写到数据包标签的存放处理结果的区域中;
1-7、确定处理该数据包的下一处理模块,将包含处理结果的数据包标签写入到下一个模块的数据包标签队列中;
1-8、下一处理模块从步骤1-6开始向下执行,直到每个模块对数据包的处理完成。
2.如权利要求1所述的数据包缓存管理方法,其特征在于,所述步骤1-3中,对于从芯片外部进入的数据包,首先检查数据包内存是否已满,如果数据包内存已满,则等待出现空闲数据包块,直到满足分配数据包块的条件,才执行后面步骤。
3.如权利要求1所述的数据包缓存管理方法,其特征在于,所述步骤1-6中,根据数据包标签中的内容,如果需要修改数据包,则根据数据包标签中的起始地址从数据包块中找到数据包并修改数据包,然后再作相应处理,实现一般防火墙具有的功能。
4.如权利要求1所述的数据包缓存管理方法,其特征在于,所述步骤1-6中,模块作相应处理实现一般防火墙具有的功能后,根据数据包标签的标志,如果该数据包需要丢弃,则释放该数据包占用的内存。
5.如权利要求4所述的数据包缓存管理方法,其特征在于,根据数据包标签,得到数据包块起始地址,然后写一个空闲内存标签到相应的空闲内存标签队列中,通过释放空闲内存标签来释放该数据包占用的内存。
6.如权利要求1所述的数据包缓存管理方法,其特征在于,所述步骤1-6中,模块作相应处理实现一般防火墙具有的功能后,根据数据包标签的标志,如果该数据包需要转发,则转发该数据包,待转发完成后释放该数据包占用的内存。
7.如权利要求6所述的数据包缓存管理方法,其特征在于,首先根据数据包标签中的处理结果修改数据包包头包尾,然后转发该数据包。
8.如权利要求6所述的数据包缓存管理方法,其特征在于,根据数据包标签,得到数据包块起始地址,然后写一个空闲内存标签到相应的空闲内存标签队列中,通过释放空闲内存标签来释放该数据包占用的内存。
9.如权利要求1至8中任意一项所述的数据包缓存管理方法,其特征在于,所述步骤1-5或1-7中,确定处理该数据包的处理模块后,如果有两个以上的模块同时写入数据包标签,则采用仲裁机制使其中任意一个模块写入操作有效,将该数据包标签写入到该模块的数据包标签队列中,其他模块处于等待状态,等待正在写入的模块完成写入。
10.如权利要求5或8所述的数据包缓存管理方法,其特征在于,写入或读出一个空闲内存标签到相应的空闲内存标签队列中时,如果有两个以上的模块同时写入或读出空闲内存标签队列,则采用仲裁机制使其中任意一个模块写入或读出操作有效,其他模块处于等待状态,等待正在写入或读出的模块完成写入或读出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信网络安全技术有限公司,未经北京天融信网络安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610156168.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现一卡多号短消息业务的装置及方法
- 下一篇:室内基站系统