本发明是关于网络通信,特别是关于一种基于ram和tcam实现ipsg的方法及实现该方法的装置、电子设备和存储介质。
背景技术:
1、随着网络规模越来越大,基于源ip的攻击也逐渐增多。一些攻击者利用欺骗的手段可获取到网络资源,取得合法使用网络资源的权限,造成被欺骗者无法访问网络,或者信息泄露。
2、目前,采用ipsg技术来避免基于源ip的网络攻击。这里的ipsg能够针对基于源ip的攻击提供一种防御机制,可有效的防止基于源地址欺骗的网络攻击行为。在具体实施时,ipsg功能是基于绑定表(dhcp动态和静态绑定表)对ip报文进行匹配检查。当设备在转发ip报文时,将此ip报文中的源ip、源mac(mediaaccess control)、接口、vlan(virtuallocalareanetwork)信息和绑定表的信息进行比较,如果信息匹配,表明是合法用户,则允许此报文正常转发,否则认为是攻击报文,并丢弃该ip报文。如下图1所示,dhcp服务器会自动提供ip地址以及其它相关的子网掩码和默认网关等信息,原本报文会从端口2回复给ip地址为b的客户端,但是攻击者伪造合法用户ip地址为b的报文,篡改了交换机上mac表的出接口信息由端口2变成了端口1,使服务器回复的报文被发送给攻击者。
3、为了防止此类攻击,可以在交换机上配置ipsg功能,对进入接口的ip报文进行绑定表匹配检查,合法用户发送报文的信息和绑定表一致,允许其通过;攻击者伪造的报文信息和绑定表不一致,交换机将报文丢弃。目前,交换机学习到动态表项或是下静态绑定表时会将相应的表项下在芯片的tcam资源里。而tcam是一种三态内容寻址寄存器,使用tcam可以快速进行大量并行搜索,同时可以支持掩码。然而,tcam成本较高,芯片中的资源有限,因此ipsg规格会受到较大限制。
4、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
1、本发明的目的在于提供一种基于ram和tcam实现ipsg的方法,其能够解决ipsg规格受限于tcam资源的问题。
2、本发明的目的还在于提供一种基于ram和tcam实现ipsg的装置,其能够解决ipsg规格受限于tcam资源的问题。
3、本发明的目的还在于提供一种电子设备,其能够解决ipsg规格受限于tcam资源的问题。
4、本发明的目的还在于提供一种计算机可读存储介质,其能够解决ipsg规格受限于tcam资源的问题。
5、为实现上述目的,本发明的实施例提供了一种基于ram和tcam实现ipsg的方法,所述方法包括:
6、接收报文并解析,获得匹配信息;
7、判断接收报文的端口是否使能ipsg功能;
8、响应于端口使能了ipsg功能,利用所述匹配信息分别查找ram和tcam;
9、判断在ram和tcam中是否均未查找到相应绑定表项;
10、响应于在ram和tcam中均未查找到相应绑定表项,丢弃报文。
11、在本发明的一个或多个实施方式中,所述方法还包括:
12、响应于在ram中查找到相应绑定表项,进一步查找转发表;
13、判断查找转发表中的结果是否为查找到;
14、响应于查找转发表的结果为查找到,则根据查找结果转发报文,或者响应于查找转发表的结果为未查找到,则丢弃报文。
15、在本发明的一个或多个实施方式中,所述方法还包括:
16、响应于在tcam中查找到相应绑定表项,将报文上送cpu处理。
17、在本发明的一个或多个实施方式中,所述匹配信息至少包括源ip地址、源mac地址和vlan中的一种。
18、在本发明的一个或多个实施方式中,所述利用所述匹配信息分别查找ram和tcam包括:
19、利用所述匹配信息先查找ram,再查找tcam。
20、在本发明的一个或多个实施方式中,所述ram中配置有匹配数据报文的ram绑定表项,所述tcam中配置有匹配协议报文的tcam绑定表项。
21、在本发明的一个或多个实施方式中,所述ram绑定表项或者tcam绑定表型中的类型包括端口号与源ip地址、源mac地址和vlan中的至少一个组合。
22、本发明的实施例提供了一种基于ram和tcam实现ipsg的装置,所述装置包括:
23、接收模块,用于接收报文并解析,获得匹配信息;
24、第一判断模块,用于判断接收报文的端口是否使能ipsg功能;
25、查找模块,用于在端口使能了ipsg功能时利用所述匹配信息分别查找ram和tcam;
26、第二判断模块,用于判断在ram和tcam中是否均未查找到相应绑定表项;
27、报文处理模块,用于在ram和tcam中均未查找到相应绑定表项时丢弃报文。
28、本发明的实施例提供了一种电子设备,所述电子设备包括:
29、至少一个处理器;以及
30、至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的计算机程序,所述计算机程序由所述至少一个处理器执行时,使得所述电子设备执行上述所述的方法。
31、本发明的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被机器执行时实现上述所述的方法。
32、与现有技术相比,本发明通过ram与tcam结合的方式,将大量的绑定表项下在资源较多的ram里来节省成本,同时将较少的协议报文用绑定表项下在tcam里来节省表项数目,最终实现ipsg整体优化方案,有效解决了ipsg规格受限tcam资源的问题。
1.一种基于ram和tcam实现ipsg的方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
4.如权利要求1所述的方法,其特征在于,所述匹配信息至少包括源ip地址、源mac地址和vlan中的一种。
5.如权利要求1所述的方法,其特征在于,所述利用所述匹配信息分别查找ram和tcam包括:
6.如权利要求1所述的方法,其特征在于,所述ram中配置有匹配数据报文的ram绑定表项,所述tcam中配置有匹配协议报文的tcam绑定表项。
7.如权利要求6所述的方法,其特征在于,所述ram绑定表项或者tcam绑定表型中的类型包括端口号与源ip地址、源mac地址和vlan中的至少一个组合。
8.一种基于ram和tcam实现ipsg的装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被机器执行时实现权利要求1至7任一项所述的方法。