一种报文过滤方法和交换设备的制作方法

文档序号:7897366阅读:318来源:国知局
专利名称:一种报文过滤方法和交换设备的制作方法
技术领域
本发明涉及网络安全技术领域,具体而言,涉及一种报文过滤方法和交换设备。
背景技术
IPv6 Source Guard是一种基于IPv6地址和MAC地址的端口流量过滤技术,它可 以防止局域网内的IPv6地址欺骗攻击。交换机内部有一个IPv6源地址绑定表作为每个端 口接收到的数据包的检测标准。只有在两种情况下,交换机会转发数据——或者所接收 到的IPv6包满足IPv6源地址绑定表中P0RT/IPv6/MAC的对应关系,或者是接收到的是 DHCPv6数据包,其余数据包将被交换机做丢弃处理。当DHCPv6 SNOOPING在一个非 信任口启用的时候,启用它上面的IPv6 source guard,交换机将阻止非信任口上收到的所 有IP流量。用户上线后,这个端口上将基于DHCPv6 SNOOPING绑定数据库生成一条 端口访问控制列表,这条访问控制列表仅允许在ACL策略中存在的源地址的IP流量,并 阻止其他的流量。当前的IPv6源地址绑定表一般都是基于DHCPv6 SNOOPING绑定表。 DHCPv6SN00PING是一个基于DHCPv6的功能。它通过监听DHCPv6用户同DHCPv6 SERVER的报文交互来生成绑定表,并使用绑定表对接入用户进行控制。在一个典型的 DHCPv6交互过程中,参见图1,根据相关技术的IPv6 Source Guard的通用解决方案流 程,包括如下三个部件,用户102、交换设备104以及服务器106,以上三个部件执行如 下步骤S101,在交换设备上开启DHCPv6 SNOOPING功能,在用户直连的交换设备端 口开启IPv6Source Guard功能,在开启IPv6 Source Guard功能时,下载ACL策略;S102,当交换设备收到DHCPv6用户会向服务器发送的一个Solicit报文(请求 报文),该报文被设备中的DHCPv6 SNOOPING模块监听到后进行处理,并转发给服务 器;S103,服务器收到此报文后,封装响应报文Advertise(通知报文),在封装此报 文时需要填充二层头,此时服务器先在自己的缓存中查找用户的二层头地址,如果没有 找到,则向用户发送一个邻居请求NS (Neighbor Solicitation)报文;S104,用户收到NS报文后,发送一个NA(Neighbor Advertisement)报文通告服
务器自己的二层地址;S105,服务器依据此NA报文更新缓冲信息,并填充报文Advertise的二层头, 然后发给交换设备,设备上的DHCPv6 SNOOPING处理后转发给用户;S106,用户处理完Advertise报文后,向服务器发送Request报文(请求报文)以 请求地址;S107,服务器回复Reply(响应报文)确认对地址的分配;交互完成后,DHCPv6 SNOOPING模块将生成绑定表,下ACL策略,转发给用户。
可见,在启用IPv6 Source Guard到时候就下了一条ACL策略以便在正常 DHCPv6报文交换的过程中,DHCPv6服务器期待的响应报文NA报文可以通过。从图1 中的步骤可以看出,每个端口都多占用了一条ACL策略并且用户在没有通过DHCPv6服 务器获得IP地址时也可以访问本地网络。在开启IPv6 Source Guard的场景下,当用户和服务器交互到步骤S103-步骤 S105并且服务器没有在缓存中查找的用户的二层头地址时,会向用户发送NS以询问其二 层地址。由于此时用户没有上线,在过滤表中不存在用户的信息,因此任何报文都将被 过滤,包括用户的响应报文NA。服务器收不到NA报文,就无法填充二层头,导致不能 发出Advertise报文,正常的DHCPv6交互过程不能完成。现有技术中,一般都是通过在启用Ipv6 Source Guard的时候下ACL策略来解
决。大致有三种方法。第一种是在启用Ipv6 Source Guard的时候,下一条ACL策略,只 要IPv6源地址是FE80开头的报文都让它通过(注FE80开头的地址是本地链路地址); 第二种方法是使用ACL非自定义模式,由于非自定义模式能匹配的报文的长度有限制, 因此只能下一条让ICMPv6报文通过的策略;第三种是使用自定义的ACL模式,可以匹 配到较长的位置,下一条让NS和NA通过的报文。这三种方法都有缺陷第一种方法 下,使用本地链路地址作为源地址的用户协议报文和数据报文仍然可以访问本地网络, 并没有起到过滤的作用;第二种方法,过滤了源地址是本地链路地址的数据报文,但是 使得Ping报文也可以通过;第三种方法只让NS和NA通过,但是使用了一条宝贵的自定 义模式下的ACL资源,而自定义模式下的ACL资源数量和非自定义模式相比非常有限。

发明内容
本发明的主要目的在于提供一种报文过滤方法和交换设备,以解决相关技术中 过滤报文时产生的浪费ACL资源的问题。根据本发明的一个方面,提供了一种报文过滤方法,包括如下步骤交换设备 根据用户发送的请求报文生成临时访问控制列表ACL策略;所述交换设备向所述用户转 发服务器发送的邻居请求NS报文;所述交换设备判断所述用户发送的响应于所述邻居请 求NS报文的邻居通知NA报文是否与所述临时ACL策略匹配;若匹配,则所述交换设备 进行所述用户和所述服务器之间的报文转发,并删除所述临时ACL策略。进一步地,所述交换设备根据用户发送的请求报文生成临时ACL策略的步骤包 括从所述请求报文中获取所述用户的源二层地址和源三层地址;根据所获取的源二层 地址和源三层地址生成所述临时ACL策略。进一步地,根据所获取的源二层地址和源三层地址生成所述临时ACL策略的步 骤包括获取所述用户的源二层的MAC地址和源三层的IPv6地址,并将所述MAC地址 和所述IPv6地址组合为临时ACL策略。进一步地,所述交换设备判断所述NA报文是否与所述临时ACL策略匹配的步 骤包括判断所述NA报文中的MAC地址和IPv6地址是否与所述临时ACL策略中的 MAC地址和IPv6地址相同,若相同,则判断出所述NA报文与所述临时ACL策略匹配; 否则,判断出所述NA报文与所述临时ACL策略不匹配。进一步地,在交换设备根据用户发送的请求报文生成临时ACL策略时,报文过
5滤方法还包括将当前使用的ACL策略更新为所述临时ACL策略,并启用临时ACL策 略定时器。进一步地,删除所述临时ACL策略的步骤包括若所述临时ACL策略定时器超 时,则删除所述临时ACL策略。进一步地,在所述交换设备进行所述用户和所述服务器之间的报文转发之后, 报文过滤方法还包括所述交换设备生成用户数据绑定表,其中,所述用户数据绑定表 用于在所述用户获得IPv6地址之后,允许所述用户访问所述服务器。根据本发明的另一方面,提供了一种交换设备,包括生成单元,用于根据用 户发送的请求报文生成临时ACL策略;转发单元,用于向所述用户转发服务器发送的NS 报文;判断单元,用于判断所述用户发送的响应于所述NS报文的NA报文是否与所述临 时ACL策略匹配;处理单元,用于在所述判断单元判断出所述用户发送的响应于所述NS 报文的NA报文与所述临时ACL策略匹配时,进行所述用户和所述服务器之间的报文转 发,并删除所述临时ACL策略。进一步地,所述生成单元包括获取模块,用于从所述请求报文中获取所述用 户的源二层地址和源三层地址;生成模块,用于根据所获取的源二层地址和源三层地址 生成所述临时ACL策略。进一步地,所述获取模块包括获取子模块,用于获取所述用户的源二层的 MAC地址和源三层的IPv6地址;所述生成模块包括生成子模块,用于将所述MAC地 址和所述IPv6地址组合为临时ACL策略。通过本发明,采用一个生成临时ACL策略和删除ACL策略的机制,解决了相关 技术中过滤报文时产生的浪费ACL资源的问题,进而达到了在减少对ACL资源浪费的前 提下,又实现了 IPv6 Source Guard的基本功能,保障了网络的安全性的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本 发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图 中图1是根据相关技术的IPv6 Source Guard的通用解决方案流程图;图2是根据本发明实施例的报文过滤方法的一种优选流程图;图3是根据本发明实施例的交换设备的一种优选结构框图;图4是根据本发明实施例的报文过滤方法的网络结构示意图;图5是根据本发明实施例的报文过滤方法的另一种优选流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突 的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例1图2是根据本发明实施例的报文过滤方法的一种优选流程图,包括如下步骤S202,交换设备根据用户发送的请求报文生成临时ACL策略;
S204,交换设备向用户转发服务器发送的NS报文;S206,交换设备判断用户发送的响应于NS报文的NA报文是否与临时ACL策略
匹配;S208,若匹配,则交换设备进行用户和服务器之间的报文转发,并删除临时 ACL策略。优选的,交换设备在报文转发的交互完成或超时的情况下删除临时ACL策 略。在本优选实施例中,采用一个生成临时ACL策略和删除ACL策略的机制,解决 了相关技术中过滤报文时产生的浪费ACL资源的问题,进而达到了在减少对ACL资源浪 费的前提下,又实现了 IPv6 Source Guard的基本功能,保障了网络的安全性的效果。优选的,交换设备根据用户发送的请求报文生成临时ACL策略的步骤包括从 请求报文中获取用户的源二层地址和源三层地址;根据所获取的源二层地址和源三层地 址生成临时ACL策略。在本优选实施例中,说明了如何生成临时ACL策略,从而保证 了减少对ACL资源的浪费。优选的,根据所获取的源二层地址和源三层地址生成临时ACL策略的步骤包 括获取用户的源二层的MAC地址和源三层的IPv6地址,并将MAC地址和IPv6地址 组合为临时ACL策略。在本优选实施例中,进一步说明了如何生成临时ACL策略,从 而保证了减少对ACL资源的浪费。优选的,交换设备判断NA报文是否与临时ACL策略匹配的步骤包括判断NA 报文中的MAC地址和IPv6地址是否与临时ACL策略中的MAC地址和IPv6地址相同, 若相同,则判断出所述NA报文与所述临时ACL策略匹配;否则,判断出所述NA报文 与所述临时ACL策略不匹配。在本优选实施例中,进一步说明了如何匹配临时ACL策 略,保证实现了 IPv6Source Guard的基本功能,保障了网络的安全性。优选的,在交换设备根据用户发送的请求报文生成临时ACL策略时,根据本发 明实施例的报文过滤方法还包括将当前使用的ACL策略更新为临时ACL策略,并启用 临时ACL策略定时器。在本优选实施例中,保证临时ACL策略得以被删除,进一步保 证了减少对ACL策略的浪费。优选的,删除临时ACL策略的步骤包括若临时ACL策略定时器超时,则删除 临时ACL策略。在本优选实施例中,进一步保证临时ACL策略得以被删除,进一步保 证了减少对ACL策略的浪费。优选的,在交换设备进行用户和服务器之间的报文转发之后,根据本发明实施 例的报文过滤方法还包括交换设备生成用户数据绑定表,其中,该用户数据绑定表用 于在用户获得IPv6地址之后,允许用户访问服务器。在本优选实施例中,进一步保证实 现了 IPv6 Source Guard的基本功能,保障了网络的安全性。实施例2图3是根据本发明实施例的交换设备的一种优选结构框图,包括生成单元 302,用于根据用户发送的请求报文生成临时ACL策略;转发单元304,用于向所述用户 转发服务器发送的NS报文;判断单元306,用于判断所述用户发送的响应于所述NS报 文的NA报文是否与所述临时ACL策略匹配;处理单元308,用于在所述判断单元306判 断出所述用户发送的响应于所述NS报文的NA报文与所述临时ACL策略匹配时,进行所述用户和所述服务器之间的报文转发,并删除所述临时ACL策略。在本优选实施例中,采用一个生成临时ACL策略和删除ACL策略的机制,解决 了相关技术中过滤报文时产生的浪费ACL资源的问题,进而达到了在减少对ACL资源浪 费的前提下,又实现了 IPv6 Source Guard的基本功能,保障了网络的安全性的效果。优选的,生成单元302包括获取模块,用于从请求报文中获取用户的源二层地 址和源三层地址;生成模块,用于根据所获取的源二层地址和源三层地址生成临时ACL 策略在本优选实施例中,说明了如何生成临时ACL策略,从而保证了减少对ACL资源的 浪费。优选的,获取模块包括获取子模块,用于获取用户的源二层的MAC地址和源 三层的IPv6地址;生成模块包括生成子模块,用于将MAC地址和IPv6地址组合为临 时ACL策略。在本优选实施例中,进一步说明了如何生成临时ACL策略,从而保证了 减少对ACL资源的浪费。优选的,判断单元306包括判断模块,用于判断NA报文中的MAC地址和 IPv6地址是否与临时ACL策略中的MAC地址和IPv6地址相同,若相同,则判断出NA 报文与临时ACL策略匹配;否则,判断出NA报文与临时ACL策略不匹配。在本优选 实施例中,进一步说明了如何匹配临时ACL策略,保证实现了 IPv6 Source Guard的基本 功能,保障了网络的安全性。优选的,生成单元302还包括更新模块,用于在交换设备根据用户发送的请 求报文生成临时ACL策略时,将当前使用的ACL策略更新为临时ACL策略;启用模 块,用于启用临时ACL策略定时器。在本优选实施例中,保证临时ACL策略得以被删 除,进一步保证了减少对ACL策略的浪费。优选的,处理单元308包括删除模块,用于若临时ACL策略定时器超时,删 除临时ACL策略。在本优选实施例中,进一步保证临时ACL策略得以被删除,进一步 保证了减少对ACL策略的浪费。优选的,处理单元308还包括用户绑定表生成模块,用于在交换设备进行用户 和服务器之间的报文转发之后,生成用户数据绑定表,该用户数据绑定表用于在用户获 得IPv6地址之后,允许用户访问服务器。在本优选实施例中,进一步保证实现了 IPv6 Source Guard的基本功能,保障了网络的安全性。实施例3本实施例中,实现IPv6 Source Guard并且节约ACL资源的方法采用如下方案1)临时ACL策略。在DHCPv6SN00PING模块收到DHCPv6交互报文的第一
个请求报文时,从报文中解析出二层源地址和三层源IP地址(本地链路地址)。这两个 地址作为临时ACL策略的基本数据。2)提前更新ACL策略的机制。在DHCPv6 SNOOPING模块从DHCPv6交互报
文的第一个请求报文中提取出临时ACL策略后就更新ACL策略,不必等到用户上线后更 新正式策略。3)临时ACL策略状态定时器。在把临时ACL策略下到非自定义模式ACL中后 启动状态定时器。4)临时ACL策略删除机制。在定时器期限内,若没有完成正常的交互过程,则删除此临时ACL策略;在用户成功完成DHCPv6报文交互,正常上线后删除此临时ACL策略。图4是根据本发明实施例的报文过滤方法的网络结构示意图,如图4所示的网 络,包括DHCPv6 服务器 401、支持 DHCPv6 SNOOPING 和 IPv6 Source Gard 的交换设 备402、终端用户403和404。其中,DHCPv6服务器401和交换设备402直连,终端用户403和404也和交换 机直连。交换设备402开启DHCPv6 SNOOPING功能,同时在交换设备402同终端用户 403和404直连的端口开启IPv6 Source Guard功能。需要说明的是,此图仅是一个DHCPv6 SNOOPING和IPv6 Source Guard的典型
应用场景,本发明不局限于此场景。图5是基于图4的网络结构报文过滤方法的另一种优选流程图,包括如下三个部 件用户403、交换设备402和服务器401,以上三个部件之间执行如下步骤S501,在交换设备402上开启DHCPv6 SNOOPING功能,在用户403直连的交 换设备402端口开启IPv6 Source Guard功能,在开启IPv6 Source Guard功能时,不需要 多下表项,只需下一条DenyAny的策略;S502,当交换设备402收到DHCPv6用户403的第一个请求报文时,DHCPv6 SNOOPING模块从该请求报文中解析出用户403的源二层地址和源三层地址,DHCPv6 SNOOPING模块依据解析出的用户403的源二层地址和源三层地址生成临时ACL策略, 下ACL,启用临时ACL策略定时器,DHCPv6 SNOOPING模块转发此请求报文;S503,交换设备402收到服务器401的请求用户403 二层地址的邻居请求NS报 文,并转发此报文;S504,交换设备402收到用户403响应服务器401NS的报文NA邻居通知报文 后,发现在过滤表中已经存在一条临时ACL策略和此NA报文匹配,那么透传此报文 NA ;S505, DHCPv6服务器401依据NA报文更新本地缓存,封装Adertise报文的二 层头,发给用户403,DHCPv6 SNOOPING模块收到DHCPv6响应报文Advertise后进行 处理并转发给DHCPv6用户403 ;S506, DHCPv6 SNOOPING 模块收到 DHCPv6 用户 403 的请求报文 Request 后,
转发给服务器401 ;S507, DHCPv6 SNOOPING 模块收到 DHCPv6 响应报文 Reply 后,解析 Reply 报
文中的信息,生成用户数据绑定表,删除临时ACL策略,下用户过滤策略到ACL,若在 交互过程中,临时ACL策略定时器超时,则删除临时ACL策略。从以上的描述中,可以看出,本发明实现了如下技术效果通过本发明,采用一个生成临时ACL策略以及提前更新ACL策略和删除ACL 策略的机制,解决了现有技术网络安全性低和浪费ACL资源的问题,进而达到了既实现 了 IPveSourceGuard的基本功能,又保障了网络的安全性,并且减少了对资源的占用的效 果。具体体现在(1)用户在没通过DHCPv6获得IP地址之前不能访问网络,包括本地 网络和全球网络。从而保证了网络的安全性。(2)能够减少对ACL资源的占用,降低设 备的硬件成本,节约了极其有限的ACL资源。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通 用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所 组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将 它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺 序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中 的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的 技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的 任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种报文过滤方法,其特征在于,包括如下步骤交换设备根据用户发送的请求报文生成临时访问控制列表ACL策略;所述交换设备向所述用户转发服务器发送的邻居请求NS报文;所述交换设备判断所述用户发送的响应于所述邻居请求NS报文的邻居通知NA报文 是否与所述临时ACL策略匹配;若匹配,则所述交换设备进行所述用户和所述服务器之间的报文转发,并删除所述 临时ACL策略。
2.根据权利要求1所述的方法,其特征在于,所述交换设备根据用户发送的请求报文 生成临时ACL策略的步骤包括从所述请求报文中获取所述用户的源二层地址和源三层地址;根据所获取的源二层地址和源三层地址生成所述临时ACL策略。
3.根据权利要求2所述的方法,其特征在于,根据所获取的源二层地址和源三层地址 生成所述临时ACL策略的步骤包括获取所述用户的源二层的MAC地址和源三层的IPv6地址,并将所述MAC地址和所 述IPv6地址组合为临时ACL策略。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述交换设备判断所述 NA报文是否与所述临时ACL策略匹配的步骤包括判断所述NA报文中的MAC地址和IPv6地址是否与所述临时ACL策略中的MAC地 址和IPv6地址相同,若相同,则判断出所述NA报文与所述临时ACL策略匹配;否则, 判断出所述NA报文与所述临时ACL策略不匹配。
5.根据权利要求1所述的方法,其特征在于,在交换设备根据用户发送的请求报文生 成临时ACL策略时,还包括将当前使用的ACL策略更新为所述临时ACL策略,并启用临时ACL策略定时器。
6.根据权利要求5所述的方法,其特征在于,删除所述临时ACL策略的步骤包括若所述临时ACL策略定时器超时,则删除所述临时ACL策略。
7.根据权利要求1所述的方法,其特征在于,在所述交换设备进行所述用户和所述服 务器之间的报文转发之后,还包括所述交换设备生成用户数据绑定表,其中,所述用户数据绑定表用于在所述用户获 得IPv6地址之后,允许所述用户访问所述服务器。
8.—种交换设备,其特征在于,包括生成单元,用于根据用户发送的请求报文生成临时ACL策略;转发单元,用于向所述用户转发服务器发送的NS报文;判断单元,用于判断所述用户发送的响应于所述NS报文的NA报文是否与所述临时 ACL策略匹配;处理单元,用于在所述判断单元判断出所述用户发送的响应于所述NS报文的NA报 文与所述临时ACL策略匹配时,进行所述用户和所述服务器之间的报文转发,并删除所 述临时ACL策略。
9.根据权利要求8所述的交换设备,其特征在于,所述生成单元包括获取模块,用于从所述请求报文中获取所述用户的源二层地址和源三层地址;生成模块,用于根据所获取的源二层地址和源三层地址生成所述临时ACL策略。
10.根据权利要求9所述的交换设备,其特征在于,所述获取模块包括获取子模 块,用于获取所述用户的源二层的MAC地址和源三层的IPv6地址;所述生成模块包 括生成子模块,用于将所述MAC地址和所述IPv6地址组合为所述临时ACL策略。
全文摘要
本发明公开了一种报文过滤方法和交换设备,其中该方法包括交换设备根据用户发送的请求报文生成临时访问控制列表ACL策略;交换设备向用户转发服务器发送的NS报文;交换设备判断用户发送的响应于NS报文的NA报文是否与临时ACL策略匹配;若匹配,则交换设备进行用户和服务器之间的报文转发,并删除临时ACL策略。本发明解决了相关技术中过滤报文时产生的浪费ACL资源的问题。
文档编号H04L29/06GK102025641SQ201010609120
公开日2011年4月20日 申请日期2010年12月27日 优先权日2010年12月27日
发明者丁崇, 刘书岩 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1