带内控制平面的制作方法



1.各种示例实施例总体上涉及通信网络,并且更具体地但非排他地涉及支持多协议标签交换(mpls)网络中的带内控制平面。


背景技术:



2.在通信网络中,可以使用各种通信技术来支持各种类型的通信。


技术实现要素:



3.在至少一些示例实施例中,一种装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,其中至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,引起该装置至少:支持多协议标签交换(mpls)分组的通信,mpls分组包括网络控制协议的控制消息、以及指示mpls分组包括网络控制协议的控制消息的控制消息标签,其中网络控制协议被配置为支持mpls网络的控制操作。在至少一些示例实施例中,网络控制协议包括被配置用于mpls网络中的拓扑发现和路径计算的路由协议。在至少一些示例实施例中,网络控制协议包括被配置用于在mpls网络中建立标签交换路径(lsp)的信令协议。在至少一些示例实施例中,网络控制协议包括被配置为支持mpls网络中的操作、管理和维护(oam)功能的oam协议。在至少一些示例实施例中,网络控制协议被配置为使用寻址方案基于mpls网络的类型来标识mpls网络的一组网络元件。在至少一些示例实施例中,标签被用作地址以标识mpls网络的网络元件中的一个。在至少一些示例实施例中,控制消息标签是mpls标签。在至少一些示例实施例中,网络控制协议的控制消息由控制消息标签封装。在至少一些示例实施例中,mpls分组包括控制消息字段,该控制消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括协议类型字段、数据长度字段和协议消息字段,该协议消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括用户数据分组,并且数据长度字段被编码有指示控制消息字段包括用户数据分组的值。在至少一些示例实施例中,网络控制协议的控制消息使用节点标识符字段、消息标识符字段、消息长度字段、消息类型字段和消息数据字段而被编码。在至少一些示例实施例中,mpls分组包括数据分组。在至少一些示例实施例中,数据分组被配置为触发标签交换路径(lsp)的建立,并且网络控制协议的控制消息被配置用于建立lsp。在至少一些示例实施例中,mpls分组包括有效载荷,并且有效载荷包括网络控制协议的控制消息、以及数据分组。在至少一些示例实施例中,mpls分组由数据链路层报头封装。在至少一些示例实施例中,mpls分组包括路由器警告标签,控制消息标签封装网络控制协议的控制消息,并且路由器警告标签封装控制消息标签。在至少一些示例实施例中,mpls分组包括第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,并且第二mpls网络中的lsp标签封装lsp标签。在至少一些示例实施例中,mpls分组包括路由器警告标签和第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,路由器警告标签封装控制消息标签,并且第二mpls网络中的lsp标签封装路由器警告标签。在至少一些示例实施例中,mpls
网络包括基于mpls的以太网桥接网络、mpls-传输简档(mpls-tp)网络或通用mpls(gmpls)网络中的至少一项。在至少一些示例实施例中,为了支持mpls分组的通信,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,引起该装置至少:由节点获取网络控制协议的控制消息、以及网络控制协议的控制消息的目的地的指示,由节点将控制消息标签与网络控制协议的控制消息相关联,以形成mpls分组,以及由节点向网络控制协议的控制消息的目的地发送mpls分组。在至少一些示例实施例中,为了支持mpls分组的通信,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,引起该装置至少:由节点接收mpls分组,由节点基于控制消息标签确定mpls分组包括网络控制协议的控制消息,以及由节点处理网络控制协议的控制消息。
4.在至少一些示例实施例中,一种计算机可读介质存储计算机程序代码,该计算机程序代码被配置为引起装置至少:支持多协议标签交换(mpls)分组的通信,mpls分组包括网络控制协议的控制消息、以及指示mpls分组包括网络控制协议的控制消息的控制消息标签,其中网络控制协议被配置为支持mpls网络的控制操作。在至少一些示例实施例中,网络控制协议包括被配置用于mpls网络中的拓扑发现和路径计算的路由协议。在至少一些示例实施例中,网络控制协议包括被配置用于在mpls网络中建立标签交换路径(lsp)的信令协议。在至少一些示例实施例中,网络控制协议包括被配置为支持mpls网络中的操作、管理和维护(oam)功能的oam协议。在至少一些示例实施例中,网络控制协议被配置为使用寻址方案基于mpls网络的类型来标识mpls网络的一组网络元件。在至少一些示例实施例中,标签被用作地址以标识mpls网络的网络元件中的一个。在至少一些示例实施例中,控制消息标签是mpls标签。在至少一些示例实施例中,网络控制协议的控制消息由控制消息标签封装。在至少一些示例实施例中,mpls分组包括控制消息字段,该控制消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括协议类型字段、数据长度字段和协议消息字段,该协议消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括用户数据分组,并且数据长度字段被编码有指示控制消息字段包括用户数据分组的值。在至少一些示例实施例中,网络控制协议的控制消息使用节点标识符字段、消息标识符字段、消息长度字段、消息类型字段和消息数据字段而被编码。在至少一些示例实施例中,mpls分组包括数据分组。在至少一些示例实施例中,数据分组被配置为触发标签交换路径(lsp)的建立,并且网络控制协议的控制消息被配置用于建立lsp。在至少一些示例实施例中,mpls分组包括有效载荷,并且有效载荷包括网络控制协议的控制消息、以及数据分组。在至少一些示例实施例中,mpls分组由数据链路层报头封装。在至少一些示例实施例中,mpls分组包括路由器警告标签,控制消息标签封装网络控制协议的控制消息,并且路由器警告标签封装控制消息标签。在至少一些示例实施例中,mpls分组包括第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,并且第二mpls网络中的lsp标签封装lsp标签。在至少一些示例实施例中,mpls分组包括路由器警告标签和第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,路由器警告标签封装控制消息标签,并且第二mpls网络中的lsp标签封装路由器警告标签。在至少一些示例实施例中,mpls网络包括基于mpls的以太网桥接网络、mpls-传输简档(mpls-tp)网络或通用mpls(gmpls)网络中的至少一项。在至少一些示例实施例中,为了支持mpls分组的通信,该计算机程序代码被配置为引起该装置至少:由节点获取网络控制协议的控制消息、以及网
络控制协议的控制消息的目的地的指示,由节点将控制消息标签与网络控制协议的控制消息相关联,以形成mpls分组,以及由节点向网络控制协议的控制消息的目的地发送mpls分组。在至少一些示例实施例中,为了支持mpls分组的通信,该计算机程序代码被配置为引起该装置至少:由节点接收mpls分组,由节点基于控制消息标签确定mpls分组包括网络控制协议的控制消息,以及由节点处理网络控制协议的控制消息。
5.在至少一些示例实施例中,一种方法包括:支持多协议标签交换(mpls)分组的通信,mpls分组包括网络控制协议的控制消息和指示mpls分组包括网络控制协议的控制消息的控制消息标签,其中网络控制协议被配置为支持mpls网络的控制操作。在至少一些示例实施例中,网络控制协议包括被配置用于mpls网络中的拓扑发现和路径计算的路由协议。在至少一些示例实施例中,网络控制协议包括被配置用于在mpls网络中建立标签交换路径(lsp)的信令协议。在至少一些示例实施例中,网络控制协议包括被配置为支持mpls网络中的操作、管理和维护(oam)功能的oam协议。在至少一些示例实施例中,网络控制协议被配置为使用寻址方案基于mpls网络的类型标识mpls网络的一组网络元件。在至少一些示例实施例中,标签被用作地址以标识mpls网络的网络元件中的一个。在至少一些示例实施例中,控制消息标签是mpls标签。在至少一些示例实施例中,网络控制协议的控制消息由控制消息标签封装。在至少一些示例实施例中,mpls分组包括控制消息字段,该控制消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括协议类型字段、数据长度字段和协议消息字段,该协议消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括用户数据分组,并且数据长度字段被编码有指示控制消息字段包括用户数据分组的值。在至少一些示例实施例中,网络控制协议的控制消息使用节点标识符字段、消息标识符字段、消息长度字段、消息类型字段和消息数据字段而被编码。在至少一些示例实施例中,mpls分组包括数据分组。在至少一些示例实施例中,数据分组被配置为触发标签交换路径(lsp)的建立,并且网络控制协议的控制消息被配置用于建立lsp。在至少一些示例实施例中,mpls分组包括有效载荷,并且有效载荷包括网络控制协议的控制消息、以及数据分组。在至少一些示例实施例中,mpls分组由数据链路层报头封装。在至少一些示例实施例中,mpls分组包括路由器警告标签,控制消息标签封装网络控制协议的控制消息,并且路由器警告标签封装控制消息标签。在至少一些示例实施例中,mpls分组包括第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,并且第二mpls网络中的lsp标签封装lsp标签。在至少一些示例实施例中,mpls分组包括路由器警告标签和第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,路由器警告标签封装控制消息标签,并且第二mpls网络中的lsp标签封装路由器警告标签。在至少一些示例实施例中,mpls网络包括基于mpls的以太网桥接网络、mpls-传输简档(mpls-tp)网络或通用mpls(gmpls)网络中的至少一项。在至少一些示例实施例中,支持mpls分组的通信包括:由节点获取网络控制协议的控制消息、以及网络控制协议的控制消息的目的地的指示,由节点将控制消息标签与网络控制协议的控制消息相关联,以形成mpls分组,以及由节点向网络控制协议的控制消息的目的地发送mpls分组。在至少一些示例实施例中,支持mpls分组的通信包括:由节点接收mpls分组,由节点基于控制消息标签确定mpls分组包括网络控制协议的控制消息,以及由节点处理网络控制协议的控制消息。
6.在至少一些示例实施例中,一种装置包括:用于支持多协议标签交换(mpls)分组
的通信的部件,mpls分组包括网络控制协议的控制消息、以及指示mpls分组包括网络控制协议的控制消息的控制消息标签,其中网络控制协议被配置为支持mpls网络的控制操作。在至少一些示例实施例中,网络控制协议包括被配置用于mpls网络中的拓扑发现和路径计算的路由协议。在至少一些示例实施例中,网络控制协议包括被配置用于在mpls网络中建立标签交换路径(lsp)的信令协议。在至少一些示例实施例中,网络控制协议包括被配置为支持mpls网络中的操作、管理和维护(oam)功能的oam协议。在至少一些示例实施例中,网络控制协议被配置为使用寻址方案基于mpls网络的类型标识mpls网络的一组网络元件。在至少一些示例实施例中,标签被用作地址以标识mpls网络的网络元件中的一个。在至少一些示例实施例中,控制消息标签是mpls标签。在至少一些示例实施例中,网络控制协议的控制消息由控制消息标签封装。在至少一些示例实施例中,mpls分组包括控制消息字段,该控制消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括协议类型字段、数据长度字段和协议消息字段,该协议消息字段包括网络控制协议的控制消息。在至少一些示例实施例中,控制消息字段包括用户数据分组,并且数据长度字段被编码有指示控制消息字段包括用户数据分组的值。在至少一些示例实施例中,网络控制协议的控制消息使用节点标识符字段、消息标识符字段、消息长度字段、消息类型字段和消息数据字段而被编码。在至少一些示例实施例中,mpls分组包括数据分组。在至少一些示例实施例中,数据分组被配置为触发标签交换路径(lsp)的建立,并且网络控制协议的控制消息被配置用于建立lsp。在至少一些示例实施例中,mpls分组包括有效载荷,并且有效载荷包括网络控制协议的控制消息、以及数据分组。在至少一些示例实施例中,mpls分组由数据链路层报头封装。在至少一些示例实施例中,mpls分组包括路由器警告标签,控制消息标签封装网络控制协议的控制消息,并且路由器警告标签封装控制消息标签。在至少一些示例实施例中,mpls分组包括第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,并且第二mpls网络中的lsp标签封装lsp标签。在至少一些示例实施例中,mpls分组包括路由器警告标签和第二mpls网络中的lsp标签,控制消息标签封装网络控制协议的控制消息,路由器警告标签封装控制消息标签,并且第二mpls网络中的lsp标签封装路由器警告标签。在至少一些示例实施例中,mpls网络包括基于mpls的以太网桥接网络、mpls-传输简档(mpls-tp)网络或通用mpls(gmpls)网络中的至少一项。在至少一些示例实施例中,用于支持mpls分组的通信的部件包括:用于通过节点获取网络控制协议的控制消息、以及网络控制协议的控制消息的目的地的指示的部件、用于通过节点将控制消息标签与网络控制协议的控制消息相关联以形成mpls分组的部件、以及用于通过节点向网络控制协议的控制消息的目的地发送mpls分组的部件。在至少一些示例实施例中,用于支持mpls分组的通信的部件包括:用于通过节点接收mpls分组的部件、用于通过节点基于控制消息标签确定mpls分组包括网络控制协议的控制消息的部件、以及用于通过节点处理网络控制协议的控制消息的部件。
附图说明
7.通过结合附图考虑以下详细描述,可以容易理解本文中的教导,在附图中:
8.图1描绘了被配置为支持多协议标签交换(mpls)网络中的带内控制平面的通信系统的示例实施例;
9.图2a-图2c描绘了在通信层次结构的上下文中的mpls信令协议的示例实施例;
10.图3描绘了用于说明基于ldp的mpls lsp的构造的mpls网络的示例实施例;
11.图4描绘了用于说明基于rsvp-te的mpls te-lsp的构造的通信系统的示例实施例;
12.图5描绘了用于说明使用mpls来支持桥接以太网网络中的流量工程的通信系统的示例实施例;
13.图6描绘了在桥接以太网网络上发送的以太网分组的示例实施例;
14.图7描绘了在mpls增强型桥接以太网网络上的mpls te-lsp上发送的桥接以太网分组的示例实施例;
15.图8描绘了在通信层次结构的上下文中呈现的用于mpls的带内控制平面的示例实施例;
16.图9描绘了被配置为支持用于mpls的带内控制平面的mpls分组的示例实施例;
17.图10描绘了被配置用于在被配置为支持用于mpls的带内控制平面的mpls分组中使用的控制消息的示例实施例;
18.图11描绘了通用信令协议的信令协议消息的编码的示例实施例;
19.图12描绘了由节点使用以发起带内控制协议消息的方法的示例实施例;
20.图13描绘了由节点使用以发起带内控制协议消息的方法的示例实施例;
21.图14描绘了由节点使用以处理带内控制协议消息的方法的示例实施例;
22.图15描绘了由节点使用以处理控制协议消息的方法的示例实施例;
23.图16描绘了分组的示例实施例,该分组包括携带要通过mplslsp发送的数据分组的mpls分组;
24.图17描绘了分组的示例实施例,该分组包括携带要通过mplslsp发送的lsp oam分组的mpls分组;
25.图18描绘了分组的示例实施例,该分组包括携带要通过mplslsp-in-lsp发送的数据分组的mpls分组;
26.图19描绘了分组的示例实施例,该分组包括携带要通过mplslsp-in-lsp发送的lsp oam分组的mpls分组;
27.图20描绘了分组的示例实施例,该分组包括携带要通过mplslsp发送的lsp oam分组的mpls分组;
28.图21描绘了分组的示例实施例,该分组包括携带网络控制协议的控制消息的mpls分组;
29.图22描绘了分组的示例实施例,该分组包括携带网络控制协议的控制消息的mpls分组;
30.图23描绘了分组的示例实施例,该分组包括携带用于carrier-in-carrier lsp的网络控制协议的控制消息的mpls分组;
31.图24描绘了分组的示例实施例,该分组包括携带通过第二网络传输的用于第一网络的网络控制协议的控制消息的mpls分组;
32.图25描绘了分组的示例实施例,该分组包括携带通过第二网络传输的用于第一网络的网络控制协议的控制消息的mpls分组;
33.图26描绘了被配置为支持mpls网络中的带内控制平面的方法的示例实施例;以及
34.图27描绘了适用于执行本文中呈现的各种功能的计算机的示例实施例。
35.为了便于理解,本文中尽可能使用相同的附图标记表示在各个图中共同的相同元素。
具体实施方式
36.呈现了用于支持带内控制平面的各种示例实施例。用于支持带内控制平面的各种示例实施例可以被配置为支持多协议标签交换(mpls)网络中的带内控制平面。用于支持mpls网络中的带内控制平面的各种示例实施例可以被配置为通过以下方式来支持mpls网络中的带内控制平面:支持控制协议的控制协议分组作为mpls分组的交换,使得控制协议消息传递沿着mpls数据平面本身在带内。用于支持mpls网络中的带内控制平面的各种示例实施例可以被配置为通过以下方式来支持mpls网络中的带内控制平面:支持mpls分组的通信,该mpls分组使用mpls标签封装控制协议的控制协议消息,该mpls标签指示mpls分组的有效载荷携带控制协议的控制协议消息。基于对包括网络控制协议在内的各种类型的控制协议的控制协议分组的交换的支持,用于支持mpls网络中的带内控制平面的各种示例实施例可以被配置为支持mpls网络中的带内控制平面协议,上述控制协议诸如被配置用于mpls网络中的拓扑发现和路径计算的路由协议、被配置用于在mpls网络中建立mpls标签交换路径(lsp)的信令协议、被配置为支持mpls网络中的操作、管理和维护(oam)功能的oam协议等、以及其各种组合。应当理解,支持带内控制平面的这些和各种其他示例实施例和优点或潜在优点可以通过参考下面进一步讨论的各种附图来进一步理解。
37.图1描绘了被配置为支持mpls网络中的带内控制平面的通信系统的示例实施例。通信系统100包括通信网络110和控制器120。通信网络110是分组交换网络,该分组交换网络包括一组路由器111-1~111-8(统称为路由器111,在本文中也使用符号rx来引用)和一组通信链路119,路由器111经由该组通信链路119通信连接。例如,通信网络110可以是基于mpls的网络或mpls相关网络。通信网络110被配置为支持用于支持业务通信的各种数据平面功能和控制平面功能。通信网络110被配置为支持带内mpls控制平面。通信网络110被配置为通过以下方式来支持带内mpls控制平面:支持控制协议的控制协议分组作为mpls分组的交换,使得控制协议消息传递沿着mpls数据平面本身在带内。通信网络110被配置为通过以下方式来支持mpls网络中的带内控制平面:支持mpls分组的通信,该mpls分组使用mpls标签封装控制协议的控制协议消息,该mpls标签指示mpls分组的有效载荷携带控制协议的控制协议消息。路由器111-1~111-8分别包括被配置为提供用于支持带内mpls控制平面的各种功能的带内控制平面元件112-1~112-8(统称为带内控制平面元件112)。控制器120被配置为为通信网络110提供各种控制功能(例如,维护网络拓扑和流量工程信息、计算通信网络110中的入口路由器的源路由等、以及其各种组合)。控制器120包括被配置为支持用于支持带内mpls控制平面的各种功能的带内控制平面元件121。通过首先考虑分组交换网络的各个方面,并且更具体地考虑mpls相关网络的各个方面,可以进一步理解用于支持通信网络110内的带内mpls控制平面的各种示例实施例。
38.各种示例实施例被配置为提供适用于mpls网络的通用控制平面。通过首先考虑mpls网络的各个方面,可以进一步理解被配置为提供适用于mpls网络的通用控制平面的各
种示例实施例。
39.使用mpls,分组第一次进入网络时,分组被分配给特定转发等效类(fec),该fec通过向分组附加标签来指示。网络中的每个节点具有表,该表指示如何处理特定fec类型的分组,使得一旦分组进入网络,节点就不需要执行报头分析。相反,后续路由器将标签用作表中的索引,该索引指示该分组的下一跳及其相关标签。这使mpls网络有能力以一致的方式处理具有特定特性的分组(例如,来自特定端口、承载特定应用类型的业务等)。承载实时业务(诸如语音或视频)的分组可以轻松映射到网络中的低延迟路由,这通常是传统路由的挑战。在mpls中,标签提供了一种将附加信息附加到每个分组的方法——除转发分组的节点中已经存在的信息之外的信息。
40.mpls并不完全适合开放系统互连(osi)模型,并且对于mpls是第2层服务还是第3层服务一直存在混淆。mpls有时被称为第2.5层服务。事实上,mpls的主要优势中的一个是,它将转发机制与底层数据链路服务分开。换言之,mpls可以用于为任何底层协议创建转发表(因此在mpls中称为“多协议”)。
41.在分层层次结构中,mpls可以位于数据链路层与提供mpls层的用户有效载荷之间。更具体地,数据链路层可以设置在物理层附近和上方,mpls层可以设置在数据链路层附近和上方,用户有效载荷可以设置在mpls层附近和上方。mpls层由用于转发mpls分组的机制组成,该mpls分组通常称为mpls数据平面(例如,上述层次结构中的mpls层就是mpls数据平面)。
42.在mpls中,mpls节点基于fec中的标准来建立标签交换路径(lsp),这是用于在mpls网络中路由业务的预定路径。然后,可以在lsp建立之后执行mpls转发。可以理解,lsp可以是单向的,也可以是双向的。当最终用户将业务发送到mpls网络中时,位于网络边缘的入口mpls节点将mpls标签添加到分组中,然后标记的分组(例如,mpls分组)被发送给lsp的下一跳。通过在每个中转节点交换标签,标记的分组沿着lsp的路径被转发,直到该分组被弹出标签的出口节点接收。
43.在mpls中,可以通过mpls信令协议沿着mpls网络中的路径自动构造mpls lsp。例如,mpls信令协议可以包括可以在传输控制协议(tcp)之上运行的信令协议,而tcp又在互联网协议(ip)之上运行,诸如标签分发协议(ldp)、基于约束的ldp(cr-ldp)、边界网关协议(bgp)或其他合适的协议。例如,mpls信令协议可以包括在ip之上运行的信令协议,诸如资源保留协议-流量工程(rsvp-te)、开放最短路径优先(ospf)、ospfv3或其他合适的协议。例如,mpls信令协议可以包括信令协议,该信令协议可以在mpls网络中的两个节点之间的任何第2层(数据链路层)技术之上运行,诸如中间系统到中间系统(is-is)或其他合适的协议。应当理解,如本文中进一步讨论的,rsvp-te和cr-ldp可以构造流量工程lsp(te-lsp)。可以理解,通过参考图2a-图2c可以进一步理解在osi分层层次结构中这样的mpls信令协议的使用。
44.图2a-图2c描绘了在通信层次结构的上下文中的mpls信令协议的示例实施例。
45.图2a描绘了说明在osi分层层次结构内定位某些mpls信令协议(即,在ip之上的tcp之上运行的信令协议)的示例实施例。如图2a所示,ldp、cr-ldp和bgp位于tcp之上,而tcp又位于ip之上。图2a的示例说明了这样的控制协议的带外操作,使得控制协议不使用mpls数据平面。本文中呈现了用于支持带内mpls控制平面的各种示例实施例,该带内mpls
控制平面支持使用mpls数据平面在mpls之上操作这样的控制平面协议。
46.图2b描绘了说明osi分层层次结构中某些信令协议(即,在数据链路层之上的ip之上运行的信令协议)的位置的示例实施例。如图2b所示,rsvp-te、ospf和ospfv3位于ip之上,而ip又位于数据链路层之上。图2b的示例说明了这样的控制协议的带外操作,使得控制协议不使用mpls数据平面。本文中呈现了用于支持带内mpls控制平面的各种示例实施例,该带内mpls控制平面支持使用mpls数据平面在mpls之上操作这样的控制平面协议。
47.图2c描绘了说明osi分层层次结构中某些信令协议(即,在数据链路层之上运行的信令协议)的位置的示例实施例。如图2c所示,is-is位于数据链路层之上,而数据链路层又位于物理层之上。图2c的示例说明了这样的控制协议的带外操作,以使得控制协议不使用mpls数据平面。本文中呈现了用于支持带内mpls控制平面的各种示例实施例,该带内mpls控制平面支持使用mpls数据平面在mpls之上操作这样的控制平面协议。
48.应当理解,如本文中进一步讨论的,使用支持在mpls之上操作这样的控制平面协议(例如,如图2a-图2c所示)的带内mpls控制平面,可以消除对使用ip来支持mpls控制协议的需要(尽管可以理解,ip仍然可以被支持和用于各种目的)。
49.应当理解,用于支持带内mpls控制平面的至少一些这样的示例实施例可以通过参考图3(图3说明了基于ldp的mpls lsp的构造)和图4(图4说明了基于rsvp-te的mpls te-lsp的构造)来进一步理解。
50.图3描绘了用于说明基于ldp的mpls lsp的构造的mpls网络的示例实施例。在图3中,mpls网络300包括节点r1~r8,节点r1~r8用于说明使用ldp构造mpls lsp。在图3中,考虑使用ldp建立从r1到r8的lsp的示例。每个节点配置有至少一个环回(loopback)ip地址。这里,假定节点rx的环回ip地址为ip-x。例如,r5的环回ip地址为ip-5。链路的端点也被分配ip地址,以便使用如内部网关协议(igp)等动态路由协议在节点之间提供ip连接。每个节点运行igp,igp将其环回地址和直接连接的链路的状态/成本作为链路状态通告(lsa)进行泛洪。每个节点还泛洪从相邻节点接收的lsa。通过这种泛洪机制,每个节点接收到描述整个网络的拓扑的lsa。从所接收的lsa中,每个节点构建网络的相同拓扑数据库。然后,每个节点通过在其拓扑数据库上使用最短路径优先(spf)计算(例如,基于spf算法,诸如djikstra算法)来计算到每个其他节点的最短路径。计算出的路径被安置到ip路由表中,ip路由表是网络中的节点之间的ip连接的基础。例如,假定从r1到r8的最短路径是r1-》r2-》r4-》r7-》r8。如下面将进一步讨论的,可以理解,在从r1到r8的最短路径上创建lsp可以使用各种协议来支持,诸如ldp、ospf、ospfv3和is-is。
51.在ldp中,lsp在网络中由转发等效类(fec)唯一标识。基于lsp的性质/应用,各种fec类型是可能的。在该示例中,ldp lsp由lsp的目的地节点的环回ip地址标识。因此,lsp的fec是目的地节点的环回ip地址。
52.在ldp中,每个节点为其环回地址创建fec,并且从其本地标签空间为fec分配标签。然后,节点中的ldp将{fec,标签}的标签映射消息通告给其所有相邻节点。在接收到标签映射消息时,节点从其本地标签空间为fec分配标签,并且将标签映射通告给其邻居。以这种方式,针对网络中的所有其他节点的环回地址,网络中的每个节点从其邻居接收标签映射。例如,假定由节点a通告的环回ip地址ip-x的标签为lx-a。因此,由节点r8向节点r6和r7通告的ip-8的标签为l8-8。r8进而将ip-8的标签l8-6通告给其每个邻居,包括节点r5、r7
和r8。对于fec ip-x,节点a选择由ip-x的最短路径下一跳b通告的标签lx-b作为下一跳标签,然后将其通告的标签lx-a交叉连接到下一跳标签lx-b。因此,由节点a接收的带有标签lx-a的mpls分组与下一跳标签lx-b交换,并且分组被发送给下一跳b。
53.在ldp中,以这种方式,构造从一个节点到网络中的每个其他节点的mpls lsp,其中lsp遍历到目的地节点的ip最短路径。例如,r1从r2接收带有标签l8-2的用于ip-8的标签映射。因此,r1向r8发送带有标签l8-2的mpls分组。r2从r3接收带有标签l8-3的ip-8的标签映射,从r4接收带有标签l8-4的ip-8的标签映射,并且从r5接收带有标签l8-5的ip-8的标签映射;然而,r2选择标签l8-4作为下一跳标签,因为它到ip-8的最短路径下一跳为r4。因此,r2将所接收的mpls分组的标签l8-2与标签l8-4交换,并且将mpls分组发送给r4。最终,mpls分组沿着遵循最短路径r1-》r2-》r4-》r7-》r8的lsp ip-8被递送。由于ldp在tcp之上运行,因此ldp消息在节点之间被可靠地递送。注意,每个目的地只能有一个ldp信令lsp,因为fec是目的地ip地址。还应当注意,这样的lsp可以称为尽力而为lsp(be-lsp),因为到目的地的所有业务在同一lsp上被转发,而与lsp的路径上经历的拥塞无关。
54.可以理解,ospf、ospfv3和is-is遵循类似于ldp的范例来构造节点之间的mpls lsp。这些igp包括用于ip-x的在lsa中环回地址ip-x的标签映射。这些igp具有用于消息的可靠递送的内置(built-in)机制。例如,接收节点将消息的接收的确认(ack)发送回发送节点,并且如果发送节点在预定时间段内没有接收到ack,则发送节点重传该消息。
55.图4描绘了用于说明基于rsvp-te的mpls te-lsp的构造的通信系统的示例实施例。在图4中,通信系统400包括节点r1~r8和路径计算单元(pce),它们用于说明基于rsvp-te的mpls te-lsp的构造。te-lsp被构造以保证在te-lsp上传输的分组流的服务质量(qos)。通常,用于描述qos的参数是带宽(bw)、延迟等。网络中的每个链路分配有te度量,诸如最大bw、可用bw、延迟、颜等。然后,igp(例如,ospf、ospfv3、is-is等)使用te-lsa来在网络上泛洪链路的te度量。从泛洪的te-lsa中,每个节点构建相同的流量工程数据库(tedb)。为了建立从第一节点(te-lsp的入口)到第二节点(te-lsp的出口/目的地)的te-lsp,第一块是从第一节点到第二节点的能够保证te-lsp的qos的显式路径的计算。该计算是通过tedb上的约束最短路径优先(cspf)算法以qos参数作为约束来进行的。该计算可以由第一节点进行,也可以由中央控制器(例如,路径计算单元(pce)等)进行,其中中央控制器侦听由网络泛洪的te-lsa并且构建集中式tedb。一旦显式路径被计算出,第一节点使用rsvp-te作为信令协议沿着显式路径构造te-lsp。在rsvp-te中,fec由{入口节点的环回ip地址,出口节点的环回ip地址,隧道id}组成。隧道id(tunnel-id)由入口节点分配,并且充当一对节点之间的te-lsp之间的区分器。因此,一对节点之间可以有多个te-lsp,每个节点遵循不同路径。
56.在图4中,假定为一个te-lsp而计算的从r1到r8的显式路径是r1-》r2-》r5-》r6-》r8。进一步假定r1为te-lsp分配了隧道id100。因此,te-lsp的fec为{ip-1,ip-8,100}。r1发起rsvp-te“path”消息,该消息编码{fec,path={r2-》r5,r5-》r6,r6-》r8},qos},并且在链路r1-》r2上发送消息,即,路径的下一跳。r1还保留链路r1-》r2上的qos资源,并且因此,链路r1-》r2的te度量得到更新。例如,链路中的可用bw会以由te-lsp保留的bw递减。在接收到path消息时,r2为fec创建状态,并且寻下一跳以作为path中的最顶部条目,即,r2-》r5。r2保留链路r2-》r5上的qos资源,并且从path中弹出下一跳。然后r2在r2-》r5链路上转发
path消息{fec,path={r5-》r6,r6-》r8},qos}。遵循相同的过程,path消息最终到达出口节点r8,沿途创建te-lsp的状态。r8分配fec的标签,并且向节点r6发送“resv”消息,其中resv消息对标签映射{fec,label}进行编码。当r6接收到resv消息时,它为fec分配本地标签,并且将本地标签交叉连接到由r8通告的标签。r6将带有标签映射的resv消息发送给其上游节点。遵循相同的过程,r1最终从r2接收到resv消息,这完成te-lsp的构造。注意,沿着路径更新的te度量(由于由te-lsp进行的保留)被te-lsa中的igp泛洪,最终反映在每个节点的tedb中。rsvp-te是一种“软状态”协议,这表示入口节点周期性地为te-lsp发送path消息,以维护te-lsp在沿着其路径的节点中的状态。因此,rsvp-te协议中没有内置可靠的递送机制。cr-ldp以类似于rsvp-te的方式操作以建立te-lsp;然而,由于cr-ldp在tcp之上运行,它的消息被可靠地递送。
57.本文中提出的各种示例实施例被配置为支持带内mpls控制平面。在mpls中,在带外操作的很多控制平面协议都是基于ip的协议,通常需要mpls网络来实现ip并且支持节点之间的ip连接。然而,存在各种类型的mpls网络(例如,mpls增强型以太网桥接网络、mpls-tp网络、通用mpls(gmpls)网络等),其中ip的实现可能脱离上下文、不受欢迎、困难或只是没有完成,从而使mplslsp的建立和/或信令变得困难。应当理解,还存在各种其他基于mpls的网络,其中可以应用用于支持带内mpls控制平面的各种示例实施例以改进基于mpls的网络中的各种控制平面功能。
58.本文中提出的各种示例实施例被配置为基于对带内mpls控制平面的支持来支持在mpls中自动构造te-lsp。
59.mpls可以部署在以太网桥接网络中,以启用高级特征,诸如以太网分组的流量工程(te)。这是一种新兴的范式,特别是对于提供商骨干桥接(pbb)中的骨干网络。在pbb中,骨干网络使用最短路径桥接(spb)在网桥之间构建连接,其中去往目的地网桥的所有分组都沿着最短路径被转发给目的地。spb的一个问题是目的地的所有分组都沿着同一路径被转发,这可能导致分组拥塞和丢失。解决方案是pbb骨干网中的te。为了启用te,骨干网中的以太网桥可以通过mpls交换能力得到增强。第一网桥可以通过mpls路径向第二网桥发送以太网分组,即,通过使用路径的(多个)mpls标签封装以太网分组。网桥进一步使用附加以太网报头封装mpls分组,以将分组转发给直接连接的下一跳网桥。关于图5给出了一个示例。
60.图5描绘了用于说明使用mpls来支持桥接以太网网络中的流量工程的通信系统的示例实施例。在图5中,通信系统500包括节点r1~r8和路径计算元件(pce),它们用于说明使用mpls来支持桥接以太网网络中的流量工程。在图5中,节点r1~r8是以太网桥。假定节点rx的mac地址为m-x。r1向r8发送以太网分组p。
61.在典型的桥接场景(即,没有mpls增强)中,r1会向预先添加以太网报头(eth_hdr),其中源mac地址(smac)为m-1,目的地mac地址(dmac)为m-8。在跨桥接以太网网络上发送的以太网分组的格式在图6中说明。
62.图6描绘了在桥接以太网网络上发送的以太网分组的示例实施例。以太网分组600包括以太网报头和有效载荷。在图5的示例中。以太网分组{eth_hdr={dmac=m-8,smac=m-1},p}通过在节点的mac转发表中查dmac来沿着路径r1-》r2-》r4-》r7-》r8转发。mac转发表可以通过mac学习动作(例如,通过窥探转发分组的smac)或通过mac路由协议(如is-is(在spb中))来构建。这里,去往特定目的地的所有业务遵循相同路径。
63.在桥接场景中,图5的网络通过mpls能力被增强,以用于以太网分组的流量工程。te度量在每条链路上被配置,这些te度量通过is-is或其他合适的协议作为te-lsa在网络上被泛洪。从te-lsa,每个节点构建tedb。例如,假定r1需要将以太网分组发送给r8,以获取需要保证的qos的特定流。然后,通过在tedb上运行cspf,以qos为约束,计算出te路径。例如,假定计算的路径是r1-》r2-》r5-》r6-》r8。然后,构造从r1到r8的te-lsp以传输流的以太网分组。一旦te-lsp被建立,来自流的以太网分组就会在te-lsp上传输。在te-lsp上发送的分组的格式如图7所示。
64.图7描绘了在mpls te-lsp上发送的桥接以太网分组的示例实施例。桥接以太网分组700包括有效载荷、有效载荷上的以太网报头、以太网报头上的mpls标签、以及mpls标签上的网络以太网报头。有效载荷和以太网报头类似于图6的以太网分组。网络以太网报头是用于在两个mpls节点之间交换mpls分组的报头。
65.需要注意的是,由于以太网桥通常不实现任何高层协议,诸如ip、tcp等,因此mpls信令协议可能不支持te-lsp的自动构造,从而限制了mpls增强以太网桥接的部署。
66.相比之下,如上所述,带内mpls控制平面启用对在mpls中自动构造te-lsp的支持,而无需实现ip,因为在mpls中自动构造te-lsp所需要的控制协议直接在mpls数据平面之上运行。
67.本文中提出的各种示例实施例被配置为基于对带内mpls控制平面的支持来支持mpls-tp中lsp的自动构造。mpls-tp是mpls技术的子集,其用于构建基于分组的传输网络。基于分组的传输网络取代了基于sonet/sdh的传统传输网络和其他基于tdm的技术。mpls-tp隧道提供传输网络服务层,通过该服务层可以传输ip和mpls业务。mpls-tp隧道通过静态供应的双向lsp提供该功能。mpls-tp网络没有实现ip,或可能没有ip连接。lsp在沿着显式路径的每个节点处被静态配置,这可能是一个冗长的过程。相比之下,如上所述,带内mpls控制平面启用对在mpls-tp中自动构造lsp的支持,而无需实现ip,因为在mpls-tp中自动构造lsp所需要的控制协议直接在mpls数据平面之上运行。
68.本文中提出的各种示例实施例被配置为基于对带内mpls控制平面的支持来支持gmpls中的拓扑发现和lsp建立。gmpls对mpls进行了概括,因为它定义了用于交换各种类型的第1层业务的标签。不是在每个lsr处使用显式标签来区分lsp,而是使用接收的数据流的某种物理属性来推断数据流所属的lsp。例如,gmpls的方案可以包括使用时隙来标识时分复用(tdm)链路上的lsp,使用波长来标识波分复用(wdm)链路上的lsp,使用在其上接收到分组的光纤或端口,等等。gmpls通常使用rsvp-te来建立lsp并且使用ospf进行拓扑发现,每个都依赖于带外ip控制网络。gmpls节点是第1层设备,因此为该目的而实现ip可能超出这样的设备的上下文。相比之下,如上所述,带内mpls控制平面启用对gmpls中的拓扑发现和lsp建立的支持,而无需实现ip,因为拓扑发现和lsp建立所需要的控制协议直接在mpls数据平面之上运行。
69.各种示例实施例可以被配置为提供直接在mpls数据平面上操作的mpls控制平面,因为mpls数据平面是所有种类的mpls网络中的共同特性。各种示例实施例可以被配置为基于控制协议分组作为mpls分组的交换,而提供直接在mpls数据平面上操作的mpls控制平面,使得控制协议消息传递是“带内”的(即,沿着mpls数据平面本身)。用于mpls的带内控制平面的概念在图8中说明。
70.图8描绘了在通信层次结构的上下文中呈现的用于mpls的带内控制平面的示例实施例。如图8的通信层次结构800所示,控制平面(其可以支持各种类型的控制协议,如图8所示,包括网络控制协议,诸如信令协议、路由协议、oam协议等、以及其各种组合)和用户有效载荷平面位于通信层次结构的同一层,紧接在mpls层上方,以便控制平面和用户有效载荷平面二者都由mpls数据平面在带内传输。在这个意义上,控制平面和相关控制协议消息传递是沿着mpls数据平面本身在带内的。图9中呈现了被配置为支持mpls数据平面内的带内控制协议消息传递的mpls分组的示例实施例。
71.图9描绘了被配置为支持用于mpls的带内控制平面的mpls分组的示例实施例。mpls分组900包括控制消息和控制消息标签(cml)。cml封装控制消息,使得控制消息可以被认为是mpls分组的有效载荷,并且控制消息标签可以被认为是mpls分组的报头。mpls分组的cml指示有效载荷包括控制消息。cml可以是mpls标签或其他合适类型的标签。mpls分组的控制消息包括控制协议的控制协议消息,该控制协议可以是网络控制协议。在这个意义上,可以认为mpls分组的有效载荷中包括的控制协议消息是由cml封装的。注意,以cml作为其最外层标签的mpls分组在本文中也可以被称为cml分组,或更一般地,称为控制消息(cm)分组。当节点接收到cml分组时,该节点基于cml分组的cml而识别出cml分组在有效载荷中包括控制协议消息并且处理有效载荷中的控制协议消息。
72.图10描绘了被配置用于在被配置为支持用于mpls的带内控制平面的mpls分组中使用的控制消息的示例实施例。控制消息1000包括协议类型字段、数据长度字段、协议消息字段以及可选的数据分组。
73.协议类型字段对控制消息1000中包括的控制协议消息的特定控制协议的类型进行编码。控制协议可以是用于建立lsp的信令协议、用于沿着lsp进行路由的路由协议等。注意,控制协议可以使用对mpls网络“原生”的寻址方案。例如,在图5中的以太网桥接网络的情况下,可以使用节点或链路的mac地址。例如,在mpls-tp的情况下,可以使用适合传输网络的寻址方案。例如,在gmpls的情况下,可以使用适合第1层网络的寻址方案。应当理解,无论网络的类型如何,标签本身都可以用作网络元件的地址。用于地址的标签空间可以不同于用于mpls lsp的状态的标签空间。例如,全局标签空间可以用于为网络元件分配地址,而每个节点的本地标签空间可以用于为lsp分配标签。
74.数据长度字段指示搭载到控制消息的数据分组的大小。如果该字段的值为0,则表示控制消息中不包括数据分组。
75.协议消息是由协议类型字段指示的控制协议的消息。应当理解,消息的编码取决于控制协议。
76.可选的数据分组字段可以用于传输用户数据分组,这使得用户数据分组能够被搭载在控制消息上。这可以在用户数据分组已经触发lsp的建立时使用。在这种情况下,用户数据分组可以依赖于沿着指定路径建立lsp的控制消息。因此,第一数据分组的传输和lsp的构造是一个伴随的操作。当出口节点接收到cml分组时(这表示lsp的建立完成),出口节点从cml分组中提取用户数据分组,并且基于其本地报头将用户数据分组递送给其目的地。后续用户数据分组作为常规mpls分组沿着lsp被发送。
77.图11描绘了通用信令协议的信令协议消息的编码的示例实施例。信令协议消息1100被配置为用作图10的控制消息中的协议消息。信令协议消息1100被编码为{node-id,
msg-id,msg len,msg type,msg type specific data}。“node-id”(节点id)对发送节点的网络范围的唯一标识符/地址进行编码。注意,在至少一些实施例中,node-id可以称为lsr-id,即,标签交换路由器(lsr)的标识符。“msg-id”(消息id)对由发送者分配的消息的唯一标识符进行编码。“msg len”指示消息的长度。“msg type”指示控制消息的类型,其后跟随着类型特定数据(“msg type specific data”(消息类型特定数据))。
78.可以支持各种控制消息类型。例如,如下面进一步讨论的,所支持的控制消息类型可以包括邻居发现消息(例如,类型1)、标签映射消息(例如,类型2)、标签请求消息(例如,类型3)、标签撤销消息(例如,类型4)、标签释放消息(例如,类型5)、确认消息(例如,类型6)、通知(例如,类型7)等、以及其各种组合。
79.类型1=邻居发现(nd)。该消息用于发现链路上的相邻节点。第一节点在链路上周期性地传输nd消息。当第二节点在该链路上接收到nd消息时,第二节点与第一节点形成邻接关系。nd消息被编码为{node-id,msg-id,msg len,type=1,hold-time},其中“hold-time”(保持时间)是发送节点维护与邻居的邻接关系而没有接收到来自邻居的另一nd消息的最长时间(例如,以秒为单位)。
80.类型2=标签映射。该消息被用于分发分配给fec的标签。消息被编码为{node-id,msg-id,msg len,type=2,fec,label-type,label,《req-msg-id》}。“fec”对lsp的fec/标识符进行编码。“label”是分配给fec的标签,“label-type”指示标签是上游分配标签(ual)还是下游分配标签(dal)。req-msg-id(请求消息id)是可选参数,如果节点作为对来自邻居的标签请求的响应而发送标签映射,则该参数被包括(参见下面的类型3=标签请求)。在这种情况下,req-msg-id(请求消息id)对标签请求的msg-id进行编码。
81.类型3=标签请求。该消息被用于向邻居请求fec的标签映射。消息被编码为{node-id,msg-id,msg len,type=3,fec,《list_of_hops[]》,《qos》},其中list_of_hops[]是可选参数,其用于对lsp的路径中的跳跃(hop)的有序列表进行编码。当节点接收到fec的标签请求并且该节点没有fec的标签映射时,该节点将标签请求转发给fec的下一跳。当list_of_hops[]存在时,fec的下一跳被指定为list_of_hops[]中的下一跳。
[0082]
类型4=标签撤销。该消息被用于撤销由节点向其邻居发送的标签映射。消息被编码为{node-id,msg-id,msg len,type=4,fec,《list_of_hops[]》},其中list_of_hops[]是可选参数,其用于对lsp的路径中的跳跃的有序列表进行编码。当节点接收到fec的标签请求并且该节点没有该fec的标签映射时,该节点将该标签请求转发给fec的下一跳。当list_of_hops[]存在时,fec的下一跳被指定为list_of_hops[]中的下一跳。
[0083]
类型5=标签释放。该消息被用于向邻居通知从邻居接收的标签映射的释放。通常,标签释放是作为对从邻居接收的标签撤销的响应而发送的(参见上面的类型4=标签撤销)。节点也可以向邻居发送未经请求的标签释放。消息被编码为{node-id,msg-id,msg len,type=5,fec,label-type,label}。
[0084]
类型6=确认(ack)。该消息被用于向邻居确认对来自邻居的消息的接收。该消息确保了消息类型2~5在邻居之间的可靠递送。ack消息被编码为{node-id,msg-id,msg len,type=6,ack-msg-id}。ack-msg-id(确认消息id)对被确认的消息的msg-id进行编码。
[0085]
类型7=通知。该消息被用于向邻居通知错误或故障。该消息被编码为{node-id,msg-id,msg len,type=7,error-code,《error-code-specific-data》},其中error-code
(错误代码)指示特定错误,并且可选的error-code-specific-data(错误代码特定数据)对与错误相关的详细信息进行编码。如果错误是由于处理消息引起的,则error-code-specific-data也可以对消息的相关字段进行编码。例如,如果节点未能处理从邻居接收的标签请求,则它会发送error-code=“标签请求失败”的通知消息、以及error-code-specific-data中的来自标签请求消息的fec和msg-id字段。
[0086]
应当理解,ack消息可以用于支持其他控制消息类型的可靠递送。由于nd消息是由节点周期性地发送的,因此不需要可靠的递送(尽管可以理解,ack消息可以用于支持nd消息的可靠递送)。消息类型2~5可以使用可靠递送来被递送(例如,如果在预定义时间内没有从邻居接收到ack消息,则这些消息类型的发送者可以将消息重传给邻居)。
[0087]
通过考虑基于图5的mpls增强以太网桥接网络的示例,可以进一步理解使用带内mpls控制协议的te-lsp的构造。
[0088]
在该示例中,在网络中,控制消息中的node-id被编码为消息的发送节点的mac地址。对于拓扑发现,可以使用is-is,或者可以实现使用如本文中呈现的带内控制协议的概念的带内路由协议。每个网桥在每个直接连接的链路上周期性地发送nd消息。nd消息用cml封装。当网桥接收到带有作为最顶部标签的cml的mpls分组时,网桥删除标签并且将有效载荷作为控制消息进行处理。当网桥在控制消息中发现nd消息时,网桥与在消息中编码的node-id(mac地址)形成邻接关系。结果,每个网桥与所有相邻网桥形成邻接关系。例如,r4与r2、r5和r7形成邻接关系。
[0089]
在该示例中,网桥r1构造te-lsp以经由显式路径r1-》r2-》r5-》r6-》r8来桥接r8。te-lsp的fec被编码为{入口网桥的mac地址,出口网桥的mac地址,隧道id}。例如,用于示例性te-lsp的隧道id是100。因此,示例性te-lsp的fec是{m-1,m-8,100}。r1发起标签请求消息,该消息被编码为{node-id=m-1,msg-id=10,msg len,type=3,fec={m-1,m-8,100},list_of_hops[]={r2-》r5,r5-》r6,r6-》r8},qos}。r1使用cml封装消息,并且所产生的cml分组在r1-》r2链路上被发送。r1启动定时器以重传消息,如果r1在一定时段内没有接收到来自r2的确认其接收的ack消息,则重传该消息。
[0090]
在该示例中,当r2接收到带有作为最顶部标签的cml的mpls分组时,r2删除标签并且将有效载荷作为控制消息进行处理。当r2在有效载荷中到上述标签请求消息时,r2向r1发送ack消息,该消息被编码为{node-id=m-2,msg-id=2,msg len,type=6,ack-msg-id=10}。r2弹出list_of_hops[]中的最顶部条目,即,r2-》r5并且将其确定为下一跳。然后,r2在r2-》r5上保留qos。如果qos保留失败,则r2向r1发送通知消息,以指示处理标签请求失败,否则r2为fec={m-1,m-8,100}创建状态并且在r2-》r5上发送标签请求消息。标签请求消息被编码为{node-id=m-2,msg-id=5,msglen,type=3,fec={m-1,m-8,100},list_of_hops[]={r5-》r6,r6-》r8},qos}。以这种方式,标签请求遍历路径,并且fec的状态在r5、r6和r8上被创建。
[0091]
在该示例中,当r8从r6接收到标签请求消息时,r8向r6发送ack消息以通知对标签请求消息的接收。r8从标签请求消息中的fec中发现它是出口节点。r8创建fec的状态并且为fec分配本地标签lx。它将标签的状态编程到数据平面中作为出口。然后,r8在r8-》r6链路上向r6发送标签映射消息。标签映射消息被编码为{node-id=m-8,msg-id=2,msg len,type=2,fec={m-1,m-8,100},label-type,label=lx,《req-msg-id》}。
[0092]
在该示例中,当r6从r8接收到标签请求消息时,r6向r8发送ack消息,以通知对标签映射消息的接收。r6寻被编码在标签映射消息中的fec的状态。r6为fec分配本地标签ly,并且将其编程到数据平面中,以用于与lx交换并且在r6-》r8链路上转发。然后,r6向r5发送标签映射消息,该消息被编码为{node-id=m-6,msg-id=20,msg len,type=2,fec={m-1,m-8,100},标签类型,标签=ly,《req-msg-id》}。以这种方式,标签映射就会遍历反向路径,直到到达r1。当r1接收到标签映射消息时,te-lsp的构造完成,并且r1可以开始在lsp上发送以太网分组。
[0093]
应当理解,尽管主要针对其中实现为带内控制协议的控制协议是用于构造lsp的信令协议的示例进行了描述,但实现为带内控制协议的控制协议可以是任何其他合适类型的控制协议(例如,用于lsp的路径计算的拓扑发现的控制协议、用于lsp的路径计算的控制协议、用于lsp的拓扑发现和路径计算的控制协议等、以及其各种组合)。
[0094]
应当理解,尽管主要针对其中特定控制消息类型以特定方式使用和定义的示例实施例进行呈现,但上述控制消息可以以各种其他方式定义,但可以支持各种其他控制消息类型等、以及其各种组合。
[0095]
应当理解,尽管主要针对其中某些控制协议或控制协议类型被修改以在带内操作的示例实施例进行呈现,但是可以被配置为与mpls网络本地的寻址方案一起操作或者可以被修改为与mpls网络本地的寻址方案一起操作的各种控制协议(例如,rsvp、rsvp-te等)可以被配置为基于本文中呈现的各种示例实施例在带内操作。
[0096]
图12描绘了由节点使用以发起带内控制协议消息的方法的示例实施例。在框1201,方法1200开始。方法1200的输入1202包括(1)协议消息(protocol msg),它是要传输的协议消息(例如,图11中描述的通用信令协议的消息)和(2)目的地,它提供邻居或一组邻居的标识。框1210使用cml封装协议消息,产生mpls分组,然后方法1200进行到框1220。框1220将mpls分组发送给目的地,然后方法1200进行到框1299,方法1200在此结束。在框1299,方法1200结束。
[0097]
图13描绘了由节点使用以发起带内控制协议消息的方法的示例实施例。应当理解,图13的方法1300的框1303~1316可以用于实现图12中的框1210的功能。在框1301,方法1300开始。方法1300的输入1302包括(1)协议消息,它是要传输的协议消息(例如,图11中描述的通用信令协议的消息),(2)目的地,它提供邻居或一组邻居的标识,以及(3)数据分组(来自用户),它是可选参数,如果要使用协议消息搭载数据分组,则该参数被包括。框1303确定协议消息所属的协议类型并且将该值存储到局部变量“协议类型”中,然后方法1300进行到框1304。框1304将局部变量“数据长度”初始化为0,并且方法1300然后进行到框1306。框1306使协议消息作为要传输的分组的本体,并且方法1300进行到框1308。框1308检查是否要将数据分组搭载到分组上。如果要将数据分组搭载到分组上,则方法1300进行到框1310,否则方法1300进行到框1314。框1310通过数据分组的大小设置数据长度的值,然后方法1300进行到框1312。框1312将数据分组附加到分组上,然后方法1300进行到框1314。框1314将数据长度和协议类型附加到分组上,这产生控制消息,然后方法1300进行到框1316。框1316将cml推送到控制消息上,这产生要传输的最终的mpls分组,然后方法1300进行到框1318。框1318将mpls分组发送给目的地。该框可以包括将用于目的地的数据链路报头推送到mpls分组上并且在数据链路层上传输。在框1399,方法1300结束。
5884中对此进行了描述。bfd分组在lsp上周期性地传输以用于活跃度检测。
[0103]
图17描绘了包括分组的示例实施例,该分组包括mpls分组,该mpls分组携带要通过mpls lsp发送的lsp oam分组。在图17中,分组1700包括lsp oam分组、lsp标签、路由器警告标签和数据链路层报头。为了区分图17中的lsp oam分组与常规数据分组(图16),一种方法通过路由器警报标签(ral)封装lsp标签,这表明该分组需要被接收节点拦截。ral在rfc 3032中定义,具有以下编码规则。值1表示“路由器警告标签”,并且该标签值在标签堆栈中除底部之外的任何位置都是合法的。当接收的分组在标签栈的顶部包含这个标签值时,它会被递送到本地软件模块以进行处理。分组的实际转发由堆栈中在它下面的标签确定。然而,如果分组被进一步转发,则路由器警告标签应当在转发之前被推送回标签堆栈上。该标签的使用类似于在ip分组中使用“路由器警告选项”。由于该标签不能出现在堆栈的底部,因此它与特定网络层协议无关。ral可以被认为是一种控制标签或控制信道标签,它指示lsp上的控制信道。lsp有效载荷需要由接收节点处理。然后节点在ral下方查lsp标签,并且在lsp标签的上下文中将lsp有效载荷作为lsp oam分组进行处理。在将ral推送到lsp标签之上之后,节点可以进一步在lsp上转发lsp oam分组。lsp oam分组是用于lsp ping/trace和bfd分组两者的ip分组。ip报头中的协议类型进一步区分lsp ping/trace与bfd。lsp ping/trace和bfd二者都对正在测试的lsp的控制平面标识以及很多其他lsp特定信息进行编码。所以,lsp oam协议的范围是正在测试的mpls lsp。
[0104]
图18描绘了包括分组的示例实施例,该分组包括mpls分组,该mpls分组携带要通过mpls lsp-in-lsp(mpls lsp中lsp)发送的数据分组。在图18中,分组1800包括数据分组、lsp-1标签、lsp-2标签和数据链路层报头。在图18中,第一lsp(lsp-1)覆盖在第二lsp(lsp-2)之上。lsp-1的相邻节点通过lsp-2被间接连接。因此,lsp-1标签通过lsp-2被透明传输,直到lsp-1的下一跳(其也是lsp-2的出口节点)。
[0105]
图19描绘了携带要通过mpls lsp-in-lsp(mpls lsp中lsp)发送的lsp oam分组的mpls分组的示例实施例。在图19中,分组1900包括lsp oam分组、lsp-1标签、路由器警报标签、lsp-2标签和数据链路层报头。图19的mpls分组将是携带oam分组以测试图18的lsp-1的mpls分组。
[0106]
图20描绘了携带要通过mpls lsp发送的lsp oam分组的mpls分组的示例实施例。在图20中,分组2000包括lsp oam分组、lsp-2标签、路由器警报标签和数据链路层报头。图20的mpls分组将是携带oam分组以测试图18的lsp-2的mpls分组,其格式类似于图17的格式。
[0107]
图21描绘了携带网络控制协议的控制消息的mpls分组的示例实施例。在图21中,分组2100包括控制消息、控制标签(cml)和数据链路层报头。图21中的分组2100与图16中的分组的区别在于存在特殊控制标签(或cml)。可以理解,可以为cml保留任何合适的值(例如,999k或任何其他合适的值)。当节点接收到带有cml的mpls分组时,它会将有效载荷解释为用于网络控制协议的消息。可以理解,ral不会被用作cml,因为ral编码规则要求在ral下面还有至少一个标签(lsp的标签)。如图21所示,由于控制消息属于mpls网络控制协议(例如,用于拓扑发现、路径路由、lsp信令或节点之间的oam的网络控制协议等),分组中没有lsp(lsp标签)的上下文。换言之,控制标签为mpls网络提供控制信道,这与图17中的ral为lsp提供控制信道相反。
[0108]
图22描绘了包括分组的示例实施例,该分组包括mpls分组,该mpls分组携带网络控制协议的控制消息。在图22中,分组2200包括控制消息、控制标签(cml)、路由器警告标签和数据链路层报头。在图22中,ral被推送到cml之上。例如,这样做的一个动机是,一些传统mpls节点可能需要在其数据平面实现中使用ral来区分异常分组和携带数据分组的mpls分组。图22的分组2200和图17的分组1700的格式看起来很相似。当节点接收到带有ral的分组时,它会寻下一标签,即cml;但是,这里,cml不是lsp标签,而是指示网络控制协议消息位于cml下面。
[0109]
图23描绘了包括分组的示例实施例,该分组包括mpls分组,该mpls分组携带carrier-in-carrier(载波中载波)lsp的网络控制协议的控制消息。在图23中,分组2300包括数据分组、第一网络中的lsp标签、第二网络中的lsp标签和数据链路层报头。这是载波中载波mpls网络的情况,其中第一mpls网络覆盖在第二mpls网络之上。因此,第一mpls网络中的链路由第二mpls网络中的lsp模拟(例如,虚拟链路)。注意,图23的分组2300的格式看起来类似于图18的分组1800的格式;然而,概念上的差异是,在图18中,lsp-1和lsp-2二者都属于同一网络,而在图23中,lsp属于不同网络。
[0110]
图24描绘了包括mpls分组的分组的示例实施例,该mpls分组携带通过第二网络传输的第一网络的网络控制协议的控制消息。在图24中,分组2400包括控制消息、控制标签(cml)、第二网络中的lsp标签和数据链路层报头。这支持在第一mpls网络中的带内网络控制协议的操作。第二网络中的lsp的出口节点(即,用于第一网络中的节点的下一跳)在弹出lsp标签之后寻cml。因此,第二网络中的lsp的出口节点将分组移交给处理第一网络的模块,该模块进而处理用于第一网络的控制消息。
[0111]
图25描绘了包括mpls分组的分组的示例实施例,该mpls分组携带通过第二网络传输的用于第一网络的网络控制协议的控制消息。在图25中,分组2500包括控制消息、控制标签(cml)、路由器警告标签、第二网络中的lsp标签和数据链路层报头。当节点接收到带有ral的分组时,它会寻下一标签,即cml;但是,这里,cml不是lsp标签,而是指示网络控制协议消息位于cml下面。这也支持第一mpls网络中的带内网络控制协议的操作。第二网络中的lsp的出口节点(即,第一网络中的节点的下一跳)在弹出lsp标签之后寻cml。因此,第二网络中lsp的出口节点将分组移交给处理第一网络的模块,该模块进而处理用于第一网络的控制消息。
[0112]
注意,在图24和图25中,虽然{cml,控制消息}是在(第二网络的)lsp标签上接收的,但元组与lsp标签无关(表示它不携带lsp的控制数据)。用于操作第二mpls网络的带内网络控制协议的分组的格式与图21或图22相同。
[0113]
注意,由于本文中提出的各种示例实施例可以适用于其中数据链路层不存在(例如,dwdm(λ交换)、t-mpls等)或由在某种其他网络模拟的各种类型的mpls网络,数据链路层报头可以替换为适合媒体的(多个)报头。例如,在t-mpls中,mpls分组可以通过ip网络或另一mpls网络被透明地传输,因此数据链路层报头可以替换为ip报头(和下面的层)或mpls标签(和下面的层)。例如,在λ交换的情况下,数据链路层报头不存在(因此mpls分组部分直接在网络上传输),并且标签表示光网络中的特定λ。应当理解,各种其他类型的报头可以用于这些或各种其他类型的媒体。
[0114]
图26描绘了被配置为支持mpls网络中的带内控制平面的方法的示例实施例。应当
理解,尽管本文中主要呈现为连续执行,但方法2600的功能的至少一部分可以同时执行或以与图26中呈现的顺序不同的顺序执行。在框2610,支持多协议标签交换(mpls)分组的通信,该mpls分组包括网络控制协议的控制消息和指示mpls分组包括网络控制协议的控制消息的控制消息标签,其中网络控制协议被配置为支持mpls网络的控制操作。在框2699,方法2600结束。
[0115]
应当理解,虽然用于支持带内mpls控制平面的各种示例实施例主要在支持单播lsp的mpls控制平面的上下文中呈现,但是用于支持带内mpls控制平面的各种示例也可以应用在基于被配置为支持多播lsp的控制协议来支持多播lsp(例如,点对多点(p2mp)lsp、多点对多点(mp2mp)lsp等)的mpls控制平面的上下文中(例如,作为ldp的多点扩展的mldp、作为rsvp-te的多点扩展的p2mp rsvp-te等)。
[0116]
用于支持带内mpls控制平面的各种示例实施例可以提供各种优势或潜在优势。例如,用于支持带内mpls控制平面的各种示例实施例可以被配置为通过使用mpls增强桥接网络,在pbb的主干中启用te。例如,支持带内mpls控制平面的各种示例实施例可以被配置为在mpls传输简档(mpls-tp)中启用lsp的带内信令,这消除了对除mpls之外的任何层的需要(尽管可以理解,可以使用一个或多个其他层)。例如,用于支持带内mpls控制平面的各种示例实施例可以被配置为通过使用mpls转发能力增强网桥来在数据中心以太网网络中启用有状态te。例如,用于支持带内mpls控制平面的各种示例实施例可以被配置为使用gmpls数据平面本身启用通用mpls(gmpls)lsp的信令,从而避免需要使用基于ip的控制平面(例如,rsvp-te、ospf等)以支持gmpls与光交换机的互操作性,因为在光交换机中基于ip的控制平面的实现可能并不理想(例如,它可能不太适合,它可能会增加成本,等等)。用于支持带内控制平面的各种示例实施例可以提供各种其他优点或潜在优点。
[0117]
图27描绘了适用于执行本文中呈现的各种功能的计算机的示例实施例。
[0118]
计算机2700包括处理器2702(例如,中央处理单元(cpu)、处理器、具有一组处理器核的处理器、处理器的处理器核等)和存储器2704(例如,随机存取存储器、只读存储器等)。处理器2702和存储器2704可以通信连接。在至少一些示例实施例中,计算机2700可以包括至少一个处理器和包括计算机程序代码的至少一个存储器,其中计算机程序代码被配置为在由至少一个处理器执行时引起计算机执行各种本文中呈现的功能。
[0119]
计算机2700还可以包括协作元件2705。协作元件2705可以是硬件设备。协作元件2705可以是可以加载到存储器2704中并且由处理器2702执行以实现本文中呈现的各种功能的过程(在这种情况下,例如,协作元件2705(包括相关联的数据结构)可以存储在非暂态计算机可读存储介质上,诸如存储设备或其他合适类型的存储元件(例如,磁驱动器、光驱等))。
[0120]
计算机2700还可以包括一个或多个输入/输出设备2706。输入/输出设备2706可以包括一个或多个用户输入设备(例如,键盘、小键盘、鼠标、麦克风、相机或等)、用户输出设备(例如,显示器、扬声器等)、一个或多个网络通信设备或元件(例如,输入端口、输出端口、接收器、传输器、收发器等)、一个或多个存储设备(例如,磁带驱动器、软盘驱动器、硬盘驱动器、光盘驱动器等)等、以及其各种组合。
[0121]
应当理解,计算机2700可以表示适合于实现本文中描述的功能元件、本文中描述的功能元件的部分等、以及其各种组合的通用架构和功能。例如,计算机2700可以提供适合
于实现本文中呈现的一个或多个元件的通用架构和功能,诸如节点或其一部分、控制器或其一部分等、以及其各种组合。
[0122]
应当理解,本文中提出的功能中的至少一些可以在软件中实现(例如,经由一个或多个处理器上的软件的实现,用于在通用计算机上执行(例如,经由一个或多个处理器执行),以提供专用计算机等),和/或可以在硬件中实现(例如,使用通用计算机、一个或多个专用集成电路和/或任何其他硬件等效物)。
[0123]
应当理解,本文中提出的功能中的至少一些可以在硬件内实现,例如,作为与处理器协作以执行各种功能的电路系统。本文中描述的功能/元件的部分可以实现为计算机程序产品,其中计算机指令在由计算机处理时适配计算机的操作,使得本文中描述的方法和/或技术被调用或以其他方式提供。用于调用各种方法的指令可以存储在固定或可移动介质(例如,非暂态计算机可读介质)中,经由广播或其他信号承载介质中的数据流进行传输,和/或存储在根据指令进行操作的计算设备中的存储器内。
[0124]
应当理解,除非另有说明(例如,使用“否则”或“或在替代方案中”),否则本文中使用的术语“或”是指非排他性的“或”。
[0125]
应当理解,尽管在本文中已经详细示出和描述了结合本文中提出的教导的各种实施例,但是本领域技术人员可以容易地设计出仍然结合这些教导的很多其他变化的实施例。

技术特征:


1.一种用于通信的装置,包括:至少一个处理器;以及至少一个存储器,包括计算机程序代码;其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起,引起所述装置至少:支持多协议标签交换(mpls)分组的通信,所述mpls分组包括网络控制协议的控制消息、以及指示所述mpls分组包括所述网络控制协议的所述控制消息的控制消息标签,其中所述网络控制协议被配置为支持mpls网络的控制操作。2.根据权利要求1所述的装置,其中所述网络控制协议包括以下至少一者:被配置用于所述mpls网络中的拓扑发现和路径计算的路由协议,被配置用于在mpls网络中建立标签交换路径(lsp)的信令协议,或者被配置为支持所述mpls网络中的操作、管理和维护(oam)功能的oam协议。3.根据权利要求1所述的装置,其中所述mpls分组包括控制消息字段,所述控制消息字段包括所述网络控制协议的所述控制消息。4.根据权利要求3所述的装置,其中所述控制消息字段包括协议类型字段、数据长度字段和协议消息字段,所述协议消息字段包括所述网络控制协议的所述控制消息。5.根据权利要求1所述的装置,其中所述网络控制协议的所述控制消息使用节点标识符字段、消息标识符字段、消息长度字段、消息类型字段和消息数据字段而被编码。6.根据权利要求1所述的装置,其中所述mpls分组包括数据分组。7.根据权利要求6所述的装置,其中所述mpls分组包括有效载荷,其中所述有效载荷包括所述网络控制协议的所述控制消息、以及所述数据分组。8.根据权利要求1所述的装置,其中所述mpls分组包括路由器警告标签,其中所述控制消息标签封装所述网络控制协议的所述控制消息,其中所述路由器警告标签封装所述控制消息标签。9.根据权利要求1至8中任一项所述的装置,其中为了支持所述mpls分组的通信,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起,引起所述装置至少:由节点获取所述网络控制协议的所述控制消息、以及所述网络控制协议的所述控制消息的目的地的指示;由所述节点将所述控制消息标签与所述网络控制协议的所述控制消息相关联,以形成所述mpls分组;以及由所述节点向所述网络控制协议的所述控制消息的所述目的地发送所述mpls分组。10.根据权利要求1至8中任一项所述的装置,其中为了支持所述mpls分组的通信,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起,引起所述装置至少:由节点接收所述mpls分组;由所述节点基于所述控制消息标签来确定所述mpls分组包括所述网络控制协议的所述控制消息;以及由所述节点处理所述网络控制协议的所述控制消息。

技术总结


呈现了用于支持带内控制平面的各种示例实施例。用于支持带内控制平面的各种示例实施例可以被配置为支持多协议标签交换(MPLS)网络中的带内控制平面。用于支持MPLS网络中的带内控制平面的各种示例实施例可以被配置为通过以下方式来支持MPLS网络中的带内控制平面:支持控制协议的控制协议分组作为MPLS分组的交换,使得控制协议消息传递沿着MPLS数据平面本身在带内。用于支持MPLS网络中的带内控制平面的各种示例实施例可以被配置为通过以下方式来支持MPLS网络中的带内控制平面:支持MPLS分组的通信,该MPLS分组使用MPLS标签封装控制协议的控制协议消息,该MPLS标签指示MPLS分组的有效载荷携带控制协议的控制协议消息。的有效载荷携带控制协议的控制协议消息。的有效载荷携带控制协议的控制协议消息。


技术研发人员:

P

受保护的技术使用者:

诺基亚通信公司

技术研发日:

2022.08.30

技术公布日:

2023/3/3

本文发布于:2024-09-23 09:29:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/64389.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:消息   协议   标签   示例
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议