千兆位防火墙设备的制作方法

文档序号:6355144阅读:287来源:国知局
专利名称:千兆位防火墙设备的制作方法
技术领域
千兆位防火墙设备属于防火墙设备技术领域。
2)当网络带宽增加到1Gbps时,为了进行双向流量控制,要求总线能够接收和发送双向数据,也就是达到4Gbps。普通的32位PCI总线仅仅能够提供1Gbps的带宽,根本不可能满足这种要求;而66MHz-64位的PCI总线也仅仅能够进行数据的传输,没有剩余时间给CPU进行报文的处理。解决的办法是采用半双工操作,也就是仅仅利用50%的网络带宽;或者是采用两个监控系统分别进行内、外网的过滤,但是这将带来成本增倍、系统复杂度增加、可靠性降低等不利因素;而且,即使如此,系统也需要空耗50%的时间进行报文在网卡和内存之间的传输。
3)普通百兆、千兆网卡并不是一个针对防火墙系统而定制的设备,在大量接收和发送报文的时候会频繁产生中断,系统在进行进程切换的时候将会消耗很多时间。如果中断没有及时响应,将直接导致报文的丢失,网络性能急剧恶化。
4)由于CPU需要进行报文分析,分析所消耗的时间并不是一个固定值,而是依赖于特定的规则。为了满足应用的要求,一个实用的防火墙系统需要对同一个报文进行几十甚至上百个不同的分析、判断,极可能消耗较多时间,也可能因为不能及时处理导致后继报文的成片丢失。
由于前述原因,在网络高带宽环境下,传统防火墙系统已经远远不能满足要求了。图2是一组实测的数据。为了测试传统防火墙方案的最佳效率,通过一台运行于Linux上的微机服务器配备双千兆网卡(66MHz-64位PCI卡)在内核级完成报文的转发,其间没有任何规则处理。即使如此,其结果也不能满足商业应用的要求。可以看出,对于一般网络报文的平均长度(200~300字节),传统防火墙系统对网络带宽的影响达到60%以上。
本发明的特征在于它含有内网接口单元,包括和内网相连的光电转换器(1I)以及与其互连的串并转换器(2I);外网接口单元,包括和外网相连的光电转换器(1E)以及与其互连的串并转换器(2E);现场可编程门阵列FPGA制成的核心数据处理单元,包括分别依次与上述串并转换器(2I)、(2E)的输出端串接的帧提取单元(3I)、(3E)和规则搜索控制单元(4I)(4E),分别依次与上述串并转换器(2I)、(2E)的输入端串接的上述规则搜索控制单元(4E)(4I)和转发控制单元(5E)(5I),分别顺次串接于上述帧提取单元(3I)、(3E)与转发控制单元(5I)(5E)间的报文缓冲单元(6I)、(6E),PCI接口单元(7),分别依次同时经内部总线P1、P2与上述PCI接口单元(7)、规则搜索控制单元(4I)(4E)相连的,交互连接有静态随机存储器SRAM(10)的SRAM接口单元(8)和交互连接有内容寻址存储器CAM(11)的CAM接口单元(9),其中的规则搜索控制单元(4I)(4E)各含有在输入端与帧提取单元(3I)、(3E)的报文参数信号输出端相连的同时又与上述CAM接口互连的CAM查询单元,在输入端与上述CAM查询单元输出端相连的同时又与上述SRAM接口互连并另行输出控制字的SRAM查询单元;SRAM(10);CAM(11)。所述的核心数据处理单元中的SRAM接口单元(8)与SRAM(10)互连,CAM接口单元(9)与CAM(11)互连。所述的核心数据处理单元中的CAM接口单元(9)与CAM(11)互连,CAM(11)的输出端与SRAM(10)的输入端相连,SRAM(11)的其他信号与CAM接口单元(9)互连。所述的核心数据处理单元中的规则搜索控制单元(4I)(4E)是输入端在与帧提取单元(3I)、(3E)的报文参数输出端相连的同时又与CAM接口单元(9)互连,且另行输出控制字的CAM查询单元。所述的帧提取单元(3I)、(3E)含有输入端与串并转换器(2I)、(2E)的数据输出端相连的帧同步单元;输入端与上述帧同步单元的输出端相连,而输出完整数据帧的输出端与上述报文缓冲单元(6I)、(6E)的输入端相连的解码单元;输入端与上述解码单元的输出端相连,而其输出报文参数的输出端与上述规则搜索控制单元(4I)(4E)的输入端相连的参数提取单元。所述的报文缓冲单元(6I)、(6E)是用以暂时保存接收到的完整数据帧的大容量先入先出存储器FIFO。所述的转发控制单元(5I)(5E)含有输入端与上述报文缓冲单元(6I)、(6E)的帧数据输出端相连的帧读取单元;输入端分别与上述帧读取单元的输出端和规则搜索控制单元(4I)(4E)的输出端相连的转发单元;输入端与上述转发单元输出端相连的封装单元以及输入端与上述封装单元输出端相连而输出端与串并转换器(2I)、(2E)的数据输入端相连的编码单元。
使用证明,它实现了预期目的。
图2现有防火墙系统平均网络帧长度与网络带宽的关系曲线。
图3本发明提出的千兆位防火墙设备的电路原理框图。
图4本发明提出的千兆位防火墙设备中规则搜索控制单元(4I)(4E)的电路原理框图,此时SRAM(10),CAM(11)分别与SRAM接口单元(8)、CAM接口单元(9)互连。
图5本发明提出的千兆位防火墙设备中规则搜索控制单元(4I)(4E)通过CAM接口单元(9)与CAM(11)、SRAM(10)的另一种连接方式图。
图6本发明提出的千兆位防火墙设备中帧提取单元(3I)、(3E)的电路原理框图。
图7本发明提出的千兆位防火墙设备中转发控制单元(5I)、(5E)的电路原理框图。
图3中光电转换器(1I)、(1E)的功能是将光信号转换成为电信号,或者相反的过程。光信号被转换为PECL(Positive Emitter Coupled Logic,正电压射极耦合逻辑)的电信号传送到串并转换器(2I)、(2E)进行处理;从串并转换器(2I)、(2E)发送过来的PECL信号被转换为光信号发送出去。
图3中串并转换器(2I)、(2E)是将从光电转换器传送过来的高速串行数据转换为并行的数据,及其相反的过程。
图3中的光电转换器(1I)、(1E)以及串并转换器(2I)、(2E)被统称为网络接口单元。连接内网的网络接口单元被称为内网接口单元;连接外网的网络接口单元被称为外网接口单元。
图3中核心数据处理单元的主要功能是进行数据的处理和转发,它包括帧提取单元(3I)、(3E)、报文缓冲单元(6I)、(6E)、转发控制单元(5I)(5E)、规则搜索控制单元(4I)(4E)、SRAM接口单元(8)、CAM接口单元(9)、PCI接口单元(7)等。核心数据处理单元的功能可以用FPGA(Field Programmable Gate Array,现场可编程门阵列)实现,型号是EP1K100。
图3中静态随机存储器SRAM(10)用于保存规则所对应的报文控制码。如果不使用SRAM(10)保存规则所对应的报文控制码,也可以直接通过内容寻址存储器CAM(11)的地址或类似信息进行报文控制。
图3中内容寻址存储器(11)中存储了规则的描述,当输入报文基本信息后,就可以输出匹配该报文的规则号。规则的描述包括但不限于报文接收接口、帧类型、IP报文类型、源IP地址、目标IP地址、源端口地址、目标端口地址等。
千兆防火墙系统中的规则搜索控制单元(4I)(4E)用于根据报文基本参数获得该报文的控制字。如图4所示,它包括SRAM查询单元,CAM查询单元。CAM查询单元将输入的报文参数投递到CAM接口查询存储于CAM中的规则,获得匹配该报文的规则号,并将该规则号投递到SRAM查询单元。SRAM查询单元利用该规则号通过SRAM接口查询SRAM,获得该规则的控制字。
另外,通过改变核心数据处理单元、CAM、SRAM的连接关系,如图5所示,还可以简化规则搜索控制单元(4I)(4E)。此时,规则搜索控制单元(4I)(4E)只需要CAM查询单元即可完成查询控制字的要求。CAM查询单元将报文参数输出到CAM接口单元,匹配该报文的规则号将直接输出到SRAM,相应的控制字则由SRAM返回搜索控制单元(4I)(4E)。
帧提取单元(3I)、(3E)的结构如图6所示,包括帧同步单元、解码单元、参数提取单元。
根据IEEE std.802.3(电子工程师协会802.3规范)的要求,帧同步单元需要根据输入数据中的报文起始定界符/S/以及报文结束定界符/T/来确定报文的始末,并将其输出到解码单元。解码单元则按照IEEE std.802.3的要求进行8B/10B的解码工作,获得可理解的报文数据。这些数据被输出到报文缓冲单元(6I)、(6E),同时被发送到参数提取单元。参数提取单元需要获得报文的源IP地址、目标IP地址等基本报文参数,这些信息被存放在报文的固定地址处,通过对输入数据进行简单计数即可获取。
其中,帧同步单元与解码单元位置可以互换。
报文缓冲单元(6I)、(6E)由大容量FIFO(First In First Out,先入先出存储器)组成。用于暂时保存接收到的完整数据帧。
转发控制单元(5I)(5E)的结构如图7所示,包括帧读取单元、转发单元、封装单元、编码单元。帧读取单元用于将完整的数据帧从报文缓冲单元(6I)、(6E)中读出。控制单元接收到报文控制字,并决定当前报文是转发还是丢弃。如果报文需要转发,则传递到封装单元,按照IEEE std.802.3的要求进行封装,然后由编码单元进行8B/10B的编码,最后发送出去。
SRAM接口单元与CAM接口单元的功能基本一致。核心数据处理模块通过SRAM接口单元对SRAM进行数据读写,通过CAM接口单元对CAM进行数据读、写、搜索等操作。在核心数据处理单元的内部,他们接受不同单元的数据传输请求,按照固定的优先级或者轮转,实现一个多路选通器的功能。
PCI接口单元实现了核心数据处理模块与主机系统的通讯。它的功能在PCI Local BusSpecification 2.1(PCI本地总线规范2.1版)中有具体的描述。本PCI接口单元基本实现了该规范中所定义的PCI主设备的要求。
其主要工作流程如下1.网络中的物理信号经过光电转换器(1I)、(1E)和串并转换器(2I)、(2E)变成10位的并行数据,并交给帧提取单元(3I)、(3E);2.帧提取单元(3I)、(3E)对数据流进行解码等操作,获得数据帧,将数据帧投递到报文缓冲单元(6I)、(6E),并将其相关信息发送到规则搜索控制单元(4I)(4E);3.报文缓冲单元(6I)、(6E)临时保存帧数据;4.规则搜索控制单元(4I)(4E)将报文信息通过CAM接口单元(9)投递到CAM(11),并获得匹配的规则号;5.规则搜索控制单元(4I)(4E)利用该报文所匹配的规则号,通过SRAM接口单元(8)查询SRAM(10),获得该报文的控制字;6.规则搜索控制单元(4I)(4E)将该报文的控制码投递到转发控制单元(5I)(5E);7.转发控制单元(5I)(5E)将帧从报文缓冲单元(6I)、(6E)中读出,根据控制码决定将该报文丢弃,或者按照以太网要求进行封装后转发到串并转换器(2I)、(2E);8.串并转换器(2I)、(2E)将并行数据转换为串行数据,然后通过光电转换器(1I)、(1E)变成光信号发送出去。
按照上面所述的方法,从内网接口接收到的帧通过核心数据处理单元的处理以后从外网接口发送出去;从外网接口接收到的报文从内网接口发送出去。核心数据处理单元直接查询CAM(11)以及SRAM(10)即可获得该报文是否允许转发,而不用将整个报文传递到微机系统,从而可以高速地进行报文转发控制,克服了软件处理的瓶颈。
权利要求
1.千兆位防火墙设备,含有网络接口单元和数据处理单元,其特征在于,它含有内网接口单元,包括和内网相连的光电转换器(1I)以及与其互连的串并转换器(2I);外网接口单元,包括和外网相连的光电转换器(1E)以及与其互连的串并转换器(2E);现场可编程门阵列FPGA制成的核心数据处理单元,包括分别依次与上述串并转换器(2I)、(2E)的输出端串接的帧提取单元(3I)、(3E)和规则搜索控制单元(4I)(4E),分别依次与上述串并转换器(2I)、(2E)的输入端串接的上述规则搜索控制单元(4E)(4I)和转发控制单元(5E)(5I),分别顺次串接于上述帧提取单元(3I)、(3E)与转发控制单元(5I)(5E)间的报文缓冲单元(6I)、(6E),PCI接口单元(7),分别依次同时经内部总线P1、P2与上述PCI接口单元(7)、规则搜索控制单元(4I)(4E)相连的,交互连接有静态随机存储器SRAM(10)的SRAM接口单元(8)和交互连接有内容寻址存储器CAM(11)的CAM接口单元(9),其中的规则搜索控制单元(4I)(4E)各含有在输入端与帧提取单元(3I)、(3E)的报文参数信号输出端相连的同时又与上述CAM接口互连的CAM查询单元,在输入端与上述CAM查询单元输出端相连的同时又与上述SRAM接口互连并另行输出控制字的SRAM查询单元;SRAM(10);CAM(11)。
2.根据权利要求1所述的千兆位防火墙设备,其特征在于所述的核心数据处理单元中的SRAM接口单元(8)与SRAM(10)互连,CAM接口单元(9)与CAM(11)互连。
3.根据权利要求1所述的千兆位防火墙设备,其特征在于所述的核心数据处理单元中的CAM接口单元(9)与CAM(11)互连,CAM(11)的输出端与SRAM(10)的输入端相连,SRAM(11)的其他信号与CAM接口单元(9)互连。
4.根据权利1或3所述的千兆位防火墙设备,其特征在于所述的核心数据处理单元中的规则搜索控制单元(4I)(4E)是输入端在与帧提取单元(3I)、(3E)的报文参数输出端相连的同时又与CAM接口单元(9)互连,且另行输出控制字的CAM查询单元。
5.根据权利要求1所述的千兆位防火墙设备,其特征在于所述的帧提取单元(3I)、(3E)含有输入端与串并转换器(2I)、(2E)的数据输出端相连的帧同步单元;输入端与上述帧同步单元的输出端相连,而输出完整数据帧的输出端与上述报文缓冲单元(6I)、(6E)的输入端相连的解码单元;输入端与上述解码单元的输出端相连,而其输出报文参数的输出端与上述规则搜索控制单元(4I)(4E)的输入端相连的参数提取单元。
6.根据权利要求1所述的千兆位防火墙设备,其特征在于所述的报文缓冲单元(6I)、(6E)是用以暂时保存接收到的完整数据帧的大容量先入先出存储器FIFO。
7.根据权利要求1所述的千兆位防火墙设备,其特征在于所述的转发控制单元(5I)(5E)含有输入端与上述报文缓冲单元(6I)、(6E)的帧数据输出端相连的帧读取单元;输入端分别与上述帧读取单元的输出端和规则搜索控制单元(4I)(4E)的输出端相连的转发单元;输入端与上述转发单元输出端相连的封装单元以及输入端与上述封装单元输出端相连而输出端与串并转换器(2I)、(2E)的数据输入端相连的编码单元。
全文摘要
千兆位防火墙设备属于防火墙技术领域,其特征在于,它含有内、外网接口单元,它含有依次互连的光电转换器和串并转换器;核心数据处理单元,它含有分别与内、外网接口单元中串并转换器输出端依次串接的帧提取单元、规则搜索控制单元,分别与内、外网接口单元中串并转换器输入端依次串接的上述规则搜索控制单元、转发控制单元,分别顺次串接于帧提取单元和转发控制单元间的报文缓冲单元,PCI总线接口单元,分别经内部总线与PCI总线接口单元、各规则搜索控制单元互连的SRAM的和CAM(内容寻址存储器)的接口单元,SRAM和CAM。它可以用现场可编程门阵列FPGA来构成上述核心数据处理单元。它针对现有技术的缺点,采用全硬件方式,高效地进行报文的规则匹配,克服软件瓶颈,实现千兆位防火墙安全控制。
文档编号G06F11/14GK1397890SQ0212930
公开日2003年2月19日 申请日期2002年8月30日 优先权日2002年8月30日
发明者张承, 蒋东兴, 刘启新 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1