一种路由收敛方法、控制装置、转发装置以及系统与流程

文档序号:11842481阅读:141来源:国知局
一种路由收敛方法、控制装置、转发装置以及系统与流程
本发明涉及互联网领域,尤其涉及一种路由收敛方法、控制装置、转发装置以及系统。
背景技术
:随着科学技术的发展,互联网正在从一个单纯的数据业务承载网络,逐步成为一个数据、语音、视频、企业专线/虚拟私有网络的多业务承载网络。而这个转变的过程也对互联网自身提出了越来越高的要求,其中,网络可靠性是当前运营商最为关注和重视的一个方向。全球的互联网又被分成很多个网络域,网络域内部的网络设备之间建立内部网关协议(IGP,InteriorGatewayProtocol)邻居,IGP邻居之间基于IGP协议来交换信息,建立路由。现有技术中,当网络域内部的网络设备发生故障时,所有经过故障网络设备的路由都需要重新计算下发,以实现网络收敛。这种方法中网络设备的计算量较大,导致网络收敛速度较慢,效率较低,不能满足用户对互联网的需求。技术实现要素:本发明实施例提供了一种路由收敛方法,用于提高网络的收敛性能。本发明实施例第一方面提供了一种路由收敛方法,包括:网络设备的控制装置计算得到:到达第一目的互联网协议IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳,其中,所述第一IGP下一跳为所述网络设备的IGP邻居;所述控制装置生成IGP索引,将所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,并将所述IGP索引与所述第一IGP下一跳相关联;所述控制装置将所述第一目的IP地址、所述第二目的IP地址、所述第一 IGP下一跳以及所述IGP索引下发到所述网络设备的转发装置;当所述第一IGP下一跳不可用时,所述控制装置确定第二IGP下一跳,并将所述第二IGP下一跳与所述IGP索引相关联,所述第二IGP下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;所述控制装置将所述第二IGP下一跳和所述IGP索引下发到所述转发装置。结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述控制装置确定第二IGP下一跳包括:所述控制装置重新计算得到:到达所述第一目的IP地址与所述第二目的IP地址的下一跳均为第二IGP下一跳,其中,所述第二IGP下一跳为所述网络设备的IGP邻居。结合本发明实施例的第一方面,本发明实施例的第一方面的第二种实现方式中,所述方法还包括:所述控制装置根据所述第一目的IP地址与所述第二目的IP地址,计算得到所述第一IGP下一跳的备份下一跳,其中,所述备份下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;所述控制装置确定第二IGP下一跳包括:所述控制装置确定所述备份下一跳为所述第二IGP下一跳。结合本发明实施例的第一方面、第一方面的第一种或第二种实现方式,本发明实施例的第一方面的第三种实现方式中,所述网络设备的控制装置计算得到:到达第一目的IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳包括:所述控制装置计算得到:到达所述第一目的IP地址的第一边界网关协议BGP下一跳,和到达所述第二目的IP地址的第二BGP下一跳,其中,所述第一BGP下一跳和所述第二BGP下一跳均为所述网络设备的BGP邻居;所述控制装置计算得到:到达所述第一BGP下一跳和到达所述第二BGP下一跳的下一跳均为所述第一IGP下一跳;所述方法还包括:所述控制装置生成第一BGP索引和第二BGP索引,所述第一BGP索引 用于指示所述第一BGP下一跳,所述第二BGP索引用于指示所述第二BGP下一跳;所述将所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联包括:将所述IGP索引与所述第一BGP索引相关联,并将所述第一BGP索引与所述第一目的IP地址相关联;将所述IGP索引与所述第二BGP索引相关联,并将所述第二BGP索引与所述第二目的IP地址相关联;所述方法还包括:所述控制装置将所述第一BGP索引和所述第二BGP索引下发到所述转发装置。本发明实施例的第二方面提供了一种路由收敛方法,包括:网络设备的转发装置接收所述网络设备的控制装置下发的第一目的互联网协议IP地址、第二目的IP地址、第一内部网关协议IGP下一跳以及IGP索引,其中,所述第一IGP下一跳为到达所述第一目的IP地址和到达所述第二目的IP地址的共同的下一跳,且所述第一IGP下一跳为所述网络设备的IGP邻居,所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,且所述IGP索引与所述第一IGP下一跳相关联;所述转发装置保存所述第一目的IP地址、所述第二目的IP地址、所述IGP索引与所述第一IGP下一跳;当所述第一IGP下一跳不可用时,所述转发装置接收所述控制装置下发的IGP索引和第二IGP下一跳,其中,所述第二IGP下一跳与所述IGP索引相关联;所述转发装置将所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述转发装置保存所述第一目的IP地址、所述第二目的IP地址、所述IGP索引与所述第一IGP下一跳包括:所述转发装置将所述第一目的IP地址、所述第二目的IP地址与所述IGP索引保存到第一转发表中;所述转发装置将所述IGP索引与所述第一IGP下一跳保存到第二转发表中;所述转发装置将所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳包括:所述转发装置将所述第二转发表中,所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。结合本发明实施例的第二方面或第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述转发装置将所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳之后还包括:所述转发装置接收数据报文,并从所述数据报文中获取所述数据报文的第一目的IP地址;所述转发装置根据所述第一目的IP地址,查找到所述第一目的IP地址对应的所述IGP索引;所述转发装置根据所述IGP索引,查找到所述IGP索引对应的所述第二IGP下一跳;所述转发装置将所述数据报文转发给所述第二IGP下一跳。结合本发明实施例的第二方面,本发明实施例的第二方面的第三种实现方式中,所述转发装置还接收所述控制装置下发的第一边界网关协议BGP索引与第二BGP索引;所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联包括:所述IGP索引与所述第一BGP索引相关联,且所述第一BGP索引与所述第一目的IP地址相关联;所述IGP索引与所述第二BGP索引相关联,且所述第二BGP索引与所述第二目的IP地址相关联;所述方法还包括:所述转发装置保存所述第一BGP索引与第二BGP索引。结合本发明实施例的第二方面的第三种实现方式,本发明实施例的第二方面的第四种实现方式中,所述转发装置通过如下方法保存所述第一目的IP地址、所述第二目的IP地址、所述IGP索引、所述第一IGP下一跳、所述第一BGP索引与第二BGP索引:所述转发装置将所述第一目的IP地址、所述第一BGP索引、所述第二目的IP地址与所述第二BGP索引保存到第三转发表中;所述转发装置将所述第一BGP索引、所述第二BGP索引与所述IGP索 引保存到第四转发表中;所述转发装置将所述IGP索引与所述第一IGP下一跳保存到第五转发表中;所述转发装置将所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳包括:所述转发装置将所述第五转发表中,所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。结合本发明实施例的第二方面的第四种实现方式,本发明实施例的第二方面的第五种实现方式中,所述转发装置将所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳之后还包括:所述转发装置接收数据报文,并从所述数据报文中获取所述数据报文的第一目的IP地址;所述转发装置根据所述第一目的IP地址,查找到所述第一目的IP地址对应的所述第一BGP索引;所述转发装置根据所述第一BGP索引,查找到所述第一BGP索引对应的所述IGP索引;所述转发装置根据所述IGP索引,查找到所述IGP索引对应的所述第二IGP下一跳;所述转发装置将所述数据报文转发给所述第一IGP下一跳。本发明实施例的第三方面提供了一种控制装置,包括:计算模块,用于计算得到:到达第一目的互联网协议IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳,其中,所述第一IGP下一跳为网络设备的IGP邻居;索引模块,用于生成IGP索引,将所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,并将所述IGP索引与所述第一IGP下一跳相关联;发送模块,用于将所述第一目的IP地址、所述第二目的IP地址、所述第一IGP下一跳以及所述IGP索引下发到所述网络设备的转发装置;切换模块,用于当所述第一IGP下一跳不可用时,确定第二IGP下一跳, 并将所述第二IGP下一跳与所述IGP索引相关联,所述第二IGP下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;所述发送模块还用于:将所述第二IGP下一跳和所述IGP索引下发到所述转发装置。结合本发明实施例的第三方面,本发明实施例的第三方面的第一种实现方式中,所述切换模块还用于:当所述第一IGP下一跳不可用时,触发所述计算模块重新计算得到:到达所述第一目的IP地址与所述第二目的IP地址的下一跳均为第二IGP下一跳,其中,所述第二IGP下一跳为所述网络设备的IGP邻居。结合本发明实施例的第三方面,本发明实施例的第三方面的第二种实现方式中,所述计算模块还用于:根据所述第一目的IP地址与所述第二目的IP地址,计算得到所述第一IGP下一跳的备份下一跳,其中,所述备份下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;所述切换模块还用于:确定所述备份下一跳为所述第二IGP下一跳。结合本发明实施例的第三方面、第三方面的第一种或第二种实现方式,本发明实施例的第三方面的第三种实现方式中,所述计算模块具体用于:计算得到:到达所述第一目的IP地址的第一边界网关协议BGP下一跳,和到达所述第二目的IP地址的第二BGP下一跳,其中,所述第一BGP下一跳和所述第二BGP下一跳均为所述网络设备的BGP邻居;所述计算模块还计算得到:到达所述第一BGP下一跳和到达所述第二BGP下一跳的下一跳均为所述第一IGP下一跳;所述索引模块还用于:生成第一BGP索引和第二BGP索引,所述第一BGP索引用于指示所述第一BGP下一跳,所述第二BGP索引用于指示所述第二BGP下一跳;将所述IGP索引与所述第一BGP索引相关联,并将所述第一BGP索引与所述第一目的IP地址相关联;将所述IGP索引与所述第二BGP索引相关联,并将所述第二BGP索引与所述第二目的IP地址相关联;所述发送模块还用于:将所述第一BGP索引和所述第二BGP索引下发到所述转发装置。本发明实施例的第四方面提供了一种转发装置,包括:接收模块,用于接收网络设备的控制装置下发的第一目的互联网协议IP地址、第二目的IP地址、第一内部网关协议IGP下一跳以及IGP索引,其中,所述第一IGP下一跳为到达所述第一目的IP地址和到达所述第二目的IP地址的共同的下一跳,且所述第一IGP下一跳为所述网络设备的IGP邻居,所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,且所述IGP索引与所述第一IGP下一跳相关联;保存模块,用于保存所述第一目的IP地址、所述第二目的IP地址、所述IGP索引与所述第一IGP下一跳;所述接收模块还用于:当所述第一IGP下一跳不可用时,接收所述控制装置下发的IGP索引和第二IGP下一跳,其中,所述第二IGP下一跳与所述IGP索引相关联;更新模块,用于将所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。结合本发明实施例的第四方面,本发明实施例的第四方面的第一种实现方式中,所述保存模块包括:第一保存单元,用于将所述第一目的IP地址、所述第二目的IP地址与所述IGP索引保存到第一转发表中;第二保存单元,用于将所述IGP索引与所述第一IGP下一跳保存到第二转发表中;所述更新模块具体用于:将所述第二转发表中,所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。结合本发明实施例的第四方面或第四方面的第一种实现方式,本发明实施例的第四方面的第二种实现方式中,所述转发装置还包括:报文接收模块,用于接收数据报文,并从所述数据报文中获取所述数据报文的第一目的IP地址;查找模块,用于根据所述第一目的IP地址,查找到所述第一目的IP地址对应的所述IGP索引,根据所述IGP索引,查找到所述IGP索引对应的所述第二IGP下一跳;报文转发模块,用于将所述数据报文转发给所述第二IGP下一跳。结合本发明实施例的第四方面,本发明实施例的第四方面的第三种实现方式中,所述接收模块还用于:接收所述控制装置下发的第一边界网关协议BGP索引和第二BGP索引;所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联包括:所述IGP索引与所述第一BGP索引相关联,且所述第一BGP索引与所述第一目的IP地址相关联;所述IGP索引与所述第二BGP索引相关联,且所述第二BGP索引与所述第二目的IP地址相关联;所述保存模块还用于:保存所述第一BGP索引与第二BGP索引。结合本发明实施例的第四方面的第三种实现方式,本发明实施例的第四方面的第四种实现方式中,所述保存模块通过如下方法保存所述第一目的IP地址、所述第二目的IP地址、所述IGP索引、所述第一IGP下一跳、所述第一BGP索引与第二BGP索引:将所述第一目的IP地址、所述第一BGP索引、所述第二目的IP地址与所述第二BGP索引保存到第三转发表中;将所述第一BGP索引、所述第二BGP索引与所述IGP索引保存到第四转发表中;将所述IGP索引与所述第一IGP下一跳保存到第五转发表中;所述更新模块具体用于:将所述第五转发表中,所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。结合本发明实施例的第四方面的第三种或第四种实现方式,本发明实施例的第四方面的第五种实现方式中,所述转发装置还包括:报文接收模块,用于接收数据报文,并从所述数据报文中获取所述数据报文的第一目的IP地址;查找模块,用于:根据所述第一目的IP地址,查找到所述第一目的IP地址对应的所述第一BGP索引;根据所述第一BGP索引,查找到所述第一BGP索引对应的所述IGP索引;根据所述IGP索引,查找到所述IGP索引对应的所述第二IGP下一跳;报文转发模块,用于将所述数据报文转发给所述第二IGP下一跳。本发明实施例的第五方面提供了一种网络设备,其特征在于,包括本发明实施例的第三方面、第三方的第一种至第三种实现方式中的任一项所述的控制装置,和/或本发明实施例的第四方面、第四方的第一种至第三种实现方式中的任一项所述的转发装置。本发明实施例的第六方面提供了一种网络系统,其特征在于,包括本发明实施例的第三方面、第三方的第一种至第三种实现方式中的任一项所述的控制装置,和/或本发明实施例的第四方面、第四方的第一种至第三种实现方式中的任一项所述的转发装置。本发明实施例中,网络设备的控制装置计算得到:到达第一目的IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳;控制装置生成IGP索引,将IGP索引分别与第一目的IP地址和第二目的IP地址相关联,并将IGP索引与第一IGP下一跳相关联;控制装置将所述第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引下发到网络设备的转发装置;当第一IGP下一跳不可用时,控制装置确定第二IGP下一跳,并将第二IGP下一跳与IGP索引相关联;控制装置将第二IGP下一跳和IGP索引下发到转发装置。本发明实施例提供的方法设置了IGP索引,将具有相同的第一IGP下一跳的目的IP地址与目标下一跳索引关联起来,这样当第一IGP下一跳不可用的时候,控制装置只需要下发目标下一跳索引与用于替换第一IGP下一跳的第二IGP下一跳即可,无需重新计算下发每条目的IP地址对应的路由,减少了网络设备计算下发的数据量,节省了IGP网络收敛的时间,提高了IGP网络的收敛性能。附图说明图1为现阶段的技术中网络域的基本构架示意图;图2为本发明实施例中路由收敛方法一个实施例流程图;图3为本发明实施例中路由收敛方法另一个实施例流程图;图4为本发明实施例中路由收敛方法另一个实施例流程图;图5为本发明实施例中路由收敛方法另一个实施例流程图;图6为本发明实施例中控制装置一个实施例结构图;图7为本发明实施例中转发装置一个实施例结构图;图8为本发明实施例中转发装置另一个实施例结构图;图9为本发明实施例中转发装置另一个实施例结构图;图10为本发明实施例中控制装置或转发装置另一个实施例结构图。具体实施方式本发明实施例提供了一种路由收敛方法,用于提高IGP网络的收敛性能。本发明实施例还提供了相关的装置,以下将分别进行描述。网络域的基本构架请参阅图1。其中,有的网络设备位于网络域内部,如R1、R2或R3,有的网络设备位于网络域的边界,如R4或R5。网络域内部的网络设备之间建立IGP邻居,基于IGP协议交换数据报文,计算IGP路由。网络域边界的网络设备之间建立边界网关协议(BGP,BorderGatewayProtocol)邻居,基于BGP协议交换数据报文,计算BGP路由。所述网络域可以是IGP网络域或自治系统(AutonomousSystem,AS)域,通常一个AS域包括一个或多个IGP网络域。现阶段的技术中,当网络域中的网络设备接收到数据报文时,可以从数据报文中获取该数据报文的目的IP地址。网络设备的控制装置计算到达该目的IP地址的路由,并生成路由表。控制装置将路由表中的部分路由信息下发到该网络设备的转发装置,转发装置根据接收到的路由信息生成转发表,并根据转发表中的信息将数据报文转发出去。一般的,转发表中包括有该数据报文的目的IP地址与IGP下一跳,其中IGP下一跳为与该网络设备互为IGP邻居的下一跳。转发表形式可以参阅表1:目的IP地址IGP下一跳目的IP地址1IGP下一跳1目的IP地址2IGP下一跳2目的IP地址3IGP下一跳3表1可以理解的,表1仅为转发表形式的一个具体示例。实际应用中转发表 可以为其他形式,也可以包括其他信息,本申请中不做限定。特别的,本申请中提到的IP地址可以为IP地址本身,也可以为经过了掩码处理的IP地址(如IP地址前缀),本申请中不做限定。本申请中提到的网路设备可以为路由器,也可以为交换机或主机,本申请中不做限定。本申请中提到的下一跳可以是下一跳的IP地址的简称,此后不做赘述。特别的,本申请中的IGP协议的种类有很多,包括开放式最短路径优先(OSPF,OpenShortestPathFirst)协议、中间系统到中间系统(ISIS,IntermediateSystemtoIntermediateSystem)协议、路由信息协议(RIP,RoutingInformationProtocol)等,也可以包括其他协议,本申请中不做限定。特别的,本申请中的目的IP地址可以为网络域中网络设备的IP地址、或另一个网络域中网络设备的IP地址、或主机的IP地址等,本申请中不做限定。特别的,本申请中的控制装置可以为网络设备中的控制板,也可以为独立的控制器或者控制设备,如基于控制转发分离的软件定义网络(SDN,SoftwareDefinedNetworking)中的控制器,本申请中不做限定;本申请中的转发装置可以为网络设备中的转发板或线卡,也可以为独立的转发器或者转发设备,如SDN网络中的转发器,本申请中不做限定。现阶段的技术中,当网络域中的某台网络设备出现故障时,需要为所有以该网络设备作为IGP下一跳的目的IP地址计算新的IGP下一跳,并将每个目的IP地址与对应的新的IGP下一跳下发到转发表。例如图1中,R1确定第一目的IP地址与第二目的IP地址的IGP下一跳均为R2。当R2发生故障时,R1需要逐条计算第一目的IP地址的新的IGP下一跳以及第二目的IP地址的新的IGP下一跳,并将每个目的IP地址与对应的新的IGP下一跳下发到转发表中,转发表中第一目的IP地址与第二目的IP地址的所有表项都需要更新,即从表2(a)更新为表2(b),而且把R2作为共同IGP下一跳的目的IP地址越多,需要更新的转发表项的数量也越大,消耗的路由收敛时间也越长。由于这种方法需要计算所有以故障网络设备为IGP下一跳的目的IP地址的新的IGP下一跳,并需要更新大量的转发表项,所以耗时较长,且消耗了网络设备大量的数据处理资源,不利于网络的快速收敛。目的IP地址IGP下一跳第一目的IP地址R2第二目的IP地址R2表2(a)目的IP地址IGP下一跳第一目的IP地址第一目的IP地址的新的IGP下一跳第二目的IP地址第二目的IP地址的新的IGP下一跳表2(b)但是在上述例子中,第一目的IP地址与第二目的IP地址共用相同的IGP下一跳(即R2)。当R2故障的时候,第一目的IP地址与第二目的IP地址完全可以共用新的IGP下一跳,而不必逐条分别计算。为此,本发明提供了一种路由收敛方法,其基本流程请参阅图2,包括:201、网络设备的控制装置计算得到:到达第一目的IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳;网络设备的控制装置计算得到:到达第一目的IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳,其中,第一IGP下一跳为所述网络设备的IGP邻居。202、控制装置生成IGP索引,将IGP索引分别与第一目的IP地址和第二目的IP地址相关联,并将IGP索引与第一IGP下一跳相关联;控制装置生成IGP索引,并将IGP索引分别与第一目的IP地址和第二目的IP地址相关联,这样控制装置可以根据第一目的IP地址或第二目的IP地址确定对应的IGP索引,也可以根据IGP索引确定对应的第一与第二目的IP地址。其中,IGP索引与第一目的IP地址和第二目的IP地址的关联关系可以为直接关联,也可以为通过特定的信息进行间接关联,具体将在后面的实施例中详述,此处不做限定。控制装置还将IGP索引与第一IGP下一跳相关联,这样控制装置可以根据IGP索引确定对应的第一IGP下一跳,也可以根据第一IGP下一跳确定对应的IGP索引。其中,IGP索引的形式有很多,例如数字、字符、字段、标记位等,也可以为其他形式,此处不做限定。203、控制装置将第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引下发到所述网络设备的转发装置;控制装置将第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引下发到所述网络设备的转发装置。下发后,转发装置也能获知第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引之间的关联关系。204、当第一IGP下一跳不可用时,控制装置确定第二IGP下一跳,并将第二IGP下一跳与IGP索引相关联;当第一IGP下一跳不可用时,控制装置确定第二IGP下一跳,并将第二IGP下一跳与IGP索引相关联,其中第二IGP下一跳用于替换第一IGP下一跳。可以理解的,第二IGP下一跳也为该网络设备的IGP邻居。控制装置确定第二IGP下一跳的方法有很多,具体将在后面的实施例中详述,此处不做限定。205、控制装置将第二IGP下一跳和IGP索引下发到所述转发装置。控制装置将第二IGP下一跳和IGP索引下发到所述转发装置,下发后,转发装置也能获知第二IGP下一跳和IGP索引的关联关系。上文的论述中已经提到:现阶段的技术中,当第一IGP下一跳故障时,网络设备需要分别下发第一目的IP地址与第二目的IP地址的下一跳。而本实施例中,当第一IGP下一跳故障时,所述网络设备的控制装置只下发用于替换第一IGP下一跳的第二IGP下一跳与IGP索引。这样当多个目的IP地址共用相同的IGP索引与第一IGP下一跳时,控制装置只需要下发一条IGP索引与第二IGP下一跳即可,多个目的IP地址无需下发。因此,在多个目的IP地址共用相同的下一跳的场景下,本实施例提供的方法可以减少IGP网络收敛时目的IP地址的下发次数,缩短IGP网络的收敛时间,提高IGP网络的收敛性能。图2所示的实施例给出了本发明提供的路由收敛方法的基本流程,其中的步骤204中,当第一IGP下一跳不可用时,控制装置确定第二IGP下一跳, 并将第二IGP下一跳与IGP索引相关联。可选的,作为本发明的又一个实施例,控制装置确定第二IGP下一跳的方法可以与步骤201类似,即:当第一IGP下一跳不可用时,控制装置重新计算到达第一目的IP地址与第二目的IP地址的下一跳均为第二IGP下一跳,其中,第二IGP下一跳为所述网络设备的IGP邻居。其中,图2所示的实施例仅以第一目的IP地址、第二目的IP地址这两个目的IP地址为例进行说明,在实际应用中也可以有多于两个的目的IP地址共用第一IGP下一跳与第二IGP下一跳,仍然适用图2所示的实施例提供的方法。上一段所述的实施例中,控制装置在第一IGP下一跳不可用时执行计算第二IGP下一跳的步骤。但控制装置也可以预先计算好第一IGP下一跳的备份下一跳,在第一IGP下一跳不可用时直接将备份下一跳确定为第二IGP下一跳,其基本流程请参阅图3,包括:301、控制装置计算得到:到达第一目的IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳;步骤301与步骤201基本相同,此处不做赘述。302、控制装置根据第一目的IP地址与第二目的IP地址,计算得到第一IGP下一跳的备份下一跳;控制装置根据第一目的IP地址与第二目的IP地址,计算得到第一目的IP地址与第二目的IP地址可以共用的另一个下一跳,用于作为第一IGP下一跳的备份下一跳。可以理解的,该备份下一跳也为该网络设备的IGP邻居,该备份下一跳用于当第一IGP下一跳不可用时替换第一IGP下一跳。本步骤中,控制装置不向转发装置下发该备份下一跳。控制装置计算得到备份下一跳后,将备份下一跳保存在控制装置上。303、控制装置生成IGP索引,将IGP索引分别与第一目的IP地址和第二目的IP地址相关联,并将IGP索引与第一IGP下一跳相关联;304、控制装置将第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引下发到所述网络设备的转发装置;步骤303、304与步骤202、203基本相同,此处不做赘述。305、当第一IGP下一跳不可用时,控制装置确定备份下一跳为第二IGP下一跳,并将第二IGP下一跳与IGP索引相关联;当第一IGP下一跳不可用时,控制装置确定步骤302中确定的备份下一跳为第二IGP下一跳,并将第二IGP下一跳与IGP索引相关联。306、控制装置将第二IGP下一跳和IGP索引下发到所述转发装置。步骤306与步骤205基本相同,此处不做赘述。可以理解的,步骤302也可以放在步骤303或304之后,只要置于步骤305之前即可。本实施例在图2所示实施例的基础上提供了一种更为优化的路由收敛方法,其中,网络设备的控制装置预先计算好第一IGP下一跳的备份下一跳,并在第一IGP下一跳不可用时,直接将备份下一跳确定为第二IGP下一跳下发到转发装置。这样当第一IGP下一跳不可用时,控制装置无需重新计算第二IGP下一跳,进一步的减少了网络的收敛时间,提高了网络的收敛性能。上述实施例中,IGP索引与第一目的IP地址和第二目的IP地址之间可以为直接关联的关系。特别的,本发明实施例提供的方法也可以与BGP下一跳分离进行级联,也就是间接关联。在级联的场景中,所述网络设备的控制装置首先需要计算到达第一目的IP地址的第一BGP下一跳与到达第二目的IP地址的第二BGP下一跳,然后计算到达第一BGP下一跳和到达第二BGP下一跳的下一跳均为第一IGP下一跳,其中,第一BGP下一跳和第二BGP下一跳均为所述网络设备的BGP邻居。在计算得到第一BGP下一跳与第二BGP下一跳后,控制装置生成第一BGP索引与第二BGP索引,其中第一BGP索引用于指示第一BGP下一跳,第二BGP索引用于指示第二BGP下一跳。然后控制装置将所IGP索引与第一BGP索引相关联,并将第一BGP索引与第一目的IP地址相关联;控制装置还将IGP索引与第二BGP索引相关联,并将第二BGP索引与第二目的IP地址相关联。此时,IGP索引与第一目的IP地址和第二目的IP地址之间通过第一BGP索引与第二BGP索引形成间接关联。控制装置在向转发装置下发第一目的IP地址、第二目的IP地址、第一IGP下一跳以及所述IGP索引的同时,也需要下发第一BGP索引与第二BGP索引。其中,BGP索引的形式由很多,例如数字、字符、字段、标记位等,也 可以为其他形式,此处不做限定。上述实施例均为在网络设备的控制装置的角度解释本发明提供的网络路由收敛方法,下面的实施例将在转发装置的角度解释本发明提供的网络路由收敛方法。其基本流程请参阅图4,包括:401、网络设备的转发装置接收所述网络设备的控制装置下发的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引;网络设备的转发装置接收该网络设备的控制装置下发的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引,其中,第一IGP下一跳为到达第一目的IP地址与第二目的IP地址的共同的下一跳,其中,第一IGP下一跳为所述网络设备的IGP邻居,IGP索引分别与第一目的IP地址和第二目的IP地址相关联,这样转发装置可以根据第一目的IP地址或第二目的IP地址确定对应的IGP索引,也可以根据IGP索引确定对应的第一与第二目的IP地址。且IGP索引也与第一IGP下一跳相关联,这样转发装置可以根据IGP索引确定对应的第一IGP下一跳,也可以根据第一IGP下一跳确定对应的IGP索引。402、转发装置保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳;转发装置将步骤401中接收到的第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳保存到转发表的对应位置。具体的保存方法将在后面的实施例中详述,此处不做赘述。403、当第一IGP下一跳不可用时,转发装置接收控制装置下发的IGP索引和第二IGP下一跳;当第一IGP下一跳不可用时,控制装置会确定用于替换第一IGP下一跳的第二IGP下一跳,并与IGP索引一同下发。转发装置接收控制装置下发的IGP索引和第二IGP下一跳。其中,第二IGP下一跳与IGP索引相关联,转发装置能够获知第二IGP下一跳与IGP索引的关联关系。404、转发装置将IGP索引关联的第一IGP下一跳替换为第二IGP下一跳。转发装置接收到IGP索引与第二IGP下一跳后,根据IGP索引,在转发装置中查找到IGP索引关联的第一IGP下一跳,然后将第一IGP下一跳替换 为第二IGP下一跳,实现转发表的更新。上面的论述中已经提到:现阶段的技术中,当第一IGP下一跳不可用时,网络设备需要将每个目的IP地址与对应的新的下一跳下发到转发表中。这样转发装置需要更新每个目的IP地址与对应的新的下一跳。而本实施例中,转发装置从控制装置处接收到的仅是用于替换第一IGP下一跳的第二IGP下一跳与IGP索引。这样当多个目的IP地址共用相同的IGP索引与第一IGP下一跳时,转发装置只需要接收并更新一条IGP索引与第二IGP下一跳即可,无需更新多个目的IP地址。因此,在多个目的IP地址共用相同的下一跳的场景下,本实施例提供的方法可以减少IGP网络收敛时目的IP地址的下发次数,缩短IGP网络的收敛时间,提高IGP网络的收敛性能。图4所示的实施例给出了转发装置的路由收敛方法的基本流程。其中在步骤402中,转发装置保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳。可选的,作为本发明的又一个实施例,转发装置可以将接收到的信息保存在两张转发表中。具体的,转发装置可以将第一目的IP地址、第二目的IP地址与IGP索引保存在第一转发表中,将IGP索引与第一IGP下一跳保存到第二转发表中。这样,当第一IGP下一跳不可用时,转发装置从控制装置处接收IGP索引与第二IGP下一跳,只需要更新第二转发表中的一条IGP索引与第二IGP下一跳表项即可,具体请参阅下表:表3(a)为转发装置中的第一转发表中的部分表项,表3(b)为转发装置中的第二转发表中的部分表项。表3(a)中记录了第一目的IP地址与第二目的IP地址关联的IGP索引均为IGPIndexA。表3(b)中记录了IGPIndexA关联的下一跳为第一IGP下一跳。当第一IGP下一跳不可用时,转发装置接收IGPIndexA与第二IGP下一跳,并将表3(b)更新为表3(c)。从表3(b)与表3(c)可以看出,转发装置只需要更新第二转发表,且只需要更新IGPIndexA与其关联下一跳这一条表项。目的IP地址关联IGP索引第一目的IP地址IGPIndexA第二目的IP地址IGPIndexA表3(a)IGP索引关联下一跳IGPIndexA第一IGP下一跳表3(b)IGP索引关联下一跳IGPIndexA第二IGP下一跳表3(c)图4所示的实施例在转发装置的角度给出了本发明提供的路由收敛方法的基本流程。其中,转发装置从控制装置处接收第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳,并将这些信息保存在转发表中。由于本发明实施例提供的路由收敛方法中涉及到的转发表与现有技术中不同,因此下面将用另一个实施例来具体解释本发明实施例中转发装置如何根据转发表转发数据报文。其基本流程请参阅图5,包括:501、网络设备的转发装置接收所述网络设备的控制装置下发的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引;502、转发装置保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳;503、当第一IGP下一跳不可用时,转发装置接收控制装置下发的IGP索引和第二IGP下一跳;504、转发装置将IGP索引关联的第一IGP下一跳替换为第二IGP下一跳。步骤501至504与步骤401至404基本相同,此处不做赘述。505、转发装置接收数据报文,并从数据报文中获取数据报文的第一目的IP地址;转发装置从其他网络设备处接收数据报文,并从数据报文中获取数据报文的目的IP地址。本实施例中,数据报文的目的IP地址与步骤501中的第一目的IP地址相同。506、转发装置根据第一目的IP地址,查找到第一目的IP地址对应的IGP索引;转发装置获取了数据报文的第一目的IP地址后,在转发表中查找该第一目的IP地址对应的IGP索引。特别的,若转发装置中保存了两张转发表,其中第一转发表中保存了目的IP地址与IGP索引的关联关系,第二转发表保存了IGP索引与下一跳的关联关系,则转发装置在第一转发表中查找第一目的IP地址对应的IGP索引。507、转发装置根据IGP索引,查找到IGP索引对应的第二IGP下一跳;转发装置查找到第一目的IP地址对应的IGP索引后,在转发表中查找到IGP索引对应的第二IGP下一跳。特别的,若转发装置中保存了两张转发表,其中第一转发表中保存了目的IP地址与IGP索引的关联关系,第二转发表保存了IGP索引与IGP下一跳的关联关系,则转发装置查找到第一目的IP地址对应的IGP索引后,在第二转发表中查找到IGP索引对应的第二IGP下一跳。508、转发装置将数据报文转发给第二IGP下一跳。转发装置确定了第二IGP下一跳后,将数据报文转发给第二IGP下一跳对应的网络设备。。本实施例在图4所示的实施例的基础上提供了一种更为详尽的路由收敛方法,详细描述了本发明实施例中转发装置将接收到的信息保存到转发表中后,如何根据转发表来转发数据报文。具体的,转发装置根据从数据报文中获取的第一目的IP地址,查找IGP索引,然后根据IGP索引查找第一目的IP地址对应的下一跳网络设备,进而实现对数据报文的正常转发。特别的,本发明实施例提供的方法虽然适用于也可以适用于与BGP下一跳分离进行级联。在级联的场景中,网络设备的转发装置在接收所述网络设备的控制装置发送的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及所述IGP索引的同时,也接收第一BGP索引与第二BGP索引,其中IGP索引与第一BGP索引相关联,且第一BGP索引与第一目的IP地址相关联,同时IGP索引与第二BGP索引相关联,且第二BGP索引与第二的IP地址相关联。此时,IGP索引与第一目的IP地址和第二目的IP地址之间通过第一BGP索引与第二BGP索引形成间接关联。转发装置保存第一BGP索引与第二BGP索引。其中,转发装置可以将接收到的信息保存在三张转发表中。具体的,转 发装置可以将第一目的IP地址、第一BGP索引、第二目的IP地址与第二BGP索引保存到第三转发表中;将第一BGP索引、第二BGP索引与IGP索引保存到第四转发表中;将IGP索引与第一IGP下一跳保存到第五转发表中。这样,当第一IGP下一跳不可用时,转发装置从控制装置处接收IGP索引与第二IGP下一跳,只需要更新第五转发表中的一条IGP索引与第二IGP下一跳表项即可,具体请参阅下表:表4(a)为转发装置中的第三转发表中的部分表项,表4(b)为转发装置中的第四转发表中的部分表项,表4(c)为转发装置中的第五转发表中的部分表项。表4(a)中记录了第一目的IP地址关联的BGP索引为第一BGP索引,第二目的IP地址关联的BGP索引为第二BGP索引;表4(b)中记录了第一BGP索引与第二BGP索引关联的IGP索引均为IGPIndexA。表4(c)中记录了IGPIndexA关联的下一跳为第一IGP下一跳。当第一IGP下一跳不可用时,转发装置接收IGPIndexA与第二IGP下一跳,并将表4(c)更新为表4(d)。从表4(c)与表4(d)可以看出,转发装置只需要更新第五转发表,且只需要更新IGPIndexA与其关联下一跳这一条表项。在级联的场景中,转发装置通过如下方法转发数据报文:转发装置接收数据报文,并从数据报文中获取数据报文的第一目的IP地址;根据第一目的IP地址,查找到第一目的IP地址对应的第一BGP索引;根据第一BGP索引,查找到第一BGP索引对应的IGP索引;根据IGP索引,查找到IGP索引对应的所述第二IGP下一跳;将数据报文转发给第二IGP下一跳对应的下一跳网络设备。其中,若转发装置中保存了表4(a)至表4(c)所示的第三转发表、第四转发表与第五转发表,则转发装置可以先在第三转发表中查找第一目的IP地址对应的第一BGP索引;然后在第四转发表中查找第一BGP索引对应的IGP索引;最后在第五转发表中查找IGP索引对应的下一跳。目的IP地址关联BGP索引第一目的IP地址第一BGP索引第二目的IP地址第二BGP索引表4(a)BGP索引关联IGP索引第一BGP索引IGPIndexA第二BGP索引IGPIndexA表4(b)IGP索引关联下一跳IGPIndexA第一IGP下一跳表4(c)IGP索引关联下一跳IGPIndexA第二IGP下一跳表4(d)上面的实施例从控制装置与转发装置两个角度解释了本发明实施例提供的路由收敛方法,可以理解的是,本发明方法可以应用在多种场景中,除了应用在一个网络设备内部的控制板卡计算路由,并向转发板卡下发路由表项,还可以应用在基于控制转发分离的SDN网络中,控制器计算路由,并通过控制器和转发器之间的控制通道向转发器下发路由表项,此处不作限定。下面将以具体的应用场景为例进行描述。应用场景一:请仍参阅图1,在网络域中,R1的控制装置计算得到:到达第一目的IP地址与第二目的IP地址的相同的下一跳,即R2;R1的控制装置计算到达第一目的IP地址与第二目的IP地址的另一个相同下一跳,计算得到R3。R1的控制装置将R3作为R2的备份下一跳。R1的控制装置生成IGP索引IGPIndexA,将IGPIndexA分别与第一目的IP地址前缀和第二目的IP地址前缀相关联,并将IGPIndexA与R2的IP 地址相关联;R1的控制装置将第一目的IP地址前缀、第二目的IP地址前缀、R2的IP地址以及IGPIndexA下发到R1的转发装置;R1的转发装置接收第一目的IP地址前缀、第二目的IP地址前缀、R2的IP地址以及IGPIndexA,并将第一目的IP地址前缀、第二目的IP地址前缀以及IGPIndexA保存在第一转发表中,将R2的IP地址以及IGPIndexA保存在第二转发表中;当R2发生故障时,R2的IP地址不再可用。于是R1的控制装置将备份下一跳R3的IP地址与IGPIndexA相关联;控制装置将R3的IP地址和IGPIndexA下发到R1的转发装置;R1的转发装置接收R3的IP地址和IGPIndexA,并将第二转发表中,IGPIndexA关联的IP地址由R2的IP地址更新为R3的IP地址;R1的转发装置接收到一封数据报文,并从数据报文中提取该数据报文的目的IP地址。该数据报文的目的IP地址恰好为第一目的IP地址;R1的转发装置在第一转发表中查找到第一目的IP地址前缀关联的IGP索引为IGPIndexA,在第二转发表中查找到IGPIndexA关联的R3的IP地址;R1的转发装置将数据报文转发给R3。应用场景一给出了本发明提供的路由收敛方法的基本应用场景。特别地,本发明实施例提供的方法也可以与BGP下一跳分离进行级联,路由收敛方法具体请参阅应用场景二:请仍参阅图1,R1确定第一目的IP地址的BGP下一跳为R4,下一跳为R2,并确定第二目的IP地址的BGP下一跳为R5,下一跳也为R2,R2的备份下一跳为R3。其中,R1生成IGP索引IGPIndexA,IGPIndexA与下一跳R2关联。同时R1还可以生成第一BGP索引BGPIndexB和第二BGP索引BGPIndexC,BGPIndexB用于指示R4,并与第一目的IP地址和IGPIndexA关联。BGPIndexC用于指示R5,并与第二目的IP地址和IGPIndexA关联这样就实现了与BGP下一跳分离的级联。可以理解的,R1的控制装置下发到转发装置的信息中应至少包括:第一目的IP地址前缀与第二目的IP地 址前缀、第一BGP索引BGPIndexB、第二BGP索引BGPIndexC、IGP索引IGPIndexA、IGP索引对应的下一跳R2的IP地址。R1的转发装置接收这些信息后,将这些信息保存在转发表中。特别地,R1可以用三张表来保存这些信息:第三转发表用于维护目的IP地址与BGP索引的关联关系,R1将第一目的IP地址前缀、第二目的IP地址前缀与BGPIndexB、BGPIndexC保存在第三转发表中,如表5(a)所示;第四转发表用于维护BGP索引与IGP索引的关联关系,R1将BGPIndexB、BGPIndexC、IGPIndexA保存在第四转发表中,如表5(b)所示;第五转发表用于维护IGP索引与下一跳的关联关系,R1将IGPIndexA、R2的IP地址保存在第四转发表中,如表5(c)所示。目的IP地址关联BGP索引第一目的IP地址BGPIndexB第二目的IP地址BGPIndexC表5(a)BGP索引关联IGP索引BGPIndexBIGPIndexABGPIndexBIGPIndexA表5(b)IGP索引关联下一跳IGPIndexAR2表5(c)与应用场景一类似的,当R2发生故障时,R2的IP地址不再可用。于是R1的控制装置将备份下一跳R3的IP地址与IGPIndexA相关联;控制装置将R3的IP地址和IGPIndexA下发到R1的转发装置;R1的转发装置接收R3的IP地址和IGPIndexA,并将第五转发表中,IGPIndexA关联的IP地址由R2的IP地址更新为R3的IP地址。本发明实施例还提供了相关的控制装置,适用于网络设备中,用于实现 上述实施例中控制装置的功能,请参阅图6,其基本结构包括:计算模块601,用于计算得到:到达第一目的IP地址和到达第二目的IP地址的下一跳均为第一IGP下一跳,其中,第一IGP下一跳为所述网络设备的IGP邻居;索引模块602,用于生成IGP索引,将该IGP索引分别与第一目的IP地址和第二目的IP地址相关联,并将IGP索引与第一IGP下一跳相关联;发送模块603,用于将第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引下发到所述网络设备的转发装置;切换模块604,用于当第一IGP下一跳不可用时,确定第二IGP下一跳,并将第二IGP下一跳与IGP索引相关联,该第二IGP下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;发送模块还用于603:将第二IGP下一跳和IGP索引下发到所述网络设备的转发装置。本实施例提供的控制装置中,计算模块601计算得到:到达第一目的IP地址与第二目的IP地址的下一跳均为第一IGP下一跳;索引模块602生成IGP索引,将该IGP索引分别与第一目的IP地址和第二目的IP地址相关联,并将IGP索引与第一IGP下一跳相关联;发送模块603将第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引下发到所述网络设备的转发装置;切换模块604当第一IGP下一跳不可用时,确定第二IGP下一跳,并将第二IGP下一跳与IGP索引相关联,该第二IGP下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;发送模块603将第二IGP下一跳和IGP索引下发到所述网络设备的转发装置。由于本实施例中,当第一IGP下一跳故障时,控制装置只下发用于替换第一IGP下一跳的第二IGP下一跳与IGP索引。这样当多个目的IP地址共用相同的IGP索引与第一IGP下一跳时,控制装置只需要下发一条IGP索引与第二IGP下一跳即可,多个目的IP地址无需下发。因此,在多个目的IP地址共用相同的下一跳的场景下,本实施例提供的控制装置可以减少IGP网络收敛时目的IP地址的下发次数,缩短IGP网络的收敛时间,提高IGP网络的收敛性能。可选的,作为本发明的又一个实施例,切换模块604确定第二IGP下一 跳的方法可以为:当所述第一IGP下一跳不可用时,触发计算模块601重新计算得到:到达第一目的IP地址与第二目的IP地址的下一跳均为第二IGP下一跳,其中,第二IGP下一跳为所述网络设备的IGP邻居。可选的,作为本发明的又一个实施例,计算模块601还用于:在第一IGP下一跳发生故障之前,根据所述第一目的IP地址与所述第二目的IP地址,计算得到第一IGP下一跳的备份下一跳,其中,备份下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳。切换模块604确定第二IGP下一跳的方法可以为:确定计算模块601计算得到的备份下一跳为所述第二IGP下一跳。由于控制装置预先计算好第一IGP下一跳的备份下一跳,并在第一IGP下一跳不可用时,直接将备份下一跳确定为第二IGP下一跳下发到转发装置。这样当第一IGP下一跳不可用时,控制装置无需重新计算第二IGP下一跳,进一步的减少了网络的收敛时间,提高了网络的收敛性能。特别的,本发明实施例提供的控制装置也可以与BGP下一跳分离进行级联。在级联的场景中,计算模块需要计算:到达第一目的IP地址的第一BGP下一跳,和到达第二目的IP地址的第二BGP下一跳,其中,第一BGP下一跳和第二BGP下一跳均为所述网络设备的BGP邻居;计算模块还需要计算到达第一BGP下一跳和到达第二BGP下一跳的下一跳均为第一IGP下一跳;第一目的IP地址与第二目的IP地址对应的下一跳,还需要计算第一目的IP地址对应的第一BGP下一跳与第二目的IP地址对应的第二BGP下一跳,其中,BGP下一跳用于表示所述网络设备在网络域边界的下一跳。在计算得到BGP下一跳后,索引模块生成第一BGP索引与第二BGP索引,其中第一BGP索引用于指示第一BGP下一跳,第二BGP索引用于指示第二BGP下一跳,然后索引模块将IGP索引与第一BGP索引相关联,并将第一BGP索引与第一目的IP地址相关联,并将IGP索引与第二BGP索引相关联,并将第二BGP索引与第二目的IP地址相关联,此时,IGP索引与第一目的IP地址和第二目的IP地址之间通过第一BGP索引与第二BGP索引形成间接关联。发送模块在向转发装置下发第一目的IP地址、第二目的IP地址、第一IGP下一跳以及所述IGP索引的同时,也需要下发第一BGP索引与第二BGP索引。本发明实施例还提供了相关的转发装置,适用于网络设备中,用于实现 上述实施例中转发装置的功能,请参阅图7,其基本结构包括:接收模块701,用于接收所述网络设备的控制装置下发的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引,其中,该第一IGP下一跳为到达第一目的IP地址与第二目的IP地址的共同的下一跳,且第一IGP下一跳为该网络设备的IGP邻居,IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,且IGP索引与所述第一IGP下一跳相关联;保存模块702,用于保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳;接收模块701还用于:当第一IGP下一跳不可用时,接收控制装置下发的IGP索引和第二IGP下一跳,其中,该第二IGP下一跳与IGP索引相关联;更新模块703,用于将IGP索引关联的第一IGP下一跳替换为第二IGP下一跳。本实施例提供的转发装置中,接收模块701接收网络设备的控制装置下发的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引;保存模块702保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳;当第一IGP下一跳不可用时,接收模块701接收控制装置下发的IGP索引和第二IGP下一跳,其中,该第二IGP下一跳与IGP索引相关联;更新模块703将IGP索引关联的第一IGP下一跳替换为第二IGP下一跳。由于本实施例中,转发装置从控制装置处接收到的仅是用于替换第一IGP下一跳的第二IGP下一跳与IGP索引,这样当多个目的IP地址共用相同的IGP索引与第一IGP下一跳时,转发装置只需要接收并更新一条IGP索引与第二IGP下一跳即可,无需更新多个目的IP地址。因此,在多个目的IP地址共用相同的下一跳的场景下,本实施例提供的方法可以减少IGP网络收敛时目的IP地址的下发次数,缩短IGP网络的收敛时间,提高IGP网络的收敛性能。图7所示的实施例给出了转发装置的基本结构,下面将对其中的保存模块702做进一步的细化,请参阅图8,本发明实施例提供的又一种转发装置的结构包括。接收模块801,用于接收网络设备的控制装置下发的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引,其中,该第一IGP下一跳 为到达第一目的IP地址与第二目的IP地址的共同的下一跳,且第一IGP下一跳为该网络设备的IGP邻居,IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,且IGP索引与所述第一IGP下一跳相关联;保存模块802,用于保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳。本实施例中,保存模块802具体包括:第一保存单元8021,用于将第一目的IP地址、第二目的IP地址与IGP索引保存到第一转发表中;第二保存单元8022,用于将IGP索引与第一IGP下一跳保存到第二转发表中;接收模块801还用于:当第一IGP下一跳不可用时,接收控制装置下发的IGP索引和第二IGP下一跳,其中,该第二IGP下一跳与IGP索引相关联;更新模块803,用于将第二转发表中,IGP索引关联的第一IGP下一跳替换为第二IGP下一跳。本实施例中,保存模块802中的第一保存单元8021将第一目的IP地址、第二目的IP地址与IGP索引保存到第一转发表中;第二保存单元8022将IGP索引与第一IGP下一跳保存到第二转发表中。这样,当第一IGP下一跳不可用时,转发装置从控制装置处接收IGP索引与第二IGP下一跳,只需要更新第二转发表中的一条IGP索引与第二IGP下一跳表项即可,无需更新第一转发表中的多个目的IP地址,能够缩短IGP网络的收敛时间,提高IGP网络的收敛性能。图7与图8所示的实施例详细解释了本发明提供的转发装置的基本结构。其中,本发明实施例提供的转发装置中涉及到的转发表与现有技术中不同,因此下面将用另一个实施例来具体解释本发明实施例中转发装置如何根据转发表转发数据报文。请参阅图9,本发明实施例提供的又一种转发装置的基本结构包括:接收模块901,用于接收所述网络设备的控制装置下发的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及IGP索引,其中,该第一IGP下一跳为到达第一目的IP地址与第二目的IP地址的共同的下一跳,且第一IGP下一跳为该网络设备的IGP邻居,IGP索引分别与所述第一目的IP地址和所 述第二目的IP地址相关联,且IGP索引与所述第一IGP下一跳相关联;保存模块902,用于保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳。本实施例中,保存模块902具体包括:第一保存单元9021,用于将第一目的IP地址、第二目的IP地址与IGP索引保存到第一转发表中;第二保存单元9022,用于将IGP索引与第一IGP下一跳保存到第二转发表中;接收模块901还用于:当第一IGP下一跳不可用时,接收控制装置下发的IGP索引和第二IGP下一跳,其中,该第二IGP下一跳与IGP索引相关联;更新模块903,用于将第二转发表中,IGP索引关联的第一IGP下一跳替换为第二IGP下一跳。报文接收模块904,用于接收数据报文,并从数据报文中获取数据报文的第一目的IP地址;查找模块905,用于根据第一目的IP地址,查找到第一目的IP地址对应的IGP索引,根据IGP索引,查找到IGP索引对应的所述第二IGP下一跳;报文转发模块906,用于将所述数据报文转发给所述第二IGP下一跳对应的网络设备。本实施例在图8所示的实施例的基础上提供了一种更为详尽的转发装置,并详细的解释了改转发装置如何根据转发表转发数据报文。具体的,查找模块905根据报文接收模块904从数据报文中获取的第一目的IP地址,查找IGP索引,然后根据IGP索引查找第一目的IP地址对应的下一跳网络设备,进而实现对数据报文的正常转发。特别的,本发明实施例提供的转发装置也可以与BGP下一跳分离进行级联。在级联的场景中,接收模块在接收控制装置发送的第一目的IP地址、第二目的IP地址、第一IGP下一跳以及所述IGP索引的同时,也接收第一BGP索引与第二BGP索引,其中IGP索引与第一BGP索引相关联,且第一BGP索引与第一目的IP地址相关联,且IGP索引与第二BGP索引相关联,且第二BGP索引与第二目的IP地址相关联。此时,IGP索引与第一目的IP地址和第二目的IP地址之间通过第一BGP索引与第二BGP索引形成间接关联。 保存模块保存第一BGP索引与第二BGP索引。作为本发明的又一个实施例,在级联的场景中,保存模块可以通过如下方法保存第一目的IP地址、第二目的IP地址、IGP索引、第一IGP下一跳、第一BGP索引与第二BGP索引:将第一目的IP地址、第一BGP索引、第二目的IP地址与第二BGP索引保存到第三转发表中;将第一BGP索引、第二BGP索引与IGP索引保存到第四转发表中;将IGP索引与第一IGP下一跳保存到第五转发表中;更新模块具体用于:将所述第五转发表中,所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。作为本发明的又一个实施例,在级联的场景中,转发装置的报文接收模块用于:接收数据报文,并从所述数据报文中获取所述数据报文的第一目的IP地址;查找模块具体用于:根据第一目的IP地址,查找到第一目的IP地址对应的第一BGP索引;根据第一BGP索引,查找到第一BGP索引对应的IGP索引;根据IGP索引,查找到IGP索引对应的第二IGP下一跳;报文转发模块具体用于:将所述数据报文转发给第二IGP下一跳。当图8或图9所示的实施例被用于应用场景一中时,其基本流程如下:请仍参阅图1,在网络域中,R1的控制装置的计算模块计算得到:到达第一目的IP地址与第二目的IP地址的相同的下一跳,即R2;R1的控制装置的计算模块计算到达第一目的IP地址与第二目的IP地址的另一个相同的下一跳,计算得到R3。R1的控制装置将R3作为R2的备份下一跳。R1的控制装置的索引模块生成IGP索引IGPIndexA,将IGPIndexA分别与第一目的IP地址前缀和第二目的IP地址前缀相关联,并将IGPIndexA与R2的IP地址相关联;R1的控制装置的发送模块将第一目的IP地址前缀、第二目的IP地址前缀、R2的IP地址以及IGPIndexA下发到R1的转发装置;R1的转发装置的接收模块接收第一目的IP地址前缀、第二目的IP地址前缀、R2的IP地址以及IGPIndexA,且第一保存单元将第一目的IP地址前缀、第二目的IP地址前缀以及IGPIndexA保存在第一转发表中,第二保存单元将R2的IP地址以及IGPIndexA保存在第二转发表中;当R2发生故障时,R2的IP地址不再可用。于是R1的控制装置的切换模块将备份下一跳R3的IP地址与IGPIndexA相关联;R1的控制装置的发送模块将R3的IP地址和IGPIndexA下发到R1的转发装置;R1的转发装置的接收模块接收R3的IP地址和IGPIndexA,且更新模块将第二转发表中,IGPIndexA关联的IP地址由R2的IP地址更新为R3的IP地址;R1的转发装置的报文接收模块接收到一封数据报文,并从数据报文中提取该数据报文的目的IP地址。该数据报文的目的IP地址恰好为第一目的IP地址;R1的转发装置的第一查找模块在第一转发表中查找到第一目的IP地址前缀关联的IGP索引为IGPIndexA,第二查找模块在第二转发表中查找到IGPIndexA关联的R3的IP地址;R1的转发装置的报文转发模块将数据报文转发给R3。上面从单元化功能实体的角度对本发明实施例中的控制装置进行了描述,下面从硬件处理的角度对本发明实施例中的控制装置进行描述,请参阅图10,本发明实施例中的控制装置1000另一实施例包括:输入装置1001、输出装置1002、处理器1003和存储器1004(其中控制装置1000中的处理器1003的数量可以一个或多个,图10中以一个处理器1003为例)。在本发明的一些实施例中,输入装置1001、输出装置1002、处理器1003和存储器1004可通过总线或其它方式连接,其中,图10中以通过总线连接为例。其中,通过调用存储器1004存储的操作指令,处理器1003用于执行如下步骤:计算得到:到达第一目的IP地址和到达第二目的IP地址的下一跳均为第 一IGP下一跳,其中,所述下一跳指示在网络域内与所述网络设备直接相连的下一跳;所述控制装置生成IGP索引,将所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,并将所述IGP索引与所述第一IGP下一跳相关联;所述控制装置将所述第一目的IP地址、所述第二目的IP地址、所述第一IGP下一跳以及所述IGP索引下发到所述网络设备的转发装置;当所述第一IGP下一跳不可用时,所述控制装置确定第二IGP下一跳,并将所述第二IGP下一跳与所述IGP索引相关联,所述第二IGP下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;所述控制装置将所述第二IGP下一跳和所述IGP索引下发到所述转发装置。本发明的一些实施例中,处理器1003还执行如下步骤:重新计算得到:到达所述第一目的IP地址与所述第二目的IP地址的下一跳均为第二IGP下一跳,其中,所述第二IGP下一跳用于表示所述网络设备在网络域内的IGP下一跳。本发明的一些实施例中,处理器1003还执行如下步骤:根据所述第一目的IP地址与所述第二目的IP地址,计算得到所述第一IGP下一跳的备份下一跳,其中,所述备份下一跳用于在所述第一IGP下一跳不可用时,替换所述第一IGP下一跳;确定所述备份下一跳为所述第二IGP下一跳。本发明的一些实施例中,处理器1003还执行如下步骤:计算得到:到达所述第一目的互联网协议IP地址的第一边界网关协议BGP下一跳,和到达所述第二目的IP地址的第二BGP下一跳,其中,所述第一BGP下一跳和所述第二BGP下一跳均为所述网络设备的BGP邻居;计算得到:到达所述第一BGP下一跳和到达所述第二BGP下一跳的下一跳均为所述第一IGP下一跳;生成第一BGP索引和第二BGP索引,所述第一BGP索引用于指示所述第一BGP下一跳,所述第二BGP索引用于指示所述第二BGP下一跳;将所述IGP索引与所述第一BGP索引相关联,并将所述第一BGP索引与所述第一目的IP地址相关联;将所述IGP索引与所述第二BGP索引相关联,并将所述第二BGP索引与所述第二目的IP地址相关联;将所述第一BGP索引和所述第二BGP索引下发到所述转发装置。下面再从硬件处理的角度对本发明实施例中的转发装置进行描述,请参阅图10,本发明实施例中的转发装置1000另一实施例包括:输入装置1001、输出装置1002、处理器1003和存储器1004(其中转发装置1000中的处理器1003的数量可以一个或多个,图10中以一个处理器1003为例)。在本发明的一些实施例中,输入装置1001、输出装置1002、处理器1003和存储器1004可通过总线或其它方式连接,其中,图10中以通过总线连接为例。其中,通过调用存储器1004存储的操作指令,处理器1003用于执行如下步骤:接收控制装置下发的第一目的互联网协议IP地址、第二目的IP地址、第一内部网关协议IGP下一跳以及IGP索引,其中,所述第一IGP下一跳为:到达所述第一目的IP地址和到达所述第二目的IP地址的共同的下一跳,所述下一跳指示在网络域内与所述网络设备直接相连的下一跳,所述IGP索引分别与所述第一目的IP地址和所述第二目的IP地址相关联,且所述IGP索引与所述第一IGP下一跳相关联;保存第一目的IP地址、第二目的IP地址、IGP索引与第一IGP下一跳;当第一IGP下一跳不可用时,接收所述控制装置下发的IGP索引和第二IGP下一跳,其中,第二IGP下一跳与IGP索引相关联;将IGP索引关联的第一IGP下一跳替换为第二IGP下一跳。本发明的一些实施例中,处理器1003还执行如下步骤:将第一目的IP地址、第二目的IP地址与IGP索引保存到第一转发表中;将IGP索引与第一IGP下一跳保存到第二转发表中;将所述第二转发表中,IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。本发明的一些实施例中,处理器1003还执行如下步骤:接收数据报文,并从数据报文中获取数据报文的第一目的IP地址;根据所述第一目的IP地址,查找到所述第一目的IP地址对应的所述IGP索引;根据所述IGP索引,查找到所述IGP索引对应的所述第二IGP下一跳;将所述数据报文转发给所述第二IGP下一跳。本发明的一些实施例中,处理器1003还执行如下步骤:接收所述网络设备的控制装置下发的第一BGP索引与第二BGP索引;所述IGP索引与所述第一BGP索引相关联,且所述第一BGP索引与所述第一目的IP地址相关联;所述IGP索引与所述第二BGP索引相关联,且所述第二BGP索引与所述第二目的IP地址相关联;保存所述第一BGP索引与第二BGP索引。本发明的一些实施例中,处理器1003还执行如下步骤:将所述第一目的IP地址、所述第一BGP索引、所述第二目的IP地址与所述第二BGP索引保存到第三转发表中;将所述第一BGP索引、所述第二BGP索引与所述IGP索引保存到第四转发表中;将所述IGP索引与所述第一IGP下一跳保存到第五转发表中;将所述第五转发表中,所述IGP索引关联的第一IGP下一跳替换为所述第二IGP下一跳。本发明的一些实施例中,处理器1003还执行如下步骤:接收数据报文,并从所述数据报文中获取所述数据报文的第一目的IP地址;根据所述第一目的IP地址,查找到所述第一目的IP地址对应的所述第一BGP索引;根据所述第一BGP索引,查找到所述第一BGP索引对应的所述IGP索引;根据所述IGP索引,查找到所述IGP索引对应的所述第二IGP下一跳;将所述数据报文转发给所述第二IGP下一跳。本发明实施例还提供了一种网络设备,包括图6或图10所示的控制装置, 和/或图7至10中任一幅图所示的转发装置。本发明实施例还提供了一种网络系统,包括图6或图10所示的控制装置,和/或图7至10中任一幅图所示的转发装置。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘 等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1