邻居的识别方法及装置的制造方法_2

文档序号:9828112阅读:来源:国知局
该实施例针对次末节(NSSA)区域内7类链路状态广播(LSA)转换成5类LSA进行发布的场景进行描述,如图2所示,该方法包括:
[0038]步骤S201,判断本端路由器是否处于NSSA区域和骨干区域的边界,若处于,执行步骤S202,若未处于,操作结束。
[0039]在该实施例中,本端路由器可以获得自己的区域配置,即可以根据区域配置确定自己是否处于骨干区域和NSSA区域的边界。
[0040]步骤S202,判断属于骨干区域的对端路由器在第一逻辑拓扑上是否是自身的邻居,若是,执行步骤S203,若不是,操作结束。[0041 ] 在该实施例中,本端路由器使能到第一逻辑拓扑,其中,第一逻辑拓扑可以指一个逻辑拓扑,也可以指多个逻辑拓扑。然后需要判断属于骨干区域的对端路由器是否使能到第一逻辑拓扑上,具体的判断方法可以为:
[0042]接收属于骨干区域的对端路由器发送的扩展hello报文,根据该扩展hello报文确定属于骨干区域的对端路由器支持的一个或多个逻辑拓扑,如果属于骨干区域的对端路由器支持的逻辑拓扑中包括第一逻辑拓扑,则属于骨干区域的对端路由器在第一逻辑拓扑上是自身的邻居,否则,不是自身的邻居。
[0043]步骤S203,选举自身为转发者,将来自NSSA区域的7类LSA转换成5类LSA,并通过对端路由器发送至骨干区域。
[0044]在确定属于骨干区域的对端路由器在第一逻辑拓扑上是自身的邻居之后,选举自身为转发者(translator),将来自NSSA区域的7类LSA转换成5类LSA,并通过对端路由器发送至骨干区域。
[0045]以图3所示场景为例进行说明,其中,区域(aera)O为骨干区域,区域I为次末节(NSSA)区域,RTB和RTC均处于NSSA区域和骨干区域的边界。
[0046]在该实施例中,RTA的接口 a2使能到了拓扑1,即图3中虚线所指的逻辑拓扑,接口 al没有使能到拓扑1,RTB、RTC分别与RTA直连的接口使能到了拓扑1,那么RTA通过接口 al向RTB发送的扩展hello报文中携带的拓扑信息不包含拓扑1,则RTB在接收到RTA发送的扩展hello报文后,可以确定RTA在拓扑I对应的逻辑拓扑上不是自身的邻居。RTA通过接口 a2向RTC发送的扩展hello报文中携带的拓扑信息包含拓扑1,则RTC在接收到RTA发送的扩展hello报文后,可以确定RTA支持拓扑I对应的逻辑拓扑,而RTC也支持拓扑I对应的逻辑拓扑,因此,RTA在拓扑I对应的逻辑拓扑上是自身的邻居。这样,在选举NSSA区域的translator时,由于在拓扑I上RTB没有属于骨干区的邻居,因此RTB不会将自己选举为translator,而在拓扑I上RTC有属于骨干区的邻居、即RTA,因此RTC会将自己选举为translator ο
[0047]之后,RTD发布的路由会由RTC发送到骨干区,例如选举为translator的路由器即RTC在接收到RTD发布的7类LSA时,可以将7类LSA转换成5类LSA,并通过RTA发送至骨干区域。
[0048]由此可见,该实施例通过将处于次末节NSSA区域和骨干区域的边界且在骨干区域有邻居的路由器选举为translator,并由选举为translator的路由器进行LSA的转换和发送,从而避免流量的丢失。
[0049]图4是本申请一示例性实施例示出的又一种邻居的识别方法的流程图,该实施例是针对非骨干区域的ABR发布默认路由的场景进行描述的,如图4所示,该方法包括:
[0050]步骤S401,判断本端路由器是否处于骨干区域和非骨干区域的边界,若处于,执行步骤S402,若未处于,操作结束。
[0051]在该实施例中,本端路由器可以获得自己的区域配置,即可以根据区域配置确定自己是否处于骨干区域和非骨干区域的边界,非骨干区域包括NSSA区域或末节STUB区域。
[0052]步骤S402,判断属于骨干区域的第一对端路由器在第二逻辑拓扑上是否是自身的邻居且属于非骨干区域的第二对端路由器在第二逻辑拓扑上是否是自身的邻居,若均是,执行步骤S403,否则,操作结束。
[0053]在该实施例中,本端路由器使能到第二逻辑拓扑,其中,第二逻辑拓扑可以指一个逻辑拓扑,也可以指多个逻辑拓扑。然后需要判断属于骨干区域的第一对端路由器是否使能到第二逻辑拓扑上,具体的判断方法可以为:
[0054]接收属于骨干区域的第一对端路由器发送的扩展hello报文,根据该扩展hello报文确定属于骨干区域的第一对端路由器支持的一个或多个逻辑拓扑,如果属于骨干区域的第一对端路由器支持的逻辑拓扑中包括第二逻辑拓扑,则属于骨干区域的第一对端路由器在第二逻辑拓扑上是自身的邻居,否则,不是自身的邻居。
[0055]继续采用类似的方法判断属于非骨干区域的第二对端路由器在第二逻辑拓扑上是否是自身的邻居,实现过程为:
[0056]接收属于非骨干区域的第二对端路由器发送的扩展hello报文,根据该扩展hello报文确定属于非骨干区域的第二对端路由器支持的一个或多个逻辑拓扑,如果属于非骨干区域的第二对端路由器支持的逻辑拓扑中包括第二逻辑拓扑,则属于非骨干区域的第二对端路由器在第二逻辑拓扑上是自身的邻居,否则,不是自身的邻居。
[0057]步骤S403,通过第二对端路由器向非骨干区域发送默认路由。
[0058]在确定属于骨干区域的第一对端路由器在第二逻辑拓扑上是自身的邻居且属于非骨干区域的第二对端路由器在第二逻辑拓扑上是自身的邻居之后,通过第二对端路由器向非骨干区域发送默认路由。
[0059]以图3所示场景为例进行说明,其中,区域(aera)O为骨干区域,区域I为NSSA区域,RTB和RTC均处于NSSA区域和骨干区域的边界。
[0060]在该实施例中,RTB采用图2所示方法实施例中的方式确定RTA在拓扑I对应的逻辑拓扑上不是自身的邻居,以及RTC也采用图2所示方法实施例中的方式确定RTA在拓扑I对应的逻辑拓扑上是自身的邻居之后,RTC仍需判断非骨干区域的第二对端路由器即RTD在拓扑I对应的逻辑拓扑上是否是自身的邻居,判断方法为:RTC在接收到RTD发送的扩展hello报文后,根据RTD的扩展hello报文获得RTD支持的逻辑拓扑为拓扑1,由于RTD支持的逻辑拓扑中包含拓扑1,因此,RTD在拓扑I对应的逻辑拓扑上是自身的邻居。
[0061]由于RTB能检测出到骨干区域的邻居是不可达的、即RTB在拓扑I上不存骨干区域的邻居,因此,RTB不会向NSSA区域发布默认路由,而是由RTC向NSSA区域内发布默认路由,而NSSA区域到达骨干区域的流量全部由RTC进行转发,从而避免流量的丢失。
[0062]由此可见,该实施例可有效避免流量的丢失。
[0063]图5是本申请一示例性实施例示出的再一种邻居的识别方法的流程图,该实施例针对ABR计算区域间路由的场景进行描述,如图5所示,该方法包括:
[0064]步骤S501,判断本端路由器处于骨干区域和非骨干区域的边界,若处于,执行步骤S502,若未处于,操作结束。
[0065]在该实施例中,本端路由器可以获得自己的区域配置,即可以根据区域配置确定自己是否处于骨干区域和非骨干区域的边界,非骨干区域包括NSSA区域或末节STUB区域
[0066]步骤S502,判断在自身支持的所有逻辑拓扑上的邻居是否是属于骨干区域的路由器,若均不是,执行步骤S503,否则,操作结束。
[0067]在该实施例中,本端路由器可以采用图1a或图2所示实施例中的方式确定出自己在逻辑拓扑上的邻居,然后可以根据邻居的区域信息判断邻居是否是属于骨干区域的路由器。
[0068]步骤S503,根据来自非骨干区域的3类LSA进行区域间路由的计算。
[0069]本端路由器在确定自身支持的所有逻辑拓扑上的邻居均不是属于骨干区域的路由器之后,根据接收的来自非骨干区域的3类LSA计算区域间路由。
[0070]以图3所示场景为例进行说明,其中,区域(aera)O为骨干区域,区域I为NSSA区域,RTB和RTC均处于NSSA区域和骨干区域的边界。
[0071 ] 在该实施例中,RTB采用图2所示方法实施例中的方式确定RTA在拓扑I对应的逻辑拓扑上不是自身的邻居之后,继续判断在它所支持的逻辑拓扑上是否存在邻居,采用图2所示方法实施例中的方式可以判断RTD在拓扑I对应的逻辑拓扑上是自己的邻居,但RTD不是属于骨干区域的路由器,因此,RTB在拓扑I上不存在骨干区的邻居,即RTB到骨干区是不可达的,则RTB可以根据来自非骨干区域的3类LSA进行区域间路由的计算,也就是计算经由非骨干区域的RTD到达RTC的路由,从而避免了 RTB计算经由骨干区域的RTA到达RTC的路由引起的
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1