访问控制列表acl的发送方法及装置的制造方法

文档序号:10666323阅读:283来源:国知局
访问控制列表acl的发送方法及装置的制造方法【专利摘要】本发明提供了一种访问控制列表ACL的发送方法及装置,其中,该方法包括:将预先配置的一个或多个ACL的控制规则映射到Openflow流表中;通过软件定义网络SDN控制器向转发设备发送映射控制规则后的Openflow流表。通过本发明,解决了相关技术中采用路由器来实现ACL的功能对网络设备性能要求非常高的问题,进而到达了减轻网络设备升级和维护的效果。【专利说明】访问控制列表ACL的发送方法及装置
技术领域
[0001]本发明涉及通信领域,具体而言,涉及一种访问控制列表ACL的发送方法及装置。【
背景技术
】[0002]软件定义网络(SoftwareDefinedNetwork,简称为SDN)是由美国斯坦福大学cleanslate研究组提出的一种新型网络创新架构,其核心技术Openflow通过将网络设备控制面与数据面分离开来,转发设备标准化、控制面集中化,所有控制功能可以通过集中的控制面进行编程实现而无需升级转发面,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。SDN的概念核心是控制转发分离,转发设备标准化、傻瓜化,控制面集中化,所有控制功能可以通过集中的控制面进行编程实现而无需升级转发面。[0003]作为SDN的一种实现方式,Openflow交换机将原来完全由交换机/路由器控制的报文转发过程转化为由Openflow交换机(OpenflowSwitch)和控制服务器(Controller)来共同完成,从而实现了数据转发和路由控制的分离。控制器可以通过事先规定好的接口操作来控制Openflow交换机中的流表,从而达到控制数据转发的目的。因此,Openflow开启了一条网络创新的道路。Openflow交换机由流表(Flowtable)、安全通道和Openflow协议三部分组成。网络设备维护一个FlowTable并且只按照FlowTable进行转发,Flowtable本身的生成、维护、下发完全由外置的Controller来实现,网络的运营商可以决定使用何种粒度的流,比如运营商只需要根据目的IP进行路由,那么流表中就可以只有目的IP字段是有效的,其它全为通配。流表由很多个流表项组成,每个流表项就是一个转发规则。进入交换机的数据包通过查询流表来获得转发的目的端口以及相应操作。[0004]访问控制列表(AccessControlList,简称为ACL)技术在现代网络设备(路由器,交换机)中被广泛采用,网络设备如路由器中经常利用ACL来控制数据报文的接收或拒绝。在路由器中配置的ACL可以应用在接口或用户上,通过对路由器接口或用户的通信流量进行控制,提高网络性能和安全性。[0005]路由器中可以配置多个ACL,每个端口或用户可以应用相同的或不同的ACL。每个ACL是由一系列的规则组成,每条规则是由匹配项和动作组成,如源IP地址,目的IP地址,源端口号,目的端口号,协议类型等都可以是ACL规则中的匹配项。动作决定了对匹配报文的处理,如允许(permit)或拒绝(deny)。路由器提取每一个数据包中的关键字(如源IP地址,目的IP地址,源端口号,目的端口号,协议类型等),按照ACL中所列规则逐条顺序检查,一条一条地匹配规则中定义的匹配项,如果匹配某一条规则,就按照规则中定义的动作执行,不再检查后面的规则,因此,在ACL中定义好规则的匹配顺序是相当重要的。如果所有的规则都不匹配,就拒绝数据包通过,也可修改成允许所有不匹配的数据包通过。[0006]ACL可实现入方向访问控制和出方向访问控制。当一个数据包从路由器的接口进入时,路由器查看该接口的入方向有没有配置ACL,如果配置了,且被ACL拒绝,那么该数据包被直接丢弃,如果被ACL允许,或没有配置ACL,数据包才进行路由查找与转发处理。入方向访问控制节省了不必要的路由查找和转发的开销。路由器根据路由表把数据包转发到出口接口,数据包准备从一个接口出去时,路由器再查看在该接口的出方向有没有配置ACL,如果配置了,则根据ACL对数据包进行输出过滤控制,如果没有配置ACL,则直接输出数据包。[0007]根据用户需求,也可以对ACL增加一些应用策略,如定义ACL中规则在一段时间内生效,而其它时间内是失效的。又如可以对配置的ACL规则进行合并处理,减少下发到ACL表中的规则数量。相关技术中,ACL功能做的越强大,对路由器等网络设备的性能就要求越高。而且为了新增应用策略,就必须对每台路由器进行ACL控制软件升级,可能还需要对硬件进行升级,存在开发周期长,维护工作量大等缺点。[0008]针对相关技术中采用路由器来实现ACL的功能对网络设备性能要求非常高的问题,目前尚未提出有效的解决方案。【
发明内容】[0009]本发明的主要目的在于提供一种访问控制列表ACL的发送方法及装置,以至少解决相关技术中采用路由器来实现ACL的功能对网络设备性能要求非常高的问题。[0010]根据本发明的一个方面,提供了一种访问控制列表ACL的发送方法,包括:将预先配置的一个或多个ACL的控制规则映射到Openflow流表中;通过软件定义网络SDN控制器向转发设备发送映射控制规则后的Openflow流表。[0011]进一步地,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,所述方法包括:依据人机接口或用户预先定义的自动化处理流程给所述一个或多个ACL配置所述控制规则。[0012]进一步地,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,预先配置所述控制规则之后,所述方法包括:设置在指定时间段执行所述控制规则;和/或,将所述控制规则中的指定多个控制规则进行合并;和/或,配置所述ACL与设备端口之间的关联关系;和/或,配置所述ACL与宽带接入用户之间的关联关系。[0013]进一步地,在所述多个ACL的控制规则中存在相同的控制规则时,在将所述一个或多个ACL的预设控制规则映射到Openflow流表中之后,所述方法还包括:在所述Openflow流表中对所述多个ACL的控制规则均设置优先级。[0014]进一步地,将预先配置的一个或多个ACL的控制规则映射到Openflow流表中,包括:在所述控制规则发生变化时,将变化后的控制规则映射到Openflow流表中。[0015]根据本发明的另一个方面,提供了一种访问控制列表ACL的发送装置,包括:映射模块,用于将预先配置的一个或多个ACL的控制规则映射到Openflow流表中;发送模块,用于通过软件定义网络SDN控制器向转发设备发送映射控制规则后的Openflow流表。[0016]进一步地,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,所述装置还包括:配置模块,用于依据人机接口或用户预先定义的自动化处理流程给所述一个或多个ACL配置所述控制规则。[0017]进一步地,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,预先配置所述控制规则之后,所述装置包括:第一设置模块,用于设置在指定时间段执行所述控制规则;和/或,设置对所述控制规则中的指定多个控制规则进行合并;和/或,配置所述ACL与设备端口之间的关联关系;和/或,配置所述ACL与宽带接入用户之间的关耳关关系。[0018]进一步地,在所述多个ACL的控制规则中存在相同的控制规则时,在将所述一个或多个ACL的预设控制规则映射到Openflow流表中之后,所述装置还包括:第二设置模块,用于在所述Openflow流表中对所述多个ACL的控制规则均设置优先级。[0019]进一步地,所述映射模块,还用于在所述控制规则发生变化时,将变化后的控制规则映射到Openflow流表中。[0020]通过本发明,采用将预先配置的一个或多个ACL的控制规则映射到Openflow流表中,然后再通过软件定义网络SDN控制器向转发设备发送映射控制规则后的Openflow流表的方式,也就是说通过SDN控制器向转发设备发送映射控制规则后的Openflow流表,实现了ACL控制规则在数据流中的实际生效,解决了相关技术中采用路由器来实现ACL的功能对网络设备性能要求非常高的问题,进而到达了减轻网络设备升级和维护的效果。【附图说明】[0021]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:[0022]图1是根据本发明实施例的访问控制列表ACL的发送方法流程图;[0023]图2是根据本发明实施例的访问控制列表ACL的发送装置结构框图;[0024]图3是根据本发明实施例的访问控制列表ACL的发送装置可选结构框图一;[0025]图4是根据本发明实施例的访问控制列表ACL的发送装置可选结构框图二;[0026]图5是根据本发明实施例的访问控制列表ACL的发送装置可选结构框图三;[0027]图6是根据本发明可选实施例的基于SDN的访问控制列表实现系统的结构框图。【具体实施方式】[0028]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。[0029]本实施例提供了一种访问控制列表ACL的发送方法,图1是根据本发明实施例的访问控制列表ACL的发送方法流程图,如图1所示,该方法的步骤包括:[0030]步骤S102:将预先配置的一个或多个ACL的控制规则映射到Openflow流表中;[0031]步骤S104:通过软件定义网络SDN控制器向转发设备发送映射控制规则后的penflow流表。[0032]通过本实施例上述步骤,采用将预先配置的一个或多个ACL的控制规则映射到Openflow流表中,然后再通过软件定义网络SDN控制器向转发设备发送映射控制规则后的Openflow流表的方式,也就是说通过SDN控制器向转发设备发送映射控制规则后的Openflow流表,实现ACL控制规则在数据流中的实际生效,解决了相关技术中采用路由器来实现ACL的功能对网络设备性能要求非常高的问题,进而到达了减轻网络设备升级和维护的效果。[0033]在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,本实施例的方法还可以包括:依据人机接口或用户预先定义的自动化处理流程给一个或多个ACL配置控制规则。需要说明的是,上述两种定义控制规则的方式仅仅是本实施中的可选实施方式,并不构成对本发明的限定。[0034]此外,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,预先配置控制规则之后,本实施例的可以实现如下ACL的控制功能,该功能包括:(1)设置在指定时间段执行控制规则;(2)将控制规则中的指定多个控制规则进行合并;(3)配置ACL与设备端口之间的关联关系;(4)配置ACL与宽带接入用户之间的关联关系。[0035]下面将结合上述几种控制能够得具体应用场景进行举例说明,对于功能(1)可以是:当时间在9点到17点区间内时,ACL应用下发一条规则到转发设备,规则定义允许转发源IP地址192.168.1.12的报文。当时间在9点到17点区间外时,ACL应用下发另外一条规则到转发设备,规则定义禁止转发源IP地址192.168.1.12的报文。[0036]对于功能(2)可以是:该ACL应用可通过私有ACL规则合并算法,合并名称为TEST的ACL中的规则1和2,合并为一条规则为禁止转发源IP地址属于网段192.168.0.0(掩码255.255.254.0)的报文,合并后,只需要下发一条规则到转发设备。[0037]对于功能(3)可以是:配置名称为TEST1的ACL和设备端口1入方向关联,配置名称为TEST2的ACL和端口2入方向关联。[0038]对于功能(4)可以是:配置用户USER1和IP地址为192.168.2.1的用户关联,配置用户USER2和IP地址为192.168.2.2的用户关联。[0039]而在本实施例的另一个可选实施方式中,在多个ACL的控制规则中存在相同的控制规则时,在将一个或多个ACL的预设控制规则映射到Openflow流表中之后,本实施例的方法还包括:在Openflow流表中对多个ACL的控制规则均设置优先级。通过优先级的方式,解决了相同ACL中控制规则存在匹配顺序的要求的问题。[0040]而对于将预先配置的一个或多个ACL的控制规则映射到Openflow流表中的方式,在一个可选实施方式中,在控制规则发生变化时,将变化后的控制规则映射到Openflow流表中。也就是说,ACL控制规则发生变化后,ACL应用重新生成和通知SDN控制器下发规范流表信息,并且携带新的ACL控制规则。[0041]在本实施例中还提供了一种访问控制列表ACL的发送装置,该装置用于实现上述实施例及可选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。[0042]图2是根据本发明实施例的访问控制列表ACL的发送装置结构框图,如图2所示,该装置包括:映射模块22,用于将预先配置的一个或多个ACL的控制规则映射到Openflow流表中;发送模块24,与映射模块22耦合连接,用于通过软件定义网络SDN控制器向转发设备发送映射控制规则后的penflow流表。[0043]图3是根据本发明实施例的访问控制列表ACL的发送装置可选结构框图一,如图3所示,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,装置还可以包括:配置模块32,与映射模块22耦合连接,用于依据人机接口或用户预先定义的自动化处理流程给一个或多个ACL配置控制规则。[0044]图4是根据本发明实施例的访问控制列表ACL的发送装置可选结构框图二,如图4所示,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,预先配置控制规则之后,装置还可以包括:第一设置模块42,与映射模块22耦合连接,用于设置在指定时间段执行控制规则;和/或,设置对控制规则中的指定多个控制规则进行合并;和/或,配置ACL与ACL与设备端口之间的关联关系;和/或,配置ACL与宽带接入用户之间的关联关系。[0045]图5是根据本发明实施例的访问控制列表ACL的发送装置可选结构框图三,如图5所示,在多个ACL的控制规则中存在相同的控制规则时,在将一个或多个ACL的预设控制规则映射到Openflow流表中之后,装置还可以包括:第二设置模块52,与映射模块22耦合连接,用于在Openflow流表中对多个ACL的控制规则均设置优先级。[0046]可选地,该映射模块22,还用于在控制规则发生变化时,将变化后的控制规则映射到Openflow流表中。[0047]下面结合本发明的可选实施例对本发明进行举例说明;[0048]本可选实施例提供了一种基于SDN的访问控制列表实现方法。ACL控制规则集中在ACL应用服务器进行处理,生成Openflow流表并通过SDN控制器下发到转发设备上,转发设备在进行流表匹配时,能够从流表的字段(medatada)获取ACL号信息,代入到下一级的ACL流表查找和匹配中,从而实现ACL规则在数据流的实际生效。[0049]下面对本可选实施例的基于SDN的访问控制列表实现方法进行说明;[0050]在本可选实施例中ACL的功能分为ACL应用和转发两部分,其中,ACL应用为控制部分,用于完成ACL控制规则的制定和生成,而且集中于应用服务器中处理;ACL转发部分分布在各个转发设备上,通过对数据流的匹配和动作,完成基本的、通用的控制数据报文转发。[0051]本可选实施例中的ACL控制规则,包括对各种数据流的识别和对应的动作信息,且包括但不限于数据流过滤等动作。[0052]对于上述涉及到得ACL控制规则的生成,在本可选实施例中可以通过人机接口,或者用户预先定义的自动化处理流程来进行生成,进而用户可以实现基于时间阶段控制、基于用户控制、基于端口控制等复杂的ACL控制功能。[0053]此外,在本可选实施例中ACL应用中可配置多个ACL,不同的ACL能够应用在不同的场合,不同ACL中的规则允许相同,且相同ACL中的规则存在匹配顺序的要求。为了区分不同ACL中的规则,在本可选实施例中采用了Openflow流表项中定义的优先级解决了相同ACL中规则存在匹配顺序的要求的问题。[0054]而对于涉及到得相应的Openflow流表生成,可将所有ACL中的规则映射到一张Openflow流表中,采用了在Openflow流表项中定义的元数据(metadata)存放ACL号。[0055]对于ACL控制规则的下发,由ACL应用生成后,通过SDN/Openflow控制器的规范流表进行下发。而在ACL控制规则发生变化后,ACL应用重新生成和通知SDN控制器下发规范流表信息,并且携带新的ACL控制规则。[0056]对于本实施例中涉及到的转发设备只要支持标准的Openflow流表处理过程,就能支持ACL的对数据流的生效。并且在ACL控制规则变化时,能从SDN控制器接收更新的新流表并对数据流生效。[0057]本可选实施例实现SDN网络中,通过ACL应用的定义和规则,由SDN控制器的统一流表进行下发,转发设备根据流表进行标准处理流程,就能支持ACL复杂规则的生效和对数据流的应用。通过该方法能显著降低网络转发设备在ACL规则配置及变化时的巨大工作量,并且可以支持ACL规则的动态变化和生效。[0058]下面结合附图以及具体实施例对本可选实施例进行进一步的说明;[0059]图6是根据本发明可选实施例的基于SDN的访问控制列表实现系统的结构框图,如图6所示,该系统包括:ACL应用、SDN/Openflow控制器、转发设备。下面实施例一至实施例四都以图6为基础进行说明。[0060]实施例一:涉及具有时间段特性的ACL规则,将复杂的ACL时间段特性放在ACL应用服务器中处理;该基于SDN的访问控制列表实现方法的步骤包括:[0061]步骤S202:通过ACL应用提供的人机接口配置ACL;[0062]其中,配置名称可以为TEST的ACL,ACL应用给TEST分配的ACL号为1。[0063]步骤S204:配置ACL规则;[0064]其中,可以在TEST中配置一条具有时间段特性的ACL规则,规则定义每天9点到17点允许转发源IP地址192.168.1.12的报文,其它时间禁止转发源IP地址192.168.1.12的报文。[0065]步骤S206:ACL应用处理每个ACL规则的时间段特性;[0066]其中,当时间在9点到17点区间内时,ACL应用下发一条规则到转发设备,规则定义允许转发源IP地址192.168.1.12的报文。当时间在9点到17点区间外时,ACL应用下发另外一条规则到转发设备,规则定义禁止转发源IP地址192.168.1.12的报文。[0067]步骤S208:当有ACL规则需要下发到转发设备时,ACL规则被转换成Openflow流表并通知SDN控制器,由SDN控制器通过Openflow协议下发流表到转发设备。例如,Openflow流表中写入一条流表项表示上述时间在9点到17点区间内需要下发的ACL规贝1J,流表项的匹配域包括:值为1的元数据(metadata)、源IP地址192.168.1.12(掩码255.255.255.255),表项优先级值为1,表项的动作包括:转发报文(output)到输出端口。或者,Openflow流表中写入一条流表项表示上述时间在9点到17点区间外需要下发的ACL规则,流表项的匹配域包括:值为1的元数据(metadata)、源IP地址192.168.1.12(掩码255.255.255.255),表项优先级值为1,表项的动作包括:丢弃报文(drop)。[0068]实施例二:涉及合并ACL规则;ACL应用服务器通过处理复杂的,具有私有性质的ACL规则合并算法,和保存原始的ACL配置数据,简化了转发设备的实现复杂度,保持了转发设备的通用性。通过合并处理后,减少下发到转发设备的流表项,节约转发设备的流表存储空间。该方法的步骤包括:[0069]步骤S302:通过ACL应用提供的人机接口配置ACL。[0070]其中,配置名称为TEST的ACL,ACL应用给TEST分配的ACL号为1。[0071]步骤S304:配置ACL规则;[0072]其中,在TEST中配置两个ACL规则,规则1定义禁止转发源IP地址属于网段192.168.0.0(掩码255.255.255.0)的报文,规则2定义禁止转发源IP地址属于网段192.168.1.0(掩码255.255.255.0)的报文。[0073]步骤S306:ACL规则合并处理;[0074]其中,ACL应用可通过私有ACL规则合并算法,合并TEST中的规则1和2,合并为一条规则为禁止转发源IP地址属于网段192.168.0.0(掩码255.255.254.0)的报文,合并后,只需要下发一条规则到转发设备。[0075]步骤S308:ACL规则转换成Openflow流表并通知SDN控制器,由SDN控制器通过Openflow协议下发流表到转发设备。例如,Openflow流表中写入一条流表项表示上述合并后的ACL规则,流表项的匹配域包括:值为1的元数据(metadata)、源IP地址192.168.0.0(掩码255.255.254.0),表项优先级值为1,表项的动作包括:丢弃报文(drop)〇[0076]实施例三:与端口关联的ACL;每个转发设备上可以存在多个ACL,不同的ACL应用在不同的场合,不同的ACL中的ACL规则允许相同,每个ACL中的多个规则存在匹配优先级。按照这些基本ACL功能的要求,可利用Openflow技术,把多个ACL合并实现在一张流表中,每个ACL规则对应一个流表项,为了区分不同ACL中存在相同的ACL规则,通过在流表项的元数据(metadata)中写入ACL号实现。对于多个ACL规则的匹配顺序要求,通过对流表项设置不同的优先级实现。该方法的步骤包括:[0077]步骤S402:通过ACL应用提供的人机接口配置ACL;[0078]其中,配置名称为TEST1的ACL,ACL应用给TEST1分配的ACL号为1,配置名称为TEST2的ACL,ACL应用给TEST2分配的ACL号为2;[0079]步骤S404:配置ACL规则。例如,在TEST1中配置两个规则,规则1定义禁止转发目的IP地址属于网段192.168.0.0(掩码255.255.0.0)的报文,规则2定义允许转发目的IP地址属于网段192.168.1.0(掩码255.255.255.0)的报文,规则2比规则1优先匹配执行。在TEST2中配置两个规则,规则1定义禁止转发目的IP地址属于网段192.168.0.0(掩码255.255.0.0)的报文,规则2定义允许转发目的IP地址属于网段192.168.2.0(掩码255.255.255.0)的报文,规则2比规则1优先匹配执行。[0080]步骤S406:配置ACL和设备端口关联。例如,配置TEST1和设备端口1入方向关联,配置TEST2和端口2入方向关联;[0081]步骤S408:ACL相关配置转换成Openflow流表并通知SDN控制器,由SDN控制器通过Openflow协议下发流表到转发设备;[0082]其中,设备端口1入方向和TEST1关联,可在Openflow流表0中加入流表项1(匹配域包括:输入端口1,表项的优先级为默认,表项的动作包括:在元数据(metadata)中写入ACL号1、跳到下一张流表1查找);设备端口2入方向和TEST2关联,可在Openflow流表0中加入流表项2(匹配域包括:输入端口2,表项的优先级为默认,表项的动作包括:在元数据(metadata)中写入ACL号2、跳到下一张Openflow流表1查找);0penflow流表1中写入ACL规则,在Openflow流表1通过四条流表项表示上述配置的ACL规则,分别为流表项1(匹配域包括:值为1的元数据(metadata)、目的IP地址192.168.0.0(掩码255.255.0.0),表项优先级值为1,表项的动作包括:丢弃报文(drop))、流表项2(匹配域包括:值为1的元数据(metadata)、目的IP地址192.168.1.0(掩码255.255.255.0),表项优先级值为2,表项的动作包括:转发报文(output))、流表项3(匹配域包括:值为2的元数据(metadata)、目的IP地址192.168.0?0(掩码255.255.0?0),表项优先级值为1,表项的动作包括:丢弃报文(drop))、流表项4(匹配域包括:值为2的元数据(metadata)、目的IP地址192.168.2.0(掩码255.255.255.0),表项优先级值为2,表项的动作包括:转发报文(output))〇[0083]步骤S410:转发设备中的报文转发符合Openflow标准规定,根据Openflow流表进行转发。[0084]其中,目的IP地址为192.168.6.1的报文从转发设备的端口1进入,根据Openflow标准规定,原始报文和输入端口信息一起送到Openflow流表0中查找,匹配命中到Openflow流表0的流表项1,根据匹配流表项中定义的动作进行处理,在元数据中写入值1,原始报文和元数据一起送到Openflow流表1中查找。在Openflow流表1中匹配命中到流表项1,根据匹配流表项中定义的动作进行处理,丢弃报文。例2,目的IP地址为192.168.2.1的报文从转发设备的端口2进入,根据Openflow标准规定,原始报文和输入端口信息一起送到Openflow流表0中查找,匹配命中到Openflow流表0的流表项2,根据匹配流表项中定义的动作进行处理,在元数据中写入值2,原始报文和元数据一起送到Openflow流表1中查找。在Openflow流表1中存在流表项3和流表项4都匹配命中,根据表项优先级,优先命中流表项4,根据匹配流表项中定义的动作进行处理,转发报文(output)到输出端口。[0085]实施例四:与宽带接入用户关联的ACL;每个转发设备上可以存在很多个ACL,不同的ACL中针对不同的用户定义一些ACL规则,可利用Openflow技术,把很多个ACL合并实现在一张流表中,每个ACL规则对应一个流表项,为了区分不同ACL中存在相同的ACL规贝1J,通过在流表项的元数据(metadata)中写入ACL号实现。该方法的步骤:[0086]步骤S502:通过ACL应用提供的人机接口配置ACL;[0087]其中,配置名称为USER1的ACL,ACL应用给USER1分配的ACL号为1,配置名称为USER2的ACL,ACL应用给USER2分配的ACL号为2。[0088]步骤S504:配置ACL规则;[0089]其中,在USER1中配置一个规则,规则定义禁止转发目的IP地址属于网段192.168.1.0(掩码255.255.255.0)的报文。在USER2中配置一个规则,规则定义允许转发目的IP地址属于网段192.168.1.0(掩码255.255.255.0)的报文。[0090]步骤S506:配置ACL和宽带接入用户关联;[0091]其中,配置USER1和IP地址为192.168.2.1的用户关联,配置USER2和IP地址为192.168.2.2的用户关联。[0092]步骤S508:ACL相关配置转换成Openflow流表并通知SDN控制器,由SDN控制器通过Openflow协议下发流表到转发设备。[0093]其中,IP地址为192.168.2.1的用户和USER1关联,可在Openflow流表0中加入流表项1(匹配域包括:源IP地址192.168.2.1(掩码255.255.255.255),表项的优先级为默认,表项的动作包括:在元数据(metadata)中写入ACL号1、跳到下一张流表1查找);IP地址为192.168.2.2的用户和USER2关联,可在Openflow流表0中加入流表项2(匹配域包括:源IP地址192.168.2.2(掩码255.255.255.255),表项的优先级为默认,表项的动作包括:在元数据(metadata)中写入ACL号2、跳到下一张Openflow流表1查找);0penflow流表1中写入ACL规则,在Openflow流表1通过2条流表项表示上述配置的ACL规则,分别为流表项1(匹配域包括:值为1的元数据(metadata)、目的IP地址192.168.1.0(掩码255.255.255.0),表项优先级值为1,表项的动作包括:丢弃报文(drop))、流表项2(匹配域包括:值为2的元数据(metadata)、目的IP地址192.168.1.0(掩码255.255.255.0),表项优先级值为1,表项的动作包括:转发报文(output))。[0094]步骤S510:转发设备中的报文转发符合Openflow标准规定,根据Openflow流表进行转发;[0095]源IP地址为192.168.2.1,目的IP地址为192.168.1.1的报文从转发设备的端口进入,根据Openflow标准规定,原始报文和输入端口信息一起送到Openflow流表0中查找,匹配命中到Openflow流表0的流表项1,根据匹配流表项中定义的动作进行处理,在元数据中写入值1,原始报文和元数据一起送到Openflow流表1中查找。在Openflow流表1中匹配命中到流表项1,根据匹配流表项中定义的动作进行处理,丢弃报文。例2,源IP地址为192.168.2.2,目的IP地址为192.168.1.1的报文从转发设备的端口进入,根据Openflow标准规定,原始报文和输入端口信息一起送到Openflow流表0中查找,匹配命中到Openflow流表0的流表项2,根据匹配流表项中定义的动作进行处理,在元数据中写入值2,原始报文和元数据一起送到Openflow流表1中查找。在Openflow流表1中存在流表项2匹配命中,根据匹配流表项中定义的动作进行处理,转发报文(output)到输出端口。[0096]本可选实施例的SDN网络中,通过ACL应用的定义和规则制定,由SDN控制器的统一流表进行下发,转发设备根据流表进行标准处理流程,能够支持ACL复杂规则的生效和对数据流的应用。该方法能显著降低网络转发设备在ACL规则配置及变化时的巨大工作量,并且可以支持ACL规则的动态变化和生效。[0097]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。[0098]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0099]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0100]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[〇1〇1]上述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。【主权项】1.一种访问控制列表ACL的发送方法,其特征在于,包括:将预先配置的一个或多个ACL的控制规则映射到Openflow流表中;通过软件定义网络SDN控制器向转发设备发送映射控制规则后的Openflow流表。2.根据权利要求1所述的方法,其特征在于,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,所述方法包括:依据人机接口或用户预先定义的自动化处理流程给所述一个或多个ACL配置所述控制规则。3.根据权利要求2所述的方法,其特征在于,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,预先配置所述控制规则之后,所述方法包括:设置在指定时间段执行所述控制规则;和/或,将所述控制规则中的指定多个控制规则进行合并;和/或,配置所述ACL与设备端口之间的关联关系;和/或,配置所述ACL与宽带接入用户之间的关联关系。4.根据权利要求3所述的方法,其特征在于,在所述多个ACL的控制规则中存在相同的控制规则时,在将所述一个或多个ACL的预设控制规则映射到Openflow流表中之后,所述方法还包括:在所述Openflow流表中对所述多个ACL的控制规则均设置优先级。5.根据权利要求4所述的方法,其特征在于,将预先配置的一个或多个ACL的控制规则映射到Openflow流表中,包括:在所述控制规则发生变化时,将变化后的控制规则映射到Openflow流表中。6.—种访问控制列表ACL的发送装置,其特征在于,包括:映射模块,用于将预先配置的一个或多个ACL的控制规则映射到Openflow流表中;发送模块,用于通过软件定义网络SDN控制器向转发设备发送映射控制规则后的Openflow流表。7.根据权利要求6所述的装置,其特征在于,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,所述装置还包括:配置模块,用于依据人机接口或用户预先定义的自动化处理流程给所述一个或多个ACL配置所述控制规则。8.根据权利要求7所述的装置,其特征在于,在将预先配置的一个或多个ACL的控制规则映射到Openflow流表中之前,预先配置所述控制规则之后,所述装置包括:第一设置模块,用于设置在指定时间段执行所述控制规则;和/或,设置对所述控制规则中的指定多个控制规则进行合并;和/或,配置所述ACL与设备端口之间的关联关系;和/或,配置所述ACL与宽带接入用户之间的关联关系。9.根据权利要求8所述的装置,其特征在于,在所述多个ACL的控制规则中存在相同的控制规则时,在将所述一个或多个ACL的预设控制规则映射到Openflow流表中之后,所述装置还包括:第二设置模块,用于在所述Openflow流表中对所述多个ACL的控制规则均设置优先级。10.根据权利要求9所述的装置,其特征在于,所述映射模块,还用于在所述控制规则发生变化时,将变化后的控制规则映射到Openflow流表中。【文档编号】H04L12/24GK106034046SQ201510128078【公开日】2016年10月19日【申请日】2015年3月20日【发明人】刘仓明,张征,王怀滨,洪先进【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1