一种开放可编程结构的路由器管理控制协议的制作方法

文档序号:7594039阅读:216来源:国知局
专利名称:一种开放可编程结构的路由器管理控制协议的制作方法
技术领域
本发明涉及数据交换和通信协议,更具体而言本发明涉及在开放可编程路由器中控制器和转发器间进行信息交换的方法。
背景技术
随着网络技术的发展,对路由器的要求也越来越高,开放可编程结构的路由器由于其高度的灵活性和和优越的性能而得到了广泛研究。开放可编程路由器的典型结构如图1所示,该结构由两类模块组成控制器和转发器,一个开放可编程路由器内有至少一个控制器,也可以再有多个冗余用的控制器,有可多达几百个的转发器,转发器和控制器间的信息交换通过使用开放可编程路由器管理控制协议完成,以实现控制器对转发器的管理和控制。控制器和转发器间的连接可以经由一跳网络如以太网也可以经由多跳网络如互联网实现。转发器中包含有对IP数据包进行处理和转发的各种资源如分类器、调度器、路由模块等,这些资源模块都是向控制器开放的,控制器可以通过管理控制协议实现对转发器中资源模块的管理和编程控制,以实现各种需要的路由器功能,如路由转发、QoS控制等。
转发器内的结构如图2所示,协议伺服器完成协议解析、执行等任务。转发器内的资源被表示成具有各种不同逻辑功能的资源模块,典型的资源模块有分类器、米表、调度器、最长前缀IPv4或IPv6路由转发模块等。资源模块的功能和性能可以通过控制器经由开放可编程路由器管理控制协议进行管理和控制。管理控制方式是按照管理控制协议规定的协议数据单元(PDU)格式在控制器和转发器之间交换协议消息,包括a.控制器向转发器发送用于转发器状态或资源能力查询的协议消息,转发器回送关于其状态或资源能力的应答协议消息;b.控制器向转发器发送用于转发器中资源的控制和管理的协议消息;c.控制器或转发器相互向对方发送报告事件的协议消息。
图1所示的开放可编程结构路由器的安全问题是至关重要的问题。和传统路由器结构相比,开放可编程路由器需要考虑特殊的抵御拒绝服务(DoS)攻击的安全性要求。该DoS攻击来自于以下情况在许多情况下,转发器需把来自于网络接口的IP数据包传送到控制器让控制器进行进一步处理,如路由协议使用的IP数据包以及一些SNMP网络管理命令使用的数据包等。这些被转发到控制器的数据包被称为重定向数据包或简称为重定向包,重定向包通常也是被封装成协议消息的形式发送给控制器的。恶意的攻击者可以试图通过伪装发送大量的重定向数据包到控制器,这就有可能使转发器和控制器间的通信通道被阻塞而瘫痪、进而使控制器和转发器间不能进行正常信息交流而使控制器失去对转发器的控制。这也就可能导致整个系统不能作一个路由器正常工作。抵御来自重定向包的DoS攻击是开放可编程结构路由器的管理控制协议需要解决的重要技术问题。
图1所示的开放可编程结构路由器的另一个重要问题是系统的可靠性。和传统路由器结构相比,开放可编程路由器需要考虑一个特殊的可靠性要求。该可靠性要求来自于以下情况如上所述,从转发器发送到控制器的信息包含两类转发器自己产生的协议消息和重定向包消息。这两种消息是被混合在一起通过通信通道传到控制器。前述恶意攻击者可能试图通过发送大量重定向包进行DoS攻击,但另一方面,假如系统设计不当,也有可能产生转发器产生的控制协议消息由于在某些情况下数据量过大,进而阻塞重定向包通道,使之不能被及时发送到控制器,由于重定向包大多是关于系统的数据如路由协议使用的数据,它们具有实时的要求,所以阻塞重定向包通道也将导致开放可编程结构路由器系统工作不正常。
目前关于实用的开放可编程路由器的研究主要在互联网工程任务组织IETF的ForCES(即Forwarding and Control Element Separation,转发器和控制器分离)工作组中进行。互联网协议RFC3654中规定了ForCES结构路由器的需求(Requirements),互联网协议RFC3746规定了ForCES结构路由器的框架(Framework)。IETF ForCES工作组正在制定关于转发器中各个资源模块的具体描述模型的“ForCES Forwarding Element(FE)Model”的协议草案。同时IETF ForCES工作组也正在制定用于ForCES结构路由器的管理控制协议即“ForCES协议规范”的互联网协议草案,该工作目前正在进行中。但到目前为止,“ForCES协议规范”还没有给出一种有效的和完整的抵御来自重定向包DoS攻击的方法,也没有给出防止重定向包被阻塞的任何方法。
互联网上曾有关于开放可编程路由器抵御来自重定向包DoS攻击方法的讨论,但未见有关于防止重定向包被阻塞方法的讨论。抵御来自重定向包DoS攻击方法的讨论主要有以下一些方法观点a.通过重定向包消息通道和控制协议消息通道在转发器和控制器间连接的传输协议层的通信通道上被分离的方法,例如使用TCP传输协议通道传输控制协议消息,而用UDP传输协议通道传输重定向包消息。但有实验结果证明这种分离并不能够抵御重定向包DoS攻击,因为UDP通道在被攻击时仍完全可能会阻塞掉TCP通道,除非这两个通道同时在物理层上也被分开,即转发器和控制器间的消息传输在物理层上使用两个通道,但这在开放可编程路由器的实现中是不可取的,有时也是不可能的,比如转发器和控制器间通过互联网连接的情况。
b.通过使用转发器内诸如滤波等资源模块预先对重定向包进行处理,在DoS攻击发生时对发给控制器的重定向包进行抑制。该方法在DoS攻击发生时确实能够进行抵御,但存在一个重要的问题,即很难较好地判断何时发生了DoS攻击,因为该方法可以用来判断发生DoS攻击的信息只有重定向包自身的信息,而没有被攻击的控制协议消息通道的状况信息。该方法的另一个缺点是无法防止上述的控制协议消息反过来可能对重定向包消息的阻塞情况。
除“ForCES协议规范”外,目前没有发现其它有关开放可编程结构路由器的管理控制协议的研究和专利。

发明内容
本发明针对现有技术存在的问题给出一种在开放可编程路由器管理协议中安全和可靠地进行控制器和转发器间协议消息交换的方法,该方法可以具体用来有效抵御来自重定向包DoS攻击同时又可以防护控制协议消息对重定向包产生阻塞。
为实现上述目的采取的技术方案如下一种开放可编程结构的路由器管理控制协议,它是一种用于开放可编程路由器中控制器和转发器间进行信息交换的方法,包括a.控制器向转发器发送用于转发器状态或资源能力查询的协议消息,转发器回送关于其状态或资源能力的应答协议消息;b.控制器向转发器发送用于转发器中资源的控制和管理的协议消息;c.控制器或转发器相互向对方发送报告事件的协议消息。
其特征在于包含以下的方法步骤a.转发器发给控制器的协议消息在转发器内先被输入到两个通道重定向包消息通道和转发器自己产生的控制协议消息通道,再被连接到转发器内的协议消息调度器上,经过调度器的调度,两类协议消息被放在一个信道上发送到控制器;b.控制器通过协议消息向转发器内的协议消息调度器设置调度策略;c.控制器通过协议消息向转发器内的协议消息调度器设置调度器对两个通道的协议消息及调度状态的监测策略;d.当调度器监测到监测策略设定的状态时,协议消息调度器向控制器发送该状态被满足的事件报告协议消息;e.控制器在接收到该事件报告协议消息后,向转发器内的协议消息调度器重新设置能够消除已出现状态的调度策略,进而达到有效抑制该状态出现的目的。
其中的协议消息调度器工作在管理控制协议层,即所调度的信息是转发器将发送到控制器的管理控制协议消息;调度器的监测策略包含监测来自重定向包的拒绝服务攻击的策略,使所述方法用于抵御来自重定向包的拒绝服务攻击;调度器的监测策略还包含监测控制协议消息通道对重定向包消息通道阻塞的策略,使所述方法用于防止控制协议消息通道对重定向包消息通道产生阻塞。
本发明的显著优点本发明的方法提供了开放可编程路由器结构的管理控制协议中抵御来自重定向包拒绝服务攻击的有效方法,同时还提供了协议中防止转发器自己产生的控制协议消息阻塞重定向包消息的方法,可以很好地提高开放可编程路由器结构的管理控制协议的安全性和可靠性。该方法经过实验验证是切实有效的,目前实现该方法相同目的的其它方法很少,与已知的网络上有关讨论提到的技术相比,本发明至少具有三个优点一是本方法同时实现了抵御来拒绝服务攻击和防止重定向包消息被阻塞的目的,其中后者未见其它任何方法实现;二是本方法不依赖于控制器和转发器之间的传输协议类型和信息通道类型,所有任务都在协议消息层上完成,也就是说,不管控制器和转发器间在信息传输层采用何种协议,本发明提供的方法都能达到以上两个目的。三是本发明的方法简单灵活、完整有效,很容易被采用,在已有的开放可编程路由器管理控制协议中经过简单扩充即可实现,有很好的应用前景。


图1是现有开放可编程路由器结构示意2是转发器结构示意3是本发明协议伺服模块内结构功能联接示意4是本发明技术方案实施方式的流程5是协议消息的基本结构6是“调度策略”协议消息的协议数据单元(PDU)格式7是“DoS攻击监测策略”协议消息的PDU格式8是“DoS攻击事件”协议消息的PDU格式9是“重定向包通道阻塞监测策略”协议消息的PDU格式10是“重定向包通道阻塞事件”协议消息的PDU格式图具体实施方式
参照附图进一步说明实现一种在开放可编程路由器管理协议中有效抵御来自重定向包拒绝服务(DoS)攻击的方法和防止控制协议消息反过来对重定向包产生阻塞的方法,用以提高开放可编程路由器管理控制协议工作的安全性和可靠性。其实施方式如下。
如图2所示是转发器的结构模型,转发器内包括一个协议伺服器模块,它是转发器中的协议处理模块,其主要是完成协议消息接收、解析、产生、发送以及实现协议安全性和可靠性等功能;如图3所示是转发器内协议伺服器模块内结构功能联接的模型示意图。在该模型中,由转发器发往控制器的管理控制协议消息被分成两类来自转发器网络接口的重定向包协议消息和转发器自己产生的控制协议消息。这两类协议消息被放入两个信息通道重定向数据包被封装成协议消息后放入重定向包协议消息通道,转发器自己产生的控制协议消息被放入控制协议消息通道。这两个消息通道被分别连接到转发器协议伺服器模块内的协议消息调度器上。该协议消息调度器是工作在开放可编程路由器管理控制协议层,也即它所调度的信息是该管理控制协议消息。协议消息调度器按照由控制器设置的调度策略工作,两类协议消息在协议消息调度器内按照该调度策略又被合并在一起并通过协议消息收发模块被发送到控制器中。调度策略是把输入的几路消息流合并成一路消息流的方法。可能的调度策略包括先来先服务(FCFS)、轮转调度(Round Robin,RR)、基于优先级调度(Priority-Based)的轮转调度和基于速率控制(Limited-Rate-Based)的轮转调度等。协议消息调度器同时具有监测协议消息以及统计协议消息调度状况的功能,通过控制器向该调度器发送有关监测策略,例如用于监测来自重定向包的DoS攻击的监测策略和用于监测重定向包消息通道被控制协议消息通道阻塞的监测策略,该协议消息调度器就可以在监测到这些状态时向控制器发送相关的事件报告协议消息,控制器在接收到该事件报告协议消息后,将向转发器内的协议消息调度器重新设置能够消除已出现的状态的调度策略,进而达到抑制该状态出现的目的;图4显示了本发明技术方案实施方式的流程图。本发明技术方案被具体应用于防御来自重定向包的DoS攻击和防止控制协议消息通道阻塞重定向包消息通道的实施方式如下。
防御来自重定向包DoS攻击方法的实施方式a.控制器发送协议消息到转发器以设置转发器内协议伺服器内的协议消息调度器的调度策略。
b.控制器发送协议消息到转发器以设置转发器内协议伺服器内的协议消息调度器的DoS攻击监测策略,DoS攻击监测策略是指什么状态下调度器认为产生了来自重定向包的DoS攻击。监测策略可以根据重定向包消息的流量上限或者“非法”重定向协议消息的特征等制定。
c.当调度器根据DoS检测策略监测到有DoS攻击时,将向控制器发送DoS攻击事件的协议消息。该事件协议消息中也可以同时包含有关DoS攻击者的信息,如攻击者的IP地址等。
d.控制器在收到DoS攻击事件的协议消息后,使用协议消息向转发器内的协议消息调度器重新设置更合适的调度策略,以有效抑制来自于重定向包消息通道的该DoS攻击。
防止转发器自己产生的控制协议消息阻塞重定向包消息通道方法的实施方式a.控制器发送协议消息到转发器以设置转发器内协议伺服器内的协议消息调度器的调度策略。
b.控制器发送协议消息到转发器以设置转发器内协议消息调度器的用于监测重定向包消息通道被阻塞的监测策略,监测策略可以根据重定向包消息的流量下限以及控制协议消息的流量上限等特征制定。
c.当调度器根据设置的监测策略监测到有重定向包消息通道被阻塞的情况发生时,将向控制器发送报告该事件的协议消息。
d.控制器在收到该事件的协议消息后,使用协议消息向转发器内的协议消息调度器重新设置更合适的调度策略,以消除重定向包消息通道被阻塞的情况。
所述实施方式可以在正在制定的开放可编程路由器管理控制协议“ForCES协议规范”的基础上更具体实现,也可以在其它开放可编程路由器管理控制协议中具体实现,需要做的只是在这些协议已有的协议消息的基础上扩充定义几个用于本发明方法的协议消息即可。
以实施本发明中抵御来自重定向包DoS攻击方法和防止重定向包消息通道被转发器自己产生的控制协议消息阻塞的方法为实施例说明如下。
一条开放可编程路由器管理控制协议的协议消息的基本结构如图5所示,它由两部分组成一个消息头和一个紧跟的消息体。消息头中包含该消息的类型、消息长度、消息发送者和消息接收者标识号等信息。
实施本发明中抵御来自重定向包DoS攻击的方法和防止重定向包消息通道被阻塞的方法需扩充的相关协议消息有·“调度策略”协议消息,由控制器发往转发器用以设置协议消息调度器的调度策略;·“DoS攻击监测策略”协议消息,由控制器发往转发器,用以设置协议消息调度器中来自重定向包通道DoS攻击的监测策略;·“重定向包通道阻塞监测策略”协议消息,由控制器发往转发器,用以设置协议消息调度器中重定向包消息通道被控制协议消息阻塞的监测策略;·“DoS攻击事件”协议消息,由转发器发往控制器,用来报告来自重定向包消息通道的DoS攻击事件的发生;·“重定向包通道阻塞事件”协议消息,由转发器发往控制器,用来报告重定向包协议消息被控制协议消息阻塞的事件的发生。
图6是“调度策略”协议消息的协议数据单元(PDU)格式的一个实施例。其中各个PDU的意义是调度策略类型=1先来先服务调度策略,该策略无需设置策略属性;=2轮转调度策略,无策略属性;=3基于优先级的轮转调度策略,在优先级属性中设置优先级;=4基于流速控制的轮转调度策略,在重定向包通道最大限制流速属性和控制协议通道最大限制流速属性中设置对两个通道的流速限制。
=5基于流速控制和优先级的轮转调度策略,在优先级属性中设置优先级,在重定向包通道最大限制流速属性和控制协议通道最大限制流速属性中设置对两个通道的流速限制。
优先级属性=0无优先级,=1控制协议消息通道高优先级,重定向包通道低优先级=2控制协议消息通道低优先级,重定向包通道高优先级重定向包通道最大限制流速属性=0到100中的整数值,表示该通道最大限制的流速占调度器总的可用输出通道流速的百分比值。
控制协议通道最大限制流速属性=0到100中的整数值,表示该通道最大限制的流速占调度器总的可用输出通道流速的百分比值。
图7是“DoS攻击监测策略”协议消息PDU格式的一个实施例。在该实施例中,使用监测重定向数据包消息流速大于或等于一个设定流速的持续时间来判定是否发生了DoS攻击。
其中各个PDU的意义是监测策略类型=0不监测=1当重定向包消息流速大于或等于设定的流速的持续时间超过设定的时间阀值时,监测的事件成立,其中,监测流速在监测流速属性中设定,监测时间阀值在监测时间阀值属性中设定。
监测流速属性=0到100中的整数值,表示该监测流速占调度器总的可用输出通道流速的百分比值。这里设定的流速不应该超过“调度策略”中设定的最大限制流速,否则将不能够起到监测作用。
监测时间阀值属性=以秒为单位的时间表示。
图8是“DoS攻击事件”协议消息PDU格式的一个实施例。当重定向包协议消息的流速状况符合“DoS攻击监测策略”的设定条件时,转发器将向控制器发送该格式的“DoS攻击事件”协议消息。其中各个PDU的意义是攻击信息类型所附的攻击信息的信息类型=0没有所附的攻击信息=1所附的攻击信息是攻击者IP包头=2所附的攻击信息是攻击者TCP包头=3所附的攻击信息是攻击者UDP包头消息长度=攻击信息属性长度+4,以字节数表示。
攻击信息属性攻击者信息。
当控制器接收到转发器发送的“DoS攻击事件”协议消息,控制器可以重新设置调度策略来有效地抵御来自于重定向包协议消息的DoS攻击。根据消息中的攻击信息提供的IP包头、TCP包头或UDP包头等的内容还可以进一步在转发器资源模块层采取如直接滤除具有该信息特征的数据包等措施,以更有效地抑制来自于重定向包协议消息的DoS攻击。
图9是“重定向包通道阻塞监测策略”协议消息PDU格式的一个实施例。其中各个PDU的意义是监测策略类型=0不监测=1当控制消息通道流速大于或等于设定的流速的持续时间超过设定的时间阀值,而且重定向包通道流速小于或等于设定的流速的持续时间超过设定的时间阀值时,该监测事件成立。其中,监测流速在各自的监测流速属性中设定,监测时间阀值在各自的监测时间阀值属性中设定。
控制消息通道监测流速属性=0到100中的整数值,表示该监测流速占调度器总的可用输出通道流速的百分比值。
控制消息通道监测时间阀值属性=以秒为单位的时间表示。
重定向包通道监测流速属性=0到100中的整数值,表示该监测流速占调度器总的可用输出通道流速的百分比值。
重定向包通道监测时间阀值属性=以秒为单位的时间表示。
图10是“重定向包通道阻塞事件”协议消息的PDU格式的一个实施例。当协议调度器中协议消息的流速状况符合“重定向包通道阻塞监测策略”设定的条件时,转发器将向控制器发送该格式的“重定向包通道阻塞事件”协议消息。该PDU格式中,只有一个空的32位数据,表示该事件没有更多可以告知的信息。
当控制器接收到转发器发送的“重定向包通道阻塞事件”协议消息,控制器可以重新设置调度策略来有效地防止重定向包通道被阻塞的情况,例如可以通过调整调度策略使重定向包具有与控制协议消息相同的调度优先级的方法,使重定向包能被更及时地调度发送到控制器。
权利要求
1.一种开放可编程结构的路由器管理控制协议,它是一种用于开放可编程路由器中控制器和转发器间进行信息交换的方法,包括a.控制器向转发器发送用于转发器状态或资源能力查询的协议消息,转发器回送关于其状态或资源能力的应答协议消息;b.控制器向转发器发送用于转发器中资源的控制和管理的协议消息;c.控制器或转发器相互向对方发送报告事件的协议消息。其特征在于包含以下的方法步骤a.转发器发给控制器的协议消息在转发器内先被输入到两个通道重定向包消息通道和转发器自己产生的控制协议消息通道,再被连接到转发器内的协议消息调度器上,经过调度器的调度,两类协议消息被放在一个信道上发送到控制器;b.控制器通过协议消息向转发器内的协议消息调度器设置调度策略;c.控制器通过协议消息向转发器内的协议消息调度器设置调度器对两个通道的协议消息及调度状态的监测策略;d.当调度器监测到监测策略设定的状态时,协议消息调度器向控制器发送该状态被满足的事件报告协议消息;e.控制器在接收到该事件报告协议消息后,向转发器内的协议消息调度器重新设置能够消除已出现状态的调度策略,进而达到有效抑制该状态出现的目的。
2.如权利要求1所述一种开放可编程结构的路由器管理控制协议,其特征在于其中的协议消息调度器工作在管理控制协议层,即所调度的信息是转发器将发送到控制器的管理控制协议消息。
3.如权利要求1所述一种开放可编程结构的路由器管理控制协议,其特征还在于其中的调度器的监测策略包含监测来自重定向包的拒绝服务攻击的策略,使所述方法用于抵御来自重定向包的拒绝服务攻击。
4.如权利要求1所述一种开放可编程结构的路由器管理控制协议,其特征还在于其中的调度器的监测策略包含监测控制协议消息通道对重定向包消息通道阻塞的策略,使所述方法用于防止控制协议消息通道对重定向包消息通道产生阻塞。
全文摘要
本发明给出一种在开放可编程路由器管理协议中可有效抵御来自重定向包拒绝服务攻击同时又可防护控制协议消息对重定向包产生阻塞的方法。本方法在转发器内将协议消息输入到两个通道重定向包消息通道和转发器自己产生的控制协议消息通道,再被连接到一个协议消息调度器上。通过管理控制协议消息向该调度策略以及拒绝服务攻击和重定向包被阻塞的事件监测策略,使该调度器能够及时报告并有效抵御该类事件的发生。本发明可用于各种开放可编程结构的路由器管理控制协议中。
文档编号H04L12/56GK1588945SQ200410053909
公开日2005年3月2日 申请日期2004年8月18日 优先权日2004年8月18日
发明者王伟明, 董黎刚, 王光明 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1