CN106063203B - 软件定义网络(sdn)特定拓扑信息发现 - Google Patents
软件定义网络(sdn)特定拓扑信息发现 Download PDFInfo
- Publication number
- CN106063203B CN106063203B CN201580011024.XA CN201580011024A CN106063203B CN 106063203 B CN106063203 B CN 106063203B CN 201580011024 A CN201580011024 A CN 201580011024A CN 106063203 B CN106063203 B CN 106063203B
- Authority
- CN
- China
- Prior art keywords
- sdn
- sdnc
- domain
- topology information
- tlv
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/46—Cluster building
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
Abstract
本发明公开的是一种在SDN互联网络中发现SDN特定拓扑信息的机制。SDN特定拓扑信息可以包括SDN ID、SDN成员路由器ID列表和SDN地址列表。与所述SDN互联网络中的本地SDN域关联的SDNC可以确定所述本地SDN域中的一组路由器和/或链路以进行链路公告以及可以将所述一组路由器与所述本地SDN域关联。所述SDNC还可以确定所述本地SDN域中的一组边界路由器以向其它互联SDN域广播所述链路公告和SDN特定拓扑信息。所述SDNC可以从其它互联SDN域接收链路公告和SDN特定拓扑信息以及可以计算跨过所述SDN域经过每个路由器和/或链路的最佳路径。
Description
相关申请案交叉申请
本申请要求2014年2月26日由Lin Han递交的发明名称为“软件定义网络(SDN)特定拓扑信息发现(Software Defined Networking(SDN) Specific Topology InformationDiscovery)”的第14/191,121号美国非临时专利申请案的在先申请优先权,该在先申请的全部内容以引入的方式并入本文本中。
技术领域
本发明大体涉及软件定义网络(software defined networking,SDN),且在特定实施例中,涉及用于SDN特定拓扑信息发现的技术和机制。
背景技术
传统计算机网络可以由诸如路由器、交换机和/或其它硬件之类的大量网络设备构建,这需要手动配置和管理。软件定义网络(software defined networking,SDN)是一种网络样式,在其中数据转发(例如,数据平面)可以与诸如路由、资源和其它管理功能之类的控制决策(例如,控制平面)解耦。所述解耦还可以允许数据平面和控制平面在不同的硬件上、在不同运行环境中操作,和/或使用不同模型操作。在SDN网络中,网络智能可以逻辑上集中在基于软件的控制器中。因此,网络设备会成为由集中式控制器管理和控制的报文转发设备。
发明内容
本文中公开了一种SDN特定拓扑信息发现机制。在一项示例实施例中,SDN互联网络中与本地SDN域关联的软件定义网络控制器(software defined networkingcontroller,SDNC)可以与其它互联SDN域交换SDN 特定拓扑信息。在本示例实施例中,所述SDNC可以确定第一组本地网络设备、本地链路,和/或本地SDN特定拓扑信息,用于向所述SDN互联网络中的远程SDN域进行公告。所述本地SDNC特定拓扑信息可以包括标识所述本地SDN域的SDN标识符(identifier,ID)、标识所述本地SDN 域中的所述一组本地设备的SDN成员路由器ID列表,以及标识所述本地 SDN域中的一组SDNC的SDNC地址列表。所述SDNC还可以确定置于所述本地SDN域边界处的第二组网络设备,用于与所述互联SDN域进行通信。当所述SDNC接收所述互联SDN域的SDN特定拓扑信息时,所述 SDNC可以根据所述接收到的SDN特定拓扑信息和所述本地SDN特定拓扑信息确定所述SDN互联网络中的报文传送路由。
在另一项示例实施例中,与所述本地SDN域关联的SDNC可以指示 SDN互联网络中置于本地SDN域边界处的网络设备与其它互联SDN域通信。在本示例实施例中,所述网络设备可以通过控制器设备接口从所述 SDNC接收所述本地SDN域的SDN特定拓扑信息。在接收所述本地SDN 特定拓扑信息后,所述网络设备可以通过域间连接向互联SDN域公告所述本地SDN特定拓扑信息。
在另一项示例实施例中,可以扩展中间系统到中间系统(Intermediate System-to-Intermediate-System,IS-IS)协议来支持用于域间路由的SDN 特定拓扑信息交换。在本示例实施例中,可以扩展所述IS-IS链路状态报文(link state packet,LSP)来承载SDN特定拓扑信息,例如SDN ID、 SDN成员路由器ID列表,和/或SDNC地址列表。
在又一项示例实施例中,可以扩展开放式最短路径优先(Open Shortest PathFirst,OSPF)协议来支持用于域间路由的SDN特定拓扑信息交换。在本示例实施例中,可以扩展OSPF版本2(version 2,v2)不透明链路状态公告(link state advertisement,LSA)或OSPF版本3(version 3,v3) 新LSA来承载SDN特定拓扑信息,例如SDN ID、SDN成员路由器ID列表,和/或SDNC地址列表。
结合附图和权利要求书可以从以下的详细描述中更清楚地理解这些和其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1为SDN互联网络的示例实施例的示意图。
图2为网元(network element,NE)的示例实施例的示意图。
图3为在SDN互联网络中生成SDN特定拓扑信息的方法的示例实施例的流程图。
图4为在SDN互联网络中交换SDN特定拓扑信息的方法的示例实施例的流程图。
图5为图示用例场景的SDN互联网络的另一示例实施例的示意图。
图6为图示路径建立场景的SDN互联网络的另一示例实施例的示意图。
图7为在图6的SDN互联网络中建立路径的方法的示例实施例的协议图。
图8为在图6的SDN互联网络中建立路径的方法的另一示例实施例的协议图。
图9为IS-IS LSP中的SDN ID类型长度值(type-length-value,TLV) 的示例实施例的示意图。
图10为IS-IS LSP中的SDN成员路由器ID TLV的示例实施例的示意图。
图11为IS-IS LSP中的SDN互联网协议版本4(Internet Protocol version 4,IPv4)地址列表TLV的示例实施例的示意图。
图12为IS-IS LSP中的SDN互联网协议版本6(Internet Protocol version 6,IPv6)地址列表TLV的示例实施例的示意图。
图13为OSPF v2不透明LSA的示例实施例的示意图。
图 14为OSPF v2不透明LSA中的SDN ID子类型长度值 (sub-type-length-value,sub-TLV)的示例实施例的示意图。
图15为OSPF v2不透明LSA中的SDN成员路由器ID子TLV的示例实施例的示意图。
图16为OSPF v2不透明LSA中的SDN IPv4地址列表子TLV的示例实施例的示意图。
图17为OSPF v2不透明LSA中的SDN IPv6地址列表子TLV的示例实施例的示意图。
图18为OSPF v3新LSA的示例实施例的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
在某些网络中,路由器和交换机可以通过定义网络中的数据流的方式放置和配置。由于物理位置和/或硬件可能需要手动配置,所以后续更改路由器和/或交换机的代价会很高。SDN是一种网络样式,在其中可以解耦数据流管理(例如,控制平面)和数据传送(例如,数据平面),这可以通过动态管理和控制创建灵活网络。在一种SDN网络中,网络设备(例如,路由器和/或交换机)可以由一个或多个SDNC控制和管理。SDNC 可以做出路由决策,然后向网络设备传送路由决策。例如,SDNC可以基于某些网络拓扑信息计算报文从一个节点路由到另一个节点的最佳路径,然后下载路由表、交换表或流表到最佳路径上的所有网络设备。随后,网络设备可以根据从SDNC接收到的路由表执行数据转发功能。SDNC还可以动态修改SDN网络的行为以适应网络中的变化(例如,基础设施变化、新应用和/或业务部署,和/或企业需求变更)。当多个SDN域互联时,不同SDN域中的SDNC可以一起互通(例如,以执行跨不同SDN域的域间路由)。除传统网络信息之外,SDN特定拓扑信息可以用于SDN域间路由。可以收集域间SDN特定拓扑信息并手动输入到每个SDNC。然而,手动配置SDN特定拓扑信息可能不支持SDN互联网络中的自动网络发现,而且可能不会动态适应网络变化。
本文中公开的是发现穿过多个互联SDN域的SDN特定拓扑信息的方法、装置和/或计算机程序产品。SDN特定拓扑信息可以包括SDN ID、SDN 成员路由器ID列表和SDNC地址列表。集中式管理实体,例如SDNC或 SDNC组(group of SDNC,SDNCG),可以确定用于域间公告的SDN特定拓扑信息,指示边界路由器广播SDN特定拓扑信息,从其它SDN域接收SDN特定拓扑信息,以及计算通过SDN域的路由。SDNC可以确定只向其它互联SDN域公告边界路由器和/或链路、选定的路由器和/或链路组,或者所有内部路由器和/或链路。SDNC可以确定向其它互联SDN域公告部分或所有SDNC。SDNC可以执行基于节点的路由或基于SDN域的路由。在基于节点的路由中,SDNC可以向其它SDN域公告SDNC管理的SDN 域中的所有路由器和链路,其它SDN域中的SDNC随后可计算经过公告的SDN域的每个节点和链路的最佳路径。在基于SDN域的路由中,SDNC 可以向其它SDN域公告SDNC管理的SDN域的边界路由器和链路,其它 SDN域中的SDNC在采用IS-IS和/或OSPF协议中的最短路径优先 (shortest path first,SPF)算法时可以,例如通过将公告的SDN域当作单个虚拟节点,计算穿过公告的SDN域的最佳路径。SDN特定拓扑信息的传送可以利用各种可用的路由协议,例如内部网关协议(InteriorGateway Protocol,IGP)、链路层发现协议(Link Layer Discovery Protocol,LLDP) 或任何其它邻居发现协议。在某些示例实施例中,SDN特定拓扑信息可以通过扩展IS-IS协议、OSPF v2协议或OSPF v3协议来传送,如互联网工程任务组(Internet Engineering TaskForce,IEFT)文档请求注解(Request for Comment,RFC)1142、RFC 2328或RFC 5340中分别所述,其全部内容以引入的方式并入本文本中。
图1为SDN互联网络100的示例实施例的示意图。网络100可以包括多个SDN域A、B和C 110。一个或多个连接130可以互联网络100中的SDN域110,其中连接130可以被称为域间连接。每个SDN域110可以是单个SDN域。每个SDN域110可以包括SDNC 120或SDNCG和多个互联网络设备140。图1示出的连接130和/或其它链路可以包括物理连接,例如光纤链路、电链路、无线链路,和/或逻辑连接。连接130可以包括单条链路、一连串并行链路、多个互联节点,和/或它们的各种组合,用于在SDN域110之间传输数据。
SDNC 120可以是用于控制和管理SDN域110的任何设备。每个SDNC 120可以物理上和/或逻辑上位于SDN域110内。例如,SDNC A 120可以用于管理和控制SDN域A 110,SDNC B120可以用于管理和控制SDN域 B 110,SDN C 120可以用于管理和控制SDN域C 110。SDNC120可以执行多种控制平面功能,这些功能可以包括但不限于,生成和获取路由信息、网络拓扑,和/或网络状态信息。例如,SDNC A 120可以生成和公告SDN 域A 110的SDN特定拓扑信息,SDNC B 120可以生成和公告SDN域B 110 的SDN特定拓扑信息,SDNC C 120可以生成和公告SDN域C 110的SDN 特定拓扑信息。相应地,SDNC A 120、SDNC B 120和SDNC C 120分别可以接收SDN域B和C 110的SDN特定拓扑信息、SDN域A和C 110 的SDN特定拓扑信息,和SDN域A和B 110的SDN特定拓扑信息。在接收其它互联SDN域110的SDN特定拓扑信息后,每个SDNC 120可以构建一个全局拓扑图,计算报文从一个节点传送到另一个节点的最佳路径或路由,以及生成包括优化路径的路由表和/或流表。每个SDNC 120可以配置SDNC 120管理的SDN域110中的网络设备140,例如通过向网络设备140传输流表。每个SDNC 120可以通过控制器设备接口150(例如,表示为虚线)与网络设备140通信,这可以采用任何标准化协议(例如, OpenFlow协议)。应当注意的是,在公告SDN特定拓扑信息之前,每个 SDNC 120可以公告IGP中已经定义的传统链路状态信息。
网络设备140可以是任意物理设备(例如,路由器或交换机)或逻辑设备,用于根据SDN域110中的SDNC 120指定的SDN路由执行数据转发功能。网络设备140可以不执行控制平面功能(例如,确定路由)。网络设备140可以基于从SDNC 120接收到的流表路由数据流。
SDN域110可以采用任何IGP(例如,链路状态路由协议)聚集和/ 或收集网络100中的域间网络拓扑信息。在一示例实施例中,SDN域110 可以采用IS-IS协议以路由经过网络100的数据业务。IS-IS协议可以设计用于在开放系统互联(Open SystemInterconnection,OSI)网络层(例如, OSI层3)中操作,因此可以利用任何网络地址(例如,IPv4和/或IPv6 地址)执行路由。在另一示例实施例中,SDN域110可以采用OSPF v2 或OSPFv3协议来路由网络100中的数据业务。OSPF v2协议可以设计在层3中操作并路由IPv4数据业务,而OSPF v3协议可以扩展来路由IPv6 数据业务。
在某些示例实施例中,网络100中的每个域110可以运行相同或不同的路由协议用于(例如,SDN域110内的)域内路由,或者可以不运行任何域内路由协议(例如,SDNC手动配置所有网络设备)。此外,SDN域 110可以运行一个路由协议用于域内路由,在外边运行另一路由协议用户 (例如,跨SDN域110的)域间路由。例如,SDN域A和B 110可以运行IS-IS协议用于域内路由,SDN域C 110可以运行OSPF v2协议用于域内路由,SDN域A、B和C 110可以运行OSPF v2协议用于域间路由。
图2为NE 200的示例实施例的示意图,该NE可以充当SDN域(例如,SDN域110)中的SDNC(例如,SDNC 120)或网络设备(例如,网络设备140)。NE 200可以用于确定对其它互联SDN域可见的SDN域中的路由和/或链路,生成SDN特定拓扑信息,和/或向互联SDN域公告SDN特定拓扑信息。NE 200可以在单个节点中实现,或者NE 200的功能可以在多个节点中实现。本领域技术人员将认识到术语NE包含广泛的设备,其中NE 200仅仅是一个示例。包括NE200是为了论述的简洁性,但绝不意味着将本发明的申请限制于特定NE实施例或一类NE实施例。本发明中描述的至少一些特征/方法可以在诸如NE 200之类的网络装置或部件中实现。例如,本发明中的特征/方法可以使用硬件、固件和/或安装在硬件上运行的软件来实现。如图2所示,NE 200可以包括收发器(Tx/Rx)210,其可以是发射器、接收器,或其组合。分别地,Tx/Rx 210可以耦合到多个下行端口220,用于传输和/或接收来自其它节点的帧,Tx/Rx 210可以耦合到多个上行端口250,用于传输和/或接收来自其它节点的帧。处理器 230可耦合到Tx/Rx 210以处理帧和/或确定向哪些节点发送帧。处理器230 可以包括一个或多个多核处理器和/或存储器设备232,其可用作数据存储器、缓冲器等。处理器230可以作为通用处理器来实现或可以是一个或多个专用集成电路(ASIC)和/或数字信号处理器(DSP)的一部分。处理器230可以包括SDN特定拓扑信息处理模块233,其可以实现如下充分论述的SDN特定拓扑信息生成方法300和/或SDN特定拓扑信息交换方法 400。在一替代性实施例中,SDN特定拓扑信息处理模块233可以作为存储在存储器设备232中由处理器230执行的指令来实现。存储器设备232 可以包括临时存储内容的缓存,例如随机存取存储器(RAM)。另外,存储器设备232可以包括将内容存储相对较长时间的长期存储器,例如只读存储器(ROM)。例如,缓存和长期存储器可以包括动态随机存取存储器 (DRAM)、固态驱动器(SSD)、硬盘,或其组合。
应理解,通过将可执行指令编程和/或加载到NE 200上,处理器230 和/或存储器设备232中的至少一个被改变,从而将NE 200的一部分转换成特定机器或装置,例如本发明宣扬的拥有新颖功能的多核转发架构。加载可执行软件至计算机所实现的功能可以通过现有技术中公知的设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实现一个概念通常取决于对设计稳定性及待生产的单元数量的考虑而不是从软件领域转换至硬件领域中所涉及的任何问题。通常,仍然受到频繁改变的设计优先在在软件中实施,因为重新编写硬件实施方式比重新编写软件设计更为昂贵。通常,稳定及大规模生产的设计更适于在ASIC这样的软件中实施,因为运行硬件实施的大规模生产比软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过众所周知设计规则转变成ASIC中等同的硬件实施,该ASIC硬线软件指令。由新的ASIC控制的机器是一种特定的机器或装置,同样地,编程和/或加载有可执行指令的电脑可视为特定的机器或装置。
当多个SDN域(例如,SDN域110)在SDN互联网络(例如,网络 100)中互联时,可以采用IGP泛洪在互联SDN域之间交换SDN特定拓扑信息。例如,第一SDNC(例如,SDNC 120)可以生成包括SDNC管理的SDN域的SDN特定拓扑信息的链路状态消息,通过每个互联SDN 域泛洪该消息。之后,第二SDNC(例如,SDNC 120)可以接收泛洪的链路状态消息,并且基于在泛洪的链路状态消息中接收到的路由信息更新路由表。接着,第二SDNC可以通过除接收链路状态消息的SDN域以外的每个互联SDN域泛洪链路状态消息。可以在每个SDN域内重复泛洪过程,直到每个互联SDN域接收到链路状态消息。每个SDNC可以向其它SDNC 直接泛洪拓扑消息。替代性地,SDNC可以使得关联网络设备140向其它网络设备140泛洪域之间的拓扑信息,以向关联SDNC进行传输。为了区分从一个SDN域广播到另一SDN域的网络拓扑信息,可以引入SDN ID 来唯一地标识SDN管理区域中的SDN域。除了SDN ID,还可以引入SDN 成员路由器ID列表和SDNC地址列表来分别标识属于SDN域的路由器和 SDNC。每个SDNC可以拥有多个地址,可以包括IPv4地址和/或IPv6地址。在一示例实施例中,SDN ID、SDN成员路由器ID列表和SDNC地址列表可以通过扩展IS-IS协议、OSPF v2协议和/或OSPF v3协议传送。例如,可以扩展IS-IS协议、OSPF v2协议和/或OSPF v3协议来分别承载IS-IS LSP、OSPFv2不透明LSA和/或OSPFv3LSA中的SDN特定拓扑信息,这些可在下文充分论述。
图3为在SDN互联网络(例如,网络100)中生成SDN特定拓扑信息的方法300的示例实施例的流程图,该方法可以在SDNC(例如,SDNC 120)和/或提供SDNC功能的NE(例如,NE200)中执行。方法300可以在SDN域(例如,SDN域110)启动时和/或在提供SDNC功能的设备上电时开始。在步骤305处,方法300可以从SDN互联网络的网络管理员接收SDN ID,其中SDNID可以是SDN互联网络中的唯一ID。在步骤 310处,方法300可以确定SDN域中向其它互联SDN域外部公告的路由器和/或链路。应当注意的是,一些路由器和/或链路可以对SDN互联网络中的其它SDN域隐藏。在步骤320处,方法300可以生成包括在步骤310 中确定的路由器ID的SDN成员路由器ID列表。在步骤330处,方法300 可以确定SDN域中向互联SDN域外部公告的SDNC。在步骤340处,方法300可以生成包括在步骤330中确定的SDNC地址的SDNC地址列表。在步骤350处,方法300可以生成链路状态消息,包括标识SDN域的SDN ID、在步骤320中生成的SDN成员路由器ID列表,以及在步骤340中生成的SDNC地址列表。在步骤360处,方法300可以(例如,从在步骤 310中确定的置于SDN域边界处的路由器中)选择边界路由器,以向互联 SDN域发送链路状态消息。在步骤370处,方法300可以向在步骤360 中选定的边界路由器发送链路状态消息,边界路由器然后向属于其它SDN 域的其它互联路由器泛洪链路状态消息。在步骤380处,方法300可以接收包括互联SDN域的SDN特定拓扑信息的链路状态消息。在步骤385处,方法300可以向在步骤360中选定的边界路由器转发接收到的链路状态消息,边界路由器随后向其它互联路由器泛洪链路状态消息,这些路由器属于除接收链路状态消息的SDN域以外的其它SDN域。在步骤390处,方法300可以建立全局网络拓扑,通过采用诸如SPF算法或约束最短路径优先(constrained shortest path first,CSPF)算法之类的算法计算SDN路由。应当注意的是,在公告SDN特定拓扑信息之前可以公告包括选定路由器和/或链路的(例如,如IGP中定义的)链路状态消息。
应当注意的是,在步骤350中生成的链路状态消息可以依赖于操作路由协议。在一示例实施例中,链路状态消息可以是IS-SI协议LSP,包括 SDN ID、SDN成员路由器ID列表、SDNC IPv4地址列表,和/或SDNC IPv6 地址列表。在另一示例实施例中,链路状态消息可以是OSPF LSA(例如, OSPF v2不透明LSA或OSPFv3协议LSA)。OSPF LSA可以包括SDN ID、 SDN成员路由器ID列表、SDNC IPv4地址列表,和/或SDNC IPv6地址列表。
图4为在SDN互联网络中交换SDN特定拓扑信息的方法400的示例实施例的流程图,该方法可以在是SDN域(例如,SDN域110)中的边界路由器的网络设备(例如,网络设备140),或NE(例如,NE 200) 上执行。方法400可以开始于步骤410,通过控制器设备接口(例如,接口150)从SDNC(例如,SDNC 120)接收包括SDN特定拓扑信息的第一链路状态消息。在步骤420处,方法400可以向其它互联SDN域转发第一链路状态消息。在步骤430处,方法400可以通过域间连接(例如,连接130)接收包括其它互联SDN域的SDN特定拓扑信息的第二链路状态消息。在步骤440处,方法400可以将第二链路状态消息转发给SDNC。如上所论述,第一和第二链路状态消息可以与路由协议相关。
图5为图示用例场景的SDN互联网络500的另一示例实施例的示意图。网络500基本上类似于网络100,但是还包括与SDN域B和C 510 互联的非SDN网络域560。在网络500中,域间路由可以采用IS-IS协议、 OSPF v2协议和/或OSPF v3协议。在进行域间路由的示例实施例中,SDNC A 520可以在SDN域A 510中公告所有或部分路由器540和/或链路,SDNC B 520可以在SDN域B 510中仅公告边界路由器并隐藏所有内部路由器和 /或链路,SDNC C 520可以在SDN域C 510中公告边界路由器和某个选定的内部路由器和/或链路,其中这些链路可以是物理链路或逻辑链路(例如,表示为图5中网络设备540之间的点线)。
图6为图示路径建立场景的SDN互联网络600的另一示例实施例的示意图。网络600基本上类似于网络500,但是还包括连接到SDN域A 610 的拥有IP地址1(IP1)670的互联网用户1和连接到非SDN网络域660 的拥有IP地址(IP2)680的互联网用户2。网络600可以图示SDNC A 610 角度的拓扑。在一示例实施例中,可以请求SDN域A 610将报文从IP1 670 发送给IP2 680。SDNC A 620可以采用基于节点的路由方法或基于SDN 域的路由方法。当SDNC A620采用基于节点的路由时,SDNC A 620可以选择经过SDN域C 610到达IP2 680的路径,因为SDN域C 610中的边界路由器之间的链路可能是已知的。可替代性地,SDNC A 620可以确定执行经过SDN域B 610的基于SDN域额路由,而不是执行基于节点额路由,因为SDN域B 610包括隐藏的内部路由。例如,在接收另一SDN 域的SDN特定拓扑信息之后,SDNC可以将属于SDN域的所有节点和/ 或链路进行分组,然后SDN域中的所有节点和/或路由器可以抽象为一个顶点,SDN域中的所有外部链路可以抽象为连接到抽象顶点的边,其中顶点和边可以在SPF(例如,迪杰斯特拉算法)中使用以分别表示节点和链路。在这种情况下,SDNC A 620可以基于从SDN域B 610接收到的链路信息(例如,SDN域B 610可以经过非SDN网络660到达IP2680)将SDN 域B 610当作单个路由实体,并确定经过SDN域B 610到达IP2 680。由于SDNC B620可能拥有隐藏的内部路由,SDNC A 620可以请求SDNC B 620在SDN域B 610中的两个公告的边界路由器(例如,公告的路由器 r1 641和路由器r2 642)之间建立路径以到达IP2680。该请求可以通过 SDNC接口(SDNCi)690传输,其中不同SDN域610中的SDNC 620可以传送(例如,对网络配置、业务、状态报告、路径移除、添加或修改等的请求)。
图7为在SDN互联网络600中建立路径的方法700的示例实施例的协议图,该方法可以在IP1(例如,IP1 670)、SDNC A(例如,SDNC A 620)、SDNC B(例如,SNDC B 620)、SDNC C(例如,SDNC C 620) 和IP2(例如,IP2 680)之间实现。应当注意的是,为了简洁起见,网络600的非SDN网络660可以不在方法700中示出。例如,SDNC A可以在 IP1和IP2之间建立路径进行报文传送。方法700可以开始于SDNC A、 SDNC B和SDNC C交换包括SDN特定拓扑信息的链路状态消息,其中 SDNC A、B或C都可以生成和公告SDNC管理的SDN特定拓扑信息,并接收其它互联SDN域A、B和/或C的SDN特定拓扑信息。例如,在步骤 711处,SDNC A和SDNC B可以交换链路状态消息;在步骤712处,SDNC B和SDNC C可以交换链路状态消息;在步骤713处,SDNC A和SDNC C 可以交换链路状态消息。在步骤720处,SDNC A可以基于接收到的SDN 域B和C的SDN特定拓扑信息(例如,采用SPF或CSPF算法)计算路径以获取源自SDN域A的树。例如,SDNC A可以确定执行基于节点的路由。在这种情况下,SDNC A可以基于接收到的SDN特定拓扑信息选择经过SDN域C的路径(例如,SDN域C中边界路由器之间的链路)。在步骤731处,SDNC A可以从IP1接收报文,其中报文的目的地可以是IP2。在步骤732处,SDNC A可以将报文路由到SDN域C。在步骤733处,SDNC C可以将报文路由到IP2。
图8为在SDN互联网络600中建立路径的方法800的另一示例实施例的协议图,该方法可以在IP1(例如,IP1 670)、SDNC A(例如,SDNC A 620)、SDNC B(例如,SDNC B 620)、SDNC C(例如,SDNC C 620) 和IP2(例如,IP2 680)之间实现。应当注意的是,为了简单起见,网络600的非SDN网络660可以不在方法800中示出。例如,SDNC A可以在 IP1和IP2之间建立路径进行报文传送。在步骤811处,SDNC A和SDNC B可以交换SDN特定拓扑信息。在步骤812处,SDNC B和SDNC C可以交换SDN特定拓扑信息。在步骤813处,SDNC A和SDNC C可以交换 SDN特定拓扑信息。步骤811、812和813基本上类似于方法700的步骤 711、712和713。在步骤820处,SDNC A可以计算路径,其基本上类似于方法700的步骤720,但是方法800可以执行基于SDN域的路由而不是执行方法700中的基于节点的路由。因此,SDNC A可以选择经过SDN 域B而不是SDN域C到达IP2的路径。在步骤830处,SDNC A可以通过SDNCi(例如,通过SDNCi 690)请求SDNC B在SDN域B中的边界路由器(例如,路由器r1和r2)之间建立路径以到达IP2,因为SDN域B 拥有边界路由器之间的隐藏内部链路。在步骤841处,SDNC A可以从IP1接收报文,其中报文的目的地可以是IP2。在步骤842处,SDNC A可以将报文路由到SDN域B。在步骤843处,SDNC B可以将报文路由到IP2。
在一示例实施例中,可以扩展IS-IS协议、OSPF v2协议和/或OSPFv3 协议,通过将TLV编码的SDNC特定拓扑信息分别嵌入到IS-IS LSP、OSPF v2不透明LSA和/或OSPF v3LSA中来承载SDN特定拓扑信息。TLV编码的消息可以包括指示消息类型的类型字段,接着是指示消息值大小的长度字段,和承载消息数据的可变大小的多个八位字节。IS-IS协议扩展和OSPF协议扩展可以在以下两个示例实施例中详细描述。
在第一示例实施例中,可以扩展IS-IS协议来承载SDN特定拓扑信息。在IS-IS协议中,IS-IS节点之间的路由信息可以承载在IS LSP中以便分发。每个IS-IS LSP可以包括IS-IS头部和TLV编码数据。图9至12可以图示IS-IS LSP中的SDN特定拓扑信息的示例实施例。图9为IS-IS LSP 中的SDN ID TLV 900的示例实施例的示意图。SDN ID TLV 900可以包括代码字段910、长度字段920和SDN ID字段930。代码字段910长约1 个八位字节,指示TLV900是SDN ID TLV。例如,代码字段910长约1 个八位字节,值可以设为134。长度字段920长约1个八位字节,指示SDN ID字段930的长度。SDN ID字段930长约4个八位字节(例如,IPv4地址)、6个八位字节(例如,媒体接入控制(Media Access Control,MAC) 地址),或16个八位字节(例如,IPv6地址)。SDN ID字段930中的值可指示SDN域的标识,其可以由因特网地址分配组织(Internet Assigned Numbers Authority,IANA)分配或由不同SDN管理协会之间的协定定义。每个SDN ID可以是IGP操作的互联网络内的唯一ID。
图10为IS-IS LSP中的SDN成员路由器ID列表TLV 1000的示例实施例的示意图。SDN成员路由器ID列表TLV 1000可包括代码字段1010 和长度字段1020,它们基本上分别类似于代码字段910和长度字段920。然而,代码字段1010可以设为一个值来指示TLV 1000是SDN成员路由器ID列表TLV(例如,值为135),长度字段1020可以设为一个值来指示可变长度的系统ID列表字段1030的长度。系统ID列表字段1030可包括如IS-IS协议中为路由器ID定义的多个系统ID,其中每个系统ID长约 6个八位字节。系统ID可指示属于SDN域的路由器的标识。应当注意的是,每个路由器只能与一个SDN域关联。
图11为IS-IS LSP中的SDNC IPv4地址列表TLV 1100的示例实施例的示意图。SDNCIPv4地址列表TLV 1100可包括代码字段1110和长度字段1120,它们分别类似于代码字段910和长度字段920。然而,代码字段 1110可以设为一个值来指示TLV 1100是SDNC IPv4地址列表TLV(例如,值为136),长度字段1120可以设为一个值来指示可变长度的SDNC IPv4地址列表字段1130的长度。SDNC IPv4地址列表字段1130可包括多个SDNC IPv4地址,其中每个SDNC IPv4地址长约4个八位字节。SDNC IPv4地址可指示SDN域中带有IPv4地址的SDNC。SDNC可以通过SDNC IPv4地址接入或到达。
图12为IS-IS LSP中的SDN IPv6地址列表TLV 1200的示例实施例的示意图。SDNCIPv6地址列表TLV 1200可包括代码字段1210和长度字段1220,它们基本上分别类似于代码字段910和长度字段920。然而,代码字段1210可以设为一个值来指示TLV 1200是SDNC IPv6地址列表TLV (例如,值为137),长度字段1220可以设为一个值来指示可变长度的 SDNCIPv6地址列表字段1230的长度。SDNC IPv6地址列表字段1230可包括多个SDNC IPv6地址,其中每个SDNC IPv6地址长约16个八位字节。 SDNC IPv6地址可指示SDN域中带有IPv6地址的SDNC。SDNC可以通过SDNC IPv6地址接入或到达。
在第二示例实施例中,可以扩展OSPF v2和OSPF v3协议,通过将子 TLV引入到OSPF LSA来承载SDN特定拓扑信息。图13至17可图示OSPF v2不透明LSA中用于路由IPv4数据业务的SDN特定拓扑信息的示例实施例。应当注意的是,基本上类似的扩展可应用于OSPFv3新LAS用于路由IPv6数据业务。图13为如RFC 2328中定义的OSPF v2不透明LSA 1300的示例实施例的示意图。OSPF v2不透明LSA 1300可包括链路状态 (link state,LS)老化字段1311、选项字段1312、LSA类型字段1313、不透明类型字段1321、不透明ID字段1321、公告路由器字段1331、LS 序列号字段1341、LS校验和字段1351、长度字段1352和TLV 1361。LS 老化字段1311长约2个八位字节,指示自发起LSA 1300以后的时间,单位为秒。LS选项字段1312长约1个八位字节,指示由路由域支持的可选能力。LSA类型字段1313长约1个八位字节,指示LSA 1300的格式和功能。例如,LSA类型字段1313的值可以设为11,这可以指示自治系统(AS) 范围内的泛洪。不透明类型字段1321长约1个八位字节,指示不透明类型。例如,不透明类型字段1321的值可以设为7或由IANA分配的任何其它值,这可指示LSA 1300是SDNLSA。字段1322长约3个八位字节,指示不透明ID。例如,不透明ID字段1322的值可以设为0。公告路由器字段1331长约4个八位字节,指示LSA 1300发起者的OSPF路由器ID。 LS序列号字段1341长约4个八位字节,在生成新LSA时由路由器递增,可以用于检测LSA重复或旧的LSA。LS校验和字段1351长约2个八位字节,指示LSA 1300完整内容的校验和。长度字段1352长约2个八位字节,指示TLV 1361的长度。TLV 1361长度可变,包括多个sub-TLV,其包括SDN特定拓扑信息,例如SDN ID、SDN成员路由器ID列表、SDNC IPv4地址列表,和/或SDNC IPv6地址列表。
图14为OSPF v2不透明LSA中的SDN ID sub-TLV 1400的示例实施例的示意图。SDNID sub-TLV 1400可包括类型字段1410和长度字段 1420,它们基本上分别类似于代码字段910和长度字段920。然而,类型字段1410和长度字段1420均长约2个八位字节,类型字段1410的值可以设为1或设为由IANA分配的任何其它值来指示sub-TLV 1400是SDN ID sub-TLV。SDN ID sub-TLV 1400还可以包括SDN ID字段1430,其基本上类似于SDN ID字段930。
图15为OSPF v2不透明LSA中的SDN成员路由器ID列表sub-TLV 1500的示例实施例的示意图。SDN成员路由器ID sub-TLV 1500可包括类型字段1510和长度字段1520,它们基本上分别类似于类型字段1410和长度字段1420。然而,类型字段1510的值可以设为2或由IANA分配的任何其它值来指示sub-TLV 1500是SDN成员路由器ID列表sbu-TLV。SDN 成员路由器ID列表sub-TLV 1500还可包括含有多个成员路由器ID的成员路由器ID列表字段1530,其中每个成员路由器ID长约4个八位字节。应当注意的是,当路由器公告SDN成员路由器ID列表sub-TLV 1500时, SDN Idsub-TLV 1400可以是TLV字段1361中的第一是sub-TLV。
图16为OSPF v2不透明LSA中的SDNC IPv4地址列表sub-TLV 1600 的示例实施例的示意图。SDNC IPv4地址列表sub-TLV 1600可包括类型字段1610和长度字段1620,它们基本上分别类似于类型字段1410和长度字段1420。然而,类型字段1610的值可以设为3或由IANA分配的任何其它值来指示sub-TLV 1600是SDNC IPv4地址列表sub-TLV。SDNC IPv4 地址列表sub-TLV 1600还可包括SDNC IPv4地址列表字段1630,其基本上类似于SDNC IPv4地址列表字段1130。应当注意的是,当路由器公告 SDNC IPv4地址列表sub-TLV 1600时,SDNID sub-TLV 1400可以是TLV 字段1361中的第一sub-TLV。
图17为OSPF v2不透明LSA中的SDNC IPv6地址列表sub-TLV 1700 的示例实施例的示意图。SDNC IPv6地址列表sub-TLV 1700可包括类型字段1710和长度字段1720,它们基本上分别类似于类型字段1410和长度字段1420。然而,类型字段1710的值可以设为4或由IANA分配的任何其它值来指示sub-TLV 1700是SDNC IPv6地址列表sub-TLV。SDNC IPv6 地址列表sub-TLV 1700还可包括SDNC IPv6地址列表字段1730,其基本上类似于SDNC IPv6地址列表字段1230。应当注意的是,当路由器公告 SDNC IPv6地址列表sub-TLV 1700时,SDNID sub-TLV 1400可以是TLV 字段1361中的第一sub-TLV。
图18为如RFC 5340中定义的OSPF v3LSA 1800的示例实施例的示意图。OSPF v3不透明LSA 1800可以基本上类似于OSPF v2不透明LSA 1300,但是可包括U位字段1812、S12字段1813,和LSA功能代码字段 1814,而不包括选项字段1312和LS类型字段1313。U位字段1812、S12 字段1813和LSA功能代码字段1814可以称为LSA类型。LS老化字段 1811、公告路由器字段1831、LS序列号字段1841、LS校验和字段1851 和长度字段1852基本上分别类似于OSPF v2不透明LSA 1300中的LS老化字段1311、公告路由器字段1331、LS序列号字段1341、LS校验和字段1351和长度字段1352。U位字段1812长约1个八位字节,指示LSA 处理。例如,U位字段1812的值可以设为1来指示不识别LSA的功能代码字段1814的路由器,U位字段可以存储和泛洪LSA 1800,不予理会字段1812、1813和1814指示的LSA类型。S12字段1813长约2位(例如, S1位和S2位),指示LSA泛洪范围。例如,S2位的值可以设为1,S1 位的值可以设为0来指示该泛洪在AS范围内。LSA功能代码字段1814 长约13位,它的值可以设为15或由IANA分配的任何其它值来指示LSA 1800是SDN LSA。当LSA功能代码字段1814被设为15时,LSA类型值可以是0xC00F。此外,链路状态ID字段1821可以设为0。SDN ID sub-TLV 1400、SDN成员路由器ID列表sub-TLV 1500、SDNC IPv4地址列表 sub-TLV 1600,和/或SDNC IPv6地址列表sub-TLV 1700可以通过与在 TLV 1361中类似的方式在TLV 1861中填充。应当注意的是,OSPF v2不透明LSA 1300和OSPF v3LSA 1800可以包括SDNC地址列表sub-TLV 1600,以及SDNC IPv6地址列表sub-TLV 1700,因为数据平面和控制平面可以在SDN网络中解耦。例如,数据平面可以转发IPv4数据业务,而SDNC可以采用IPv6进行控制平面操作。
本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,只要公开具有下限Rl和上限Ru的数字范围,则明确公开了此范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=R1+k*(Ru–R1),其中k为从1%到100%范围内以 1%递增的变量,即,k为1%、2%、3%、4%、7%……70%、71%、72%……97%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字 R定义的任何数字范围也是明确公开的。除非另有说明,否则术语约是指随后数字的±10%。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。因此,保护范围不受上文所陈述的说明限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。对所述揭示内容中的参考进行的论述并非承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其它细节。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其他特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
Claims (21)
1.一种非瞬时计算机可读介质,其存储有供软件定义网络控制器(software definednetworking controller,SDNC)使用的计算机程序产品包括计算机可执行指令,所述SDNC与软件定义网络(software defined networking,SDN)互联网络中的本地SDN域关联,其特征在于,所述计算机程序产品包括存储在非瞬时计算机可读介质上的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述SDNC执行以下操作:
确定所述本地SDN域中的第一组网络设备和链路,用于向所述SDN互联网络中的远程SDN域进行链路状态公告;
确定所述本地SDN域的软件定义网络(software defined networking,SDN)特定拓扑信息,其中所述SDN特定拓扑信息包括将所述第一组网络设备与所述本地SDN域关联的SDN成员路由器标识符(identifier,ID)列表;
确定置于所述本地SDN域边界处的第二组网络设备,用于与所述远程SDN域进行通信;
通过域间连接和通过所述第二组网络设备中的至少一个网络设备接收包括所述远程SDN域的SDN特定拓扑信息的第一消息;以及
基于所述本地SDN域和所述远程SDN域的所述SDN特定拓扑信息确定经过这两种SDN域的报文传送路由;
其中,所述本地SDN特定拓扑信息还包括标识所述本地SDN域的SDN标识符(identifier,ID);
其中,所述本地SDN特定拓扑信息还包括SDNC地址列表,包括所述本地SDN域中的一组SDNC的地址;
其中,所述指令还使得所述处理器指示所述第二组网络设备中包含的边界网络设备向所述远程SDN域公告所述本地SDN拓扑信息和链路状态公告。
2.根据权利要求1所述的非瞬时计算机可读介质,其特征在于,所述SDNC地址为SDNC互联网协议(Internet Protocol,IP)地址。
3.根据权利要求1所述的非瞬时计算机可读介质,其特征在于,所述第一组网络设备包括的网络设备数量少于所述本地SDN域中所有网络设备的数量,所述链路的数量少于所述本地SDN域中所有链路的数量。
4.根据权利要求1所述的非瞬时计算机可读介质,其特征在于,所述第二组网络设备为所述第一组网络设备的至少一个子集。
5.根据权利要求1所述的非瞬时计算机可读介质,其特征在于,所述远程SDN特定拓扑信息包括数据,所述数据描述数量少于所述远程SDN域的所有网络设备和链路的数量,确定所述路由包括在所述第一组网络设备上配置策略以将所述远程SDN域充当最短路径优先(shortest path first,SPF)计算中的单个顶点以及执行所述SPF以生成路由树,所述路由树在所述本地SDN域中的其中一个所述网络设备和所述SDN互联网络中的所有网络设备之间延伸。
6.根据权利要求5所述的非瞬时计算机可读介质,其特征在于,所述指令还使得所述处理器通过SDNC接口(SDNC interface,SDNCi)向所述远程SDN域中的远程SDNC发送路由请求以建立穿过网络设备的路由和链路,所述链路未在所述远程SDN特定拓扑信息中指示。
7.一种非瞬时计算机可读介质,其存储有包括计算机可执行指令的计算机程序产品,其特征在于,当处理器执行所述计算机可执行指令时,使得网络设备执行以下操作:
通过控制器设备接口接收本地软件定义网络(software defined networking,SDN)域的SDN特定拓扑信息;以及
通过域间连接向远程SDN域公告所述本地SDN特定拓扑信息;
其中,所述SDN特定拓扑信息包括标识所述本地SDN域的SDN标识符(identifier,ID)、包括所述本地SDN域中的路由器ID的SDN成员路由器ID列表,以及包括所述本地SDN域中的SDNC地址的软件定义网络控制器(software defined networking controller,SDNC)地址列表。
8.根据权利要求7所述的非瞬时计算机可读介质,其特征在于,所述地址包括互联网协议版本4(Internet Protocol version 4,IPv4)、互联网络协议版本6(InternetProtocolversion 6,IPv6)地址或其组合。
9.一种交换软件定义网络(software defined networking,SDN)特定拓扑信息进行域间路由的方法,其特征在于,所述方法包括:
生成包括本地SDN域的SDN特定拓扑信息的第一链路状态报文(link state packet,LSP);其中,所述SDN特定拓扑信息包括标识所述本地SDN域的SDN标识符(identifier,ID)、包括所述本地SDN域中的路由器ID的SDN成员路由器ID列表,以及包括所述本地SDN域中的SDNC地址的软件定义网络控制器(software defined networking controller,SDNC)地址列表;
通过采用中间系统到中间系统(Intermediate System-to-Intermediate System,IS-IS)协议通过域间连接向远程SDN域发送第一LSP;
通过采用所述IS-IS协议通过所述域间连接接收所述远程SDN域的包括SDN特定拓扑信息的第二LSP;以及
基于所述本地SDN域和所述远程SDN域的所述SDN特定拓扑信息确定经过这两种SDN域的报文传送路由。
10.根据权利要求9所述的方法,其特征在于,所述第一LSP包括SDN标识符(identifier,ID)类型长度值(type-length-value,TLV),包括:
指示所述TLV为SDN ID TLV的代码字段;
标识所述本地SDN域的SDN ID值;以及
指示所述SDN ID值的长度的长度字段。
11.根据权利要求9所述的方法,其特征在于,所述第一LSP包括SDN成员路由器标识符(identifier,ID)列表类型长度值(type-length-value,TLV),包括:
指示所述TLV为SDN成员路由器ID列表TLV的代码字段;
包所述本地SDN域中路由器的多个系统ID的SDN成员路由器ID列表;以及
指示所述SDN成员路由器ID列表的长度的长度字段。
12.根据权利要求9所述的方法,其特征在于,所述第一LSP包括软件定义网络控制器(software defined networking controller,SDNC)互联网协议版本4(InternetProtocol version 4,IPv4)地址列表类型长度值(type-length-value,TLV),包括:
指示所述TLV为SDNC IPv4地址列表TLV的代码字段;
包括所述本地SDN域中的SDNC的多个IPv4地址的SDNC IPv4地址列表;以及
指示所述SDNC IPv4地址列表的长度的长度字段。
13.根据权利要求9所述的方法,其特征在于,所述第一LSP包括软件定义网络控制器(software defined networking controller,SDNC)互联网协议版本6(InternetProtocol version 6,IPv6)地址列表类型长度值(type-length-value,TLV),包括:
指示所述TLV为SDNC IPv6地址列表TLV的代码字段;
包括所述本地SDN域中的SDNC的多个IPv6地址的SDNC IPv6地址列表;以及
指示所述SDNC IPv6地址列表的长度的长度字段。
14.一种交换软件定义网络(software defined networking,SDN)特定拓扑信息进行域间路由的方法,其特征在于,所述方法包括:
生成包括本地SDN域的SDN特定拓扑信息的第一链路状态公告(link stateadvertisement,LSA);其中,所述SDN特定拓扑信息包括标识所述本地SDN域的SDN标识符(identifier,ID)、包括所述本地SDN域中的路由器ID的SDN成员路由器ID列表,以及包括所述本地SDN域中的SDNC地址的软件定义网络控制器(software defined networkingcontroller,SDNC)地址列表;
通过采用开放式最短路径优先(Open Shortest Path First,OSPF)协议通过域间连接向远程SDN域发送第一LSA;
通过采用所述OSPF协议通过所述域间连接接收所述远程SDN域的包括SDN特定拓扑信息的第二LSA;以及
基于所述本地SDN域和所述远程SDN域的所述SDN特定拓扑信息确定经过这两种SDN域的报文传送路由。
15.根据权利要求14所述的方法,其特征在于,所述第一LSA包括SDN标识符(identifier,ID)子类型长度值(sub-type-length-value,sub-TLV),包括:
指示所述sub-TLV为SDN ID sub-TLV的类型字段;
标识所述本地SDN域的SDN ID值;以及
指示所述SDN ID值的长度的长度字段。
16.根据权利要求14所述的方法,其特征在于,所述第一LSA包括SDN成员路由器标识符(identifier,ID)列表子类型长度值(sub-type-length-value,sub-TLV),包括:
指示所述sub-TLV为SDN成员路由器ID列表sub-TLV的类型字段;
包括标识所述本地SDN域中路由器的多个成员路由器ID的SDN成员路由器ID列表;以及
指示所述SDN成员路由器ID列表的长度的长度字段。
17.根据权利要求14所述的方法,其特征在于,所述第一LSA包括软件定义网络控制器(software defined networking controller,SDNC)互联网协议版本4(InternetProtocol version 4,IPv4)地址列表子类型长度值(sub-type-length-value,sub-TLV),包括:
指示所述sub-TLV为SDNC IPv4地址列表sub-TLV的类型字段;
包括所述本地SDN域中的SDNC的多个IPv4地址的SDNC IPv4地址列表;以及
指示所述SDNC IPv4地址列表的长度的长度字段。
18.根据权利要求14所述的方法,其特征在于,所述第一LSA包括以sub-type-length-value(sub-TLV)编码的软件定义网络控制器(software defined networkingcontroller,SDNC)互联网协议版本6(Internet Protocol version 6,IPv6)地址列表,包括:
指示所述sub-TLV为SDNC IPv6地址列表sub-TLV的类型字段;
包括所述本地SDN域中的SDNC的多个IPv6地址的SDNC IPv6地址列表;以及
指示所述SDNC IPv6地址列表的长度的长度字段。
19.根据权利要求14所述的方法,其特征在于,所述第一LSA为OSPF版本2(OSPFversion 2,OSPF v2)不透明LSA、OSPF版本3(OSPF version 3,OSPF v3)新LSA,或其组合。
20.一种交换软件定义网络(software defined networking,SDN)特定拓扑信息进行域间路由的装置,其特征在于,所述装置包括:
用于生成包括本地SDN域的SDN特定拓扑信息的第一链路状态报文(link statepacket,LSP)的模块;其中,所述SDN特定拓扑信息包括标识所述本地SDN域的SDN标识符(identifier,ID)、包括所述本地SDN域中的路由器ID的SDN成员路由器ID列表,以及包括所述本地SDN域中的SDNC地址的软件定义网络控制器(software defined networkingcontroller,SDNC)地址列表;
用于通过采用中间系统到中间系统(Intermediate System-to-IntermediateSystem,IS-IS)协议通过域间连接向远程SDN域发送所述第一LSP的模块;
用于通过采用所述IS-IS协议通过所述域间连接接收所述远程SDN域的包括SDN特定拓扑信息的第二LSP的模块;以及
用于基于所述本地SDN域和所述远程SDN域的所述SDN特定拓扑信息确定经过这两种SDN域的报文传送路由的模块。
21.一种交换软件定义网络(software defined networking,SDN)特定拓扑信息进行域间路由的装置,其特征在于,所述装置包括:
用于生成包括本地SDN域的SDN特定拓扑信息的第一链路状态公告(link stateadvertisement,LSA)的模块;其中,所述SDN特定拓扑信息包括标识所述本地SDN域的SDN标识符(identifier,ID)、包括所述本地SDN域中的路由器ID的SDN成员路由器ID列表,以及包括所述本地SDN域中的SDNC地址的软件定义网络控制器(software defined networkingcontroller,SDNC)地址列表;
用于通过采用开放式最短路径优先(Open Shortest Path First,OSPF)协议通过域间连接向远程SDN域发送所述第一LSA的模块;
用于通过采用所述OSPF协议通过所述域间连接接收所述远程SDN域的包括SDN特定拓扑信息的第二LSA的模块;以及
用于基于所述本地SDN域和所述远程SDN域的所述SDN特定拓扑信息确定经过这两种SDN域的报文传送路由的模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/191,121 | 2014-02-26 | ||
US14/191,121 US9749214B2 (en) | 2014-02-26 | 2014-02-26 | Software defined networking (SDN) specific topology information discovery |
PCT/CN2015/073260 WO2015127888A1 (en) | 2014-02-26 | 2015-02-25 | Software defined networking (sdn) specific topology information discovery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106063203A CN106063203A (zh) | 2016-10-26 |
CN106063203B true CN106063203B (zh) | 2019-09-03 |
Family
ID=53883347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580011024.XA Active CN106063203B (zh) | 2014-02-26 | 2015-02-25 | 软件定义网络(sdn)特定拓扑信息发现 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9749214B2 (zh) |
EP (1) | EP3103230B1 (zh) |
CN (1) | CN106063203B (zh) |
WO (1) | WO2015127888A1 (zh) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9647883B2 (en) | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
US10454709B2 (en) * | 2014-06-02 | 2019-10-22 | Hewlett Packard Enterprise Development Lp | Delivering messages according to a desired delivery order in a software defined network |
CN105337853A (zh) * | 2014-06-11 | 2016-02-17 | 杭州华三通信技术有限公司 | 一种软件定义网络中的实例建立方法和装置 |
TW201605198A (zh) * | 2014-07-31 | 2016-02-01 | 萬國商業機器公司 | 智慧網路管理裝置以及管理網路的方法 |
CN104125154B (zh) * | 2014-08-12 | 2017-09-26 | 华为技术有限公司 | 网络拓扑发现方法和设备 |
EP3206346B1 (en) * | 2014-10-06 | 2019-01-23 | Ntt Docomo, Inc. | Domain control method and domain control device |
US10079779B2 (en) | 2015-01-30 | 2018-09-18 | Nicira, Inc. | Implementing logical router uplinks |
US9860350B2 (en) * | 2015-05-12 | 2018-01-02 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—logical to physical topology discovery |
US10425319B2 (en) * | 2015-05-21 | 2019-09-24 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—zero configuration adjacency via packet snooping |
US10015053B2 (en) | 2015-05-21 | 2018-07-03 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—logical link aggregation (LAG) member signaling |
US10015115B2 (en) * | 2015-06-01 | 2018-07-03 | Ciena Corporation | Software defined networking service control systems and methods of remote services |
US10103969B2 (en) * | 2015-06-30 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Open shortest path first routing for hybrid networks |
US10129142B2 (en) | 2015-08-11 | 2018-11-13 | Nicira, Inc. | Route configuration for logical router |
US10075363B2 (en) | 2015-08-31 | 2018-09-11 | Nicira, Inc. | Authorization for advertised routes among logical routers |
CN105357024A (zh) * | 2015-09-23 | 2016-02-24 | 清华大学 | 用于sdn网络的区域控制设备、域控制设备和控制系统 |
CN106572021B (zh) * | 2015-10-09 | 2021-07-06 | 中兴通讯股份有限公司 | 一种实现网络虚拟化叠加的方法与网络虚拟化边缘节点 |
US10095535B2 (en) | 2015-10-31 | 2018-10-09 | Nicira, Inc. | Static route types for logical routers |
RU2611990C1 (ru) * | 2015-11-13 | 2017-03-01 | Би4Эн Груп Лимитед | Способ групповой передачи пакетов через программно-конфигурируемые сети |
BR112017008407B1 (pt) * | 2015-12-29 | 2023-04-04 | xFusion Digital Technologies Co., Ltd | Método de gerenciamento de sistema de cpu e múltiplas cpus |
JP6000501B1 (ja) * | 2016-01-20 | 2016-09-28 | 三菱電機株式会社 | 制御装置、制御プログラムおよび機器制御システム |
CN105763463B (zh) * | 2016-01-27 | 2020-01-03 | 新华三技术有限公司 | 一种链路探测报文的传输方法和装置 |
US10581723B2 (en) * | 2016-04-01 | 2020-03-03 | Futurewei Technologies, Inc. | PCEP extension for PCECC support of distributed computing, multiple services, and inter-domain routing |
WO2017211385A1 (en) * | 2016-06-06 | 2017-12-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Determining a path in a communication network |
US10153973B2 (en) | 2016-06-29 | 2018-12-11 | Nicira, Inc. | Installation of routing tables for logical router in route server mode |
KR101711599B1 (ko) * | 2016-08-18 | 2017-03-02 | 한국과학기술정보연구원 | Inter-SDN 네트워크 도메인 상호 연계 방법 및 장치 |
US10454758B2 (en) | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
US10341236B2 (en) | 2016-09-30 | 2019-07-02 | Nicira, Inc. | Anycast edge service gateways |
CN108123874B (zh) * | 2016-11-30 | 2021-03-23 | 中国电信股份有限公司 | 报文的处理方法、系统和跨域sdn控制器 |
WO2018130307A1 (en) * | 2017-01-13 | 2018-07-19 | Huawei Technologies Co., Ltd. | An architecture and coordination mechanism to distribute and parallelize any mcf solver |
CN108574627B (zh) * | 2017-03-08 | 2021-08-31 | 国网信息通信产业集团有限公司 | 一种sdn网络多控制域协同管理方法和系统 |
KR102342734B1 (ko) | 2017-04-04 | 2021-12-23 | 삼성전자주식회사 | Sdn 제어 장치 및 이의 데이터 패킷의 전송 룰 설정 방법 |
US11018937B2 (en) * | 2017-07-31 | 2021-05-25 | Cisco Technology, Inc. | Determining an effect of a network configuration change |
CN108234194B (zh) * | 2017-12-08 | 2021-02-26 | 未鲲(上海)科技服务有限公司 | 基于sdn的网络拓扑结构发现方法、装置和存储介质 |
US11196657B2 (en) * | 2017-12-21 | 2021-12-07 | Advanced Micro Devices, Inc. | Self identifying interconnect topology |
WO2019164637A1 (en) | 2018-02-23 | 2019-08-29 | Futurewei Technologies, Inc. | Advertising and programming preferred path routes using interior gateway protocols |
WO2019190699A1 (en) | 2018-03-28 | 2019-10-03 | Futurewei Technologies, Inc. | Method and apparatus for preferred path route information distribution and maintenance |
WO2019209480A1 (en) | 2018-04-26 | 2019-10-31 | Futurewei Technologies, Inc. | Resource reservation and maintenance for preferred path routes in a network |
WO2019212678A1 (en) | 2018-05-04 | 2019-11-07 | Futurewei Technologies, Inc. | Explicit backups and fast re-route mechanisms for preferred path routes in a network |
WO2019236221A1 (en) | 2018-06-04 | 2019-12-12 | Futurewei Technologies, Inc. | Preferred path route graphs in a network |
US10931560B2 (en) | 2018-11-23 | 2021-02-23 | Vmware, Inc. | Using route type to determine routing protocol behavior |
US10797998B2 (en) | 2018-12-05 | 2020-10-06 | Vmware, Inc. | Route server for distributed routers using hierarchical routing protocol |
US10938788B2 (en) | 2018-12-12 | 2021-03-02 | Vmware, Inc. | Static routes for policy-based VPN |
CN111865627B (zh) * | 2019-04-25 | 2023-07-25 | 中国移动通信集团河北有限公司 | 传输组网评估方法、装置、计算设备及计算机存储介质 |
EP3767899A1 (de) * | 2019-07-17 | 2021-01-20 | Siemens Aktiengesellschaft | Verfahren zur datenkommunikation, netzwerk, computerprogramm und computerlesbares medium |
CN112558504B (zh) * | 2019-09-10 | 2021-11-02 | 中国电信股份有限公司 | 基于ospf协议的关键路径信息转发方法、装置和系统 |
US11362937B2 (en) * | 2020-03-20 | 2022-06-14 | Cisco Technology, Inc. | Location-aware routing for east-west data traffic |
US11777844B2 (en) * | 2020-07-03 | 2023-10-03 | Huawei Technologies Co., Ltd. | Distributing information in communication networks |
CN111884927B (zh) * | 2020-07-16 | 2022-02-15 | 中盈优创资讯科技有限公司 | 基于ospf链路数据库的链路开销获取方法和装置 |
CN112260948B (zh) * | 2020-10-16 | 2021-10-22 | 中国科学院声学研究所 | 一种基于批量更新的多核sdn交换机流表管理方法及系统 |
US11252082B1 (en) | 2020-11-13 | 2022-02-15 | Juniper Networks, Inc. | Filtering topologies for path computation in massively scaled networks |
US11757753B2 (en) | 2021-02-25 | 2023-09-12 | Huawei Technologies Co., Ltd. | Link state steering |
US11665129B2 (en) | 2021-03-10 | 2023-05-30 | Cisco Technology, Inc. | Adaptive source address rewrite |
CN116419100A (zh) * | 2021-12-30 | 2023-07-11 | 华为技术有限公司 | 一种连通光传送网业务的方法和设备 |
CN114338378B (zh) * | 2022-01-11 | 2023-01-10 | 海南大学 | 一种面向多域软件定义网络的配置验证方法 |
US11496396B1 (en) | 2022-04-25 | 2022-11-08 | Mimyr, Llc | Distributed software-defined network |
CN115333949B (zh) * | 2022-07-29 | 2023-10-27 | 北京国信蓝盾科技有限公司 | 一种基于窄带网络实现拓扑发现业务模型的方法 |
US11943138B1 (en) * | 2022-09-26 | 2024-03-26 | Arista Networks, Inc. | Detecting duplicate network device identifiers for routing protocols |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
CN103209121A (zh) * | 2013-03-15 | 2013-07-17 | 中兴通讯股份有限公司 | 基于开放流协议的控制面设备的发现处理方法及装置 |
CN103391296A (zh) * | 2013-07-29 | 2013-11-13 | 北京华为数字技术有限公司 | 一种控制器、转发器及通道建立方法和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3501093B2 (ja) * | 2000-04-18 | 2004-02-23 | 日本電気株式会社 | QoS経路計算装置 |
US8559314B2 (en) * | 2011-08-11 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing OSPF in split-architecture networks |
US20130223226A1 (en) | 2012-02-29 | 2013-08-29 | Dell Products, Lp | System and Method for Providing a Split Data Plane in a Flow-Based Switching Device |
US9225635B2 (en) * | 2012-04-10 | 2015-12-29 | International Business Machines Corporation | Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization |
US9729424B2 (en) | 2012-06-11 | 2017-08-08 | Futurewei Technologies, Inc. | Defining data flow paths in software-defined networks with application-layer traffic optimization |
CN103501236B (zh) | 2013-08-26 | 2016-09-28 | 武汉烽火网络有限责任公司 | 网络控制平面逻辑拓扑生成方法及装置 |
US9491264B2 (en) | 2014-02-20 | 2016-11-08 | Futurewei Technologies, Inc. | Extensible messaging and presence protocol (XMPP) based software-service-defined-network (SSDN) |
-
2014
- 2014-02-26 US US14/191,121 patent/US9749214B2/en active Active
-
2015
- 2015-02-25 CN CN201580011024.XA patent/CN106063203B/zh active Active
- 2015-02-25 WO PCT/CN2015/073260 patent/WO2015127888A1/en active Application Filing
- 2015-02-25 EP EP15755937.8A patent/EP3103230B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
CN103209121A (zh) * | 2013-03-15 | 2013-07-17 | 中兴通讯股份有限公司 | 基于开放流协议的控制面设备的发现处理方法及装置 |
CN103391296A (zh) * | 2013-07-29 | 2013-11-13 | 北京华为数字技术有限公司 | 一种控制器、转发器及通道建立方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3103230A4 (en) | 2017-02-22 |
EP3103230A1 (en) | 2016-12-14 |
US9749214B2 (en) | 2017-08-29 |
CN106063203A (zh) | 2016-10-26 |
US20150244607A1 (en) | 2015-08-27 |
WO2015127888A1 (en) | 2015-09-03 |
EP3103230B1 (en) | 2019-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106063203B (zh) | 软件定义网络(sdn)特定拓扑信息发现 | |
US11962496B2 (en) | Method for establishing segment routing for IPv6 tunnel | |
US10541905B2 (en) | Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment | |
USRE49108E1 (en) | Simple topology transparent zoning in network communications | |
US7522603B2 (en) | Technique for efficiently routing IP traffic on CE-CE paths across a provider network | |
US20190081888A1 (en) | Explicit control of aggregation links via is-is | |
US10084558B2 (en) | Cross-domain clock synchronization method, device and system and computer storage medium | |
ITTO20060149A1 (it) | Tecnica per l'instradamento ottimizzato di flussi di dati su una dorsale ip in una rete di computer. | |
JP2010536285A (ja) | 経路選択方法及びネットワークシステム、経路計算要素 | |
JP7413397B2 (ja) | エリア間srmpls igpネットワーク内の最適ルーティングのための方法、ノード、及びそのシステム | |
CN107623630B (zh) | 一种位索引显式复制信息传递方法和装置 | |
CN109417508A (zh) | 分层路径计算单元(pce)的连接和访问 | |
JP5978384B2 (ja) | 情報を受信するための方法、情報を送信するための方法及びそれらの装置 | |
EP4123988A1 (en) | Supporting stateful explicit paths | |
WO2020231740A1 (en) | Open shortest path first (ospf) service grouping capability, membership, and flooding | |
JP2015115871A (ja) | 通信ネットワーク、データ転送経路の設定方法及び通信装置 | |
CN114793208A (zh) | 一种信息泛洪方法及设备 | |
Baker et al. | Network Working Group A. Lindem Internet-Draft Ericsson Intended status: Standards Track S. Mirtorabi Expires: March 14, 2014 A. Roy | |
LSPs | Networking Working Group L. Ginsberg Internet-Draft S. Previdi Intended status: Standards Track Y. Yang Expires: December 18, 2013 Cisco Systems June 16, 2013 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |