一种路由计算方法和设备技术

技术编号:8657565 阅读:196 留言:0更新日期:2013-05-02 01:28
本发明专利技术提供了一种路由计算方法和设备,技术方案为:检测到SPB-ISIS网络拓扑变化时,计算本路由设备到SPB-ISIS网络中其它每个路由设备的所有路径的Cost和跳数,将本路由设备到该其它路由设备的Cost最小的路径中跳数最小的路径确定为该其它路由设备对应的最优路径;按照预设规则在SPB-ISIS网络中其它每个路由设备对应的最优路径中优选出该其它路由设备对应的在每种ECT算法下的转发路径,根据优选出的转发路径确定该其它路由设备对应的在该ECT算法下的出端口和下一跳。本发明专利技术能够减少路由计算量。

【技术实现步骤摘要】

本申请涉及通信
,特别涉及一种路由计算方法和设备
技术介绍
迪杰斯特拉(Dijkstra)算法是一种单源最短路径算法,用于在有向加权图中计算最小生成树。在有向加权图中,每台设备就是一个节点(Node),设备之间的连接就是一条边(Link),用D (A, B)表示两台设备的距离,相邻设备间的距离就是接口的Cost值。参见图1所示简单组网,节点S分别通过节点A和B与节点D相连,假设该组网中任何一条边的Cost都是1,则S可以计算出到达A的出端口就是S连接到A的端口 P1,距离为I ;到达B的出端口是S连接到B的端口 P2,距离为I ;到达D有两条等价路径:S-A-D和S-B-D,其中,在路径S-A-D上的出端口是S连接到A的端口 P1,距离为2,下一跳为A ;在路径S-B-D上的出端口是S连接到B的端口 P2,距离为2,下一跳为B。中间系统到中间系统(ISIS)最早是ISO在OSI协议栈下设计的动态路由协议,采用TLV架构,易于扩展,被广泛应用于IP网络,是IPv4/IPv6双栈可共用的单播路由协议。ISIS与其它单播路由协议如开放最短路径优先(OSPF) —样,采用Dijkstra算法计算路由设备之间的最短路径,从而算出路由的出端口和下一跳,当存在等价路径时,在等价路径上进行负载分担。基于中间系统到中间系统的最短路径桥(SPB-1SIS)是IEEE802.1laq最新发布的最短路径桥接标准,应用ISIS协议来扩展多生成树协议(Multiple Spanning TreeProtocol,MSTP),用于大二层网络核心层的转发路径的学习。SPB-1SIS也采用Di jkstra算法计算转发路径,与传统路由协议的不同之处在于SPB-1SIS网络中没有等价路径,当两个路由设备之间存在多条cost相同的等价路径时,需要从中选出跳数最小的等价路径,如果存在多条Cost和跳数均相同且最小的等价路径,则还需要应用ECT算法进行优选,最终选择出一条作为转发路径。由于SPB-1SIS网络中没有等价路径,如果需要进行负载分担,则需要网络管理员将VSI流量(Virtue Service Instance)配置到不同的VLAN内,然后为不同VLAN配置不同的ECT算法,在路径等价的情况下,应用不同ECT算法的流量将可能选择不同的路径。ECT算法的决策过程就是将路径上所有节点的桥ID (去不包括路径的头节点和尾节点)与ECT算法对应的掩码魔术字进行异或,然后进行字典序比较。如图1所示的组网中,节点S到D有两条等价路径:径S-A-D和S-B-D,假设ECT算法I会优选出S-A-D为转发路径,ECT算法2会优选出S-B-D为转发路径,则可以将1-SIDlOO配置在Vlanl下并应用ECT算法1,将1-SID200配置在Vlan2下并应用ECT算法2,这样1-SID100的流量就在VLANl下走路径S-A-D,1-SID200的流量就在VLAN2下走路径S-B-D。在SPB-1SIS网络中,当网络拓扑发生变化时,各路由设备需要计算单播(自身桥到所有桥)的出端口,以及组播(以所有组播源为根)的指定端口,当网络中路由设备数量很多时,运行拓扑的工作量很大,而且当出现等价路径时还需要进行ECT决策,也会增加很多计算的工作量。增量最短路径优先(ISPF)技术通过计算网络拓扑变化时受影响的部分网络路由,可以加快网络收敛速度和减少网络收敛时间,其根据拓扑变化执行以下决策:(I)是否需要重算拓扑树,例如:不在树上的Link的Cost增大时,或不在树上的Node被删除时,无需重算拓扑树。以图1为例,假设D (A、D) =3,其余各边Cost均为1,则计算最小生成树后,S到D的出接口是P2,下一跳是B,而不会走S->A->D这条路,也就是说Link(A7D)不在树上。那么如果D(A,D)增大到4,或者断掉,都不会影响拓扑计算的结果,因此不需要重新计算拓扑。(2)如果需要重算拓扑树,则尽可能缩小计算子树的范围;(3)最终拓扑发生变化,只增量计算受影响的路由。采用ISPF技术可以一定程度上缓解SPB-1SIS的路由计算量,但判断网络拓扑变化是否影响最小生成树,进而确定是否需重算拓扑树,对单播(以自己为根)而言比较简单,但对组播(以组播源为根)而言则较为复杂,而且缩小计算子树范围的做法难以针对每颗组播树实现,有可能增加了冗余判定流程却起不到优化效果。另外,对于SPB-1SIS协议中规定的ECT决策,ISPF无法起到优化作用,而SPB-1SIS协议本身的ECT决策算法如果不加以优化,计算量将恶化到天文数字。参见图2所示的由一百多台设备构成的组网,在图2所示组网中,以路由设备S为根节点,从S到目的路由设备D的路径数量达到333条,如果不对ECT算法进行优化,则根本无法进行ECT决策。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种应用于SPB-1SIS网络中的路由计算方法,该方法能够减小路由计算量。为实现上述目的,本专利技术提供的技术方案为:一种路由计算方法,应用于SPB-1SIS网络中的路由设备,包括:检测到SPB-1SIS网络拓扑变化时,如果判断确定需要重新计算单播路由,则计算本路由设备到SPB-1SIS网络中其它每个路由设备的所有路径的Cost和跳数,将本路由设备到该其它路由设备的Cost最小的所有路径中跳数最小的路径确定为该其它路由设备对应的最优路径;按照预设规则在SPB-1SIS网络中其它每个路由设备对应的最优路径中优选出该其它路由设备对应的在每种ECT算法下的转发路径,根据优选出的转发路径确定该其它路由设备对应的在该ECT算法下的出端口和下一跳。一种路由设备,应用于SPB-1SIS网络,包括:检测单元、判断单元、计算单元、优选单元;所述检测单元,用于检测SPB-1SIS网络是否发生拓扑变化;所述判断单元,用于在检测单元检测到SPB-1SIS网络发生拓扑变化时,判断是否需要重新计算单播路由;所述计算单元,用于在判断单元判断确定需要重新计算单播路由时,计算本路由设备到SPB-1SIS网络中其它每个路由设备的所有路径的Cost和跳数,将本路由设备到该其它路由设备的Cost最小的所有路径中跳数最小的路径确定为该其它路由设备对应的最优路径;所述优选单元,用于按照预设规则在SPB-1SIS网络中其它每个路由设备对应的最优路径中优选出该其它路由设备对应的在每种ECT算法下的转发路径,根据优选出的转发路径确定该其它路由设备对应的在该ECT算法下的出端口和下一跳。综上所述,本专利技术通过计算本路由设备到其它每个路由设备的Cost最小的所有路径中跳数最小的路径作为最优路径,从而剔除了 Cost最小但跳数不是最小的路径;根据按照预设规则优选出该其它路由设备对应的转发路径,并根据优选的确定的出端口和下一跳。本专利技术可以有效减小路由计算量。附图说明图1是现有技术的一个简单组网示意图;图2是现有技术由一百多台设备构成的组网示意图;图3是本专利技术实施例路由计算方法的流程示意图;图4是应用本专利技术实施例的一个简单组网示意图;图5是本专利技术实施例路由设备的结构示意图。具体实施例方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术所述方案作本文档来自技高网
...

【技术保护点】
一种路由计算方法,应用于SPB?ISIS网络中的路由设备,其特征在于,该方法包括:检测到SPB?ISIS网络拓扑变化时,如果判断确定需要重新计算单播路由,则计算本路由设备到SPB?ISIS网络中其它每个路由设备的所有路径的Cost和跳数,将本路由设备到该其它路由设备的Cost最小的所有路径中跳数最小的路径确定为该其它路由设备对应的最优路径;按照预设规则在SPB?ISIS网络中其它每个路由设备对应的最优路径中优选出该其它路由设备对应的在每种ECT算法下的转发路径,根据优选出的转发路径确定该其它路由设备对应的在该ECT算法下的出端口和下一跳。

【技术特征摘要】
1.一种路由计算方法,应用于SPB-1SIS网络中的路由设备,其特征在于,该方法包括: 检测到SPB-1SIS网络拓扑变化时,如果判断确定需要重新计算单播路由,则计算本路由设备到SPB-1SIS网络中其它每个路由设备的所有路径的Cost和跳数,将本路由设备到该其它路由设备的Cost最小的所有路径中跳数最小的路径确定为该其它路由设备对应的最优路径; 按照预设规则在SPB-1SIS网络中其它每个路由设备对应的最优路径中优选出该其它路由设备对应的在每种ECT算法下的转发路径,根据优选出的转发路径确定该其它路由设备对应的在该ECT算法下的出端口和下一跳。2.根据权利要求1所述的路由计算方法,其特征在于, 所述计算本路由设备到SPB-1SIS网络中其它每个路由设备的所有路径的Cost和跳数,将本路由设备到该其它路由设备的Cost最小的所有路径中跳数最小的路径确定为该其它路由设备对应的最优路径的方法为采用以下步骤: A、将本路由设备的所有邻居路由设备加入候选列表,将本路由设备与每个邻居路由设备间的直连链路添加到该邻居路由设备的ParentLinkList并设置onTree标记,记录本路由设备到该邻居路由设备的跳数,将本路由设备记为该邻居路由设备的父节点; B、判断候选列表是否为空,如果是,则确定本路由设备经过设置有onTree标记的链路到达SPB-1SIS网络中其它每个路由设备的路径为该其它路由设备对应的最优路径,并结束本流程,否则,执行步骤C ; C、从候选列表中取出距离本路由设备的Cost最小的路由设备作为当前路由设备,判断当前路由设备是否有除父节点外的邻居路由设备,如果是,则执行步骤D,否则,返回步骤B执行; D、将当前路由设备的除父节点外的所有邻居路由设备加入候选列表,计算本路由设备经由当前路由设备到达新加入候选列表中的各路由设备的路径的cost和跳数,将当前路由设备记为新加入候选列表中的各路由设备的父节点,对于首次加入候选列表的每个路由设备,将该路由设备与当前路由设备间的直连链路添加到该路由设备的ParentLinkList并设置onTree标记;对于非首次加入候选列表的每个路由设备,如果本路由设备经由当前路由设备到达该路由设备的路径的Cost比原来计算的Cost小或与原来计算的Cost相等但跳数比原来小,则清空该路由设备的ParentLinkList,将该路由设备与当前路由设备间的直连链路添加到该路由设备的ParentLinkList并设置onTree标记;返回步骤B执行。3.根据权利要求2所述的路由计算方法,其特征在于, 所述按照预设规则在SPB-1SIS网络中其它每个路由设备的最优路径中优选出该其它路由设备对应的在每种ECT算法下的转发路径,根据优选出的转发路径确定该其它路由设备对应的在该ECT算法下的出端口和下一跳包括: 按照SPB-1SIS网络中其它每个路由设备对应的最优路径的Cost从小到大的顺序对所有路由设备进行排序,并按照以下步骤确定序列中各路由设备在每种ECT算法下的转发路径: 对于排序中的第一个路由设备,将本路由设备上直连该第一个路由设备的端口确定为该第一个路由设备对应的出端口,且该第一个路由设备对应的下一跳为该第一个路由设备;假设排序中的前K个路由设备的出端口和下一跳已经确定,则对于第Κ+l个路由设备,根据该第κ+l个路由设备的ParentLinkList确定该第Κ+l个路由设备在该第Κ+l个路由设备对应的最优路径上的父节点数,如果确定该Κ+l个路由设备只有一个父节点,则该第Κ+l个路由设备继承该父节点的出端口和下一跳;如果该Κ+l个路由设备具有m个父节点,则确定本路由设备经由该第Κ+l个路由设备的m个父节点对应的转发路径到达该第Κ+l个路由设备的m条最优路径,按照该种ECT算法从所述m条最优路径中优选一条转发路径,该第Κ+l个路由设备继承该第Κ+l个路由设备在优选的转发路径上的父节点的出端口和下一跳;其中,m是大于I的自然数。4.根据权利要求3所述的路由计算方法,其特征在于, 确定排序中前K个路由设备的出端口和下一跳之后,根据该第Κ+l个路由设备的ParentLinkList确定该第Κ+l个路由设备在该第Κ+l个路由设备对应的最优路径上的父节点数之前,进一步包 括:如果该第Κ+l个路由设备对应的所有最优路径之间存在除本路由设备以外的其它交点,则确定该第Κ+l个路由设备继承所有其它交点中任一交点的出端口和下一跳,否则,根据该第Κ+l个路由设备的ParentLinkList确定该第Κ+l个路由设备在该第Κ+l个路由设备对应的最优路径上的父节点数。5.根据权利要求1-4中任一权项所述的路由计算方法,其特征在于,该方法进一步包括: 预先记录SPB-1SIS网络中每条link所在的各组播树的根节点; 检测到SPB-1SIS网络拓扑变化时,进一步确定引起所述拓扑变化的link,根据预先记录的SPB-1SIS网络中每条link所在的各组播树的根节点判断该link是否在组播树上,如果该link在组播树上,则重新计算该link所在的组播树的拓扑;如果该link不在任何组播树上,则若该link的Cost减小,则重新计算SPB-1SIS网络中所有组播树的拓扑,若该link断开或Cost增大,则不对任何组播树的拓扑进行重新计算。6.一种路由设备,应用于SPB-1SIS网络,其特征在于,该路由设备包括:检测单元、判断单元、计算单元、优选单元; 所述检测单元,用于检测SPB-1SIS网络是否发生拓扑变化; 所述判断单元,用于在检测单元检...

【专利技术属性】
技术研发人员:范浩章海锋
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1