在以太网交换机上实现策略路由的方法

文档序号:7597003阅读:154来源:国知局
专利名称:在以太网交换机上实现策略路由的方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种在以太网交换机上实现策略路由的方法。
背景技术
通信技术的飞速发展和广泛应用使得网络规模日益庞大,系统的复杂性和异构性更加突出,Internet(因特网)上需要传送的信息量大大增加。对于路由器来说,需要为大量报文提供寻径、转发功能。在路由器的转发过程中,其转发路径的选择依赖的是动态路由协议OSPF/RIP(开放式最短路径优先协议/路由信息协议)等或是静态配置的路由。在路由转发的过程中,系统可以采用最长匹配或是精确匹配的路由算法。无论采用那种方法,其转发的实现都是一样的在收到报文之后,系统将获得该报文的目的IP地址,并根据该IP地址查找路由转发表,如果找到相应的路由则按照该路由的下一跳来进行转发,如果找不到则先进行转发路径的学习然后进行类似的查找转发。在路由转发过程中,一旦路由转发表项已经生成,系统管理员就不能对报文的转发路径进行任意的修改,这样,在网络流量增大或路由器的相关出接口出现故障的情况下,路由器的负载能力和性能会受到路由转发表项的限制,不能为一些关键的业务流提供强有力的服务质量保障。
目前,为了解决上述问题,大多采用基于策略的路由方式,即利用策略路由来实现链路流量的负载分担。所谓策略路由是指在决定一个IP包的下一跳转发地址时,不是简单地根据目的IP地址决定,而是综合考虑多种因素决定。路由器除将目的地址作为选路的依据以外,还可以根据TOS(服务类型)字段、源和目的端口号(高层应用协议)来为数据包选择路径。策略路由可以在一定程度上实现流量工程,使不同服务质量的流或者不同性质的数据(语音、文件传送协议FTP)走不同的路径。基于策略的路由为网络管理者提供了比传统路由协议对报文的转发和存储更强的控制能力。传统上,路由器用从路由协议派生出来的路由表,根据目的地址进行报文的转发。基于策略的路由比传统路由强,使用更灵活,它使网络管理者不仅能够根据目的地址而且能够根据报文大小、应用或IP源地址来选择转发路径。策略可以定义为通过多路由器的负载平衡或根据总流量在各线上进行转发的QOS(服务质量)。与上述传统路由查找转发不同的是,策略路由是一种依据用户制定的策略进行路由选择的机制。用户可以根据报文的源地址、目的地址等信息灵活地指定路由,使其覆盖动态路由协议的转发决定。策略路由主要有以下特点1、基于策略的转发路径的选择;2、通过对不同的路径设置不同的优先级参数可以实现QOS的转发;3、实现对流量的负载分担;4、充分利用各条链路的带宽,节约运营成本。
在现有的网络设计中,在很多地方需要考虑到策略路由的实现。比如,在接入汇集的网络节点有2条链路上行到骨干网。网络用户A可以通过该汇集节点设备的链路1上行访问Internet,该链路的路由跳数为60,同时也可以通过链路2访问Internet,该链路的路由跳数为100,此时由于开启OSPF路由协议将会选择链路1来访问Internet,从而造成链路1的流量太大而链路2的流量太少,此时为了负载的均衡,系统管理员可以选择配置策略路由将网络用户A的访问路径强制通过链路2来访问,从而实现网络的流量负载均衡。
上述汇集点设备可以采用路由器来实现。由于路由器的报文转发采用软件来实现,报文的转发控制都需要经过CPU来逐包转发处理,因此在大多数路由器上都可以实现策略路由的功能。其实现策略路由的流程如图1所示
首先,基于策略配置ACL(访问控制列表),由用户定义需要实现策略路由的报文分类;路由器接收报文后,将报文上报CPU,在CPU进行逐包转发的同时,判断当前的软件表项中是否存在策略路由,如果配置了策略路由则使用策略路由配置的下一跳参数来转发报文;如果不存在策略路由则直接按照目的IP地址的路由信息进行转发。
由于路由器是软件转发的特点,每个报文都需要CPU来进行路由的学习获得转发路径,因此在实现该机制时,对于策略下一跳的管理比较简单,不需要专门对该路由进行管理;同时一旦策略路由进行了修改,则路由器的路由转发表项也会随之修改,因此可以及时更新该策略路由的刷新。
随着网络技术的发展,用户不再只对交换机的单一的交换功能感兴趣,用户需要交换机在保持线速转发能力以外,能提供更高层的业务应用的能力,并且还需要能对一些关键的业务流提供强有力的服务质量保障。但对于以太网交换机来说,由于其报文转发的特殊性(一次路由多次交换),在学习到报文的转发路径之后直接通过硬件进行转发,即在确定转发路径之后报文就不再经过CPU(中央处理单元)处理,而是直接进行硬件交换,此时CPU对于报文已经不能再进行转发控制处理,也就是说CPU无法探测到该报文的转发路径并对该路径根据配置策略进行修改,也就无法采用与路由器相同的方式实现配置的策略路由。

发明内容
本发明的目的在于提供一种在以太网交换机上实现策略路由的方法,以解决现有技术在路由器上实现策略的方式在以太网交换机中无法实现的问题。
为此,本发明提供以下技术方案
一种在以太网交换机上实现策略路由的方法,所述方法包括A、配置策略路由;B、根据所述配置的策略路由建立硬件策略路由转发表;C、所述以太网交换机根据所述硬件策略路由转发表项对报文进行转发;D、按预定方式对所述硬件策略路由转发表进行维护。
所述步骤A包括A1、定义路由策略;A2、根据所述路由策略配置策略路由。
所述步骤A1包括A11、根据所述路由策略设定所述策略路由流量分类信息;A12、根据所述策略路由流量分类信息确定不同策略路由的流量。
所述策略路由流量分类信息包括用户的源IP地址、目的IP地址、IP协议类型、IP差分业务编码。
所述步骤A2包括A21、根据所述路由策略建立策略路由节点链表;A22、将所述策略路由节点链表中的每个节点对应于一条策略路由。
所述步骤A21包括设定所述策略路由为所述策略路由节点链表中的节点;为每个所述节点配置两个优先级不同的下一跳IP地址。
所述步骤B包括B1、分别获取所述策略路由节点链表中的节点;B2、按所述优先级依次判断所述节点对应的两个优先级不同的下一跳IP地址是否可达;B3、将第一个可达的下一跳IP地址设置为有效状态;B4、将所述每个节点对应的有效状态的下一跳IP地址的路径作为所述策略路由对应的硬件路由转发表项。
所述步骤C包括C1、接收报文;C2、根据所述报文的目的IP地址查找所述策略路由;C3、当所述目的IP地址配置了策略路由时,根据所述策略路由对应的硬件路由转发表项转发所述报文。
所述步骤D包括D1、设定维护定时器;D2、当所述定时器超时后,依次查询所述策略路由节点链表中的各节点;所述步骤C3包括C31、分别检测所述节点对应的两个不同优先级的下一跳IP地址是否可达及当前状态;C32、将当前可达且为有效状态的下一跳IP地址作为所述节点对应的策略路由的硬件路由转发表项;C33、如果所述两个不同优先级的下一跳IP地址均不可达,则设置所述节点对应的策略路由无效。
由以上本发明提供的技术方案可以看出,本发明通过采用流分类的重定向特性实现策略路由,并根据以太网交换机的报文转发特点,由CPU定时检测并刷新配置的策略路由的各节点状态,实现对策略路由的维护。使系统不仅能够为用户提供高质量的网络服务,而且还保证了以太网交换机的线速转发能力。另外,对策略路由各节点分别设置不同优先级的路由管理节点并通过CPU进行动态刷新,达到了策略路由的冗余备份,保证了网络的稳定运行。


图1是现有技术中路由器实现策略路由的流程图;
图2是本发明在以太网交换机上实现策略路由的流程图;图3是本发明方法中建立的策略路由节点列表结构示意图;图4是本发明方法中策略路由的下一跳IP地址设置流程图;图5是本发明方法中策略路由的转发流程图;图6是本发明方法中对硬件转发路由表的维护流程图。
具体实施例方式
本发明的核心在于通过流分类方式配置策略路由,并对系统配置的每个策略路由通过链表的方式进行备份。在实现策略路由时,根据用户的需求定义相应的策略,区分需要进行策略路由的流量,指定相应的业务流进行路由的策略转发。并且由CPU定时检测并刷新配置的策略路由,实现对策略路由的维护。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2是本发明在以太网交换机上实现策略路由的流程图,包括以下步骤步骤201定义路由策略。
本技术领域人员知道,策略路由提供了这样一种机制根据网络管理者制定的标准来进行报文的转发。
因此,配置策略路由时首先要定义路由策略;然后再根据路由策略配置策略路由。同时,还要根据路由策略设定策略路由流量分类信息;根据策略路由流量分类信息,比如用户的源IP地址、目的IP地址、IP协议类型、IP差分业务编码等来确定不同策略路由的流量。
也就是说可以根据用户的具体需求来定义相应的策略,该策略的定义有以下几种
如可以基于用户的源IP地址、目的IP地址、IP协议类型、IP DSCP(差分业务编码)等字节域来区分需要进行策略路由的流量,指定相应的业务流进行路由的策略转发。
由于以太网交换机的报文转发特点不同于路由器对报文的转发过程,因此,本发明还通过根据路由策略建立策略路由节点链表的方式来实现对策略路由的备份,也就是说对配置的每个策略路由用链表进行备份,以保证策略路由的有效转发。
即进到步骤202根据路由策略建立策略路由节点链表。
策略路由节点列表建立的过程如下(1)设定策略路由为策略路由节点链表中的节点;(2)为每个所述节点配置两个优先级不同的下一跳IP地址。
建立的策略路由节点列表结构如图3所示每个策略路由配置优先级不同的两个下一跳的IP地址(NHP),分别为NHP1和NHP2,同时每个策略路由在链表上表现为一个节点(NODE)。
将策略路由节点链表中的每个节点对应于一条策略路由,即节点1对应于策略路由1,同时为该策略路由配置了优先级不同的两个下一跳的IP地址策略路由1的NHP1和策略路由1的NHP2;节点2对应于策略路由2,同时为该策略路由配置了优先级不同的两个下一跳的IP地址策略路由2的NHP1和策略路由2的NHP2;同样,节点N对应于策略路由N,同时为该策略路由配置了优先级不同的两个下一跳的IP地址策略路由N的NHP1和策略路由2的NHP2。
这样,就可以根据配置的策略路由建立硬件路由转发表。如果用户报文需要进行策略路由,则根据该硬件路由转发表进行报文转发。
硬件路由转发表的建立通过以下步骤203至步骤206的过程完成步骤203分别获取策略路由节点链表中的节点;
步骤204按优先级依次判断所述节点对应的两个优先级不同的下一跳IP地址是否可达;步骤205将第一个可达的下一跳IP地址设置为有效状态;步骤206将每个节点对应的有效状态的下一跳IP地址的路径作为所述策略路由对应的硬件路由转发表项。
仍以图3所示的策略路由节点列表为例,策略路由的下一跳IP地址设置流程如图4所示在设置策略路由之前,首先需要对所配置的策略路由的下一跳(NHP)进行是否可达的判断,根据各节点配置的两个优先级不同的下一跳IP地址,按照优先级由高到低的顺序判断下一跳IP地址是否可达,选择高优先级且可达的下一跳IP地址作为有效路由。
由该图可以看出,对于配置的两个NHP地址,NHP1的优先级高于NHP2的优先级。当NHP1存在时该下一跳IP地址有效,此时不考虑NHP2的可达性。如果NHP1不存在可达的路由,则继续判断NHP2是否可达,如果可达则设置NHP2为当前有效的策略路由地址,否则设置该策略路由无效,将符合该策略的报文进行丢弃处理,以防止这些报文冲击CPU。
这样,按上述方法对所述策略路由中的每个节点进行判断,以便获取该节点对应的策略路由有效的下一跳IP地址,根据该IP地址就可以建立策略路由对应的硬件路由转发表项。
一旦策略路由的设置完成,并建立了硬件路由转发表项,则系统在进行路由转发的时候,就可以根据该硬件路由转发表进行报文的转发。
进到步骤207以太网交换机根据硬件路由转发表项对报文进行转发。
首先会根据接收到的报文的目的IP地址来查找是否配置了策略路由,如果已经设置,则根据查找到的策略路由配置的下一跳IP地址的相关信息来进行转发。如果没有设置策略路由,则该报文将继续查找路由转发表,根据路由转发表中的下一跳处理。
具体的策略路由转发流程如图5所示。
本技术领域人员知道,以太网交换机是具有三层交换功能的设备,是一个带有第三层路由功能的第二层交换机,但它是二者的有机结合,并不是简单地把路由器设备的硬件及软件叠加在局域网交换机上。
其原理是假设两个使用IP协议的站点A、B通过第三层交换机进行通信,发送站点A在开始发送时,把自己的IP地址与B站的IP地址比较,判断B站是否与自己在同一子网内。若目的站B与发送站A在同一子网内,则进行二层的转发。若两个站点不在同一子网内,如发送站A要与目的站B通信,发送站A要向“缺省网关”发出ARP(地址解析)封包,而“缺省网关”的IP地址其实是三层交换机的三层交换模块。当发送站A对“缺省网关”的IP地址广播出一个ARP请求时,如果三层交换模块在以前的通信过程中已经知道B站的MAC(媒质接入控制)地址,则向发送站A回复B的MAC地址。否则三层交换模块根据路由信息向B站广播一个ARP请求,B站得到此ARP请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给发送站A,同时将B站的MAC地址发送到二层交换引擎的MAC地址表中。从这以后,当A向B发送的数据包便全部交给二层交换处理,信息得以高速交换。即所谓的一次选路,多次交换。
以太网交换机大多采用ASIC(专用集成电路)芯片,采用硬件的方式进行路由表的查找和刷新。当数据由端口接口芯片接收进来以后,首先在二层交换芯片中查找相应的目的MAC地址,如果查到,就进行二层转发,否则将数据送至三层引擎。在三层引擎中,ASIC芯片查找相应的路由表信息,与数据的目的IP地址相比对,然后发送ARP数据包到目的主机,得到该主机的MAC地址,将MAC地址发到二层芯片,由二层芯片转发该数据包。
由于网络的路由处在不断的更新之中,策略路由配置的下一跳的IP地址NHP的路由可能会发生变化,为了有效地管理这些策略路由的NHP地址,本发明通过定时查询这些策略路由的变化来维护硬件路由转发表,使该转发表保持有效的策略路由。
因此,进到步骤208按预定方式对硬件路由转发表进行维护。
对硬件路由转发表的维护过程如下首先,设定维护定时器,该定时器的定时查询时间间隔可根据系统需要设定,并且可调。
之后每过一个定时周期,系统将主动对保存在策略路由链表中的各个路由节点依次进行路由查询,即当定时器超时后,依次查询策略路由节点链表中的各节点。
然后,分别检测各节点对应的两个不同优先级的下一跳IP地址是否可达及当前状态;如果该节点对应的两个不同优先级的下一跳IP地址中有可达的,按优先级顺序再判断该可达的下一跳IP地址是否为有效路由,如果不是有效路由,则将其设置为有效路由,并将该下一跳IP地址作为该节点对应的策略路由的硬件路由转发表项,更新该策略路由对应的硬件路由转发表项。
如果该节点对应的两个不同优先级的下一跳IP地址均不可达,则设置该节点对应的策略路由无效,更新该策略路由对应的硬件路由转发表项。
当收到符合该策略的报文后,只能丢弃该报文。
上述对单个策略路由节点的查询步骤如图6所示步骤600定时查询节点路由变化;
步骤601判断该节点的NHP1是否可达;如果NHP1可达,则进到步骤602进一步判断NHP1是否为当前有效路由;如果是,则进到步骤608退出查询流程。这时,不需要对对该策略路由对应的硬件转发表项进行更新。
如果不是,则进到步骤603设置NHP1为当前有效路由;然后,进到步骤608退出查询流程。这时,需要根据查询结果对该策略路由对应的硬件转发表项进行更新。
如果NHP1不可达,则进到步骤604进一步判断该节点的NHP2是否可达;如果NHP2可达,则进到步骤605进一步判断NHP2是否为当前有效路由;如果是,则进到步骤608退出查询流程。这时,不需要对对该策略路由对应的硬件转发表项进行更新。
如果不是,则进到步骤606设置NHP2为当前有效路由;然后,进到步骤608退出查询流程。这时,需要根据查询结果对该策略路由对应的硬件转发表项进行更新。
如果NHP2不可达,则进到步骤607设置该节点对应的策略路由无效;然后,进到步骤608退出查询流程。这时,需要根据查询结果对该策略路由对应的硬件转发表项进行更新。因为该策略路由无效,所述删除该策略路由对应的硬件转发表项,或将该表项设置为无效。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种在以太网交换机上实现策略路由的方法,其特征在于,所述方法包括A、配置策略路由;B、根据所述配置的策略路由建立硬件策略路由转发表;C、所述以太网交换机根据所述硬件策略路由转发表项对报文进行转发;D、按预定方式对所述硬件策略路由转发表进行维护。
2.根据权利要求1所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤A包括A1、定义路由策略;A2、根据所述路由策略配置策略路由。
3.根据权利要求2所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤A1包括A11、根据所述路由策略设定所述策略路由流量分类信息;A12、根据所述策略路由流量分类信息确定不同策略路由的流量。
4.根据权利要求3所述的方法,其特征在于,所述策略路由流量分类信息包括用户的源IP地址、目的IP地址、IP协议类型、IP差分业务编码。
5.根据权利要求2所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤A2包括A21、根据所述路由策略建立策略路由节点链表;A22、将所述策略路由节点链表中的每个节点对应于一条策略路由。
6.根据权利要求5所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤A21包括设定所述策略路由为所述策略路由节点链表中的节点;为每个所述节点配置两个优先级不同的下一跳IP地址。
7.根据权利要求6所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤B包括B1、分别获取所述策略路由节点链表中的节点;B2、按所述优先级依次判断所述节点对应的两个优先级不同的下一跳IP地址是否可达;B3、将第一个可达的下一跳IP地址设置为有效状态;B4、将所述每个节点对应的有效状态的下一跳IP地址的路径作为所述策略路由对应的硬件路由转发表项。
8.根据权利要求5所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤C包括C1、接收报文;C2、根据所述报文的目的IP地址查找所述策略路由;C3、当所述目的IP地址配置了策略路由时,根据所述策略路由对应的硬件路由转发表项转发所述报文。
9.根据权利要求5所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤D包括D1、设定维护定时器;D2、当所述定时器超时后,依次查询所述策略路由节点链表中的各节点。
10.根据权利要求9所述的在以太网交换机上实现策略路由的方法,其特征在于,所述步骤C3包括C31、分别检测所述节点对应的两个不同优先级的下一跳IP地址是否可达及当前状态;C32、将当前可达且为有效状态的下一跳IP地址作为所述节点对应的策略路由的硬件路由转发表项;C33、如果所述两个不同优先级的下一跳IP地址均不可达,则设置所述节点对应的策略路由无效。
全文摘要
本发明公开了一种在以太网交换机上实现策略路由的方法,所述方法包括配置策略路由;根据所述配置的策略路由建立硬件策略路由转发表;所述以太网交换机根据所述硬件策略路由转发表项对报文进行策略转发;按预定方式对所述硬件策略路由转发表进行维护,采用特殊查找算法定时刷新该策略路由的转发表,以及时更新策略路由表。利用本发明,可以在以太网交换机上有效地实现网络的负载分担,快速响应网络的策略路由变化,同时,实现流量转发的备份,提高网络运行的稳定性。
文档编号H04L12/56GK1744563SQ200410074139
公开日2006年3月8日 申请日期2004年8月31日 优先权日2004年8月31日
发明者孙松儿 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1