CN112104551B - 用于软件定义网络控制器之间通信的边界网关协议 - Google Patents

用于软件定义网络控制器之间通信的边界网关协议 Download PDF

Info

Publication number
CN112104551B
CN112104551B CN202010820313.7A CN202010820313A CN112104551B CN 112104551 B CN112104551 B CN 112104551B CN 202010820313 A CN202010820313 A CN 202010820313A CN 112104551 B CN112104551 B CN 112104551B
Authority
CN
China
Prior art keywords
network element
tlv
tunnel
domain
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010820313.7A
Other languages
English (en)
Other versions
CN112104551A (zh
Inventor
陈怀谟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112104551A publication Critical patent/CN112104551A/zh
Application granted granted Critical
Publication of CN112104551B publication Critical patent/CN112104551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种通信方法,用于系统包括第一网元和第二网元的通信系统,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述方法由所述第一网元执行。在该方法中,第一网元从所述第二网元接收指示所述第二网元的能力的通信能力消息;从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;接收在位于第一域中的源和和位于所述第二域中的目的地之间路由数据的请求;传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段;以及传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的端到端(end‑to‑end,E2E)隧道的隧道段。

Description

用于软件定义网络控制器之间通信的边界网关协议
相关申请案交叉申请
本申请要求Huaimo Chen 2016年3月3日递交的发明名称为“用于软件定义网络控制器之间通信的边界网关协议(Border Gateway Protocol for Communication AmongSoftware Defined Network Controllers)”的第62/303,144号美国临时专利申请和2017年3月1日递交的发明名称为“用于软件定义网络控制器之间通信的边界网关协议(BorderGateway Protocol for Communication Among Software Defined NetworkControllers)”的第15/446,820号美国非临时专利申请的优先权,该申请的内容以引入的方式并入本文本中。
背景技术
网络域是地址管理或路由过程的共同范围内由单个组织或管理部门操作的网元集合。此类域的实例包括内部网关协议(Interior Gateway Protocol,IGP)区域,例如开放式最短路径优先(Open Shortest Path First,OSPF)区域和中间系统到中间系统(Intermediate System to Intermediate System,ISIS)区域,以及自治系统。将运行边界网关协议(Border Gateway Protocol,BGP)的网络组织为多个自治系统,每个自治系统具有多个IGP区域。软件定义网络(Software Defined Network,SDN)的概念在促进服务部署和启用新功能的同时降低了整体网络资本支出(capital expenditure,CapEx)和运营支出(operational expenditure,OpEx)。SDN的原理包括集中控制以优化使用网络资源以及跨域提供网元。对于具有多个域的网络,一个SDN控制器控制的网络中的每个域可以采用多个SDN控制器。用于实现网络上集中控制的控制器架构包括控制器的分层式架构、分布式架构以及分层式架构和分布式架构的混合体。分层式架构的顶层是非子控制器的父控制器。父控制器控制多个子控制器,部分子控制器不是父控制器,并且每个子控制器控制一个域。在分层式架构的低层,部分子控制器既是父控制器又是子控制器,并且每个子控制器控制多个子控制器,诸如此类。
发明内容
在控制器的分布式架构中有多个控制器,每个控制器控制多域网络的一个域。控制器互相连接,因此彼此相邻。分布式控制器互相配合以控制所述网络。但是,现有的通信协议不支持软件定义网络(Software Defined Network,SDN)控制器之间的通信。本文所公开的发明概念通过扩展边界网关协议(Border Gateway Protocol,BGP)以支持SDN控制器之间的通信来解决现有技术中的问题。在一实施例中,本公开包括第一网元,包括:存储器,包括可由处理器执行的指令;以及处理器,耦合至所述存储器并用于执行所述指令。执行所述指令使得所述处理器:在BGP通信会话期间从第二网元接收指示所述第二网元的能力的通信能力消息;从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;接收在位于第一域中的源和目的地之间路由数据的请求;传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段;以及传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的端到端(end-to-end,E2E)隧道。
可选地,在任一前述实施例中,所述第一请求消息是路径段计算请求(Requestfor Computing Path Segment,CPSReq),所述第一网元是所述第二网元的父控制器,以及所述处理器进一步从所述第二网元接收路径段计算答复(Reply for Computing PathSegment,CPSRep),所述CPSRep包括与根据所述CPSReq请求计算的所述路径段有关的信息。可选地,在任一前述实施例中,所述第一请求消息是第一最短路径树(shortest pathtree,SPT)增长请求(Request for Growing SPT,GSReq),以及所述处理器进一步从所述第二网元接收SPT增长答复(Reply for Growing SPT,GSRep),所述GSRep包括与根据所述GSReq请求计算的所述路径段和增长SPT有关的信息。可选地,在任一前述实施例中,当所述目的地不位于所述第二域时,传输所述第一请求消息至所述第二网元使得所述第二网元在根据所述第一GSReq计算所述路径段和增长所述SPT之后传输第二GSReq至控制第三域的第三网元。可选地,在任一前述实施例中,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元创建跨所述第三域的所述E2E隧道的第一隧道段;以及所述第一网元传输第三请求消息至所述第二网元,使得所述第二网络创建跨所述第二域的所述E2E隧道的第二隧道段。可选地,在任一前述实施例中,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元:创建跨所述第三域的所述E2E隧道的第一隧道段;以及传输第三请求消息至所述第二网元,使得所述第二网络创建跨所述第二域的所述E2E隧道的第二隧道段。可选地,在任一前述实施例中,所述目的地位于所述第三域,其中传输所述第二请求消息包括所述第一请求消息中的标志,所述标志指示所述第三网络控制器:在确定所述源和所述目的地之间的最短路径之后,创建跨所述第三域的所述E2E隧道的第一隧道段;以及在所述第三网元创建所述第一隧道段之后,传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。可选地,在任一前述实施例中,接收所述通信能力消息包括接收开放消息,所述开放消息包括SDN控制器之间的通信(communicationsamong SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第二网元的能力的能力标志。可选地,在任一前述实施例中,所述能力标志包括:路径段标志,用于指示支持在根据BGP通信的SDN中计算路径段;隧道段标志,用于指示支持在根据BGP通信的所述SDN中创建隧道段;E2E隧道标志,用于指示支持在根据BGP通信的所述SDN中创建和维护E2E标签交换路径(label switched path,LSP);父控制器标志,用于指示在根据BGP通信的所述SDN中作为父控制器的功能性;子控制器标志,用于指示在根据BGP通信的所述SDN中作为子控制器的功能性;分布式控制器标志,用于指示在根据BGP通信的所述SDN中作为分布式控制器的功能性;以及多个级别标志,用于当所述SDN是分层SDN控制系统时共同指示所述第二网元的分层级别。可选地,在任一前述实施例中,所述第一请求消息和所述第二请求消息均包括控制器请求参数(controller request parameter,CRP)类型长度值(type-length-value,TLV)。可选地,在任一前述实施例中,所述CRP TLV指定用于根据所述第一请求消息和所述第二请求消息创建的段的优化方案,以及当SDN是分布式SDN控制系统时指定所述SDN中分布式控制器的职责。
在一实施例中,本公开包含一种用于控制第一域的第一网元,所述第一网元包括:存储器,包括可由处理器执行的指令;以及处理器,耦合至所述存储器并用于执行所述指令。执行所述指令使得所述处理器:在边界网关协议(border gateway protocol,BGP)通信会话期间向第二网元传输指示所述第一网元的能力的通信能力消息;向所述第二网元传输通告消息,其中所述通告消息指示所述第一域的连接和接入;接收指示所述第一网元计算用于创建端到端(end-to-end,E2E)隧道的路径段的第一请求消息,其中每一路径段连接所述第一域的一个边缘节点和所述第一域的另一个边缘节点;根据所述第一请求消息计算所述路径段;接收指示所述第一网元创建经由所述第一域的用于E2E隧道的第一隧道段的第二请求消息,其中所述第二请求消息指示所述隧道段的至少一个起始节点和一个末端节点;以及根据所述第二请求消息创建所述第一隧道段。可选地,在任一前述实施例中,所述E2E隧道的目的地位于第三网元控制的第二域,所述第一网元从所述第二网元接收所述第一请求消息,以及所述第一网元从所述第三网元接收所述第二请求消息。可选地,在任一前述实施例中,所述E2E隧道的目的地位于所述第一域,从所述E2E隧道的源到所述E2E隧道的目的地的最短路径跨第三网元控制的第三域,以及所述处理器进一步传输第三请求消息至所述第三网元使得所述第三网络在所述第一网元创建所述第一隧道段之后创建跨所述第三域的所述E2E隧道的第二隧道段。可选地,在任一前述实施例中,传输所述通信能力消息包括传输开放消息,所述开放消息包括CSC能力三元组,其中所述CSC能力三元组包括多个用于传达所述第一网元的能力的能力标志。
在一实施例中,本公开包含一种由网元执行的根据BGP通信的SDN控制器之间的通信方法,包括:根据开放消息中包含的CSC能力三元组声明SDN中的所述网元的能力;计算所述SDN中的用于创建E2E隧道的路径段;以及创建对应于所述SDN中的路径段的第一隧道段,其中所述第一隧道段形成所述E2E隧道的一部分。
可选地,在任一前述实施例中,所述方法进一步包含:接收GSReq请求;响应于所述GSReq,计算所述SDN中用于创建所述E2E隧道的路径段;基于所述计算出的路径段以及响应于所述GSReq,增长SPT;接收创建第一隧道段的第一请求;以及响应于创建所述第一隧道段的所述请求,创建对应于所述SDN中的路径段的所述第一隧道段。可选地,在任一前述实施例中,所述方法进一步包含:沿所述E2E隧道的路径传输创建第二隧道段的请求至上游域的控制器。可选地,在任一前述实施例中,所述方法进一步包含:在计算出从所述E2E隧道的源到所述E2E隧道的目的地的最短路径之后,自动创建对应于所述SDN中的路径段的所述第一隧道段;以及沿所述E2E隧道的路径传输创建第二隧道段的请求至上游域的控制器。可选地,在任一前述实施例中,所述方法进一步包含:接收指示所述SDN中的域的连接和接入的通告消息。在一示例性实施例中,实施根据边界网关协议(border gateway protocol,BGP)通信的软件定义网络(software defined network,SDN)控制器之间的通信方法的网元,包含:声明元件,根据开放消息中包含的SDN控制器之间的通信(communications among SDNcontrollers,CSC)能力三元组声明SDN中的所述网元的能力;计算元件,计算所述SDN中的用于创建端到端(end-to-end,E2E)隧道的路径段;以及创建元件,创建对应于所述SDN中的路径段的第一隧道段,其中所述第一隧道段形成所述E2E隧道的一部分。为清楚起见,任一前述实施例可与任何一个或多个其它前述实施例组合以产生在本公开范围内的新实施例。
在一实施例中,本公开包含一种通信方法,用于通信系统,所述通信系统包括第一网元和第二网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述方法由所述第一网元执行,其特征在于,所述方法包括:所述第二网元接收指示所述第二网元的能力的通信能力消息;从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;接收在位于第一域中的源和和位于所述第二域中的目的地之间路由数据的请求;传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段;以及传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的端到端(end-to-end,E2E)隧道的隧道段。
在一实施例中,本公开包含一种通信方法,用于通信系统,所述通信系统包括第一网元和第二网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述方法由所述第一网元执行,其特征在于,所述方法包括:向第二网元传输指示所述第一网元的能力的通信能力消息;向所述第二网元传输通告消息,其中所述通告消息指示所述第一域的连接和接入;接收指示所述第一网元计算用于创建端到端(end-to-end,E2E)隧道的路径段的第一请求消息,其中每一路径段连接所述第一域的一个边缘节点和所述第一域的另一个边缘节点;根据所述第一请求消息计算所述路径段;接收指示所述第一网元创建经由所述第一域的用于E2E隧道的第一隧道段的第二请求消息,其中所述第二请求消息指示所述隧道段的至少一个起始节点和一个末端节点;以及根据所述第二请求消息创建所述第一隧道段。
根据以下结合附图以及权利要求书进行的详细描述,将更清楚地理解这些特征以及其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而进行的以下简要说明,其中相同参考标号表示相同部分。
图1是分层软件定义网络(software defined network,SDN)控制系统(hierarchical SDN control system,HSCS)的一实施例的示意图;
图2是分布式SDN控制系统(distributed SDN control system,DSCS)的一实施例的示意图;
图3示出了SDN控制器之间的通信(communications among SDN controllers,CSC)能力三元组的一实施例;
图4示出了根据CSC能力三元组执行父子发现的网元之间的通信协议图的一实施例;
图5示出了根据CSC能力三元组执行分布式关系发现的分布式控制器之间的通信协议图的一实施例;
图6示出了SDN网络层可达性信息(network layer reachability information,NLRI)类型长度值(type-length-value,TLV)的一实施例;
图7示出了连接和接入通告消息(Connection and Access AdvertisementMessage,CAA)NLRI TLV的一实施例;
图8示出了域间链路TLV的一实施例;
图9示出了区域标识(Identification,ID)子TLV的一实施例;
图10示出了开放式最短路径优先(Open Shortest Path First,OSPF)路由器ID子TLV的一实施例;
图11示出了中间系统到中间系统(intermediate system to intermediatesystem,ISIS)路由器ID子TLV的一实施例;
图12示出了域间链路类型子TLV的一实施例;
图13示出了远程自治系统(Autonomous System,AS)编号子TLV的一实施例;
图14示出了远程区域ID子TLV的一实施例;
图15示出了远程OSPF路由器ID子TLV的一实施例;
图16示出了远程ISIS路由器ID子TLV的一实施例;
图17示出了第四版互联网协议(Internet Protocol version 4,IPv4)远程自治系统边界路由器(Autonomous System Boundary Router,ASBR)ID子TLV的一实施例;
图18示出了本地接口IPv4地址子TLV的一实施例;
图19示出了远程接口IPv4地址子TLV的一实施例;
图20示出了接入IPv4前缀TLV的一实施例;
图21示出了接入IPv4前缀子TLV的一实施例;
图22示出了路径段计算请求(Request for Computing Path Segment,CPSReq)NLRI TLV的一实施例;
图23示出了起始节点TLV的一实施例;
图24示出了隧道ID-Info TLV的一实施例;
图25示出了异常列表TLV的一实施例;
图26示出了带宽TLV的一实施例;
图27示出了标签交换路径(label switched path,LSP)属性(LSP Attribute,LSPA)TLV的一实施例;
图28示出了显式路由(explicit route,ER)TLV的一实施例;
图29示出了IPv4前缀节点子TLV的一实施例;
图30示出了AS号(AS number,ASN)节点子TLV的一实施例;
图31示出了目的节点列表TLV的一实施例;
图32示出了路径段计算答复(Reply for Computing Path Segment,CPSRep)NLRITLV的一实施例;
图33示出了段末端节点列表TLV的一实施例;
图34示出了路径段移除请求(Request for Removing Path Segment,RPSReq)NLRI TLV的一实施例;
图35示出了路径段移除答复(Reply for Removing Path Segment,RPSRep)NLRITLV的一实施例;
图36示出了状态TLV的一实施例;
图37示出了路径段保持请求(Request for Keeping Path Segment,KPSReq)NLRITLV的一实施例;
图38示出了路径段保持答复(Reply for Keeping Path Segment,KPSRep)NLRITLV的一实施例;
图39示出了隧道段创建请求(Request for Creating Tunnel Segment,CTSReq)NLRI TLV的一实施例;
图40示出了标签TLV的一实施例;
图41示出了接口索引TLV的一实施例;
图42示出了接口IPv4地址TLV的一实施例;
图43示出了隧道段创建答复(Reply for Creating Tunnel Segment,CTSRep)NLRI TLV的一实施例;
图44示出了隧道段移除请求(Request for Removing Tunnel Segment,RTSReq)NLRI TLV的一实施例;
图45示出了隧道段移除答复(Reply for Removing Tunnel Segment,RTSRep)NLRI TLV的一实施例;
图46示出了根据HSCS在网元之间交换控制流量的协议图的一实施例;
图47示出了最短路径树(shortest path tree,SPT)增长请求(Request forGrowing SPT,SPT)NLRI TLV的一实施例;
图48示出了SPT TLV的一实施例;
图49示出了显式路由(explicit route,ER)子TLV的一实施例;
图50示出了二次显式路由(secondary explicit route,SER)子TLV的一实施例;
图51示出了Cost2Node子TLV的一实施例;
图52示出了IPv4候选列表TLV的一实施例;
图53示出了IPv4候选节点子TLV的一实施例;
图54示出了SPT增长答复(Reply for Growing SPT,GSRep)NLRI TLV的一实施例;
图55示出了控制器请求参数(controller request parameter,CRP)TLV的一实施例;
图56示出了源发方子TLV的一实施例;
图57示出了来源控制器子TLV的一实施例;
图58示出了目标控制器子TLV的一实施例;
图59示出了根据DSCS在网元之间交换控制流量的协议图的一实施例;
图60是根据边界网关协议(border gateway protocol,BGP)在SDN中运行的网元之间通信方法的一实施例的流程图;以及
图61是根据各种实施例的网元的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包含本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
本文公开实现根据边界网关协议(border gateway protocol,BGP)通信的软件定义网络(software defined network,SDN)控制器之间的通信的实施例。所公开的实施例使得SDN控制器计算经由一个或多个域的路径段,所述一个或多个域分别由对应的SDN控制器通过BGP通信协议的各种扩展进行控制。所述各种扩展包含通信能力消息,所述通信能力消息向接收网元指示传输网元能够支持的通信能力。例如,在一些实施例中,通信能力消息包含和/或实现为SDN控制器之间的通信(communications among SDN controllers,CSC)能力三元组,下文将进行更详细的论述。所述各种扩展包含与路径计算,路径段维护,隧道段创建和能力通告相关的消息,以及其他各种与SDN中通信和创建经由所述SDN的端到端(end-to-end,E2E)路径和/或隧道相关的消息。在一实施例中,第一网元通过请求每个SDN控制器创建经由其对应的域的隧道段来控制所述E2E隧道的创建,其中每个SDN控制器控制一个包含所述E2E路径的一部分的域。在另一实施例中,第一网元请求控制包含所述E2E路径的目的地的域的SDN控制器开始创建E2E隧道。在另一实施例中,一旦在无需从第一网元接收额外请求消息时计算了E2E路径,控制包含所述E2E路径的目的地的域的SDN控制器就自动开始创建E2E隧道。根据2016年3月21日发布的名称为“用于控制器之间通信的BGPdraft-chen-idr-com-cntlrs-00(BGP for Communications among Controllers draft-chen-idr-com-cntlrs-00)”的互联网工程任务组(Internet Engineering Task Force,IETF)互联网草案文件可以进一步描述和理解本公开的各种实施例,该文件以全文引用的方式并入本文中。
参考图1,图1是分层SDN控制系统(hierarchical SDN control system,HSCS)100的一实施例的示意图。如图1所示,HSCS100包含:父控制器106、多个子控制器108,可选地为二级父控制器110和二级子控制器112、多个遍布域104设置的内部节点114以及多个设置在域104边界(例如,边缘)的边界节点116。父控制器106、子控制器108、二级父控制器110以及二级子控制器112通常可以称为能够根据一个或多个网元已知的所需要和/或预定义的标准、和/或所定义和/或预定义的标准的扩展进行通信的网元。在至少一些实施例中,所需要和/或预定义的标准是BGP,例如,如IETF注解请求(Request for Comments,RFC)1771中所描述,该文件以全文引用的方式并入本文中。父控制器106与子控制器108创建父子关系。当HSCS 100包含二级父控制器110时,二级父控制器110是父控制器106的子控制器(例如,从父控制器106角度看来,等同于子控制器108),并且也是二级子控制器112的父控制器。对于以下父控制器106与子控制器108之间通信的论述,二级父控制器110可以视为子控制器108。此外,父控制器106关于子控制器108和二级父控制器110所传输或接收的任何通信也可以适用于二级父控制器110与二级子控制器112之间的通信。
父控制器106传输一个或多个请求,以及从子控制器108接收一个或多个答复,以建立父子关系。例如,如下文更详细地论述,消息包含开放消息和/或发现消息。在一些实施例中,父控制器106进一步请求子控制器108计算用于E2E路径的路径段,其中E2E路径是由父控制器106计算出的。在一些实施例中,父控制器106进一步请求子控制器108创建对应于计算出的路径段的隧道段,以创建适于跨多个域104通信的E2E隧道。
因为父控制器106不是其它任何控制器的子控制器(例如,像二级父控制器110一样),所以父控制器106可称为具有“0”层。因为二级父控制器110是父控制器106的子控制器,所以可称为具有“1”层,或更通常地称为具有(N+1)层,其中N是二级父控制器110的父控制器的层数。
每个子控制器108维护关于子控制器108控制的对应域的信息和拓扑。但是,在一些实施例中,父控制器106不具有用于子控制器108控制的任何域的拓扑信息。在其他实施例中,父控制器106至少具有一些针对子控制器108分别控制的至少一些域的拓扑信息(例如,域之间的互联)。
父控制器106(例如,从用户或应用)接收创建从源到目的地的E2E隧道的请求。对于每一个接收到的请求,父控制器106计算E2E隧道的路径,并沿所计算出的路径创建E2E隧道。当父控制器106不具有任何关于子控制器108控制的域的拓扑信息时,父控制器106传输一个或多个请求消息至一个或多个子控制器108,以请求子控制器108计算子控制器108各自对应的域从入口边界节点116到出口边界节点116之间的路径段,以及从子控制器108各自对应的域的出口边界节点116到使用与出口边界节点相关联的域间链路的相邻域的入口边界节点116之间的路径段。接着,父控制器106通过子控制器108计算出的确定E2E隧道的路径的路径段构建最短路径树(shortest path tree,SPT),并且通过传输请求至子控制器108来创建E2E隧道,所述请求是创建经由与计算出的E2E隧道的路径的对应域的隧道段的请求。当父控制器106具有关于子控制器108控制的域的拓扑信息时,父控制器106根据关于所述域的拓扑信息计算隧道的路径,并且通过传输创建请求至子控制器108来创建E2E隧道,所述请求是创建经由与计算出的E2E隧道的路径对应的域的隧道段的请求。
应该认识到的是,HSCS 100仅是概述,并且如本领域的技术人员在查阅本公开全部内容时理解的,在实际应用中HSCS 100可以包含其它网元、组件、或分层级别,以及可以具有其它合适的配置。
现参考图2,图2是分布式SDN控制系统(distributed SDN control system,DSCS)200的一实施例的示意图。如图2所示,DSCS 200包含多个分布式控制器210A-210E,每个控制器控制对应的域220A-220E。在不同实施例中,各个域220A-220E均包含任意数目的节点,例如边界节点230和/或内部节点240,以通过其对应域传输数据,例如,从一个边界节点230直接或者通过一个或多个内部节点240传输至另一个边界节点230。在一些实施例中,因为控制其它分布式控制器210B-210E而不控制包含节点的域,分布式控制器210A可称为主控制器。在其他实施例中,分布式控制器210A可能不是主控制器而可以控制对应的域220A,域220A虽然未示出,但可以大体类似于域220B-220E,包含任意数目的边界节点230和/或内部节点240。每个域220A-220E包含一个或多个边界节点230和一个或多个内部节点240。每个分布式控制器210A-210E与相邻的其它分布式控制器210A-210E通信。例如,分布式控制器210A与分布式控制器210B、210D和210E通信,分布式控制器210B与分布式控制器210A、210C和210D通信,分布式控制器210C与分布式控制器210B和210D通信,分布式控制器210D与分布式控制器210A、210B、210C和210E通信,以及分布式控制器210E与分布式控制器210A和210D通信。
当分布式控制器210A-210E中的第一个控制器(例如,从用户或应用)接收创建从源到目的地之间的E2E隧道的请求时,分布式控制器210A-210E中的第一个控制器计算经由其控制的对应域220A-220E的E2E隧道的E2E路径的一部分(例如,一个或多个路径段,如添加至作为一个或多个节点或网元的列表的SPT的路径段)。在计算经由对应域220A-220E的E2E路径的所述部分之后,分布式控制器210A-210E中的第一个控制器创建并传输请求至分布式控制器210A-210E中的第二个控制器,以请求分布式控制器210A-210E中的第二个控制器计算经由分布式控制器210A-210E中的第二个控制器控制的对应域220A-220E的E2E隧道的E2E路径的另一部分。或者,创建E2E隧道的请求可以由一个充当主控制器(例如,用于控制其它分布式控制器210A-210E)的分布式控制器210A-210E接收,主控制器可以传输请求至分布式控制器210A-210E中的第一个控制器,以请求分布式控制器210A-210E中的第一个控制器计算经由分布式控制器210A-210E中的第一个控制器控制的对应域220A-220E的E2E隧道的E2E路径的一部分。在计算出路径段之后,分布式控制器210A-210E中的每一个控制器可以传输请求至分布式控制器210A-210E中的下一个相邻控制器,直至E2E隧道的源和目的地都位于SPT,由此得出最短路径。
得出最短路径之后,创建与E2E隧道的最短路径上的路径段对应的隧道段。在一些实施例中,隧道段是由单个分布式控制器210A-210E(例如,充当主控制器的分布式控制器)请求控制包含最短路径的一部分的对应域220A-220E的每个分布式控制器210A-210E以一种从目的地到源的相反顺序创建。在其他实施例中,第一分布式控制器210A-210E传输请求至控制包含目的地的对应域220A-220E的分布式控制器210A-210E(例如,可称为目的地控制器),以请求目的地控制器在目的地控制器控制的域中创建隧道段。在创建隧道段之后,目的地控制器可以创建并沿最短路径传输请求消息至下一个上游分布式控制器210A-210E,以请求所述上游分布式控制器210A-210E在上游分布式控制器210A-210E控制的对应域220A-220E中创建隧道段。每个创建隧道段的分布式控制器210A-210E可以重复传输请求至下一个上游分布式控制器210A-210E,直至E2E隧道完整地创建或者创建失败。在其它实施例中,在得出最短路径之后,目的地控制器可以自动开始创建隧道段,而无需从另一个分布式控制器210A-210E接收单独的创建隧道段的请求。在目的地控制器控制的域中创建隧道段之后,目的地控制器可以创建并沿最短路径传输请求消息至下一个上游分布式控制器210A-210E,以请求上游分布式控制器210A-210E在上游分布式控制器210A-210E控制的对应域220A-220E中创建隧道段。每个创建隧道段的分布式控制器210A-210E可以重复传输请求至下一个上游分布式控制器210A-210E,直至E2E隧道完整地创建或者创建失败。
应该认识到的是,DSCS 200仅是概述,并且如本领域的技术人员在查阅本公开全部内容时理解的,在实际应用中在任何合适的配置中DSCS 200可以包含其它网元或组件。
现参考图3,图3示出了CSC能力三元组300的一实施例。例如,CSC能力三元组300是在两个充当SDN控制器(例如,图1的父控制器106和任意一个子控制器108和/或图2的任意两个分布式控制器210A-210E)的BGP发言者之间传输的消息中实现的通信能力消息,其中,所述消息的传输是当两个BGP发言者试图通告其CSC能力时,在建立两个BGP发言者之间的BGP会话期间或者之后执行的。在一些实施例中,CSC能力三元组300包含在开放消息中,例如包含在开放消息的任选能力参数中。
如图3所示,CSC能力三元组300包含能力编码字段310、能力长度字段320、能力标志字段330和任选子TLV字段340。能力编码字段310包含CSC能力三元组300的标识,并且在一些实施例中,长度大约为八位位组。CSC能力三元组300的标识可以为在稍后的时间分配给CSC能力三元组300的数值,并且CSC能力三元组300的能力编码字段310中包含的特定数值在此不作限制。能力长度字段320指示能力标志字段330和任选子TLV字段340的长度。例如,能力长度字段320可以指示能力标志字段330的长度为四个八位位组(也可以称为字节,每个字节可以包含八个比特),以及任选子TLV字段340的长度。任选子TLV字段340的长度取决于,如果存在的话,CSC能力三元组300中包含的任选子TLV。因此,CSC能力三元组300的能力长度字段320的特定值在此不作限制。
在一些实施例中,能力标志字段330可称为能力值字段,包含指示网元能力的一个或多个能力标志(未示出),其中所述网元设置能力标志值和/或传输CSC能力三元组300。在一些实施例中,能力标志字段330是32位二进制字段。能力标志字段330的最高有效位可以标识为位0,位0右边的每个位可以通过向左边增加上一个位的身份来标识,使得能力标志字段330包含从最高有效位至最低有效位的方向标识的位0至31。设置能力标志值和/或传输CSC能力三元组300的网元的独特能力分别由能力标志字段330的32位中的一个或多个位表示。
在一些实施例中,位0是指示设置能力标志值和/或传输CSC能力三元组300的网元是否能够计算用于创建E2E隧道的路径段的路径段位。例如,当设置能力标志值和/或传输CSC能力三元组300的网元能够计算路径段时,位0设置为“1”以指示路径段计算能力。相反地,当设置能力标志值和/或传输CSC能力三元组300的网元不能计算路径段时,位0设置为“0”以指示没有路径段计算能力。
在一些实施例中,位1是指示设置能力标志值和/或传输CSC能力三元组300的网元是否能够创建E2E隧道的隧道段的隧道段位。例如,当设置能力标志值和/或传输CSC能力三元组300的网元能够创建隧道段时,位1设置为“1”以指示隧道段创建能力。相反地,当设置能力标志值和/或传输CSC能力三元组300的网元不能创建隧道段时,位1设置为“0”以指示没有隧道段创建能力。
在一些实施例中,位2是指示设置能力标志值和/或传输CSC能力三元组300的网元是否能够创建和维护E2E标签交换路径(label switched path,LSP)隧道的E2E隧道位。例如,当设置能力标志值和/或传输CSC能力三元组300的网元能够创建和维护E2E LSP隧道时,位2设置为“1”以指示E2E LSP创建和维护能力。相反地,当设置能力标志值和/或传输CSC能力三元组300的网元不能够创建和维护E2E LSP隧道时,2位设置为“0”以指示没有E2ELSP创建和维护能力。
在一些实施例中,位3是指示设置能力标志值和/或传输CSC能力三元组300的网元是父控制器的父控制器位。例如,当设置能力标志值和/或传输CSC能力三元组300的网元是父控制器时,位3设置为“1”以指示父控制器能力。相反地,当设置能力标志值和/或传输CSC能力三元组300的网元不是父控制器时,位3设置为“0”以指示没有父控制器能力。
在一些实施例中,位4是指示设置能力标志值和/或传输CSC能力三元组300的网元是子控制器的子控制器位。例如,当设置能力标志值和/或传输CSC能力三元组300的网元是子控制器时,位4设置为“1”以指示子控制器能力。相反地,当设置能力标志值和/或传输CSC能力三元组300的网元不是子控制器时,位4设置为“0”以指示没有子控制器能力。
在一些实施例中,位5是指示设置能力标志值和/或传输CSC能力三元组300的网元是分布式控制器的分布式控制器位。例如,当设置能力标志值和/或传输CSC能力三元组300的网元是分布式控制器时,位5设置为“1”以指示分布式控制器能力。相反地,当设置能力标志值和/或传输CSC能力三元组300的网元不是分布式控制器时,位5设置为“0”以指示没有分布式控制器能力。
在一些实施例中,位6到9是指示设置能力标志值和/或传输CSC能力三元组300的网元的级别的级别位。例如,当设置能力标志值和/或传输CSC能力三元组300的网元在具有多个父控制器(例如,图1的父控制器106和/或二级父控制器110)的分层系统中实现时,级别位指示对应的父控制器的级别(例如,父控制器106是“0”级别,二级父控制器110是“1”级别)。
现参考图4,图4示出了根据图3的CSC能力三元组300执行父子发现的图1中父控制器106和任意一个子控制器108之间的通信协议图400的一实施例。在至少一些实施例中,父控制器106和子控制器108通过BGP会话连接,并且具有BGP邻接关系。在步骤410,当父控制器106试图与子控制器108建立父子关系时,父控制器106传输第一CSC能力三元组300至子控制器108。第一CSC能力三元组300包含在,例如,父控制器106传输至子控制器108的开放消息中。第一CSC能力三元组300包含如上文所论述的设置为“1”的父控制器位。第一CSC能力三元组300向子控制器108指示父控制器106是父控制器。在一些实施例中,父控制器106从用户(例如,网管工程师)或者运行于或通信耦合至父控制器106的应用接收指令,所述指令指示父控制器106将子控制器108配置为父控制器106与子控制器108之间的父子关系中的子控制器。作为回应,在子控制器108被配置为网元P和C之间的BGP通信会话中的子控制器之后,父控制器106传输第一CSC能力三元组300至子控制器108。
子控制器108从父控制器106接收第一CSC能力三元组300,并且基于第一CSC能力三元组确定父控制器106是试图与其建立父子关系的父控制器。在一些实施例中,子控制器108从用户(例如,网管工程师,可以是与指示父控制器106相同或不同的用户)或者运行于或通信耦合至子控制器108的应用(例如,可以是与指示父控制器106相同或不同的应用)接收指令,所述指令指示子控制器108将父控制器106配置为子控制器108和父控制器106之间的子父关系中的父控制器。响应于来自用户的至少一个指令或接收第一CSC能力三元组,子控制器108确定由第一CSC能力三元组300标识为父控制器的父控制器106与子控制器108上本地配置的父控制器的标识一致,并与父控制器106形成子父关系。随后,在步骤420,子控制器108传输第二CSC能力三元组300至父控制器106。第二CSC能力三元组300包含如上文所论述的设置为“1”的子控制器位。在父控制器106被配置为网元C和P之间的BGP通信会话中的父控制器之后,第二CSC能力三元组300向父控制器106指示子控制器108是子控制器。父控制器106从子控制器108接收第二CSC能力三元组300,并且基于第二CSC能力三元组确定由第二CSC能力三元组300标识为子控制器的子控制器108与父控制器106上本地配置的子控制器的标识一致,并与子控制器108形成父子关系。
当父控制器106的配置改变(例如,响应于来自用户和/或应用的输入)使得子控制器108不再被指定为针对父控制器106的子控制器时,父控制器106通过在步骤430中传输第三CSC能力三元组300至子控制器108实现配置上的改变。第三CSC能力三元组300包含如上文所论述的设置为“0”的父控制器位。当子控制器108接收到第三CSC能力三元组时,子控制器108确定父控制器106不再是它的父控制器,并移除子控制器108与父控制器106之间的子父关系。
当子控制器108的配置改变(例如,响应于来自用户和/或应用的输入)使得父控制器106不再被指定为子控制器108的父控制器时,子控制器108通过在步骤440中传输第四CSC能力三元组300至网元402实现配置上的改变。第四CSC能力三元组300包含如上文所论述的设置为“0”的子控制器位。当父控制器106接收到第四CSC能力三元组时,父控制器106确定子控制器108不再是它的子控制器,并移除父控制器106与子控制器108之间的父子关系。
在一些实施例中,在子父关系形成之后,在步骤450,子控制器108传输通告消息,例如下文参照图7更详细地论述的连接和接入通告消息(Message for Connection andAccess Advertisement,CAA)。在一些实施例中,CAA消息包含与子控制器控制的域和相邻域之间的连接相关的信息(例如,域间链路)。在一些实施例中,CAA消息还包含可从域外接入的域中的接入点(例如,网元(例如,接入点)的地址或前缀)。子控制器可以发送一次或多次(例如,定期和/或按照域连接和/或接入的变化)CAA消息至父控制器。父控制器从其每个子控制器接收CAA消息,并存储连接和接入信息,以便之后用于,例如,通过父控制器可接入的数据结构中的一个子控制器控制的域路由数据。当子控制器不起作用时,可选地,父控制器可以从数据结构中移除对应于对应的子控制器的连接或接入信息。
CAA消息使得父控制器能够确定子控制器控制的域的外部信息,以及使得父控制器能够经由至少一些域路由数据流量。此外,域的外部信息使得父控制器能够知道域之间的连接,其中每个所述连接包括连接域的链路属性和链路的终点属性。链路的终点属性包括终点类型(例如,区域边界路由器(area border router,ABR)或自治系统边界路由器(autonomous system boundary router,ASBR))和终点的域(例如,自治系统(autonomoussystem,AS)编号或区域编号)。
现参考图5,图5示出了根据图3的CSC能力三元组300执行分布式关系发现的分布式控制器210A(通常可以表示图2的分布式控制器210A-210E中的任一者)和分布式控制器210B(例如,通常可以表示图2的分布式控制器210A-210E中的其它任何一个)之间的通信协议图500的一实施例。在至少一些实施例中,分布式控制器210A和分布式控制器210B通过BGP会话连接,并且具有BGP邻接关系。在步骤510,当分布式控制器210A试图与分布式控制器210B建立分布式关系时,分布式控制器210A传输第一CSC能力三元组300至分布式控制器210B。第一CSC能力三元组300包含在,例如,分布式控制器210A传输至分布式控制器210B的开放消息中。第一CSC能力三元组300包含如上文所论述的设置为“1”的分布式控制器位。在分布式控制器210B被配置为分布式控制器210A和分布式控制器210B之间的BGP会话中的分布式控制器之后,第一CSC能力三元组300向分布式控制器210B指示分布式控制器210A是分布式控制器。在一些实施例中,分布式控制器210A从用户(例如,网管工程师)或者运行于或通信耦合至分布式控制器210A的应用接收指令,所述指令指示分布式控制器210A将分布式控制器210B配置为分布式控制器210A与分布式控制器210B之间的分布式关系中的分布式控制器,并且作为回应,传输第一CSC能力三元组300至分布式控制器210B。
分布式控制器210B从分布式控制器210A接收第一CSC能力三元组300,并且基于第一CSC能力三元组确定分布式控制器210A是试图与其建立分布式关系的分布式控制器。分布式控制器210B进一步确定由第一CSC能力三元组300标识为分布式控制器的分布式控制器210A与分布式控制器210B上本地配置的分布式控制器的标识一致,并与分布式控制器210A形成分布式关系。在与分布式控制器210A形成分布式关系之后,在步骤520,分布式控制器210B传输第二CSC能力三元组300至分布式控制器210A。第二CSC能力三元组300包含在,例如,分布式控制器210B传输至分布式控制器210A的开放消息中。第二CSC能力三元组300包含如上文所论述的设置为“1”的分布式控制器位。在分布式控制器210A被配置为分布式控制器210A和分布式控制器210B之间的BGP会话中的分布式控制器之后,第二CSC能力三元组300向分布式控制器210A指示分布式控制器210B是分布式控制器。当分布式控制器210A接收到第二CSC能力三元组时,分布式控制器210A进一步确定由第二CSC能力三元组300标识为分布式控制器的分布式控制器210B与分布式控制器210A上本地配置的分布式控制器的标识一致,并与分布式控制器210B形成分布式关系。
当分布式控制器210A的配置改变(例如,响应于来自用户和/或应用的输入)使得分布式控制器210B不再被指定为针对分布式控制器210A的分布式控制器时,分布式控制器210A通过在步骤530中传输第三CSC能力三元组300至分布式控制器210B实现配置上的改变。第三CSC能力三元组300包含如上文所论述的设置为“0”的分布式控制器位。当分布式控制器210B接收到第三CSC能力三元组时,分布式控制器210B确定分布式控制器210A不再是它的相邻分布式控制器,并移除分布式控制器210B与分布式控制器210A之间的分布式关系。
当分布式控制器210B的配置改变(例如,响应于来自用户和/或应用的输入)使得分布式控制器210A不再被指定为针对分布式控制器210B的分布式控制器时,分布式控制器210B通过在步骤540中传输第四CSC能力三元组300至分布式控制器210A实现配置上的改变。分布式控制器210A确定分布式控制器210B不再是它的相邻分布式控制器,并移除分布式控制器210A和分布式控制器210B之间的分布式关系。
在形成分布式控制器210A和分布式控制器210B之间的分布式关系之后,在步骤550,分布式控制器210A可以发送CAA(例如,如下文参照图7更详细地论述)消息至分布式控制器210B,在步骤560,分布式控制器210B可以发送CAA消息至分布式控制器210A。在从分布式控制器210B接收到CAA消息之后,如果CAA消息不是由分布式控制器210A发起的,分布式控制器210A可以发送CAA消息至除分布式控制器210B以外的其他相邻分布式控制器。在从分布式控制器210A接收到CAA消息之后,如果消息不是由分布式控制器210B发起的,分布式控制器210B可以发送消息至除分布式控制器210A以外的其他相邻分布式控制器。在一些实施例中,每个CAA消息包含关于发起者的信息(例如,分布式控制器210A发起的CAA消息中的分布式控制器210A的IPv4地址等)以及与发送分布式控制器控制的域和相邻域之间的连接相关的信息(例如,域间链路)。在一些实施例中,CAA消息还包含可从域外接入的域中的接入点(例如,网元(例如,接入点)的地址或前缀)。CAA消息使得接收分布式控制器能够确定发送分布式控制器控制的域的外部信息,以及使得接收分布式控制器能够通过至少一些域路由数据流量。此外,域的外部信息使得接收分布式控制器能够知道域之间的连接,其中每个所述连接包括连接域的链路属性和链路的终点属性。链路的终点属性包括终点的类型(例如,ABR或ASBR)和终点的域(例如,AS编号或区域编号)。
现参考图6,图6示出了SDN网络层可达性信息(network layer reachabilityinformation,NLRI)类型长度值(type-length-value,TLV)600的一实施例。当两个网元(例如,在图1的父控制器106和任何一个或多个子控制器108,和/或在图2的任意两个分布式控制器210A-210E)试图基于BGP通信在SDN中,例如,图1的HSCS 100和/或图2的DSCS 200,执行动作或操作时(例如,当网元试图计算路径段和/或创建SDN中的从源到目的地之间的隧道段时),在所述网元之间传输的消息中实现SDN NLRI TLV 600。
如图6所示,SDN NLRI TLV 600包含NLRI类型字段610、NLRI长度字段620和SDNNLRI值字段630。NLRI类型字段610包含SDN NLRI TLV 600的标识,所述标识指示SDN NLRITLV 600的目标含义和SDN NLRI值字段630的内容。例如,下文表1中示出了NLRI类型字段610的示例性内容。NLRI长度字段620指示SDN NLRI值字段630的长度。SDN NLRI值字段630的长度取决于SDN NLRI值字段630中包含的特定消息或内容,因此SDN NLRI TLV 600的NLRI长度字段620的特定值在此不作限制。
表1
Figure BDA0002634196780000131
现参考图7,图7示出了CAANLRI TLV 700的一实施例。CAANLRI TLV 700在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,以便在,例如,如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中通告与传输CAA NLRI TLV 700的网元相关联的域和相邻域之间的连接。在一些实施例中,CAANLRI TLV 700在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。在一些实施例中,CAANLRI TLV 700通常称为通告消息。
如图7所示,在一些实施例中,CAANLRI TLV 700包含NLRI类型字段710、NLRI长度字段720、控制器请求参数(controller request parameter,CRP)字段730、域间链表字段740和接入地址列表字段750。NLRI类型字段710包含CAA NLRI TLV 700的标识,描述CAANLRI TLV 700的目标含义和CAA NLRI TLV 700的内容。例如,上文表1中示出NLRI类型字段610的示例性内容。NLRI长度字段720指示CAA NLRI TLV 700的长度,CAA NLRI TLV 700的长度取决于CAA NLRI TLV 700中包含的特定内容,因此CAANLRI TLV 700的NLRI长度字段720的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段730包含指定与隧道操作请求相关的各种参数的CRP TLV(例如,如下文参照图55所论述)。域间链表字段740包含一个或多个域间链路TLV。接入地址列表字段750包含传输CAA NLRI TLV 700的网元的域中的一个或多个网元地址的标识,位于传输CAA NLRI TLV 700的网元的域外部的网元可以访问所述地址。
现参考图8,图8示出了域间链路TLV 800的一实施例。域间链路TLV 800在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的CAA NLRI TLV 700中实现,以便在,例如,如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中通告与传输CAA NLRI TLV 700的网元相关联的域和相邻域之间的连接。在一些实施例中,域间链路TLV 800在CAA NLRI TLV700的域间链表字段740中传输。
如图8所示,在一些实施例中,域间链路TLV 800包含类型字段810、长度字段820、AS编号字段830、区域标识(identification,ID)子TLV字段840、内部网关协议(interiorgateway protocol,IGP)路由器ID子TLV字段850和可包含任意数目的域间链路子TLV的域间链路子TLV字段860。类型字段810包含域间链路TLV 800的类型的标识。域间链路TLV 800的类型可以为在稍后的时间分配给域间链路TLV 800的数值,并且域间链路TLV 800的类型字段810的特定值在此不作限制。长度字段820指示域间链路TLV 800的长度,域间链路TLV800的长度取决于域间链路TLV 800中包含的特定内容,因此域间链路TLV 800的长度字段820的特定值在此不作限制。在一些实施例中,AS编号字段830指示与CAANLRI TLV 700相关联的连接的终点所处的域的标识。区域ID子TLV字段840、IGP路由器ID子TLV字段850和域间链路子TLV字段860各自包含下文将更详细地论述的一个或多个子TLV。
现参考图9,图9示出了适于在图8的域间链路TLV 800的区域ID子TLV字段840中实现的区域ID子TLV 900的一实施例。区域ID子TLV 900在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的域间链路TLV 800中实现,以便在,例如,如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中通告与传输CAA NLRI TLV 700的网元相关联的域和相邻域之间的连接。
如图9所示,在一些实施例中,区域ID子TLV 900包含类型字段910、长度字段920和区域编号字段930。类型字段910包含区域ID子TLV 900的类型的标识。区域ID子TLV900的类型可以为在稍后的时间分配给区域ID子TLV 900的数值,并且区域ID子TLV900的类型字段910的特定值在此不作限制。长度字段920指示区域ID子TLV 900的长度,区域ID子TLV 900的长度取决于区域ID子TLV 900中包含的特定内容,因此区域ID子TLV 900的长度字段920的特定值在此不作限制。在一些实施例中,区域编号字段930指示与CAANLRI TLV 700相关联的连接的终点所在的区域或域的标识。
现参考图10,图10示出了适于在图8的域间链路TLV 800的IGP路由器ID子TLV字段850中实现的开放式最短路径优先(Open Shortest Path First,OSPF)路由器ID子TLV1000的一实施例。在一些实施例中,OSPF路由器ID子TLV 1000包含类型字段1010、长度字段1020和OSPF路由器ID字段1030。类型字段1010包含OSPF路由器ID子TLV 1000的标识。OSPF路由器ID子TLV 1000的类型可以为在稍后的时间分配给OSPF路由器ID子TLV 1000的数值,并且OSPF路由器ID子TLV1000的类型字段1010的特定值在此不作限制。长度字段1020指示OSPF路由器ID子TLV 1000的长度,OSPF路由器ID子TLV 1000的长度取决于OSPF路由器ID子TLV 1000中包含的特定内容,因此OSPF路由器ID子TLV 1000的长度字段1020的特定值在此不作限制。OSPF路由器ID字段1030包含能够执行OSPF路由的路由器的标识,所述路由器和与CAA NLRI TLV 700相关联的连接的终点相关联。
现参考图11,图11示出了适于在图8的域间链路TLV 800的IGP路由器ID子TLV字段850中实现的中间系统到中间系统(intermediate system to intermediate system,ISIS)路由器ID子TLV 1100的一实施例。应注意的是,在任何时候,图8的域间链路TLV 800的IGP路由器ID子TLV字段850不同时包含图10的OSPF路由器ID子TLV 1000或图11的ISIS路由器ID子TLV 1100。在一些实施例中,ISIS路由器ID子TLV 1100包含类型字段1110、长度字段1120和国际标准化组织(International Organization for Standardization,ISO)节点ID字段1130。类型字段1110包含ISIS路由器ID子TLV 1100的标识。ISIS路由器ID子TLV1100的类型可以为在稍后的时间分配给ISIS路由器ID子TLV 1100的数值,并且ISIS路由器ID子TLV 1100的类型字段1110的特定值在此不作限制。长度字段1120指示ISIS路由器ID子TLV 1100的长度,ISIS路由器ID子TLV 1100的长度取决于ISIS路由器ID子TLV 1100中包含的特定内容,因此ISIS路由器ID子TLV 1100的长度字段1120的特定值在此不作限制。ISO节点ID字段1130包含符合ISO标准的节点的标识,所述节点能够执行ISIS路由并且和与CAA NLRI TLV 700相关联的连接的终点相关联。
现参考图12,图12示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的域间链路类型子TLV 1200的一实施例。在一些实施例中,域间链路类型子TLV1200包含类型字段1210、长度字段1220和域间链路类型字段1230。类型字段1210包含域间链路类型子TLV 1200的标识。域间链路类型子TLV 1200的类型可以为在稍后的时间分配给域间链路类型子TLV 1200的数值,并且域间链路类型子TLV 1200的类型字段1210的特定值在此不作限制。长度字段1220指示域间链路类型子TLV 1200的长度,域间链路类型子TLV1200的长度取决于域间链路类型子TLV1200中包含的特定内容,因此域间链路类型子TLV1200的长度字段1220的特定值在此不作限制。域间链路类型字段1230包含与CAA NLRI TLV700相关联的域间链路的类型的标识。在一些实施例中,域间链路类型字段1230中标识的域间链路的类型是点到点类型(例如,指示为类型“1”)或者是多接入类型(例如,指示为类型“2”)。
现参考图13,图13示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的远程AS编号子TLV 1300的一实施例。在一些实施例中,远程AS编号子TLV 1300包含类型字段1310、长度字段1320和远程AS编号字段1330。类型字段1310包含远程AS编号子TLV 1300的标识。远程AS编号子TLV 1300的类型可以为在稍后的时间分配给远程AS编号子TLV 1300的数值,并且远程AS编号子TLV 1300的类型字段1310的特定值在此不作限制。长度字段1320指示远程AS编号子TLV 1300的长度,远程AS编号子TLV 1300的长度取决于远程AS编号子TLV 1300中包含的特定内容,因此远程AS编号子TLV 1300的长度字段1320的特定值在此不作限制。远程AS编号字段1330包含远程域的AS编号的标识,远程域和与CAA NLRITLV 700相关联的连接的终点相关联。在远程AS编号字段1330长度是四个八位位组且只有两个八位位组用来标识远程AS编号的远程AS编号子TLV 1300的实施例中,四个八位位组中的两个(例如,最左边的或高位的两个八位位组)设置为零。
现参考图14,图14示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的远程区域ID子TLV 1400的一实施例。在一些实施例中,远程区域ID子TLV 1400包含类型字段1410、长度字段1420和区域编号字段1430。类型字段1410包含远程区域ID子TLV1400的标识,所述标识指示远程区域ID子TLV 1400的类型。远程区域ID子TLV 1400的类型可以为在稍后的时间分配给远程区域ID子TLV 1400的数值,并且远程区域ID子TLV 1400的类型字段1410的特定值在此不作限制。长度字段1420指示远程区域ID子TLV 1400的长度,远程区域ID子TLV 1400的长度取决于远程区域ID子TLV 1400中包含的特定内容,因此远程区域ID子TLV 1400的长度字段1420的特定值在此不作限制。在一些实施例中,区域编号字段1430包含与CAA NLRI TLV 700相关联的连接的远程节点所处的区域或域的标识。
现参考图15,图15示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的远程OSPF路由器ID子TLV 1500的一实施例。在一些实施例中,远程OSPF路由器ID子TLV 1500包含类型字段1510、长度字段1520和OSPF路由器ID字段1530。类型字段1510包含远程OSPF路由器ID子TLV 1500的标识,所述标识指示远程OSPF路由器ID子TLV 1500的类型。远程OSPF路由器ID子TLV 1500的类型可以为在稍后的时间分配给远程OSPF路由器ID子TLV 1500的数值,并且远程OSPF路由器ID子TLV 1500的类型字段1510的特定值在此不作限制。长度字段1520指示远程OSPF路由器ID子TLV 1500的长度,远程OSPF路由器ID子TLV1500的长度取决于远程OSPF路由器ID子TLV 1500中包含的特定内容,因此远程OSPF路由器ID子TLV 1500的长度字段1520的特定值在此不作限制。OSPF路由器ID字段1530包含能够执行OSPF路由的路由器的标识,所述路由器和与CAA NLRI TLV 700相关联的连接的远程节点相关联。
现参考图16,图16示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的远程ISIS路由器ID子TLV 1600的一实施例。在一些实施例中,远程ISIS路由器ID子TLV 1600包含类型字段1610、长度字段1620和ISO节点ID字段1630。类型字段1610包含远程ISIS路由器ID子TLV 1600的标识,所述标识指示远程ISIS路由器ID子TLV 1600的类型。远程ISIS路由器ID子TLV的类型可以为在稍后的时间分配给远程ISIS路由器ID子TLV 1600的数值,并且远程ISIS路由器ID子TLV 1600的类型字段1610的特定值在此不作限制。长度字段1620指示远程ISIS路由器ID子TLV 1600的长度,远程ISIS路由器ID子TLV 1600的长度取决于远程ISIS路由器ID子TLV 1600中包含的特定内容,因此远程ISIS路由器ID子TLV1600的长度字段1620的特定值在此不作限制。ISO节点ID字段1630包含符合ISO标准的节点的标识,所述节点能够执行ISIS路由并且和与CAA NLRI TLV 700相关联的连接的远程节点相关联。
现参考图17,图17示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的第四版互联网协议(Internet Protocol version 4,IPv4)远程ASBR ID子TLV1700的一实施例。在一些实施例中,IPv4远程ASBR ID子TLV 1700包含类型字段1710、长度字段1720和IPv4远程ASBR ID字段1730。类型字段1710包含IPv4远程ASBR ID子TLV 1700的标识,所述标识指示IPv4远程ASBR ID子TLV 1700的类型。IPv4远程ASBR ID子TLV 1700的类型可以为在稍后的时间分配给IPv4远程ASBR ID子TLV 1700的数值,并且IPv4远程ASBRID子TLV 1700的类型字段1710的特定值在此不作限制。长度字段1720指示IPv4远程ASBRID子TLV 1700的长度,IPv4远程ASBR ID子TLV 1700的长度取决于IPv4远程ASBR ID子TLV1700中包含的特定内容,因此IPv4远程ASBR ID子TLV 1700的长度字段1720的特定值在此不作限制。IPv4远程ASBR ID字段1730包含ASBR的标识,所述ASBR和与CAANLRI TLV 700相关联的连接的远程节点相关联。在一些实施例中,当与远程节点相邻的ASBR具有IPv4地址时,IPv4远程ASBR ID子TLV 1700包含在域间链路TLV 800内。应注意的是,IPv4远程ASBRID子TLV 1700同样适用于第六版互联网协议(Internet Protocol version 6,IPv6)网络或节点,在此情况下,在不脱离本公开范围的前提下,IPv4远程ASBR ID子TLV 1700中使用的任何“IPv4”可以用“IPv6”替代。
现参考图18,图18示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的本地接口IPv4地址子TLV 1800的一实施例。在一些实施例中,本地接口IPv4地址子TLV 1800包含类型字段1810、长度字段1820和本地接口IPv4地址字段1830。类型字段1810包含本地接口IPv4地址子TLV 1800的标识,所述标识指示本地接口IPv4地址子TLV1800的类型。本地接口IPv4地址子TLV 1800的类型可以为在稍后的时间分配给本地接口IPv4地址子TLV 1800的数值,并且本地接口IPv4地址子TLV 1800的类型字段1810的特定值在此不作限制。长度字段1820指示本地接口IPv4地址子TLV 1800的长度,本地接口IPv4地址子TLV 1800的长度取决于本地接口IPv4地址子TLV 1800中包含的特定内容,因此本地接口IPv4地址子TLV 1800的长度字段1820的特定值在此不作限制。本地接口IPv4地址字段1830包含对应于域间链路的一个或多个接口的一个或多个IPv4地址,其中所述接口和与CAA NLRI TLV 700相关联的连接的本地节点相关联。应注意的是,本地接口IPv4地址子TLV1800同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,本地接口IPv4地址子TLV 1800中使用的任何“IPv4”可以用“IPv6”替代。
现参考图19,图19示出了适于在图8的域间链路TLV 800的域间链路子TLV字段860中实现的远程接口IPv4地址子TLV 1900的一实施例。在一些实施例中,远程接口IPv4地址子TLV 1900包含类型字段1910、长度字段1920和邻居接口IPv4地址字段1930。类型字段1910包含远程接口IPv4地址子TLV 1900的标识,所述标识指示远程接口IPv4地址子TLV1900的类型。远程接口IPv4地址子TLV 1900的类型可以为在稍后的时间分配给远程接口IPv4地址子TLV 1900的数值,并且远程接口IPv4地址子TLV 1900的类型字段1910的特定值在此不作限制。长度字段1920指示远程接口IPv4地址子TLV 1900的长度,远程接口IPv4地址子TLV 1900的长度取决于远程接口IPv4地址子TLV 1900中包含的特定内容,因此远程接口IPv4地址子TLV 1900的长度字段1920的特定值在此不作限制。邻居接口IPv4地址字段1930包含对应于域间链路的一个或多个邻居接口的一个或多个邻居IPv4地址,其中所述邻居接口和与CAANLRI TLV 700相关联的连接的远程节点相关联。在一些实施例中,邻居IPv4地址与图18的本地接口IPv4地址子TLV 1800的IPv4地址一起用于确定域和/或网元之间的多个平行链路。应注意的是,远程接口IPv4地址子TLV 1900同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,远程接口IPv4地址子TLV 1900中使用的任何“IPv4”可以用“IPv6”替代。
现参考图20,图20示出了适于在图7的CAA NLRI TLV 700的接入地址列表字段750中实现的接入IPv4前缀TLV 2000的一实施例。在一些实施例中,接入IPv4前缀TLV 2000包含类型字段2010、长度字段2020、AS编号字段2030、区域ID子TLV字段2040和接入IPv4前缀子TLV字段2050。类型字段2010包含接入IPv4前缀TLV 2000的标识。接入IPv4前缀TLV 2000的类型可以为在稍后的时间分配给接入IPv4前缀TLV 2000的数值,并且接入IPv4前缀TLV2000的类型字段2010的特定值在此不作限制。长度字段2020指示接入IPv4前缀TLV 2000的长度,接入IPv4前缀TLV 2000的长度取决于接入IPv4前缀TLV 2000中包含的特定内容,因此接入IPv4前缀TLV 2000的长度字段2020的特定值在此不作限制。在一些实施例中,AS编号字段2030指示域的标识,与承载接入IPv4前缀TLV 2000的CAANLRI TLV 700相关联的业务和/或节点的终点与所述域相关联。在一些实施例中,区域ID子TLV字段2040包含区域ID子TLV,例如上文参照图9描述的区域ID子TLV 900。接入IPv4前缀子TLV字段2050包含下文将更详细地论述的一个或多个子TLV。应注意的是,接入IPv4前缀TLV 2000同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,接入IPv4前缀TLV 2000中使用的任何“IPv4”可以用“IPv6”替代。
现参考图21,图21示出了适于在图20的接入IPv4前缀TLV 2000的接入IPv4前缀子TLV字段2050中实现的接入IPv4前缀子TLV 2100的一实施例。在一些实施例中,接入IPv4前缀子TLV 2100包含类型字段2110、长度字段2120、前缀长度字段2130和IPv4前缀字段2140。类型字段2110包含接入IPv4前缀子TLV 2100的标识。接入IPv4前缀子TLV 2100的类型可以为在稍后的时间分配给接入IPv4前缀子TLV 2100的数值,并且接入IPv4前缀子TLV 2100的类型字段2110的特定值在此不作限制。长度字段2120指示接入IPv4前缀子TLV 2100(例如,与IPv4前缀字段2140组合的前缀长度字段2130)的长度。例如,长度字段2120可以指示与IPv4前缀字段2140组合的前缀长度字段2130的四个八位位组的长度。前缀长度字段2130指示IPv4前缀字段2140中后续IPv4前缀的长度。在一些实施例中,IPv4前缀具有可变长度,因此,前缀长度字段2130的特定值在此不作限制。IPv4前缀字段2140包含域的接入的标识,所述域和与CAA NLRI TLV 700相关联的业务和/或节点(例如,传输可从域外接入的CAA NLRITLV 700的网元控制的域中的接入点或其它网元)相关联。应注意的是,接入IPv4前缀子TLV2100同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,接入IPv4前缀子TLV 2100中使用的任何“IPv4”可以用“IPv6”替代。
现参考图22,图22示出了CPSReq NLRI TLV 2200的一实施例。CPSReq NLRI TLV2200在两个网元之间(例如,在父控制器106和任何一个或多个子控制器108之间)传输的消息中实现,以请求,例如,在如图1的HSCS 100的HSCS网络中计算路径段。在一些实施例中,CPSReq NLRI TLV 2200在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图22所示,CPSReq NLRI TLV 2200包含NLRI类型字段2210、NLRI长度字段2220、CRP字段2230、起始节点字段2240、隧道ID-Info字段2250、异常列表字段2260、约束字段2270和目的节点字段2280。NLRI类型字段2210包含CPSReq NLRI TLV 2200的标识,所述标识指示CPSReq NLRI TLV 2200的目标含义和CPSReq NLRI TLV 2200的内容。例如,上文表1中示出NLRI类型字段2210的示例性内容。NLRI长度字段2220指示CPSReq NLRI TLV 2200的长度,CPSReq NLRI TLV 2200的长度取决于CPSReq NLRI TLV 2200中包含的特定内容,因此CPSReq NLRI TLV 2200的NLRI长度字段2220的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段2230包含指定与隧道操作请求相关的各种参数的CRPTLV。起始节点字段2240描述接收CPSReq NLRI TLV 2200的子控制器控制的域中的起始节点(例如,起始节点的地址或标识)。起始节点是指,例如,子控制器响应于CPSReq NLRI TLV2200开始计算一个或多个路径段的节点。隧道ID-Info字段2250指示与对应于CPSReq NLRITLV 2200的隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿子控制器响应于CPSReq NLRI TLV 2200计算出的一个或多个路径段构建)相关联的全局隧道标识(global tunnel identifier,GTID)和路径标识(path identifier,PID)。异常列表字段2260指示子控制器的域和与子控制器的域相邻的域中的节点(例如,网元),所述节点存在于发送CPSReq NLRI TLV 2200(例如,作为之前的CPSReq NLRI TLV 2200的结果)的父控制器的SPT中。约束字段2270指示发送CPSReq NLRI TLV 2200的父控制器指定的约束条件(例如,带宽、服务质量(quality of service,QoS)等),其中子控制器响应于CPSReq NLRI TLV2200计算出的路径段应该满足所述约束条件。目的节点字段2280指示目的节点的地址或标识,父控制器希望构建SPT至所述目的节点。在一些实施例中,目的节点位于接收CPSReqNLRI TLV 2200的子控制器控制的域中,而在其它实施例中,目的节点不位于接收CPSReqNLRI TLV 2200的子控制器控制的域中。
现参考图23,图23示出了起始节点TLV 2300的一实施例。起始节点TLV 2300可以在根据本公开的各种实施例的任一消息中实现,以指示E2E隧道和/或路径段或隧道段的起始节点的标识(例如,从起始节点开始的路径段和/或隧道段的创建)。例如,在一些实施例中,起始节点TLV 2300适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在起始节点字段中(例如,至少是图22的CPSReq 2200的起始节点字段2240)。在一些实施例中,起始节点TLV 2300包含类型字段2310、长度字段2320和起始节点IPv4地址字段2330。类型字段2310包含起始节点TLV 2300的标识,所述标识指示起始节点TLV 2300的类型。起始节点TLV2300的类型可以为在稍后的时间分配给起始节点TLV 2300的数值,并且起始节点TLV 2300的类型字段2310的特定值在此不作限制。长度字段2320指示起始节点TLV 2300的长度,起始节点TLV 2300的长度取决于起始节点TLV 2300中包含的特定内容,因此起始节点TLV2300的长度字段2320的特定值在此不作限制。在一些实施例中,起始节点IPv4地址字段2330包含起始节点的互联网协议(Internet Protocol,IP)地址(例如,IPv4地址或IPv6地址),应该从所述起始节点计算和/或创建(或当起始节点TLV 2300包含在用于保持或移除路径段的消息中时已经提前创建)路径段和/或隧道段。
现参考图24,图24示出了隧道ID-Info TLV 2400的一实施例。隧道ID-InfoTLV2400可以在根据本公开的各种实施例的任一消息中实现,以唯一标识E2E隧道和/或E2E隧道的路径。例如,在一些实施例中,隧道ID-InfoTLV 2400适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在隧道ID-Info字段中(例如,至少是图22的CPSReq 2200的隧道ID-Info字段2250)。在一些实施例中,隧道ID-Info TLV 2400包含类型字段2410、长度字段2420、隧道ID字段2430、路径ID字段2440、预留字段2450和可选子TLV字段2460。类型字段2410包含隧道ID-Info TLV 2400的标识,所述标识指示隧道ID-Info TLV 2400的类型。隧道ID-Info TLV 2400的类型可以为在稍后的时间分配给隧道ID-Info TLV 2400的数值,并且隧道ID-Info TLV 2400的类型字段2410的特定值在此不作限制。长度字段2420指示隧道ID-Info TLV 2400的长度,隧道ID-Info TLV 2400的长度取决于隧道ID-Info TLV 2400中包含的特定内容,因此隧道ID-Info TLV 2400的长度字段2420的特定值在此不作限制。在一些实施例中,隧道ID字段2430包含与E2E隧道相关联的全局标识,所述E2E隧道与隧道ID-Info TLV 2400相关联。例如,在至少一些实施例中,隧道ID字段2430包含GTID。在一些实施例中,隧道ID字段2430(以及对应地,GTID)包含32位,而在其它实施例中,隧道ID字段2430包含适于传达E2E隧道的全局标识的任意数目的位。在一些实施例中,路径ID字段2440包含隧道ID字段2430中标识的E2E隧道中路径的标识。例如,在至少一些实施例中,路径ID字段2440包含PID。在一些实施例中,路径ID字段2440(以及相应地,PID)包含16位,而在其它实施例中,路径ID字段2440包含适于传达E2E隧道中路径的标识的任意数目的位。预留字段2450的长度是32位减去路径ID字段2440的位长,在至少一些实施例中,预留字段2450的每个位设置为0。在一些实施例中,可选子TLV字段2460包含对接收可选子TLV的网元的操作可选的子TLV,但是当存在时,子TLV提供与网元在其中操作的网络中的路径段计算和/或隧道创建相关的附加信息。
现参考图25,图25示出了异常列表TLV 2500的一实施例。异常列表TLV 2500可以在根据本公开的各种实施例的任一消息中实现,以标识不应该考虑到计算路径段和/或创建隧道段中的节点。例如,在一些实施例中,异常列表TLV 2500适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在异常列表字段中(例如,至少是图22的CPSReq 2200的异常列表字段2260)。在一些实施例中,异常列表TLV 2500包含类型字段2510、长度字段2520和一个或多个异常节点IPv4地址字段2530。类型字段2510包含异常列表TLV 2500的标识,所述标识指示异常列表TLV 2500的类型。异常列表TLV 2500的类型可以为在稍后的时间分配给异常列表TLV 2500的数值,并且异常列表TLV 2500的类型字段2510的特定值在此不作限制。长度字段2520指示异常列表TLV 2500的长度,异常列表TLV 2500的长度取决于异常列表TLV 2500中包含的特定内容,因此异常列表TLV 2500的长度字段2520的特定值在此不作限制。所述一个或多个异常节点IPv4地址字段2530中的每个字段均包含节点或网元的IPv4地址,在一些实施例中,所述节点或网元不应该考虑到计算路径段和/或创建隧道段中(例如,因为到异常列表TLV 2500中包含的节点的路径是已知的)。应注意的是,异常列表TLV 2500同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,异常列表TLV2500中使用的任何“IPv4”可以用“IPv6”替代。
现参考图26,图26示出了带宽TLV 2600的一实施例。带宽TLV 2600可以在根据本公开的各种实施例的任一消息中实现,以标识路径段和/或隧道段需要支持的最小带宽。例如,在一些实施例中,带宽TLV 2600适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在约束字段中,例如,至少是图22的CPSReq 2200的约束字段2270。在一些实施例中,带宽TLV 2600包含类型字段2610、长度字段2620和带宽字段2630。类型字段2610包含带宽TLV2600的标识,所述标识指示带宽TLV 2600的类型。带宽TLV 2600的类型可以为在稍后的时间分配给带宽TLV 2600的数值,并且带宽TLV 2600的类型字段2610的特定值在此不作限制。长度字段2620指示带宽TLV 2600的长度,带宽TLV 2600的长度取决于带宽TLV 2600中包含的特定内容,因此带宽TLV 2600的长度字段2620的特定值在此不作限制。带宽字段2630指示路径段和/或隧道段应该能够支持的所需带宽(例如,表示为每秒多少个字节)。例如,在一些实施例中,所需带宽以32位电气和电子工程师学会(Institute of Electricaland Electronics Engineers,IEEE)浮点格式表示,所述格式包含在2003年1月发布的IETFRFC 3471的第3.1.2部分中,该部分内容以引用的方式并入本文中。
现参考图27,图27示出了LSP属性(LSP Attribute,LSPA)TLV 2700的一实施例。LSPA TLV 2700可以在根据本公开的各种实施例的任一消息中实现,以标识路径段和/或隧道段需要支持的属性。例如,在一些实施例中,LSPATLV 2700适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在约束字段中,例如,至少是图22的CPSReq 2200的约束字段2270。在一些实施例中,LSPATLV 2700包含类型字段2710、长度字段2720、任意排除字段2730、任意包含字段2740、全部排除字段2750、建立优先级(Setup Priority,Setup Prio)字段2760、保持优先级(Holding Priority,Holding Prio)字段2770、包含1位本地保护所需(Local Protection desired,L)位2782的标志字段2780(例如,如2001年12月发布的IETFRFC 3209所定义,该文件以引用的方式并入本文中)、预留字段2784和可选子TLV字段2790。类型字段2710包含LSPA TLV 2700的标识,所述标识指示LSPA TLV 2700的类型。LSPA TLV2700的类型可以为在稍后的时间分配给LSPA TLV 2700的数值,并且LSPA TLV 2700的类型字段2710的特定值在此不作限制。长度字段2720指示LSPA TLV 2700的长度,LSPA TLV2700的长度取决于LSPA TLV 2700中包含的特定内容,因此LSPA TLV 2700的长度字段2720的特定值在此不作限制。任意排除字段2730包含表示与隧道相关联的一组属性过滤器的32位向量,任一属性过滤器使得链路不可接受。任意包含字段2740包含表示与隧道相关联的一组属性过滤器的32位向量,任一属性过滤器使得链路可接受(例如,关于作为约束条件在计算路径段和/或创建隧道段中测试的LSPA TLV 2700)。例如,空集(例如,所有位都设置为零)自动通过。全部包含字段2750包含表示与隧道相关联的一组属性过滤器的32位向量,对于可接受的链路,所有属性过滤器需要存在(例如,关于作为约束条件在计算路径段和/或创建隧道段中测试的LSPA TLV 2700)。例如,空集(例如,所有位都设置为零)自动通过。建立优先级字段2760指示与LSPA TLV 2700相关联的TE LSP会话关于采集资源的优先级,例如,以确定TE LSP会话是否可以抢占另一个会话。在一些实施例中,建立优先级字段2760包含0(例如,最高优先级)到7(例如,最低优先级)的取值范围。保持优先级字段2770指示与LSPA TLV 2700相关联的TE LSP会话关于保持资源(例如,先前采集或预留的资源)的优先级,例如,以确定另一个会话是否可以抢占TE LSP会话。在一些实施例中,保持优先级字段2770包含0(例如,最高优先级)到7(例如,最低优先级)的取值范围。标志字段2780包含1位L标志位2782,指示计算出的任何路径段需要包含如2005年5月发布的IETF RFC 4090中所描述的通过快速重路由保护来保护的链路,该文件以引用的方式并入本文中。对于标志字段2780中的剩余位(例如,未分配的位),以及预留字段2784,传输网元将其设置为0,而被接收网元忽略。在一些实施例中,可选子TLV字段2790包含对接收可选子TLV的网元的操作可选的子TLV,但是当存在时,子TLV提供与网元在其中操作的网络中的路径段计算和/或隧道创建相关的附加信息。
现参考图28,图28示出了显式路由(explicit route,ER)TLV 2800的一实施例。ERTLV2800可以在根据本公开的各种实施例的任一消息中实现,以明确标识路径段和/或隧道段应该遍历的节点。例如,在一些实施例中,ER TLV 2800适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在约束字段中,例如,至少是图22的CPSReq 2200的约束字段2270。在一些实施例中,ER TLV 2800包含类型字段2810、长度字段2820和一个或多个节点子TLV字段2830。类型字段2810包含ER TLV 2800的标识,所述标识指示ER TLV 2800的类型。ER TLV2800的类型可以为在稍后的时间分配给ER TLV 2800的数值,并且ER TLV 2800的类型字段2810的特定值在此不作限制。长度字段2820指示ER TLV 2800的长度,ER TLV 2800的长度取决于ER TLV 2800中包含的特定内容,因此ER TLV 2800的长度字段2820的特定值在此不作限制。每个节点子TLV字段2830包含一个或多个下文将更详细论述的子TLV。
现参考图29,图29示出了IPv4前缀节点子TLV 2900的一实施例。IPv4前缀节点子TLV 2900可以在根据本公开的各种实施例的任一消息中实现,以标识如图1的HSCS 100和/或图2的DSCS 200的网络中的节点。例如,在一些实施例中,IPv4前缀节点子TLV 2900适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在节点子TLV字段中,例如,至少是图28的ER TLV 2800的节点子TLV字段2830。在一些实施例中,IPv4前缀节点子TLV 2900包含类型字段2910、长度字段2920、IPv4地址字段2930、前缀长度字段2950、L标志位2960和预留字段2970。类型字段2910包含IPv4前缀节点子TLV 2900的标识。IPv4前缀节点子TLV 2900的类型可以为在稍后的时间分配给IPv4前缀节点子TLV 2900的数值,并且IPv4前缀节点子TLV2900的类型字段2910的特定值在此不作限制。长度字段2920指示IPv4前缀节点子TLV 2900的长度,IPv4前缀节点子TLV 2900的长度取决于IPv4前缀节点子TLV 2900中包含的特定内容,因此IPv4前缀节点子TLV 2900的长度字段2920的特定值在此不作限制。IPv4地址字段2930包含网络中节点的地址。前缀长度字段2940指示IPv4地址字段2930中的IPv4地址的长度。L标志位2950指示IPv4前缀节点子TLV 2900是否代表宽松的一跳(例如,当L标志位2950设置为“1”时,在LSP中,IPv4地址字段2930中标识的节点不需要直接耦合至紧接在前的节点),或者指示IPv4前缀节点子TLV 2900是否代表严格的一跳(例如,当L标志位2950设置为“0”时,在LSP中,IPv4地址字段2930中标识的节点需要直接耦合至紧接在前的节点)。预留字段2960的每一位都设置为零,并且在接收时忽略。应注意的是,IPv4前缀节点子TLV 2900同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,IPv4前缀节点子TLV 2900中使用的任何“IPv4”可以用“IPv6”替代。
现参考图30,图30示出了AS编号(AS number,ASN)节点子TLV 3000的一实施例。ASN节点子TLV 3000可以在根据本公开的各种实施例的任一消息中实现,以标识如图1的HSCS 100和/或图2的DSCS 200的网络中的节点。例如,在一些实施例中,ASN节点子TLV3000适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在节点子TLV字段中,例如,至少是图28的ER TLV 2800的节点子TLV字段2830。在一些实施例中,ASN节点子TLV 3000包含类型字段3010、长度字段3020和ASN字段3030。类型字段3010包含ASN节点子TLV 3000的标识,所述标识指示ASN节点子TLV 3000的类型。ASN节点子TLV 3000的类型可以为在稍后的时间分配给ASN节点子TLV 3000的数值,并且ASN节点子TLV 3000的类型字段3010的特定值在此不作限制。长度字段3020指示ASN节点子TLV 3000的长度,ASN节点子TLV 3000的长度取决于ASN节点子TLV 3000中包含的特定内容,因此ASN节点子TLV 3000的长度字段3020的特定值在此不作限制。ASN字段3030包含网络中的节点的ASN。
现参考图31,图31示出了目的节点列表TLV 3100的一实施例。目的节点列表TLV3100可以在根据本公开的各种实施例的任一消息中实现,以标识如图1的HSCS 100和/或图2的DSCS 200的网络中的用于计算路径段和/或创建隧道段的目的节点。例如,在一些实施例中,目的节点列表TLV 3100适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在目的节点字段中,例如,至少是图22的CPSReq NLRI TLV 2200的目的节点字段2280。在一些实施例中,目的节点列表TLV 3100包含类型字段3110、长度字段3120和一个或多个目的节点IPv4地址字段3130。类型字段3110包含目的节点列表TLV 3100的标识,所述标识指示目的节点列表TLV 3100的类型。目的节点列表TLV 3100的类型可以为在稍后的时间分配给目的节点列表TLV 3100的数值,并且目的节点列表TLV 3100的类型字段3110的特定值在此不作限制。长度字段3120指示目的节点列表TLV 3100的长度,目的节点列表TLV 3100的长度取决于目的节点列表TLV 3100中包含的特定内容,因此目的节点列表TLV 3100的长度字段3120的特定值在此不作限制。所述一个或多个目的节点IPv4地址字段3130中的每个字段均包含节点或网元的IPv4地址,所述节点或网元是网络中用于例如计算路径段、增长SPT和/或创建隧道段的目的节点。应注意的是,目的节点列表TLV 3100同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,目的节点列表TLV 3100中使用的任何“IPv4”可以用“IPv6”替代。
现参考图32,图32示出了CPSRep NLRI TLV 3200的一实施例。CPSRep NLRI TLV3200在两个网元之间(例如,在图1的任何一个或多个子控制器108和父控制器106之间)传输的消息中实现,以响应于,例如,在如图1的HSCS 100的HSCS网络中的计算路径段的请求(例如,如上文参照图22所论述的CPSReq NLRI TLV 2200)。在一些实施例中,CPSRep NLRITLV 3200在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图32所示,CPSRep NLRI TLV 3200包含NLRI类型字段3210、NLRI长度字段3220、CRP字段3230、起始节点字段3240、隧道ID-Info字段3250、段末端列表字段3260、度量列表字段3270和无路径字段3280。NLRI类型字段3210包含CPSRep NLRI TLV 3200的标识,所述标识指示CPSRep NLRI的目标含义和CPSRep NLRI TLV 3200的内容。例如,上文表1中示出NLRI类型字段3210的示例性内容。NLRI长度字段3220指示CPSRep NLRI TLV 3200的长度,CPSRep NLRI TLV 3200的长度取决于CPSRep NLRI TLV 3200中包含的特定内容,因此CPSRep NLRI TLV 3200的NLRI长度字段3220的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段3230包含指定与隧道操作请求相关的各种参数的CRP TLV。起始节点字段3240指示起始节点的地址或标识,其中子控制器从起始节点开始计算CPSRepNLRI TLV 3200中上报的路径段。例如,CPSRep NLRI TLV 3200中指示的起始节点可以是如上文参照图22所论述的CPSReq NLRI TLV 2200中父控制器向子控制器标识的起始节点。在一些实施例中,起始节点字段3240包含起始节点TLV,例如图23的起始节点TLV 2300,以指示起始节点的地址。隧道ID-Info字段3250指示与对应于CPSRep NLRI TLV 3200的隧道相关联的GTID和PID。在一些实施例中,隧道ID-Info字段3250指示如图24的隧道ID-Info TLV2400的隧道ID-Info TLV中的GTID和PID。例如,CPSRep NLRI TLV 3200的隧道ID-Info字段3250中指示的GTID和PID可以是如上文参照图22所论述的CPSReq NLRI TLV 2200中父控制器向子控制器标识的GTID和PID。段末端列表字段3260针对子控制器响应于接收CPSReqNLRI TLV 2200计算出的每个路径,指示计算出的路径段的末端节点以及与从起始节点字段3240中标识的起始节点到达末端节点相关联的成本。度量列表字段3270指示与段末端列表字段3260中标识的末端节点相关联的一个或多个段末端节点IGP度量值和/或一个或多个段末端节点流量工程(Traffic Engineering,TE)度量值。段末端节点IGP度量值和/或段末端节点TE度量值中包含的特定值可以根据度量列表字段的一实施方式确定,在此不作限制。无路径字段3280向接收CPSRep NLRI TLV 3200的父控制器指示子控制器不能响应于子控制器从父控制器接收到的CPSReq NLRI TLV 2200计算出任何路径段。
现参考图33,图33示出了段末端节点列表TLV 3300的一实施例。段末端节点列表TLV 3300可以在根据本公开的各种实施例的任一消息中实现,以标识如上文所论述的在如图1的HSCS 100的网络中计算出的路径段的末端节点。例如,在一些实施例中,段末端节点列表TLV 3300适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在段末端列表字段中,例如,至少是图32的CPSRep NLRI TLV 3200的段末端列表字段3260。在一些实施例中,段末端节点列表TLV 3300包含类型字段3310、长度字段3320和一个或多个段末端节点IPv4地址字段3330。类型字段3310包含段末端节点列表TLV 3300的标识,所述标识指示段末端节点列表TLV 3300的类型。段末端节点列表TLV 3300的类型可以为在稍后的时间分配给段末端节点列表TLV 3300的数值,并且段末端节点列表TLV 3300的类型字段3310的特定值在此不作限制。长度字段3320指示段末端节点列表TLV 3300的长度,段末端节点列表TLV 3300的长度取决于段末端节点列表TLV 3300中包含的特定内容,因此段末端节点列表TLV 3300的长度字段3320的特定值在此不作限制。所述一个或多个段末端节点IPv4地址字段3330中的每个字段均包含节点或网元的IPv4地址,所述节点或网元是网络中计算出的路径段的末端节点。应注意的是,段末端节点列表TLV 3300同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,段末端节点列表TLV 3300中使用的任何“IPv4”可以用“IPv6”替代。
现参考图34,图34示出了RPSReq NLRI TLV 3400的一实施例。RPSReq NLRI TLV3400在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,以请求,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中移除或删除路径段。在一些实施例中,RPSReq NLRI TLV 3400在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图34所示,RPSReq NLRI TLV 3400包含NLRI类型字段3410、NLRI长度字段3420、CRP字段3430、隧道ID-Info字段3440和起始节点列表字段3450。NLRI类型字段3410包含RPSReq NLRI TLV 3400的标识,所述标识指示RPSReq NLRI的目标含义和RPSReq NLRI TLV3400的内容。例如,上文表1中示出NLRI类型字段3410的示例性内容。NLRI长度字段3420指示RPSReq NLRI TLV 3400的长度,RPSReq NLRI TLV 3400的长度取决于RPSReq NLRI TLV3400中包含的特定内容,因此RPSReq NLRI TLV 3400的NLRI长度字段3420的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段3430包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段3440指示与隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿先前根据一个或多个请求消息计算出的一个或多个路径构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段3440指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。起始节点列表字段3450指示根据RPSReq NLRI TLV 3400请求删除的每个路径段的起始节点。在一些实施例中,如上文参照图23所论述,起始节点列表字段3450包含一个起始节点TLV 2300。在其他实施例中,如上文参照图23所论述,起始节点列表字段3450包含多个起始节点TLV 2300。
现参考图35,图35示出了RPSRep NLRI TLV 3500的一实施例。RPSRep NLRI TLV3500在两个网元之间(例如,在图1的任何一个或多个子控制器108和父控制器106之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,以响应于,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中的移除路径段的请求(例如,如上文参照图34所论述的RPSReq NLRI TLV 3400)。在一些实施例中,RPSRep NLRI TLV3500在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图35所示,RPSRep NLRI TLV 3500包含NLRI类型字段3510、NLRI长度字段3520、CRP字段3530、隧道ID-Info字段3540、状态字段3550和错误码及原因字段3560。NLRI类型字段3510包含RPSRep NLRI TLV 3500的标识,所述标识指示RPSRep NLRI的目标含义和RPSRep NLRI TLV 3500的内容。例如,上文表1中示出NLRI类型字段3510的示例性内容。NLRI长度字段3520指示RPSRep NLRI TLV 3500的长度,RPSRep NLRI TLV 3500的长度取决于RPSRep NLRI TLV 3500中包含的特定内容,因此RPSRep NLRI TLV 3500的NLRI长度字段3520的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段3530包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段3540指示与隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿先前根据一个或多个请求消息计算出的一个或多个路径构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段3540指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。状态字段3550指示(例如,如上文参照图34所论述的RPSReq NLRI TLV 3400)请求移除的每个路径段的路径移除的状态。例如,对于每个请求移除的路径段,状态字段3550可以指示已经成功移除所述请求移除的路径段的“成功”状态,或者不能移除所述请求移除的路径段的“失败”状态。当状态字段3550包含用于一个或多个请求移除的路径段的“失败”状态时,错误码及原因字段3560包含关于未能移除路径段的原因或起因的解释性信息(例如,错误码或其它信息)。
现参考图36,图36示出了状态TLV 3600的一实施例。状态TLV 3600可以在根据本公开的各种实施例的任一消息中实现,以指示根据本公开中任一请求消息执行的操作的状态。例如,在一些实施例中,状态TLV 3600适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在状态字段中,例如,至少是图35的RPSRep NLRI TLV 3500的状态字段3550的。在一些实施例中,状态TLV 3600包含类型字段3610、长度字段3620、状态码字段3630、原因字段3640、预留字段3650和可选TLV字段3660。类型字段3610包含状态TLV 3600的标识,所述标识指示状态TLV 3600的类型。状态TLV 3600的类型可以为在稍后的时间分配给状态TLV3600的数值,并且状态TLV 3600的类型字段3610的特定值在此不作限制。长度字段3620指示状态TLV 3600的长度,状态TLV 3600的长度取决于状态TLV 3600中包含的特定内容,因此状态TLV 3600的长度字段3620的特定值在此不作限制。状态编码字段3630指示响应于请求消息的操作的执行状态。例如,状态编码字段3630包含“1”以指示响应于请求消息的操作的执行“成功”状态,或“0”以指示响应于请求消息的操作的执行“失败”状态。在一些实施例中,当状态编码字段3630指示“失败”时,原因字段3640包含与未能响应于请求消息执行操作的原因或起因相关的信息。例如,在一些实施例中,原因字段3640包含对应于预定义错误或失败起因的错误码。预留字段3650的每一位都设置为零,并且在接收时忽略。可选地,当状态编码字段3630指示“失败”时,可选TLV字段3660包含与失败相关的附加信息或细节,可选TLV字段中包含的特定信息在此不作限制。
现参考图37,图37示出了KPSReq NLRI TLV 3700的一实施例。KPSReq NLRI TLV3700在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,以请求,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中保持路径段。在一些实施例中,KPSReq NLRI TLV 3700在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图37所示,KPSReq NLRI TLV 3700包含NLRI类型字段3710、NLRI长度字段3720、CRP字段3730、隧道ID-Info字段3740和段列表字段3750。NLRI类型字段3710包含KPSReqNLRI TLV 3700的标识,所述标识指示KPSReq NLRI的目标含义和KPSReq NLRI TLV 3700的内容。例如,上文表1中示出NLRI类型字段3710的示例性内容。NLRI长度字段3720指示KPSReq NLRI TLV的长度,KPSReq NLRI TLV的长度取决于KPSReq NLRI TLV 3700中包含的特定内容,因此KPSReq NLRI TLV 3700的NLRI长度字段3720的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段3730包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段3740指示与隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿先前根据一个或多个如上文参照图22所论述的请求消息计算出的一个或多个路径段构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段3740指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。段列表字段3750指示一个或多个节点对(例如起始节点和末端节点),每个节点对与根据KPSReq NLRI TLV 3700请求保持的段对应。在一实施例中,节点对表示为图23的起始节点TLV 2300和图33的包含单个段末端节点的段末端节点列表TLV 3300。或者,段列表字段3750可以包含一个或多个起始节点或一个或多个末端节点,以根据KPSReq NLRI TLV 3700保持所有包含一个所标识节点的路径段。
现参考图38,图38示出了KPSRep NLRI TLV 3800的一实施例。KPSRep NLRI TLV3800在两个网元之间(例如,在任何一个或多个子控制器108和父控制器106之间,和/或在任意两个分布式控制器210A-210E之间)传输的消息中实现,以响应于,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中保持路径段的请求(例如,如上文参照图37所论述的KPSReq NLRI TLV 3700)。在一些实施例中,KPSRep NLRI TLV 3800在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图38所示,KPSRep NLRI TLV 3800包含NLRI类型字段3810、NLRI长度字段3820、CRP字段3830、隧道ID-Info字段3840、状态字段3850和错误码及原因字段3860。NLRI类型字段3810包含KPSRep NLRI TLV 3800的标识,所述标识指示KPSRep NLRI TLV 3800的目标含义和KPSRep NLRI TLV 3800的内容。例如,上文表1中示出NLRI类型字段3810的示例性内容。NLRI长度字段3820指示KPSRep NLRI TLV 3800的长度,KPSRep NLRI TLV 3800的长度取决于KPSRep NLRI TLV 3800中包含的特定内容,因此KPSRep NLRI TLV 3800的NLRI长度字段3820的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段3830包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段3840指示与隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿先前根据一个或多个请求消息计算出的一个或多个路径段构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段3840指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。状态字段3850指示(例如,如上文参照图37所论述的KPSReq NLRI TLV 3700)请求保持的每个路径段的路径保持的状态。在一些实施例中,状态字段3850通过状态TLV如图36的状态TLV 3600指示状态。例如,对于每个请求保持的路径段,状态字段3850可以指示已经成功保持或保留所述请求保持的路径段的“成功”状态,或者不能保持或保留所述请求保持的路径段的“失败”状态。当状态字段3850包含一个或多个请求保持的路径段的“失败”状态时,错误码及原因字段3860包含关于未能保持或保留路径段的原因或起因的解释性信息(例如,错误码或其它信息)。
现参考图39,图39示出了CTSReq NLRI TLV 3900的一实施例。CTSReq NLRI TLV3900在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中,以请求,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中创建与计算出的路径段相关联的隧道段。在一些实施例中,CTSReq NLRI TLV 3900在图6的SDN NLRI TLV 600中,例如,在SDNNLRI值字段630中传输。
如图39所示,CTSReq NLRI TLV 3900包含NLRI类型字段3910、NLRI长度字段3920、CRP字段3930、隧道ID-Info字段3940、起始节点字段3950、末端节点字段3960、标签字段3970和接口字段3980。NLRI类型字段3910包含CTSReq NLRI TLV 3900的标识,所述标识指示CTSReq NLRI TLV 3900的目标含义和CTSReq NLRI TLV 3900的内容。例如,上文表1中示出NLRI类型字段3910的示例性内容。NLRI长度字段3920指示CTSReq NLRI TLV 3900的长度,CTSReq NLRI TLV 3900的长度取决于CTSReq NLRI TLV 3900中包含的特定内容,因此CTSReq NLRI TLV 3900的NLRI长度字段3920的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段3930包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段3940指示与待创建的隧道相关联的GTID和PID(例如,使得隧道ID-Info字段的GTID和PID唯一标识根据CTSReq NLRI TLV 3900所创建的隧道段和计算出的用于创建隧道段的路径段)。在一些实施例中,隧道ID-Info字段3940指示如图24的隧道ID-Info TLV2400的隧道ID-Info TLV中的GTID和PID。起始节点字段指示根据CTSReq NLRI TLV 3900请求创建的隧道段的起始节点。在一些实施例中,如上文参照图23所论述,起始节点字段3950包含起始节点TLV 2300。末端节点字段3960指示根据CTSReq NLRI TLV 3900请求创建的隧道段的末端节点,以便起始节点和末端节点使得接收CTSReq NLRI TLV 3900的网元创建沿路径从起始节点开始在末端节点结束的所述请求创建的隧道段。在一实施例中,末端节点字段3960包含图33的只包含一个段末端节点的段末端节点列表TLV 3300。标签字段3970和接口字段3980分别指示应该创建隧道的下一个域的网元的标签和接口。例如,当隧道跨多个域时,当控制一个不包含隧道目的地的域的网元接收到CTSReq NLRI TLV 3900时,标签字段3970和接口字段3980指示在被另一个网元控制的用于创建隧道的另一个域中的网元的标签和接口,以使接收CTSReq NLRI TLV 3900的网元使用所述标签和接口创建隧道段,所述隧道段连接接收CTSReq NLRI TLV 3900的网元的域和应该创建隧道的下一个域的网元。
现参考图40,图40示出了标签TLV 4000的一实施例。标签TLV 4000可以在根据本公开的各种实施例的任一消息中实现,以在如图1的HSCS 100和/或DSCS 200的网络中指示与E2E隧道中路径段相关联的标签。例如,在一些实施例中,标签TLV 4000适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在标签字段中,例如,至少是图39的CTSReq NLRI TLV3900的标签字段3970。在一些实施例中,标签TLV 4000包含类型字段4010、长度字段4020和顶部标签字段4030。类型字段4010包含标签TLV 4000的标识,所述标识指示标签TLV 4000的类型。标签TLV 4000的类型可以为在稍后的时间分配给标签TLV 4000的数值,并且标签TLV 4000的类型字段4010的特定值在此不作限制。长度字段4020指示标签TLV 4000的长度,标签TLV 4000的长度取决于标签TLV 4000中包含的特定内容,因此标签TLV 4000的长度字段4020的特定值在此不作限制。顶部标签字段4030包含与网络中E2E隧道中的路径段相关联的LSP标签。
现参考图41,图41示出了接口索引TLV 4100的一实施例。接口索引TLV 4100可以在根据本公开的各种实施例的任一消息中实现,以在如图1的HSCS 100和/或DSCS 200的网络中指示与E2E隧道中的路径段相关联的接口。例如,在一些实施例中,接口索引TLV 4100适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在接口字段中,例如,至少是图39的CTSReq NLRI TLV 3900的接口字段3980。在一些实施例中,接口索引TLV4100包含类型字段4110、长度字段4120和接口索引字段4130。类型字段4110包含接口索引TLV 4100的标识,所述标识指示接口索引TLV 4100的类型。接口索引TLV 4100的类型可以为在稍后的时间分配给接口索引TLV 4100的数值,并且接口索引TLV 4100的类型字段4110的特定值在此不作限制。长度字段4120指示接口索引TLV 4100的长度,接口索引TLV 4100的长度取决于接口索引TLV 4100中包含的特定内容,因此接口索引TLV 4100的长度字段4120的特定值在此不作限制。接口索引字段4130包含与网络中E2E隧道中的路径段相关联的接口的索引。
现参考图42,图42示出了接口IPv4地址TLV 4200的一实施例。接口IPv4地址TLV4200可以在根据本公开的各种实施例的任一消息中实现,以在如图1的HSCS 100和/或DSCS200的网络中指示和与E2E隧道中路径段相关联的接口相关联的节点的地址。例如,在一些实施例中,接口IPv4地址TLV 4200适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在接口字段中,例如,至少是图39的CTSReq NLRI TLV 3900的接口字段3980。在一些实施例中,接口IPv4地址TLV 4200包含类型字段4210、长度字段4220和接口IPv4地址字段4230。类型字段4210包含接口IPv4地址TLV 4200的标识,所述标识指示接口IPv4地址TLV 4200的类型。接口IPv4地址TLV 4200的类型可以为在稍后的时间分配给接口IPv4地址TLV 4200的数值,并且接口IPv4地址TLV 4200的类型字段4210的特定值在此不作限制。长度字段4220指示接口IPv4地址TLV 4200的长度,接口IPv4地址TLV 4200的长度取决于接口IPv4地址TLV4200中包含的特定内容,因此接口IPv4地址TLV 4200的长度字段4220的特定值在此不作限制。接口IPv4地址字段4230包含与接口相关联的网络中节点的地址,所述接口与网络中的路径段相关。应注意的是,接口IPv4地址TLV 4200同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,接口IPv4地址TLV 4200中使用的任何“IPv4”可以用“IPv6”替代。
现参考图43,图43示出了CTSRep NLRI TLV 4300的一实施例。CTSReq NLRI TLV3900在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,以响应于,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中创建与计算出的路径段相关联的隧道段的请求。在一些实施例中,CTSRep NLRI TLV 4300在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图43所示,CTSRep NLRI TLV 4300包含NLRI类型字段4310、NLRI长度字段4320、CRP字段4330、隧道ID-Info字段4340、状态字段4350、标签字段4360、接口字段4370和错误码及原因字段4380。NLRI类型字段4310包含CTSRep NLRI TLV 4300的标识,所述标识指示CTSRep NLRI TLV 4300的目标含义和CTSRep NLRI TLV 4300的内容。例如,上文表1中示出NLRI类型字段4310的示例性内容。NLRI长度字段4320指示CTSRep NLRI TLV 4300的长度,CTSRep NLRI TLV 4300的长度取决于CTSRep NLRI TLV 4300中包含的特定内容,因此CTSRep NLRI TLV 4300的NLRI长度字段4320的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段4330包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段4340指示与隧道相关联的GTID和PID(例如,使得隧道ID-Info字段的GTID和PID唯一标识根据CTSReq NLRI TLV所创建的隧道段和/或计算出的用于创建隧道段的路径段)。在一些实施例中,隧道ID-Info字段4340指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。状态字段指示隧道创建(例如,根据如上文参照图39所论述的CTSReq NLRI TLV 3900)的状态。在一些实施例中,状态字段4350通过状态TLV如图36的状态TLV 3600指示状态。例如,对于每个请求创建的隧道段,状态字段4350可以指示已经成功创建所述请求创建的隧道段的“成功”状态,或者不能创建所述请求创建的隧道段的“失败”状态。标签字段4360和接口字段4370分别指示用于应该创建隧道的下一个域的网元的标签和接口。例如,在CTSRep NLRI TLV 4300中,标签字段4360和接口字段4370指示被另一个网元控制的用于创建隧道的下一个上游域中的网元的标签和接口,以使接收CTSReqNLRI TLV的网元使用所述标签和接口以创建隧道段,所述隧道段连接传输CTSRep NLRITLV 4300的网元的域和应该创建隧道的下一个上游域的网元。在一些实施例中,标签字段4360通过标签TLV如图40的标签TLV 4000指示标签;接口字段4370通过接口索引TLV如图41的接口索引TLV 4100或者通过接口IPv4地址TLV如图42的接口IPv4地址TLV 4200指示接口。当状态字段4350包含一个或多个请求创建的隧道段的“失败”状态时,错误码及原因字段4380包含关于未能创建隧道段的原因或起因的解释性信息(例如,错误码或其它信息)。
现参考图图44,图44示出了RTSReq NLRI TLV 4400的一实施例。RTSReq NLRI TLV4400在两个网元之间(例如,在图1的父控制器106和任何一个或多个子控制器108之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,以请求,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中移除或删除隧道段。在一些实施例中,RTSReq NLRI TLV 4400在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图44所示,RTSReq NLRI TLV 4400包含NLRI类型字段4410、NLRI长度字段4420、CRP字段4430和隧道ID-Info字段4440。NLRI类型字段4410包含RTSReq NLRI TLV 4400的标识,所述标识指示RTSReq NLRI的目标含义和RTSReq NLRI TLV 4400的内容。例如,上文表1中示出NLRI类型字段4410的示例性内容。NLRI长度字段4420指示RTSReq NLRI TLV 4400的长度,RTSReq NLRI TLV 4400的长度取决于RTSReq NLRI TLV 4400中包含的特定内容,因此RTSReq NLRI TLV 4400的NLRI长度字段3720的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段4430包含指定与隧道操作请求相关的各种参数的CRPTLV。隧道ID-Info字段4440指示与根据RTSReq NLRI TLV 4400请求删除的隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿先前根据一个或多个请求消息计算出的一个或多个路径构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段4440指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。
现参考图45,图45示出了RTSRep NLRI TLV 4500的一实施例。RTSRep NLRI TLV4500在两个网元之间(例如,在图1的任何一个或多个子控制器108和父控制器106之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,以响应于,例如,在如图1的HSCS 100的HSCS网络和/或如图2的DSCS 200的DSCS中移除隧道段的请求(例如,如上文参照图44所论述的RTSReq NLRI TLV 4400)。在一些实施例中,RTSRep NLRI TLV 4500在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。如图45所示,RTSRepNLRI TLV 4500包含NLRI类型字段4510、NLRI长度字段4520、CRP字段4530、隧道ID-Info字段4540、状态字段4550和错误码及原因字段4560。NLRI类型字段4510包含RTSRep NLRI TLV4500的标识,所述标识指示RTSRep NLRI TLV 4500的目标含义和RTSRep NLRI TLV 4500的内容。例如,上文表1中示出NLRI类型字段4510的示例性内容。NLRI长度字段4520指示RTSRep NLRI TLV 4500的长度,RTSRep NLRI TLV 4500的长度取决于RTSRep NLRI TLV4500中包含的特定内容,因此RTSRep NLRI TLV 4500的NLRI长度字段4520的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段4530包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段4540指示与隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿先前根据一个或多个请求消息计算出的一个或多个路径段构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段4540指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。状态字段4550指示(例如,如上文参照图44所论述的RTSReq NLRI TLV 4400)请求移除的每个隧道段的移除的状态。在一些实施例中,状态字段4550通过状态TLV如图36的状态TLV 3600指示状态。例如,对于每个请求移除的隧道段,状态字段4550可以指示已经成功移除所述请求移除的隧道段的“成功”状态,或者不能移除所述请求移除的隧道段的“失败”状态。当状态字段4550包含一个或多个请求移除的隧道段的“失败”状态时,错误码及原因字段4560包含关于未能移除隧道段的原因或起因的解释性信息(例如,错误码或其它信息)。
现参考图46,图46示出了根据HSCS如图1的HSCS 100,在网元如父控制器106和任一子控制器108和/或二级子控制器112之间交换控制流量的协议图4600的一实施例。如上文所述,父控制器106用于控制多个子控制器108(例如,有时可以称为一级子控制器),任何一个或多个所述子控制器108可用于控制同样是图1中的二级子控制器112。每个所述子控制器108控制一个对应的域104,域104与其他子控制器108的域104连接。此外,在包含子控制器108的架构的实施例中,每个子控制器108可以控制对应的域104。子控制器108控制二级子控制器的协议可以大体类似于,例如,如上文参照图1所述的父控制器106控制子控制器108的过程,此处不再赘述。
在一些实施例中,父控制器106可以不具有或具有有限的子控制器108控制的域104的详细信息和知识。在此类实施例中,当父控制器106接收路由从源节点到目的节点(例如,源网元和目的网元)的数据流量的请求时,父控制器106传输一个或多个请求至子控制器108以计算、移除和/或保持路径段,和/或沿针对从源到目的地的E2E隧道计算出的路径段创建隧道段,其中所述隧道段经由子控制器108控制的用于路由从源到目的地的数据流量的域104。此外,父控制器106可以传输一个或多个请求至子控制器108以创建和/或移除与经由子控制器108控制的域104的路径段对应的隧道段。在一些实施例中,子控制器108在接收到进行动作的请求或在执行动作之后,传输答复至父控制器106。应注意的是,虽然协议图4600中可以示出多个步骤,除非另行说明,任何一个或多个所述步骤可以省略,可以与另一个步骤大致上同时执行,或参照协议图4600的其他步骤或未示出的步骤按照不同于图46示出的示例性顺序的顺序执行。
当父控制器106接收创建从源到目的地的E2E隧道(例如,用于路由数据或通信)的请求时,父控制器106为E2E隧道分配GTID(例如,以便可以全局标识跨多个域104的E2E隧道)和为待计算出的E2E隧道的E2E路径分配PID。随后,在步骤4605,父控制器106传输CPSReq NLRI TLV 2200(例如,具有如上文参照图22所论述的格式和内容)至每个子控制器108,以计算每个子控制器108控制的对应域中的一组路径段)。例如,计算出接收CPSReqNLRI TLV 2200的子控制器108控制的对应域104的一对边界节点116之间的路径段。当父控制器106从子控制器108接收路径段时,父控制器106根据路径段构建最短路径树(shortestpath tree,SPT),以确定从源到目的地的最短路径,其中所述最短路径满足路由需要遵循的任何约束条件(例如,和路由请求一起接收的CRP字段中的约束条件,例如带宽等)。应注意的是,在此实施例中,可以对父控制器106隐藏每个路径段的特定细节,使得每个路径段只作为对应子控制器108控制的域104的两个边界节点之间的链路和与所述两个边界节点之间的链路相关联的成本(例如,时间、距离、遍历的节点数量等)对父控制器106可见。由此,父控制器106确定的E2E路径可能没有关于E2E路径遍历的所有或任何节点的细节,可称为域104路径。
如上文所论述,在一些实施例中,适于从父控制器106传输至子控制器108的CPSReq NLRI TLV 2200包含对应子控制器108控制的域104中的起始节点的地址或标识(例如,如果源在子控制器108的域104中的源节点,或连接至另一个子控制器108的域104的边界节点的边界节点)。起始节点是从其开始计算多个路径段的节点。CPSReq NLRI TLV 2200还包含父控制器106分配的GTID和PID,包含已经位于父控制器106的的SPT上(例如,作为一个或多个之前的CPSReq NLRI TLV 2200的结果)的节点(例如,网元)的列表的异常列表,路径段应该遵循的任何约束条件,以及目的节点。
当CPSReq NLRI TLV 2200指定的目的节点在子控制器108的域104中时,子控制器108计算子控制器108的域104内起始节点和目的节点之间的最短路径。当目的节点不在子控制器108的域104中时,子控制器108计算起始节点和子控制器108的域104的每个边界节点之间的最短路径。
在接收CPSReq NLRI TLV 2200之后,子控制器108根据并按照CPSReq NLRI TLV2200中的请求的计算路径段。例如,如果目的节点存在,子控制器108计算满足任何约束条件的从起始节点到目的节点的最短路径段,或当目的节点不存在时,计算从起始节点到子控制器108的域104的每个边缘节点的最短路径段。在一些实施例中,当标志或指示符(例如,下文所论述的CRP TLV中的“E”标志)指示排除异常列表(例如,CPSReq NLRI TLV 2200中包含的异常列表)中的边缘节点时,子控制器108可以从路径段计算中排除异常列表中的边缘节点。此外,在一些实施例中,如果起始节点是子控制器108的域104的边缘节点和域104间链路的终点,子控制器108通过连接至起始节点的域104间链路(例如,如上文参照图7所论述并在CAA NLRI TLV 700中通告的)计算满足任何约束条件的从起始节点到与控制器108的域104相邻的域104的每个边缘节点之间的最短路径段。随后,在步骤4610,子控制器108传输CPSRep NLRI TLV 3200(例如,具有如上文参照图32所论述的格式和内容)至父控制器,其中CPSRep NLRI TLV 3200包含计算出的路径段。计算出的路径段的细节,例如,计算出的路径段中包含的子控制器108的域104内的特定节点,不包含在CPSRep NLRI TLV3200中且对父控制器不可见,而是每个计算出的路径段表示为子控制器108的域104的两个边缘节点之间的链路和遍历所述链路的成本(例如,时间、网络跳数、计算量等)。
如上文所论述,在一些实施例中,适于从子控制器108传输至父控制器106的CPSRep NLRI TLV 3200包含在CPSReq NLRI TLV 2200中由父控制器106分配并由子控制器108接收的GTID和PID、子控制器108控制的域104中的起始节点的地址或标识,以及针对经由子控制器108的域104的每个计算出的路径段,包含目的节点或边缘节点的地址或标识和从起始节点到目的节点或边缘节点的计算出的路径段的成本。在一些实施例中,子控制器108将每个计算出的与GTID和PID相关联的路径段的细节(例如,子控制器108的域104内、沿计算出的路径段遍历的的每个节点)以及与GTID和PID的关联关系一起存储在子控制器108在传输CPSRep NLRI TLV 3200至父控制器106时可访问的数据结构中。在一些实施例中,如果在给定时间段内,子控制器108没有从父控制器106接收任何用于保持计算出的路径段的请求,子控制器108删除针对给定GTID和PID计算出的路径段,时间段的长度在此不作限制。
如果存在一组约束条件,在父控制器106(例如,至少部分基于父控制器106接收的一个或多个CPSRep NLRI TLV 3200的内容)计算出满足所述约束条件的源和目的地之间的最短路径之后,在步骤4615,当由一个或多个子控制器108存储的计算出的路径段不是最短路径的一部分时,父控制器106传输RPSReq NLRI TLV 3400(例如,具有如上文参照图34所论述的格式和内容)以删除所述路径段。在一些实施例中,RPSReq NLRI TLV 3400包括与计算出的路径段相关联的GTID。在此类实施例中,当子控制器108接收到RPSReq NLRI TLV3400时,子控制器108移除所有计算出的与GTID的关联关系的一起存储的路径段。在其他实施例中,RPSReq NLRI TLV 3400包括GTID和PID。在此类实施例中,当子控制器108接收到RPSReq NLRI TLV 3400时,子控制器108移除所有计算出的与GTID和PID的关联关系一起存储的路径段。在其他实施例中,RPSReq NLRI TLV 3400包括GTID、PID和起始节点地址或标识列表。在此类实施例中,当子控制器108接收RPSReq NLRI TLV 3400时,子控制器108移除所有计算出的与GTID和PID的关联关系一起存储的路径段,其中所述路径段的起始节点在起始节点地址列表中或其起始节点及地址包括在起始节点地址列表中。在其他实施例中,RPSReq NLRI TLV 3400包括GTID、PID、起始节点地址或标识列表和节点对列表(例如,对应路径段的起始节点地址与对应的末端节点地址)。在此类实施例中,当子控制器108接收到RPSReq NLRI TLV 3400时,子控制器108移除所有或部分计算出的与GTID和PID的关联关系一起存储的路径段,其中所述路径段的起始节点和末端节点包含在节点对列表中。
在接收到RPSReq NLRI TLV3400之后,子控制器108根据RPSReq NLRI TLV 3400移除子控制器108存储的一个或多个计算出的路径段。随后,在步骤4620,子控制器108传输RPSRep NLRI TLV 3500(例如,具有如上文参照图35所论述的格式和内容)至父控制器106。在一些实施例中,RPSRep NLRI TLV 3500包含GTID和PID、根据RPSReq NLRI TLV 3400移除路径段的状态(例如,已经成功移除所述请求移除的路径段的“成功”状态,或者不能移除所述请求移除的路径段的“失败”状态)、以及当状态是“失败”时的错误码和未能移除请求的路径段的原因。
如果存在一组约束条件,在父控制器106(例如,至少部分基于父控制器106接收的一个或多个CPSRep NLRI TLV 3200的内容)计算出满足所述约束条件的源和目的地之间的最短路径之后,在步骤4630,父控制器106传输KPSReq NLRI TLV 3700(例如,具有如上文参照图37所论述的格式和内容),以请求一个或多个子控制器108保持由一个或多个子控制器108存储的计算出的路径段(例如,父控制器106确定的作为最短路径的一部分的路径段)。在一些实施例中,KPSReq NLRI TLV 3700包括GTID和PID,以及节点对列表(例如,对应的路径段的起始节点地址与对应的末端节点地址)。
在接收到KPSReq NLRI TLV 3700之后,子控制器108根据KPSReq NLRI TLV 3700保持子控制器108存储的一个或多个计算出的路径段。在一些实施例中,路径段与父控制器106计算出的最短路径相关联和/或包含在最短路径中。在一些实施例中,子控制器108移除子控制器108先前存储的不包含在KPSReq NLRI TLV 3700中的一个或多个路径段。随后,在步骤4635,子控制器108传输KPSRep NLRI TLV 3800(例如,具有如上文参照图38所论述的格式和内容)至父控制器106。在一些实施例中,KPSRep NLRI TLV 3800包含GTID和PID、根据KPSReq NLRI TLV 3700保留路径段的状态(例如,子控制器108已经成功保持所述请求保留的路径段的“成功”状态,或者子控制器108不能保持所述请求保留的路径段的“失败”状态)、以及当状态是“失败”时的错误码和未能保持所请求路径段的原因。
除了以上实施例中父控制器106可以不具有子控制器108控制的域104的详细信息和知识,在其他实施例中,父控制器106具有父控制器106的子控制器108控制的域104的详细信息和知识。父控制器106可能由于,例如,子控制器108传输给父控制器106的一个或多个CAA NLRI TLV 700(例如,具有如上文参照图7所论述的格式和内容)而具有信息。在此类实施例中,当父控制器106接收到请求经由域104的至少一部分路由从源到目的地的数据流量时,父控制器106计算跨域104的路径段。
在任一实施例中,当父控制器106不具有域104的详细信息和知识时,或当父控制器106具有域104的详细信息和知识时,在步骤4640,父控制器106传输一个或多个CTSReqNLRI TLV 3900(例如,具有如上文参照图39所论述的格式和内容)至子控制器108以创建对应于计算出的路径段的隧道段(例如通过分配标签给隧道段并确定或写入交叉连接等)。在一些实施例中,隧道跨多个域104。在一些实施例中,父控制器106以与最短路径相反的顺序传输CTSReq NLRI TLV 3900,使得控制目的节点所在域104的子控制器108接收父控制器106传输的第一CTSReq NLRI TLV 3900,以及控制源节点所在域104的子控制器108接收父控制器106传输的最后一个CTSReq NLRI TLV 3900。
在一些实施例中,如上文所论述,如果接收CTSReq NLRI TLV 3900的子控制器108控制的域104不包含目的节点,适于从父控制器106传输至子控制器108的CTSReq NLRI TLV3900包含父控制器106分配的GTID和PID、(例如,不具有域104的详细信息和知识的父控制器106的)从起点到终点的路径段或(例如,具有域104的详细信息和知识的父控制器106的)路径段细节和显式路由对象(explicit route object,ERO)以及标签和接口。
在接收到CTSReq NLRI TLV 3900之后,当父控制器106不具有域104的详细信息和知识时,子控制器108沿起点和终点标识的路径段分配并预留链路带宽,以及子控制器108先前与GTID和PID的关联关系一起存储的细节;沿路径段分配标签;并且沿路径段在每个节点上写入交叉连接。当父控制器106具有域的详细信息和知识时,子控制器108沿ERO指示的路径段分配标签,并沿路径段在每个节点上写入交叉连接。当父控制器106具有域104的详细信息和知识时,由父控制器106,而非子控制器108,沿路径段分配和预留链路带宽。对于控制不包含目的节点的域104的子控制器108,子控制器108在边缘或边界节点上通过下游域104的标签和接口将交叉连接写入至下游域104,所述下游域104在子控制器108从父控制器106接收的所述CTSReq NLRI TLV 3900中得到。对于控制不包含源节点的域104的子控制器108,子控制器108包含发送给父控制器106的答复消息中的标签和接口。接口连接沿E2E路径的上游域104的边缘节点,在边缘节点的下一跳的节点上分配标签给接口。
在根据CTSReq NLRI TLV 3900创建隧道段之后,在步骤4645,子控制器108传输CTSRep NLRI TLV 4300(例如,具有如上文参照图43所论述的格式和内容)至父控制器106。在一些实施例中,如上文所论述,CTSRep NLRI TLV 4300包含GTID和PID、根据CTSReq NLRITLV 3900创建隧道段的状态(例如,子控制器108已经成功创建所述请求的隧道段的“成功”状态,,或者子控制器108不能创建所述请求的隧道段的“失败”状态)、当状态是“失败”时的错误码和未能创建所述请求的隧道段的原因、以及当传输CTSRep NLRI TLV 4300的对应子控制器108控制的域104不是源域并且状态是“成功”时的标签和接口。
在一些实施例中,在创建隧道段之后,父控制器106接收删除E2E隧道的每个段或至少一个隧道段的请求。所述请求是从,例如,用户或应用接收的。当请求父控制器106移除隧道段时,或父控制器106从子控制器108接收包含“失败”状态的CTSRep NLRI TLV 4300时,在步骤4650,父控制器106传输RTSReq NLRI TLV 4400(例如,具有如上文参照图44所论述的格式和内容)至子控制器108以删除隧道段。在一些实施例中,如上文所论述,适于从父控制器106传输至子控制器108的RTSReq NLRI TLV 4400包含父控制器106分配的GTID和PID。
在接收RTSReq NLRI TLV 4400之后,子控制器108释放沿子控制器108的域104内的路径段分配的与GTID和PID相关联的标签,并沿路径段移除每个节点上的交叉连接。当子控制器108还预留与GTID和PID相关联的链路带宽时(例如,当父控制器106不具有域104的详细知识或信息时),子控制器108释放预留的链路带宽。在按照父控制器106在RTSReqNLRI TLV 4400中的请求移除隧道段之后,在步骤4655,子控制器108传输RTSRep NLRI TLV4500(例如,具有如上文参照图45所论述的格式和内容)至父控制器106。在一些实施例中,RTSRep NLRI TLV 4500包含GTID和PID、根据RTSReq NLRI TLV 4400移除隧道的状态(例如,子控制器108已经成功移除所述请求的隧道段的“成功”状态,或者子控制器108不能移除所述请求的隧道段的“失败”状态)、以及当状态是“失败”时的错误码和未能移除所述请求的隧道段的原因。
现参考图47,图47示出了GSReq NLRI TLV 4700的一实施例。GSReq NLRI TLV4700在两个网元之间(例如,任意两个分布式控制器210A-210E之间)传输的消息中实现,以请求,例如,在如图2的DSCS 200的DSCS中增长用于创建E2E隧道的SPT。在一些实施例中,GSReq NLRI TLV 4700在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图47所示,GSReq NLRI TLV 4700包含NLRI类型字段4710、NLRI长度字段4720、CRP字段4730、起始节点字段4740、隧道ID-Info字段4750、SPT字段4760、候选列表字段4770、约束字段4780和目的节点字段4790。NLRI类型字段4710包含GSReq NLRI TLV 4700的标识,所述标识指示GSReq NLRI的目标含义和GSReq NLRI TLV 4700的内容。例如,上文表1中示出NLRI类型字段4710的示例性内容。NLRI长度字段4720指示GSReq NLRI TLV 4700的长度,GSReq NLRI TLV 4700的长度取决于GSReq NLRI TLV 4700中包含的特定内容,因此GSReq NLRI TLV 4700的NLRI长度字段4720的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段4730包含指定与隧道操作请求相关的各种参数的CRP TLV。起始节点字段4740描述接收GSReq NLRI TLV 4700的分布式控制器控制的域中的起始节点(例如,起始节点的地址或标识)。在一些实施例中,如上文参照图23所论述,起始节点字段4740包含起始节点TLV 2300。起始节点是,例如,分布式控制器从其接收GSReq NLRI TLV4700并响应于GSReq NLRI TLV 4700计算一个或多个路径段的节点。隧道ID-Info字段4750指示与隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段至少部分根据SPT沿一个或多个路径段构建,所述SPT至少部分基于GSReq NLRI TLV 4700构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段4750指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。SPT字段4760描述传输GSReq NLRI TLV 4700之前已经在DSCS中构建的SPT(例如,至少部分地基于之前传输到一个或多个其它分布式控制器的GSReq NLRI TLV 4700)。候选列表字段4770描述作为候选包含在SPT字段4760中包含的SPT中的节点,例如,响应于之前传输到一个或多个其它分布式控制器的GSReq NLRI TLV 4700被标识和添加至候选列表的节点。约束字段4780指示发送GSReq NLRI TLV 4700的分布式控制器指定的约束条件(例如,带宽、服务质量(quality of service,QoS)等),其中接收GSReq NLRI TLV 4700的分布式控制器计算出的路径段应该满足所述约束条件。在一些实施例中,GSReq NLRI TLV 4700通过带宽TLV如图26的带宽TLV 2600,或通过LSPATLV如图27的LSPA TLV 2700,或通过ER TLV如图28的ER TLV 2800指示约束条件。目的节点字段4790指示目的节点的地址或标识,其中发送GSReq NLRI TLV 4700的分布式控制器希望构建SPT至所述目的节点。在一些实施例中,目的节点位于接收GSReq NLRI TLV 4700的分布式控制器控制的域中,而在其它实施例中,目的节点不位于接收GSReq NLRI TLV 4700的分布式控制器控制的域中。
现参考图48,图48示出了SPT TLV 4800的一实施例。SPT TLV 4800可以在根据本公开的各种实施例的任一消息中实现,以在例如图2的DSCS 200的网络中指示由一个或多个网元(例如,图2的任何一个或多个分布式控制器210A-210E)计算出的SPT。例如,在一些实施例中,SPT TLV 4800适于在任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在SPT字段中,例如,至少是图47的GSReq NLRI TLV 4700的SPT字段4760。在一些实施例中,SPT TLV 4800包含类型字段4810、长度字段4820、ER子TLV字段4830和一个或多个二次显式路由(secondary explicit route,SER)子TLV字段4840。类型字段4810包含SPT TLV 4800的标识,所述标识指示SPT TLV 4800的类型。SPT TLV 4800的类型可以为在稍后的时间分配给SPT TLV 4800的数值,并且SPT TLV 4800的类型字段4810的特定值在此不作限制。长度字段4820指示SPT TLV 4800的长度,SPT TLV 4800的长度取决于SPT TLV4800中包含的特定内容,因此SPT TLV 4800的长度字段的特定值在此不作限制。ER子TLV字段4830和一个或多个SER子TLV字段4840均包含下文将更详细地论述的一个或多个子TLV。
现参考图49,图49示出了ER子TLV 4900的一实施例。ER子TLV 4900可以在根据本公开的各种实施例的任一消息中实现,以明确标识路径段和/或隧道段中应该遍历的节点。例如,在一些实施例中,ER子TLV 4900适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在ER子TLV字段中,例如,至少是图48的SPT TLV 4800的ER子TLV字段4830。在一些实施例中,ER子TLV 4900包含类型字段4910、长度字段4920、一个或多个节点子TLV字段4930和Cost2Node子TLV字段4940。类型字段4910包含ER子TLV 4900的标识,所述标识指示ER子TLV4900的类型。ER子TLV 4900的类型可以为在稍后的时间分配给ER子TLV 4900的数值,并且ER子TLV 4900的类型字段4910的特定值在此不作限制。长度字段4920指示ER子TLV 4900的长度,ER子TLV 4900的长度取决于ER子TLV 4900中包含的特定内容,因此ER子TLV 4900的长度字段4920的特定值在此不作限制。每个节点子TLV字段4930包含一个或多个节点子TLV,例如上文参照图29所论述的IPv4前缀节点子TLV 2900或上文参照图30所论述的ASN节点子TLV 3000。在一些实施例中,每个节点子TLV字段4930包含用于SPT中分支的节点的表示,其中分支代表从SPT的根到叶的SPT的一部分。节点子TLV字段4930在ER子TLV 4900中的排序与SPT的分支中的对应节点的排序相同(例如,使得第一节点以第一节点子TLV字段4930表示,第二节点以第二节点子TLV字段4930表示,以此类推,直到分支中所有节点在ER子TLV 4900中都有对应节点子TLV字段4930)。Cost2Node子TLV字段4940包含到达一个或多个节点子TLV字段4930的最后一个节点子TLV字段4930所表示的节点的成本,下文将进行更详细地论述。
现参考图50,图50示出了SER子TLV 5000的一实施例。SER子TLV 5000可以在根据本公开的各种实施例的任一消息中实现,以明确标识路径段和/或隧道段中应该遍历的节点。例如,在一些实施例中,SER子TLV 5000适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在SER子TLV字段中,例如,至少是图48的SPT TLV 4800的SER子TLV字段4840。在一些实施例中,SER子TLV 5000包含类型字段5010、长度字段5020、一个或多个节点子TLV字段5030和Cost2Node子TLV字段5040。类型字段5010包含SER子TLV 5000的标识,所述标识指示SER子TLV 5000的类型。SER子TLV 5000的类型可以为在稍后的时间分配给SER子TLV 5000的数值,并且SER子TLV 5000的类型字段5010的特定值在此不作限制。长度字段5020指示SER子TLV 5000的长度,SER子TLV 5000的长度取决于SER子TLV 5000中包含的特定内容,因此SER子TLV 5000的长度字段5020的特定值在此不作限制。每个节点子TLV字段5030包含一个或多个节点子TLV,例如上文参照图29所论述的IPv4前缀节点子TLV 2900或上文参照图30所论述的ASN节点子TLV 3000。在一些实施例中,每个节点子TLV字段5030包含SPT中分支的节点的表示,其中分支代表从SPT的根到叶的SPT的一部分。节点子TLV字段5030在SER子TLV 5000中的排序与SPT的分支中的对应节点的排序相同(例如,使得第一节点以第一节点子TLV字段5030表示,第二节点以第二节点子TLV字段5030表示,以此类推,直到分支中所有节点在SER子TLV 5000中都有对应节点子TLV字段5030)。Cost2Node子TLV字段5040包含到达一个或多个节点子TLV字段5030的最后一个节点子TLV字段5030所表示的节点的成本,下文将进行更详细地论述。
现参考图51,图51示出了Cost2Node子TLV 5100的一实施例。Cost2Node子TLV5100可以在根据本公开的各种实施例的任一消息中实现,以在例如图1的HSCS 100和/或图2的DSCS 200的网络中指示到达与Cost2Node子TLV 5100相关联的特定节点(例如,图49的ER子TLV的节点子TLV字段表示的节点和/或图50的SER子TLV的节点子TLV字段表示的节点)的成本。例如,在一些实施例中,Cost2Node子TLV 5100适于在图1的父控制器106和任何一个或多个子控制器108之间和/或图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在Cost2Node子TLV字段中,例如,至少是图49的ER子TLV 4900的Cost2Node子TLV字段4940和/或图50的SER子TLV 5000的Cost2Node子TLV字段5040。在一些实施例中,Cost2Node子TLV 5100包含类型字段5110、长度字段5120和成本字段5130。类型字段5110包含Cost2Node子TLV 5100的标识,所述标识指示Cost2Node子TLV 5100的类型。Cost2Node子TLV 5100的类型可以为在稍后的时间分配给Cost2Node子TLV 5100的数值,并且Cost2Node子TLV 5100的类型字段5110的特定值在此不作限制。长度字段5120指示Cost2Node子TLV 5100的长度,Cost2Node子TLV 5100的长度取决于Cost2Node子TLV 5100中包含的特定内容,因此Cost2Node子TLV 5100的长度字段5120的特定值在此不作限制。成本字段5130指示到达网络中特定节点的成本。在一些实施例中,所述成本表示为到达网络中特定节点的网络跳数(例如,需要遍历的节点数)。在其他实施例中,所述成本表示为,例如,如下文所论述的在CRP TLV中指定的IGP度量或TE度量的功能。
现参考图52,图52示出了IPv4候选列表TLV 5200的一实施例。IPv4候选列表TLV5200可以在根据本公开的各种实施例的任一消息中实现,以在例如图2的DSCS 200的网络中指示可以作为候选包含在SPT例如,图48的SPT TLV指示的SPT中的一个或多个节点。例如,在一些实施例中,IPv4候选列表TLV 5200适于在图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,在候选列表TLV字段中,例如,至少是图47的GSReqNLRI TLV 4700的候选列表TLV字段4770。在一些实施例中,IPv4候选列表TLV 5200包含类型字段5210、长度字段5220和一个或多个IPv4候选节点子TLV字段5230。类型字段5210包含IPv4候选列表TLV 5200的标识,所述标识指示IPv4候选列表TLV 5200的类型。IPv4候选列表TLV 5200的类型可以为在稍后的时间分配给IPv4候选列表TLV 5200的数值,并且IPv4候选列表TLV 5200的类型字段5210的特定值在此不作限制。长度字段5220指示IPv4候选列表TLV 5200的长度,IPv4候选列表TLV 5200的长度取决于IPv4候选列表TLV 5200中包含的特定内容,因此IPv4候选列表TLV 5200的长度字段5220的特定值在此不作限制。所述一个或多个IPv4候选节点子TLV字段5230中的每个字段均包含一个或多个子TLV,例如下文将更详细地论述的IPv4候选节点子TLV。应注意的是,IPv4候选列表TLV 5200同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,IPv4候选列表TLV 5200中使用的任何“IPv4”可以用“IPv6”替代。
现参考图53,图53示出了IPv4候选节点子TLV 5300的一实施例。IPv4候选节点子TLV 5300可以在根据本公开的各种实施例的任一消息中实现,以在例如图2的DSCS 200的网络中指示可以作为候选包含在SPT,例如,图48的SPT TLV指示的SPT中的节点的地址。例如,在一些实施例中,IPv4候选节点子TLV 5300适于在图2的任意两个分布式控制器210A-210E之间传输的各种消息中实现,例如,图52的IPv4候选列表TLV 5200的IPv4候选节点子TLV字段5230中。在一些实施例中,IPv4候选节点子TLV 5300包含类型字段5310、长度字段5320、候选节点IPv4地址字段5330、前一跳节点IPv4地址字段5340和候选节点成本字段5350。类型字段5310包含IPv4候选节点子TLV 5300的标识,所述标识指示IPv4候选节点子TLV 5300的类型。IPv4候选节点子TLV 5300的类型可以为在稍后的时间分配给IPv4候选节点子TLV 5300的数值,并且IPv4候选节点子TLV 5300的类型字段5310的特定值在此不作限制。长度字段5320指示IPv4候选节点子TLV 5300的长度,IPv4候选节点子TLV 5300的长度取决于IPv4候选节点子TLV 5300中包含的特定内容,因此IPv4候选节点子TLV 5300的长度字段5320的特定值在此不作限制。候选节点IPv4地址字段5330包含网络中节点的地址,所述节点作为候选包含在SPT中。前一跳节点IPv4地址字段5340包含网络中的节点的地址,所述节点沿从SPT的根到候选节点IPv4地址字段5330中包含的地址所标识的节点的路径段紧接在候选节点IPv4地址字段5330中包含的地址所标识的节点之前。候选节点成本字段5350包含从SPT的根到候选节点IPv4地址字段5330中包含的地址所标识的节点的路径段的成本的指示。例如,候选节点成本字段5350指示的成本可以表示为到达候选节点IPv4地址字段5330中包含的地址所标识的节点所需的IGP度量成本,TE度量成本,或跳数成本。在一些实施例中,如下文所论述,选择指示成本的特定表示可以根据CRP TLV的内容确定。应注意的是,IPv4候选节点子TLV 5300同样适用于IPv6网络或节点,在此情况下,在不脱离本公开范围的前提下,IPv4候选节点子TLV 5300使用的任何“IPv4”可以用“IPv6”替代。
现参考图54,图54示出了GSRep NLRI TLV 5400的一实施例。在一些实施例中,GSRep NLRI TLV 5400在两个网元之间(例如,在任意两个分布式控制器210A-210E之间)传输的消息中实现,以响应于,例如,在如图2的DSCS 200的DSCS中增长用于创建E2E隧道的SPT的请求(例如,如上文参照图47所论述的GSReq NLRI TLV 4700)。在一些实施例中,GSRep NLRI TLV 5400在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。
如图54所示,GSRep NLRI TLV 5400包含NLRI类型字段5410、NLRI长度字段5420、CRP字段5430、隧道ID-Info字段5440、SPT字段5450和错误码及原因字段5460。NLRI类型字段5410包含GSRep NLRI TLV 5400的标识,所述标识指示GSRep NLRI TLV 5400的目标含义和GSRep NLRI TLV 5400的内容。例如,上文表1中示出NLRI类型字段5410的示例性内容。NLRI长度字段5420指示GSRep NLRI TLV 5400的长度,GSRep NLRI TLV 5400的长度取决于GSRep NLRI TLV 5400中包含的特定内容,因此GSRep NLRI TLV 5400的NLRI长度字段5420的特定值在此不作限制。在一些实施例中,如下文将更详细地论述,CRP字段5430包含指定与隧道操作请求相关的各种参数的CRP TLV。隧道ID-Info字段5440指示与隧道(例如,可能具有一个或多个隧道段的隧道,其中所述隧道段沿子控制器响应于如上文参照图47所论述的GSReq NLRI TLV 4700计算出的一个或多个路径段构建)相关联的GTID和PID。在一些实施例中,隧道ID-Info字段5440指示如图24的隧道ID-Info TLV 2400的隧道ID-Info TLV中的GTID和PID。SPT字段5450包含迄今已经在DSCS中构建的SPT(例如,GSReq NLRI TLV 4700中接收到的SPT,其中接收GSReq NLRI TLV 4700和传输GSRep NLRI TLV 5400的分布式控制器添加额外节点至SPT中)。尚未根据GSReq NLRI TLV 4700增长SPT时,错误码及原因字段5460包含关于未能增长SPT的原因或起因的解释性信息(例如,错误码或其它信息)和/或关于无法在SPT中构建从起始节点到目的节点的最短路径的原因的信息。
现参考图55,图55示出了CRP TLV 5500的一实施例。在一些实施例中,CRP TLV5500在两个网元之间(例如,在图1的任何一个或多个子控制器108和父控制器106之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,例如,在本文所述的任一消息中。在一些实施例中,CRP TLV 5500在本文所述的在两个网元之间传输的一消息的CRP字段中实现。在一些实施例中,适于承载CRP TLV 5500的消息在图6的SDN NLRITLV600中,例如,在SDN NLRI值字段630中传输。
如图55所示,CRP TLV 5500包含类型字段5510、长度字段5520、优化参数(optimization parameter,OP)字段5530,域边缘(edge of domain,E)字段5540、路径计算和隧道创建参数(path computation and tunnel creation parameter,PTP)字段5550、标志字段5560、请求ID字段5570和可选子TLV字段5580。在一些实施例中,OP字段5530、E字段5540和PTP字段5550都是存在定义或预留的标志字段5560的一部分,而标志字段5560的剩余部分未定义或预留(例如,使得标志字段5560的剩余部分包含设置为“0”的位)。类型字段5510包含CRP TLV 5500的标识,所述标识指示CRP TLV 5500的目标含义和CRP TLV 5500的内容并且可以根据CRP TLV 5500的特定实施方式确定。因此,CRP TLV 5500的类型字段5510的特定值在此不作限制。长度字段5520指示CRP TLV 5500的长度,CRP TLV 5500的长度取决于CRP TLV 5500中包含的特定内容,因此CRP TLV 5500的长度字段5520的特定值在此不作限制。在一些实施例中,OP字段5530是响应于包含CRP TLV 5500的消息,指定计算出的和/或创建的路径和/或隧道段的所需优化的4位字段。例如,计算出的和/或创建的路径和/或隧道段使得IGP度量优化、TE度量优化、网络中采集的跳数优化等等。在一些实施例中,OP字段5530的内容定义为如下表2所示。
表2
Figure BDA0002634196780000381
在一些实施例中,E字段5540是指定异常列表中(例如,如上文参照图22所论述的CPSReq NLRI TLV 2200包含的异常列表中)包含的节点是否应该包含在路径段计算中的1位字段。例如,当E字段5540设置为“1”时,接收CRP TLV 5500的子控制器可以计算满足任何给定约束条件的从标识的起始节点到每个边缘节点的最短路径段,其中所述边缘节点是子控制器控制的域的边缘节点中除给定异常列表中包含的节点以外的节点。在一些实施例中,PTP字段5550是指示DSCS内分布式控制器的角色和/或职责的4位字段。例如,PTP字段5550可以包含DSCS中控制动作或开始执行动作的主控制器的指示。在一些实施例中,如下表3所示定义PTP字段5550的内容。
表3
Figure BDA0002634196780000391
请求ID字段5570包含标识和与CRP TLV 5500相关联的隧道操作请求的标识。所述标识可以是唯一标识特定隧道操作请求的唯一标识,或者所述标识可以是标识隧道操作请求(例如,创建、移除等)所属的类别的通用标识。在一些实施例中,可选子TLV字段5580包含对接收可选子TLV的网元的操作可选的子TLV,但是当存在时,子TLV提供与网元在其中操作的网络中的路径段计算和/或隧道创建相关的附加信息。例如,在如图2的DSCS 200的DSCS中,可包含在可选子TLV字段5580中的可选子TLV包含发起者子TLV、来源控制器子TLV和目标控制器子TLV,下文将更详细地论述每个所述子TLV。
现参考图56,图56示出了发起者子TLV 5600的一实施例。在一些实施例中,发起者子TLV 5600在两个网元之间(例如,在图1的任何一个或多个子控制器108和父控制器106之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,例如,在如上文参照图55所论述的CRP TLV 5500的可选子TLV字段5580中。在一些实施例中,适于承载CRP TLV 5500中的发起者子TLV 5600的消息在图6的SDN NLRI TLV 600中,例如,在SDNNLRI值字段630中传输。
如图56所示,发起者子TLV 5600包含类型字段5610、长度字段5620、发起者IPv4地址字段5630和可选子TLV字段5640。类型字段5610包含发起者子TLV 5600的标识,所述标识指示发起者子TLV 5600的目标含义和发起者子TLV 5600的内容并且可以根据发起者子TLV5600的特定实施方式确定。因此,发起者子TLV 5600的类型字段5610的特定值在此不作限制。长度字段5620指示发起者子TLV 5600的长度,发起者子TLV 5600的长度取决于发起者子TLV 5600中包含的特定内容,因此发起者子TLV 5600的长度字段5620的特定值在此不作限制。
发起者IPv4地址字段5630包含例如图2的DSCS 200的DSCS中的消息发起者的IPv4地址。在一些实施例中,发起者IPv4地址字段5630使得DSCS中的其它分布式控制器在接收到消息时能够识别消息的初始源。在一些实施例中,发起者是DSCS中的主控制器。当主控制器不与作为主控制器发送的消息的目标的分布式控制器相邻时(例如,在此情况下分布式控制器可称为目标控制器),主控制器传输消息至与主控制器相邻并且是到达目标控制器的路由或路径上的分布式控制器。例如,主控制器传输消息至相邻的分布式控制器,所述相邻的分布式控制器是路由表定义的从主控制器到目标控制器的下一跳节点。沿主控制器和目标控制器之间的路由的每个分布式控制器中继转发消息至其相邻的分布式控制器,直到目标控制器接收到消息,所述相邻的分布式控制器是到目标控制器的下一跳节点(例如,再次由路由表定义)。
当目标控制器接收到消息时,目标控制器进行消息中所请求的任何操作,并且在一些实施例中,发送答复消息至发起者IPv4地址字段5630中包含的IPv4地址标识为消息发起者的主控制器。目标控制器通过传输答复消息至分布式控制器来将答复消息发送至主控制器,所述分布式控制器与目标控制器相邻并且是目标控制器和主控制器之间的路由上的下一跳节点(例如,由路由表定义)。沿目标控制器和主控制器之间的路由的每个分布式控制器中继转发答复消息至其相邻的分布式控制器,直到主控制器接收到答复消息,所述相邻的分布式控制器是到主控制器的下一跳节点(例如,再次由路由表定义)。在一些实施例中,当主控制器接收到答复消息时,主控制器响应于接收答复消息和/或答复消息的内容进行一个或多个动作。应注意的是,虽然发起者子TLV 5600被定义为包含发起者IPv4地址字段5630,其中发起者IPv4地址字段5630包含IPv4地址,发起者子TLV 5600也可以包含发起者IPv6地址字段,其中发起者IPv6地址字段包含IPv6地址。在一些实施例中,可选子TLV字段5640包含对接收可选子TLV的网元的操作可选的子TLV,但是当存在时,子TLV提供与网元在其中操作的网络中的路径段计算和/或隧道创建相关的附加信息,并且发起者子TLV5600的可选子TLV字段5640的内容在此不作限制。
现参考图57,图57示出了来源控制器子TLV 5700的一实施例。在一些实施例中,来源控制器子TLV 5700在两个网元之间(例如,在图1的任何一个或多个子控制器108和父控制器106之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,例如,如上文参照图55所论述的CRP TLV 5500的可选子TLV字段5580中。在一些实施例中,适于承载CRP TLV 5500中的来源控制器子TLV 5700的消息在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。在一些实施例中,来源控制器子TLV 5700标识构建消息(例如,请求消息)和/或发送消息(例如,请求消息)的分布式控制器。
如图57所示,来源控制器子TLV 5700包含类型字段5710、长度字段5720、来源控制器IPv4地址字段5730和可选子TLV字段5740。类型字段5710包含来源控制器子TLV 5700的标识,所述标识指示来源控制器子TLV 5700的目标含义和来源控制器子TLV 5700的内容并且可以根据来源控制器子TLV 5700的特定实施方式确定。因此,来源控制器子TLV 5700的类型字段5710的特定值在此不作限制。长度字段5720指示来源控制器子TLV 5700的长度,来源控制器子TLV 5700的长度取决于来源控制器子TLV 5700中包含的特定内容,因此来源控制器子TLV 5700的长度字段5720的特定值在此不作限制。来源控制器IPv4地址字段5730包含分布式控制器的IPv4地址,所述分布式控制器在例如图2的DSCS 200的DSCS中构建消息和/或发送消息。例如,在DSCS中,第一分布式控制器可以构建并发送第一消息(例如,如上文参照图47所论述的GSReq)至第二分布式控制器。在此类情形中,第一分布式控制器的地址包含在来源控制器子TLV 5700的来源控制器IPv4地址字段5730中,以将第一分布式控制器标识为第一消息的源。在一些实施例中,在根据第一消息执行动作之后,第二分布式控制器构建并发送第二消息至第三分布式控制器。在此类情形中,第二分布式控制器的地址包含在来源控制器子TLV 5700的来源控制器IPv4地址字段5730中,以将第二分布式控制器标识为第二消息的源。在一些实施例中,来源控制器IPv4地址字段5730中包含的地址和如上文所论述的发起者子TLV 5600的发起者IPv4地址字段5630中包含的地址可以相同,而在其他实施例中,地址可以不同。
应注意的是,虽然来源控制器子TLV 5700被定义为包含来源控制器IPv4地址字段5730,其中来源控制器IPv4地址字段5730包含IPv4地址,来源控制器子TLV 5700也可以包含来源控制器IPv6地址字段,其中来源控制器IPv6地址字段包含IPv6地址。在一些实施例中,可选子TLV字段5740包含对接收可选子TLV的网元的操作可选的子TLV,但是当存在时,子TLV提供与网元在其中操作的网络中的路径段计算和/或隧道创建相关的附加信息,并且来源控制器子TLV 5700的可选子TLV字段5740的内容在此不作限制。
现参考图58,图58示出了目标控制器子TLV 5800的实施例。在一些实施例中,目标控制器子TLV 5800在两个网元之间(例如,在图1的任何一个或多个子控制器108和父控制器106之间,和/或在图2的任意两个分布式控制器210A-210E之间)传输的消息中实现,例如,如上文参照图55所论述的CRP TLV 5500的可选子TLV字段5580中。在一些实施例中,适于承载CRP TLV 5500中的目标控制器子TLV 5800的消息在图6的SDN NLRI TLV 600中,例如,在SDN NLRI值字段630中传输。在一些实施例中,目标控制器子TLV 5800标识分布式控制器,所述分布式控制器是分布式控制器(例如,如上文参照图57所论述的来源控制器子TLV 5700的来源控制器IPv4地址字段5730所标识的分布式控制器)构建和传输的消息(例如,请求消息)的目标目的地。
如图58所示,目标控制器子TLV 5800包含类型字段5810、长度字段5820、目标控制器IPv4地址字段5830和可选子TLV字段5840。类型字段5810包含目标控制器子TLV 5800的标识,所述标识指示目标控制器子TLV 5800的目标含义和目标控制器子TLV 5800的内容并且可以根据目标控制器子TLV 5800的特定实施方式确定。因此,目标控制器子TLV 5800的类型字段5810的特定值在此不作限制。长度字段5820指示目标控制器子TLV 5800的长度,目标控制器子TLV 5800的长度取决于目标控制器子TLV 5800中包含的特定内容,因此目标控制器子TLV 5800的长度字段5820的特定值在此不作限制。目标控制器IPv4地址字段5830包含分布式控制器的IPv4地址,所述分布式控制器是例如图2的DSCS 200的DSCS中另一个分布式控制器构建并发送的消息的目标。例如,在DSCS中,第一分布式控制器可以构建并发送第一消息(例如,如上文参照图47所论述的GSReq)至第二分布式控制器。在此类情形中,第二分布式控制器的地址包含在目标控制器子TLV 5800的目标控制器IPv4地址字段5830中,以将第二分布式控制器标识为第一消息的目标。在一些实施例中,在根据第一消息执行动作之后,第二分布式控制器构建并发送第二消息至第三分布式控制器。在此类情形中,第三分布式控制器的地址包含在目标控制器子TLV 5800的目标控制器IPv4地址字段5830中,以将第三分布式控制器标识为第二消息的目标。
应注意的是,虽然目标控制器子TLV 5800被定义为包含目标控制器IPv4地址字段5830,其中目标控制器IPv4地址字段5830包含IPv4地址,目标控制器子TLV 5800也可以包含目标控制器IPv6地址字段,其中目标控制器IPv6地址字段包含IPv6地址。在一些实施例中,可选子TLV字段5840包含对接收可选子TLV的网元的操作可选的子TLV,但是当存在时,子TLV提供与网元在其中操作的网络中的路径段计算和/或隧道创建相关的附加信息,并且目标控制器子TLV 5800的可选子TLV字段5840的内容在此不作限制。
现参考图59,图59示出了根据例如图2的DSCS 200的DSCS在网元之间(例如,在图2的任意两个分布式控制器210A-210E之间)交换控制流量以传递和/或路由从源到目的地的数据流量的协议图5900的实施例。如上文所述,分布式控制器用于与一个或多个各自控制一个域的其它分布式控制器通信,以(例如,当遍历任何一个或多个域时从源到目的地)在域之间传达数据。每个分布式控制器控制一个与其它分布式控制器的域连接的对应域。在一些实施例中,分布式控制器210A可以不具有或不具有限的其它分布式控制器(例如,分布式控制器210B)控制的域的详细信息和认识。在此类实施例中,当分布式控制器210A接收路由从源节点到目的节点(例如,源网元和目的网元)的数据流量的请求时,分布式控制器210A传输一个或多个请求至分布式控制器210B,以计算、移除和/或保持经由域220B并用于路由从源到目的地的数据流量的路径段。此外,分布式控制器210A可以传输一个或多个请求至分布式控制器210B,以创建和/或移除与经由分布式控制器210B控制的域的路径段对应的隧道段。在一些实施例中,在从分布式控制器210A接收执行动作的请求之后,或在执行动作之后,分布式控制器210B传输答复至分布式控制器210A和/或传输一个或多个请求至另一个分布式控制器210C。在其它实施例中,分布式控制器210A可称为主控制器,并且可用于控制一个或多个其它分布式控制器。应注意的是,虽然协议图5900中可以示出多个步骤,除非另行说明,任何一个或多个所述步骤可以省略,可以与另一个步骤大致上同时执行,或参照协议图5900的其他步骤或未示出的步骤按照不同于图59示出的示例性顺序的顺序执行。此外,虽然为了清楚起见和易于描述,参照图59提及了分布式控制器210A、210B和210C,应注意的是,除非另行说明,分布式控制器210A、210B和210C仅表示DSCS 200中分布式控制器210A-210E或未示出的其它分布式控制器中的任一个。此外,参照图59的分布式控制器210A、210B和210C之间的通信可以扩展至任意数目的分布式控制器之间的通信。
当分布式控制器210A接收创建从源到目的地的E2E隧道(例如,用于传递、路由和/或传达数据)的请求时,分布式控制器210A为E2E隧道分配GTID(例如,从而可以全局标识跨多个域的E2E隧道)和为E2E隧道的待计算出的E2E路径分配PID。随后,在步骤5905,分布式控制器210A传输GSReq NLRI TLV 4700(例如,具有如上文参照图47所论述的格式和内容)至分布式控制器210B,用于计算对应的域220B中的一组路径段和增长用于形成E2E隧道的SPT。在一些实施例中,分布式控制器210B控制E2E隧道的起始或源节点所处的域。分布式控制器210A将SPT传输至分布式控制器210B,以开始增长SPT的过程直至分布式控制器210A和/或210B确定目的节点包含在SPT中,如此SPT是完整的。
当分布式控制器210B接收到GSReq NLRI TLV 4700时,分布式控制器210B计算从起始节点到分布式控制器210B控制的域的每个边缘节点之间的路径段。然后,分布式控制器210B添加计算出的路径段至GSReq NLRI TLV 4700中接收到的候选列表。分布式控制器210B进一步从候选列表中选择一个节点,其中从起始节点到达该节点相关联的成本最小,并添加所选择的节点至GSReq NLRI TLV 4700中接收到的SPT。在添加所选择的节点至SPT之后,在步骤5910,分布式控制器210B传输新的GSReq NLRI TLV 4700(例如,具有如上文参照图47所论述的格式和内容)至分布式控制器210C,以请求分布式控制器210C继续增长SPT。新的GSReq NLRI TLV 4700包含分布式控制器210B新添加至SPT中作为分布式控制器210C的起始节点的节点。分布式控制器210C和之后的分布式控制器210A-210E重复分布式控制器210B执行的过程,直至目的节点包含在SPT中。
在一些实施例中,在步骤5915,分布式控制器210B传输GSRep NLRI TLV 5400(例如,具有如上文参照图54所论述的格式和内容)至分布式控制器210A(以及DSCS中之后的分布式控制器可以发送GSRep NLRI TLV 5400至对应的从其接收GSReq NLRI TLV的分布式控制器)。响应于GSReq NLRI TLV 4700,GSRep NLRI TLV 5400用于通知从其接收GSReq NLRITLV 4700的分布式控制器是否成功增长了SPT,以及当增长SPT成功时产生的SPT或者当增长SPT失败时的错误码和/或说明。
如果存在一组约束条件,在计算出满足该组约束条件的源和目的地之间的最短路径之后,分布式控制器210A(例如,发起计算最短路径的分布式控制器)可以删除分布式控制器210B和/或210C计算出的但不包含在最短路径中的路径段。此外,当分布式控制器210B和/或210C传输上报增长SPT失败的GSRep NLRI TLV 5400至分布式控制器210A时,分布式控制器210A可以删除根据GSReq NLRI TLV 5400计算出的路径段。为了删除计算出的不包含在SPT中的路径段,在步骤5920,分布式控制器210A发送RPSReq NLRI TLV 3400至分布式控制器210B和/或210C。在一些实施例中,RPSReq NLRI TLV 3400具有如上文参照图34所论述的格式和内容。
在接收RPSReq NLRI TLV 3400之后,分布式控制器210B和/或210C移除对应的分布式控制器210B和/或210C先前存储的一个或多个计算出的路径段(例如,在响应于接收GSReq NLRI TLV 4700计算路径段之后)。随后,在步骤5925,分布式控制器210B和/或210C传输RPSRep NLRI TLV 3500(例如,具有如上文参照图35所论述的格式和内容)至分布式控制器210A。在一些实施例中,RPSRep NLRI TLV 3500包含GTID和PID、根据RPSReq NLRI TLV3400移除路径段的状态(例如,已经成功移除所述请求移除的路径段的“成功”状态,或者不能移除所述请求移除的路径段的“失败”状态)、以及当状态是“失败”时的错误码和未能移除所述请求的路径段的原因。
如果存在一组约束条件,在计算出满足该组约束条件的源和目的地之间的最短路径之后,在步骤5930,分布式控制器210A可以传输KPSReq NLRI TLV 3700(例如,具有如上文参照图37所论述的格式和内容),以请求分布式控制器210B和/或210C保持先前计算出并存储的路径段(例如,分布式控制器210B和/或210C响应于GSReq NLRI TLV 4700计算出并存储的路径段)。在一些实施例中,KPSReq NLRI TLV 3700包括GTID和PID,以及节点对列表(例如,对应路径段的起始节点地址与对应的末端节点地址)。
在接收KPSReq NLRI TLV 3700之后,分布式控制器210B和/或210C保持分布式控制器210B和/或210C先前计算出并存储的一个或多个路径段。在一些实施例中,路径段与一个或多个分布式控制器(例如,包含但不限于分布式控制器210B和/或210C)根据一个或多个GSReq NLRI TLV 4700计算出的最短路径相关联和/或包含在所述最短路径中。在一些实施例中,分布式控制器210B和/或210C移除或删除分布式控制器210B和/或210C之前存储的但不包含在KPSReq NLRI TLV 3700中的一个或多个路径段。随后,在步骤5935,分布式控制器210B和/或210C传输KPSRep NLRI TLV 3800(例如,具有如上文参照图38所论述的格式和内容)至分布式控制器210A。在一些实施例中,KPSRep NLRI TLV 3800包含GTID和PID、根据KPSReq NLRI TLV 3700保留路径段的状态(例如,分布式控制器210B和/或210C已经成功保持所述请求保留的路径段的“成功”状态,或者分布式控制器210B和/或210C不能保持所述请求保留的路径段的“失败”状态)、以及当状态是“失败”时的错误码和未能保持所述请求的路径段的原因。
一旦知道最短路径,例如在一个或多个分布式控制器根据一个或多个GSReq NLRITLV 4700计算出最短路径之后,分布式控制器210A传输一个或多个CTSReq NLRI TLV 3900(例如,具有如上文参照图39所论述的格式和内容)至分布式控制器210B和/或210C,以创建对应于计算出的路径段的隧道段(例如,通过分配标签给隧道段并确定或写入交叉连接等)。在一些实施例中,隧道跨多个域。在一些实施例中,分布式控制器210A以与最短路径相反的顺序传输CTSReq NLRI TLVs 3900,使得控制目的节点所在的对应域220B和/或220C的分布式控制器210B和/或210C接收分布式控制器210A传输的第一CTSReq NLRI TLV 3900(步骤5940),以及控制源节点所在的对应域220B和/或220C的分布式控制器210B和/或210C接收分布式控制器210A传输的最后一个CTSReq NLRI TLV 3900(步骤5945)。在一些实施例中,如图59所示,分布式控制器210A通过发送CTSReq NLRI TLV 3900至每个分布式控制器210B和/或210C控制隧道创建。在其他实施例中,分布式控制器210A只向控制包含最短路径的目的地的对应域220B和/或220C的分布式控制器210B和/或210C发送(步骤5940)CTSReqNLRI TLV 3900。控制包含最短路径的目的地的对应域220B和/或220C的分布式控制器210B和/或210C随后沿最短路径发送(步骤5950)CTSReq NLRI TLV 3900至其它分布式控制器210B和/或210C。在其它实施例中,分布式控制器210A不发送显式CTSReq NLRI TLV 3900,而是在根据本公开的各种实施例传输的另一个消息中指示控制包含最短路径的目的地的对应域220B和/或220C的分布式控制器210B和/或210C一旦通过沿最短路径发送(步骤5950)CTSReq NLRI TLV 3900至其它分布式控制器210B和/或210C知道最短路径,就应该发起隧道创建。
如上文所论述,在一些实施例中,如果接收CTSReq NLRI TLV 3900的分布式控制器210B和/或210C控制的对应域220B和/或220C不包含目的节点,适于从分布式控制器210A传输至分布式控制器210B和/或210C的CTSReq NLRI TLV 3900包含分布式控制器210A分配的GTID和PID、从起始节点到末端节点的路径段和/或路径段细节、显式路由对象(explicitroute object,ERO)、以及标签和接口。
在接收到CTSReq NLRI TLV 3900之后,分布式控制器210B和/或210C沿起始节点和末端节点标识的路径段分配并预留链路带宽,以及与分布式控制器210B和/或210C先前与GTID和PID的关联关系一起存储的细节;沿路径段分配标签;并且沿路径段在每个节点上写入交叉连接。对于控制不包含目的节点的对应域220B和/或220C的分布式控制器210B和/或210C,分布式控制器210B和/或210C在边缘或边界节点上通过下游域的标签和接口将交叉连接写入至下游域,所述标签和接口由分布式控制器210B和/或210C从来自分布式控制器210A的CTSReq NLRI TLV 3900中接收到。对于控制不包含源节点的域的分布式控制器210B和/或210C,分布式控制器210B和/或210C包含发送至分布式控制器210A的答复消息中的标签和接口。接口连接沿E2E路径的上游域的边缘节点,在边缘节点的下一跳的节点上分配标签给接口。
在根据CTSReq NLRI TLV 3900创建隧道段之后,在步骤5955,分布式控制器210B和/或210C可以传输CTSRep NLRI TLV 4300(例如,具有如上文参照图43所论述的格式和内容)至分布式控制器210A。在一些实施例中,CTSRep NLRI TLV 4300包含GTID和PID、根据CTSReq NLRI TLV 3900创建隧道段的状态(例如,分布式控制器210B和/或210C已经成功创建所述请求的隧道段的“成功”状态,或者分布式控制器210B和/或210C不能创建所述请求的隧道段的“失败”状态)、当状态是“失败”时的错误码和未能创建所述请求的隧道段的原因、以及如上文所论述的当传输CTSRep NLRI TLV 4300的分布式控制器210B和/或210C控制的域不是源域并且状态是“成功”时的标签和接口。
在一些实施例中,在创建隧道段之后,分布式控制器210A接收删除至少一个隧道段的请求。所述请求是从,例如,用户或应用接收的。当请求分布式控制器210A移除隧道段时,或分布式控制器210A从分布式控制器210B和/或210C接收包含“失败”状态的CTSRepNLRI TLV 4300时,在步骤5960,分布式控制器210A传输RTSReq NLRI TLV 4400(例如,具有如上文参照图44所论述的格式和内容)至分布式控制器210B和/或210C,以删除隧道段。如上文所论述,在一些实施例中,适于从分布式控制器210A传输至分布式控制器210B和/或210C的RTSReq NLRI TLV 4400包含分布式控制器210A分配的GTID和PID。
在接收到RTSReq NLRI TLV 4400之后,分布式控制器210B和/或210C释放沿分布式控制器210B和/或210C控制的对应域220B和/或220C内的路径段分配的与GTID和PID相关联的标签,并沿路径段移除每个节点上的交叉连接。当分布式控制器210B和/或210C还预留与GTID和PID相关联的链路带宽时,分布式控制器210B和/或210C释放预留的链路带宽。在按照分布式控制器210A在RTSReq NLRI TLV 4400中的请求的移除隧道段之后,在步骤5965,分布式控制器210B和/或210C传输RTSRep NLRI TLV 4500(例如,具有如上文参照图45所论述的格式和内容)至分布式控制器210A。在一些实施例中,RTSRep NLRI TLV 4500包含GTID和PID、根据RTSReq NLRI TLV 4400移除隧道的状态(例如,分布式控制器210B和/或210C已经成功移除所述请求的隧道段的“成功”状态,或者分布式控制器210B和/或210C不能移除所述请求的隧道段的“失败”状态)、以及当状态是“失败”时的错误码和未能移除所述请求的隧道段的原因。
现参考图60,图60是根据BGP在SDN中运行的网元之间通信方法6000的一实施例的流程图。在一些实施例中,当网元(例如,图1的HSCS 100的父控制器106或子控制器108中的任意一个或图2的DSCS 200的分布式控制器210A-210E中的任意一个)根据BGP在SDN中运行并希望与也根据BGP在SDN中运行的另一个网元(例如,图1的HSCS 100的父控制器106或子控制器108中的其他任意一个或图2的DSCS 200的分布式控制器210A-210E中的任意一个)通信时,由第一网元执行通信方法6000。应注意的是,虽然方法6000中可以示出多个步骤,除非另行说明,任何一个或多个所述步骤可以省略,可以与另一个步骤大致上同时执行,或参照方法6000的其他步骤或未示出的步骤按照不同于图60示出的示例性顺序的顺序执行。例如,方法6000的步骤的任何一部分可以只由第一网元执行,或只由第二网元执行,或由第一网元和第二网元执行,和/或由第一网元、第二网元、第三网元和/或其它未示出的网元的任意组合执行。
在步骤6005,第一网元在SDN中向第二网元声明它的能力。第一网元,例如,在建立第一网元和第二网元之间的BGP会话期间或之后声明它的能力,第一网元和第二网元都是BGP会话中的BGP发言者。在一些实施例中,第一网元通过传输,例如,如上文参照图3所论述的第一开放消息中的第一CSC能力三元组300来声明它的能力至第二网元。在步骤6010,第二网元传输第二开放消息中的第二CSC能力三元组300至第一网元。在一些实施例中,传输第二CSC能力三元组300是对接收第一CSC能力三元组的响应。第二网元传输第二CSC能力三元组300以向第一网元声明它的能力。在一些实施例中,以大体类似于如上文参照图4和图5所论述的方式传输第一CSC能力三元组300和第二CSC能力三元组300。
在步骤6015,第二网元传输第一CAA NLRI TLV 700至第一网元。第二网元传输第一CAA NLRI TLV 700,例如,以通知第一网元与第二网元控制的域的连接和接入相关的细节。例如,如上文参照图7所论述,第二网元传输SDN NLRI TLV 600中的第一CAA NLRI TLV700。可选地,在步骤6020,第一网元传输第二CAA NLRI TLV 700至第二网元。第一网元传输第二CAA NLRI TLV 700,例如,以通知第二网元与第一网络控制器控制的域的连接和接入相关的细节。例如,如上文参照图7所论述,第一网元传输SDN NLRI TLV 600中的第二CAANLRI TLV 700。在一些实施例中,传输第二CAANLRI TLV 700是对接收第一CAANLRI TLV700的响应。
在步骤6025,第一网元传输请求消息至第二网元,使得第二网元计算经由第二网元控制的域的路径段。在一些实施例中,请求消息是CPSReq,例如,如上文参照图22所论述的CPSReq NLRI TLV 2200,并且在HSCS中,例如,如上文参照图1所论述的HSCS 100中传输。在其他实施例中,请求消息是GSReq,例如,如上文参照图47所论述的GSReq NLRI TLV4700,并且在DSCS中,例如,如上文参照图2所论述的DSCS 200中传输。
在步骤6030,第二网元至少部分基于在步骤6025中接收的请求消息的内容传输消息。例如,当在步骤6025中接收的请求消息是CPSReq时,在步骤6030,在根据CPSReq计算路径段之后,第二网元传输CPSRep,例如,如上文参照图32所论述的CPSRep NLRI TLV 3200至第一网元。当在步骤6025中接收的请求消息是GSReq时,在步骤6030,在根据GSReq计算路径段和增长SPT之后,在一些实施例中,第二网元传输第二GSReq至第三网元以请求第三网元进一步增长SPT。可选地,在传输第二GSReq至第三网元之后,第二网元可以传输GSRep,例如,如上文参照图54所论述的GSRep NLRI TLV 5400至第一网元,以在第二网元根据GSReq执行操作后将SPT通知给第一网元。在一些实施例中,例如,当第二网元不能响应于在步骤6025中接收的GSReq增长SPT时,或当在步骤6025中接收的GSReq中指定的目的节点位于第二网元控制的域中时,第二网元可以传输GSRep至第一网元,而不传输第二GSReq至第三网元。
可选地,在步骤6035,第一网元传输维护请求消息至第二网元,以对第二网元先前计算出的路径段进行维护。例如,请求消息可以是RPSReq,例如,如上文参照图34所论述的RPSReq NLRI TLV 3400,或者是KPSReq,例如,如上文参照图37所论述的KPSReq NLRI TLV3700。在根据请求消息接收和执行操作之后,在步骤6040,第二网元传输答复消息至第一网元,以上报根据请求消息执行操作的状态。例如,答复消息可以是RPSRep,例如,如上文参照图35所论述的RPSRep NLRI TLV 3500,或者是KPSRep,例如,如上文参照图38所论述的KPSRep NLRI TLV 3800。
在步骤6045,响应于步骤6025中传输的请求消息,第一网元传输第一请求消息以创建对应于计算出的路径段的隧道段。在一些实施例中,第一请求消息是CTSReq,例如,如上文参照图39所论述的CTSReq NLRI TLV 3900。
在一实施例中,第一网元发送第一请求消息至第三网元,以使第三网元(例如,当第三网元控制包含E2E隧道的目的地的域时,其中所述E2E隧道是根据方法6000的一个或多个步骤构建的)创建经由第三网元控制的域并且对应于第三网元先前计算出的路径段的隧道段。在创建隧道段(或尝试创建隧道段但是创建失败)之后,第三网元可以答复第一网元(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV 4300),指示第三网元隧道段创建的状态。当第三网元创建隧道段成功时,第一网元发送第二请求消息至第二网元,以使第二网元创建经由第二网元控制的域的隧道段。在创建隧道段(或尝试创建隧道段但是创建失败)之后,第二网元可以答复第一网元(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV 4300),指示第二网元隧道段创建的状态。第一网元可以继续发送隧道段创建的请求消息至每个控制具有路径段的域的网元,并从每个网元接收答复消息,其中路径段位于从源到目的地的最短路径上,并且E2E隧道沿路径段创建直到E2E隧道创建完成,或者直到网元创建隧道段失败导致无法创建E2E隧道。
在另一实施例中,第一网元发送第一请求消息至第三网元,以使第三网元(例如,当第三网元控制包含E2E隧道的目的地的域时,其中所述E2E隧道是根据方法6000的一个或多个步骤构建的)创建经由第三网元控制的域并且对应于第三网元先前计算出的路径段的隧道段。响应于第一请求消息,第三网元创建经由第三网元控制的域的隧道段。当第三网元创建隧道段失败时,第三网元移除所有创建的隧道段,并传输答复至第一网元(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV 4300),指示第三网元创建隧道段失败。当第三网元创建隧道段成功时,第三网元发送第二请求消息至第二网元。第二请求消息是,例如,CTSReq,例如,如上文参照图39所论述的CTSReq NLRI TLV 3900。第二请求消息请求第二网元创建经由第二网元控制的域并且对应于第二网元先前计算出的路径段的隧道段。当第二网元创建隧道段失败时,第二网元传输答复至第三网元(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV 4300),指示第二网元创建隧道段失败。当第二网元创建隧道段成功且第二网元的域包含E2E隧道的源时,第二网元传输答复至第一网元(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV 4300),指示隧道段创建成功,由此指示E2E隧道完成。当第二网元创建隧道段成功且第二网元的域不包含E2E隧道的源时,第二网元发送第三请求消息至下一个上游网元,以使上游网元创建经由所述上游网元控制的域的隧道段。上游网元可以以大体类似于第二网元相对于第三网元的方式操作,直到控制包含E2E隧道的源的域的网元创建隧道段,由此完成E2E隧道。
在另一实施例中,当第一网元(例如,主控制器)在步骤6025传输的请求消息是GSReq时,GSReq也使得控制包含E2E隧道的目的地的域的网元(例如,目的地控制器)发起创建对应于路径段的隧道段,路径段是响应于步骤6025中传输的请求消息计算的。例如,如上文所论述,当GSReq中包含的CRP NLRI TLV指示在一个回合计算路径段和创建隧道段时,一旦在未从第一网络控制器接收额外请求消息的情况下确定E2E隧道的源和目的地之间的最短路径,目的地控制器可以自动开始创建对应于计算出的路径段的隧道段。当目的地控制器确定E2E隧道的目的地位于目的地控制器控制的域中时,目的地控制器计算经由目的地控制器控制的域的路径段,以完成从E2E隧道的源到目的地的最短路径。在一些实施例中,目的地控制器发送答复消息至第一网络控制器,以指示已经成功计算出最短路径(例如,通过GSRep,例如,如上文参照图54所论述的GSRep NLRI TLV 5400)。在发送答复消息至第一网元之后,目的地控制器创建经由目的地控制器控制的域的隧道段。当目的地控制器创建隧道段失败时,目的地控制器移除所有创建的隧道段,并传输答复至第一网元(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV 4300),指示目的地控制器创建隧道段失败。当目的地控制器创建隧道段成功时,目的地控制器沿最短路径发送第二请求消息至控制目的地域的上游域的第二网元。例如,第二请求消息是CTSReq,例如,如上文参照图39所论述的CTSReq NLRI TLV 3900。第二请求消息请求第二网元创建经由第二网元控制的域并且对应于第二网元先前计算出的路径段的隧道段。当第二网元创建隧道段失败时,第二网元传输答复至目的地控制器(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV4300),指示第二网元创建隧道段失败。当第二网元创建隧道段成功且第二网元包含E2E隧道的源时,第二网元传输答复至第一网元(例如,通过CTSRep,例如,如上文参照图43所论述的CTSRep NLRI TLV 4300),指示隧道段创建成功,由此指示E2E隧道完成。当第二网元创建隧道段成功且第二网元不包含E2E隧道的源时,第二网元发送第三请求消息至下一个上游网元,以使上游网元创建经由上游网元控制的域的隧道段。上游网元可以以大体类似于第二网元相对于目的地控制器的方式操作,直到控制包含E2E隧道的源的域的网元创建隧道段,由此完成E2E隧道。
现参考图61,图61是根据本公开的各种实施例的网元6100的示意图。网元6100可以是任何合适的处理设备,能够在SDN中进行操作,根据BGP通信,并且执行本文所公开的功能,例如是能够在如图1的HSCS 100和/或图2的DSCS 200的架构内操作的网元、节点和/或控制器。例如,网元6100适于实施为如上文参照图1所论述的父控制器106、任何一个或多个子控制器108、二级父控制器110、任何一个或多个二级子控制器112、内部节点114和/或边界节点116,和/或如上文参照图2所论述的任何一个或多个分布式控制器210A-210E、边界节点230和/或内部节点240。网元6100用于实现至少一些本文所公开的特征/方法,根据至少一些本文所公开的协议图进行通信,和/或传输或接收本文所公开的任何一个或多个消息、NLRI TLV、TLV、子TLV和/或对象。例如,在不同实施例中,本公开的特征/方法使用硬件、固件和/或安装运行在硬件上的软件来实施。
网元6100是在网络、系统和/或域中传输数据和/或为网络中其他设备提供服务或执行计算功能的设备(例如,接入点、接入点台站、路由器、交换机、网关、桥、服务器、客户端、用户设备、移动通信设备等)。在一实施例中,网元6100是用于实现本文所公开的HSCS的装置和/或系统。
网元6100包括耦合至收发器(transceiver,Tx/Rx)6120的一个或多个下游端口6110,收发器可以是发送器、接收器或其组合。Tx/Rx 6120通过下游端口6110向其它网元传输帧和/或从其它网元接收帧。类似地,网元6100包括耦合至多个上游端口6140的另一Tx/Rx 6120,其中Tx/Rx 6120通过上游端口240向其它节点传输帧和/或从其它节点接收帧。下游端口6110和/或上游端口6140可以包含电和/或光学传输和/或接收组件。在另一实施例中,网元6100包括耦合至Tx/Rx 6120的一个或多个天线(未图示)。Tx/Rx 6120通过一个或多个天线向其它计算或存储设备无线传输数据和/或从其它计算或存储设备接收数据(例如,包)。
处理器6130耦合至Tx/Rx 6120,用于执行网元6100和根据BGP在SDN中通信的另一个网元之间的通信。在一实施例中,处理器6130包括一个或多个多核处理器和/或存储器模块6150,充当数据存储器、缓冲器等。处理器6130实施为通用处理器或是一个或多个专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)和/或数字信号处理器(digital signal processor,DSP)的一部分。尽管图中仅示出单个处理器,但处理器6130并不限于此,也可以包括多个处理器。处理器6130进一步包括用于执行SDN BGP计算机程序产品6160的处理逻辑,SDN BGP计算机程序产品6160用于促进SDN网元或控制器之间的BGP通信,以计算跨多个域的从源到目的地的最短路径,和/或以创建E2E隧道。
图61也说明存储器模块6150耦合至处理器6130,并且是用于存储不同类型数据的非暂时性媒体。存储器模块6150包括存储器设备,其包含辅助存储器、只读存储器(read-only memory,ROM)和随机存取存储器(random-access memory,RAM)。辅助存储器通常由一个或多个磁盘驱动器、光驱、固态驱动器(solid-state drive,SSD)和/或磁带机组成,且用于数据的非易失性存储且在RAM不足够大以固持所有工作数据时用作溢流存储设备。当加载到RAM中的程序被选定用于执行时,辅助存储器可以用来存储此类程序。ROM用于存储在程序执行期间被读取的指令和可能的数据。ROM是非易失性存储器设备,其通常具有相对于辅助存储器的较大存储器容量的较小存储器容量。RAM用于存储易失性数据并且可能存储指令。对ROM和RAM两者的存取通常比对辅助存储器的存取更快。
存储器模块6150可以用于容纳用于执行本文中所描述的各种实施例的指令。例如,存储器模块6150可以包括处理器6130执行的SDN BGP计算机程序产品6160。
应理解,通过编程和/或加载可执行指令到网元6100上,会改变至少一个处理器6130和/或存储器模块6150,从而将网元6100部分转换为特定机器或装置,例如,具有本公开所教示的新功能性的SDN元素。对于电力工程和软件工程技术来说重要的是,可以通过将可执行软件加载到计算机中而实施的功能性可以通过所属领域中已知的熟知设计规则转换为硬件实施方案。在软件还是硬件中实施概念之间的决定通常取决于设计的稳定性和将产生的单元的数目,而与从软件域转移到硬件域所涉及的任何问题无关。通常,仍在经受频繁改变的设计可以优选在软件中实施,因为重改硬件实施方案比重改软件设计更为昂贵。通常,将以较大量产生的稳定的设计可以优选在硬件中实施(例如在ASIC中),因为运行硬件实施方案的大型生产可能比软件实施方案便宜。通常,设计可以软件形式开发及测试,且稍后通过所属领域中的熟知设计规则转换为在对软件的指令进行硬连线的ASIC中的等效硬件实施方案。采用与由新ASIC控制的机器相同的方式的是特定机器或装置,同样地,已经编程和/或加载有可执行指令的计算机可以被视为特定机器或装置。
本文所公开的是一种网元,配置有用于根据BGP通信的SDN控制器之间的通信的构件。网元包含用于计算经由一个或多个域的路径段的构件,每个域由SDN控制器通过BGP通信协议的各种扩展控制。网元进一步包含用于执行路径计算、路径段维护、隧道段创建、隧道段维护、能力通告和SDN中的其它各种通信,以及SDN中的E2E路径和/或隧道创建的构件。网元进一步包含用于通过请求控制包含E2E路径的一部分的域的每个SDN控制器创建经由其对应域的隧道段来创建E2E隧道的构件。网元进一步包含用于请求控制包含E2E路径的目的地的域的SDN控制器发起E2E隧道创建的构件。网元进一步包含构件,用于:一旦在未从第一网元接收额外请求消息的情况下计算出E2E路径,指示控制包含E2E路径的目的地的域的SDN控制器自动发起创建E2E隧道的方式。
以下条项引用附加实施例。
条项1、一种第一网元,其特征在于,包括:
存储器,包括可由处理器执行的指令;以及
处理器,耦合至所述存储器并用于执行所述指令,其中执行所述指令使得所述处理器:
在BGP通信会话期间从第二网元接收指示所述第二网元的能力的通信能力消息;
从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;
接收在位于第一域中的源和目的地之间路由数据的请求;
传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段;以及
传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的E2E隧道的隧道段。
条项2、根据条项1所述的第一网元,其特征在于,所述第一请求消息是CPSReq,所述第一网元是所述第二网元的父控制器,以及所述处理器进一步从所述第二网元接收CPSRep,所述CPSRep包含与根据所述CPSReq请求计算的所述路径段有关的信息。条项3、根据条项1或2所述的第一网元,其特征在于,所述第一请求消息是是第一GSReq,以及所述处理器进一步从所述第二网元接收GSRep,所述GSRep包含与根据所述GSReq请求计算的所述路径段和增长SPT有关的信息。条项4、根据条项1至3中的任一项所述的第一网元,其特征在于,当所述目的地不位于所述第二域时,传输所述第一请求消息至所述第二网元使得所述第二网元在根据所述第一GSReq计算所述路径段和增长所述SPT之后传输第二GSReq至控制第三域的第三网元。
条项5、根据条项1至4中的任一项所述的第一网元,其特征在于,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元创建跨所述第三域的所述E2E隧道的第一隧道段;以及所述第一网元传输第三请求消息至所述第二网元,使得所述第二网络创建跨所述第二域的所述E2E隧道的第二隧道段。
条项6、根据条项1至5中的任一项所述的第一网元,其特征在于,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元:
创建跨所述第三域的所述E2E隧道的第一隧道段;以及
传输第三请求消息至所述第二网元,使得所述第二网络创建跨所述第二域的所述E2E隧道的第二隧道段。
条项7、根据条项1至6中的任一项所述的第一网元,其特征在于,所述目的地位于所述第三域,其中传输所述第二请求消息包含所述第一请求消息中的标志,所述标志指示所述第三网络控制器:
在确定所述源和所述目的地之间的最短路径之后,创建跨所述第三域的所述E2E隧道的第一隧道段;以及
在所述第三网元创建所述第一隧道段之后,传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
条项8、根据条项1至7中的任一项所述的第一网元,其特征在于,接收所述通信能力消息包括接收开放消息,所述开放消息包括CSC能力三元组,其中所述CSC能力三元组包括多个用于传达所述第二网元的能力的能力标志。
条项9、根据条项1至8中的任一项所述的第一网元,其特征在于,所述能力标志包括:
路径段标志,用于指示支持在根据BGP通信的SDN中计算路径段;
隧道段标志,用于指示支持在根据BGP通信的所述SDN中创建隧道段;
E2E隧道标志,用于指示支持在根据BGP通信的所述SDN中创建和维护E2ELSP隧道;
父控制器标志,用于指示在根据BGP通信的所述SDN中作为父控制器的功能性;
子控制器标志,用于指示在根据BGP通信的所述SDN中作为子控制器的功能性;
分布式控制器标志,用于指示在根据BGP通信的所述SDN中作为分布式控制器的功能性;以及
多个级别标志,用于当所述SDN是分层SDN控制系统时共同指示所述第二网元的分层级别。
条项10、根据条项1至9中的任一项所述的第一网元,其特征在于,所述第一请求消息和所述第二请求消息均包括CRP TLV。
条项11、根据条项1至10中的任一项所述的第一网元,其特征在于,所述CRP TLV指定用于根据所述第一请求消息和所述第二请求消息创建的段的优化方案,以及当SDN是分布式SDN控制系统时指定所述SDN中分布式控制器的职责。
条项12、一种用于控制第一域的第一网元,其特征在于,所述第一网元包括:
存储器,包括可由处理器执行的指令;以及
处理器,耦合至所述存储器并用于执行所述指令,其中执行所述指令使得所述处理器:
在BGP通信会话期间向第二网元传输指示所述第二网元的能力的通信能力消息;
向所述第二网元传输通告消息,其中所述通告消息指示所述第一域的连接和接入;
接收指示所述第一网元计算用于创建E2E隧道的路径段的第一请求消息,其中每一路径段连接所述第一域的一个边缘节点和所述第一域的另一个边缘节点;
根据所述第一请求消息计算所述路径段;
接收指示所述第一网元创建经由所述第一域的用于E2E隧道的第一隧道段的第二请求消息,其中所述第二请求消息指示所述隧道段的至少一个起始节点和一个末端节点;以及
根据所述第二请求消息创建所述第一隧道段。
条项13、根据条项12所述的第一网元,其特征在于,所述E2E隧道的目的地位于第三网元控制的第二域,所述第一网元从所述第二网元接收所述第一请求消息,以及所述第一网元从所述第三网元接收所述第二请求消息。
条项14、根据条项12或13所述的第一网元,其特征在于,所述E2E隧道的目的地位于所述第一域,从所述E2E隧道的源到所述E2E隧道的目的地的最短路径跨第三网元控制的第三域,以及所述处理器进一步传输第三请求消息至所述第三网元使得所述第三网络在所述第一网元创建所述第一隧道段之后创建跨所述第三域的所述E2E隧道的第二隧道段。
条项15、根据条项12至14中的任一项所述的第一网元,其特征在于,传输所述通信能力消息包括传输开放消息,所述开放消息包括CSC能力三元组,其中所述CSC能力三元组包括多个用于传达所述第一网元的能力的能力标志。
条项16、一种由网元执行的根据BGP通信的SDN控制器之间的通信方法,其特征在于,包括:
根据开放消息中包含的CSC能力三元组声明SDN中的所述网元的能力;
计算所述SDN中的用于创建E2E隧道的路径段;以及
创建对应于所述SDN中的路径段的第一隧道段,其中所述第一隧道段形成所述E2E隧道的一部分。
条项17、根据条项16所述的方法,其特征在于,进一步包括:
接收GSReq;
响应于所述GSReq,计算所述SDN中用于创建所述E2E隧道的路径段;
基于所述计算出的路径段以及响应于所述GSReq,增长SPT;
接收创建第一隧道段的第一请求;以及
响应于创建所述第一隧道段的所述请求,创建对应于所述SDN中的路径段的所述第一隧道段。
条项18、根据条项16或17所述的方法,其特征在于,进一步包括:沿所述E2E隧道的路径传输创建第二隧道段的请求至上游域的控制器。
条项19、根据条项16至18中的任一项所述的方法,其特征在于,进一步包括
在计算出从所述E2E隧道的源到所述E2E隧道的目的地的最短路径之后,自动创建对应于所述SDN中的路径段的所述第一隧道段;以及
沿所述E2E隧道的路径传输创建第二隧道段的请求至上游域的控制器。
条项20、根据条项16至19中的任一项所述的方法,其特征在于,进一步包括:接收指示所述SDN中的域的连接和接入的通告消息。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本中所给出的细节。例如,各种元件或组件可以在另一系统中组合或整合,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其他变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。

Claims (36)

1.一种通信方法,用于通信系统,所述通信系统包括第一网元和第二网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述第一网元是所述第二网元的父控制器,所述方法由所述第一网元执行,其特征在于,所述方法包括:
从所述第二网元接收指示所述第二网元的能力的通信能力消息;
从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;
接收在位于第一域中的源和位于所述第二域中的目的地之间路由数据的请求;
传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段,其中,所述第一请求消息是路径段计算请求(Request for Computing Path Segment,CPSReq);以及
传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的端到端(end-to-end,E2E)隧道的隧道段;
从所述第二网元接收路径段计算答复(Reply for Computing Path Segment,CPSRep),其中所述CPSRep包含与根据所述CPSReq计算的所述路径段有关的信息。
2.根据权利要求1所述的方法,其特征在于,目的地位于第三网元控制的第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元创建跨所述第三域的所述E2E隧道的第一隧道段;所述方法进一步包括:
所述第一网元传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
3.根据权利要求1所述的方法,其特征在于,目的地位于第三网元控制的第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元:
创建跨所述第三域的所述E2E隧道的第一隧道段;以及传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
4.根据权利要求1所述的方法,其特征在于,目的地位于第三网元控制的第三域,其中所述传输的第二请求消息包含所述第一请求消息中的标志,所述标志指示所述第三网元:
在确定所述源和所述目的地之间的最短路径之后,创建跨所述第三域的所述E2E隧道的第一隧道段;以及
在所述第三网元创建所述第一隧道段之后,传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
5.根据权利要求1所述的方法,其特征在于,接收所述通信能力消息包括接收开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第二网元的能力的能力标志。
6.一种通信方法,用于通信系统,所述通信系统包括第一网元和第二网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述方法由所述第一网元执行,其特征在于,所述方法包括:
从所述第二网元接收指示所述第二网元的能力的通信能力消息;
从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;
接收在位于第一域中的源和位于所述第二域中的目的地之间路由数据的请求;
传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段,其中,所述第一请求消息是第一最短路径树(shortest path tree,SPT)增长请求(Request for Growing SPT,GSReq);
以及
传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的端到端(end-to-end,E2E)隧道的隧道段;
从所述第二网元接收SPT增长答复(Reply for Growing SPT,GSRep),其中所述GSRep包含与所述第一GSReq计算的所述路径段和增长SPT有关的信息。
7.根据权利要求6所述的方法,其特征在于,当所述目的地不位于所述第二域时,传输所述第一请求消息至所述第二网元使得所述第二网元在根据所述第一GSReq计算所述路径段和增长所述SPT之后传输第二GSReq至控制第三域的第三网元。
8.根据权利要求7所述的方法,其特征在于,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元创建跨所述第三域的所述E2E隧道的第一隧道段;所述方法进一步包括:
所述第一网元传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
9.根据权利要求7所述的方法,其特征在于,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元:
创建跨所述第三域的所述E2E隧道的第一隧道段;以及传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
10.根据权利要求7所述的方法,其特征在于,所述目的地位于所述第三域,其中所述传输的第二请求消息包含所述第一请求消息中的标志,所述标志指示所述第三网元:
在确定所述源和所述目的地之间的最短路径之后,创建跨所述第三域的所述E2E隧道的第一隧道段;以及
在所述第三网元创建所述第一隧道段之后,传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
11.根据权利要求6或7所述的方法,其特征在于,接收所述通信能力消息包括接收开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第二网元的能力的能力标志。
12.一种通信方法,用于通信系统,所述通信系统包括第一网元和第二网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述方法由所述第一网元执行,其特征在于,所述方法包括:
向第二网元传输指示所述第一网元的能力的通信能力消息;
向所述第二网元传输通告消息,其中所述通告消息指示第一域的连接和接入;
从所述第二网元接收指示所述第一网元计算用于创建端到端(end-to-end,E2E)隧道的路径段的第一请求消息,其中每一路径段连接所述第一域的一个边缘节点和所述第一域的另一个边缘节点,所述E2E隧道的目的地位于第三网元控制的第二域;
根据所述第一请求消息计算所述路径段;
从所述第三网元接收指示所述第一网元创建经由所述第一域的用于E2E隧道的第一隧道段的第二请求消息,其中所述第二请求消息指示所述隧道段的至少一个起始节点和一个末端节点;以及
根据所述第二请求消息创建所述第一隧道段。
13.根据权利要求12所述的方法,其特征在于,传输所述通信能力消息包括传输开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第一网元的能力的能力标志。
14.一种通信方法,用于通信系统,所述通信系统包括第一网元和第二网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述方法由所述第一网元执行,其特征在于,所述方法包括:
向第二网元传输指示所述第一网元的能力的通信能力消息;
向所述第二网元传输通告消息,其中所述通告消息指示第一域的连接和接入;
接收指示所述第一网元计算用于创建端到端(end-to-end,E2E)隧道的路径段的第一请求消息,其中每一路径段连接所述第一域的一个边缘节点和所述第一域的另一个边缘节点,所述E2E隧道的目的地位于所述第一域,从所述E2E隧道的源到所述E2E隧道的目的地的最短路径跨第三网元控制的第三域;
根据所述第一请求消息计算所述路径段;
接收指示所述第一网元创建经由所述第一域的用于E2E隧道的第一隧道段的第二请求消息,其中所述第二请求消息指示所述隧道段的至少一个起始节点和一个末端节点;以及
根据所述第二请求消息创建所述第一隧道段;
传输第三请求消息至所述第三网元使得所述第三网元在所述第一网元创建所述第一隧道段之后创建跨所述第三域的所述E2E隧道的第二隧道段。
15.根据权利要求14所述的方法,其特征在于,传输所述通信能力消息包括传输开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第一网元的能力的能力标志。
16.一种第一网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,所述第一网元是所述第二网元的父控制器,其特征在于,包括:
存储器,用于存储可由处理器执行的指令;以及
处理器,用于耦合至所述存储器并执行所述指令使得所述第一网元:
从所述第二网元接收指示所述第二网元的能力的通信能力消息;
从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;
接收在位于第一域中的源和位于所述第二域中的目的地之间路由数据的请求;
传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段,其中,所述第一请求消息是路径段计算请求(Request for Computing Path Segment,CPSReq);以及
传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的端到端(end-to-end,E2E)隧道的隧道段;
从所述第二网元接收路径段计算答复(Reply for Computing Path Segment,CPSRep),其中所述CPSRep包含与根据所述CPSReq计算的所述路径段有关的信息。
17.根据权利要求16所述的第一网元,其特征在于,目的地位于第三网元控制的第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元创建跨所述第三域的所述E2E隧道的第一隧道段;
所述第一网元传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
18.根据权利要求16所述的第一网元,其特征在于,目的地位于第三网元控制的第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元:
创建跨所述第三域的所述E2E隧道的第一隧道段;以及传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
19.根据权利要求16所述的第一网元,其特征在于,目的地位于第三网元控制的第三域,其中所述传输的第二请求消息包含所述第一请求消息中的标志,所述标志指示所述第三网元:
在确定所述源和所述目的地之间的最短路径之后,创建跨所述第三域的所述E2E隧道的第一隧道段;以及
在所述第三网元创建所述第一隧道段之后,传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
20.根据权利要求16所述的第一网元,其特征在于,接收所述通信能力消息包括接收开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第二网元的能力的能力标志。
21.根据权利要求20所述的第一网元,其特征在于,所述能力标志包括:
路径段标志,用于指示支持在根据BGP通信的软件定义网络(software definednetwork,SDN)中计算路径段;
隧道段标志,用于指示支持在根据BGP通信的所述SDN中创建隧道段;
E2E隧道标志,用于指示支持在根据BGP通信的所述SDN中创建和维护E2E标签交换路径(label switched path,LSP);
父控制器标志,用于指示在根据BGP通信的所述SDN中作为父控制器的功能性;
子控制器标志,用于指示在根据BGP通信的所述SDN中作为子控制器的功能性;
分布式控制器标志,用于指示在根据BGP通信的所述SDN中作为分布式控制器的功能性;以及
多个级别标志,用于当所述SDN是分层SDN控制系统时共同指示所述第二网元的分层级别。
22.根据权利要求16所述的第一网元,其特征在于,所述第一请求消息和所述第二请求消息均包括控制器请求参数(controller request parameter,CRP)类型长度值(type-length-value,TLV)。
23.根据权利要求22所述的第一网元,其特征在于,所述CRP TLV指定用于根据所述第一请求消息和所述第二请求消息创建的段的优化方案,以及当软件定义网络(softwaredefined network,SDN)是分布式SDN控制系统时指定所述SDN中分布式控制器的职责。
24.一种第一网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,其特征在于,包括:
存储器,用于存储可由处理器执行的指令;以及
处理器,用于耦合至所述存储器并执行所述指令使得所述第一网元:
从所述第二网元接收指示所述第二网元的能力的通信能力消息;
从所述第二网元接收指示所述第二网元控制的第二域的连接和接入的通告消息;
接收在位于第一域中的源和位于所述第二域中的目的地之间路由数据的请求;
传输第一请求消息至所述第二网元,使得所述第二网元计算经由所述第二域的路径段,其中,所述第一请求消息是第一最短路径树(shortest path tree,SPT)增长请求(Request for Growing SPT,GSReq);
以及
传输第二请求消息以创建所述源和所述目的地之间的跨所述第一域和所述第二域的端到端(end-to-end,E2E)隧道的隧道段;
从所述第二网元接收SPT增长答复(Reply for Growing SPT,GSRep),其中所述GSRep包含与所述第一GSReq计算的所述路径段和增长SPT有关的信息。
25.根据权利要求24所述的第一网元,其特征在于,当所述目的地不位于所述第二域时,传输所述第一请求消息至所述第二网元使得所述第二网元在根据所述第一GSReq计算所述路径段和增长所述SPT之后传输第二GSReq至控制第三域的第三网元。
26.根据权利要求25所述的第一网元,其特征在于,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元创建跨所述第三域的所述E2E隧道的第一隧道段;以及所述第一网元传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
27.根据权利要求25所述的第一网元,其特征在于,所述目的地位于所述第三域,其中所述第一网元传输所述第二请求消息至所述第三网元,使得所述第三网元:
创建跨所述第三域的所述E2E隧道的第一隧道段;以及传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
28.根据权利要求25所述的第一网元,其特征在于,所述目的地位于所述第三域,其中所述传输的第二请求消息包含所述第一请求消息中的标志,所述标志指示所述第三网元:
在确定所述源和所述目的地之间的最短路径之后,创建跨所述第三域的所述E2E隧道的第一隧道段;以及
在所述第三网元创建所述第一隧道段之后,传输第三请求消息至所述第二网元,使得所述第二网元创建跨所述第二域的所述E2E隧道的第二隧道段。
29.根据权利要求24或25所述的第一网元,其特征在于,接收所述通信能力消息包括接收开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第二网元的能力的能力标志。
30.根据权利要求29所述的第一网元,其特征在于,所述能力标志包括:
路径段标志,用于指示支持在根据BGP通信的软件定义网络(software definednetwork,SDN)中计算路径段;
隧道段标志,用于指示支持在根据BGP通信的所述SDN中创建隧道段;
E2E隧道标志,用于指示支持在根据BGP通信的所述SDN中创建和维护E2E标签交换路径(label switched path,LSP);
父控制器标志,用于指示在根据BGP通信的所述SDN中作为父控制器的功能性;
子控制器标志,用于指示在根据BGP通信的所述SDN中作为子控制器的功能性;
分布式控制器标志,用于指示在根据BGP通信的所述SDN中作为分布式控制器的功能性;以及
多个级别标志,用于当所述SDN是分层SDN控制系统时共同指示所述第二网元的分层级别。
31.根据权利要求24所述的第一网元,其特征在于,所述第一请求消息和所述第二请求消息均包括控制器请求参数(controller request parameter,CRP)类型长度值(type-length-value,TLV)。
32.根据权利要求31所述的第一网元,其特征在于,所述CRP TLV指定用于根据所述第一请求消息和所述第二请求消息创建的段的优化方案,以及当软件定义网络(softwaredefined network,SDN)是分布式SDN控制系统时指定所述SDN中分布式控制器的职责。
33.一种用于控制第一域的第一网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,其特征在于,所述第一网元包括:
存储器,用于存储可由处理器执行的指令;以及
处理器,用于耦合至所述存储器并用于执行所述指令,使得所述第一网元:
向第二网元传输指示所述第一网元的能力的通信能力消息;
向所述第二网元传输通告消息,其中所述通告消息指示所述第一域的连接和接入;
从所述第二网元接收指示所述第一网元计算用于创建端到端(end-to-end,E2E)隧道的路径段的第一请求消息,其中每一路径段连接所述第一域的一个边缘节点和所述第一域的另一个边缘节点,所述E2E隧道的目的地位于第三网元控制的第二域;
根据所述第一请求消息计算所述路径段;
从所述第三网元接收指示所述第一网元创建经由所述第一域的用于E2E隧道的第一隧道段的第二请求消息,其中所述第二请求消息指示所述隧道段的至少一个起始节点和一个末端节点;以及
根据所述第二请求消息创建所述第一隧道段。
34.根据权利要求33所述的第一网元,其特征在于,传输所述通信能力消息包括传输开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第一网元的能力的能力标志。
35.一种用于控制第一域的第一网元,所述第一网元与第二网元进行通信,所述第一网元和第二网元为软件定义网络控制器,其特征在于,所述第一网元包括:
存储器,用于存储可由处理器执行的指令;以及
处理器,用于耦合至所述存储器并用于执行所述指令,使得所述第一网元:
向第二网元传输指示所述第一网元的能力的通信能力消息;
向所述第二网元传输通告消息,其中所述通告消息指示所述第一域的连接和接入;
接收指示所述第一网元计算用于创建端到端(end-to-end,E2E)隧道的路径段的第一请求消息,其中每一路径段连接所述第一域的一个边缘节点和所述第一域的另一个边缘节点,所述E2E隧道的目的地位于所述第一域,从所述E2E隧道的源到所述E2E隧道的目的地的最短路径跨第三网元控制的第三域;
根据所述第一请求消息计算所述路径段;
接收指示所述第一网元创建经由所述第一域的用于E2E隧道的第一隧道段的第二请求消息,其中所述第二请求消息指示所述隧道段的至少一个起始节点和一个末端节点;以及
根据所述第二请求消息创建所述第一隧道段;
传输第三请求消息至所述第三网元使得所述第三网元在所述第一网元创建所述第一隧道段之后创建跨所述第三域的所述E2E隧道的第二隧道段。
36.根据权利要求35所述的第一网元,其特征在于,传输所述通信能力消息包括传输开放消息,所述开放消息包括软件定义网络(software defined network,SDN)控制器之间的通信(communications among SDN controllers,CSC)能力三元组,其中所述CSC能力三元组包括多个用于传达所述第一网元的能力的能力标志。
CN202010820313.7A 2016-03-03 2017-03-02 用于软件定义网络控制器之间通信的边界网关协议 Active CN112104551B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662303144P 2016-03-03 2016-03-03
US62/303,144 2016-03-03
US15/446,820 2017-03-01
US15/446,820 US10432427B2 (en) 2016-03-03 2017-03-01 Border gateway protocol for communication among software defined network controllers
CN201780015057.0A CN108781182B9 (zh) 2016-03-03 2017-03-02 利用bgp协议的sdn控制器之间的通信方法和网元

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780015057.0A Division CN108781182B9 (zh) 2016-03-03 2017-03-02 利用bgp协议的sdn控制器之间的通信方法和网元

Publications (2)

Publication Number Publication Date
CN112104551A CN112104551A (zh) 2020-12-18
CN112104551B true CN112104551B (zh) 2022-01-18

Family

ID=59722911

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780015057.0A Active CN108781182B9 (zh) 2016-03-03 2017-03-02 利用bgp协议的sdn控制器之间的通信方法和网元
CN202010820313.7A Active CN112104551B (zh) 2016-03-03 2017-03-02 用于软件定义网络控制器之间通信的边界网关协议

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201780015057.0A Active CN108781182B9 (zh) 2016-03-03 2017-03-02 利用bgp协议的sdn控制器之间的通信方法和网元

Country Status (4)

Country Link
US (1) US10432427B2 (zh)
EP (3) EP3751801B1 (zh)
CN (2) CN108781182B9 (zh)
WO (1) WO2017148425A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523590B2 (en) 2016-10-28 2019-12-31 2236008 Ontario Inc. Channel-based mandatory access controls
US10521599B2 (en) * 2017-02-28 2019-12-31 2236008 Ontario Inc. Label transition for mandatory access controls
US10367691B2 (en) * 2017-03-17 2019-07-30 Cisco Technology, Inc. Multi platform static semantic consistency checking of network configurations
US10333793B2 (en) * 2017-04-14 2019-06-25 Cisco Technology, Inc. Network fabric topology expansion and self-healing devices
CN110399573A (zh) * 2018-04-16 2019-11-01 中国移动通信有限公司研究院 一种信息处理方法、装置、设备及计算机可读存储介质
CN108810024A (zh) * 2018-07-19 2018-11-13 广东浪潮大数据研究有限公司 一种隔离网络数据传输方法、装置、介质、管理平台
US10715419B1 (en) * 2018-09-10 2020-07-14 Juniper Networks, Inc. Software defined networking between virtualized entities of a data center and external entities
CN111225006A (zh) * 2018-11-23 2020-06-02 中兴通讯股份有限公司 连接建立方法、报文传输方法、设备及存储介质
US11165636B2 (en) * 2018-11-29 2021-11-02 Cisco Technology, Inc. Systems and methods for enterprise fabric creation
US10958567B1 (en) * 2019-03-29 2021-03-23 Juniper Networks, Inc. Controlling paths in a network via a centralized controller or network devices
WO2020247626A1 (en) 2019-06-05 2020-12-10 Futurewei Technologies, Inc. Extending bgp protection for sr path ingress protection
CN112688871B (zh) * 2019-10-18 2023-07-25 阿尔格布鲁控股有限公司 使用客户专用隧道的外部自治系统中的路由控制
US11082336B1 (en) * 2020-01-15 2021-08-03 Cisco Technology, Inc. Automatic configuration and connection of heterogeneous bandwidth managed multicast fabrics
CN115004655B (zh) * 2020-02-18 2023-10-10 华为技术有限公司 用于边界网关协议(bgp)控制的网络可靠性的系统和方法
CN115152192B (zh) * 2020-02-27 2024-04-12 华为技术有限公司 Pce受控网络可靠性
US11233733B2 (en) 2020-03-26 2022-01-25 Verizon Patent And Licensing Inc. Systems and methods for SR-MPLS to SRv6 interworking
US11394641B1 (en) * 2020-05-22 2022-07-19 Amazon Technologies, Inc. Consensus protocol for route announcements between autonomous systems
US11277330B1 (en) * 2020-10-21 2022-03-15 Ciena Corporation Multi-domain network path computation with minimal model and data sharing between domains
US11811646B2 (en) 2022-02-28 2023-11-07 Microsoft Technology Licensing, Llc Decentralized wide-area network traffic engineering
WO2023163784A1 (en) * 2022-02-28 2023-08-31 Microsoft Technology Licensing, Llc Decentralized wide-area network traffic engineering

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873364A (zh) * 2012-12-11 2014-06-18 清华大学 域间多路径路由的实现方法
CN104243270A (zh) * 2014-09-25 2014-12-24 杭州华三通信技术有限公司 一种建立隧道的方法和装置
CN104365072A (zh) * 2012-04-05 2015-02-18 瑞典爱立信有限公司 计算通过包括多个网络域的网络的端到端路径的装置和方法
CN104363170A (zh) * 2014-11-25 2015-02-18 杭州华三通信技术有限公司 一种软件定义网络中数据流转发方法和装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155119B (zh) * 2006-09-28 2012-05-23 华为技术有限公司 一种确定自治系统边界节点的方法、装置及路径计算方法
US7701940B2 (en) * 2007-03-09 2010-04-20 Cisco Technology, Inc. Inter-domain point-to-multipoint path computation in a computer network
CN102469009B (zh) * 2010-11-09 2015-06-03 中兴通讯股份有限公司 有状态路径计算单元的处理方法及有状态路径计算单元
US9019865B2 (en) * 2011-03-04 2015-04-28 Juniper Networks, Inc. Advertising traffic engineering information with the border gateway protocol
EP2705636A4 (en) 2011-08-16 2014-03-19 Huawei Tech Co Ltd METHOD FOR COMMUNICATING THROUGH DIFFERENT DOMAINS AND NETWORK APPARATUS
AU2012296330B2 (en) * 2011-08-17 2016-03-17 Nicira, Inc. Hierarchical controller clusters for interconnecting different logical domains
US20130132542A1 (en) * 2011-11-18 2013-05-23 Telefonktiebolaget L M Ericsson (Publ) Method and System for Effective BGP AS-Path Pre-pending
WO2014052485A1 (en) 2012-09-26 2014-04-03 Huawei Technologies Co. Ltd. Overlay virtual gateway for overlay networks
US20140146664A1 (en) 2012-11-26 2014-05-29 Level 3 Communications, Llc Apparatus, system and method for packet switching
WO2014110453A1 (en) 2013-01-11 2014-07-17 Huawei Technologies Co., Ltd. Network function virtualization for a network device
EP2784993A1 (en) 2013-03-29 2014-10-01 Alcatel Lucent Method and device for setting up paths between network elements belonging to different network domains of a software-defined network
WO2015035616A1 (zh) * 2013-09-13 2015-03-19 华为技术有限公司 跨网通信方法及装置
US9210075B2 (en) * 2013-10-08 2015-12-08 Ciena Corporation Method and apparatus for managing end-to-end consistency of bi-directional MPLS-TP tunnels via in-band communication channel (G-ACH) protocol
EP3055948B1 (en) 2013-10-09 2020-02-19 Telefonaktiebolaget LM Ericsson (publ) Routing of point-to-multipoint services in a multi-domain network
US9450864B2 (en) 2013-10-11 2016-09-20 Futurewei Technologies, Inc. Using PCE as SDN controller
CN104579947A (zh) * 2013-10-25 2015-04-29 中兴通讯股份有限公司 一种发现路径计算单元的方法、装置及系统
US9197569B2 (en) 2013-12-06 2015-11-24 Algoblu Holdings Limited Hierarchical control in software-defined network (SDN)
US10009287B2 (en) 2013-12-26 2018-06-26 Huawei Technologies Co., Ltd. Hierarchical software-defined network traffic engineering controller
EP2892183B1 (en) 2014-01-07 2017-08-23 Alcatel Lucent Enablement of service level agreement negotiation
US9537753B2 (en) * 2014-03-03 2017-01-03 Cisco Technology, Inc. Opaque profile identifiers for path computation element protocol
US9503344B2 (en) 2014-07-25 2016-11-22 Telefonaktiebolaget L M Ericsson (Publ) Data path performance measurement using network traffic in a software defined network
CN113365294A (zh) * 2015-08-28 2021-09-07 德克萨斯仪器股份有限公司 用于有向无环图网络配置的节点和方法
US10404571B2 (en) 2015-12-29 2019-09-03 Futurewei Technologies, Inc. Communication among network controllers
US10298627B2 (en) * 2016-02-01 2019-05-21 Oracle International Corporation Concentration of independent tunneled encapsulated media
US10218600B2 (en) * 2016-02-19 2019-02-26 Futurewei Technologies, Inc. Path computation element hierarchical software defined network control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104365072A (zh) * 2012-04-05 2015-02-18 瑞典爱立信有限公司 计算通过包括多个网络域的网络的端到端路径的装置和方法
CN103873364A (zh) * 2012-12-11 2014-06-18 清华大学 域间多路径路由的实现方法
CN104243270A (zh) * 2014-09-25 2014-12-24 杭州华三通信技术有限公司 一种建立隧道的方法和装置
CN104363170A (zh) * 2014-11-25 2015-02-18 杭州华三通信技术有限公司 一种软件定义网络中数据流转发方法和装置

Also Published As

Publication number Publication date
CN108781182B9 (zh) 2020-10-30
EP3414874B1 (en) 2020-09-09
EP3751801B1 (en) 2022-05-11
CN108781182B (zh) 2020-09-08
EP3414874A4 (en) 2019-03-20
EP3414874A1 (en) 2018-12-19
WO2017148425A1 (en) 2017-09-08
CN108781182A (zh) 2018-11-09
EP3751801A1 (en) 2020-12-16
US20170257228A1 (en) 2017-09-07
EP4027613A1 (en) 2022-07-13
CN112104551A (zh) 2020-12-18
US10432427B2 (en) 2019-10-01

Similar Documents

Publication Publication Date Title
CN112104551B (zh) 用于软件定义网络控制器之间通信的边界网关协议
US10218600B2 (en) Path computation element hierarchical software defined network control
US10305791B2 (en) Using PCE as SDN controller
US9998368B2 (en) Zone routing system
CN111865796B (zh) 用于网络业务的路径计算单元中央控制器(pcecc)
EP2933958B1 (en) Segment routing - egress peer engineering (SP-EPE)
CN109314663B (zh) Pcep扩展用于支持分布式计算、多项服务和域间路由的pcecc
US11909596B2 (en) Connections and accesses for hierarchical path computation element (PCE)
EP3384640B1 (en) Communication among network controllers
US10021017B2 (en) X channel to zone in zone routing
CN113285876A (zh) 路由方法、路由装置及计算机可读存储介质
CN111464440A (zh) 一种通信方法及装置
EP3846392B1 (en) Cross-domain bidirectional tunnel creation method, communication method and apparatus, and storage medium
CN111464441A (zh) 一种通信方法及装置
CN112055954B (zh) 网络中优选路径路由的资源预留和维护
US20220174003A1 (en) A System and a Method for Routing Traffic in an MPLS Network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant