在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法

文档序号:7592240阅读:177来源:国知局

专利名称::在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法
技术领域
:本发明属于网络
技术领域
,涉及网络安全和组网
技术领域
,具体的说是在一个芯片(ASIC)上同时实现二层交换、三层路由、L2-L7层数据内容过滤及防火墙功能的方法。
背景技术
:随着网络技术的不断发展,网络已经成了社会生活中不可或缺的一种工具,小到SOHO,大到上万人的企业,都建立了自己的网络。但是随之而来的是,网络病毒的危害也越来越大,从CIH,到尼姆达,再到冲击波,网络病毒爆发的一次比一次频繁,影响的范围一次比一次大,造成的损失一次比一次严重。面对这种情况,所有拥有网络的企业都不得不认真思考自身网络的安全问题。要解决网络安全,当然离不开网络安全设备,但是目前市面上能够提供的网络安全设备不外乎采用了以下几种方案一、基于工控机架构的防火墙。这种方案中,基于工控机架构的防火墙的性能受限于PCI总线的性能,而且在此架构下,所有需要被处理的报文都要经过两次PCI的IO操作,这使得本来就紧张的带宽问题更为紧张。而且这种架构的防火墙是对于64字节的报文是没有办法线速处理的。二、基于NP架构的防火墙。基于这种方案的防火墙一般价格都比较昂贵,在处理单一任务的时候,能够达到线速,但是当处理多任务的时候,性能就会急剧下降。三、基于ASIC架构的防火墙。目前也有一些公司推出了基于ASIC架构的防火墙,这样的防火墙同样非常昂贵,但是处理上可以达到线速。以上几种方案都有一个共同的不足,就是不能够单独组网,它们必须和外部的交换机或者路由器来一同完成组网工作。这就意味着,一个完整的网络安全解决方案需要同时购买许多台设备,这其中包括一台或者多台防火墙,一台或者多台交换机和路由器,这无形中增加了企业在IT方面的支出,同时如何管理这么多的设备也是一个令人头痛的问题。
发明内容本发明旨在解决现有网络防火墙的上述缺陷,以及组网设备繁多的技术问题,提供一种采用芯片(在芯片上)同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,克服CPUPCI总线带宽对网络安全设备的性能限制,实现网络安全设备性能上的突破,降低网络安全解决方案的代价,降低组网成本,为实现高性能、低成本的安全网络设备提供解决方案。为解决上述技术问题,本发明采用的技术方案如下一种在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,以单一芯片实现多项网络功能,其整体技术方案的第一步是进行网络地址转换(NAT),第二步是进行二层交换、第三步是进行三层路由。其步骤包括a、芯片对收到报文进行解析,得到输入报文的域的内容;b、根据解析的结果,查找L2table,L3table,NATtable;c、从输入报文的数据中根据用户配置的MASK选择需要进行过滤的内容;d、用上一步得到的结果查找NFP表;e、根据查找L2table,L3table,NATtable,NFP的结果,对报文作相应的处理,处理结果包括“正常转发数据包”,“送CPU”,“更改报文的优先级”,“丢弃”,“镜象”。所述a项中,当芯片收到一个报文,首先根据报文的SMAC和VLAN判断是否需要在L2table中学习这个地址;如果该报文的DMAC没有命中L2table,则将该报文在所属的VLAN内进行广播;如果命中,根据命中情况来判断该报文是否L3报文。上述报文若不是L3报文,则根据L2table查找结果进行转发,如果查找结果表明该报文需要进行防火墙处理,则用该报文的SIP,SPORT,DIP,DPORT,PROTOCOL来查找NAT表如果命中NAT表,则根据命中情况检查该报文的状态是否合法状态,如果是,根据表项配置更换报文的SIP,SPORT,DIP,DPORT,报文通过;否则,报文丢弃,然后将报文的头80byte送给NFP进行过滤检查。NFP可以针对一个报文设置16种不同的规则,只要报文命中其中任何一条规则,就可以按照规则的要求执行相应的操作,这些操作包括丢弃,镜象,修改优先级,送CPU,流控等等;如果未命中,则将该报文交给CPU进行处理。上述报文若是L3报文,则用该报文的SIP和DIP同时查找L3table,如果SIP和DIP都命中,则根据查找结果进行转发;如果SIP和DIP都不命中,或者SIP和DIP只有一个命中,则根据寄存器的配置情况,将该报文丢弃或者送CPU,然后将报文的头80byte送给NFP进行过滤检查;NFP可以针对一个报文设置16种不同的规则,只要报文命中其中任何一条规则,就可以按照规则的要求执行相应的操作,这些操作包括丢弃,镜象,修改优先级,送CPU,流控等等。本发明的有益效果表现在一、本发明由于采用了ASIC构架,内嵌L2/L3层以太网交换机/NFP过滤/防火墙功能,在一个ASIC上同时实现了交换,路由,过滤和防火墙功能。由于ASIC负担了大部分流量的处理功能,从而大大降低了系统对CPUPCI总线带宽的需求,可以大大节省CPU资源,使CPU专注完成其他功能,提高整个系统的性能;二、本发明克服了基于工控机架构和基于NP架构的防火墙在流量大时存在的处理速度慢的缺陷,提高了整个系统在网络环境中的高速处理能力。即使在100/1000/10000M的高速网络处于拥塞或繁忙时,也能保证进行线速交换;三、由于在一个ASIC上同时实现了交换,路由,过滤和防火墙功能,本发明使系统成本大大降低,同时组网更加灵活,方便。图1为本发明流程框图具体实施方式本发明以单一芯片实现多项网络功能,其整体技术方案包括第一步进行网络地址转换(NAT),第二步进行二层交换、第三步进行三层路由。其采用的具体步骤如下一、将VLAN的表项信息写入芯片。将路由表的表项信息写入芯片。;二、对收到的报文进行解析,得到输入报文的SMAC,DMAC,EtherType,SIP,DIP,Protocol,SPORT,DPORT(源MAC地址,目的MAC地址,源IP地址,目的IP地址,协议号,四层源PORT,四层目的PORT以及报文的头80byte)等域的内容。三、用解析得到的SMAC和DMAC查找L2table。四、用解析得到的SIP和DIP查找L3table。五、用解析得到的SIP,DIP,Protocol,SPORT,DPORT查找NATtable。六、从输入报文的前80byte中根据用户配置的MASK选择需要进行过滤的内容;七、用上一步得到的结果查找NFP表。八、根据查找L2table,L3table,NATtable,NFP的结果,对报文作相应的处理,处理结果包括“正常转发数据包”,“送CPU”,“更改报文的优先级”,“丢弃”,“镜象”等。现参照图1对本发明流程作进一步详细阐述a、芯片收到一个报文,首先根据报文的SMAC和VLAN判断是否需要在L2table中学习这个地址;如果该报文的DMAC没有命中L2table,则将该报文在所属的VLAN内进行广播;如果命中,根据命中情况来判断该报文是否L3报文;如果不是,执行b,否则执行c;b、如果报文不是L3报文,则根据L2table查找结果进行转发。然后执行d。c、如果报文是L3报文,则用该报文的SIP和DIP同时查找L3table,如果SIP和DIP都命中,则根据查找结果进行转发,然后执行d;如果SIP和DIP都不命中,或者SIP和DIP只有一个命中,则根据寄存器的配置情况,将该报文丢弃或者送CPU,然后执行f。d、如果查找结果表明该报文需要进行防火墙处理,则用该报文的SIP,SPORT,DIP,DPORT,PROTOCOL来查找NAT表,如果命中NAT表,则执行e,否则将该报文交给CPU进行处理。e、如果命中NAT表,则根据命中情况检查该报文的状态是否合法状态,如果是,根据表项配置更换报文的SIP,SPORT,DIP,DPORT,报文通过;否则,报文丢弃。然后执行f。f、将报文的头80byte送给NFP进行过滤检查。NFP可以针对一个报文设置16种不同的规则,只要报文命中其中任何一条规则,就可以按照规则的要求执行相应的操作,这些操作包括丢弃,镜象,修改优先级,送CPU,流控等等。本发明查表所需的相关索引内容在收到报文后一次性都解析得到。每一个报文都要完成L2table,L3table,NATtable,NFP这些表项的查找,然后综合所有的查找结果对报文进行处理。本方法的整体技术方案是确保同时实现二层交换、三层路由、二层到七层的内容过滤以及NAT等防火墙功能的前提条件和技术关键。特点是集成实现二层交换、三层路由、二层到七层的内容过滤以及NAT等防火墙功能于一体。本专利申请文件(说明书、说明书附图、权利要求书书、说明书摘要、摘要附图)中所给出的所有英文以及缩略语为本领域专用语或通用语,如CPU、IP地址等等,直接以英文表示,即便在教科书或科技期刊中亦是如此。下面给出中英文对照表SMAC源链路层地址DMAC目的链路层地址VLAN虚拟局域网SIP源网络层地址DIP目的网络层地址SPORT源传输层端口号DPORT目的传输层端口号PROTOCOL网络层协议号L2OSI模型第二层,即链路层L3OSI模型第三层,即网络层L7OSI模型第七层,即应用层Table芯片内部的表项NAT网络地址转换CPU中央处理器PCI并行控制总线接口ASIC专用集成电路NFP网络过滤处理器权利要求1.一种在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于以单一芯片实现多项网络功能,其整体技术方案的第一步是进行网络地址转换(NAT),第二步是进行二层交换、第三步是进行三层路由。2.根据权利要求1所述的在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于具体步骤包括a、芯片对收到的报文进行解析,得到输入报文的域的内容;b、根据解析的结果,查找L2table,L3table,NATtable;c、从输入报文的数据中根据用户配置的MASK选择需要进行过滤的内容;d、用上一步得到的结果查找NFP表;e、根据查找L2table,L3table,NATtable,NFP的结果,对报文作相应的处理。3.根据权利要求1所述的在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于上述e项中对报文的具体处理方式由网络管理员预先设置,包括“正常转发数据包”、“优先送CPU”、“丢弃”。4.根据权利要求1或2所述的在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于所述a项中,当芯片收到一个报文,首先根据报文的SMAC和VLAN判断是否需要在L2table中学习这个地址;如果该报文的DMAC没有命中L2table,则将该报文在所属的VLAN内进行广播;如果命中,根据命中情况来判断该报文是否L3报文。5.根据权利要求4所述的在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于上述报文若不是L3报文,则根据L2table查找结果进行转发,如果查找结果表明该报文需要进行防火墙处理,则用该报文的SIP,SPORT,DIP,DPORT,PROTOCOL来查找NAT表。6.根据权利要求5所述的在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于如果命中NAT表,则根据命中情况检查该报文的状态是否合法状态,如果是,根据表项配置更换报文的SIP,SPORT,DIP,DPORT,报文通过;否则,报文丢弃,然后将报文的头80byte送给NFP进行过滤检查。NFP可以针对一个报文设置16种不同的规则,只要报文命中其中任何一条规则,就可以按照规则的要求执行相应的操作,这些操作包括丢弃,镜象,修改优先级,送CPU,流控;7.根据权利要求5所述的在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于如果未命中NAT表,则将该报文交给CPU进行处理。8.根据权利要求4所述的在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,其特征在于上述报文若是L3报文,则用该报文的SIP和DIP同时查找L3table,如果SIP和DIP都命中,则根据查找结果进行转发;如果SIP和DIP都不命中,或者SIP和DIP只有一个命中,则根据寄存器的配置情况,将该报文丢弃或者送CPU,然后将报文的头80byte送给NFP进行过滤检查;NFP可以针对一个报文设置16种不同的规则,只要报文命中其中任何一条规则,就可以按照规则的要求执行相应的操作,这些操作包括丢弃,镜象,修改优先级,送CPU,流控。全文摘要本发明公开了一种在一个芯片上同时实现二层交换、三层路由、数据内容过滤及防火墙功能的方法,该方法以单一芯片实现多项网络功能,其整体技术方案的第一步是进行网络地址转换(NAT),第二步是进行二层交换、第三步是进行三层路由。采用本发明可以减少组网费用,节省CPU资源,使CPU专注完成其他功能,提高整体性能。文档编号H04L12/24GK1595877SQ20041004005公开日2005年3月16日申请日期2004年6月23日优先权日2004年6月23日发明者王步伟,包雅林,华海红,陈卓申请人:四川南山之桥微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1