在SDN控制器中将接入网络建模为树的方法和系统转让专利
申请号 : CN201880064671.0
文献号 : CN111164936B
文献日 : 2021-08-13
发明人 : 张静静 , 魏威 , 钱留荣
申请人 : 华为技术有限公司
摘要 :
权利要求 :
1.一种通信设备,其特征在于,包括:非瞬时性存储器,包括指令;以及与所述存储器通信的一个或多个处理器,其中所述一个或多个处理器执行所述指令来:
访问接入网的网络信息,所述接入网具有包括多个节点和多个链路的树形拓扑,其中所述多个节点中的每对相连节点包括单个连接链路,每个节点与至少一个设备相关联;
基于树形拓扑的节点模型,生成所述接入网的网络描述,所述网络描述包括针对第一节点的至少一个子字段和一个链路字段,所述子字段定义相对于所述第一节点的任何下游节点,所述链路字段定义所述第一节点与其连接到的上游节点之间的距离;以及存储所述网络描述以供至少一个控制器访问,以管理所述接入网中的控制面功能。
2.根据权利要求1所述的设备,其特征在于,所述一个或多个处理器执行所述指令来:从节点数据仓库中访问所述网络描述;
基于所述网络描述,计算所述多个节点中的两个节点之间的源到目的地路径;
其中计算所述源到目的地路径包括基于所述网络描述中的一个或多个链路字段来确定所述源到目的地路径中节点之间的链路信息。
3.根据权利要求2所述的设备,其特征在于,所述一个或多个处理器执行所述指令来:从第一控制器提供所述源到目的地路径的配置信息,其中所述配置信息被提供给所述源到目的地路径中的一组节点。
4.根据权利要求2所述的设备,其特征在于:计算所述源到目的地路径时,不访问链路数据仓库来确定所述接入网络中节点之间的链路。
5.根据权利要求1所述的设备,其特征在于:所述多个节点构成具有根节点的第一树形结构。
6.根据权利要求1所述的设备,其特征在于:所述节点模型包括用于标识所选节点连接到的上游节点的父字段。
7.根据权利要求1所述的设备,其特征在于:所述接入网是无线通信系统的接入网;以及所述接入网提供多个客户端设备与至少一个外部网络之间的连接。
8.根据权利要求1所述的设备,其特征在于,所述一个或多个处理器执行所述指令来:接收与所述接入网和第一应用相关联的至少一个事件,所述至少一个事件标识第一中间节点和第一连接链路;以及
响应于所述至少一个事件,操作所述第一中间节点和所述第一连接链路。
9.根据权利要求1所述的设备,其特征在于,所述一个或多个处理器执行所述指令来:接收与所述接入网相关联的至少一个事件;以及响应于所述至少一个事件,第一控制器基于所述网络描述来配置包括所述多个节点中的两个或更多节点的数据路径。
10.根据权利要求1所述的设备,其特征在于,生成所述网络描述包括:提供引用补充模型的至少一个附加字段,其中所述补充模型是与部署在第一节点处的设备相对应的设备模型。
11.根据权利要求1所述的设备,其特征在于,所述一个或多个处理器执行所述指令来:接收与所述接入网相关联的至少一个事件;
基于所述事件,修改所述接入网中的至少一个设备;
针对与所述至少一个设备相关联的一个或多个节点,更新所述网络描述,其中更新所述网络描述包括更新一个或多个链路字段。
12.根据权利要求1所述的设备,其特征在于,所述一个或多个处理器执行所述指令来:将所述网络描述传输给第一设备处的第一控制器和第二设备处的第二控制器,所述第一控制器控制所述接入网中的第一部分节点,所述第二控制器控制所述接入网中的第二部分节点。
13.根据权利要求1所述的设备,其特征在于:集中控制器生成所述网络描述并将所述网络配置输出到第一控制器和第二控制器。
14.一种通信系统,其特征在于,包括:接入网,包括多个节点以及部分所述节点之间的多个链路,每个节点与至少一个设备相关联,所述接入网提供多个客户端设备与服务提供商之间的连接;
处理器,耦合到所述接入网并用于生成所述接入网中的第一节点的节点描述,所述节点描述定义相对于所述第一节点的至少一个下游节点并指示所述第一节点与上游节点之间的距离;以及
存储设备,用于接收和存储所述第一节点的所述节点描述。
15.根据权利要求14所述的系统,其特征在于,还包括:耦合到所述存储设备的控制器;以及所述控制器与所述第一节点之间的控制链路,其中所述控制器用于接收请求并访问所述节点描述以执行包括所述第一节点在内的数据路径计算。
16.根据权利要求14或15所述的系统,其特征在于,所述处理器用于生成所述节点描述包括:
为所述第一节点提供引用补充模型的至少一个附加字段。
17.根据权利要求15所述的系统,其特征在于,所述处理器用于:接收与所述接入网相关联的至少一个事件;
基于所述请求,修改所述接入网中的至少一个设备;以及更新与所述至少一个设备相关联的一个或多个节点的节点描述,其中更新所述节点描述包括更新一个或多个链路字段。
18.一种用于网络管理的计算机实施方法,其特征在于,包括:提供接入网,所述接入网包括多个节点以及部分所述节点之间的多个链路,每个节点与至少一个设备相关联,所述接入网提供多个客户端设备与至少一个外部网络之间的连接;
控制器访问所述接入网的网络描述,所述网络描述包括所述多个节点中的每个节点的节点描述,其中每个节点的所述节点描述包括用来定义连接到所述节点的下游节点的子字段和用来定义所述节点与上游节点之间的距离的链路字段;以及响应于客户端请求,所述控制器生成所述接入网中的叶节点与根节点之间的源—目的路径,所述控制器用于访问至少所述叶节点和所述根节点的所述节点描述以基于所述叶节点和所述根节点的所述节点描述中的链路字段来确定连接链路。
19.根据权利要求18所述的计算机实施方法,其特征在于,还包括:在所述控制器处接收与所述接入网相关联的至少一个事件;
使用所述控制器基于所述请求来修改所述接入网中的至少一个设备;以及使用所述控制器更新与所述至少一个设备相关联的一个或多个节点的所述节点描述,其中更新所述节点描述包括更新一个或多个链路字段。
20.一种非瞬时性计算机可读介质,存储用于网络管理的计算机指令,其特征在于,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:访问多个节点和连接至少部分所述节点的多个链路的网络信息,每个节点与至少一个设备相关联;
生成接入网的网络描述,所述网络描述包括所述多个节点中的每个节点的节点描述,第一节点描述包括用来定义相对于第一节点的至少一个下游节点的至少一个子字段,所述第一节点描述包括指示所述第一节点与上游节点之间的距离的链路字段;以及输出所述网络描述以供至少一个控制器来管理所述接入网的控制面功能。
21.根据权利要求20所述的非瞬时性计算机可读介质,其特征在于,生成所述网络描述包括:
生成引用补充模型的至少一个附加字段。
22.根据权利要求20或21所述的非瞬时性计算机可读介质,其特征在于,所述一个或多个处理器执行以下步骤:
第一控制器基于所述网络描述来配置包括所述多个节点中的两个或更多节点的数据路径。
说明书 :
在SDN控制器中将接入网络建模为树的方法和系统
的全部内容以引入的方式并入本文本中。
背景技术
常没有的定制和优化功能。数据中心网络、企业网络和运营商网络等网络可以包括一个或
多个SDN。
以用于执行数据面功能,而控制面功能可以由SDN控制器提供。开放式应用编程接口
(application programming interface,API)服务,例如OpenFlow协议,可以管理数据面与
控制面之间的交互,而且能够实现网络内的网络节点和SDN控制器的非供应商特定组合。因
此,软件定义网络结合开放式API服务可以为现代网络带来许多好处,包括:增加网络虚拟
化、灵活控制和利用网络、根据具体需求定制网络。
设备,连接到网络中的其它节点,并且具有控制和管理能力。
发明内容
问接入网的网络信息,所述接入网具有包括多个节点和多个链路的树形拓扑,其中所述多
个节点中的每对相连节点包括单个连接链路,每个节点与至少一个设备相关联;基于树形
拓扑的节点模型,生成所述接入网的网络描述,所述网络描述包括针对第一节点的至少一
个子字段和一个链路字段,所述子字段定义相对于所述第一节点的任何下游节点,所述链
路字段定义所述第一节点与其连接到的上游节点之间的距离;以及存储所述网络描述以供
至少一个控制器访问,以管理所述接入网中的控制面功能。
到目的地路径,其中计算所述源到目的地路径包括基于所述网络描述中的一个或多个链路
字段来确定所述源到目的地路径中节点之间的链路信息。
中的一组节点。
接链路;以及响应于所述至少一个事件,操作所述第一中间节点和所述第一连接链路。
描述来配置包括所述多个节点中的两个或更多节点的数据路径。
对与所述至少一个设备相关联的一个或多个节点,更新所述网络描述,其中更新所述网络
描述包括更新一个或多个链路字段。
述接入网中的第一部分节点,所述第二控制器控制所述接入网中的第二部分节点。
设备与服务提供商之间的连接;处理器,耦合到所述软件定义接入网并用于生成所述软件
定义接入网中的第一节点的节点描述,所述节点描述定义相对于所述第一节点的至少一个
下游节点并指示所述第一节点与上游节点之间的距离;以及存储设备,用于接收和存储所
述第一节点的所述节点描述。
节点描述以执行包括所述第一节点在内的数据路径计算。
至少一个设备相关联的一个或多个节点的节点描述,其中更新所述节点描述包括更新一个
或多个链路字段。
个设备相关联,所述接入网提供多个客户端设备与至少一个外部网络之间的连接;控制器
访问所述接入网的网络描述,所述网络描述包括所述多个节点中的每个节点的节点描述,
其中每个节点的所述节点描述包括用来定义连接到所述节点的下游节点的子字段和用来
定义所述节点与上游节点之间的距离的链路字段;以及响应于客户端请求,所述控制器生
成所述接入网中的叶节点与根节点之间的源到目的地路径,所述控制器用于访问至少所述
叶节点和所述根节点的所述节点描述以基于所述叶节点和所述根节点的所述节点描述中
的链路字段来确定连接链路。
的至少一个设备;以及使用所述控制器更新与所述至少一个设备相关联的一个或多个节点
的所述节点描述,其中更新所述节点描述包括更新一个或多个链路字段。
行以下步骤:访问多个节点和连接至少部分所述节点的多个链路的网络信息,每个节点与
至少一个设备相关联;生成软件定义接入网的网络描述,所述网络描述包括所述多个节点
中的每个节点的节点描述,第一节点描述包括用来定义相对于第一节点的至少一个下游节
点的至少一个子字段,所述第一节点描述包括指示所述第一节点与上游节点之间的距离的
链路字段;以及输出所述网络描述以供至少一个控制器来管理所述软件定义网络的控制面
功能。
保护的主题的范围。所要求保护的主题不限于解决背景技术中所述的任意或所有缺点的实
施方式。
附图说明
具体实施方式
路。例如,软件定义接入网可以提供多个用户设备(例如客户端设备)与接入网和一个或多
个服务提供商或外部网络之间的连接。所公开技术包括将网络中的节点建模为树的网络模
型。在树形拓扑中,部分连接节点被建模为树的分支,该分支不存在将部分节点连接到树的
其它分支上节点的边缘。通过这种方式,树的分支可能不直接进行通信。这种树形结构准确
地描述了接入网等网络,比通用图形更容易描述。
的额外字段。本技术支持建模,而不是像传统技术中那样使用单独链路模型。此外,接入节
点的连接链路和中间节点显露出来并且能够被操作,而将接入网建模为简单交换机的技术
可能无法实现这一点。
点轮询,或读取预先存在的拓扑信息。生成SDN的软件定义描述等网络描述,网络描述包括
SDN中每个节点的节点描述。部分节点描述可以包括用于描述网络的物理拓扑的子字段和/
或链路字段。节点描述中的子字段定义了相对于节点模型中的建模节点的一个或多个下游
节点。链路字段指示建模节点与相对于建模节点的上游节点之间的距离。节点描述可以包
括用于定义相对于建模节点的一个或多个子节点的一个或多个子字段。节点模型可以包括
用于定义建模节点与上游节点之间的链路的一个或多个链路字段。
何类型的网络时,它们可能无法考虑特定网络的唯一性。例如,在建模接入网时通常没有考
虑接入网的树形拓扑。部分控制器或硬件抽象层可以将接入网建模为聚合上游用户流量并
分发下游用户流量的简单交换机。将接入网建模为具有一组输入端口和一组输出端口的交
换机可以简化建模。然而,这种模型隐藏了接入网内的中间节点以及接入网中节点之间的
连接链路。
间节点。例如,各应用能够操作连接链路,并且管理和控制接入网中的中间节点。此外,控制
器可以涵盖更广泛的接入网定义,可能一直延伸到终端用户设备,例如用户计算机或移动
设备(例如手机)。
得控制面中的处理速度更快。例如,两个节点之间的数据路径计算可能更快。在传统实施方
式中,从链路数据仓库中访问路径中的每个链路的链路描述,并且在节点数据仓库中搜索
每个链路的所有节点以确定数据路径。通过在节点描述中提供子字段和链路字段,仅访问
所涉及的节点的节点描述。根据节点描述确定连接链路。
的建模技术更有效,并且使用网络描述进行更快的网络操作。
可以描述包括来自任何供应商的设备的任何复杂接入网。
包括多个用户设备(user equipment,UE)56和一个网络52,例如回传网络。描述了两个UE,
但是可以存在更多UE。基站58中的通信控制器可以是能够通过尤其是与UE 56建立上行连
接(虚线)和/或下行连接(点线)来提供无线接入的任何组件。基站58可以包括增强型基站
(enhanced base station,eNB)、微微蜂窝基站、豪微微蜂窝基站和其它无线启用设备。UE
56可以是能够与移动电话、智能电话、平板电脑、传感器等BS 58建立无线连接的任何组件。
网络52可以是允许在BS 58与远程终端(未示出)之间交换数据的任何组件或组件的集合。
在一些实施例中,网络52可以包括各种其它无线设备,例如中继器、毫微微蜂窝基站等。
一个集中控制器40。SDN 110、控制面控制器120和集中控制器130通过光学方式、电气方式
或无线方式相互通信。虽然示出了控制器120与SDN 110分开,但是,例如,控制器120可以在
SDN 110中的其中一个节点112处实现。控制器120可以在其中一个节点112处的服务器或其
它计算设备中实现,或者在远离SDN 110的计算设备中实现。
制协议/互联网协议(Transmission Control Protocol/Internet Protocol,TCP/IP)的互
联网协议(Internet Protocol,IP)网络。SDN可以将数据面等数据转发能力与路由、资源和
先前在网络节点上执行的控制面等其它管理功能分离开来。将网络的控制面与数据面分离
使得网络控制器能够通过全局优化的流量工程和路由来有效地控制网络流量,而全局优化
的流量工程和路由与本地优化的最短路径优先不同。SDN还可以简化网络操作,或者甚至有
能力通过扩展的数据路由向量使网络扁平化。
ONOS) 和OpenDaylight(ODL)。控制器可以利用各种协议,包括netconf、OpenFlow或私有供
应商协议。在一些示例中,在供应商设备与SDN控制器之间提供硬件抽象层。Voltha是能够
提供的硬件抽象层的一个示例。在一些示例中,Openflow和/或Netconf协议可以用于在
VOLTHA 硬件抽象层与ONOS或ODL控制器之间进行通信。
户设备56与网络52之间的连接。
的路径,这些数据包可以沿着通过多协议交换(multiprotocol label switching,MPLS)或
通用MPLS (Generalized MPLS,GMPLS)等信令协议建立的流量工程标记交换路径进行路由
或交换。 SDN 20包括使用光学链路、电气链路或无线链路相互耦合的多个节点22。SDN 20
还可以包括多个域,例如自治系统(autonomous system,AS)域或IGP区域,每个域都可以包
括对应于同一地址管理和/或路径计算责任的一组网元。这些域通过物理机制(例如位置、
连接等) 和/或逻辑方法机制(例如网络拓扑、协议、通信层等)来组织。不同域相互耦合,每
个域都包括一些节点22。
数据包的多个入端口、确定将帧发往哪些节点22的逻辑电路、用于向其它节点22传输帧的
多个出端口。在一些实施例中,至少一些节点22是标记交换路由器(label switched
router, LSR),用于修改或更新在标记交换网络20中传输的多个数据包的标记。在一些实
施例中,一些节点22是标记边缘路由器(label edge router,LER)。例如,处于SDN 20边缘
的节点22 用于插入或移除在标记交换网络110与外部网络之间传输的多个数据包的标记。
沿着一条路径的第一节点22和最后一个节点22有时分别称为源节点或头端节点和目的节
点或尾端节点。虽然示出SDN 20中存在四个节点22,但是SDN 20可以包括任何数量的节点
22。另外,节点22可以位于SDN 20中的不同域内,并且可以用于跨多个域进行通信。例如,对
应于不同域的节点22可以沿着跨多个域建立起来的路径来交换多个数据包。
System, OSS)。具体地,控制面控制器30从SDN 30接收路由请求并返回对应的路径信息。控
制面控制器30可以执行路径计算并向至少一个节点22转发计算出的路径。控制面控制器30
可以位于SDN 30外部的组件中,例如位于外部服务器中,还可以位于SDN 110内部的组件
中,例如位于节点22处的服务器中。
部服务器等组件中,还可以位于SDN 20内部的节点22处服务器等组件中。在一个实施例中,
集中控制器执行本文描述的过程以生成网络配置。网络配置可以提供给一个或多个控制面
控制器30。
的任何设备或组件。PCE可以从控制面控制器30、节点22或两者接收用于计算路径的信息。
PCE 处理该信息以获取路径。例如,PCE计算路径并确定包括沿着该路径的LSR的节点22。然
后,PCE可以向控制面控制器30或直接向至少一个节点22发送所有或部分计算出的路径信
息。此外,PCE通常耦合到或包括流量工程数据库(traffic‑engineering database,TED)、
P2MP 路径数据库(P2MP Path database,PDB)、P2P路径数据库、光通道性能监测(optical
performance monitor,OPM)、物理层约束(physical layer constraint,PLC)信息数据库
或它们的组合,他们都可以用于计算路径。PCE可以位于SDN 20外部的组件中,例如位于外
部服务器中,还可以位于SDN 20内部的组件中,例如位于节点22处的组件中。PCE可以配置
为控制面控制器30的一部分。可替换地,PCE可以配置为集中控制器40的一部分。
或 LSR等任何节点22。例如,该请求设备可以在SDN 20的单个域内或跨多个域向PCE请求
P2MP路径或P2P路径。另外,该请求设备可以通过路径计算请求和/或通过链路状态公告
(link state advertisement,LSA)的广播信令等向PCE发送至少一些路径所需信息。
接收和/或转发数据的任何其它设备。控制路径由虚线表示,数据路径由实线表示。系统配
置、管理信息和路由/转发表信息通过控制路径在网络控制器130与网络节点122之间交换。
的网络节点122‑2接收、通过充当发射路由器(Transit Router,TR)的网络节点122‑1进行
路由,并且通过充当出边界路由器(Egress Border Router,EBR)的网络节点122‑3传递到
充当目的节点的末端节点124‑2。边界路由器是连接到SDN域外部的至少一个节点的SDN域
的边缘上的路由器,IBR是从SDN域外部接收流量的SDN边界路由器,EBR是在SDN域外部发送
流量的SDN边界路由器。TR是在SDN域内传输流量的SDN路由器并且没有接口连接到SDN域外
部。根据通过LSP传输的业务流,单个边界路由器可以用作IBR、EBR或两者。末端节点 124为
用于传输、接收、发起和/或终止数据的任何网元,或者在替换实施例中,为IP网络、 MPLS网
络等其它网络。在一些实施例中,网络控制器130为用于控制网络节点122和末端节点124的
通用网络控制器。网络控制器130为用于执行控制路径和/或控制面功能的任何设备,例如
创建网络地图和定义路由表中的信息,其中路由表定义如何路由传入数据包。网络控制器
130还用于执行控制面的管理和控制功能,包括路由和资源管理。网络节点122和末端节点
124包括根据某个标准通过网络100接收和传输数据的设备。网络节点122和末端节点124中
的至少一些节点和网络控制器130可以符合如在开放网络基金会(Open Networking
Foundation,ONF)文档OpenFlow交换机规范第1.3.4版、ONF文档Openflow控制器交换机
NDM同步第1.0版和ONF文档软件定义网络:网络新规范,ONF白皮书(统称为Openflow) 中定
义的某个标准。
式以抽象网络控制数据模型为基础,该模型提供各种标准格式的属性或特性的抽象。网络
控制器130 通过Openflow等各种应用编程接口(application programming interface,
API)协议与网络节点进行交互。控制器确定网络的全局网络拓扑。根据全局网络拓扑、状态
信息、动态业务流/ 量信息和其它网络状态信息,网络控制器确定如何分配资源和路由应
用、信息和/或流经网络的数据包。
示例中,接入网包括千兆比特无源光网络(Gigabit Passive Optical Network,GPON)子网
202、GPON+G.Fast(数字用户线协议标准)子网204和G.Fast网络206。GPON子网包括光线路
终端(optical line terminal,OLT)节点221‑1和两个光网络终端(optical network
terminal,ONT)节点222‑2和222‑3。GPON+G.Fast网络包括OLT节点222‑4、两个中间OLT+
FTU‑O 节点222‑5和222‑8以及三个FTU‑R节点222‑6、222‑7和222‑9。G.Fast网络包括FTU‑O
节点222‑10和两个FTU‑R节点222‑11。
使用多个控制器来提供高可用性。在图5中,控制器330‑1包括与节点322‑1、322‑2和322‑3
的控制链路。控制器330‑2包括与节点322‑7、322‑8和322‑9的控制链路。控制器330‑3包括
与节点322‑4、322‑5和322‑6的控制链路。
多个控制器,在发生故障时一个控制器能够接管另一个控制器,因此使用多个控制器可以
提高可用性。节点322‑1、322‑2和322‑3构成由控制器330‑1控制的节点集群。节点322‑7、
322‑8 和322‑9构成由控制器330‑2控制的节点集群。节点322‑4、322‑5和322‑6构成由控制
器330‑3 控制的节点集群。
控制器发生故障,则连接到该节点的另一控制器可以接管由发生故障的控制器控制的节点
的控制面功能。例如,为了响应指示控制器330‑1发生故障的事件,对节点322‑1、322‑2和
322‑3的控制可以转移到控制器330‑2。
共属性,即,树形拓扑拥有至少一个根节点,一个或多个下游节点的数据穿过该至少一个根
节点。
322‑2 和322‑3。树的第二分支包括下游节点322‑2和322‑6。树的第三分支包括下游节点
322‑5和 322‑9。树的第四分支包括下游节点322‑4和322‑7。树的第五分支包括下游节点
322‑4和322‑8。
根节点可以认为是树的基础,其中连接以类似树的方式扩展到其它节点,包括中间节点并
且在树的顶部以叶节点结束。同样地,接入网可以聚合来自根节点上的叶节点的用户流量。
根节点可以将叶节点连接到服务提供商。根节点可以连接到服务提供商的服务器或连接到
外部网络。
的通信必须经过中间节点。
制器具有典型建模的树形拓扑,例如如同在接入网络中一样,作为交换机。已经使用了具有
入端口和出端口的2层交换机模型。根据这种观点,接入网在分发下游流量的同时聚合上游
流量。这种观点使用简化数据结构来生成接入网的描述。虽然简单,但是这种类型的模型隐
藏或不显露接入网中的中间节点或连接链路。接入网中的中间节点和连接链路无法访问
和/或操作。
“augment /nd:networks/nd:network:”和节点模型“augment/nd:networks/nd:network/
nd:node:”。在模型的结构中,用括号括出列表键。符号“rw”是指配置数据,“ro”是指操作状
态数据,“?”表示可选节点。符号“+”表示换行符。
间的链路。节点描述可以存储在节点数据仓库中,链路描述可以存储在链路数据仓库中。
点字段包括链路上的目的节点的标识符“rw dest‑node”以及标识符“rw dest‑tp”。链路标
识符字段包括链路的标识符“link‑id”。支持链路字段包括标识链路所处网络的标识符“rw
network‑ref”以及标识参考链路的标识符“rw link‑ref”。
又低效。例如,控制器可以将节点存储信息和链路存储信息放入存储器中。这时,源到目的
地路线会变得复杂,复杂度为O(n^2)。
下,提供了一种更复杂的模型,其可能不能准确地反映许多网络的真实拓扑。
显露出来。在一个实施例中,树形拓扑标识接入网内的中间节点。这可以包括使包含ONU或
FTU 的节点显露出来,例如,这些节点通常隐藏在SDN描述中。此外,在描述中显露出边缘节
点与中间节点之间的或中间节点之间的连接链路。从数据结构的角度来看,建模树形结构
可以比许多建模体系中建模为图形简单。
形节点结构的网络中的节点进行建模。网络模型表明其增强了网络配置,从而标识网络和
节点“nd”。节点模型包括标识节点的终止点的标识符“tp‑id”和节点的支持终止点的标识
符tp‑ref,包括底层网络和节点。
使用一个节点数据仓库来完整地描述网络。具体而言,节点模型包括附加字段“children”
和“distance”。附加字段添加在模型的“termination‑point”部分中。“children”字段标识
节点 nd的直连节点,而不是节点nd的父节点。子字段包括标识节点nd的子节点的标识符
“node‑id”。标识符“node‑ref”可以标识建模节点。链路字段“distance”表示所选节点与其
父节点之间的距离(例如km)。虽然没有示出,但是链路字段可以可选地标识父节点。通过
“children”和“distance”字段,可以在时间复杂度O(n)下确定关于整个接入网的完整拓扑
信息,其中n是树中的总节点数。
总节点数。这与图形模型形成对比,在图形模型中,链路存储和节点存储必须放置在存储器
中,并用于通过复杂度为O(n^2)的复杂算法来计算源到目的地路线。
及其n–1个子设备的情况。使用图9中的网络模型,在节点数据仓库中更新n个节点,以将设
备添加到网络描述中。相比之下,在如图7所示的图形模型中,将在节点数据仓库中更新n
个节点,并在链路数据仓库中更新n个链路。图9提供的时间复杂度是图7提供的时间复杂度
的一半。
和/或链路描述。过程400可以在环境10、50、100、200和300等网络环境中执行。然而,过程
400并不限于在这些环境中执行。过程400可以在服务器或其它计算设备中实现,也可以通
过服务器或其它计算设备来实现,以生成网络描述并配置网络。过程400可以由SDN中的控
制面控制器30、集中控制器40或SDN控制器130、230或330等控制器来执行。例如,控制器可
以是专用控制器,也可以实现为网络管理系统。在一个实施例中,过程400可以由节点322
处的设备来执行。例如,在路由器等专用网络设备中,控制器可以实现为一个或多个电路。
可替代地,例如,该过程可以在处理器中实现为用于对过程进行编程的处理器可读代码。
过从网络节点接收一个或多个消息来访问。在另一个示例中,该信息可以通过轮询一个或
多个网络节点或者访问包含物理拓扑信息的一个或多个数据仓库来访问。物理拓扑信息描
述了SDN 内的基础设施和连接以及与任何外部网络的连接。在步骤402处,可以针对所选节
点访问网络信息。网络信息可以包括该节点的物理拓扑信息。该信息可以包括链路信息和
关于连接到所选节点的节点的信息。
扑定义可以基于使用来自建模的软件定义配置或使用手动配置的网络信息。可以使用流量
分布模式、站点配置和分组层保护和流量工程规则来生成网络描述。
父字段。步骤408是可选的。父字段包括所选节点的父节点的标识符。应注意,由于树的根节
点没有上游节点,因此对于该根节点,省略了步骤406和408。
字段包括子节点的标识符。该子字段可以包括附加信息,例如关于所选节点与子节点之间
的链路的信息。在一个实施例中,步骤412包括为与所选节点之间有直连链路的每个下游节
点创建子字段。
完树形结构中的所有节点。在描述完树形结构中的每个节点之后,过程可以从接入网中的
另一个根节点开始重复。在一个实施例中,为接入网中的每个网络节点生成节点描述。在另
一个实施例中,为SDN中的部分节点生成节点描述。在描述完所有节点之后,在步骤414处,
服务器输出网络配置,包括每个节点的描述。网络描述可以通过任何合适的格式输出。例
如,网络描述可以包括表格、原理图、图表、平面文件、网络配置文件以及它们的组合。例如,
网络描述文件可以由多个控制器用来配置软件定义网络。配置网络可以包括建立和配置穿
过光网络、分组网络和/或任何其它合适网络的数据流路径。
接入网包括多个网络节点522,这些网络节点构成三个网络树形结构。控制器与网络节点
522之间的控制链路未示出。
节点描述包括用于标识相对于建模节点的一个或多个下游节点的一个或多个子字段554以
及用于标识相对于建模节点的上游节点的链路字段556。
terminal,ONT)。
OLU)和快速传输单元(FTU‑O)。中间节点522‑5连接到下游节点522‑6和522‑7。中间节点
522‑8连接到下游节点522‑9。节点522‑6、522‑7和522‑9可以各自包括一个FTU‑R。
间节点中的每一个。此外,各种应可以基于所描述的包括节点字段和链路字段的网络描述
来访问链路和节点以进行操作等。在一个实施例中,节点522‑5和522‑8是与接入网的内部
通信相关联的中间节点。在一个示例中,其余节点是与载波终端或用户设备相关联的根节
点和叶节点。
环境中执行。然而,过程600并不限于在这些环境中执行。在一个实施例中,过程600可以在
服务器或其它计算设备中实现,也可以通过服务器或其它计算设备来实现,以修改设备并
更新节点模型。过程500可以由SDN中的控制面控制器30、集中控制器40或SDN控制器130、
230或330等控制器来执行。例如,控制器可以是专用控制器,也可以实现为网络管理系统。
在一个实施例中,过程500可以由节点322处的设备来执行。例如,在路由器等专用网络设备
中,控制器可以实现为一个或多个电路。可替代地,例如,该过程可以在处理器中实现为用
于对过程进行编程的处理器可读代码。
设备。网络事件可以是接收到的指示接入网的变更或状态的消息或信息。网络事件可以指
示当前带宽使用情况或可用性、设备状态(例如,交换机或路由器启动或关闭)或者任何其
它与网络有关的信息。事件还可以包括客户端对路径计算的请求或网络组件对路径计算的
请求。
改设备:使用所连接的设备来生成数据路径,并分配该设备的资源来创建路径。可以基于网
络描述来配置包括SDN中两个或更多节点的数据路径。该数据路径可以包括响应于用户请
求而在叶节点与根节点之间生成的源到目的地路径。例如,可以生成路径以通过接入网在
客户端设备与服务提供商之间创建连接。
相关联的那部分资源的变更。在一个实施例中,步骤608可以作为步骤606的一部分执行。
变更或指示父节点已发生变更。在一个实施例中,步骤610可以作为步骤606的一部分执行。
据流路径。
和链路字段。另外,图12的节点模型还包括补充模型字段,标识进一步描述节点的补充模
型。在一个实施例中,补充模型字段标识与部署在节点处的设备的类型相对应的yang模型。
模型字段可以包括指向补充模型的指针,补充模型可以相对于建模节点存储在本地或远
端。
以包括SDN控制器。服务器可以可替代地包括用于配置SDN的专用控制器或外部控制器。服
务器还可以包括客户端设备或另一网络设备,如上所述进行配置。在某些实施例中,可以基
于服务器730执行过程400和600。各单元可以在单个服务器上实现,也可以分布在多个服务
器上。
至少部分节点的多个链路的信息的一个示例性构件。
息。如先前所述,网络描述可以包括文件格式的网络描述。配置单元204还可以用于基于控
制器接收的事件来修改SDN中的设备。
以生成包括一个或多个子字段的节点描述,这些子字段定义相对于被建模的节点的一个或
多个下游节点。节点描述还可以包括指示与上游父节点的距离的链路字段。可选地,节点建
模单元706可以生成标识相对于建模节点的父节点的父字段。在一个实施例中,建模单元用
于将节点描述添加到SDN的网络描述中。在一个实施例中,节点建模单元706实现为网络配
置单元 704的一部分。节点建模单元706可以响应于从SDN或从SDN外部(例如,从客户端设
备) 接收到的事件而更新节点描述。
字段可以指向特定设备类型的模型。
以将网络描述文件直接输出到一个或多个控制器。在一个示例中,第一控制器包括网络配
置单元704和输出单元708,并将网络配置输出到第二控制器。在另一个示例中,中央控制器
包括输出单元,并将网络配置输出到第一控制器和第二控制器。
失性存储器来维护节点数据仓库710中的网络描述。数据仓库710可以在一个或多个物理设
备中实现。数据仓库710可以存储在一个或多个网络节点处,和/或由控制器存储,控制器包
括中央控制器、主控制器或从控制器。
器、交换机、路由器、网桥、服务器、客户端、控制器等)。例如,网元800可以用于实现用户设
备 56,基站58,控制器30、40、130、230、330、530,服务器730以及节点22、122、124、 222、322
和522。网元800可以用于实现本文描述的其它设备。
以是发射器、接收器或其组合。收发器单元822可以经由端口810传输和接收数据。处理器
820用于处理数据。存储器840用于存储用于实施本文描述的各实施例的数据和指令。在一
个实施例中,存储器840实现服务器730和此处描述的各种单元。
信号。
现场可编程门阵列(field‑programmable gate array,FPGA)、专用集成电路(application
specific integrated circuit,ASIC)和数字信号处理器(digital signal processor,
DSP)。处理器820与端口810、收发器单元822和存储器840通信。
和数据。存储器840可以是易失性的或非易失性的,可以是只读存储器(read‑only memory,
ROM)、随机存取存储器(random‑access memory,RAM)、三重内容寻址存储器(ternary
content‑addressable memory,TCAM)和静态随机存取存储器(static random‑access
memory, SRAM)。在一个实施例中,存储器840用于实现控制器830和/或网络描述850。在一
个实施例中,控制器830可以包括程序指令,或能够由处理器820执行的例程。类似地,在一
个实施例中,信息单元702、配置单元704、建模单元706和输出单元708包括能够由处理器
820 执行的编程程序、指令或例程。各单元可以由处理器820实现,以执行用于访问网络信
息以及基于网络信息来生成网络配置的指令。包含服务器730或此处描述的任一单元改进
了网元 800的功能。这些单元将网元800转变到另一状态。
设备之间的集成程度可能不同。此外,设备可以包括组件的多个实例,例如多个处理单元、
处理器、存储器、发射器和接收器等。
(central processing unit,CPU)1310、存储器1320、大容量存储设备1330,以及I/O接口
1360。该总线可以为任何类型的若干总线架构中的一个或多个,包括存储器总线或者存储
器控制器、外设总线,等等。处理单元1301可以用于实现本文描述的任何计算设备,例如服
务器、控制器和/或客户端设备。
以包括任何类型的系统存储器,例如静态随机存取存储器(static random access
memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步DRAM
(synchronous DRAM,SDRAM)、只读存储器(read‑only memory,ROM)或其组合,等等。在一个
实施例中,存储器1320可以包括在开机时使用的ROM以及在执行程序时使用的存储程序和
数据的DRAM。在实施例中,存储器1320是非瞬时性的。大容量存储设备1330可以包括任何类
型的存储设备,其用于存储数据、程序和其它信息,并使这些数据、程序和其它信息可通过
总线访问。大容量存储设备1330可以包括如下项中的一种或多种:固态硬盘、硬盘驱动器、
磁盘驱动器、光盘驱动器,等等。
处理单元1301通过网络1380与远程单元通信。例如,网络接口1350可以通过一个或多个发
射器 /发射天线以及一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理单
元1301 耦合到局域网或广域网以用于处理数据以及与远程设备进行通信,所述远程设备
包括其它处理单元、互联网、远程存储设施等。在一个实施例中,网络接口1350可以用于在
SDN中接收和/或传输事件、消息、数据、路由信息等。在本文中,术语“网络接口”将理解为包
括端口。
配置、网络平台和操作系统。
网络信息,所述接入网具有包括多个节点和多个链路的树形拓扑,其中所述多个节点中的
每对相连节点包括单个连接链路,每个节点与至少一个设备相关联;基于树形拓扑的节点
模型,生成所述接入网的网络描述,所述网络描述包括针对第一节点的至少一个子字段和
一个链路字段,所述子字段定义相对于所述第一节点的任何下游节点,所述链路字段定义
所述第一节点与其连接到的上游节点之间的距离;以及存储所述网络描述以供至少一个控
制器访问,以管理所述接入网中的控制面功能。
间的源到目的地路径,其中计算所述源到目的地路径包括基于所述网络描述中的一个或多
个链路字段来确定所述源到目的地路径中节点之间的链路信息。
提供给所述源到目的地路径中的一组节点。
标识第一中间节点和第一连接链路;以及响应于所述至少一个事件,操作所述第一中间节
点和所述第一连接链路。
第一控制器基于所述网络描述来配置包括所述多个节点中的两个或更多节点的数据路径。
对应的设备模型。
网中的至少一个设备;以及针对与所述至少一个设备相关联的一个或多个节点,更新所述
网络描述,其中更新所述网络描述包括更新一个或多个链路字段。
控制器,所述第一控制器控制所述接入网中的第一部分节点,所述第二控制器控制所述接
入网中的第二部分节点。
服务提供商之间的连接;处理器,耦合到所述软件定义接入网并用于生成所述软件定义接
入网中的第一节点的节点描述,所述节点描述定义相对于所述第一节点的至少一个下游节
点并指示所述第一节点与上游节点之间的距离;以及存储设备,用于接收和存储所述第一
节点的所述节点描述。
述节点描述以执行包括所述第一节点在内的数据路径计算。
的至少一个设备;以及更新与所述至少一个设备相关联的一个或多个节点的节点描述,其
中更新所述节点描述包括更新一个或多个链路字段。
备相关联,所述接入网提供多个客户端设备与至少一个外部网络之间的连接;控制器访问
所述接入网的网络描述,所述网络描述包括所述多个节点中的每个节点的节点描述,其中
每个节点的所述节点描述包括用于定义连接到所述节点的下游节点的子字段和用来定义
所述节点与上游节点之间的距离的链路字段;以及响应于客户端请求,所述控制器生成所
述接入网中的叶节点与根节点之间的源到目的地路径,所述控制器用于访问至少所述叶节
点和所述根节点的所述节点描述以基于所述叶节点和所述根节点的所述节点描述中的链
路字段来确定连接链路。
中的至少一个设备;以及使用所述控制器更新与所述至少一个设备相关联的一个或多个节
点的所述节点描述,其中更新所述节点描述包括更新一个或多个链路字段。
步骤:访问多个节点和连接至少部分所述节点的多个链路的网络信息,每个节点与至少一
个设备相关联;生成软件定义接入网的网络描述,所述网络描述包括所述多个节点中的每
个节点的节点描述,第一节点描述包括用来定义相对于第一节点的至少一个下游节点的至
少一个子字段,所述第一节点描述包括指示所述第一节点与上游节点之间的距离的链路字
段;以及输出所述网络描述以供至少一个控制器来管理所述软件定义网络的控制面功能。
的数据路径。
以对处理器中的一个或多个进行编程,从而执行本文描述的功能。处理器可读存储设备可
以包括计算机可读介质,例如易失性和非易失性介质、可移动和不可移动介质。例如而非限
制,计算机可读介质可以包括计算机可读存储介质和通信介质。计算机可读存储介质是非
瞬时性的,可以在任何用于存储计算机可读指令、数据结构、程序模块或其它数据等信息的
方法或技术中实现。计算机可读存储介质的示例包括RAM、ROM、EEPROM、闪存或其它存储技
术、 CD‑ROM、数字多功能光盘(digital versatile disk,DVD)或其它光盘存储器、盒式磁
带、磁带、磁盘存储器或其它磁存储设备,或可以用来存储所需信息并且可以由计算机访问
的任何其它介质。通信媒体通常体现计算机可读指令、数据结构、程序模块或例如载波或其
它输送机构的调制后数据信号中的其它数据,且包含任何信息传送媒体。“调制数据信号”
这一术语是指这样一种信号:信号的一个或多个特性通过对该信号中的信息进行编码的方
式来设置或更改。例如而非限制,通信介质包括有线介质,例如有线网络或直接有线连接,
还包括无线介质,例如RF和其它无线介质。任何上述介质的组合也包括在计算机可读介质
的范围内。
络设备中并且随该路由器、客户端或其它网络设备一同出售。可替代地,可以获取软件并将
其加载到设备中,包括通过磁盘介质或者以网络或分配系统的任何方式获取软件,例如,包
括从软件开发者所有的服务器或从非软件开发者所有但为其所用的服务器获取软件。例
如,软件可以存储在服务器上,以便通过互联网分发。
在存储设备上的)软件来对一个或多个处理器进行编程。该一个或多个处理器可以与一个
或多个计算机可读介质/存储设备、外围设备和/或通信接口进行通信。在替代性实施例中,
可以将部分或所有软件替换为专用硬件,包括自定义集成电路、门阵列、FPGA、PLD和专用计
算机。在实施例中,“单元”这一术语可以包括电路(或集成电路)或软件组件。
实施例的目的是为了更好地解释所公开技术的原理及其实际应用,因而使本领域技术人员
能够更好利用各个实施例的技术和适合预期特定用途的各种变更。本发明的范围由所附权
利要求书限定。
为包含在所附权利要求书中。在权利要求书中,“包括”这一词语不排除其它元素或步骤,量
词“一个”不排除多个。单个处理器或其它单元可满足权利要求中描述的几项的功能。在仅
凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施
的结合不能被有效地使用。计算机程序可以存储或分发到合适的介质上,例如,与其它硬件
一起或者作为其它硬件的一部分提供的光存储介质或者固态介质,还可以以其它形式分
发,例如,通过互联网或者其它有线或无线电信系统分发。