CN1170231C - 千兆位防火墙设备 - Google Patents
千兆位防火墙设备 Download PDFInfo
- Publication number
- CN1170231C CN1170231C CNB02129304XA CN02129304A CN1170231C CN 1170231 C CN1170231 C CN 1170231C CN B02129304X A CNB02129304X A CN B02129304XA CN 02129304 A CN02129304 A CN 02129304A CN 1170231 C CN1170231 C CN 1170231C
- Authority
- CN
- China
- Prior art keywords
- unit
- output terminal
- input end
- control module
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
千兆位防火墙设备属于防火墙技术领域,含有:内、外网接口单元,各含顺串的光电的和串并的转换器;核心数据处理单元,含有:第一第二顺串的帧提取、报文缓冲和转发控制的单元,第一第二帧提取单元的输入端分别与内、外网接口的第一第二串并转换器相连,第一第二转发控制单元的输出端分别与外、内网接口的第一第二串并转换器相连;分别与第一第二帧提取单元输出端和转发控制单元输入端相连的第一第二规则搜索控制单元;经接口单元与PCI总线互连的第一第二总线;分别经第一第二总线与第一第二规则搜索控制单元分别互连的SRAM的和CAM的接口;SRAM、CAM分别与相应接口连接。可高效地进行报文规则匹配,实现千兆位网络安全控制。
Description
技术领域
千兆位防火墙设备属于防火墙设备技术领域。
背景技术
现在几乎所有的防火墙系统都采用微机主板加上双网卡组成基于IA32(32bit IntelArchitecture,32位Intel体系结构)结构的微机过滤系统。在该系统里,从一个网卡上接收的报文经过PCI(Peripheral Component Interfaces,外部设备接口)总线投递到系统内存,经由CPU(Central Processing Unit,中央处理单元)处理以后再通过PCI总线传送到另一个网卡,然后发送出去。这类系统通过安装在微机中的网卡透明地进行报文的接收和转发,而对网络数据的处理全部由后台软件承担。其结构如图1所示。其中,NIC(NetworkInterface Card)是网络接口卡,Bridge是桥设备,PCI Local Bus是外部设备总线,A表示NICl接收数据帧,B表示NICl把数据帧通过外部设备总线和桥设备传输到内存(Memory)中,C表示把数据帧读取到CPU,D表示CPU分析该数据帧是否转发,E表示当需要转发时,CPU进行适当处理将数据传输到NIC2内存缓冲区,F表示把数据帧通过外部设备总线传输到NIC2,G表示NIC2发送该数据帧。这类系统在低端应用中能够很好地工作,但是在高带宽环境下就成为制约网络效率的瓶颈。这主要表现在如下几个方面:
1)在百兆防火墙系统中,由于网卡等设备需要进行报文的缓冲,并等待CPU的处理,这将消耗较多时间,会导致TCP(Transfer Control Protocol,传输控制协议)连接速度下降,根据具体实现,对连接速度的影响可能高达30%。在千兆防火墙系统中这种影响更加显著。
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)组成;核心数据处理单元,它含有:
顺次串接的第一帧提取单元(3I)、第一报文缓冲单元(6I)和第一转发控制单元(5I),其中第一帧提取单元(3I)的输入端与所述第一串并转换器(2I)的输出端相连,第一转发控制单元(5I)的输出端与所述外网接口单元中的第二串并转换器(2E)的输入端相连;
顺次串接的第二帧提取单元(3E)、第二报文缓冲单元(6E)和第二转发控制单元(5E),其中第二帧提取单元(3E)的输入端与所述第二串并转换器(2E)的输出端相连,第二转发控制单元(5E)的输出端与所述内网接口单元中的第一串并转换器(2I)的输入端相连;
第一规则搜索控制单元(4I),它的输入端与所述第一帧提取单元(3I)的输出端相连,它的输出端与所述第一转发控制单元(5I)的输入端相连;
第二规则搜索控制单元(4E),它的输入端与所述第二帧提取单元(3E)的输出端相连,它的输出端与所述第二转发控制单元(5E)的输入端相连;
SRAM接口单元(8),它经第一内部总线与所述第一、第二规则搜索控制单元(4I)、(4E)互连;
CAM接口单元(9),它经第二内部总线与所述第一、第二规则搜索控制单元(4I)、(4E)互连;
PCI总线,它经PCI接口单元与第一、第二内部总线相连;
SRAM(10)与CAM(11),他们分别依次与所述核心数据处理单元中的SRAM接口单元(8)、CAM接口单元(9)互连;
在核心数据处理单元中,所述的第一、第二规则搜索控制单元(4I)、(4E)各含有:
第一、第二CAM查询单元,它们的输入端各自与第一、第二帧提取单元(3I)、(3E)的输出端相连,它们又各自与第二内部总线互连;
第一、第二SRAM查询单元,它们的输入端各自与第一、第二CAM查询单元的输出端相连,它们的输出端各自与第一、第二转发控制单元(5I)、(5E)相连,它们又各自与第一内部总线互连;
在核心数据处理单元中,所述的第一、第二帧提取单元(3I)、(3E)各含有:顺次串接的第一、第二帧同步单元、第一、第二解码单元和第一、第二参数提取单元,其中第一、第二帧同步单元的输入端各自顺次与所述内网接口单元中第一串并转换器(2I)的输出端、所述外网接口单元中第二串并转换器(2E)的输出端相连;第一、第二解码单元的输出端各自与第一、第二报文缓冲单元(6I)、(6E)的输入端相连;第一、第二参数提取单元的输出端各自与第一、第二规则搜索控制单元(4I)、(4E)的输入端相连;
在核心数据处理单元中,所述的第一、第二转发控制单元(5I)、(5E)各含有:顺次串接的第一、第二帧读取单元、第一、第二转发单元、第一、第二封装单元与第一、第二编码单元,其中,第一、第二帧读取单元的输入端各自分别与第一、第二报文缓冲单元(6I)、(6E)的输出端相连,第一、第二编码单元的输出端各自分别顺次与所述外网接口单元中第二串并转换器(2E)的输入端、内网接口单元中第一串并转换器(2I)的输入端相连。
所述的核心数据处理单元中的第一、第二报文缓冲单元(6I)、(6E)是用以暂时保存接收到的完整数据帧的大容量先入先出存储器。
使用证明,按照上面所述的结构,从内网接口接收到的帧通过核心数据处理单元的处理以后从外网接口发送出去;从外网接口接收到的报文从内网接口发送出去;核心数据处理单元直接查询CAM 11以及SRAM 10即可获得该报文是否允许转发,而不用将整个报文传递到微机系统,从而可以高速地进行报文转发控制,克服了软件处理的瓶颈。
附图说明
图1现有防火墙系统的原理示意图。
图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的电路原理框图。
具体实施方式
本发明涉及的千兆位防火墙设备,由用芯片HFBR-53D5制的第一、第二光电转换器1I、1E,芯片HDMP-1646A制的第一、第二串并转换器2I、2E顺次串接而成的内、外网接口单元,核心数据处理单元,静态随机存储器SRAM 10和内容寻址存储器CAM 11顺次串接而组成。
图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变成光信号发送出去。
Claims (2)
1、千兆位防火墙设备,含有网络接口单元和核心数据处理单元,其特征在于,
网络接口单元,它含有:
内网接口单元,由顺次互连的第一光电转换器(1I)和第一串并转换器(2I)组成;
外网接口单元,由顺次互连的第二光电转换器(1E)和第二串并转换器(2E)组成;
核心数据处理单元,它含有:
顺次串接的第一帧提取单元(3I)、第一报文缓冲单元(6I)和第一转发控制单元(5I),其中第一帧提取单元(3I)的输入端与所述第一串并转换器(2I)的输出端相连,第一转发控制单元(5I)的输出端与所述外网接口单元中的第二串并转换器(2E)的输入端相连;
顺次串接的第二帧提取单元(3E)、第二报文缓冲单元(6E)和第二转发控制单元(5E),其中第二帧提取单元(3E)的输入端与所述第二串并转换器(2E)的输出端相连,第二转发控制单元(5E)的输出端与所述内网接口单元中的第一串并转换器(2I)的输入端相连;
第一规则搜索控制单元(4I),它的输入端与所述第一帧提取单元(3I)的输出端相连,它的输出端与所述第一转发控制单元(5I)的输入端相连;
第二规则搜索控制单元(4E),它的输入端与所述第二帧提取单元(3E)的输出端相连,它的输出端与所述第二转发控制单元(5E)的输入端相连;
SRAM接口单元(8),它经第一内部总线与所述第一、第二规则搜索控制单元(4I)、(4E)互连;
CAM接口单元(9),它经第二内部总线与所述第一、第二规则搜索控制单元(4I)、(4E)互连;
PCI总线,它经PCI接口单元与第一、第二内部总线相连;
SRAM(10)与CAM(11),他们分别依次与所述核心数据处理单元中的SRAM接口单元(8)、CAM接口单元(9)互连;
在核心数据处理单元中,所述的第一、第二规则搜索控制单元(4I)、(4E)各含有:
第一、第二CAM查询单元,它们的输入端各自与第一、第二帧提取单元(3I)、(3E)的输出端相连,它们又各自与第二内部总线互连;
第一、第二SRAM查询单元,它们的输入端各自与第一、第二CAM查询单元的输出端相连,它们的输出端各自与第一、第二转发控制单元(5I)、(5E)相连,它们又各自与第一内部总线互连;
在核心数据处理单元中,所述的第一、第二帧提取单元(3I)、(3E)各含有:顺次串接的第一、第二帧同步单元、第一、第二解码单元和第一、第二参数提取单元,其中第一、第二帧同步单元的输入端各自顺次与所述内网接口单元中第一串并转换器(2I)的输出端、所述外网接口单元中第二串并转换器(2E)的输出端相连;第一、第二解码单元的输出端各自与第一、第二报文缓冲单元(6I)、(6E)的输入端相连;第一、第二参数提取单元的输出端各自与第一、第二规则搜索控制单元(4I)、(4E)的输入端相连;
在核心数据处理单元中,所述的第一、第二转发控制单元(5I)、(5E)各含有:顺次串接的第一、第二帧读取单元、第一、第二转发单元、第一、第二封装单元与第一、第二编码单元,其中,第一、第二帧读取单元的输入端各自分别与第一、第二报文缓冲单元(6I)、(6E)的输出端相连,第一、第二编码单元的输出端各自分别顺次与所述外网接口单元中第二串并转换器(2E)的输入端、内网接口单元中第一串并转换器(2I)的输入端相连。
2、根据权利要求1所述的千兆位防火墙设备,其特征在于:所述的核心数据处理单元中的第一、第二报文缓冲单元(6I)、(6E)是用以暂时保存接收到的完整数据帧的大容量先入先出存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB02129304XA CN1170231C (zh) | 2002-08-30 | 2002-08-30 | 千兆位防火墙设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB02129304XA CN1170231C (zh) | 2002-08-30 | 2002-08-30 | 千兆位防火墙设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1397890A CN1397890A (zh) | 2003-02-19 |
CN1170231C true CN1170231C (zh) | 2004-10-06 |
Family
ID=4746185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB02129304XA Expired - Fee Related CN1170231C (zh) | 2002-08-30 | 2002-08-30 | 千兆位防火墙设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1170231C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447988A (zh) * | 2008-11-25 | 2009-06-03 | 中国船舶重工集团公司第七0七研究所 | 一种基于fpga的千兆数据通信卡 |
-
2002
- 2002-08-30 CN CNB02129304XA patent/CN1170231C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1397890A (zh) | 2003-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8917738B2 (en) | Multicasting traffic manager in a network communications processor architecture | |
US9300597B2 (en) | Statistics module for network processors in virtual local area networks | |
US7599289B2 (en) | Electronic communication control | |
US9444737B2 (en) | Packet data processor in a communications processor architecture | |
CN107426246B (zh) | 基于FPGA的万兆以太网和RapidIO协议间高速数据交换系统 | |
US20030099254A1 (en) | Systems and methods for interfacing asynchronous and non-asynchronous data media | |
US8873550B2 (en) | Task queuing in a multi-flow network processor architecture | |
US8949578B2 (en) | Sharing of internal pipeline resources of a network processor with external devices | |
CN103618673A (zh) | 一种保障服务质量的片上网络路由方法 | |
US8885480B2 (en) | Packet priority in a network processor | |
GB2409073A (en) | Dedicated connection between CPU and network interface in multi-processor systems | |
CN113709047A (zh) | 一种汽车域控制器数据转发系统及方法 | |
CN1832488A (zh) | 实现SPI4设备与PCI Express设备互连的系统及方法 | |
CN210112025U (zh) | 一种智能网络加速平台 | |
CN1741504A (zh) | 基于应用的流量控制方法及进行应用流量控制的网络设备 | |
CN1526102A (zh) | 通信控制器和转换信息的方法 | |
CN1826768A (zh) | 利用动态资源分配进行的大规模排队的可扩展方法 | |
CN1170231C (zh) | 千兆位防火墙设备 | |
CN1929435A (zh) | 分组传送装置与方法 | |
CN107196879A (zh) | Udp报文的处理方法、装置以及网络转发装置 | |
CN100337170C (zh) | 一种网络隔离型工业现场控制控制器及其实现方法 | |
CN1476212A (zh) | 一种实现同步数字体系上传送数据包的方法和装置 | |
CN1151633C (zh) | 千兆位计费系统 | |
US11636061B2 (en) | On-demand packetization for a chip-to-chip interface | |
CN1187937C (zh) | 嵌入式现场总线网关 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20041006 Termination date: 20090930 |