用于边界网关协议中的标签的语义信息的制作方法

文档序号:10660736阅读:274来源:国知局
用于边界网关协议中的标签的语义信息的制作方法
【专利摘要】本发明的各实施方式总体上涉及用于边界网关协议中的标签的语义信息。具体地,一种设备可以经由对应的边界网关协议消息的集合来接收边界网关协议标签的集合。边界网关协议标签的集合中的边界网关协议标签与标签描述符属性相关联。标签描述符属性与提供关于与边界网关协议标签相关联的转发语义的信息相关联。该设备可以基于标注描述符属性来选择边界网关协议标签以用于朝着与边界网关协议标签相关联的网络设备路由网络流量。该设备可以基于边界网关协议标签并且在选择边界网关协议标签之后朝着网络设备路由网络流量。
【专利说明】
用于边界网关协议中的标签的语义信息
技术领域
[0001]本发明的各实施方式总体上涉及计算机领域,具体地涉及用于边界网关协议中的标签的语义信息。
【背景技术】
[0002]可以利用边界网关协议(BGP)来交换与在网络中的网络设备(诸如,边缘设备的集合)之间的路由和可达性相关联的信息。第一网络设备可以经由BGP标签向第二网络设备提供可达性信息,该BGP标签公告用于从第二网络设备经由第一网络设备向第三网络设备的网络流量行进的路径。第一网络设备可以在将网络流量从第二网络设备向第三网络设备路由时对网络流量执行一个或多个动作。

【发明内容】

[0003]根据一些可能的实现方式,一种设备可以经由对应的边界网关协议消息的集合来接收边界网关协议标签的集合。边界网关协议标签的集合中的边界网关协议标签与标签描述符属性相关联。标签描述符属性与提供关于与边界网关协议标签相关联的转发语义的信息相关联。该设备可以基于标注描述符属性来选择边界网关协议标签以用于朝着与边界网关协议标签相关联的网络设备路由网络流量。该设备可以基于边界网关协议标签并且在选择边界网关协议标签之后朝着网络设备路由网络流量。
[0004]根据一些可能的实现方式,一种方法可以包括由设备从一个或多个其它设备接收多个边界网关协议标签。多个边界网关协议标签中的特定边界网关协议标签可以由一个或多个其它设备中的特定设备生成。特定边界网关协议标签与由特定标签描述符属性标识的特定转发语义相关联。特定转发语义被存储在特定设备的转发表中。该方法可以包括由设备基于特定标签描述符属性来确定特定转发语义。该方法可以包括由设备基于特定转发语义来从多个边界网关协议标签中选择特定边界网关协议标签。该方法可以包括由设备基于选择特定边界网关协议标签来使得网络流量经由特定设备朝着目的地设备而被路由。
[0005]根据一些可能的实现方式,一种计算机可读介质可以存储指令,该指令包括一个或多个指令,该一个或多个指令在由设备的一个或多个处理器执行时使得一个或多个处理器经由对应的边界网关协议消息的集合来接收边界网关协议标签的集合。边界网关协议标签的集合中的边界网关协议标签与标签描述属性相关联,标签描述符属性可以与提供关于与边界网关协议标签相关联的转发语义的信息相关联。该一个或多个指令在由设备的一个或多个处理器执行时还使得一个或多个处理器基于标注描述符属性来选择边界网关协议标签以用于朝着与边界网关协议标签相关联的网络设备路由网络流量。该一个或多个指令在由设备的一个或多个处理器执行时还使得一个或多个处理器基于边界网关协议标签并且在选择边界网关协议标签之后朝着网络设备路由网络流量。
[0006]根据一些可能的实现方式,一种设备,包括:一个或多个处理器,用于:经由对应的边界网关协议消息的集合来接收边界网关协议标签的集合;边界网关协议标签的集合中的边界网关协议标签与标签描述符属性相关联,标签描述符属性与提供关于与边界网关协议标签相关联的转发语义的信息相关联;基于标注描述符属性来选择边界网关协议标签以用于朝着与边界网关协议标签相关联的网络设备路由网络流量;以及基于边界网关协议标签并且在选择边界网关协议标签之后朝着网络设备路由网络流量。
[0007]在一个示例实施方式中,其中标签描述符属性包括标识以下各项中的至少一项的信息:与网络设备相关联的转发动作,与网络设备相关联的网络设备属性,或者与关联于网络设备的网络连接相关联的网络连接属性。
[0008]在一个示例实施方式中,其中一个或多个处理器还用于:基于选择边界网关协议标签来用边界网关协议标签标注网络流量;以及其中一个或多个处理器在路由网络流量时还用于:基于用边界网关协议标签标注网络流量来路由网络流量。
[0009]在一个示例实施方式中,其中一个或多个处理器还用于:接收BGP路由更新;基于接收BGP路由更新来标识标签描述符属性;以及基于标识标签描述符属性来确定与边界网关协议标签相关联的转发语义。
[0010]在一个示例实施方式中,其中一个或多个处理器还用于:获得与关联于标签描述符属性到转发语义的映射信息相关联的信息;使用获得的信息将与标签描述符属性相关联的信息映射到转发语义;以及基于将与标签描述符属性相关联的信息映射到转发语义来选择边界网关协议标签。
[0011]在一个示例实施方式中,其中一个或多个处理器还用于:标识与边界网关协议标签的集合中的另一边界网关协议标签的另一标签描述符属性相关联的另一转发语义;以及其中一个或多个处理器在选择边界网关协议标签时还用于:基于另一转发语义和转发语义来选择边界网关协议标签。
[0012]在一个示例实施方式中,其中一个或多个处理器还用于:确定用于转发语义的第一得分和用于另一转发语义的第二得分;以及其中一个或多个处理器在选择边界网关协议标签时还用于:基于第一得分和第二得分来选择边界网关协议标签。
[0013]在一个示例实施方式中,其中一个或多个处理器在选择边界网关协议标签时还用于:选择边界网关协议标签以用于路由网络流量的第一部分,网络流量的第一部分与接收与网络流量的第二部分相比的优先处理相关联;与边界网关协议标签相关联的转发语义与提供与关联于边界网关协议标签的集合中的另一边界网关协议标签的另一转发语义相比的优先处理相关联;以及选择另一边界网关协议标签以用于路由网络流量的第二部分。
[0014]根据一些可能的实现方式,一种方法,包括:由设备从一个或多个其它设备接收多个边界网关协议标签;多个边界网关协议标签中的特定边界网关协议标签由一个或多个其它设备中的特定设备生成,特定边界网关协议标签与由特定标签描述符属性标识的特定转发语义相关联,特定转发语义被存储在特定设备的转发表中,由设备基于特定标签描述符属性来确定特定转发语义;由设备基于特定转发语义来从多个边界网关协议标签中选择特定边界网关协议标签;以及由设备基于选择特定边界网关协议标签来使得网络流量经由特定设备朝着目的地设备而被路由。
[0015]在一个示例实施方式中,还包括:标识转发语义的优先化;以及其中选择特定边界网关协议标签还包括:基于转发语义和特定转发语义的优先化来选择特定边界网关协议标签。
[0016]在一个示例实施方式中,其中确定特定转发语义还包括:确定与特定边界网关协议标签相关联的下一跳信息;以及其中选择特定边界网关协议标签还包括:基于下一跳信息来选择特定边界网关协议标签。
[0017]在一个示例实施方式中,还包括:使得特定设备基于使得网络流量朝着目的地设备而被路由来执行与特定转发语义相关联的转发动作。
[0018]在一个示例实施方式中,其中使得特定设备执行转发动作还包括:用特定边界网关协议标签标注网络流量。
[0019]根据一些可能的实现方式,一种存储指令的计算机可读介质,指令包括:一个或多个指令,一个或多个指令在由设备的一个或多个处理器执行时使得一个或多个处理器:经由对应的边界网关协议消息的集合来接收边界网关协议标签的集合;边界网关协议标签的集合中的边界网关协议标签与标签描述符属性相关联,标签描述符属性与提供关于与边界网关协议标签相关联的转发语义的信息相关联;基于标注描述符属性来选择边界网关协议标签以用于朝着与边界网关协议标签相关联的网络设备路由网络流量;以及基于边界网关协议标签并且在选择边界网关协议标签之后朝着网络设备路由网络流量。
[0020]在一个示例实施方式中,其中标签描述符属性包括标识以下各项中的至少一项的信息:与网络设备相关联的转发动作,与网络设备相关联的网络设备属性,或者与关联于网络设备的网络连接相关联的网络连接属性。
[0021 ] 在一个示例实施方式中,其中一个或多个指令在由一个或多个处理器执行时还使得一个或多个处理器:基于选择边界网关协议标签来用边界网关协议标签标注网络流量;以及其中使得一个或多个处理器路由网络流量的一个或多个指令还使得一个或多个处理器:基于用边界网关协议标签标注网络流量来路由网络流量。
[0022]在一个示例实施方式中,其中一个或多个指令在由一个或多个处理器执行时还使得一个或多个处理器:基于接收BGP路由更新消息的集合来标识标签描述符属性;以及基于标识标签描述符属性来确定与边界网关协议标签相关联的转发语义。
[0023]在一个示例实施方式中,其中一个或多个指令在由一个或多个处理器执行时还使得一个或多个处理器:获得与关联于标签描述符属性到转发语义的映射信息相关联的信息;使用获得的信息将与标签描述符属性相关联的信息映射到转发语义;以及基于将与标签描述符属性相关联的信息映射到转发语义来选择边界网关协议标签。
[0024]在一个示例实施方式中,其中一个或多个指令在由一个或多个处理器执行时还使得一个或多个处理器:标识与边界网关协议标签的集合中的另一边界网关协议标签的另一标签描述符属性相关联的另一转发语义;以及其中使得一个或多个处理器选择边界网关协议标签的一个或多个指令还使得一个或多个处理器:基于另一转发语义和转发语义来选择边界网关协议标签。
[0025]在一个示例实施方式中,其中一个或多个指令在由一个或多个处理器执行时还使得一个或多个处理器:确定用于转发语义的第一得分和用于另一转发语义的第二得分;以及其中使得一个或多个处理器选择边界网关协议标签的一个或多个指令还使得一个或多个处理器:基于第一得分和第二得分来选择边界网关协议标签。
【附图说明】
[0026]图1是这里描述的示例实现方式的概括的图;
[0027]图2是其中可以实现这里描述的系统和/或方法的示例环境的图;
[0028]图3是图2的一个或多个设备的示例部件的图;
[0029]图4是用于利用与边界网关协议(BGP)相关联的转发信息来智能地路由网络流量的示例过程的流程图;
[0030]图5A至图5C是包括包含转发信息的标签描述符属性的示例BGP标签的图;
[0031]图6A至图6E是与图4中所示的示例过程相关的示例实现方式的图。
【具体实施方式】
[0032]以下对示例实现方式的详细描述参照附图。不同的附图中相同的附图标记可以标识相同或相似的元件。
[0033]可以由网络利用边界网关协议(BGP)来协助在网络的网络设备(诸如,边缘设备、网关设备、路由反射器、对等设备、服务器等)之间的路由和/或可达性信息的交换。第一网络设备可以向第二网络设备提供BGP标签来公告可达性信息(例如,用于到目的地网络设备的网络流量的路径)。例如,第一网络设备(例如,有BGP标签的单播发出者,诸如路由设备等)可以向第二网络设备(例如,入口提供者边缘服务器)公告标签,该第二网络设备从网络流量源接收网络流量。该标签可以与特定转发语义(例如,转发动作、执行转发的特定网络设备的网络设备属性、在执行转发的特定网络设备和目的地网络设备之间的连接的网络连接属性等)相关联。基于与第一标签和第二标签相关联的相应转发语义,第一标签相对于第二标签可以是优选的。这里描述的实现方式可以在提供BGP标签时协助提供描述转发语义的转发信息,由此协助用于路由流量的BGP的选择。
[0034]图1是这里描述的实现方式100的概括的图。如图1所示,网络可以包括多个网络设备,诸如第一网络设备、第二网络设备和第三网络设备。假设第一网络设备和第二网络设备被配置为从第三网络设备向第四网络设备(未示出)路由流量。第一网络设备和第二网络设备可以使用BGP标签来公告可达性。可达性(例如,网络层可达性信息(NLRI)可以表示与指示网络设备可以经由公告可达性信息的特定网络设备而被路由到特定目的地网络设备(第四网络设备)相关联的信息。
[0035]每个BGP标签(例如,由第一网络设备提供的第一 BGP标签和由第二网络设备提供的第二 BGP标签)可以与特定转发语义相关联。例如,特定BGP标签可以与跳出并转发(Pop-and-forward)转发动作、互换转发动作、推送转发动作、跳出并IP转发(Pop-and-1P-forward)转发动作、BGP快速重新路由(FRR)动作等相关联。附加地或者备选地,特定BGP标签可以与I千兆比特带宽(G)下一跳、1G下一跳等相关联。特定网络设备(例如,第一网络设备、第二网络设备等)可以在提供BGP标签时提供标签描述符属性。标签描述符属性可以是BGP可选的过渡路径属性,其可以被包括在公告有BGP标签的前缀的BGP路径更新中。标签描述符属性可以包括由在特定BGP路径更新中公告的MPLS标签值的集合所共享的多协议标签交换(MPLS)转发语义。例如,第一网络设备可以提供具有第一标签描述符属性的第一 BGP标签,该第一标签描述符属性指示第一网络设备将在路由网络流量时执行跳出并IP转发动作。
[0036]如图1进一步示出的,对于特定BGP前缀,第三网络设备可以从第一网络设备接收第一 BGP标签,并且从第二网络设备接收第二 BGP标签。第三网络设备可以基于与每个BGP标签一起包括的相应标签来确定与每个BGP标签相关联的转发语义。基于转发语义,第三网络设备可以在接收用于向目的地设备(例如,与特定BGP前缀相关联的第四网络设备)路由的网络流量时选择BGP标签中的一个标签以用于向目的地设备路由流量。例如,在第一 BGP标签与提供FRR动作相关联并且第二 BGP标签不与提供FRR动作相关联时,第三网络设备可以选择第一 BGP标签,并且可以根据第一 BGP标签(例如,利用FRR动作)使流量经由第一网络设备被路由。
[0037]以这种方式,网络设备可以基于描述与BGP标签相关联的转发语义的标签描述符属性来智能地选择与路由流量相关联的BGP标签。
[0038]图2是其中可以实现这里描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括一个或多个网络设备210-1至210-P(P ^ I)(这里统称为“网络设备(network devices) 210”,并且单独地称为“网络设备(network device) 210”)和一个或多个网络。环境200的设备可以经由有线连接、无线连接或者有线和无线连接的组合来互连。
[0039]网络设备210可以包括能够处理和/或在终点设备之间转移流量的一个或多个设备(例如,一个或多个流量转移设备)。例如,网络设备210可以包括防火墙、路由器、网关、交换机、集线器、桥、反向代理、服务器(例如,代理服务器)、安全设备、入侵检测设备、负载均衡器,或者类似的设备。在一些实现方式中,网络设备210可以包括与经由BGP提供和/或接收信息相关联的流量转移设备。例如,网络设备210可以包括入口提供者边缘设备、路由反射器设备、对等设备、自治系统边界路由器、架顶(ToR)设备等等。
[0040]在第一网络设备210提供BGP标签以用于由第二网络设备210选择时,第一网络设备210可以被叫做副网络设备210。执行BGP标签的选择的第二网络设备210可以被叫做主网络设备210。作为网络流量的源的第三网络设备210可以被叫做源网络设备210,并且作为用于网络流量的目的地的第四网络设备210可以被叫做目的地网络设备210。特定网络设备210例如可以是副网络设备210和目的地网络设备210两者、主网络设备210和副网络设备210两者、主网络设备210和源网络设备21两者等等。附加地或备选地,网络设备210可以从例如作为主网络设备210切换成作为副网络设备210。
[0041]在一些实现方式中,网络设备210可以与一个或多个网络相关联。类似地,一个或多个网络中的网络可以包括一个或多个网络设备210。在一些实现方式中,一个或多个网络可以包括蜂窝网络(例如,长期演进(LTE)网络、3G网络、码分多址接入(CDMA)网络等)、陆上共用移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公用开关电话网络(PSTN))、私用网络、自组网、内联网、互联网、基于光纤的网络、云计算网络等等,和/或这些或其它类型的网络的组合。
[0042]图2中所示的设备的数目和布置仅提供作为示例。在实践中,可以有附加的设备、更少的设备、不同的设备或者与图2所示的设备不同地布置的设备。此外,图2中所示的两个或更多个设备可以在单个设备内实现,或者图2中所示的单个设备可以被实现为多个、分布式的设备。附加地或备选地,环境200的设备的集合(例如,一个或多个设备)可以执行被描述为被环境200的设备的另一集合执行的一个或多个功能。
[0043]图3是设备300的示例部件的图。设备300可以对应于网络设备210。在一些实现方式中,网络设备210可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3中所示,设备300可以包括总线310、处理器320、存储器330、存储部件340、输入部件350、输出部件360以及通信接口 370。
[0044]总线310可以包括准许在设备300的部件之间的通信的部件。处理器320被实现在硬件、固件或者硬件和软件的组合中。处理器320可以包括处理器(例如,中央处理单元(CPU)、图形处理器单元(GPU)、加速处理单元(APU)等)、微处理器和/或理解和/或执行指令的任何处理部件(例如,场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器330可以包括随机存取存储器(RAM)、只读存储器(ROM)、和/或存储信息和/或指令以供处理器320使用的另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器、光存储器等)O
[0045]存储部件340可以存储与设备300的操作和使用相关的信息和/或软件。例如,存储部件340可以包括硬盘(例如,磁盘、光盘、磁光盘、固态盘等)、紧致盘(CD)、数字万用盘(DVD)、软盘、卡带、磁带,和/或另一类型的计算机可读介质以及对应的驱动。
[0046]输入部件350可以包括准许设备300诸如经由用户输入接收信息的部件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风等)。附加地或者备选地,输入部件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)部件、加速度计、陀螺仪、致动器等)。输出部件360可以包括提供来自设备300的输出信息的部件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。
[0047]通信接口 370可以包括类收发器部件(例如,收发器、分离的接收器和发射器等),该类收发器部件使得设备300能够(诸如经由有线连接、无线连接或者有线和无线连接的组合)与其它设备进行通信。通信接口 370可以准许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口 370可以包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、W1-Fi接口、蜂窝网络接口等等。
[0048]设备300可以执行这里描述的一个或多个过程。设备300可以响应于处理器320执行由计算机可读介质(诸如存储器330和/或存储部件340)所存储的软件指令而执行这些过程。计算机可读介质在这里被定义为非瞬态存储器设备。存储器设备包括在单个物理存储设备内的存储空间或者跨多个物理存储设备分散的存储器空间。
[0049]可以经由通信接口 370从另一计算机可读介质或从另一设备将软件指令读取到存储器330和/或存储部件340中。被存储在存储器330和/或存储部件340的软件指令在被执行时可以使得处理器320执行这里描述的一个或多个过程。附加地或备选地,可以使用硬接线的电路装置替代软件指令或者与软件指令结合来执行这里描述的一个或多个过程。因此,这里描述的实现方式并不限于硬件电路装置和软件的任何具体组合。
[0050]图3中所示的部件的数目和布置仅提供作为示例。在实践中,设备300可以包括附加的部件、更少的部件、不同的部件或者与图3所示的部件不同地布置的部件。附加地或备选地,设备300的部件的集合(例如,一个或多个部件)可以执行被描述为被设备300的部件的另一集合执行的一个或多个功能。
[0051]图4是用于利用与边界网关协议(BGP)标签相关联的转发信息来智能地路由网络流量的示例过程400的流程图。在一些实现方式中,图4的一个或多个过程框可以由网络设备210来执行。在一些实现方式中,图4的一个或多个过程框可以由另一设备或者与网络设备210分离的或者包括网络设备210的设备的组合来执行。
[0052]如图4所示,过程400可以包括经由BGP接收一个或多个标签(框410)。例如,网络设备210可以经由BGP接收一个或多个标签(例如,一个或多个BGP标签)。在特定网络设备210接收标签时,特定网络设备210可以被叫做主网络设备210。相比而言,在另一网络设备210公告标签(例如,向主网络设备210发送标签时),该另一网络设备210可以被叫做副网络设备210。例如,主网络设备210可以经由BGP从一个或多个副网络设备210接收一个或多个标签。
[0053]标签可以指的是从副网络设备210向主网络设备210发送的BGP消息,该BGP消息公告目的地网络设备210 (例如,网络流量将被路由到的特定网络设备210)的可达性。例如,副网络设备210可以公告标签,该标签指示网络流量可以从主网络设备210被路由到副网络设备210并且从副网络设备210被路由到目的地网络设备210。在一些实现方式中,标签可以与特定转发语义(例如,在路由网络流量时可以对网络流量执行的动作、与路由网络流量相关联的特定网络设备210的属性、在与路由网络流量相关联的多个网络设备210之间的连接的属性等等)相关联。例如,特定转发语义可以包括执行跳出并转发路由、互换路由、推送路由、跳出并IP转发路由、快速重新路由(FRR)路由、等价多路径(ECMP)路由等相关联。附加地或备选地,标签可以与特定下一跳属性(诸如IG下一跳属性、1G下一跳属性等)相关联。
[0054]在一些实现方式中,主网络设备210可以从特定副网络设备210接收多个标签。例如,主网络设备210可以接收与到第一目的地网络设备210的第一路径相关联的第一标签和与到第二目的地网络设备210的第二路径相关联的第二标签。附加地或备选地,主网络设备210可以接收与用于使用第一路径向第一目的地网络设备210路由流量的第一转发语义相关联的第一标签和与用于使用第一路径向第一目的地网络设备210路由流量的第二转发语义相关联的第二标签。
[0055]在一些实现方式中,主网络设备210可以从多个副网络设备210接收多个标签。例如,主网络设备210可以接收用于经由第一副网络设备210到目的地网络设备210的第一路径的第一标签和用于经由第二副网络设备210到目的地网络设备210的第二路径的第二标签。
[0056]在一些实现方式中,主网络设备210可以接收与(例如,经由BGP路径更新消息接收的)标签描述符属性相关联的特定标签。例如,副网络设备210可以确定与路径(例如,至岫前缀标识的目的地网络设备210的路径)相关联的转发信息(例如,可以被包括在转发表中的转发语义、下一跳信息等),可以将转发信息编码为与特定标签相关联的标签描述符属性,并且可以向主网络设备210提供特定标签描述符属性。在这一情况中,主网络设备210和副网络设备210可以与信息相关联和/或包括与将转发信息映射到经由标签可发送的信息的数据结构。例如,主网络设备210可以包括存储与确定由标签描述符属性的位的特定集合指示的转发语义相关联的信息的数据结构。
[0057]在一些实现方式中,标签描述符属性可以与关联于转发标签描述符属性的特定传播规则相关联。例如,公告标签的BGP路径可以包括由公告用标签标记的路径的第一网络设备210(例如,BGP发出者)附上的标签描述符属性。当重新公告用标签标记的路径(例如,并且分配新标签)时改动协议下一跳(PNH)的另一网络设备210可以基于新标签的改动的转发语义改动标签描述符属性。在一些实现方式中,可以由第三网络设备210 (例如,接受者发出者)引入冗余,该第三网络设备210通过第三网络设备210将标签描述符属性PNH与与其相关联的用标签标记的路径的PNH来接收与标签描述符属性相关联的BGP路径更新。在标签描述符属性PNH不匹配与标签描述符属性相关联的用标签标记的路径的PNH时,第三网络设备210可以确定第二网络设备210未能改动标签描述符属性,并且可以确定该标签描述符属性有错误。
[0058]如图4中进一步示出的,过程400可以包括标识用于一个或多个标签中的标签的标签描述符属性(框420)。例如,网络设备210 (例如,主网络设备210)可以标识标签描述符属性。在一些实现方式中,主网络设备210可以确定与关联于有BGP标签的前缀的BGP路径更新一起包括标签描述符属性。例如,主网络设备210可以利用与标识标签描述符属性相关联的存储的信息来确定与路径更新一起包括标签描述符属性。附加地或备选地,主网络设备210可以包括指示(例如,从特定副网络设备210)接收的信息包括标签描述符属性的信息。在一些实现方式中,主网络设备210可以标识有BGP标签的前缀中的指示包括一个或多个标签描述符属性的信息。例如,副网络设备210可以包括指示位的特定子集和与标签描述符属性相关联的信息(例如,位的组合)。
[0059]如图4中进一步示出的,过程400可以包括基于标签描述符属性来确定转发信息(框430)。例如,网络设备210 (例如,主网络设备210)可以基于标签描述符属性来确定转发信息。在一些实现方式中,主网络设备210可以将标签描述符属性与将标签描述符属性映射到关于标签的转发语义的转发信息的存储的信息进行比较。例如,主网络设备210可以标识标签描述符属性的数字值并且可以确定该数字值对应于跳出并转发动作、互换转发动作等。附加地或备选地,主网络设备210可以标识一个或多个其它值,诸如数字值、字符值等,并且可以确定该一个或多个其它值对应于下一跳信息,诸如下一跳描述、下一跳带宽等。
[0060]如图4中进一步示出的,过程400可以包括基于转发信息来选择用于路由网络流量的标签(框440)。例如,网络设备210 (例如,主网络设备210)可以从一个或多个标签中选择用于路由(例如,经由与标签相关联的特定副网络设备210路由到目的地网络设备210)网络流量的标签。在一些实现方式中,主网络设备210可以基于转发语义来选择标签。例如,主网络设备210可以确定根据特定标签的路由流量(例如,经由与特定标签相关联的网络设备210并且根据与特定标签相关联的转发语义)关联于与根据另一标签的路由流量相比(例如,基于转发语义的优先化)使流量被路由得更快、有少的分组丢失等。附加地或备选地,主网络设备210可以基于选择准则的集合(诸如网络性能准则的组合灯)向多个标签分配得分,并且可以基于与标签相关联的得分来选择标签。
[0061]在一些实现方式中,主网络设备210可以选择用于路由网络流量的一部分(例如,网络分组的流、网络分组的组合)的标签。例如,主网络设备210可以利用该标签以用于路由网络流量的第一部分并且可以利用另一标签以用于路由网络流量的第二部分。在一些实现方式中,主网络设备210可以基于确定提供针对网络流量的部分的优先处理来选择网络流量的部分。例如,主网络设备210可以基于与网络流量的部分相关联的网络流量的类型、网络流量的部分的源、与网络流量的部分相关联的服务参数的质量等来确定网络流量的部分要接受优先处理。在这一情况中,主网络设备210可以基于标签与转发语义相关联来利用该标签,该转发语义相比于与其它标签相关联的其它转发语义提供优先处理。
[0062]如图4中进一步示出的,过程400可以包括基于选择标签来朝着与标签相关联的网络设备路由网络流量(框450)。例如,网络设备210(例如,主网络设备210)可以使得流量朝着与标签相关联的另一网络设备210 (例如,副网络设备210)被路由,并且副网络设备210可以朝着又一网络设备210(例如,目的地网络设备210)路由网络流量。在一些实现方式中,主网络设备210可以在路由网络流量时使得特定转发动作被执行。例如,主网络设备210可以基于与标签相关联的特定转发语义来选择标签,并且副网络设备210可以基于主网络设备210利用该标签而在接收到网络流量时执行特定转发动作。
[0063]虽然图4示出了过程400的示例框,但是在一些实现方式中,过程400可以包括附加的框、更少的框、不同的框,或者与图4中描绘的框不同地布置的框。附加地或备选地,可以并行地执行过程400的框中的两个或更多个框。
[0064]图5A至图5C是包括包含转发信息的标签描述符属性的示例BGP标签的示例实现方式500的图。图5A至图5C示出了包括标签描述符属性的BGP标签的示例。
[0065]如图5A中所示,“BGP标签描述符属性”可以包括提供关于可以有BGP前缀标识的特定目的地网络设备210的可达性的信息的位的组合。如BGP标签描述符属性的第一行中所示,可以利用长度字段来指定属性数据的长度。长度字段描述包括标签描述符属性的BGP标签的位的数量。如BGP标签描述符属性的第二行中所示,BGP标签描述符属性包括描述目的地网络设备210的可达性的编码的标签值,诸如用RFC3107编码的标签值等。如BGP标签描述符属性的第三行中所示,BGP标签描述符属性包括协议下一跳长度字段(PNH-长度)以提供关于描述协议下一跳地址(PNH)的位的数量的信息,该协议下一跳地址(PNH)标识意在接收和/或处理与相关联的标签一起发送的MPLS流量,其也在BGP标签描述符属性的第三行中示出。如BGP标签描述符属性的第四行中所示,BGP标签描述符属性包括提供下一跳信息(例如,“Num-下一跳脚”)和与提供关于与标签相关联的路径的下一跳的信息(诸如与指示下一跳脚被用于FRR的相关联的信息、与指示下一跳脚被用于ECMP相关联的信息等)的多个位(例如,“标记”)。
[0066]如图5A中进一步示出的,并且在BGP标签描述符属性的第五行中,可以关于标签的转发语义提供信息。例如,该信息可以包括类型-长度-值(TLV)信息。类型字段可以是与标识标签操作的类型相关联的位的位元组的集合,长度字段可以是与标识值字段的长度相关联的位的位元组的集合,并且值字段可以是子TLV提供的信息的集合。关于图5B和图5C详细示出了一个或多个“标签-语义TLV”。
[0067]如图5B中所示,可以利用在图5A中所示的BGP标签描述符属性的标签-语义TLV来提供针对第一下一跳脚的转发语义信息。如“标签-语义TLV”的第一行中所示出的,特定位的组可以提供关于转发动作的信息。如参考标记505所示的,网络设备210可以包括与将“标签语义”值映射到特定转发语义相关联的信息。例如,特定“标签语义”值可以对应于跳出并转发动作、互换动作、推送动作、跳出和IP查找动作等。在每种情况中,主网络设备210可以在接收标签时将“标签语义”值中的位映射到指示由所述位标识的语义的信息。如在“标签-语义TLV”的第一行中所示的,特定子TLV可以提供指示用于描述在副网络设备210之后的路由(例如,“下一跳描述符TLV”)的信息的长度的长度字段(例如,“长度”)。如在“标签-语义TLV”的第二行中所示的,特定子TLV可以包括另一子TLV信息的集合以提供关于在副网络设备210之后的路由(例如,“下一跳描述符TLV”)的信息(例如,转发语义信息)。关于图5C详细描述“下一跳描述符TLV”。
[0068]如图5C中所示,“下一跳描述符TLV”可以包括关于在在副网络设备210 (例如,由另一副网络设备210的路由)之后的路由的信息。用这一方式,副网络设备210可以在从另一副网络设备210接收标签并且向主网络设备210提供标签时包括与该另一网络设备210相关联的转发语义信息。如“下一跳描述符TLV”的第一行中所示,第一字段(例如,“下一跳描述符类型”)可以提供关于在副网络设备210之后的路由的信息(例如,“下一跳描述符类型”)。如附图标记510所示,网络设备210(例如,主网络设备210)可以包括与将“下一跳描述符类型”字段映射到关于在副网络设备210之后的路由(例如,由另一副网络设备210的路由)的属性的集合相关联的信息。还可以包括位的其它集合(例如,“标记”)以通过附加的情境信息(例如,另一副网络设备210的属性、连接副网络设备210和另一副网络设备210的网络连接的属性等)。附加或备选地,如“下一跳-描述符TLV”的第三行和第四行中所示的,一个或多个字段(例如,“下一跳TLV属性”)可以包括描述与在副网络设备210之后的路由相关联的属性的信息。
[0069]用这种方式,可以生成包括用于描述转发语义的位的集合的标签。
[0070]如上文指出的,图5A至图5C仅提供作为示例。其它示例是可能的并且可以与关于图5A至图5C描述的有所不同。
[0071]图6A至图6E是与图4中所示的示例过程400相关的示例实现方式600的图。图6A至图6E示出了利用与边界网关协议(BGP)标签来智能地路由网络流量的示例。
[0072]如图6A中所示,一个或多个网络包括网络设备210的集合,诸如目的地设备210-1 (例如,网络流量的目的地)、路由设备210-2、路由设备210-3、路由设备210-4、边界设备210-5(例如自治系统边界路由器(ASBR)、边界设备210-6(例如,另一 ASBR)、路由设备210-7、和源设备210-8 (例如,入口提供者边缘服务器)。目的地设备210-1与自治系统601相关联,边界设备210-5和路由设备210-2和210-3与自治系统602相关联,边界设备210-6和路由设备210-4与自治系统603相关联,并且源设备210-8和路由设备210-7与自治系统604相关联。如附图标记605所示,边界设备210-5经由路由设备210-7向源设备210-8发送第一标签,该第一标签(例如,经由自治系统602并且经由路由设备210-2和/或路由设备210-3)公告目的地设备210-1的可达性。关于图6B-6D详细描述与第一标签相关联的标签描述符属性。如附图标记610所示,边界设备210-6经由路由设备210-7向源设备210-8发送第二标签,该第二标签(例如,经由自治系统603并且经由路由设备210-4)公告目的地设备210-1的可达性。
[0073]如图6B中所示,第一标签与BGP标签描述符属性相关联,该BGP标签描述符属性包括提供关于经由边界设备210-5的网络流量的路由的信息的多个位的集合(例如,多个位元组)。例如,如BGP标签描述符属性的第二行中所示,BGP标签描述符属性包括按RFC3107格式编码的标签信息(例如,指定路由信息的BGP标签)。如BGP标签描述符属性的第三行中所示,指定PHN长度为4并且将PNH地址指定为回送接口地址(例如,边界设备210-5的虚拟接口 )。如BGP标签描述符属性的第四行中所示,在路由到目的地设备210-1的网络流量中指定了两个下一跳,并且指示了有边界设备210-5对FRR的利用。假设对于不包括FRR的标签(假设第二标签时这样的标签),转发语义FRR的利用是优选的。如BGP标签描述符属性的第五行中所示,与该标签一起包括两个标签语义TLV。分别关于图6C和图6D详细描述两个标签语义TLV。
[0074]如图6C中所示,BGP标签描述符属性的第一标签语义TLV包括多个位的集合(例如,多个位元组)。第一标签语义TLV的第一行包括标识转发动作(例如,跳出并转发)的信息和与解释第一标签语义TLV相关联的信息(例如,第一标签语义TLV的长度“长度”和在第一标签语义TLV中描述的下一跳的数量“一个下一跳”)。如第一标签语义TLV的其余行中所示,第一标签语义TLV提供关于下一跳的信息(诸如描述路由的类型(例如,IPv4)的信息)、指示下一跳是能够转发IPv4有效载荷信息(例如,“C = 1,4 = I”)的直接连接的下一跳标记的集合、与描述下一跳的FRR索引相关联的信息(例如,“I”),以及与提供下一跳的属性相关联的位元组的集合(例如,另一 TLV,“下一跳地址TLV…,诸如路由设备210-2(由第一标签语义TLV描述的下一跳)的网络地址(例如,“10.1.0.1”)。
[0075]如图6D中所示,在第二标签语义TLV中提供了与第一标签语义TLV相似的信息。在这一情况中,提供了路由设备210-3(由第二标签语义TLV描述的下一跳)的网络地址(例如,“10.2.0.2,,)。
[0076]如图6E中所示,并且由附图标记615所示,源设备210_8基于BGP标签描述符来选择边界设备210-5,该BGP标签描述符提供FRR作为转发语义(并且指示边界设备210-6的第二标签不提供FRR)。如附图标记620所示,在边界设备210-5从被标注有BGP标签描述符属性的源设备210-8接收流量时,边界设备210-5使用FRR将网络流量经由路由设备210-2和/或路由设备210-3路由至Ij目的地设备210-1。
[0077]如上文所指出的,图6A至图6E仅提供作为示例。其它示例是可能的并且可以与关于图6A至图6E所描述的有所不同。
[0078]用这种方式,副网络设备210可以在提供关于边界网关协议标签的转发语义的信息的边界网关协议中编码信息,该信息可以由主网络设备210解释以基于转发语义来协助边界网关协议标签的选择。
[0079]以上公开内容提供了图解和描述,但是并不旨在于是穷举的或者将实现方式限于所公开的精确形式。参见以上公开内容,修改和变化是可能的,或者通过实现方式的实践来获得修改和变化。
[0080]如本文所使用的,术语部件旨在于被广义理解为硬件、固件和/或硬件和软件的组合。
[0081]容易理解,这里描述的系统和/或方法可以按硬件、固件和/或硬件和软件的组合的不同形式来实现。用来实现这些系统和/或方法的实际专用的控制硬件或软件代码并不限制实现方式。因此,在这里没有参照具体软件代码描述系统和/或方法的操作和行为一一应当理解软件和硬件能够被设计为基于这里的描述来实现所述系统和/或方法。
[0082]即使在权利要求中记载和/或在说明书中公开了特征的特定组合,这些组合也不旨在于限制可能的实现方式的公开。实际上,许多这些特征可以按未在权利要求中具体记载和/或在说明书中具体公开的方式进行组合。虽然下面列出的每个从属权利要求可能直接从属于仅一个权利要求,但是可能的实现方式的公开内容包括每个从属权利要求与权利要求组中的其它各个权利要求进行结合。
[0083]这里使用的元件、动作或指令不应当被理解为关键或必要的,除非这样明确描述。另外,如这里使用的,冠词“一”和“一种”旨在于包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如这里使用的,术语“组”和“集合”旨在于一个或多个项目(例如,相关的项目、不相关的项目、相关的项目和不相关的项目的组合),并且可以与“一个或多个”互换使用。在意思是仅一个项目处,使用术语“一个”或者类似语言。另外,如这里使用的,术语“具有”、“有”、“拥有”等旨在于是开放的术语。此外,用于“基于”旨在于表示“至少部分地基于”,除非另外明确申明。
【主权项】
1.一种方法,包括: 由设备从一个或多个其它设备接收多个边界网关协议标签; 所述多个边界网关协议标签中的特定边界网关协议标签由所述一个或多个其它设备中的特定设备生成, 所述特定边界网关协议标签与由特定标签描述符属性标识的特定转发语义相关联, 所述特定转发语义被存储在所述特定设备的转发表中, 由所述设备基于所述特定标签描述符属性来确定所述特定转发语义; 由所述设备基于所述特定转发语义来从所述多个边界网关协议标签中选择所述特定边界网关协议标签;以及 由所述设备基于选择所述特定边界网关协议标签来使得网络流量经由所述特定设备朝着目的地设备而被路由。2.根据权利要求1所述的方法,还包括: 标识转发语义的优先化;以及 其中选择所述特定边界网关协议标签还包括: 基于转发语义和所述特定转发语义的所述优先化来选择所述特定边界网关协议标签。3.根据权利要求2所述的方法,其中确定所述特定转发语义还包括: 确定与所述特定边界网关协议标签相关联的下一跳?目息;以及 其中选择所述特定边界网关协议标签还包括: 基于所述下一跳信息来选择所述特定边界网关协议标签。4.根据权利要求2所述的方法,还包括: 使得所述特定设备基于使得所述网络流量朝着所述目的地设备而被路由来执行与所述特定转发语义相关联的转发动作。5.根据权利要求4所述的方法,其中使得所述特定设备执行所述转发动作还包括: 用所述特定边界网关协议标签标注所述网络流量。6.一种用于基于边界网关协议标签路由网络流量的系统,所述系统包括: 用于经由对应的边界网关协议消息的集合来接收边界网关协议标签的集合的装置; 所述边界网关协议标签的集合中的所述边界网关协议标签与标签描述符属性相关联,所述标签描述符属性与提供关于与所述边界网关协议标签相关联的转发语义的信息相关联; 用于基于所述标注描述符属性来选择所述边界网关协议标签以用于朝着与所述边界网关协议标签相关联的网络设备路由网络流量的装置;以及 用于基于所述边界网关协议标签并且在选择所述边界网关协议标签之后朝着所述网络设备路由所述网络流量的装置。7.根据权利要求6所述的系统,其中所述标签描述符属性包括标识以下各项中的至少一项的信息: 与所述网络设备相关联的转发动作, 与所述网络设备相关联的网络设备属性,或者 与关联于所述网络设备的网络连接相关联的网络连接属性。8.根据权利要求6所述的系统,还包括: 用于基于选择所述边界网关协议标签来用所述边界网关协议标签标注所述网络流量的装置;以及 其中用于路由所述网络流量的装置包括: 用于基于用所述边界网关协议标签标注所述网络流量来路由所述网络流量的装置。9.根据权利要求6所述的系统,还包括: 用于基于接收BGP路由更新消息的集合来标识所述标签描述符属性的装置;以及用于基于标识所述标签描述符属性来确定与所述边界网关协议标签相关联的所述转发语义的装置。10.根据权利要求6所述的系统,还包括: 用于获得与关联于所述标签描述符属性到所述转发语义的映射信息相关联的信息的装置; 用于使用获得的所述信息将与所述标签描述符属性相关联的信息映射到所述转发语义的装置;以及 用于基于将与所述标签描述符属性相关联的所述信息映射到所述转发语义来选择所述边界网关协议标签的装置。11.根据权利要求6所述的系统,还包括: 用于标识与所述边界网关协议标签的集合中的另一边界网关协议标签的另一标签描述符属性相关联的另一转发语义的装置;以及 其中用于选择所述边界网关协议标签的装置包括: 用于基于所述另一转发语义和所述转发语义来选择所述边界网关协议标签的装置。12.根据权利要求11所述的系统,还包括: 用于确定用于所述转发语义的第一得分和用于所述另一转发语义的第二得分的装置;以及 其中用于选择所述边界网关协议标签的装置包括: 用于基于所述第一得分和所述第二得分来选择所述边界网关协议标签的装置。
【文档编号】H04L12/723GK106027391SQ201510617797
【公开日】2016年10月12日
【申请日】2015年9月24日
【发明人】K·韦拉瓦卡莱, C·拉马钱德兰
【申请人】瞻博网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1