非触发式访问控制列表应用与访问控制列表规则同步方法

文档序号:7592762阅读:135来源:国知局
专利名称:非触发式访问控制列表应用与访问控制列表规则同步方法
技术领域
本发明涉及通信领域,特别涉及访问控制列表技术。
背景技术
在通信系统中,访问控制列表(Access Control List,简称″ACL″)是一种应用在交换设备上的技术。使用该技术可以有效地控制网络流量、提高网络性能,如通过根据数据包的协议类型为其设置不同的优先级,从而能够使该数据包在同样的情况时能够按照优先级进行处理;也可以使用该技术来设置一段网络的安全性,如在一个局域网内,只允许一定地址范围的主机访问或者只能通过固定的端口来对其进行访问;利用ACL技术还可以控制交换设备的接收和转发等操作。
ACL的工作原理较为简单,主要是在交换设备上设置一系列的指令来告诉交换设备哪些数据可以接收、哪些数据不能接收。至于接收还是拒绝则可以通过设定源地址、目的地址、端口号、协议类型等条件。对于经过该交换设备的数据包都需要经过这些条件的判断,如果数据包与指定条件相匹配则表示可以接收,如果不匹配则表示不能接收。
随着ACL技术的不断发展,其功能已经由开始单一的分组过滤发展成为一种匹配规则。按照ACL应用对象的不同性质,可以将其分为两种应用类型一种是触发式的ACL应用,一种是非触发式的ACL应用。
触发式ACL应用是传统的ACL应用,主要用于对交换设备(如路由器、交换机等)的输入信号进行分组过滤。对于交换设备,其输入信号包括分组、帧、路由项等。使用ACL是为分组过滤提供一种匹配规则,对于与该匹配规则相对应的分组源地址、分组目的地址、协议类型、端口号等执行允许或否决操作,从而进行访问控制。由于允许或否决操作是通过输入信号来触发的,因此通常称这种应用为触发式ACL应用。
非触发式ACL应用是目前新发展的一种ACL应用方式,其应用范围非常广泛。在采用这种应用时首先需要在一个公共的存储空间配置所有的匹配规则。启动时,根据运行的命令从该存储空间下载调用相应的规则并将其存储在一定的数据结构中,在使用期间如果不执行特殊的操作或命令,该数据结构中的内容将不会变化。由于在使用时没有固定的信号触发ACL应用,因此这种方式是非触发式的。
对于某个实际的应用过程来讲,可能需要根据不同的情况对匹配规则做出适当调整,此时要求ACL应用能够与ACL规则的变化同步。对于触发式ACL应用,由于其是由交换设备的输入信号来触发的,如果对当前分组进行过滤时,改变了ACL规则,则在下一个分组到来时,系统会自动采用更新后的ACL规则进行过滤,因此对于触发式ACL应用,ACL规则变化是能够进行实时处理的。对于非触发式ACL应用,相应的ACL规则是在启动时调用的,如果在处理期间,用户对ACL规则进行了修改,由于其是非触发的,使用该ACL规则对应的应用将不能获知规则的变化情况而只好继续采用原来的规则进行处理,因此在很大程度上限制了ACL的应用范围。
目前,对于非触发式ACL应用,如果ACL规则发生变化时,主要有两种方法来处理一种是重新配置非触发式ACL应用,另一种是ACL应用周期性的查询ACL规则,并将其与相应的ACL规则同步。例如在组播路由协议中,独立协议组播-稀疏模式(Protocol Independent Multicast Sparse Mode,简称″PIM-SM″)是目前的主流协议。在PIM-SM协议中,通常需要使用一个中央路由器(也称为汇集点)作为一个共享树的树根。所有的源主机将他们的多播通信发送到该汇集点,然后由该汇集点通过公用共享树,将数据包转发给组的所有成员。由于汇集点从源接收所有通信,并将通信发送给相应组的所有成员。因此需要在汇集点中设置特定的组。可以使用ACL来静态配置汇集点所处理的组的范围。此时,该应用就是一个非触发式的ACL应用。如果汇集点所对应的ACL规则发生变化时,要使汇集点能够根据更新后的ACL规则进行处理,可以对该汇集点重新配置ACL应用,也可以通过周期性查询ACL规则,获得ACL的变化,从而使应用与ACL规则的变化同步。
在实际应用中,上述方案存在以下问题对于第一种方法,其无法对ACL的变化自动响应,只能按照初始时的ACL规则进行处理,如果要使用新的ACL规则来处理则要求重新配置ACL应用,导致响应的周期较长。
对于第二种方法,由于其工作原理导致无论ACL规则是否发生改变,都要求ACL应用周期性刷新ACL规则,加重了路由器的负担。
造成这种情况的主要原因在于,ACL应用和ACL规则间建立的仅仅是单向联系,即ACL应用记录了ACL规则,但是ACL规则却没有记录ACL应用,导致ACL应用不能自动对ACL规则的变化做出自动响应。

发明内容
有鉴于此,本发明的主要目的在于提供一种非触发式访问控制列表应用与访问控制列表规则同步方法,使得非触发式ACL应用能够及时响应ACL规则的变化。
为实现上述目的,本发明提供了一种非触发式访问控制列表应用与访问控制列表规则同步方法,包含以下步骤A访问控制列表应用模块和访问控制列表规则模块分别配置访问控制列表应用和访问控制列表规则,并且交互并记录对方信息;B当所述访问控制列表规则模块改变访问控制列表规则时,由该模块将变化信息通知对应的访问控制列表应用模块,所述访问控制列表应用模块响应所述访问控制列表规则变化。
其中,在所述步骤A中,在所述访问控制列表应用模块中使用访问控制列表规则号来记录访问控制列表应用所引用的访问控制列表规则;在所述访问控制列表规则模块中通过一个存储字段存储引用相应访问控制列表规则的访问控制列表应用。
所述存储字段可以是数组或者链表。
当在所述步骤A中,先由所述访问控制列表规则模块对所述访问控制列表规则进行配置时,步骤A包含以下子步骤A11所述访问控制列表规则模块配置访问控制列表规则,并且将所述访问控制列表规则中用于记录访问控制列表应用的字段设置为无效值;A12当所述访问控制列表应用模块配置所述访问控制列表规则对应的访问控制列表应用时,访问控制列表应用模块将自身对应的访问控制列表规则提供给所述访问控制列表规则模块;A13所述访问控制列表规则模块将所述访问控制列表规则中用于记录访问控制列表应用的字段设置为所述访问控制列表应用。
当在所述步骤A中,先由所述访问控制列表应用模块对所述访问控制列表应用进行配置时,步骤A包含以下子步骤A21所述访问控制列表应用模块配置访问控制列表应用,并将该访问控制列表应用所引用的访问控制列表规则提供给所述访问控制列表规则模块;A22所述访问控制列表规则模块记录所述访问控制列表应用;A23所述访问控制列表规则模块配置所述访问控制列表应用对应的访问控制列表规则,并将所述访问控制列表规则中用于记录访问控制列表应用的字段设置为所述访问控制列表应用。
所述步骤B还包含以下子步骤
B1当所述访问控制列表规则变化时,所述访问控制列表规则模块判断所述访问控制列表规则中用于记录访问控制列表应用的字段是否记录了其对应的访问控制列表应用,如果是,则执行步骤B2;B2所述访问控制列表规则模块通过访问控制列表规则变化消息,通知访问控制列表应用模块其对应的访问控制列表规则发生变化;B3所述访问控制列表应用模块响应所述访问控制列表规则的变化。
所述步骤B2中,所述访问控制列表规则变化消息中包含引用该访问控制列表规则的访问控制列表应用的信息。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,在ACL规则配置时增加了一个存储字段,用以记录引用该ACL规则的所有ACL应用。当ACL规则发生变化时,ACL规则模块自动发送变化信息给相应的ACL应用,从而使系统能够自动响应ACL规则的变化。
这种技术方案上的区别,带来了较为明显的有益效果,即由于ACL规则变化信息是自动发送给ACL应用然后进行响应处理的,因此无需增加额外的操作来重新配置ACL应用,使响应的周期大大减小;在ACL规则和ACL应用间建立的是双向联系,无需采用定时机制来周期性查询ACL规则,有效的减少了路由器的处理负担。


图1是根据本发明的一个实施例的实现非触发式ACL应用与ACL规则同步的结构示意图;图2是根据本发明一个实施例的实现非触发式ACL应用与ACL规则同步的第一配置流程图;图3是根据本发明一个实施例的实现非触发式ACL应用与ACL规则同步的第二配置流程图;
图4是根据本发明的一个实施例的实现非触发式ACL应用随ACL规则变化的消息响应流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步地详细描述。(方法)图1是根据本发明一个实施例的实现非触发式ACL应用与ACL规则同步的结构示意图,如图所示,该结构主要由两个模块组成访问控制列表应用模块(ACL应用模块)10和访问控制列表规则模块(ACL规则模块)11。
ACL应用模块10用于处理所有的ACL应用。通过该模块可以有效地配置管理各种ACL应用,使各个ACL应用根据相应的ACL规则执行相应的处理,如允许接收与ACL规则相匹配的业务或者允许转发与ACL规则相匹配业务等。
ACL规则模块11用于处理所有的ACL规则。通过该模块可以增加、删除、查找或者修改ACL规则。熟悉本领域的技术人员应该知道,ACL规则是由ACL应用中配置的ACL规则号调用的。
为了实现非触发式ACL应用与ACL规则同步,需要在ACL应用模块10与ACL规则模块11之间建立双向联系。本发明为每一个ACL规则设置一个记录字段来存储引用该ACL规则的所有ACL应用,通过该字段以及ACL应用所引用的ACL规则号来实现ACL应用模块10和ACL规则模块11之间的信息交互。
上面简单描述了ACL应用模块10与ACL规则模块11的功能以及相互联系的建立方式。下面将详细描述实现非触发式ACL应用与ACL规则同步的过程。
首先由ACL应用模块10和ACL规则模块11配置ACL应用以及各个ACL应用所引用的ACL规则。在配置时,引用相同ACL规则的各个ACL应用都应存储在同一个ACL规则的记录字段中。当ACL规则发生变化时,ACL规则模块11发送相应的变化信息给ACL应用模块10,ACL应用模块10根据接收到的变化信息执行相应的处理,从而实现ACL应用与ACL规则的同步。
在使用ACL应用模块10和ACL规则模块11配置ACL应用和ACL规则时,由于不同的配置顺序需要不同的处理方法。下面将根据ACL应用和ACL规则配置的不同顺序,详细说明其相应的处理步骤。
首先说明先配置ACL规则后配置ACL应用的情形,其配置流程图如图2所示。
在确定了ACL应用的要求后,首先执行步骤210,使用ACL规则模块11配置具体的ACL规则。由于此时还没有配置ACL应用,因此该ACL规则中的存储字段应该设置为无效值。熟悉本领域的技术人员应该知道,如果存储字段使用数组或者链表来表示,那么此时可以将数组或链表设置为空。
接着进入步骤220,使用ACL应用模块10来配置ACL应用,同时设置将该ACL应用所引用的ACL规则号配置为步骤210中配置的ACL规则的规则号。
最后进入步骤230,ACL规则模块11根据步骤220中配置的引用ACL规则号,查找到该ACL规则。并将步骤220中配置的ACL应用写入到查找到的ACL规则记录字段中,完成ACL规则和ACL应用的配置。
接下来说明先配置ACL应用后配置ACL规则的情形,则其配置流程图如图3所示。
首先执行步骤310,使用ACL应用模块10配置ACL应用及其所引用的ACL规则号,同时将该ACL规则号发送给ACL规则模块11。
接着进入步骤320,由于ACL规则模块11还没有配置步骤310中ACL应用所引用的ACL规则,所以不能将该ACL应用存入相应ACL规则的记录字段,可以将其暂时存储ACL规则模块11中。熟悉本领域的人员应该知道,该ACL应用也可以存储在其他空间。
然后进入步骤330,使用ACL规则模块11开始配置步骤310中发送给ACL规则模块11的ACL规则号所对应的ACL规则。在ACL规则配置完成后,将记录在ACL规则模块11中的ACL应用写入该ACL规则的记录字段,完成ACL规则和ACL应用的配置过程。
当ACL规则变化时,要求ACL应用能够对ACL规则做出同步响应。图4即为非触发式ACL应用随ACL规则变化的消息响应流程图。
如图所示,首先进入步骤410,等待ACL规则发生变化,如果发生变化则进入步骤420,如果没有发生变化,则不执行任何操作,继续等待ACL规则变化。
在步骤420中,ACL规则模块11查找变化的ACL规则,获取存储在该ACL规则中的ACL应用。如果在该ACL规则存储字段中存在保存的ACL应用,则进入步骤430;如果在存储字段中不存在任何ACL应用,则表示该ACL规则未被任何ACL应用引用,因此无需进行处理,返回步骤410,继续等待ACL规则变化。
然后进入步骤430,ACL规则模块11将ACL规则变化信息发送给ACL应用模块10。熟悉本领域的技术人员应该知道,该ACL规则变化信息中应该包含有引用该ACL规则的ACL应用的信息。
最后进入步骤440,ACL应用模块10接收到来自ACL规则模块11的ACL规则变化消息。获得其中有关ACL应用的消息并做出相应响应。熟悉本领域的技术人员应该知道,如果ACL规则的变化对引用该规则的ACL应用影响很大,所述响应可以是对应的ACL应用重新下载该应用所引用的ACL规则,并在以后的处理中按照新的ACL规则进行处理;如果影响很小,则可以忽略该ACL规则的变化而继续按照以前的规则进行处理。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
权利要求
1.一种非触发式访问控制列表应用与访问控制列表规则同步方法,其特征在于,包含以下步骤A访问控制列表应用模块配置访问控制列表应用,访问控制列表规则模块配置访问控制列表规则,相互交互,并记录对方信息;B当所述访问控制列表规则模块改变访问控制列表规则时,由该模块将变化信息通知对应的访问控制列表应用模块,所述访问控制列表应用模块响应所述访问控制列表规则变化。
2.根据权利要求1所述的非触发式访问控制列表应用与访问控制列表规则同步方法,其特征在于,在所述步骤A中,在所述访问控制列表应用模块中使用访问控制列表规则号来记录访问控制列表应用所对应的访问控制列表规则;在所述访问控制列表规则模块中通过一个存储字段存储访问控制列表规则所对应的访问控制列表应用。
3.根据权利要求2所述的非触发式访问控制列表应用与访问控制列表规则同步方法,其特征在于,所述存储字段可以是数组或者链表。
4.根据权利要求1所述的非触发式访问控制列表应用与访问控制列表规则同步方法,其特征在于,当在所述步骤A中,先由所述访问控制列表规则模块对所述访问控制列表规则进行配置,并且步骤A包含以下子步骤A11所述访问控制列表规则模块配置访问控制列表规则,并且将所述访问控制列表规则中用于记录访问控制列表应用的字段设置为无效值;A12当所述访问控制列表应用模块配置所述访问控制列表规则对应的访问控制列表应用时,访问控制列表应用模块将自身对应的访问控制列表规则提供给所述访问控制列表规则模块;A13所述访问控制列表规则模块将所述访问控制列表规则中用于记录访问控制列表应用的字段设置为所述访问控制列表应用。
5.根据权利要求1所述的非触发式访问控制列表应用与访问控制列表规则同步方法,其特征在于,在所述步骤A中,先由所述访问控制列表应用模块对所述访问控制列表应用进行配置,并且步骤A包含以下子步骤A21所述访问控制列表应用模块配置访问控制列表应用,并将该访问控制列表应用所引用的访问控制列表规则提供给所述访问控制列表规则模块;A22所述访问控制列表规则模块记录所述访问控制列表应用;A23所述访问控制列表规则模块配置所述访问控制列表应用对应的访问控制列表规则,并将所述访问控制列表规则中用于记录访问控制列表应用的字段设置为所述访问控制列表应用。
6.根据权利要求1所述的非触发式访问控制列表应用与访问控制列表规则同步方法,其特征在于,所述步骤B还包含以下子步骤B1当所述访问控制列表规则变化时,所述访问控制列表规则模块判断所述访问控制列表规则中用于记录访问控制列表应用的字段是否记录了其对应的访问控制列表应用,如果是,则执行步骤B2;B2所述访问控制列表规则模块通过访问控制列表规则变化消息,通知访问控制列表应用模块其对应的访问控制列表规则发生变化;B3所述访问控制列表应用模块响应所述访问控制列表规则的变化。
7.根据权利要求6所述的非触发式访问控制列表应用与访问控制列表规则同步方法,其特征在于,所述步骤B2中,所述访问控制列表规则变化消息中包含引用该访问控制列表规则的访问控制列表应用的信息。
全文摘要
本发明涉及通信领域,公开了一种非触发式访问控制列表应用与访问控制列表规则同步方法,使得非触发式ACL应用能够及时响应ACL规则的变化。这种非触发式访问控制列表应用与访问控制列表规则同步方法包含以下步骤A访问控制列表应用模块和访问控制列表规则模块分别配置访问控制列表应用和访问控制列表规则,并且交互并记录对方信息;B当访问控制列表规则模块改变访问控制列表规则时,由该模块将变化信息通知对应的访问控制列表应用模块,访问控制列表应用模块响应访问控制列表规则变化。
文档编号H04L12/56GK1697422SQ20041004446
公开日2005年11月16日 申请日期2004年5月10日 优先权日2004年5月10日
发明者王柏南, 郭锋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1