首页> 中国专利> 基于协同网络控制器的多域源路由转发

基于协同网络控制器的多域源路由转发

摘要

通过将源路由跳列表中的域内跳列表替换为路径标识,能够在多域网络中实现高效、可扩展的源路由转发。再将路径标识替换为每个对应的域的入口边缘节点上对应的域内跳列表。路径标识没有指定沿域内路径段的各跳,因此,通常比域内跳列表更短。为推动多域源路由转发技术,更新对应的域的边缘节点的路由表,以在计算域间路径时(或者紧随其后)关联路径标识和对应的域内跳列表。

著录项

  • 公开/公告号CN105900380A

    专利类型发明专利

  • 公开/公告日2016-08-24

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201580003416.1

  • 申请日2015-01-19

  • 分类号H04L12/28(20060101);H04L29/06(20060101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 00:24:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-24

    授权

    授权

  • 2016-09-21

    实质审查的生效 IPC(主分类):H04L12/28 申请日:20150119

    实质审查的生效

  • 2016-08-24

    公开

    公开

说明书

本申请要求于2014年1月20日递交的发明名称为“基于协同网络控制器的多域路由转发”的第14/159,072号美国临时申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。

技术领域

本发明大体涉及通信网络,特别地,涉及一种基于协同网络控制器的多域源路由转发的技术和机制。

背景技术

源路由转发允许数据包的发送方部分地或全部地指定数据包所选的经过网络的路由,就通过允许源节点直接管理业务流路径以减少包序重排和拥塞来说,这是有利的。通常,源路由转发是通过采用指定了源路由路径的各跳的源路由跳列表得以实现的。源路由跳列表封装在源节点的包头,用于每个中间节点确定下一跳以转发数据包。通常,传统的源路由转发技术在小型网络中高效,其中的源节点和目的节点之间的跳数量相对较少。然而,传统的源路由转发技术在较大的网络中可能效率偏低,其中的长包头会增加开销比。而且,源路由转发在多域网络中不太可能实现,其中源节点并不知道外域拓扑。相应地,需要的是高效将源域路由延伸到较大和/或多域网络中的技术。

发明内容

本发明实施例通过描述一种基于协同网络控制器的多域源路由转发的技术和机制,大体上实现了技术优势。

在本实施例中,提供了一种用于多域网络中源路由转发的方法。在本示例中,所述方法包括:通过域间路径接收数据包。所述数据包附有携带源路由跳列表的包头。所述源路由跳列表指定了域内路径段的路径标识,无需指定沿所述域内路径段的各跳。所述域内路径段是贯穿域的域间路径的一部分。所述方法还包括:识别与所述路径标识相关联的跳列表;将所述路径标识替换为源路由跳列表中的跳列表;以及将所述数据包转发至下一跳。还提供了一种用于执行本方法的装置。

在另一个实施例中,提供了一种用于源路由转发的方法。在本示例中,所述方法包括:接收计算源节点和目的节点之间域间路径的请求;以及获得贯穿域的域内路径段的路径标识。所述域内路径段表示所述域间路径的一部分。所述方法还包括:创建源路由跳列表,所述源路由跳列表指定了所述路径标识,无需指定沿所述域内路径段的各跳;以及向设备发送所述源路由跳列表。所述源路由跳列表用于在数据包通过所述域间路径传递之前,附在源节点的数据包上。还提供了一种用于执行本方法的装置。

附图说明

为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:

图1A–1B示出了一种通信网络实施例的图;

图2示出了一种延伸通过网络的传统源路由路径的图;

图3示出了一种传统源路由路径的源路由跳列表的图;

图4示出了一种延伸通过多域网络的域间源路由路径实施例的图;

图5A–5F示出了一种由于数据包通过域间源路由路径转发而修改的源路由跳列表实施例的图;

图6示出了另一种延伸通过多域网络的域间源路由路径实施例的图;

图7示出了一种用于建立域间源路由路径的通信顺序实施例的协议图;

图8示出了一种用于促进域间源路由转发的方法实施例的流程图;

图9示出了另一种用于促进域间源路由转发的方法实施例的流程图;

图10示出了再一种用于促进域间源路由转发的方法实施例的流程图;

图11示出了一种网络设备实施例的图;

图12示出了一种计算平台实施例的图。

除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。

具体实施方式

下文将详细论述本发明实施例的制作和使用。应了解,本文所揭示的概念可以在多种具体环境中实施,且所论述的具体实施例仅作为说明而不限制权利要求书的范围。进一步的,应理解,可在不脱离由所附权利要求书界定的本发明的精神和范围的情况下,对本文做出各种改变、替代和更改。

通过采用路径标识替换源节点包头中的域内跳列表,本发明各方面在多域网络中实现了高效/可扩展的源路由转发。一旦数据包到达对应的域的入口边缘节点后,将路径标识(例如,标记和地址等)替换为域内跳列表,以允许数据包通过对应的域内路径段进行转发。值得注意的是,路径标识没有指定沿域内路径段的各跳,因此,通常比域内跳列表更短(例如,包括更少比特)。为推动此处提供的实施例源路由转发技术,更新对应的域的边缘节点的转发表,以关联路径标识和对应的域内跳列表。在计算域间路径之后,转发表的表项可写入转发表中,并在路径拆除时从转发表中移除。下面将更加详细描述这些以及其他方面。

图1A–1B示出了一种实施例多域网络100,该网络包括多个域110、120、130、140,多个核心节点112、122、132、142,多个边缘节点114、124、134、144,多个域控制器116、126、136、146,以及根控制器150。如图1A所示,多域网络100包括各个域110、120、130、140的核心节点112、122、132、142和边缘节点114、124、134、144之间互连所形成的数据面(实线)。如图1B所示,多域网络100包括根控制器150、域控制器116、126、136、146和核心/边缘节点112–114、122–124、132–134、142–144。

核心节点112、122、132、142可以是任何数据面单元,用于在其各自域110、120、130、140中进行域内路由。例如,核心节点112、122、132、142可以知道其各自域110、120、130、140的域内拓扑,但可能不知道域间链路和/或其他域的拓扑。边缘节点114、124、134、144可以是任何数据面单元,用于指定或调整进入域110、120、130、140,并可以既包括域内路由能力也包括域间路由能力。在一些实施例中,边缘节点114、124、134、144知道其各自域110、120、130、140的域内拓扑,也至少知道一些域间链路,例如,知道邻域的边缘部件等。域控制器116、126、136、146可以是任何控制面实体,能够为其各自域110、120、130、140计算域内路径段。根控制器150可以是任何控制面实体,能够计算/生成域间路径,例如,聚合域控制器116、126、136、146计算的域内路径段,以及选择域间链路等。此处使用的术语“控制器”(根控制器、域控制器或者其他控制器)是指任何控制面实体,用于促进多域源路由转发。在一些实施例中,根控制器包括域间路径计算功能,域控制器包括域内路径计算功能。控制器可以是独立设备,或者与其他网络设备共置,例如,控制器可以是边缘节点的一个模块,域控制器可以与根控制器共置等。

传统源路由转发技术可能难以在较大网络中实现,因为其通常需要源节点知道整个网络的拓扑。图2示出了路径201从源节点211延伸至目的节点239所贯穿的网络200。当采用传统源路由转发技术时,源节点211需要知道整个网络200的拓扑,包括知道源路由路径的跳1–11。传统的源路由转发技术也可能在较大网络中效率低下,因为过长的源路由跳列表可能会极大地增加数据包包头的开销。图3示出了采用传统源路由技术可能生成的路径201的源路由跳列表250。如图所示,源路由跳列表250中指定了路径201的跳1–11。而且,传统源路由转发技术可能不适合多域网络,其中的源节点不知道外域的拓扑。

本发明各方面在源路由跳列表中采用路径标识,以在较大或者多域网络中实现高效、可扩展的源路由。图4示出了域间源路由路径401从源节点411延伸至目的节点439所贯穿的实施例网络400。如图所示,实施例网络400包括多个域410、420、430,多个边缘节点419、421、429、431,多个核心节点415、425、435,以及控制器490。在本示例中,从图5A所描绘的源路由跳列表450可知,路径标识PID2和PID3用于表示域420和430的域内路径段。控制器490执行域间路径计算,以计算域间源路由路径401。此后,控制器490指示边缘节点421和431更新其转发表,以分别关联路径标识PID2、PID3和域420、430的域内路径段对应的域内跳列表。具体地,将表项写入边缘节点421的转发表中,以关联路径标识PID2和域内跳列表5-6-7,而将表项写入边缘节点431的转发表中,以关联路径标识PID3和域内跳列表9-10-11。边缘节点421和431(分别)为域420和430的入口边缘节点,用于一旦接收到携带那些标识的数据包后,将路径标识PID2和PID3(分别)替换为对应的域内跳列表5-6-7和9-10-11。此处使用的术语“源路由路径”是指任何建立或以其他方式与源路由转发原理一起使用的路径。术语“源路由跳列表”是指与源路由路径相关联的跳列表。术语“域内跳列表”是指与域内路径段相关联的跳列表,例如,贯穿域的源路由路径的段。

图5A–5F示出了源路由跳列表450由于数据包通过域间源路由路径401转发而如何进行修改。如图5A所示,源路由跳列表450包括路径标识PID2和PID3。此后,如图5B所示,由于数据包从源节点411转发至边缘节点421,故将跳1-2-3-4逐个从源路由跳列表450中移除。在通过延伸贯穿域420的域内路径段发送数据包之前,边缘节点421将PID2替换为域内跳列表5-6-7(如图5C所示)。由于数据包从边缘节点421转发至边缘节点431,故将跳5-6-7-8逐个从源路由跳列表450中移除(如图5D所示)。一旦接受到数据包后,边缘节点431将域内跳列表9-10-11替换为源路由跳列表450中的PID3(如图5E所示),并将修改后的数据包转发至域430中的下一跳节点435。最后,由于数据包通过域430转发至目的节点439,故将跳9-10-11逐个从源路由跳列表450中移除。

在一些实施例中,可以由分布式控制器来计算域内路径段。图6示出了实施例网络600,其中的域间路径601的域内段由域控制器616、626、636计算出。域控制器616、626、636可以是分布式控制器。或者,域控制器616、626、636可以是和根控制器共置的。在本示例中,域控制器616、626、636负责计算其各自域610、620、630的域内段,根控制器690负责聚合域内路径段和域间链路4、8,以形成域间路径601。域控制器616、626、636也可以负责在其各自域610、620、630中和数据面实体进行通信。例如,域控制器626、636可以指示边缘节点621、631(分别)将表项写入其转发表和/或从转发表移除。在另一个示例中,域控制器616可以中继转发源节点611和根控制器690之间的域间路径计算请求/回复。或者,可以在源节点611和根控制器690之间直接传递源路由路径计算请求/回复。

图7示出了一种用于建立域间路径601的通信顺序700。如图所示,当域间路径计算请求710从源节点611发送至根控制器690时,通信顺序700开始。此后,根控制器690将域间路径计算请求710分为多个域内路径计算请求720,域内路径计算请求720转发至域控制器616、626、636。每个域内路径计算请求720可以请求计算通过分配至对应域控制器的域的域内路径段。域控制器616、626、636计算对应的域内路径段。每个域内路径段和域内跳列表相关联或者由域内跳列表定义,该列表指定了沿域内路径段的各跳的顺序。域控制器626、636关联路径标识和域内跳列表,再将控制指令730传递至入口边缘节点621、631。控制指令730指示入口边缘节点621、631将表项写入其转发表中,所述表项关联了路径标识和域内跳列表。此后,域控制器616、626、636将指示域内跳列表和/或路径标识的域内路径计算响应740传递至根控制器690。在一个实施例中,域内路径计算响应740指定了域610的域内跳列表以及域620、630的路径标识。一旦接收到域内路径计算响应740,根控制器690将域内路径段聚合为域间源路由路径,并为域间路径制定源路由跳列表。在一个实施例中,源路由跳列表包括和域610对应的域内跳列表,域610后面为域间跳4,其后为域620对应的路径标识,其后为域间跳8,再后面是域630的路径标识。根控制器690将指定源路由跳列表的域间路径计算响应750传递至源节点611,其中,源路由跳列表用于通过域间路径转发数据包。一旦完成数据包传递,根控制器690将拆除指令770传递至域控制器616、626、636。拆除指令770指示域间路径正在拆除,并提示域控制器616、636向边缘节点621、631发送控制指令780。控制指令780指示边缘节点621、631将之前添加的表项从其转发表中移除。

本发明各方面提供了用于根据此处所述的多域源路由转发技术操作边缘节点的方法。图8示出了一种可以由边缘节点执行的用于促进多域网络中源路由转发的方法800。如图所示,方法800在步骤810处开始,其中边缘节点接收将表项写入数据库的指令,所述表项关联路径标识和域内跳列表。接下来,方法800进入步骤820,其中边缘节点将关联路径标识和域内跳列表的表项写入转发表。随后,方法800进入步骤830,边缘节点接收携带了指定路径标识的源路由跳列表的数据包。接下来,方法800进入步骤840,其中边缘节点通过将路径标识替换为相关联的域内跳列表修改源路由跳列表。此后,方法800进入步骤850,其中边缘节点将数据包转发至修改后的源路由跳列表中指定的下一跳。只要关联路径标识和域内跳列表的表项存在于边缘节点的转发表中,可以为每个携带路径标识的数据包重复步骤830–850。一旦所有与业务流相关的数据包已经通过域间路径传输,方法800进入步骤860,其中边缘节点接收将对应的表项(例如,在步骤820中添加的表项)从转发表中移除的指令。最后,方法800进入步骤870,其中边缘节点将对应的表项从转发表中移除。

本发明各方面提供了用于根据此处所述的多域源路由转发技术操作控制器的方法。图9示出了一种可以由域控制器执行的用于促进多域网络中源路由转发的方法900。如图所示,方法900在步骤910处开始,其中域控制器从根控制器接收域内路径计算请求。此后,方法900进入步骤920,其中域控制器计算域内路径段。接下来,方法900进入步骤930,其中域控制器指示入口边缘节点将表项写入转发表中,所述表项关联路径标识和计算出的域内路径段的域内跳列表。随后,方法900进入步骤940,其中域控制器向根控制器发送指定了路径标识的域内路径计算响应。此后,方法900进入步骤950,其中域控制器从根控制器接收到拆除指令。通常,一旦完成了通过域间路径传递就传递拆除指令。方法900再进入步骤960,其中域控制器指示入口节点将之前添加的表项从转发表中移除。

图10示出了一种可以由根控制器执行的用于促进多域网络中源路由转发的方法1000。如图所示,方法1000在步骤1010处开始,其中根控制器从源节点接收域间路径计算请求。在一些实施例中,域间路径计算请求由对应的域控制器中继转发至根控制器。在其他实施例中,直接从源节点接收域间路径计算请求。随后,方法1000进入步骤1020,其中根控制器通过选择域的顺序和域间链路计算域间路径。接下来,方法1000进入步骤1030,其中根控制器向对应的域控制器发送域内路径计算请求。域内路径计算请求可以指示域控制器计算穿过其各自域的域内路径段。此后,方法1000进入步骤1040,其中根控制器从域控制器接收域内路径计算响应。域内路径计算响应可以携带路径标识和/或与域控制器计算出的域内路径段相关联的域内跳列表。在一些实施例中,指定了路径标识的域内路径计算响应可以排除域内跳列表,反之亦然。随后,方法1000进入步骤1050,其中根控制器通过聚合域控制器计算出的域内路径和所选择的域间链路,为计算出的域间路径建立源路由跳列表。源路由跳列表包括至少一个从域控制器传递的路径标识。此后,方法1000进入步骤1060,其中根控制器向源节点发送指定了源路由跳列表的域间计算响应。可以直接向源节点发送或者经由对应的域控制器中继转发域间计算响应。接下来,方法1000进入步骤1070,其中根控制器,例如一旦接收到路径拆除请求,确定完成通过域内路径的传递。此后,方法1000进入步骤1080,根控制器向域控制器发送拆除指令。

图11示出了相当于上述的一个或多个设备(例如,控制面实体、数据面实体、节点、控制器等)的实施例设备1100的框图。实施例设备1100可以包括处理器1104、存储器1106以及多个接口1110–1114,可以(或者不用)如图11排列。处理器1104可以是任何能够进行计算和/或处理相关任务的部件,存储器1106可以是任何能够为处理器1104存储程序和/或指令的部件。接口1110、1112、1114可以是任何允许实施例设备1100和其他网络设备进行通信的部件或者部件的组合。

图12显示处理系统的框图,该处理系统可以用来实现本文公开的设备和方法。特定装置可利用所有所示的组件或所述组件的仅一子集,且装置之间的集成程度可能不同。此外,设备可以包括部件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等。处理系统可以包括配备一个或多个输入/输出设备,例如扬声器、麦克风、鼠标、触摸屏、按键、键盘、打印机、显示器等的处理单元。处理单元可以包括中央处理器(centralprocessing unit,CPU)、存储器、大容量存储器设备、视频适配器以及连接至总线的I/O接口。

总线可以是任意类型的若干总线架构中的一个或多个,包括存储总线或存储控制器、外设总线、视频总线等等。CPU可包括任意类型的电子数据处理器。存储器可包括任何类型的系统存储器,例如静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步DRAM(synchronousdynamic random access memory,SDRAM)、只读存储器(read-only memory,ROM)或其组合等等。在实施例中,存储器可包括在开机时使用的ROM以及执行程序时使用的程序和数据存储器的DRAM。

大容量存储器设备可包括任何类型的存储器设备,其用于存储数据、程序和其它信息,并使这些数据、程序和其它信息通过总线访问。大容量存储器设备可包括如下项中的一项或多项:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等等。

显示卡以及I/O接口提供接口以将外部输入以及输出装置耦合到处理单元上。如所图示,输入以及输出装置的实例包含耦合到显示卡上的显示器以及耦合到I/O接口上的鼠标/键盘/打印机。其它装置可以耦合到处理单元上,并且可以利用额外的或较少的接口卡。例如,可使用如通用串行总线(Universal Serial Bus,USB)(未示出)等串行接口将接口提供给打印机。

处理单元还包含一个或多个网络接口,所述网络接口可以包括例如以太网电缆或其类似者等有线链路,和/或用以接入节点或不同网络的无线链路。网络接口允许处理单元经由网络与远程单元通信。举例来说,网络接口可以经由一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理单元耦合到局域网或广域网上以用于数据处理以及与远程装置通信,所述远程装置例如其它处理单元、因特网、远程存储设施或其类似者。

尽管进行了详细的描述,但应理解,可在不脱离由所附权利要求书界定的本发明的精神和范围的情况下,对本文做出各种改变、替代和更改。此外,本发明的范围不希望限于本文中所描述的特定实施例,所属领域的一般技术人员将从本发明中容易了解到,过程、机器、制造工艺、物质成分、构件、方法或步骤(包括目前存在的或以后将开发的)可执行与本文所述对应实施例大致相同的功能或实现与本文所述对应实施例大致相同的效果。相应地,所附权利要求范围包括这些流程,机器,制造,物质组分,构件,方法,及步骤。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号