一种数据传输方法、节点、网络管理器及系统与流程

文档序号:26908368发布日期:2021-10-09 14:22阅读:105来源:国知局
一种数据传输方法、节点、网络管理器及系统与流程

1.本技术涉及通信技术领域,尤其涉及一种数据传输方法、节点、网络管理器及系统。


背景技术:

2.在企业数据中心或超级运算中心中,面向高性能计算(high performance computing,hpc)业务的计算集群采用的网络架构通常为无限带宽(infiniband,ib)网络或者基于融合以太网的远程直接内存访问(rdma over converged ethernet,roce)网络,其中roce网络允许在传统以太网中使用远程直接内存访问(remote direct memory access,rdma)技术,基于传统以太网的成熟生态实现,成本相比ib网络优势明显,且版本演进速度远高于其他类型的网络,将会成为hpc业务未来主流的网络选型。
3.目前,为了优化roce网络的转发性能,通常采用源路由转发机制替代传统的互联网协议(internet protocol,ip)路由转发机制。如图1所示,在进行数据报文传输前,网络控制器首先向源节点下发传输路径的源路由路径,源路由路径中包括源节点向目的节点传输数据报文的传输路径上各节点的出端口的标识,而网络中每个节点的出端口直连网络中的一个其它节点,通过在数据报文中携带所述源路由路径的信息,位于传输路径上的各节点即可转发数据报文,实现数据报文从源节点到目的节点的传输。然而,现有源路由机制,源节点和目的节点依靠周期性的心跳连接来检测源节点和目的节点之间是否存在链路故障,并在检测到故障后重新请求网路控制器配置源节点和目的节点之间的源路由,故障的修复时间较长,用户体验较差。


技术实现要素:

4.本技术提供一种数据传输方法、节点、网络管理器及系统,用以实现传输路径故障的快速修复。
5.第一方面,本技术提供了一种数据传输系统,所述数据传输系统可以基于roce网络进行数据传输,包括网络管理器、源节点和目的节点;所述源节点,用于向网络管理器发送传输路径请求,所述传输路径请求包括所述目的节点的标识;所述网络管理器,用于根据所述传输路径请求,在所述源节点和所述目的节点之间确定主传输路径和备传输路径,在源节点向目的节点传输数据报文之前,向所述源节点发送包括所述主传输路径和所述备传输路径的传输路径响应;所述源节点,还用于记录包括所述主传输路径和所述备传输路径的传输路径响应,并当所述主传输路径传输所述数据报文发生故障时,利用所述备传输路径传输所述数据报文。
6.采用上述方法,网络管理器在接收到源节点的传输路径请求后,除了为源节点的数据报文传输确定主传输路径外,还为源节点的数据报文传输确定一条或多条备传输路径,并向源节点返回主传输路径和备传输路径,源节点在主传输路径发生故障时,即可利用备传输路径传输数据报文,无需再请求网络管理器重新配置传输路径,有利于实现传输路
径故障的快速修复,提高用户体验。
7.在一种可能的设计中,所述主传输路径和所述备传输路径之间尽可能的无交叉,也即主传输路径和备传输路径在源节点和目的节点之间共用的节点最少。
8.上述设计中,有利于避免因同一节点故障,导致主传输路径和备传输路径均无法传输数据报文的情况。
9.在一种可能的设计中,所述数据传输系统还包括:第一中间节点,其中所述第一中间节点是所述主传输路径中位于所述源节点和所述目的节点之间的任意一个节点;所述第一中间节点,用于根据所述数据报文,确定回退路径;所述第一中间节点,还用于当检测到所述主传输路径故障时,根据所述回退路径向所述源节点发送故障通告报文。
10.上述设计中,第一中间节点在检测到传输数据报文的主传输路径故障时,向源节点发送故障通告报文,有利于源节点对主传输路径故障的快速感知,实现传输路径故障的快速修复。
11.在另一种可能的设计中,所述数据传输系统还包括:一个或多个第二中间节点,其中所述一个或多个第二中间节点是所述主传输路径中位于所述源节点和所述第一中间节点之间的节点;所述第一中间节点根据所述数据报文,确定回退路径时,具体用于根据所述数据报文中携带的所述数据报文在所述一个或多个第二中间节点的入端口的标识,确定所述回退路径。
12.上述设计中,通过在数据报文中携带数据报文在第二中间节点的入端口的标识,有利于第一中间节点对故障通告报文的快速溯源回退。
13.在另一种可能的设计中,所述第一中间节点,还用于在向所述主传输路径中与所述第一中间节点相邻的下一跳节点转发所述数据报文之前,在所述数据报文中添加所述数据报文在所述第一中间节点的入端口的标识。
14.上述设计中,第一中间节点在转发数据报文时,在数据报文中添加数据报文在第一中间节点的入端口的标识,有利于第一中间节点的后续节点在发现传输路径故障时,对故障通告报文的溯源回退。
15.在另一种可能的设计中,所述第一中间节点在所述数据报文中添加所述数据报文在所述第一中间节点的入端口的标识时,具体用于将所述数据报文携带的源路由标签中记录的所述第一中间节点的出端口的标识替换为所述入端口的标识。
16.上述设计中,复用数据报文携带的源路由标签中出端口字段携带入端口的标识,有利于避免对数据报文传输格式的修改,提高数据报文的转发效率。
17.第二方面,本技术提供了一种数据传输方法,该方法包括:源节点向网络管理器发送传输路径请求,所述传输路径请求包括目的节点的标识;所述源节点接收来自所述网络管理器的包括主传输路径和备传输路径的传输路径响应,并记录包括所述主传输路径和所述备传输路径的传输路径响应;当所述主传输路径传输数据报文发生故障时,所述源节点利用所述备传输路径传输所述数据报文。
18.在一种可能的设计中,所述方法还包括:当所述源节点接收到来自第一中间节点的故障通告报文时,确定所述主传输路径传输数据报文发生故障,其中所述第一中间节点是所述主传输路径中位于所述源节点和所述目的节点之间的任意一个节点。
19.第三方面,本技术提供了一种数据传输方法,该方法包括:网络管理器接收来自源
节点的传输路径请求,所述传输路径请求包括目的节点的标识;所述网络管理器在所述源节点和所述目的节点之间确定主传输路径和备传输路径;所述网络管理器在源节点向目的节点传输数据报文之前,向所述源节点发送包括所述主传输路径和所述备传输路径的传输路径响应。
20.第四方面,本技术提供了一种数据传输方法,该方法包括:第一中间节点接收来自源节点的数据报文,其中所述第一中间节点是位于所述源节点和所述数据报文的目的节点传输所述数据报文的主传输路径中的节点;所述第一中间节点根据所述数据报文,确定回退路径;当检测到所述主传输路径故障时,所述第一中间节点根据所述回退路径向所述源节点发送故障通告报文。
21.在一种可能的设计中,所述第一中间节点根据所述数据报文,确定回退路径,包括:所述第一中间节点根据所述数据报文中携带的所述数据报文在一个或多个第二中间节点的入端口的标识,确定所述回退路径,其中所述一个或多个第二中间节点是所述主传输路径中位于所述源节点和所述第一中间节点之间的节点。
22.在另一种可能的设计中,所述方法还包括:在向所述主传输路径中与所述第一中间节点相邻的下一跳节点转发所述数据报文之前,所述第一中间节点在所述数据报文中添加所述数据报文在所述第一中间节点的入端口的标识。
23.在另一种可能的设计中,所述第一中间节点在所述数据报文中添加所述数据报文在所述第一中间节点的入端口的标识,包括:所述第一中间节点将所述数据报文携带的源路由标签中记录的所述第一中间节点的出端口的标识替换为所述入端口的标识。
24.第五方面,本技术实施例提供一种数据传输装置,该装置具有实现上述第二方面及第二方面任意一种可能的设计中各个步骤的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元(模块),比如包括通信单元和处理单元。
25.在一种可能的设计中,该装置可以是芯片或者集成电路。
26.在一种可能的设计中,该装置包括处理器和接口电路,所述处理器与所述接口电路耦合,用于实现上述第二方面及第二方面任意一种可能的设计中各个步骤的功能。可以理解的是,接口电路可以为收发器或输入输出接口。该装置还可以包括存储器,所述存储器存储有可被处理器执行的用于实现上述第二方面及第二方面任意一种可能的设计中各个步骤的功能的程序。
27.在一种可能的设计中,该装置可以为源节点。
28.第六方面,本技术实施例提供一种数据传输装置,该装置具有实现上述第三方面中各个步骤的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元(模块),比如包括通信单元和处理单元。
29.在一种可能的设计中,该装置可以是芯片或者集成电路。
30.在一种可能的设计中,该装置包括处理器和接口电路,所述处理器与所述接口电路耦合,用于实现上述第三方面中各个步骤的功能。可以理解的是,接口电路可以为收发器或输入输出接口。该装置还可以包括存储器,所述存储器存储有可被处理器执行的用于实现上述第三方面中各个步骤的功能的程序。
31.在一种可能的设计中,该装置可以为网络管理器。
32.第七方面,本技术实施例提供一种数据传输装置,该装置具有实现上述第四方面及第四方面任意一种可能的设计中各个步骤的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元(模块),比如包括通信单元和处理单元。
33.在一种可能的设计中,该装置可以是芯片或者集成电路。
34.在一种可能的设计中,该装置包括处理器和接口电路,所述处理器与所述接口电路耦合,用于实现上述第四方面及第四方面任意一种可能的设计中各个步骤的功能。可以理解的是,接口电路可以为收发器或输入输出接口。该装置还可以包括存储器,所述存储器存储有可被处理器执行的用于实现上述第四方面及第四方面任意一种可能的设计中各个步骤的功能的程序。
35.在一种可能的设计中,该装置可以为第一中间节点。
36.第八方面,本技术实施例还提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述第二至第四方面及第二至第四方面中任意一种可能的设计中提供的方法。
37.第九方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被计算机执行时,使得所述计算机执行上述第二至第四方面及第二至第四方面中任意一种可能的设计中提供的方法。
38.第十方面,本技术实施例还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,执行上述第二至第四方面及第二至第四方面中任意一种可能的设计中提供的方法。
39.上述第二方面至第十方面所能达到的技术效果请参照上述第一方面所能达到的技术效果,这里不再重复赘述。
附图说明
40.图1为源路由转发机制示意图;
41.图2为本技术实施例提供的一种ecmp机制原理示意图;
42.图3为本技术实施例提供的一种ar机制原理示意图;
43.图4为本技术实施例提供的网络架构示意图之一;
44.图5为本技术实施例提供的数据传输系统的架构示意图之一;
45.图6为本技术实施例提供的一种数据传输方法的流程示意图;
46.图7为本技术实施例提供的网络架构示意图之二;
47.图8为本技术实施例源路由标签示意图之一;
48.图9为本技术实施例源路由标签示意图之二;
49.图10为本技术实施例提供的数据传输装置示意图之一;
50.图11为本技术实施例提供的数据传输装置示意图之二;
51.图12为本技术实施例提供的数据传输系统的架构示意图之二。
具体实施方式
52.在介绍本技术实施例之前,首先对本技术中的部分用语进行解释说明,以便于本领域技术人员理解。
53.1)、主机,又可以称为业务节点、通信节点等,可用于处理业务数据,具有收发功能,可以向其它主机发送数据和/或接收来自其它主机的数据。例如:主机可以是服务器、大数据平台、云端、云服务器、服务器集群、终端设备或计算机设备等等,也可以是这些设备中的部件,如芯片或芯片系统等。其中,计算机设备,可简称为计算机,是指具备网络数据存储、数据发送和数据接收等处理功能的设备。
54.2)、传输节点,又可以称为中间节点、交换节点等,是一种具备数据交换(转发)功能的设备,可以是交换机,也可以是路由器、网关等设备,还可以是其他具有数据交换功能的装置或设备,或者是这些设备中的部件,如芯片或芯片系统等。本技术实施例对此不限定。
55.3)、ip路由转发机制,通常是指基于报文的信息(如目的ip地址等)采用路由选择算法(如哈希算法等)实现路由转发的机制。以ip路由转发机制中的等价多路径(equal cost multipath,ecmp)机制和自适应路由(adaptive routing,ar)为例。如图2所示,ecmp机制使用哈希方法基于五元组(源ip地址、源端口、目的ip地址、目的端口和传输层协议)计算不同数据流转发的出端口,完成每个数据流和端到端传输路径的一一映射,不同的数据流被均匀的分配至各个端到端传输路径当中。由于每条流的五元组是确定的,因此每次ecmp哈希的出端口也是唯一确定的,该流的端到端传输路径也最终被唯一确定。然而,ecmp负载分担方案最大的问题是:当网络中流量大小分布不均时(大象流和老鼠流混合),将大流和小流等价看待并分配到不同传输路径上会导致各传输路径之间的负载严重不均衡。
56.如图3所示,ar机制参考了ecmp机制,在ecmp机制的基础上增加了对出端口队列拥塞状态的判断,如果拥塞超出门限则调整至其它端口,一定程度上避免了各传输路径之间的负载严重不均衡。但是ecmp机制和ar机制,均需传输路径上的各中间节点维护整个网络全局路由表以及执行路由选择算法,维护实现难度高、且由于每个中间节点均需执行路由选择算法传输时延较大,不如源路由机制概念简单,易于实现。
57.4)、源路由,也可以称为源路由机制,即数据传输的源节点(即发送节点)可以指定所发送的报文沿途经过的部分或全部传输节点(或中间节点)。如图1所示,已知源节点的出端口a与中间节点1连接、中间节点1的出端口b与中间节点2连接、中间节点2的出端口c与中间节点3连接、中间节点3的出端口d与中间节点4连接、中间节点4的出端口e与中间节点5连接、中间节点5的出端口f与目的节点连接,源节点可以在发送的数据报文中携带上述源节点的出端口a、中间节点1的出端口b、中间节点2的出端口c、中间节点3的出端口d、中间节点4的出端口e和中间节点5的出端口f的标识(也即传输路径的源路由路径)指示数据报文从源节点出发经过的每一跳节点为中间节点1、中间节点2、中间节点3、中间节点4、中间节点5和目的节点。
58.然而,现有源路由机制,源节点仅能依靠与目的节点间周期性的心跳连接来检测源节点和目的节点之间是否存在链路故障,并在检测到故障后重新请求网络控制器下发源节点和目的节点之间新传输路径的源路由路径,故障检测的效率较低,而且发现故障后,网络控制器需要重新扫描网络架构配置新传输路径,所需时间也较长,这种情况在网络架构
复杂的情况下尤为严重,难以实现传输路径故障的快速修复。
59.有鉴于此,本技术实施例提供一种数据传输方案,用以通过网络管理器同时在源节点和目的节点确定主传输路径和备传输路径,实现传输路径发生故障后的快速修复。下面结合附图详细说明本技术实施例。
60.如图4所示,为本技术实施例适用的一种可能的胖树(fat

tree)网络架构下的数据传输系统示例,包括多个主机(如主机h11、主机h12等)、多个中间节点(如中间节点e11、中间节点a11、中间节点c11等)和网络管理器(fabric manager,fm)。其中,中间节点也可以称为传输节点,叶子(leaf)层和脊柱(spine)层的中间节点可以被划分为不同交付单元(point of delivery,pod)或集群,在每个pod中每个叶子层的中间节点与每个脊柱层的中间节点连接;同时每个脊柱层的中间节点可以与一个或多个超级脊柱(super

spine)层的中间节点连接,使得不同pod之间可以通过超级脊柱(super

spine)层的中间节点连接。其中,网络管理器具有网管功能,与网络中的各中间节点和主机直接或间接连接,可以提供网络的传输路径配置。在进行数据传输时,图4中的任一主机可以作为数据传输的源节点,即数据发送端,也可以作为数据传输的目的节点,即数据接收端。
61.为了实现本技术的数据传输方案,图4中的主机(如主机h11、主机h12等)可以包括rnic网卡、主机代理(host

agent)组件等组件,中间节点(如中间节点e11、中间节点a11、中间节点c11等)可以包括交换(switch)组件和交换代理(switch

agent)组件等组件,网络管理器可以包括全局的网络管理器控制器(fm

controller)组件、全局的网络管理器管理(fm

manager)组件等组件。具体的,如图5所示,数据传输系统中的网络管理器(fm)、主机(host)和中间节点(如交换机(switch))的组件根据功能不同,可分为转发面、控制面和管理面三个层级,其中转发面可以包括主机侧的rnic网卡、中间节点侧的switch组件;控制面包括主机侧的host

agent组件、中间节点侧的switch

agent组件和网络管理器侧的fm

controller组件;管理面包括网络管理器侧的fm

manager组件。fm

manager组件可以为中间节点下发端口配置(port config),也可以获知中间节点间的端口链路状态(port link status)和端口输入/输出适配率(port input/output uitility rate)等信息,并可以将网络拓扑(network topology)等信息存储在数据库(data base,db)。所述数据传输系统可以基于roce网络进行数据传输,在进行数据报文传输时,可以由主机侧的rnic网卡向fm

controller组件请求传输路径,fm

controller组件向主机侧的rnic网卡返回主传输路径和备传输路径,然后主机侧的rnic网卡即可根据通过主传输路径和备传输路径和其它主机侧的rnic网卡进行数据报文的传输。
62.图6为本技术实施例提供的一种数据传输方法示意图,该方法包括:
63.s601:源节点向网络管理器发送传输路径请求,所述网络管理器接收所述传输路径请求。
64.其中,所述传输路径请求包括目的节点的标识。
65.在一些实施中,源节点(如主机h11)中的某一应用(如hpc应用)被启动时,会触发源节点向目的节点(如主机h21)发起网络连接(如rdma连接),用于源节点和目的节点之间传输某一业务的数据报文。具体的,当源节点中的某一应用被启动,向目的节点发起网络连接时,源节点可以向网络管理器发送包括目的节点的标识的传输路径请求,请求网络管理器为源节点配置向目的节点发送业务的数据报文的传输路径。
66.作为一种示例,源节点中的hpc应用被启动时,向目的节点发起rdma连接时,可以由源节点的rdma网络接口卡(rdma network interface card,rnic)向网络管理器发送包括目的节点的标识的传输路径请求,其中目的节点的标识可以为目的节点的身份标识号(identity document,id)、ip地址等,本技术不作限定。
67.s602:所述网络管理器在所述源节点和所述目的节点之间确定主传输路径和备传输路径,并在源节点向目的节点传输数据报文之前,向所述源节点发送包括所述主传输路径和所述备传输路径的传输路径响应。
68.在本技术实施例中,网络管理器具有网管功能,与网络中的各中间节点(也可以称为传输节点)和主机直接或间接连接,可以提供网络的传输路径配置、各节点的性能控制等功能。在网络中各节点间(包括中间节点和主机间、以及中间节点和中间节点间)可以通过端口连接,如图7所示,中间节点e11可以通过端口16与中间节点a11的端口101连接。具体的,网络中各节点间的端口连接可以在节点(包括主机和中间节点)入网时由网络管理人员等配置,并由节点上报网络管理器,也可以由网络管理人员等通过网络管理器配置,并由网络管理器下发至相应节点,本技术对此不进行限定。
69.作为一种示例,网络管理器在接收到来自源节点的包括目的节点的标识的传输路径请求后,可以根据管理的网络的拓扑架构,为源节点和目的节点间确定多条共用中间节点最少传输路径,也即多条传输路径之间尽可能不包括重复的中间节点。如图7所示,网络管理器确定的传输路径包括传输路径1:源节点h11

中间节点e11

中间节点a11

中间节点c11

中间节点a21

中间节点e21

目的节点h21,以及传输路径2:源节点h11

中间节点e11

中间节点a12

中间节点c22

中间节点a22

中间节点e21

目的节点h21,其中传输路径1和传输路径2在脊柱(spine)层和超级脊柱(super spine)层无交叉,也即无共用中间节点。
70.网络管理器在源节点和目的节点间确定共用中间节点最少的多条传输路径后,可以将其中一条传输路径确定为主传输路径,其它传输路径确定为备传输路径,向源节点发送包括所述主传输路径和所述备传输路径的传输路径响应。具体的,网络管理器在多条传输路径中确定为主传输路径和备传输路径时,可以按照包括的中间节点最少的原则,将包括中间节点数量最少的传输路径作为主传输路径(如果包括中间节点数量最少的传输路径存在多条,可以在多条包括中间节点数量最少的传输路径中随机选取一条作为主传输路径),其它传输路径作为备传输路径;当然也可以按照平均负载最小的原则、传输时延最低的原则等在多条传输路径中选取主传输路径,其它传输路径作为备传输路径。
71.当然,网络管理器也可以直接向源节点发送包括所述多条传输路径的传输路径响应,由源节点在所述多条传输路径中选择一条作为主传输路径,其它传输路径作为备传输路径。
72.以源节点h11

中间节点e11

中间节点a11

中间节点c11

中间节点a21

中间节点e21

目的节点h21为主传输路径为例,其中源节点h11通过端口17与中间节点e11的端口102连接、中间节点e11通过端口18与中间节点a11的端口103连接、中间节点a11通过端口19与中间节点c11的端口104连接、中间节点c11通过端口20与中间节点a21的端口105连接、中间节点a21通过端口21与中间节点e21的端口106连接、中间节点e21通过端口22与目的节点h21的端口107连接,则网络管理器可以通过向源节点下发包括主传输路径的源路由路径的传输路径响应,将主传输路径发送给源节点,其中主传输路径的源路由路径可以包括主传
输路径上由源节点向目的节点传输数据报文的各节点的出端口的标识。其中各节点的出端口的标识可以由节点的标识(如ip地址)和出端口的端口号组成,作为一种示例,所述主传输路径的源路由路径如下表1所示。
73.表1
[0074][0075]
其中,源节点h11、中间节点e11、中间节点a11、中间节点c11、中间节点a21、中间节点e21、目的节点h21的ip地址分别为ip h11、ip e11、ip a11、ip c11、ip a21、ip e21、ip h21。
[0076]
s603:当所述源节点在所述主传输路径传输数据报文发生故障时,所述源节点利用所述备传输路径传输所述数据报文。
[0077]
源节点从网络管理器获取到主传输路径和备传输路径后,通过在数据报文的携带的源路由标签中记录(或携带)主传输路径的源路由路径,通过主传输路径向目的节点传输数据报文。
[0078]
在一种可能的实施中,源节点和目的节点之间还可以维持心跳连接,用于检测第一传输路径是否发生故障。例如,源节点可以按照设定周期(如1s、2s)等,通过主传输路径向目的节点发送心跳请求报文,如果在规定时间内(如1ms内)接收到目的节点回复的心跳响应报文,则说明主传输路径能够正常传输报文无故障,否则,确定主传输路径发生故障。
[0079]
为了进一步提高故障检测效率,在另一种可能的实施中,数据报文从源节点发出后,数据报文每经过一跳转发,中间节点可以将数据报文在该节点的入端口的标识添加至数据报文中,方便传输路径发生故障时,故障通告报文的溯源回退。
[0080]
作为一种示例,中间节点可以在转发数据报文时,将源路由标签中记录的该中间节点的出端口的标识替换为数据报文在该中间节点的入端口的标识。仍以数据报文通过上述主传输路径传输为例,数据报文携带源路由标签(即报文头)如图8所示,中间节点e11通过端口102(入端口)接收源节点h11发送的数据报文,中间节点e11在根据hop1(ip e11+18)通过自身端口18(出端口)转发该数据报文时,将hop1由ip e11+18修改为ip e11+102,同理,中间节点c11转发数据报文时,将hop2由ip a11+19修改为ip a11+103等。
[0081]
当主传输路径中任一中间节点被检测到出端口链路故障,数据报文无法转发时,该中间节点构造生成故障通告(failure notification,fn)报文,并从数据报文的入端口转发回退故障通告报文。其中故障通告报文中包括向源节点发送故障通告报文的回退路径的源路由路径(即指定回退路径上每一跳的出端口),其中回退路径的源路由路径可以从数据报文中获取。为了方便描述后续,本技术实施例的后续描述中,将上述主传输路径中检测到出端口链路故障的中间节点称为第一中间节点。
[0082]
作为一种示例,如图7所述,数据报文携带如图8所示的用于指示主传输路径的源路由标签由主机h11(源节点)发出,经过主传输路径上的中间节点e11、中间节点a11和中间节点c11(位于源节点和第一中间节点间的多个第二中间节点)转发后,主传输路径上的中间节点a21(第一中间节点)接收到数据报文。其中,中间节点e11、中间节点a11和中间节点c11在转发数据报文时,将数据报文的源路由标签中记录的该中间节点的出端口的标识替换为数据报文在该中间节点的入端口的标识,中间节点a21接收到的数据报文携带的源路由如图9所示。假设主传输路径上的中间节点a21检测到向下一跳节点中间节点e21转发数据报文的端口21发生故障(如端口21与中间节点21的心跳连接中断或电连接中断等),中间节点a21根据数据报文中的源路由标签确定回退路径的源路由路径。如图9所示,中间节点a21根据源路由标签中的hop1、hop2、hop3以及自身接收数据报文的端口105,确定回退路径的源路由路径为hop 0(ip a21+105)、hop1(ip c11+104)、hop2(ip a11+103)、hop3(ip e11+102)。
[0083]
中间节点a21构造生成故障通告报文,故障通告报文携带的源路由标签中记录有hop 0(ip a21+105)、hop1(ip c11+104)、hop2(ip a11+103)、hop3(ip e11+102)的信息,中间节点a21从数据报文的入端口,即端口105向中间节点c11发送故障通告报文,依据故障通告报文携带的源路由标签中记录的hop1(ip c11+104)、hop2(ip a11+103)、hop3(ipe11+102),中间节点c11、中间节点a11、中间节点e11逐跳转发故障通告报文,直至故障通告报文被主机h11接收,确定传输数据报文的主传输路径发生故障。
[0084]
另外,为了提高故障通告报文传输的可靠性,中间节点可以针对故障通告报文预留资源(如预留带宽资源、转发队列资源等),以保障故障通告报文可无阻塞地、快速地溯源回退。
[0085]
在一些实施中,源节点可以同时与多个目的节点传输不同业务的数据报文,为了便于源节点对发生故障的传输路径的定位,故障通告报文中还可以携带对应数据报文所属业务的业务流标识,其中数据报文所属业务的业务流标识可以从数据报文的报文头中的流标签(flow label)字段等中获取,业务流的标识可以为业务流传输对应的源ip、目的ip+队列对(queue pair,qp)标识(identifier,id)等。
[0086]
源节点在检测到主传输路径发生故障后,将数据报文的传输由主传输路径切换到网络管理器下发的备传输路径,即源节点利用备传输路径进行数据传输,可实现传输路径快速故障切换,达成业务流快速收敛的目标。
[0087]
具体的,源节点在检测到主传输路径发生故障后,将数据报文携带的源路由标签中的源路由路径由主传输路径的源路由路径切换为备传输路径的源路由路径,即可实现传输路径快速故障切换,达成业务流快速收敛的目标。
[0088]
另外,需要理解的是,本技术实施例提供的数据传输方案不仅适用于如图4所示的fat

tree网络架构,还可适应于3d/6d环(torus)拓扑网络架构、蜻蜓(dragonfly)拓扑网络架构等。
[0089]
上述主要从源节点和第一中间节点、网络管理器之间交互的角度对本技术提供的方案进行了介绍。可以理解的是,为了实现上述功能,各网元(设备)包括了执行各个功能相应的硬件结构和/或软件模块(或单元)。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的
结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0090]
图10和图11为本技术的实施例提供的可能的数据传输装置的结构示意图。这些数据传输装置可以用于实现上述方法实施例中源节点或网络管理器或第一中间节点的功能,因此也能实现上述方法实施例所具备的有益效果。在本技术的实施例中,该数据传输装置可以是源节点或网络管理器或第一中间节点,还可以是应用于源节点或网络管理器或第一中间节点的模块(如芯片)。
[0091]
如图10所示。数据传输装置1000可以包括:处理单元1002和通信单元1003,还可以包括存储单元1001。数据传输装置1000用于实现上述方法实施例中源节点或网络管理器或第一中间节点的功能。
[0092]
一种可能的设计中,处理单元1002用于实现相应的处理功能。通信单元1003用于支持数据传输装置1000与其他网络实体的通信。存储单元1001,用于存储数据传输装置1000的程序代码和/或数据。可选地,通信单元1003可以包括接收单元和/或发送单元,分别用于执行接收和发送操作。
[0093]
当数据传输装置1000用于实现方法实施例中源节点的功能时:所述通信单元1003,用于向网络管理器发送传输路径请求,所述传输路径请求包括目的节点的标识;以及接收来自所述网络管理器的包括主传输路径和备传输路径的传输路径响应;
[0094]
所述处理单元1002,用于记录包括所述主传输路径和所述备传输路径的传输路径响应;
[0095]
所述通信单元1003,还用于当所述主传输路径传输数据报文发生故障时,利用所述备传输路径传输所述数据报文。
[0096]
在一种可能的设计中,所述处理单元1002,还用于当所述通信单元1003接收到来自第一中间节点的故障通告报文时,确定所述主传输路径传输数据报文发生故障,其中所述第一中间节点是所述主传输路径中位于所述源节点和所述目的节点之间的任意一个节点。
[0097]
当数据传输装置1000用于实现方法实施例中网络管理器的功能时:所述通信单元1003,用于接收来自源节点的传输路径请求,所述传输路径请求包括目的节点的标识;
[0098]
所述处理单元1002,用于在所述源节点和所述目的节点之间确定主传输路径和备传输路径;
[0099]
所述通信单元1003,还用于在源节点向目的节点传输数据报文之前,向所述源节点发送包括所述主传输路径和所述备传输路径的传输路径响应。
[0100]
当数据传输装置1000用于实现方法实施例中第一中间节点的功能时:所述通信单元1003,用于接收来自源节点的数据报文,其中所述第一中间节点是位于所述源节点和所述数据报文的目的节点传输所述数据报文的主传输路径中的节点;
[0101]
所述处理单元1002,用于根据所述数据报文,确定回退路径;
[0102]
所述通信单元1003,还用于当检测到所述主传输路径故障时,根据所述回退路径向所述源节点发送故障通告报文。
[0103]
在一种可能的设计中,所述处理单元1002根据所述数据报文,确定回退路径时,具
体用于根据所述数据报文中携带的所述数据报文在一个或多个第二中间节点的入端口的标识,确定所述回退路径,其中所述一个或多个第二中间节点是所述主传输路径中位于所述源节点和所述第一中间节点之间的节点。
[0104]
在一种可能的设计中,所述处理单元1002,还用于在所述通信单元1003向所述主传输路径中与所述第一中间节点相邻的下一跳节点转发所述数据报文之前,在所述数据报文中添加所述数据报文在所述第一中间节点的入端口的标识。
[0105]
在一种可能的设计中,所述处理单元1002在所述数据报文中添加所述数据报文在所述第一中间节点的入端口的标识时,具体用于将所述数据报文携带的源路由标签中记录的所述第一中间节点的出端口的标识替换为所述入端口的标识。
[0106]
有关上述处理单元1002和通信单元1003更详细的描述可以直接参考方法实施例中相关描述直接得到,这里不加赘述。
[0107]
如图11所示,数据传输装置1100包括处理器1110和接口电路1120。处理器1110和接口电路1120之间相互耦合。可以理解的是,接口电路1120可以为输入输出接口。可选的,数据传输装置1100还可以包括存储器1130,用于存储处理器1110执行的指令或存储处理器1110运行指令所需要的输入数据或存储处理器1110运行指令后产生的数据。
[0108]
当数据传输装置1100用于实现适用于源节点或网络管理器或第一中间节点的数据传输方法时,处理器1110用于实现上述处理单元1002的功能,接口电路1120用于实现上述通信单元1003的功能。
[0109]
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时可以执行上述方法实施例中适用于源节点或网络管理器或第一中间节点的数据传输方法。
[0110]
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,该指令被执行时可以执行上述方法实施例中适用于源节点或网络管理器或第一中间节点的数据传输方法。
[0111]
作为本实施例的另一种形式,提供一种芯片,所述芯片运行时,可以执行上述方法实施例中适用于源节点或网络管理器或第一中间节点的数据传输方法。
[0112]
图12为本技术实施例提供的一种数据传输系统的架构示意图,所述数据传输系统包括网络管理器、源节点、目的节点和第一中间节点,其中所述网络管理器具有上述用于实现方法实施例中网络管理器的功能数据传输装置、源节点具有上述用于实现方法实施例中源节点的功能数据传输装置、第一中间节点具有上述用于实现方法实施例中第一中间节点的功能数据传输装置。
[0113]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服
务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,ssd)。
[0114]
以上所述,仅为本技术的具体实施方式。熟悉本技术领域的技术人员根据本技术提供的具体实施方式,可想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1