数据转发方法及装置制造方法

文档序号:7790348阅读:149来源:国知局
数据转发方法及装置制造方法
【专利摘要】本发明涉及一种数据转发方法及装置。包括:资源节点生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于1的正整数;所述资源节点接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack?N,所述Ack?N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为1至M-1中的所有正整数;响应于所述Ack?N,所述资源节点向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。可以解决不同物理节点表项数据下发的时序问题,从而保证不会丢包,并且不需要部署额外网络协议,不会增加成本。
【专利说明】数据转发方法及装置
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种数据转发方法及装置。
【背景技术】
[0002]在由路由器连接的网络中,通常都有主路径和备份路径,图1为现有的路由器主路径和备份路径不意图。如图1所不,主路径为A->B->C->D,备份路径为A->E->F->D。当主路径出现故障后会切换到备份路径,以此来确保流量不中断;当主路径恢复后再回切到主路径,确保流量恢复到故障前的部署路径上,即进行网络回切。由于整个网络由多台设备组成,每台设备上的转发平面数据是由控制平面的信令协议生成数据之后通过物理通道下发到转发平面的,因此很可能在上述的主路径恢复场景中,主路径的多台设备上已经全部完成控制平面的信令收敛,首节点的设备已经准备好数据并通过物理通道完成了转发平面的数据下发,认为故障已经恢复,并回切流量,但是此时中间节点的设备很可能由于通信量较大、性能差等原因还未完成通过物理通道到转发平面的数据下发,因此整条主路径上的转发平面其实还未完整,这样会导致回切过程中在中间节点丢包。也就是说,回切过程中由于控制和转发平面分离,会导致上下游设备的数据存在时序问题导致转发平面不完整,流量丢包。
[0003]目前对于这种问题,大部分协议采用了配置延迟回切的策略,但并不是所有的协议都支持延迟回切策略,并且延迟时间只能根据经验值设置,难以精确。另一种解决办法为:通过部署双向转发检测(Bidirectional Forwarding Detection, BFD)等路径检测协议,但这种方法需要在每个路由器上部署BFD协议,因此成本高,开销大。

【发明内容】

[0004]本发明实施例提供了一种数据转发方法及装置,通过资源节点统一管理物理节点的转发平面和控制平面,从而解决不同物理节点表项数据下发的时序问题,并且可以不额外占用设备的资源。
[0005]第一方面,本发明实施例提供了一种数据转发方法,所述方法包括:
[0006]资源节点生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数;
[0007]所述资源节点接收所述数据转发路径上的第N物理节点发送的第N应答信号AckN,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;
[0008]响应于所述Ack N,所述资源节点向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
[0009]结合第一方面,在第一种可能的实现方式下,所述方法还包括:如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。
[0010]结合第一方面,在第二种可能的实现方式下,在所述资源节点生成数据转发路径之前,还包括:
[0011]所述资源节点接收控制器发送的数据转发路径生成请求。
[0012]结合第一方面至第二种可能的实现方式中的任一种实现方式,在第三种可能的实现方式下,所述资源节点为所述数据转发路径上的入口物理节点发送的数据为转发等价类到下一跳标签转发项FTN ;所述资源节点为所述数据转发路径上的出口物理节点外的其他物理节点发送的数据为入标签映射ILM。
[0013]第二方面,本发明实施例提供了一种数据转发装置,所述装置包括:
[0014]生成单元,用于生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数;
[0015]接收单元,用于接收所述数据转发路径上的第N物理节点发送的第N应答信号AckN,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;
[0016]发送单元,用于响应于所述Ack N,向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
[0017]结合第二方面,在第一种可能的实现方式下,所述发送单元还用于,如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。
[0018]结合第二方面,在第二种可能的实现方式下,所述生成单元还用于,接收控制器发送的数据转发路径生成请求。
[0019]结合第二方面至第二种可能的实现方式中的任一种实现方式,在第三种可能的实现方式下,所述数据转发路径上的入口物理节点发送的数据为转发等价类到下一跳标签转发项FTN ;为所述数据转发路径上的出口物理节点外的其他物理节点发送的数据为入标签映射ILM。
[0020]第三方面,本发明实施例提供了一种数据转发装置,所述装置包括:
[0021]网络接口 ;
[0022]处理器;
[0023]存储器;
[0024]系统总线;
[0025]所述网络接口、所述处理器和所述存储器通过所述系统总线通信连接;所述存储器用于存储可执行程序代码,所述处理器通过读取并执行所述存储器中存储的可执行程序代码,以用于:
[0026]生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数;
[0027]接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;
[0028]响应于所述Ack N,向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
[0029]结合第三方面,在第一种可能的实现方式下,所述应用程序还包括可用于使所述处理器执行以下过程的指令:如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。[0030]结合第三方面,在第二种可能的实现方式下,在所述生成数据转发路径之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:
[0031]所述资源节点接收控制器发送的数据转发路径生成请求。
[0032]结合第三方面至第二种可能的实现方式中的任一种实现方式,在第三种可能的实现方式下,所述应用程序还包括可用于使所述处理器执行以下过程的指令为所述数据转发路径上的入口物理节点发送的数据为转发等价类到下一跳标签转发项FTN ;为所述数据转发路径上的出口物理节点外的其他物理节点发送的数据为入标签映射ILM。
[0033]本发明实施例中,通过资源节点生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数;所述资源节点接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;响应于所述Ack N,所述资源节点向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。可以解决不同物理节点表项数据下发的时序问题,从而保证不会丢包,并且不需要部署额外网络协议,不会增加成本。
【专利附图】

【附图说明】
[0034]图1为现有的路由器主路径和备份路径示意图;
[0035]图2为本发明实施例一提供的数据转发方法流程图;
[0036]图3为本发明实施例一提供的MPLS LSP转发平面示意图;
[0037]图4为与图3对应的MPLS LSP转发平面数据生成示意图;
[0038]图5为本发明实施例二提供的数据转发装置示意图;
[0039]图6为本发明实施例三提供的数据转发装置示意图。
【具体实施方式】
[0040]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0041]本发明实施例中,通过资源节点统一管理物理节点的转发平面和控制平面,从而解决不同物理节点表项数据下发的时序问题,并且可以不额外占用设备的资源。
[0042]图2为本发明实施例一提供的数据转发方法流程图。如图2所示,本发明实施例提供的数据转发方法包括:
[0043]S201,资源节点生成数据转发路径。
[0044]具体地,所述资源节点确定转发平面中的数据转发路径具体为:控制平面通过协议学习确定所述数据转发路径,所述资源节点通过所述控制平面获得所述数据转发路径,或者所述资源节点通过收集所述转发平面数据,并根据收集的所述数据建立所述数据转发路径。
[0045]由于每个路由器都有各自的控制平面和转发平面,并且不同路由器的转发平面是互不相通的,因此在回切过程中容易出现转发平面不完整时的情况,从而导致丢包。本发明实施例设置一个资源节点,所有路由器的控制平面和转发平面的资源分配和数据下发都通过该资源节点来完成。资源节点可以是一台独立的服务器,如个人电脑(PersonalComputer, PC),也可以是虚拟路由器或其它设备,它可以位于控制平面,也可以独立与控制平面。资源节点通过收集物理节点上的数据可以同时获知所有多个物理节点的信息,即可以看到所有转发平面的信息,了解整个网络中的所有业务情况,从而生成数据转发路径。
[0046]所述资源节点为所述数据转发路径上的入口物理节点发送的数据为转发等价类到下一跳标签转发项FTN ;所述资源节点为所述数据转发路径上的出口物理节点外的其他物理节点发送的数据为入标签映射ILM。
[0047]图3为本发明实施例一提供的MPLS LSP转发平面示意图。如图3所示,如果路由器转发数据的路径为A->B->C->D,则资源节点根据该路径建立公网MPLS LSP,由于MPLS LSP的标签分配是基于转发等价类(Forwarding Equivalence Class, FEC)分配的,所以生成的LSP是为路由器A、B、C和D分配的基于目的地址D的LSP。图3中的
1.1.1.1/2.2.2.2/3.3.3.3/4.4.4.4 是 LSP 的索引,100/200/300 是需要下发到路由器 B、C、D 的入映射标签 B (Inlabel Mapping B, ILM-B)、ILM-C、ILM-D 的 ILM 表项。生成数据转发路径后,下一步即可以进行数据转发。
[0048]在另一个实施例中,在所述资源节点生成数据转发路径之前,还包括:所述资源节点接收控制器发送的数据转发路径生成请求。[0049]S202,所述资源节点接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;
[0050]优选地,还包括:如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。[0051 ] S203,响应于所述Ack N,所述资源节点向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
[0052]具体地,图4为与图3对应的MPLS LSP转发平面数据生成示意图。如图4所示,路由器A为最上游节点,路由器D为最下游节点,因此,资源节点按照图4中圆圈中标号从大到小的顺序依次向路由器发送ILM (或FTN),即资源节点首先向路由器D发送11?,如果路由器D接收到下发的ILM-D,则向资源节点回发Ack,资源节点收到该Ack后,优选地,可以将ILM-D的标志位(Flag)设为真(True),表示ILM-D发送成功。然后继续以相同的方式下发ILM-C。需要注意的是,在下发非ILM-D节点,也就是非尾节点之前一定先判断上一个下游节点的Flag是否为True,这样做的原因如下:假如ILM-D发送成功,当ILM-C发送后,在接收ILM-C的Ack之前,很有可能ILM-D又发生了变化(做一种假设,比如再次出现网络震荡导致标签未改变,但是物理出接口变化了),这种情况下就不能继续发送ILM-B,而要重新发送ILM-D并等待ILM-D的Ack。无论何种情况下,务必保证所有下游节点数据下发成功,即所有下游ILM的Flag都为True的标志。当收到下发ILM-B的Ack成功之后,下发FTN-A,同样用同步等待Ack回应的机制。当收到A的FTN的Ack成功之后,说明数据转发成功,并且保证了整个过程中没有丢包。
[0053]上述实施例描述的为,通过资源节点生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数;所述资源节点接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;响应于所述Ack N,所述资源节点向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。可以解决不同物理节点表项数据下发的时序问题,从而保证不会丢包,并且不需要部署额外网络协议,不会增加成本。
[0054]相应地,本发明实施例提供了一种与上述实施例一中的方法对应的数据转发装置。图5为本发明实施例二提供的数据转发装置示意图。如图5所示,本发明实施例提供的装置包括:
[0055]生成单元501,用于生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数;;
[0056]接收单元502,用于接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;
[0057]发送单元,用于响应于所述Ack N,向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
[0058]其中,所述发送单元503还用于,如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。
[0059]所述生成单元501还用于,接收控制器发送的数据转发路径生成请求。
[0060]可选地,所述数据转发路径上的入口物理节点发送的数据为转发等价类到下一跳标签转发项FTN ;为所述数据转发路径上的出口物理节点外的其他物理节点发送的数据为入标签映射ILM。
[0061]需要说明的是,本发明实施例提供的装置植入了上述实施例一提供的数据转发方法,因此,本发明实施例提供的装置中各个单元的具体工作过程在此不再赘述。
[0062]本发明实施例提供的装置可以解决不同物理节点表项数据下发的时序问题,从而保证不会丢包,并且不需要部署额外网络协议,不会增加成本。
[0063]相应地,本发明实施例还提供了另一种数据转发装置。图6为本发明实施例三提供的数据转发装置示意图。如图6所示,本发明实施例提供的装置包括:网络接口 601、处理器602、存储器603和系统总线604。
[0064]所述网络接口 601、所述处理器602和所述存储器603通过所述系统总线604通信连接;
[0065]存储器603可以是永久存储器,例如硬盘驱动器和闪存,存储器603中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
[0066]在启动时,这些软件组件被加载到存储器603中,然后被处理器602访问并执行如下指令:
[0067]生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数;
[0068]接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数;
[0069]响应于所述Ack N,向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
[0070]在所述生成数据转发路径之前,所述应用程序还包括可用于使所述处理器执行以下过程的指令:[0071]所述资源节点接收控制器发送的数据转发路径生成请求。
[0072]所述应用程序还包括可用于使所述处理器执行以下过程的指令:如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。
[0073]需要说明的是,本发明实施例提供的装置植入了上述实施例一提供的数据转发方法,因此,本发明实施例提供的装置中各个单元的具体工作过程在此不再赘述。
[0074]上述实施例描述的装置可以解决不同物理节点表项数据下发的时序问题,从而保证不会丢包,并且不需要部署额外网络协议,不会增加成本。
[0075]专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同装置来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0076]结合本文中所公开的实施例描述的装置或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0077]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据转发方法,其特征在于,所述方法包括: 资源节点生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数; 所述资源节点接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数; 响应于所述Ack N,所述资源节点向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
2.如权利要求1所述的数据转发方法,其特征在于,所述方法还包括:如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。
3.如权利要求1所述的数据转发方法,其特征在于,在所述资源节点生成数据转发路径之前,还包括: 所述资源节点接收控制器发送的数据转发路径生成请求。
4.如权利要求1至3任一项所述的数据转发方法,其特征在于,所述资源节点为所述数据转发路径上的入口物理节点发送的数据为转发等价类到下一跳标签转发项FTN ;所述资源节点为所述数据转发路径上的出口物理节点外的其他物理节点发送的数据为入标签映射 ILM。
5.一种数据转发装置,其特征在于,所述装置包括: 生成单元,用于生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数; 接收单元,用于接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数; 发送单元,用于响应于所述Ack N,向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
6.如权利要求5所述的数据转发装置,其特征在于,所述发送单元还用于,如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。
7.如权利要求5所述的数据转发装置,其特征在于,所述生成单元还用于,接收控制器发送的数据转发路径生成请求。
8.如权利要求5至7任一项所述的数据转发装置,其特征在于,所述数据转发路径上的入口物理节点发送的数据为转发等价类到下一跳标签转发项FTN ;为所述数据转发路径上的出口物理节点外的其他物理节点发送的数据为入标签映射ILM。
9.一种数据转发装置,其特征在于,所述数据转发装置包括: 网络接口 ; 处理器; 存储器; 系统总线; 所述网络接口、所述处理器和所述存储器通过所述系统总线通信连接;所述存储器用于存储可执行程序代码,所述处理器通过读取并执行所述存储器中存储的可执行程序代码,以用于: 生成数据转发路径,所述数据转发路径包括M个物理节点,M为大于I的正整数; 接收所述数据转发路径上的第N物理节点发送的第N应答信号Ack N,所述Ack N表明所述第N物理节点接收到所述资源节点发送的第N数据,所述N的取值为I至M-1中的所有正整数; 响应于所述Ack N,向第N+1物理节点发送第N+1数据,所述第N+1物理节点为所述数据转发路径上的所述第N物理节点的直接上游节点。
10.如权利要求9所述的数据转发装置,其特征在于,所述应用程序还包括可用于使所述处理器执行以下过程的指令:如果在时延阈值内未收到所述Ack N,则重新发送所述第N数据。
【文档编号】H04L12/721GK103534990SQ201380000522
【公开日】2014年1月22日 申请日期:2013年5月23日 优先权日:2013年5月23日
【发明者】李磊, 马朋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1