一种访问控制规则配置方法、装置、交换机及存储介质转让专利

申请号 : CN202011082390.3

文献号 : CN112073438B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡明明

申请人 : 迈普通信技术股份有限公司

摘要 :

本申请提供一种访问控制规则配置方法、装置、交换机及存储介质,该方法包括:接收第一访问控制规则,并确定第一访问控制规则绑定的逻辑链路;获取逻辑链路已配置的访问控制规则;判断逻辑链路已配置的访问控制规则中是否存在第二控制规则,第二控制规则的所有字段被第一访问控制规则所包含;若是,则根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口,并将第一访问控制规则配置在目标端口上。通过将访问控制规则配置在筛选出的目标端口上,避免了将第一访问控制规则下发到链路汇聚下的所有物理端口的情况;改善了所有物理端口映射的芯片都进行访问控制规则配置下发导致ACL表项资源浪费的问题。

权利要求 :

1.一种访问控制规则配置方法,其特征在于,应用于交换机,包括:接收第一访问控制规则,并确定所述第一访问控制规则绑定的逻辑链路;

获取所述逻辑链路已配置的访问控制规则;

判断所述逻辑链路已配置的访问控制规则中是否存在第二控制规则,所述第二控制规则的所有字段被所述第一访问控制规则所包含;

若是,则根据所述第一访问控制规则从所述逻辑链路的所有物理端口中筛选出目标端口,并将所述第一访问控制规则配置在所述目标端口上。

2.根据权利要求1所述的方法,其特征在于,在所述判断所述逻辑链路已配置的访问控制规则中是否存在第二控制规则之后,还包括:若所述逻辑链路已配置的访问控制规则中不存在所述第二控制规则,则将所述第一访问控制规则配置在所述逻辑链路的所有物理端口上。

3.根据权利要求1所述的方法,其特征在于,所述根据所述第一访问控制规则从所述逻辑链路的所有物理端口中筛选出目标端口,包括:从所述逻辑链路下的所有物理端口中筛选出多个可用端口,所述可用端口是处于正常工作状态UP的物理端口;

根据所述第一访问控制规则从所述多个可用端口中筛选出目标端口。

4.根据权利要求1所述的方法,其特征在于,所述根据所述第一访问控制规则从所述逻辑链路的所有物理端口中筛选出目标端口,包括:使用交换芯片根据所述第一访问控制规则从所述逻辑链路下的所有物理端口中筛选出目标端口。

5.根据权利要求1所述的方法,其特征在于,所述将所述第一访问控制规则配置在所述目标端口上,包括:

在关系映射表中查找与所述目标端口对应的芯片,所述关系映射表存储有端口和芯片之间映射关系;

将所述第一访问控制规则转发至所述目标端口映射的芯片,以使所述目标端口映射的芯片将接收到的所述第一访问控制规则存储至所述目标端口的配置信息中,所述配置信息用于所述目标端口对经过的数据流量进行访问控制。

6.根据权利要求1所述的方法,其特征在于,在所述将所述第一访问控制规则配置在所述目标端口上之后,还包括:

在所述逻辑链路下的所有物理端口中的任一端口状态发生变化后,获得变化后的多个可用端口;

根据所述第一访问控制规则从所述变化后的多个可用端口中筛选出候选端口;

若所述目标端口映射的芯片与所述候选端口映射的芯片是不同的芯片,则将所述第一访问控制规则重新配置在所述候选端口上,并从所述目标端口上删除配置的所述第一访问控制规则。

7.一种访问控制规则配置装置,其特征在于,应用于交换机,包括:逻辑链路确定模块,用于接收第一访问控制规则,并确定所述第一访问控制规则绑定的逻辑链路;

控制规则获取模块,用于获取所述逻辑链路已配置的访问控制规则;

控制规则判断模块,用于判断所述逻辑链路已配置的访问控制规则中是否存在第二控制规则,所述第二控制规则的所有字段被所述第一访问控制规则所包含;

第一规则配置模块,用于若所述逻辑链路已配置的访问控制规则中存在所述第二控制规则,则根据所述第一访问控制规则从所述逻辑链路的所有物理端口中筛选出目标端口,并将所述第一访问控制规则配置在所述目标端口上。

8.根据权利要求7所述的装置,其特征在于,还包括:第二规则配置模块,用于所述逻辑链路已配置的访问控制规则中不存在所述第二控制规则,则将所述第一访问控制规则配置在所述逻辑链路的所有物理端口上。

9.一种交换机,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的方法。

10.一种存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的方法。

说明书 :

一种访问控制规则配置方法、装置、交换机及存储介质

技术领域

[0001] 本申请涉及计算机网络和网络通信的技术领域,具体而言,涉及一种访问控制规则配置方法、装置、交换机及存储介质。

背景技术

[0002] 链路汇聚(Link Aggregation)是指将两台设备间多条物理链路捆绑在一起形成一个逻辑链路,从而可以扩展链路带宽;其中,逻辑链路内各条物理链路彼此互为冗余和动
态备份,可以提供更高的网络连接可靠性。
[0003] 访问控制列表(Access Control List,ACL)是指一系列的访问控制规则组成的访问控制列表,每条访问控制规则都是一个允许、拒绝或注释的语句,声明了相应的匹配条件
及行为;其中,ACL中的访问控制规则也被简称为ACL表项,即ACL表项表示访问控制列表中
的一条或者多条访问控制规则,ACL表项可以被防火墙、交换机或者出口路由器等设备使
用,具体地,这些设备可以根据ACL中的访问控制规则对数据流量进行访问控制和管理等操
作。
[0004] 目前,在将ACL中的访问控制规则配置到交换机的端口上时,直接将该访问控制规则发送至交换机上,并将访问控制规则配置在链路汇聚(即逻辑链路)下所有物理端口上,
以使该逻辑链路下的所有物理端口均需要根据访问控制规则配置对经过的数据流量进行
访问控制。在具体的实践过程中发现,数据流量中的每一条数据,在经过此逻辑链路的时
候,只会从其中一个物理端口中经过,即只需要在一个物理端口上进行访问控制规则的匹
配。因此,目前的方法存在着所有物理端口都进行数据流量匹配导致端口ACL表项资源浪费
的问题。

发明内容

[0005] 本申请实施例的目的在于提供一种访问控制规则配置方法、装置、交换机及存储介质,用于改善所有物理端口都进行访问控制规则配置下发导致ACL表项资源浪费的问题。
[0006] 本申请实施例提供了一种访问控制规则配置方法,应用于交换机,包括:接收第一访问控制规则,并确定第一访问控制规则绑定的逻辑链路;获取逻辑链路已配置的访问控
制规则;判断逻辑链路已配置的访问控制规则中是否存在第二控制规则,第二控制规则的
所有字段被第一访问控制规则所包含;若是,则根据第一访问控制规则从逻辑链路的所有
物理端口中筛选出目标端口,并将第一访问控制规则配置在目标端口上。在上述的实现过
程中,通过对接收的第一访问控制规则的所有字段和逻辑链路已配置的访问控制规则的所
有字段进行比较,从而确定将访问控制规则配置在逻辑链路的所有物理端口中筛选出的目
标端口上,有效地避免了将第一访问控制规则下发到链路汇聚下的所有物理端口的情况。
因此,使用访问控制规则配置方法可以将访问控制规则配置在目标端口上,从而在对数据
流量进行访问控制达到同样效果的情况下,尽可能更少地占用ACL表项资源,改善了所有物
理端口映射的芯片都进行访问控制规则配置下发导致ACL表项资源浪费的问题。
[0007] 可选地,在本申请实施例中,在判断逻辑链路已配置的访问控制规则中是否存在第二控制规则之后,还包括:若逻辑链路已配置的访问控制规则中不存在第二控制规则,则
将第一访问控制规则配置在逻辑链路的所有物理端口上。在上述的实现过程中,若逻辑链
路已配置的访问控制规则中不存在第二控制规则,则将第一访问控制规则配置在逻辑链路
的所有物理端口上;从而有效地在不破坏原来下发访问控制规则的情况下,即不破坏原来
让访问控制规则生效过程的情况下,使访问控制规则配置方法与原来的方法兼容,提高了
访问控制规则配置方法的可用性和鲁棒性。
[0008] 可选地,在本申请实施例中,根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口,包括:从逻辑链路下的所有物理端口中筛选出多个可用端口,可用端口
是处于正常工作状态(UP)的物理端口;根据第一访问控制规则从多个可用端口中筛选出目
标端口。在上述的实现过程中,通过从逻辑链路下的所有物理端口中筛选出多个可用端口;
将多个可用端口中的可用端口确定为目标端口,从而避免配置到不可用的物理端口中造成
ACL表项资源浪费,有效地提高了访问控制规则配置的精确度。
[0009] 可选地,在本申请实施例中,根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口,包括:使用交换芯片根据第一访问控制规则从逻辑链路下的所有物理
端口中筛选出目标端口。
[0010] 可选地,在本申请实施例中,将第一访问控制规则配置在目标端口上,包括:在关系映射表中查找与目标端口对应的芯片,关系映射表存储有端口和芯片之间映射关系;将
第一访问控制规则转发至目标端口映射的芯片,以使目标端口映射的芯片将接收到的第一
访问控制规则存储至目标端口的配置信息中,配置信息用于目标端口对经过的数据流量进
行访问控制。在上述的实现过程中,通过在关系映射表中查找与目标端口对应的芯片,关系
映射表存储有端口和芯片之间映射关系,再将第一访问控制规则转发至目标端口映射的芯
片;从而仅将第一访问控制规则转发至目标端口映射的芯片上,避免转发至逻辑链路下的
其它无关芯片,有效地改善了芯片资源浪费的问题,提高了芯片资源的使用率。
[0011] 可选地,在本申请实施例中,在将第一访问控制规则配置在目标端口上之后,还包括:在逻辑链路下的所有物理端口中的任一端口状态发生变化后,获得变化后的多个可用
端口;根据第一访问控制规则从变化后的多个可用端口中筛选出候选端口;若目标端口映
射的芯片与候选端口映射的芯片是不同的芯片,则将第一访问控制规则重新配置在候选端
口上,并从目标端口上删除配置的第一访问控制规则。在上述的实现过程中,通过在逻辑链
路下的所有物理端口中的任一端口状态发生变化后,并根据第一访问控制规则从变化后的
多个可用端口中筛选出与目标端口映射的芯片不同的候选端口,最后将第一访问控制规则
重新配置在候选端口上;从而避免了逻辑链路下的所有物理端口中的任一端口状态发生变
化后,访问控制规则没有重新配置导致流量匹配异常的问题,有效地提高了访问控制规则
配置方法的鲁棒性和可用性。
[0012] 本申请实施例还提供了一种访问控制规则配置装置,应用于交换机,包括:逻辑链路确定模块,用于接收第一访问控制规则,并确定第一访问控制规则绑定的逻辑链路;控制
规则获取模块,用于获取逻辑链路已配置的访问控制规则;控制规则判断模块,用于判断逻
辑链路已配置的访问控制规则中是否存在第二控制规则,第二控制规则的所有字段被第一
访问控制规则所包含;第一规则配置模块,用于若逻辑链路已配置的访问控制规则中存在
第二控制规则,则根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口,
并将第一访问控制规则配置在目标端口上。
[0013] 可选地,在本申请实施例中,还包括:第二规则配置模块,用于逻辑链路已配置的访问控制规则中不存在第二控制规则,则将第一访问控制规则配置在逻辑链路的所有物理
端口上。
[0014] 可选地,在本申请实施例中,第一规则配置模块,包括:第一端口筛选模块,用于从逻辑链路下的所有物理端口中筛选出多个可用端口,可用端口是处于正常工作状态(UP)的
物理端口;第一端口确定模块,用于根据第一访问控制规则从多个可用端口中筛选出目标
端口。
[0015] 可选地,在本申请实施例中,第一规则配置模块,包括:第二端口筛选模块,用于使用交换芯片根据第一访问控制规则从逻辑链路下的所有物理端口中筛选出目标端口。
[0016] 可选地,在本申请实施例中,第一规则配置模块,包括:映射芯片查找模块,用于在关系映射表中查找与目标端口对应的芯片,关系映射表存储有端口和芯片之间映射关系;
规则转发存储模块,用于将第一访问控制规则转发至目标端口映射的芯片,以使目标端口
映射的芯片将接收到的第一访问控制规则存储至目标端口的配置信息中,配置信息用于目
标端口对经过的数据流量进行访问控制。
[0017] 可选地,在本申请实施例中,访问控制规则配置装置,还包括:可用端口获得模块,用于在逻辑链路下的所有物理端口中的任一端口状态发生变化后,获得变化后的多个可用
端口;候选端口筛选模块,用于根据第一访问控制规则从变化后的多个可用端口中筛选出
候选端口;规则重新配置模块,用于若目标端口映射的芯片与候选端口映射的芯片是不同
的芯片,则将第一访问控制规则重新配置在候选端口上,并从目标端口上删除配置的第一
访问控制规则。
[0018] 本申请实施例还提供了一种交换机,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
[0019] 本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。

附图说明

[0020] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看
作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他相关的附图。
[0021] 图1示出的本申请实施例提供的访问控制规则配置方法的流程示意图;
[0022] 图2示出的本申请实施例提供的访问控制规则的比较和配置过程的示意图;
[0023] 图3示出的本申请实施例提供的重新配置访问控制规则的流程示意图;
[0024] 图4示出的本申请实施例提供的访问控制规则配置装置的结构示意图;
[0025] 图5示出的本申请实施例提供的交换机的结构示意图。

具体实施方式

[0026] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
[0027] 在介绍本申请实施例提供的访问控制规则配置方法之前,先介绍本申请实施例中涉及的一些概念:
[0028] 访问控制(Access Control),是指允许或禁止某目标对象使用某项资源的能力;在信息安全领域中,访问控制是指对访问某项资源的数据流量进行管理,具体包括:对目标
对象的认证、对目标对象的授权和该目标对象使用该项资源的权限进行审核等等管理。
[0029] 媒体访问控制(Media Access Control,MAC)地址,也称为局域网地址、以太网地址或物理地址,媒体访问控制地址是一个用来确认网络设备位置的地址。
[0030] 访问控制规则(Access Control Rule),是指访问控制列表(ACL)中的具体规则数据,该规则数据可以是由多个字段组成,具体例如:由一个字段组成的访问控制规则可以表
示为:[目的MAC地址:A1],那么就表示匹配出目的MAC地址为A1的数据流量。
[0031] 哈希算法,又被称为哈希函数(Hash function)、散列算法或散列函数,是一种从任何一种数据中创建小的数字指纹的方法;该散列函数将数据打乱混合,重新创建一个称
为散列值(hash values,hash codes,hash sums或hashes)的指纹;散列值通常用一个短的
随机字母和数字组成的字符串来代表。
[0032] 需要说明的是,本申请实施例提供的访问控制规则配置方法可以被交换机执行,这里的交换机可以是局域网中的交换机,也可以是广域网中的交换机,可以是工作在数据
链路层的交换机,也可以是工作在网络层的交换机。
[0033] 在介绍本申请实施例提供的访问控制规则配置方法之前,先介绍访问控制规则配置方法适用的应用场景,这里的应用场景包括但不限于:对交换机中的多个物理端口进行
链路汇聚后,获得一个逻辑链路;可以使用访问控制规则配置方法提升链路汇聚后的交换
机对访问控制规则的使用效率,也可以使用访问控制规则配置方法提高交换机中的芯片对
相应的物理端口进行数据流量匹配的准确率,或者使用访问控制规则配置方法来解决逻辑
链路下的所有物理端口都进行数据流量匹配导致ACL表项资源浪费的问题等。
[0034] 请参见图1示出的本申请实施例提供的访问控制规则配置方法的流程示意图;该方法可以应用于链路汇聚后的交换机,上述的访问控制规则配置方法的主要思路是,在实
践的过程中发现,经过此逻辑链路的数据流量中的每一条数据,只会从其中一个物理端口
中经过,即只需要在一个物理端口上进行访问控制规则的匹配;因此,通过对接收的第一访
问控制规则的所有字段和逻辑链路已配置的访问控制规则的所有字段进行比较,从而确定
将访问控制规则配置在逻辑链路的所有物理端口中筛选出的目标端口上,有效地避免了将
第一访问控制规则下发到链路汇聚下的所有物理端口的情况。因此,使用访问控制规则配
置方法可以将访问控制规则配置在目标端口上,从而在对数据流量进行访问控制达到同样
效果的情况下,尽可能更少地占用ACL表项资源,改善了所有物理端口映射的芯片都进行访
问控制规则配置下发导致ACL表项资源浪费的问题;在交换机上执行上述的访问控制规则
配置方法可以包括:
[0035] 步骤S110:交换机接收第一访问控制规则,并确定第一访问控制规则绑定的逻辑链路。
[0036] 逻辑链路,是指对两台设备间多条物理链路捆绑在一起形成的链路,一个逻辑链路可以与一个访问控制列表绑定,一个访问控制列表可以包括多个访问控制规则;其中,上
述的两台设备中的任一台设备可以是执行访问控制规则配置方法的交换机,该交换机上设
置有多个物理端口,该交换机上也可以配置有多个逻辑链路,即交换机的多个物理端口可
以属于不同的逻辑链路,一个物理端口可以对应一个物理链路;逻辑链路下的物理端口可
以配置访问控制规则。
[0037] 上述步骤S110中的接收第一访问控制规则的实施方式有很多种:第一种实施方式,可以是由网络管理员使用命令行界面(Command Line Interface,CLI)登录交换机,并
使用CLI提交第一访问控制规则,然后该交换机接收管理员的终端设备发送的第一访问控
制规则。第二种实施方式,也可以由网络管理员将第一访问控制规则上传和存储在服务器
上,通过网络管理员与服务器的交互触发服务器向交换机发送第一访问控制规则,然后交
换机接收服务器发送的第一访问控制规则,其中,网络管理员与服务器的交互触发的方式
有很多种,具体例如:通过图形用户界面(Graphical User Interface,GUI)或者应用程序
接口(Application Programming Interface,API)等等。
[0038] 上述步骤S110中的确定第一访问控制规则绑定的逻辑链路的实施方式也有很多种:第一种实施方式,从缓存的链路规则映射表中查询第一访问控制规则绑定的逻辑链路;
其中,链路规则映射表里存储着交换机上的逻辑链路与访问控制规则的绑定映射关系,缓
存的链路规则映射表可以是指存储在缓存键值对(key‑value)数据库中的链路规则映射
表,缓存键值对数据库例如:Memcached和Redis等。第二种实施方式,如果通过第一种实施
方式没有查询到第一访问控制规则绑定的逻辑链路,那么可以从本地存储的配置文件中查
询第一访问控制规则绑定的逻辑链路,该配置文件可以是网络管理员新建和维护的。第三
种实施方式,如果通过第一种实施方式和第二种实施方式均没有查询到第一访问控制规则
绑定的逻辑链路,那么可以向存储该交换机上的逻辑链路与访问控制规则的绑定映射关系
的服务器查询获得,其中,此处的存储绑定映射关系的服务器可以和上面的存储第一访问
控制规则的服务器是同一服务器,也可以是不同的服务器。
[0039] 在步骤S110之后,执行步骤S120:获取逻辑链路已配置的访问控制规则。
[0040] 其中,逻辑链路下的物理端口可以配置访问控制规则,逻辑链路已配置的访问控制规则可以理解为链路汇聚上配置的哈希(HASH)负载算法中的键(key)值,逻辑链路已配
置的访问控制规则可以用于负载均衡,负载均衡可以简单地理解为让逻辑链路下的多个物
理链路上的流量仅可能按照条件因素来分配,此处的条件因素例如:物理链路的负载能力
和带宽大小限制等等因素。
[0041] 上述步骤S120的实施方式有很多种,包括但不限于这几种:第一种实施方式,从缓存的链路配置规则表中查询该逻辑链路下所有物理端口已配置的访问控制规则;其中,链
路配置规则表中存储着逻辑链路下所有物理端口已配置的访问控制规则。第二种实施方
式,如果通过第一种实施方式没有查询到该逻辑链路下所有物理端口已配置的访问控制规
则,那么可以从逻辑链路下所有物理端口的配置信息中获取已配置的访问控制规则。
[0042] 在步骤S120之后,执行步骤S130:判断逻辑链路已配置的访问控制规则中是否存在第二控制规则,第二控制规则的所有字段被第一访问控制规则所包含。
[0043] 请参见图2示出的本申请实施例提供的访问控制规则的比较和配置过程的示意图;图中的第一交换机和第二交换机的两条物理链路做了链路汇聚,也就意味着这两条物
理链路可以看作是一条逻辑链路;第一交换机与第一终端设备通信连接,第二交换机与第
二终端设备通信连接,第一终端设备与第二终端设备的通信过程就需要使用上面建立的逻
辑链路。上述步骤S130的实施方式有很多种,包括但不限于如下几种:
[0044] 第一种实施方式,根据第一访问控制规则的所有字段包含第二控制规则的所有字段,来判断逻辑链路已配置的访问控制规则中是否存在第二控制规则,该实施方式可以包
括:在获取逻辑链路下所有物理端口已配置的访问控制规则之后,对已配置的每条访问控
制规则进行判断;判断已配置的第二控制规则的所有字段是否被第一访问控制规则所包
含;具体例如:假设第一访问控制规则表示为[源MAC地址:A1,目标MAC地址:B1],若第二访
问控制规则为[源MAC地址:A1]或者[源MAC地址:A2],那么第二控制规则的所有字段是被第
一访问控制规则所包含的,若第二访问控制规则为[源MAC地址:A1,目标MAC地址:B1,类型:
C]或者[源MAC地址:A1,类型:C],那么第二控制规则的所有字段不是被第一访问控制规则
所包含的。
[0045] 第二种实施方式,根据第一访问控制规则的所有字段值包含第二控制规则的所有字段值(即包含的字段值相同),来判断逻辑链路已配置的访问控制规则中是否存在第二控
制规则,该实施方式可以包括:对已配置的每条访问控制规则进行判断;判断已配置的第二
控制规则的所有字段值是否被第一访问控制规则所包含;具体例如:假设第一访问控制规
则表示为[源MAC地址:A1,目标MAC地址:B1],若第二访问控制规则为[源MAC地址:A1],那么
第二控制规则的所有字段是被第一访问控制规则所包含的,若第二访问控制规则为[源MAC
地址:A2],那么第二控制规则的所有字段是被第一访问控制规则所包含的,若第二访问控
制规则为[源MAC地址:A1,目标MAC地址:B1,类型:C],那么第二控制规则的所有字段不是被
第一访问控制规则所包含的。
[0046] 在步骤S130之后,执行步骤S140:若逻辑链路已配置的访问控制规则中存在第二控制规则,则根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口,并将
第一访问控制规则配置在目标端口上。
[0047] 上述步骤S140中的根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口的实施方式有很多种,包括但不限于如下几种:
[0048] 第一种实施方式,根据第一访问控制规则与端口配置信息是否存在关系,来从逻辑链路的所有物理端口中筛选出目标端口,该实施方式包括:
[0049] 步骤S141:从逻辑链路下的所有物理端口中筛选出多个可用端口。
[0050] 可用端口,是指交换机上的逻辑链路下的可以正常通信使用的物理端口,此处的可用端口例如可以是逻辑链路下的所有处于正常工作状态(UP)物理端口,相反地,处于非
正常工作状态(DOWN)的物理端口则不是可用端口。
[0051] 上述步骤S141的实施方式例如:从链路端口映射表中或者逻辑链路的配置信息中查询该逻辑链路下的所有物理端口;然后根据端口状态对逻辑链路下的所有物理端口进行
筛选,将逻辑链路下的所有端口状态为UP的物理端口确定为可用端口,获得多个可用端口。
[0052] 步骤S142:根据第一访问控制规则从多个可用端口中筛选出目标端口。
[0053] 上述步骤S142的实施方式分为两种情况:
[0054] 第一种情况,根据访问控制字段的值来从多个可用端口中确定目标端口,具体例如:将多个可用端口中满足预设条件的可用端口确定为目标端口,假设预设条件是可用端
口的配置信息包括第一访问控制规则的字段集合中的任一访问控制字段值,第一访问控制
规则表示为[源MAC地址:A1,目标MAC地址:B1],若可用端口的配置信息为[源MAC地址:A1]
或者[目标MAC地址:B1],那么可以将该可用端口确定为目标端口;也就是说,配置信息中只
要有第一访问控制规则中的任一访问控制字段,且该访问控制字段的值必须相同,才能确
定其为目标端口。
[0055] 第二种情况,根据字段之间的包含关系(字段值可以不相同)来确定目标端口,具体例如:再以上面的数据为例,假设预设条件是可用端口的配置信息包括第一访问控制规
则的字段集合中的任一访问控制字段,第一访问控制规则表示为[源MAC地址:A1,目标MAC
地址:B1],若可用端口的配置信息为[源MAC地址:A2]或者[目标MAC地址:B2],那么可以将
该可用端口确定为目标端口;也就是说,配置信息中只要有第一访问控制规则的任一访问
控制字段即可,而不用关心具体的字段值。
[0056] 在上述的实现过程中,通过从逻辑链路下的所有物理端口中筛选出多个可用端口;将多个可用端口中满足预设条件的可用端口确定为目标端口,从而仅将第一访问控制
规则配置在配置信息包括其字段集合中的任一访问控制字段的可用端口上,避免配置到其
他无关物理端口中造成ACL表项资源浪费,有效地提高了访问控制规则配置的精确度。
[0057] 第二种实施方式,根据对第一访问控制规则进行哈希运算获得的哈希值,来从逻辑链路的所有物理端口中筛选出目标端口,该实施方式包括:
[0058] 步骤S143:从逻辑链路下的所有物理端口中筛选出多个可用端口。
[0059] 其中,该步骤S143的实施原理和实施方式与步骤S141的实施原理和实施方式是类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以
参考对步骤S141的描述。
[0060] 步骤S144:使用逻辑链路对应的哈希算法计算第一访问控制规则的所有字段对应的哈希值。
[0061] 上述步骤S144的实施方式例如:将第一访问控制规则的所有字段值进行拼接,获得拼接字段值串,并通过逻辑链路正在使用的哈希算法计算拼接字段值串的哈希值;其中,
哈希算法包括但不限于:MD5、SHA‑256/224、SHA‑512/384和WHIRLPOOL等算法。
[0062] 步骤S145:将第一访问控制规则的所有字段对应的哈希值除以多个可用端口的数量,获得物理端口号,并将物理端口号对应的可用端口确定为目标端口。
[0063] 上述步骤S145的实施方式例如:将第一访问控制规则的所有字段对应的哈希值转换至十六进制数,再将十六进制数除以多个可用端口的数量,获得物理端口号,并将物理端
口号对应的可用端口确定为目标端口。
[0064] 在上述的实现过程中,通过使用逻辑链路对应的哈希算法计算第一访问控制规则的所有字段对应的哈希值,并根据第一访问控制规则的所有字段对应的哈希值来确定目标
端口;从而仅将第一访问控制规则配置在第一访问控制规则的所有字段对应的哈希值确定
出的目标端口上,避免配置到逻辑链路下的所有物理端口造成ACL表项资源浪费,有效地改
善了所有物理端口都占用资源导致ACL表项资源浪费的问题。
[0065] 第三种实施方式,使用交换芯片根据第一访问控制规则从逻辑链路下的所有物理端口中筛选出其中一个物理端口作为目标端口,此处可以使用的交换芯片有很多种,这里
仅列举两种可以使用的交换芯片,具体例如:第一种,可以采用CTC8096(GoldenGate)智桥
系列的交换芯片,该交换芯片是专为高密度10GE/40GE应用打造的高性能以太网交换芯片;
第二种,可以采用CTC7132(TsingMa)芯片,该芯片是面向云时代和边缘计算技术演进需求
推出的第六代核心交换芯片。
[0066] 在上述的实现过程中,通过对接收的第一访问控制规则的所有字段和逻辑链路已配置的访问控制规则的所有字段进行比较,从而确定将访问控制规则配置在逻辑链路的所
有物理端口中筛选出的目标端口上,有效地避免了将第一访问控制规则下发到链路汇聚下
的所有物理端口的情况;因此,使用访问控制规则配置方法可以将访问控制规则配置在目
标端口上,从而在对数据流量进行访问控制达到同样效果的情况下,尽可能更少地占用ACL
表项资源,改善了所有物理端口映射的芯片都进行访问控制规则配置下发导致ACL表项资
源浪费的问题。
[0067] 上述步骤S140中的将第一访问控制规则配置在目标端口上的实施方式有很多种,包括但不限于如下几种:
[0068] 第一种实施方式,若目标端口有对应的独立芯片处理,则根据端口和芯片之间的关系映射表将第一访问控制规则转发至目标端口映射的芯片上,该实施方式包括:
[0069] 步骤S146:在关系映射表中查找与目标端口对应的芯片,关系映射表存储有端口和芯片之间映射关系。
[0070] 上述步骤S146的实施方式例如:在预先构建的端口和芯片之间映射关系的关系映射表中,查找到与目标端口映射的芯片;其中,映射关系包括:一个芯片可以映射多个物理
端口,一个物理端口可以只映射一个芯片。
[0071] 步骤S147:将第一访问控制规则转发至目标端口映射的芯片,以使目标端口映射的芯片将接收到的第一访问控制规则存储至目标端口的配置信息中。
[0072] 上述步骤S147的实施方式例如:使用通信总线将第一访问控制规则转发至目标端口映射的芯片,该芯片可以将接收到的第一访问控制规则存储至目标端口的配置信息中,
从而让芯片根据配置信息中的第一访问控制规则对经过目标端口的数据流量进行访问控
制。
[0073] 第二种实施方式,若目标端口对应没有独立芯片处理,没有独立芯片处理表示由中央处理器来对物理端口的数据流量进行访问控制,那么可以直接将第一访问控制规则写
入目标端口对应的配置信息中,该实施方式可以包括:
[0074] 步骤S148:将接收到的第一访问控制规则存储至目标端口的配置信息中,配置信息用于目标端口对经过的数据流量进行访问控制。
[0075] 其中,该步骤S148的实施原理和实施方式与步骤S147的实施原理和实施方式是类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以
参考对步骤S147的描述。
[0076] 在上述的实现过程中,通过在关系映射表中查找与目标端口对应的芯片,关系映射表存储有端口和芯片之间映射关系,再将第一访问控制规则转发至目标端口映射的芯
片;从而仅将第一访问控制规则转发至目标端口映射的芯片上,避免转发至逻辑链路下的
其它无关芯片,有效地改善了芯片资源浪费的问题,提高了芯片资源的使用率。
[0077] 可选地,在步骤S130之后,执行步骤S150:若逻辑链路已配置的访问控制规则中不存在第二控制规则,则将第一访问控制规则配置在逻辑链路的所有物理端口上。
[0078] 其中,该步骤S150中的实施原理和实施方式与步骤S130和步骤S140的实施原理和实施方式是类似的,其中,确定逻辑链路已配置的访问控制规则中不存在第二控制规则的
判断过程可以参照步骤S130的实施方式,将第一访问控制规则配置在逻辑链路的所有物理
端口上的实施方式可以参照步骤S140的两种实施方式;因此,这里不再对该步骤的实施方
式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S110的描述。
[0079] 在上述的实现过程中,若逻辑链路已配置的访问控制规则中不存在第二控制规则,则将第一访问控制规则配置在逻辑链路的所有物理端口上;从而有效地在不破坏原来
下发访问控制规则的情况下,即不破坏原来让访问控制规则生效过程的情况下,使访问控
制规则配置方法与原来的方法兼容,提高了访问控制规则配置方法的可用性和鲁棒性。
[0080] 请参见图3示出的本申请实施例提供的重新配置访问控制规则的流程示意图;可选地,在本申请实施例中,在将第一访问控制规则配置在目标端口上之后,还可以根据端口
状态的变化情况,确定是否重新配置访问控制规则到新端口上;也就是说,在步骤S140或者
步骤S150之后,还可以包括:
[0081] 步骤S210:在逻辑链路下的所有物理端口中的任一端口状态发生变化后,获得变化后的多个可用端口。
[0082] 上述步骤S210的实施方式例如:假设逻辑链路下共有三个物理端口,且三个物理端口的端口状态均为UP;若逻辑链路下的三个物理端口中的其中一个端口状态变为DOWN,
那么需要从逻辑链路下的三个物理端口中获得变化后的可用端口,此时的可用端口为两个
物理端口。该实施方式又例如:假设逻辑链路下共有三个物理端口,且三个物理端口中的两
个端口状态均为UP,剩下的一个端口状态为DOWN;若端口状态为DOWN的物理端口的端口状
态变为UP,那么需要从逻辑链路下的三个物理端口中获得变化后的可用端口,此时的可用
端口为三个物理端口。
[0083] 步骤S220:根据第一访问控制规则从变化后的多个可用端口中筛选出候选端口。
[0084] 其中,该步骤S220的实施原理和实施方式与步骤S140中的根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口的实施原理和实施方式是类似的,如有不清
楚的地方,可以参考对步骤S140的描述。
[0085] 下面对步骤S220的实施方式中不同部分进行说明,步骤S220的实施方式至少包括如下几种:
[0086] 第一种实施方式,根据端口配置信息是否存在关系筛选端口,该实施方式包括:
[0087] 步骤S221:将变化后的多个可用端口中满足预设条件的可用端口确定为候选端口,预设条件是变化后的多个可用端口的配置信息包括第一访问控制规则的字段集合中的
任一访问控制字段或者任一访问控制字段值。
[0088] 上述步骤S221的实施方式例如:假设逻辑链路下有A、B和C三个物理端口,且原来是将第一控制访问规则配置在物理端口C上的,若该物理端口C的端口状态变为非正常工作
状态(DOWN),那么可以获取到变化后的可用端口为A和B两个可用端口,再从A和B两个可用
端口确定候选端口,该候选端口需要满足的预设条件为配置信息包括第一访问控制规则的
字段集合中的任一访问控制字段或者任一访问控制字段值;若物理端口A满足该预设条件,
则将物理端口A确定为候选端口;若物理端口B满足该预设条件,则将物理端口B确定为候选
端口。
[0089] 第二种实施方式,使用交换芯片根据第一访问控制规则从逻辑链路下的所有物理端口中筛选出其中一个物理端口作为目标端口,此处可以使用的交换芯片有很多种,这里
仅列举两种可以使用的交换芯片,具体例如:第一种,可以采用CTC8096(GoldenGate)智桥
系列的交换芯片,该交换芯片是专为高密度10GE/40GE应用打造的高性能以太网交换芯片;
第二种,可以采用CTC7132(TsingMa)芯片,该芯片是面向云时代和边缘计算技术演进需求
推出的第六代核心交换芯片。
[0090] 步骤S230:若目标端口映射的芯片与候选端口映射的芯片是不同的芯片,则将第一访问控制规则重新配置在候选端口上,并从目标端口上删除配置的第一访问控制规则。
[0091] 上述步骤S230的实施方式例如:若目标端口映射的芯片与候选端口映射的芯片是不同的芯片,并从目标端口上删除配置的第一访问控制规则;其中,将第一访问控制规则重
新配置在候选端口上的实施方式可以参照步骤S140的两种实施方式,从目标端口上删除配
置的第一访问控制规则;如果该目标端口有独立芯片处理控制访问,那么可以从目标端口
对应芯片上存储的配置信息中删除第一访问控制规则。
[0092] 在上述的实现过程中,通过在逻辑链路下的所有物理端口中的任一端口状态发生变化后,并根据第一访问控制规则从变化后的多个可用端口中筛选出与目标端口映射的交
换芯片不同的候选端口,最后将第一访问控制规则重新配置在候选端口上;从而避免了逻
辑链路下的所有物理端口中的任一端口状态发生变化后,访问控制规则没有重新配置导致
流量匹配异常的问题,有效地提高了访问控制规则配置方法的鲁棒性和可用性。
[0093] 请参见图4示出的本申请实施例提供的访问控制规则配置装置的结构示意图;上述的访问控制规则配置装置300,可以应用于交换机,包括:
[0094] 逻辑链路确定模块310,用于接收第一访问控制规则,并确定第一访问控制规则绑定的逻辑链路。
[0095] 控制规则获取模块320,用于获取逻辑链路已配置的访问控制规则。
[0096] 控制规则判断模块330,用于判断逻辑链路已配置的访问控制规则中是否存在第二控制规则,第二控制规则的所有字段被第一访问控制规则所包含。
[0097] 第一规则配置模块340,用于若逻辑链路已配置的访问控制规则中存在第二控制规则,则根据第一访问控制规则从逻辑链路的所有物理端口中筛选出目标端口,并将第一
访问控制规则配置在目标端口上。
[0098] 可选地,在本申请实施例中,还包括:
[0099] 第二规则配置模块,用于逻辑链路已配置的访问控制规则中不存在第二控制规则,则将第一访问控制规则配置在逻辑链路的所有物理端口上。
[0100] 可选地,在本申请实施例中,第一规则配置模块,可以包括:
[0101] 第一端口筛选模块,用于从逻辑链路下的所有物理端口中筛选出多个可用端口,可用端口是端口状态为UP的物理端口。
[0102] 第一端口确定模块,用于根据第一访问控制规则从多个可用端口中筛选出目标端口。
[0103] 可选地,在本申请实施例中,第一规则配置模块,还包括:
[0104] 第二端口筛选模块,用于使用交换芯片根据第一访问控制规则从逻辑链路下的所有物理端口中筛选出目标端口。
[0105] 可选地,在本申请实施例中,第一规则配置模块,还可以包括:
[0106] 映射芯片查找模块,用于在关系映射表中查找与目标端口对应的芯片,关系映射表存储有端口和芯片之间映射关系。
[0107] 规则转发存储模块,用于将第一访问控制规则转发至目标端口映射的芯片,以使目标端口映射的芯片将接收到的第一访问控制规则存储至目标端口的配置信息中,配置信
息用于目标端口对经过的数据流量进行访问控制。
[0108] 可选地,在本申请实施例中,访问控制规则配置装置,还包括:
[0109] 可用端口获得模块,用于在逻辑链路下的所有物理端口中的任一端口状态发生变化后,获得变化后的多个可用端口。
[0110] 候选端口筛选模块,用于根据第一访问控制规则从变化后的多个可用端口中筛选出候选端口。
[0111] 规则重新配置模块,用于若目标端口映射的芯片与候选端口映射的芯片是不同的芯片,则将第一访问控制规则重新配置在候选端口上,并从目标端口上删除配置的第一访
问控制规则。
[0112] 应理解的是,该装置与上述的访问控制规则配置方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处
适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器
中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
[0113] 请参见图5示出的本申请实施例提供的交换机的结构示意图。本申请实施例提供的一种交换机400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机
器可读指令,机器可读指令被处理器410执行时执行如上的方法。
[0114] 本申请实施例还提供了一种存储介质430,该存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
[0115] 其中,存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可
编程只读存储器(Electrically Erasable Programmable Read‑Only Memory,简称
EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称
EPROM),可编程只读存储器(Programmable Red‑Only Memory,简称PROM),只读存储器
(Read‑Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
[0116] 本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图
显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系
架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代
码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可
执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图
中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也
可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图
中的每个方框、以及框图和/或流程图中的方框的组合,可以使用执行规定的功能或动作的
专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0117] 另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的
部分。
[0118] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分UP来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际
的关系或者顺序。
[0119] 以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易
想到变化或替换,都应涵盖在本申请实施例的保护范围之内。