融合多层并行处理的网络接入设备一体化硬件实现方法

文档序号:7684438阅读:222来源:国知局
专利名称:融合多层并行处理的网络接入设备一体化硬件实现方法
技术领域
本发明涉及网络通信、网络安全和组网技术领域,特别涉及一种网络 接入的融合方法及设备。
背景技术
随着Internet的高速发展,越来越多的个人和企业加入其中,随之而来的 网络安全问题也越来越受重视。目前,网络威胁呈现两个主要的特点
1) 网络带宽越来越大,光纤传输能力正在沿着每7个月传输带宽增大 2倍的超摩尔定律速度发展,现在企业级接入带宽已经达到了千兆级。快 速增长的网络带宽为网络威胁提供了更多的空间。
2) 近年来,网络威胁的种类越来越多,覆盖了互联网协议的各个层次。 在链路层、网络层上常见的威胁有地址欺骗、拒绝服务等,在传输层上除 了常见的拒绝服务之外还存在端口扫描等,而在应用层上则存在病毒、木 马、信息窃听与篡改等。
相对于网络威胁的迅速发展,传统网络安全设备已经无法满足要求。 具体分析,传统的网络安全设备主要存在以下两个缺点性能低和功能单
传统的防火墙一般是基于单一通用CPU或者基于网络处理器(NP,
7Network Processor)实现。采用CPU实现时,所有的安全业务都在一个CPU 上完成,整体的处理能力通常低于百兆。采用NP实现需要专用的开发工 具和特别的开发库支持以及特有的编程模型,性能和稳定性都无法保障。 此外,传统的设备功能单一,需要购买多台网络设备才能完成接入功能, 这其中包括防火墙、路由器和交换机等。

发明内容
本发明的目的在于克服上述不足,将传统上分离实现的二层交换机(数 据链路层交换设备),三层路由器(网络层转发设备)和更高层的防火墙(传 输层,应用层接入控制设备),采用分层并行预处理、分层结果融合的方法 一体化实现于单个芯片中, 一方面能够实现单次解包操作完成所有处理, 极大的提高性能,可支持千兆速率接入,另一方面,基于该芯片能够可迅 速形成一体化网络接入设备,实现单台设备完成网络接入功能,降低用户 成本和设备维护难度。
本发明的目的是这样实现的 一种融合多层并行处理的网络接入设备 一体化硬件实现方法,所述方法包括合路输入、分层预处理、分层结果融 合和分路输出四个主要处理模块,四个模块依次串行完成,其中,
所述合路输入模块将接入设备多个端口输入的数据包进行合路,然后 单路输入至分层预处理模块,这样可实现所有端口输入数据单通路处理, 节省大量硬件资源;
所述分层预处理模块首先将输入数据包按照TCP/IP网络五层协议模 型的包结构进行解包操作,包分解后所得的各个字段按照所属层次被对应的2层、3层、3—4层和5层预处理通道取走,实现4通道分层并行预处 理,分别完成交换、路由、安全访问控制和应用层控制功能;
所述分层结果融合模块接收上述4通道分层并行预处理的处理结果, 对所有通道的预处理结果进行融合,得出该数据包的最终处理结果——上 交、拒绝、二层交换、三层转发和四层策略转发;
所述分路输出模块将输入的数据包按照其目的输出接口进行分路,并 将该包输出到对应的出口上。
进一步,所述分层预处理模块包括四个并行的预处理通道,分别是数 据链路层预处理通道(2层预处理通道),网络层预处理通道(3层预处理 通道,完成路由预处理功能),网络层、传输层合并预处理通道(3—4层 预处理通道,完成主要的安全过滤预处理功能)和应用层预处理通道(5 层预处理通道,完成应用层过滤预处理功能)。四个通道并行实现,可实现 数据包输入后的四通道并行处理,极大地提高性能。
数据链路层预处理通道(2层预处理通道)完成交换机主要处理功能, 查找目的MAC表决定报文出口。包括
1) 二层数据域提取。从输入数据包中提取出数据链路层的头部各个数 据域,包括源MAC、目的MAC和协议类型等。
2) 报文分拣。包括根据目的MAC地址判断报文的层次(是二层交换 报文还是需要三层转发报文);根据协议类型判断该包是协议报文(需上交 CPU的协议栈),还是普通数据包(正常转发)。
3) 目的MAC査表。根据目的MAC査找该目的MAC对应的出接口。4) 査表结果判断。包括根据査表结果判断报文的入虚拟局域网(Virtual Local Area Network, VLAN)和出VLAN是否一致;根据报文中源MAC地 址和目的MAC地址所在的端口是否相同决定是否丢弃该报文。
5) 出口标签粘贴及输出。将目的MAC査表结果的出接口以标签形式 粘贴在数据包的头部,并输出。
网络层预处理通道(3层预处理通道)完成路由器主要处理功能,査 找路由表决定报文出口。包括.-
1 )三层数据域提取。从输入数据包中提取出网络层头部的各个数据域, 所提取的数据域是IP首部的基本头(20字节)和选项(如果有的话),包 括版本号、首部长度、服务类型、协议、源IP地址和目的IP地址等。
2) IP头部域检査及更新。对网络层各个数据域进行正确性和合法性检 查,检査的结果包括将数据包丢弃、上交CPU或者正常转发,同时将数据 包的存活时间(TimeToLive, TTL)域减1。
3) 路由査表。根据目的IP地址查找路由器表,得出下一跳出接口。
4) 出口标签粘贴及输出。将路由查表结果的下一跳出接口以标签形式 粘贴在数据包三层头部,并输出。
网络层、传输层合并预处理通道(3—4层预处理通道)完成防火墙主 要功能,包括安全过滤和网络地址翻译(Network Address Translation, NAT)。 具体包括
1) 3—4层数据域提取。从输入数据包中提取出网络层和传输层头部 的数据域,其中,网络层提取的数据域包括源IP地址,目的IP地址,协议类型(IP层),传输层提取的数据域包括源端口,目的端口等。
2) 状态过滤。根据五元组信息(源IP地址、目的IP地址、源端口、 目的端口和协议类型)査找硬件状态表表项,看是否存在该连接,如果有, 确定连接的状态(包括允许、丢弃和上交CPU等)。
3) 目的地址转换(DNAT)。査找硬件NAT表,并将数据包中原来的 目的IP地址替换为査表结果中的IP地址。
4) 策略路由。根据査DNAT表命中的目的IP地址查找策略路由表, 得出下一跳出接口。
5) 规则过滤。查找硬件规则表,根据所定义的过滤规则过滤信息包, 包括允许数据包通过,拒绝数据包通过,丢弃等。
6) 源地址转换(SNAT)。査找硬件NAT表,并将数据包中原来的源 IP地址替换为査表结果中的IP地址。
应用层预处理通道(5层预处理通道)完成防火墙上层安全过滤功能, 例如HTTP的URL过滤等,具体包括
1) 五层数据域提取。从输入数据中提取出应用层数据,即数据包的数 据部分。
2) 模式匹配。根据内容过滤的规则(例如HTTP的URL, EMAIL的 收件人、发件人名单等),将提取出的五层数据进行对应模式匹配。
3) 匹配结果输出。将各种模式匹配的结果组合后输出,包括HTTP的 URL, EMAIL的收、发件人等模式匹配的结果。
分层结果融合模块用来接收分层预处理模块的四个并行的预处理通道2层、3层、3—4层和5层预处理通道的处理结果,对所有通道的预 处理结果进行融合,得出该数据包的最终处理结果。 具体的预处理结果融合方法如下1) 需丢弃的数据包。若分层预处理中任一层的处理结果为丢弃,则该 包最终的处理结果为丢弃。2) 上交CPU的数据包。若分层预处理任一层的处理结果为非丢弃, 且分层预处理任一层的处理结果为上交CPU,则该包需要上交CPU。3) 转发的数据包。若分层预处理任一层的处理结果为非丢弃且非上交 CPU,并且数据包2层预处理判断为二层内交换的数据包,则直接按照二 层的目的MAC地址査表所得的出接口进行转发。若判断结果为非二层交 换数据包,且策略路由查表命中,则按照三至四层预处理的策略路由查表 所得出接口转发;若判断结果为非二层交换数据包,且策略路由查表未命 中,则按照三层预处理路由查表的所得的出接口转发。所述分路输出模块将输入的数据包按照其目的输出接口进行分路,并 将该包输出到对应的出口线路上。 本发明的有益效果提供了一种支持二层交换、三层路由和多层次网络安全功能的一体化 电路实现方法,只需一次解包操作便可实现所有接入功能,大大加快了处 理速度,可实现吉比特级速率支持。该方法适合芯片实现,以该芯片为核 心可迅速形成一体化网络接入设备,实现交换、路由器和防火墙功能的三 合一,降低了设备成本,简化了网络设备的管理和维护,提供了简单、高速、灵活的网络接入。


图1为互联网协议模型的结构示意框图。图2为本发明的流程框图。图3为合路输入模块实现原理框图。图4为分路输出模块实现原理框图。
具体实施方式
为网络互联而开发的最重要协议是众所周知的TCP/IP互联网协议 (TCP/IP Internet Protocols), TCP / IP网络协议模型(也称为互联网 分层模型)分为五层,由上至下分别是应用层、传输层、网络层、链路 层和物理层,如图l所示。企业级接入网是网络的基本单元,近年来发展迅速,为社会发展做出 了巨大贡献。本发明公布了一种支持二层交换、三层路由和多层次网络安 全功能的一体化电路实现方法,适合于芯片实现,以该芯片为核心可迅速 实现交换、路由器和防火墙功能的三合一,能够为企业级用户提供高性能、 高安全、低成本、易维护的一体化接入设备。下面以接入设备千兆接口输入数据包输入为例,详述该方法流程。该方法包括四个依次串行连接的处理模块,分别是合路输入模块 (100),分层预处理模块(200),分层结果融合模块(300)和分路输出模 块(400),如图2所示。相应的,该方法处理流程包括四个步骤步骤l:数据包输入后,首先进入合路输入处理模块(100),由该模块将外部N个端口 (N根据具体接入设备而定)输入的数据包分路进行缓 存,然后调度合成一路,如图3所示。这样,所有端口输入数据可利用单 通路完成处理,节省大量硬件资源。步骤2:分层预处理模块200从数据包入缓存模块100中取出完整的 数据包,完成2层交换、3层路由和更上层的安全监控等预处理功能,并 将各层预处理结果(包括各层的正常转发、上交CPU和丢弃结果,还包括 下一跳出口结果)交给分层结果融合模块(300)。步骤3:分层结果融合模块(300)接收分层预处理结果,并根据各种 预处理结果进行综合判断,生成数据包的最终硬件处理结果,包括1) 需丢弃的数据包。若分层预处理中任一层的处理结果为丢弃,则该 包最终的处理结果为丢弃。2) 上交CPU的数据包。若分层预处理任一层的处理结果为非丢弃, 且分层预处理任一层的处理结果为上交CPU,则该包需要上交CPU。3) 转发的数据包。若分层预处理任一层的处理结果为非丢弃且非上交 CPU,并且数据包2层预处理判断为二层内交换的数据包,则直接按照二 层的目的MAC地址查表所得的出接口进行转发。若判断结果为非二层交 换数据包,且策略路由査表命中,则按照三至四层预处理的策略路由查表 所得出接口转发;若判断结果为非二层交换数据包,且策略路由查表未命 中,则按照三层预处理路由査表的所得的出接口转发。对需要转发的数据包,将最终的出接口粘贴在数据包头部,封装输出 给分路输出模块。步骤4:对步骤3中处理结果为需要转发的数据包,由分路输出模块按照其出接口输出到对应的出口线路上。具体实现的原理如图4所示。 进一步的,步骤2中包括四个并行的预处理通道,如图2所示,分别是,211 — 215为数据包的二层预处理通道,完成链路层数据处理,实现交 换机主要功能;221—224为数据包的三层预处理通道,完成网络层数据处理,实现路 由器主要功能;231—236为数据包的三至四层预处理通道,完成数据包的安全监控,实现防火墙的状态过滤和NAT功能;241—243为数据包的五层预处理通道,实现防火墙的应用层过滤功能。其中,所对应的二层预处理流程(211—215)具体为211: 二层数据域提取。数据包输入后,首先从中提取出数据链路层的头部各个数据域,包括源MAC、目的MAC和协议类型;212:报文分拣。包括根据步骤211中所提取的目的MAC地址判断报文的层次(是二层交换报文还是需要三层转发报文);根据协议类型判断该包是否为协议报文(需上交CPU的协议栈),还是普通数据包(正常转发); 213:目的MAC査表。根据步骤212的处理结果判断是否进行目的MAC查表,若该数据包是二层交换报文,且非协议报文,则根据目的MAC查找出接口;214:查表结果判断。根据步骤213的结果做进一步判断,包括根据目的MAC査表结果判断报文的入VLAN和出VLAN是否一致,根据报文 中源MAC地址和目的MAC地址所在的端口是否相同决定是否丢弃该报 文,若入VLAN和出VLAN —致且源MAC和目的MAC所在接口不相同, 则将査表结果 递交215;215:出口标签粘贴及输出。接收214査表结果,并将结果的出接口以 标签形式粘贴在数据包的二层头部,随同该层内各个步骤的预处理结果一 并输出至分层结果融合模块(300)。其中,所对应的三层预处理流程(221—224)具体为221:三层数据域提取。数据包输入后,首先从中提取出网络层头部的 各个数据域,提取数据是IP首部的基本头(20字节)和选项(如果有的话), 包括版本号、首部长度、服务类型、协议、源IP地址和目的IP地址等;222: IP头部域检査及更新。对步骤221中所提取的各个数据域的正确 性和合法性进行检査,得出检査的结果,包括丢弃(版本号错误的数据 包,校验和错误的数据包等),上交CPU (路由査表未能命中的数据包), 正常转发。同时将数据包的TTL域减1;223:路由査表。对步骤222输入的数据包,根据其目的IP地址查找 路由表,若査表命中,则将得下一跳出接口结果送交224;224:出口标签粘贴及输出。接收223的査表结果,将结果的出接口以 标签形式粘贴在数据包三层头部,随同该层内各个步骤的预处理结果一并 输出至分层结果融合模块(300)。其中,所对应的三至四层预处理流程(231—235)具体为-231:三至四层数据域提取。从输入数据包中提取出网络层和传输层头 部,包括三层中的源IP地址,目的IP地址,协议(IP层)和四层中的TCP 头部和UDP头部,数据域包括源端口号和目的端口号等;232:状态过滤。根据步骤221中所提取的五元组信息(源地址、目的 地址、源端口、目的端口和协议类型)査找硬件状态表,看是否查表命中, 如果命中,表明输入五元组对应连接已经存在,读出该连接的状态(包括 允许通过、丢弃和上交CPU等);233:目的地址转换(DNAT)。对步骤232中允许通过的数据包,査 找硬件NAT表,根据査表结果将数据包中的目的IP替换为新的目的IP地 址;234:策略路由。根据步骤233中的査表结果——新的目的IP地址查 找策略路由表,若查表命中,则将得下一跳出接口结果送交235;235:规则过滤。对步骤232中未能查表命中的数据包,在完成步骤 232后,需査找硬件规则表,得出该包的规则表结果,包括允许通过、丢 弃和上交CPU等;236:源地址转换(SNAT)。对步骤232或者235允许通过的数据包, 查找硬件NAT表,根据査表结果替换数据包的源IP地址。最后将该层内 各个步骤的预处理结果输出至分层结果融合模块(300)。其中,所对应的五层预处理流程(241—243)具体为241:五层数据域提取。从输入数据中提取出应用层数据,即数据包的数据部分;242:模式匹配。根据内容过滤的规则(例如HTTP的URL, EMAIL 的收件人、发件人名单等),将241提取出的五层数据进行对应模式匹配, 具体模式匹配的方法很多,例如常见的Bloom—filter方法等;243:匹配结果输出。将各种模式匹配的结果组合后输出,包括HTTP 的URL, EMAIL的收、发件人等模式匹配的结果。最后将该层内各个步 骤的预处理结果输出至分层结果融合模块(300)。上述方法可利用FPGA或者ASIC实现,当所述接入设备非千兆接口 时,上述方法的原理和流程不变,仅需根据具体接口类型提取相应的数据 链路层、网络层、传输层和应用层的数据,按照上述方法实现一体化处理。
权利要求
1、一种融合多层并行处理的网络接入设备一体化硬件实现方法,其特征在于所述方法包括合路输入、分层预处理、分层结果融合和分路输出四个处理模块,四个模块依次串行完成,其中,所述合路输入模块将接入设备多个端口输入的数据包进行合路,然后单路输入至分层预处理模块;所述分层预处理模块首先将输入数据包按照TCP/IP网络五层协议模型的包结构进行解包操作,包分解后所得的各个字段按照所属层次被对应的2层、3层、3-4层和5层预处理通道取走,实现4通道分层并行预处理,分别完成交换、路由、安全访问控制和应用层控制功能;所述分层结果融合模块接收上述4通道分层并行预处理的处理结果,对所有通道的预处理结果进行融合,得出该数据包的最终处理结果——上交、拒绝、二层交换、三层转发和四层策略转发。所述分路输出模块将输入的数据包按照其目的输出接口进行分路,并将该包输出到对应的出口上。
2、 根据权利要求1所述的一种融合多层并行处理的网络接入设备一体 化硬件实现方法,其特征在于所述分层预处理模块包括四个并行的预处 理通道,分别是2层、3层、3—4层和5层预处理通道,该2层、3层、3 一4层和5层预处理通道分别对应数据链路层预处理通道,网络层预处理 通道,网络层、传输层合并预处理通道和应用层预处理通道,四个通道并行实现,实现数据包输入后的四通道并行处理。
3、根据权利要求2所述的一种融合多层并行处理的网络接入设备一体 化硬件实现方法,其特征在于所述数据链路层预处理通道包括1) 二层数据域提取从输入数据包中提取出数据链路层的头部各个数据域,包括源MAC、 目的MAC和协议类型,2) 报文分拣包括根据目的MAC地址判断报文的层次,根据协议类型判断该包是 协议报文,还是普通数据包,3) 目的MAC查表根据目的MAC査找该目的MAC对应的出接口,4) 查表结果判断包括根据査表结果判断报文的入虚拟局域网和出VLAN是否一致,根 据报文中源MAC地址和目的MAC地址所在的端口是否相同决定是否丢 弃该报文,5) 出口标签粘贴及输出将目的MAC查表结果的出接口以标签形式粘贴在数据包的头部,并 输出;所述网络层预处理通道包括 1 )三层数据域提取从输入数据包中提取出网络层头部的各个数据域,所提取的数据域是 IP首部的基本头,如果有选项的话还有选项,包括版本号、首部长度、服 务类型、协议、源IP地址和目的IP地址,2) IP头部域检查及更新对网络层各个数据域进行正确性和合法性检查,检查的结果包括将数 据包丢弃、上交CPU或者正常转发,同时将数据包的存活时间域减l,3) 路由査表根据目的IP地址査找路由器表,得出下一跳出接口,4) 出口标签粘贴及输出将路由査表结果的下一跳出接口以标签形式粘贴在数据包三层头部, 并输出;所述网络层、传输层合并预处理通道包括-1) 3—4层数据域提取从输入数据包中提取出网络层和传输层头部的数据域,其中,网络层 提取的数据域包括源IP地址,目的IP地址,协议类型,传输层提取的数 据域包括源端口,目的端口,2) 状态过滤根据源IP地址、目的IP地址、源端口、目的端口和协议类型査找硬 件状态表表项,看是否存在该连接,如果有,确定连接的状态,连接状态 包括允许、丢弃和上交CPU,3) 目的地址转换査找硬件NAT表,并将数据包中原来的目的IP地址替换为査表结果 中的IP地址,4) 策略路由根据査DNAT表命中的目的IP地址査找策略路由表,得出下一跳出接□,5) 规则过滤査找硬件规则表,根据所定义的过滤规则过滤信息包,包括允许数据 包通过,拒绝数据包通过和丢弃,6) 源地址转换査找硬件NAT表,并将数据包中原来的源IP地址替换为査表结果中 的IP地址;所述应用层预处理通道包括1) 五层数据域提取从输入数据中提取出应用层数据,即数据包的数据部分,2) 模式匹配根据内容过滤的规则,将提取出的五层数据进行对应模式匹配,3) 匹配结果输出将各种模式匹配的结果组合后输出。
4、根据权利要求l、 2或3所述的一种融合多层并行处理的网络接入 设备一体化硬件实现方法,其特征在于所述分层结果融合模块的预处理 结果融合方法如下1) 需丢弃的数据包若分层预处理中任一层的处理结果为丢弃,则该包最终的处理结果为丢弃;2) 上交CPU的数据包若分层预处理任一层的处理结果为非丢弃,且分层预处理任一层的处 理结果为上交CPU,则该包需要上交CPU;3) 转发的数据包若分层预处理任一层的处理结果为非丢弃且非上交CPU,并且数据包 2层预处理判断为二层内交换的数据包,则直接按照二层的目的MAC地址 查表所得的出接口进行转发,若判断结果为非二层交换数据包,且策略路 由査表命中,则按照三至四层预处理的策略路由查表所得出接口转发;若 判断结果为非二层交换数据包,且策略路由查表未命中,则按照三层预处 理路由査表的所得的出接口转发。
全文摘要
本发明涉及一种融合多层并行处理的网络接入设备一体化硬件实现方法,包括合路输入、分层预处理、分层结果融合和分路输出四个处理模块,合路输入模块将接入设备多个端口输入的数据包进行合路,然后单路输入至分层预处理模块;分层预处理模块将输入数据包按照TCP/IP网络五层协议模型的包结构进行解包操作,包分解后所得的各个字段按照所属层次被对应的2层、3层、3-4层和5层预处理通道取走;分层结果融合模块接收上述4通道分层并行预处理的处理结果,对所有通道的预处理结果进行融合;分路输出模块将输入的数据包按照其目的输出接口进行分路,并将该包输出到对应的出口上。本发明提供了一种支持二层交换、三层路由和多层次网络安全功能的一体化电路实现方法。
文档编号H04L29/06GK101321163SQ20081002295
公开日2008年12月10日 申请日期2008年7月3日 优先权日2008年7月3日
发明者丁贤根, 冉宇晖, 姜鲲鹏, 李玉峰, 王保进, 菡 邱, 钱菁华 申请人:江苏华丽网络工程有限公司;中国人民解放军信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1