CN104823417A - 由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制 - Google Patents

由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制 Download PDF

Info

Publication number
CN104823417A
CN104823417A CN201380061704.3A CN201380061704A CN104823417A CN 104823417 A CN104823417 A CN 104823417A CN 201380061704 A CN201380061704 A CN 201380061704A CN 104823417 A CN104823417 A CN 104823417A
Authority
CN
China
Prior art keywords
nof
message
adapter
network
data
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.)
Granted
Application number
CN201380061704.3A
Other languages
English (en)
Other versions
CN104823417B (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
Priority to CN201710984863.0A priority Critical patent/CN107749822B/zh
Publication of CN104823417A publication Critical patent/CN104823417A/zh
Application granted granted Critical
Publication of CN104823417B publication Critical patent/CN104823417B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them

Landscapes

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

Abstract

一种OpenFlow(OF)适配器包括至少一个用于与OF控制器通信的OF端口、至少一个用于与非OF(NOF)交换机通信的NOF端口,以及至少一个耦合至所述OF端口和所述NOF端口的处理器,所述处理器用于通过所述OF端口从所述OF控制器接收包含网络数据的第一OF消息,将所述第一OF消息转换为第一NOF消息,其中所述第一NOF消息包括与以所述NOF交换机支持的格式进行编码的所述第一OF消息网络数据相似的网络数据,以及通过所述NOF端口向所述NOF交换机传输所述第一NOF消息。

Description

由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制
相关申请案交叉申请
本发明要求2013年11月4日由Min Luo等人递交的发明名称为“由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制(Transformation and Unified Control of Hybrid Networks Composed ofOpenFlow Switches and Other Programmable Switches)”的第14/071,329号的美国非临时专利申请案的在先申请优先权,该在先申请要求2012年11月29日由Min Luo等人递交的发明名称为“用于由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制的装置(Apparatusfor Transformation and Unified Control of Hybrid Networks Composed ofOpenFlow Switches and Other Programmable Switches)”的第61/731,391号美国临时专利申请案的在先申请优先权,这两个在先申请的内容以引入的方式并入本文本中,如全文再现一般。
关于由联邦政府赞助研究或开发的声明
研究或开发
不适用。
参考缩微胶片附录
不适用。
背景技术
软件定义网络(SDN)可以是一种网络,其中的网元(NE),例如路由器、交换机等可以利用软件来配置和管理以实现硬件设备的简化,这些硬件设备通常具有数据转发功能,使得通用计算机可以用作NE,从而代替了现有网络中传统上价格昂贵且未得到充分利用的NE。SDN降低了对人工配置和管理这些硬件的需要。SDN抽象化可包括将NE的控制平面与数据平面分离,这可能带来整个网络的简化、虚拟化,以及实现远程和/或动态NE配置的能力。SDN分离还允许控制平面和数据平面在不同硬件上、在不同运行环境中,和/或使用不同分布模型操作。SDN技术还可以支持云计算技术的后续发展和部署。
发明内容
在一项实施例中,本发明包括一种OpenFlow(OF)适配器,所述OF适配器包括至少一个用于与OF控制器通信的OF端口、至少一个用于与非OpenFlow(NOF)交换机通信的非NOF端口,以及至少一个耦合至所述OF端口和所述NOF端口的处理器,所述处理器用于通过所述OF端口从所述OF控制器接收包含网络数据的第一OF消息,将所述第一OF消息转换为第一NOF消息,其中所述第一NOF消息包括与以所述NOF交换机支持的格式进行编码的所述第一OF消息网络数据相似的网络数据,以及通过所述NOF端口向所述NOF交换机传输所述第一NOF消息。
在另一项实施例中,本发明包括一种由置于OF控制器和NOF NE之间的OF适配器使用的计算机程序产品,所述计算机程序产品包括存储在非瞬时性计算机可读介质上的计算机可执行指令,使得当处理器执行所述计算机可执行指令时,使所述OF适配器将OF消息转换为NOF格式,随后向所述NOF NE传输转换后的消息,从所述NOF NE接收NOF格式的回复消息,以及将所述回复消息转换为OF格式。
在另一项实施例中,本发明包括一种在OF控制器中实施的方法,包括在包含OF使能NE和NOF使能NE的混合网络中发现网络拓扑,以及在网络信息库(NIB)中存储已发现的混合网络拓扑。
结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其它特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是混合可编程网络架构的实施例的示意图。
图2是混合可编程网络架构的另一实施例的示意图。
图3是混合可编程网络架构的另一实施例的示意图。
图4是OF适配器的实施例的示意图。
图5是OF适配器内NE的实施例的示意图。
图6是OF到NOF转换的方法的实施例的协议图。
图7是OF到NOF转换的方法的另一实施例的协议图。
图8是NOF到OF转换的方法的实施例的协议图。
图9是NOF到OF转换的方法的另一实施例的协议图。
图10是用于初始化NOF NE控制的方法的实施例的协议图。
图11是OF网络拓扑发现的方法的实施例的协议图。
图12是NOF网络拓扑发现的方法的实施例的协议图。
图13是OF到NOF拓扑发现的方法的实施例的协议图。
图14是混合OF-NOF网络拓扑发现的另一方法的实施例的协议图。
图15是用于通过混合网络传输包的方法的实施例的协议图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
SDN可与OF结合使用,OF是一种支持SDN控制平面和SDN数据平面之间的连接的标准化通信协议。Openflow可允许在控制平面中操作的OF控制器控制在数据平面(也称为转发平面)中操作的OF NE(例如,OF交换机)。OF可能不与NOF技术后向兼容。传统系统可包括大量NOF NE(例如,可编程交换机),其替代成本非常高。此类NOF NE可能不由OF控制器控制,并且不与OF NE兼容。NOF NE还可包括各种设备,并且每种类型的NOF NE可使用不同协议进行通信。基于兼容性问题,NOF NE和OF NE可能不在相同网络中操作。
本文所公开的是一种可在Openflow消息和NOF NE(例如,可编程交换机)可支持和/或理解的消息之间执行转换的OF适配器,该OF适配器允许OF控制器控制包含OF NE和NOF NE的混合网络。OF适配器可将从OF控制器接收到的Openflow消息转换为NOF NE支持的消息,然后将这些消息传播至目标NOF NE。OF适配器还可将从NOF NE接收到的消息转换为标准Openflow消息,然后将这些Openflow消息传送至OF控制器。OF适配器可以是逻辑上集中的并且可以以集中式和/或分布式方式部署。例如,一个或多个OF适配器可以位于一个或多个服务器中作为OF控制器的扩展,或者作为NOF NE的OF插件,这样可能造成关联的NOF NE像OF NE一样运行。消息变换、映射,和/或服务可通过基于标准的应用编程接口(API),例如OFAPI和NOF API来实施。OF适配器可包括用于解析消息并确定此消息是否为标准Openflow消息的OF消息解析器、可在Openflow消息和非Openflow消息之间转换的OF-NOF消息转换器、可解析消息并确定此消息是否符合NOF NE支持的格式的NOF消息解析器,和/或可存储Openflow消息和非Openflow消息之间的映射关系的OF_NOF消息映射器。
图1是混合可编程网络100的架构的实施例的示意图。网络100可包括数据平面160,该数据平面160可包括多个互连的OF NE 120(例如,可编程交换机)和NOF NE 140(例如,可编程交换机)。多个主机150可通过数据平面160上的NE互连。数据平面160可由控制平面170控制。控制平面170可包括OF控制器110和OF适配器130。OF控制器110可通过OF控制信道112控制OF NE 120。OF控制器110可通过OF适配器130和NOF控制信道132控制NOF NE 140。OF适配器130可将来自OF控制器110的OF消息转换为NOF NE 140原生的实质上等同的控制消息,反之亦然。
OF控制器110可以是用于管理在网络100中路由的消息(例如,包)的任意设备。OF控制器110可维护与网络100相关联的拓扑和资源利用率数据。OF控制器110可意识到连接网络100中NE的数据平面160的链路(例如,网络拓扑)、链路资源利用率、节点资源利用率(例如,OF NE 120和/或NOFNE 140)、网络100的错误、数据流状态,以及可用于管理网络100的任意其它数据。OF控制器110可采用这种拓扑和资源利用率数据来基于网络100中不断变化的状况通过网络100动态路由数据流。例如,OF控制器110可改变网络100的行为以绕过设备故障路由数据流、使网络中的NE和/或链路负载均衡,基于指定约束(例如,时延、带宽、跳数等)优化流流量,和/或全局优化网络100的流量模式。具体而言,OF控制器110可收集网络100的状态信息、决定网络100的路由策略、生成流条目,和/或向网络100的NE传播这些流条目。
OF NE 120可以是用于基于来自OF控制器110的OF控制消息通过网络100转发数据流的任意NE(例如,可编程网络交换机)。每个OF NE 120可包括流表,该流表可包括多个流条目。每个流表条目可指示接收与特定流相关联的包之后的预期响应。例如,流条目可引导OF NE 120通过指定接口转发包、丢弃包、修改包等。当接收未在流表中表示的包时,OF NE 120可通过OF控制信道112将该包转发给OF控制器110。OF控制器110可审核该包并使用指令作出响应。OF NE 120可相应地管理该包并向流表中添加关联条目,这样可本地管理未来相关包(例如,为相同流的一部分)。每个OF NE120可通过专用的OF控制信道112连接至OF控制器110用于高速流表更新。
NOF NE 140可以是可通过网络100转发数据包并且可能不与Openflow协议兼容的任意可编程NE(例如,可编程网络交换机)。NOF NE 140可涵盖各种NE,例如基于媒体接入控制(MAC)的开放系统互连(OSI)模型二层交换机(例如,以太网交换机)、虚拟局域网(VLAN)交换机、基于互联网协议(IP)的OSI模型三层交换机、无线局域网(WLAN)路由器、光交换机,例如波分复用(WDM)、时分复用(TDM)路由器,多协议标签交换(MPLS)和/或通用多协议标签交换(GMPLS)交换机,和/或任意其它不与Openflow协议原生兼容的可编程NE。例如,NOF NE 140可包括路由表并可耦合至NOF控制信道132。该NOF NE 140可基于路由表转发包并且可通过控制信道132接受命令更改路由表。带有路由表的NOF NE 140可以是可编程的,但是可能不与Openflow直接兼容。例如,该NE可完全基于包地址而不基于该包相关的流转发包。
OF适配器130可以是用于转换在面向OF控制器110的接口上接收到的Openflow消息并基于NOF NE 140的类型在面向NOF NE 140的接口上传输关联消息,反之亦然,的任意设备。例如,OF适配器130可配置为单个NOFNE 140的插件并可使NE从OF控制器110的角度而言像OF NE一样运作。再例如,OF适配器130可以与多个面向NOF NE 140的接口逻辑上集中。OF适配器130可支持相同或不同类型(例如,二层、三层、光类型等)的多个NOF NE 140。OF适配器130可允许OF控制器110控制原生不兼容的设备的混合网络100。OF适配器130可支持Openflow数据平面170对预安装网络进行控制,还可通过实施支持首要Openflow控制来支持先前存在的不兼容网络的组合。例如,数据中心可包括多个先前存在的不兼容网络(例如,WDM和以太网),这些网络以并行方式部署并单独进行管理。集中式OF适配器130可允许OF控制器110同时管理两种网络,这样可能允许跨网络优化。
主机150可以是用于通过数据平面160传输并接收数据包的任意设备。例如,第一主机150可通过有线和/或无线连接连接至OF NE 120和/或NOFNE 140并且可通过数据平面160与第二主机150和/或互联网通信。例如,主机150可包括个人计算机(PC)、便携式PC、平板PC,具有因特网连接的智能手机、基于IP的语音传输(VOIP)设备,和/或其它终端用户设备。主机150通过混合网络100进行的通信可由OF控制器110管理。例如,主机150可向OF NE 120传输消息作为新数据流的一部分。OF NE 120可能不具有与该流相关联的数据流表条目并且可通过OF控制信道112查询OF控制器110。OF控制器可确定通过网络100的流的路线并且可向OF NE 120传输指令以创建关联的流表条目。OF NE 120可基于OF控制器110的指令向NOFNE 140传输包。例如,NOF NE 140可以包括路由表。NOF NE 140可以不具有主机150的路由表条目。NOF NE 140可通过OF适配器130向OF控制器110传输请求用于路由表更新。该请求可以是NOF NE 140原生的类型并且可以是部署特定的(例如,基于开放式最短路径优先流量工程(OSPF-TE)等内部网关协议)。OF适配器130可接收更新请求,将该请求转换为Openflow请求,并向OF控制器110转发Openflow请求。OF控制器110可传输回复,该回复向NOF NE 140指示流的路线。OF适配器130可将回复从基于流的指令转换为NOF NE 140可理解的基于地址的指令。NOF NE 140可更新它的路由表并相应地转发包。
应注意,数据平面160的连接在NE之间以实线示出,在OF控制信道112之间以点线示出,在NOF控制信道132之间以虚线示出。这些线之间的区分可基于线的用途,例如分别用于转发数据、控制OF NE 120,和控制NOFNE 140的逻辑上的差别。数据平面160、控制信道112和控制信道132的链路可包括相同或不同的部件和/或材料(例如,光传输部件和/或链路对电传输部件和/或链路)并且可以是物理链路、物理链路的虚拟抽象,和/或任意它们的组合。应注意OF控制信道112和NOF控制信道132从逻辑角度而言可被视作控制平面170的一部分。
图2是混合可编程网络200的架构的另一实施例的示意图。例如,网络200可包括网络100的部分实施例。网络200可包括OF控制器210、OF适配器230,以及多个NOF NE 240,这些可分别大体上类似于OF控制器110、OF适配器130和NOF NE 140。OF适配器230可以是集中式的并且可置于OF控制器210和NOF NE 240之间。OF适配器230可包括面向OF控制器210的接口上的OF API 234。OF控制器210可包括与OF API 234对应的OFAPI 214。OF API 214和234可包括用于解析Openflow协议消息的标准Openflow可编程通信接口,例如函数库。OF适配器230可用于使用API 234和214与OF控制器210交互。例如,OF适配器230可使用API 234将函数调用和/或其它数据编码为Openflow格式的消息并向OF控制器210传输该消息。OF控制器210可利用OF API 214解码Openflow消息并利用OF API 214所指定的函数。类似地,OF控制器210可利用OF API 214编码OF适配器230的消息,并且OF适配器230可使用OF API 234解码这些消息。
OF适配器230还可包括多个面向NOF NE 240的接口上的一个或多个NOF API 236。每个NOF NE 240可包括与NOF API 236对应的可编程API242。每个可编程API 242可包括解析NOF NE 240原生的消息的可编程通信接口,例如库。OF适配器230可用于通过与OF API 214和234类似的方式编码和解码消息来使用NOF API 236和可编程API 242与NOF NE 240通信。可编程API 242可专用于NOF NE 240并且可包括传统库和/或函数。OF适配器的NOF API 236可用于与特定的NOF NE 240和/或特定类型的NOF NE 240交互。在每个NOF NE 240包括不同的可编程API 242的情况下,OF适配器230可包括每个NOF NE 240的不同NOF API 236。OF API 234和/或NOF API236可按需要进行更新和/或重配置以支持不同的OF控制器210和不同的NOF NE 240,因为网络200的部署随时间而改变,例如由于添加了新的NE和/或从网络200中移除了传统NE。通过利用OF API 234和NOF API 236,OF适配器230可通过Openflow与OF控制器210通信,通过NOF NE 240原生的协议与NOF NE 240通信,并且可将在OF API 234上接收到的消息转换为NOF API 236可使用的消息,反之亦然。
图3是混合可编程网络300的架构的另一实施例的示意图。网络300可包括具有OF API 314的OF控制器310、具有OF API 334和NOF API 336的OF适配器330,以及具有可编程API 342的NOF NE 340,这些可分别大体上类似于OF控制器210、OF API 214、OF适配器230、OF API 234、NOF API236、NOF NE 240,以及可编程API 242。相比于网络200,OF适配器330可以不是逻辑上集中的并且可用作NOF NE 340的插件。OF适配器330可使每个NOF NE 340从OF控制器310的角度而言像OF NE一样运作。制造OF适配器330还可比制造OF适配器230更简单、更便宜,因为OF适配器330可设计用于与特定类型的NOF NE 340工作而不是设计用于与中心定位所需的大量潜在NOF NE 340类型交互。
图4是OF适配器400的实施例的示意图,OF适配器400可类似于OF适配器130、230和/或330。OF适配器400可用于与OF控制器410通信,OF控制器410可大体上类似于OF控制器110、210和/或310。OF控制器410可包括大体上类似于OF API 214和/或314的OF API 414,以及可包括用于控制诸如网络100、200和/或300之类的网络的拓扑和/或网络流数据的网络信息库(NIB)416。OF适配器400可包括分别大体上类似于OF API 234和/或334和NOF API 236和/或336的OF API 434和NOF API 436。OF适配器400还可包括按图4所示连接的OF消息解析器435、OF-NOF消息转换器437、OF-NOF消息映射器438,以及NOF消息解析器439。
OF API 434可接收来自OF API 414的OF消息470。OF API 434可获取OF消息470调用的函数调用、变量等并且可将消息470和任何相关联的API数据一起转发给OF消息解析器435。OF消息解析器435可以是用于解析诸如OF消息470之类的OF消息的部件和/或例程。当消息470不是合适的Openflow消息时,OF消息解析器435可使用错误(例如,对OF API 434)作出响应。OF消息解析器435还可基于OF消息470的内容并且按照OF API434所包含的相关联的API数据创建数据结构。OF消息解析器435可将OF消息470的数据结构转发给OF-NOF消息转换器437和/或OF-NOF消息映射器438。
OF-NOF消息转换器437可以是用于将OF数据结构转换为类似的NOF数据结构,反之亦然,的部件和/或进程。例如,OF-NOF消息转换器437可接受OF消息数据结构,该OF消息数据结构引导NOF NE创建流条目以将指定流从第一端口转发至第二端口。OF数据可转换为类似的NOF数据结构,反之亦然。例如,OF-NOF消息转换器437可转换该数据结构以引导NOF NE更新路由表来指示从第一端口接收的带有指定MAC地址(例如,与流相关联的)消息应转发给第二端口。应注意,转换可包括在OF和NOF消息类型之间转换、转换地址方案,或它们的组合。OF-NOF消息转换器437的转换过程可以基于预期接收转换后的消息的NOF NE的类型是情形特定的。在OF适配器400可配置为NOF NE插件的情况下,OF-NOF消息转换器437可用于转换为单个类型的NOF NE消息。在OF适配器400是集中式的和/或设计为各种网络中利用的标准部件的情况下,OF-NOF消息转换器437还可用于转换为各种NOF NE消息类型。与消息470相关联的OF数据结构可以由OF-NOF消息转换器437转换为与NOF消息472相关联的NOF数据结构。OF-NOF消息转换器437可将NOF消息472转发给NOF消息解析器439。OF消息470到NOF消息472的转换可产生消息470到消息472的映射。消息470的映射可转发给OF-NOF消息映射器438。
OF-NOF消息映射器438可以是增加OF适配器400的处理速度所利用的可选部件。OF-NOF消息映射器438可以是用于存储OF-NOF消息映射(例如,来自OF-NOF消息转换器437)并基于这些映射执行消息转换的任意部件和/或进程。例如,OF消息解析器435可在接收OF消息470后将该消息转发给OF-NOF消息映射器438。如果OF-NOF消息映射器438包括可用于转换消息470的映射,则OF-NOF消息映射器438可将OF消息470转换为NOF消息472而无需OF-NOF消息转换器437的转换,当在OF适配器400上重复传输类似消息时可降低NOF消息转换器437上的总体负载。如果存在映射,则OF消息470可转换为NOF消息472并且可转发给NOF API 436。在另一项实施例中,NOF消息472可通过NOF消息解析器439转发给NOF API 436。如果不存在映射,则OF消息470可返回给OF消息解析器435用于OF-NOF消息转换器437的转换。例如,OF-NOF消息转换器437可接收OF消息470、处理OF消息470,以及基于OF消息470中包含的数据对NOF消息472进行编码。相比之下,OF-NOF消息映射器438可接收OF消息470,获取关联映射,丢弃OF消息470,以及在不处理OF消息470的情况下发送存储的NOF消息472,这样可极大地降低处理器上的负载。
OF-NOF消息转换器437和/或NOF消息映射器438可包括协议支持部件431。协议支持部件431可以是可编程模块,该可编程模块可配置为所有命令和/或其它协议数据可由NOF NE接受和/或从NOF NE传输。例如,协议支持部件431可包括函数库。协议支持部件431还可包括OF函数列表,该OF函数列表与NOF NE协议数据关联。OF-NOF消息转换器437和/或NOF消息映射器438可利用协议支持部件431来识别并在OF和NOF消息之间转换,这样OF部件和NOF部件可高效地交换相互可理解的消息。协议支持部件431可通过软件更新来更新,这样可允许OF-NOF消息转换器437和/或NOF消息映射器438被更新以基于特定系统的需求支持更广泛的NOF NE。
NOF消息解析器439大体上类似于OF消息解析器435,但是可用于解析与特定类型的NOF NE相关联的NOF消息。例如,NOF消息解析器439可接收转换后的NOF消息472的数据结构并且可解析消息472以确保该消息是可接受的NOF格式。NOF消息解析器439可将NOF消息472转发给NOFAPI 436。NOF API 436可大体上类似于OF API 434,但是可用于调用NOF NE所理解的任意函数、变量等。NOF API 436可通过NOF控制信道432,例如NOF控制信道132,与NOF NE(例如,NOF NE 140、240和/或340)传送NOF消息472。NOF API 436可通过可编程API,例如API 242和/或342,与NOF NE通信。
OF适配器400还可将从NOF NE接收到的NOF消息转换为Openflow格式并通过OF API 414将这些消息转发给OF控制器410。NOF API 436可通过NOF控制信道432接收NOF消息473。NOF消息473可与任意API数据一起转发给NOF消息解析器439。如果消息473不是合适的NOF消息,则NOF消息解析器439可拒绝NOF消息473。当消息473合适时,如果存在关联的映射,则NOF消息解析器439可将NOF消息473转发给OF-NOF消息映射器438以便可能转换至OF消息471。如果存在映射,则NOF消息473可转换为OF消息471并转发给OF API 434和/或OF消息解析器435而无需通过OF-NOF消息转换器437。如果不存在映射,则将NOF消息473的数据结构从NOF消息解析器439转发给OF-NOF消息转换器437以便转换至OF消息471。与NOF消息473相关联的映射可存储在OF-NOF消息映射器438中以供后续转换。OF消息471的数据结构可转发给OF消息解析器435用于解析和/或转换至关联的OF消息471。OF消息471随后可由OF API 434通过OF API 414传送至OF控制器410。
图5是诸如OF适配器130、230、330和/或400之类的OF适配器内的NE 500的实施例的示意图。NE 500可用于将OF消息转换为NOF消息以支持NOF NE的OF控制器控制。NE 500可在单个节点中实施或者NE 500的功能可在多个节点中实施。在一些实施例中,NE 500还可充当网络100、200和/或300中的其它节点,例如OF控制器110、210和/或310、OF NE 120和/或NOF NE 140、240和/或340。NE 500还可充当OF控制器410。所属领域技术人员将认识到术语“NE”涵盖广泛范围的设备,NE 500仅仅是示例。NE 500是出于描述清楚的原因,而决非将本发明的应用限制在特定NE实施例或某类NE实施例。本发明中所描述的至少一些特征/方法可以在诸如NE500的网络装置或部件中实现。例如,本发明中的特征/方法可以使用硬件、固件和/或安装在硬件上运行的软件来实现。NE 500可以是通过网络传送帧的任意设备,例如交换机、路由器、网桥、服务器、客户端等。如图5所示,NE 500可包括收发器(Tx/Rx)510,Tx/Rx 510可以是发射器、接收器,或它们的组合。分别地,Tx/Rx 510可以耦合到多个下游端口520(例如,下游接口)以用于传输和/或接收来自其它节点的帧,并且Tx/Rx 510可以耦合至多个上游端口550(例如,上游接口)以用于传输和/或接收来自其它节点的帧。处理器530可以耦合到Tx/Rx 510以处理帧和/或确定向哪些节点发送帧。处理器530可以包括一个或多个多核处理器和/或存储器设备532,存储器设备532可以用作数据存储器、缓冲器等。处理器530可以实现为通用处理器或者可以是一个或多个专用集成电路(ASIC)和/或数字信号处理器(DSP)的一部分。处理器530可包括OF-NOF转换模块534,OF-NOF转换模块534可包括OF API 434、OF消息解析器435、NOF API436、OF-NOF消息转换器437、OF-NOF消息映射器438,和/或NOF消息解析器439,并可将OF消息转换为NOF消息,反之亦然。在一替代性实施例中,OF-NOF转换模块534可实现为存储在存储器532中的指令,这些指令可由处理器530执行,或者部分在处理器530中实现并且部分在存储器532中实现。在另一替代性实施例中,OF-NOF转换模块534可在单独NE上实现。下游端口520和/或上游端口550可以包含电和/或光发射和/或接收部件。
应理解,通过将可执行指令编程和/或加载到NE 500上,处理器530、OF-NOF转换模块534、Tx/Rx 510、存储器532、下游端口520,和/或上游端口550中的至少一个会发生变化,从而将NE 500部分转变成具有本发明所教示的新颖功能的特定机器或装置,例如多核转发架构。加载可执行软件至计算机所实现的功能可以通过公知设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实施,因为重新编写硬件实施比重新编写软件更为昂贵。一般而言,将投入量产的稳定设计可首选以硬件实现,例如通过ASIC实现,这是因为对于大型生产活动,硬件实现的成本可能要低于软件实现。设计通常可以以软件形式进行开发和测试,之后通过公知设计规定转变成专用集成电路中等同的硬件实施,该集成电路硬线软件指令。机器由新的ASIC控制后就成为具有特殊用途的机器或装置,同样,经过编程和/或已加载有可执行指令的计算机也可视为具有特殊用途的机器或装置。
图6是OF到NOF转换的方法600的实施例的协议图,该方法可由诸如OF适配器130、230、330和/或400之类的OF适配器实施。在步骤601处,OF控制器可向OF API发送OF消息。在步骤603处,OF API可将该OF消息转发给OF消息解析器。在步骤605处,OF消息解析器可解析该OF消息并且可查询OF-NOF消息映射器以确定是否存在与该OF消息相关联的映射关系。在步骤607处,OF-NOF消息映射器可确定,例如与OF-NOF消息映射器相关联的存储器中存在与该OF消息相关联的映射。在步骤609处,OF-NOF消息映射器可确定已经存在映射,可基于该映射将该OF消息转换为NOF消息,并且可直接向NOF API发送NOF消息。在步骤611处,NOF API可将NOF消息转发给关联的NOF NE。
图7是OF到NOF转换的方法700的另一实施例的协议图,该方法可由诸如OF适配器130、230、330和/或400之类的OF适配器实施。方法700可包括步骤701、703、705和707,这些步骤大体上类似于步骤601、603、605和607。然而,在步骤707处,OF-NOF消息映射器可确定不存在映射。在步骤713处,OF-NOF消息映射器可通知OF消息解析器不存在映射。在步骤715处,OF消息解析器可向OF-NOF消息转换器发送命令以将OF消息转换为NOF消息。在步骤717处,OF-NOF消息转换器可将OF消息转换为NOF消息。在步骤719处,OF-NOF消息转换器可向NOF消息解析器发送NOF消息。在步骤721处,NOF消息解析器可向NOF API发送NOF消息。在步骤723处,NOF API可向NOF NE发送NOF消息。在步骤725处,OF-NOF消息转换器可基于步骤717的转换将映射关系通知给OF-NOF消息映射器。在步骤727处,OF-NOF消息映射器可存储步骤717的映射关系以供后续使用,例如在方法600的步骤607处使用。应注意,OF-NOF消息转换器可以以任一顺序执行步骤719和步骤725并且步骤727可与步骤721和723大体上同时执行。
图8是NOF到OF转换的方法800的实施例的协议图,该方法可由诸如OF适配器130、230、330、400和/或500之类的OF适配器实施。方法800大体上类似于方法600,但是可将NOF消息转换为OF消息,这与方法600的OF到NOF的情况相反。在步骤801处,NOF NE可向NOF API发送NOF消息。在步骤803处,NOF API可将NOF消息转发给NOF消息解析器。在步骤805处,NOF消息解析器可解析NOF消息并且可查询OF-NOF消息映射器以确定是否存在与该NOF消息相关联的映射关系。在步骤807处,OF-NOF消息映射器可确定存在与该NOF消息相关联的映射,例如通过查询与OF-NOF消息映射器相关联的存储器。在步骤809处,OF-NOF消息映射器可基于该映射将NOF消息转换为OF消息,并且可向OF API直接发送OF消息。在步骤811处,OF API可将该OF消息转发给OF控制器。
图9是NOF到OF转换的方法的另一实施例的协议图,该方法可由诸如OF适配器130、230、330和/或400之类的OF适配器实施。方法900大体上类似于方法700,但是可将NOF消息转换为OF消息,这与方法700的OF到NOF的情况相反。方法900可包括步骤901、903、905和907,这些步骤大体上类似于步骤801、803、805和807。然而,在步骤907处,OF-NOF消息映射器可确定不存在映射。在步骤913处,OF-NOF消息映射器可通知NOF消息解析器不存在映射。在步骤915处,NOF消息解析器可向OF-NOF消息转换器发送命令以将NOF消息转换为OF消息。在步骤917处,OF-NOF消息转换器可将NOF消息转换为OF消息。在步骤919处,OF-NOF消息转换器可向OF消息解析器发送该OF消息。在步骤921处,OF消息转换器可向OF API发送该OF消息。在步骤923处,OF API可向OF控制器发送该OF消息。在步骤925处,OF-NOF消息转换器可基于步骤917的转换将映射关系通知给OF-NOF消息映射器。在步骤927处,OF-NOF消息映射器可存储步骤917的映射关系以供后续使用,例如在方法800的步骤807处使用。应注意,OF-NOF消息转换器可以以任一顺序执行步骤919和步骤925并且步骤927可与步骤921和923大体上同时执行。
图10是用于初始化NOF NE的控制的方法1000的实施例的协议图,该方法可由诸如OF适配器130、230、330和/或400之类的OF适配器实施。当OF NE首次连接网络时,这些OF NE可用于联络OF控制器(例如,通过hello消息)。这种联络可使OF控制器控制OF NE。然而,某些类型的NOFNE可能不原生用于初始化与OF控制器的连接。方法1000可允许OF适配器和/或OF控制器通过NOF NE触发联络。在步骤1001处,OF适配器可向NOFNE传输NOF格式的hello请求消息。可发送步骤1001的hello消息以确认NOF NE将允许OF控制器的控制。步骤1001的hello消息可由OF适配器在OF适配器启动时和/或在连接NOF NE和/或NOF NE启动时触发。在替代性实施例中,OF控制器可向所有网络OF适配器定期传输hello消息为所有新加入的NOF NE触发步骤1001的hello消息。在另一替代性实施例中,OF适配器可联络OF控制器在OF适配器启动和/或连接NOF NE和/或NOF NE启动时触发来自OF控制器的hello消息。
在接收步骤1001的hello请求消息之后,在步骤1002处,NOF NE可向OF适配器传输hello回复消息。步骤1002的hello回复消息可由OF适配器转换为OF格式并传递给OF控制器以通知OF控制器NOF NE是否将接受OF控制器的控制。hello回复消息可包括NOF NE的设备类型的指示,这将允许适配器选择合适的NOF API(例如,NOF API 236、336和/或436)与NOF NE通信以及通过用于在OF和hello回复规定的NOF类型之间转换消息的合适的转换函数、变量、对象等初始化OF-NOF消息转换器(例如,NOF消息转换器437)。步骤1002的hello回复还可包括与传输NOF NE相关的设备信息,例如设备状态、NOF NE端口和端口状态列表、NOF NE MAC地址、NOF NE IP地址,和/或OF控制器用于管理NOF NE的NOF NE处可用的任意其它信息。
图11是OF网络拓扑发现的方法1100的实施例的协议图,该方法可由OF控制器(例如,OF控制器110、210、310和/或410)和OF NE(例如,OF NE 120)实施。在步骤1101中,OF控制器可向第一OF NE(OFNE1)传输含有链路层发现协议(LLDP)包的OF出包消息。该LLDP包可指示OFNE1应向指定端口转发LLDP包。在步骤1103处,OFNE1可通过指定端口向第二OF NE(OFNE2)发送含有LLDP包的出包消息。在步骤1105处,OFNE2可向OF控制器发送含有LLDP包的OF入包消息。在步骤1107处,OF控制器可分析该LLDP包以例如基于对在NE之间传输的LLDP包所做的修改,确定与拓扑和/或资源信息相关的OFNE1、OFNE2,和/或OFNE1和OFNE2之间的链路。在步骤1109处,OF控制器可在诸如NIB 416之类的NIB中存储关联的拓扑和/或资源信息。
图12是NOF网络拓扑发现的方法1200的实施例的协议图,该方法可由OF控制器(例如,OF控制器110、210、310和/或410)、OF适配器(例如,OF适配器130、230、330和/或400)和NOF NE(例如,NOF NE 140、240和/或340)实施。在步骤1201处,第一NOF NE(NOFNE1)可将LLDP包泛洪至所有相邻NE。步骤1201的LLDP包可由第二NOF NE(NOFNE2)接收。在步骤1203处中,NOFNE2可从该LLDP包中获取链路和/或资源信息。在步骤1205处,NOFNE2可向OF适配器传输该LLDP包。在步骤1207处,OF适配器可将该LLDP包封装在OF入包消息中并将封装后的消息转发给OF控制器。在步骤1209处,OF控制器可解析该入包消息以获取资源和/或拓扑信息。在步骤1211处,OF控制器可在诸如NIB 416之类的NIB中存储资源和/或拓扑信息(例如,与NOFNE1和NOFNE2之间的链路相关)。
图13是OF到NOF拓扑发现的方法1300的实施例的协议图,该方法可由OF控制器(例如,OF控制器110、210、310和/或410)、OF NE(例如,OF NE 120)和NOF NE(例如,NOF NE 140、240和/或340)实施。在步骤1301处,NOF NE可以以与步骤1201类似的方式泛洪LLDP包。该LLDP包可由相邻的OF NE接收。在步骤1303处,OF NE可确定该消息是LLDP包,并且可将该LLDP包封装在OF入包消息中。在步骤1305处,OF NE可向OF控制器传输含有LLDP包的入包消息。在步骤1307处,OF控制器可分析该LLDP包以获取资源和/或拓扑信息(例如,与NOF NE和OF NE之间的链路相关)。在步骤1309处,OF控制器可在诸如NIB 416之类的NIB中存储资源和/或拓扑信息。
图14是混合OF-NOF网络拓扑发现的另一方法1400的实施例的协议图,该方法可由OF控制器(例如,OF控制器110、210、310和/或410)、OF适配器(例如,OF适配器130、230、330和/或400)、OF NE(例如,OF NE120)和NOF NE(例如,NOF NE 140、240和/或340)实施。某些OF NE和NOF NE可用于获取和存储混合网络的子网的拓扑信息。相比于方法1100、1200、1300和/或1400,OF控制器可确定利用在NOF NE和/或OF NE级存储的此类拓扑信息,而不是通过向混合网络中的每个NE传输LLDP包重新创建拓扑信息。在步骤1401处,OF控制器可向OF适配器传输对拓扑和/或资源信息的请求。在步骤1403处,OF适配器可将该请求转换为NOF信息并将该请求转发给NOF NE。在步骤1405处,NOF NE可向OF适配器传输拓扑响应消息。该拓扑响应消息可包括NOF NE已知的所有资源和/或拓扑信息、NOF NE已知的资源和/或拓扑信息的预定子集,和/或由步骤1401和1403的拓扑请求所规定的NOF NE已知的资源和/或拓扑信息的子集。在步骤1407处,OF适配器可将该拓扑响应消息转换为OF格式并将该拓扑响应消息转发给OF控制器。在步骤1409处,OF控制器可解析该消息以获取来自NOF NE的资源和/或拓扑信息并且可在诸如NIB 416之类的NIB中存储资源和/或拓扑信息。在步骤1411处,OF控制器可以以与步骤1401类似的方式向OF NE传输对拓扑和/或资源信息的请求。在步骤1413处,OF NE可以以与步骤1405类似的方式使用拓扑响应消息对OF控制器作出回复。在步骤1415处,OF控制器可解析该消息以获取来自OF NE的资源和/或拓扑信息并且可以以与步骤1409类似的方式在NIB中存储资源和/或拓扑信息。应注意,步骤1401和1409可以按任意顺序和/或大体同时执行。在完成步骤1409和1415之后,OF控制器可访问与整个混合网络相关的拓扑信息,而无需查询每个网络NE。
图15是用于通过诸如网络100之类的混合网络传输包的方法1500的实施例的协议图。为了清楚起见,数据平面的通信可示为实线箭头,控制平面的通信可示为虚线箭头。在步骤1501处,第一主机(主机1)可通过混合网络向第二主机(主机2)传输数据包。步骤1501的数据包可由相邻的OF NE接收。OF NE可确定步骤1501的包不存在流条目并且可在步骤1551处向OF控制器传输OF入包消息。OF控制器可基于对整个网络拓扑(例如,基于方法1100、1200、1300和/或1400)的理解计算通过混合网络的路径并且可在步骤1553处向OF NE传输出包消息。该出包消息可包括基于计算所得路径的流条目。在步骤1503处,OF NE可基于来自OF控制器的流条目将来自步骤1501的数据包转发给NOFNE2。NOFNE2具有的路由数据可能不足以路由在步骤1503处接收到的数据包,例如,因为NOFNE2包括含有信息不足的路由表。在步骤1555处,NOFNE2可向OF适配器传输路由请求。在步骤1557处,OF适配器可将该路由请求转换为OF入包消息并将该OF入包消息转发给OF控制器。在步骤1559处,OF控制器可使用包含基于计算所得路径的NOFNE2的流条目的OF出包消息作出响应。在步骤1561处,OF适配器可将OF出包消息和流条目转换为NOF格式,例如,转换为具有路由表条目的路由响应,并且可将该响应转发给NOFNE2。基于步骤1561的路由响应,在步骤1505处,NOFNE2可将该数据包转发给另一NOF NE(NOFNE1)。NOFNE1可直接连接至主机2,并且在步骤1507处可将该数据包转发给主机2(例如,基于路由表)。通过使用方法1500(和/或方法1000、1100、1200、1300和/或1400),OF控制器可基于对混合网络拓扑的全面理解在NOF NE和OF NE的混合网络中路由包。
本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,每当公开具有下限R1和上限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 (23)

1.一种OpenFlow(OF)适配器,其特征在于,包括:
至少一个用于与OF控制器通信的OF端口;
至少一个用于与非OF(NOF)交换机通信的NOF端口;以及
至少一个耦合至所述OF端口和所述NOF端口的处理器,用于:
通过所述OF端口从所述OF控制器接收包含网络数据的第一OF消息;
将所述第一OF消息转换为第一NOF消息,其中所述第一NOF消息包括以所述NOF交换机支持的格式进行编码的与所述第一OF消息的网络数据相似的网络数据;以及
通过所述NOF端口向所述NOF交换机传输所述第一NOF消息。
2.根据权利要求1所述的OF适配器,其特征在于,所述处理器进一步用于:
通过所述NOF端口从所述NOF交换机接收包含网络数据的第二NOF消息;
将所述第二NOF消息转换为第二OF消息,其中所述第二OF消息包括以所述OF控制器支持的格式进行编码的与所述第二NOF消息的网络数据相似的网络数据;以及
通过所述OF端口向所述OF控制器传输所述第二OF消息。
3.根据权利要求2所述的OF适配器,其特征在于,所述OF适配器用于在所述OF控制器和单个NOF交换机之间转换消息。
4.根据权利要求2所述的OF适配器,其特征在于,所述OF适配器用于在所述OF控制器和多个NOF交换机之间转换消息。
5.根据权利要求1所述的OF适配器,其特征在于,进一步包括耦合至所述处理器的存储器,
其中所述存储器包括可更新的OF协议数据列表,可更新的NOF协议数据列表,以及所述OF协议数据和所述NOF协议数据之间可更新的关联,以及
其中所述第一OF消息基于所述可更新的关联转换为所述第一NOF消息。
6.一种OpenFlow(OF)适配器,其特征在于,包括:
至少一个用于与OF控制器通信的OF端口;
至少一个用于与非OF(NOF)交换机通信的NOF端口;
耦合至所述OF端口和所述NOF端口的OF NOF消息转换器,用于:
通过将来自以第一格式接收的消息的数据编码为第二格式的对应消息进行传输进行基于预定消息类型关系集合在OF格式和NOF格式之间转换消息;以及
创建指示每个转换后的消息的所述OF格式和对应的所述NOF格式的映射;以及
耦合至所述OF端口、所述OF NOF消息转换器和所述NOF端口的OFNOF消息映射器,用于:
接收并存储来自所述OF NOF消息转换器的所述映射;以及
基于所述映射在OF格式和NOF格式之间转化消息。
7.根据权利要求6所述的OF适配器,其特征在于,所述基于所述映射在OF格式和NOF格式之间转换消息包括:
接收来自所述NOF端口的NOF消息;
查询所述映射以确定是否存在指示所述NOF消息的对应OF格式的映射;
当存在所述NOF消息的映射时,向所述OF端口传输指示为映射中与所述NOF消息对应的OF消息,并丢弃所述NOF消息;以及
当不存在所述NOF消息的映射时,将所述NOF消息转发给所述OF NOF消息转换器进行转换。
8.根据权利要求6所述的OF适配器,其特征在于,进一步包括耦合至所述OF NOF消息转换器的协议支持存储器部件,其中所述协议支持存储器部件包括所述OF NOF消息转换器所利用的预定消息类型关系集合,所述预定消息关系集合包括OF协议数据列表、NOF协议数据列表,以及所述OF协议数据和所述NOF协议数据之间的关联。
9.根据权利要求6所述的OF适配器,其特征在于,进一步包括:
耦合至所述OF端口并包括OF应用程序接口(API)的第一存储器,所述OF API包括用于支持与所述OF控制器通信的函数库;
耦合至所述OF端口、所述OF NOF消息转换器和所述OF NOF消息映射器的OF消息解析器,其中所述OF消息解析器用于:
解析从所述OF端口接收的OF消息;以及
将解析后的OF消息转发给所述OF NOF消息转换器或所述OF NOF消息映射器;
耦合至所述NOF端口并包括NOF API的第二存储器,所述NOF API包括用于支持与所述NOF交换机通信的函数库;
耦合至所述NOF端口、所述OF NOF消息转换器和所述OF NOF消息映射器的NOF消息解析器,其中所述NOF消息解析器用于:
解析从所述NOF端口接收的NOF消息;以及
将解析后的NOF消息转发给所述OF NOF消息转换器或所述OFNOF消息映射器。
10.一种由置于OF控制器和非OF(NOF)网元(NE)之间的OpenFlow(OF)适配器使用的计算机程序产品,其特征在于,所述计算机程序产品包括存储在非瞬时性计算机可读介质上的计算机可执行指令,使得当处理器执行所述计算机可执行指令时,使所述OF适配器执行以下操作:
向所述NOF NE传输NOF格式的发现消息;
从所述NOF NE接收NOF格式的回复消息;以及
基于所述OF适配器中存储的预定消息关系集合将所述回复消息转换为OF格式。
11.根据权利要求10所述的计算机程序产品,其特征在于,所述指令进一步使所述OF适配器将所述转换后的OF格式的回复消息转发给所述OF控制器以发起所述NOF NE的OF控制。
12.根据权利要求11所述的计算机程序产品,其特征在于,所述指令进一步使所述OF适配器从所述OF控制器接收OF格式的发现消息,响应于接收到所述OF发现消息传输所述NOF格式的发现消息。
13.一种在OpenFlow(OF)控制器中实施的方法,其特征在于,包括:
通过经由OF适配器从多个非OF(NOF)NE中的第一NOF NE接收指示所述多个NOF NE之间的链路的链路数据在包含OF使能网元(NE)和NOF使能NE的混合网络中发现网络拓扑;以及
在网络信息库中存储已发现的混合网络拓扑。
14.根据权利要求13所述的方法,其特征在于,所述指示所述多个NOFNE之间的所述链路的所述链路数据在OF发送消息中接收。
15.根据权利要求13所述的方法,其特征在于,所述在所述混合网络中发现网络拓扑进一步包括从OF NE接收指示所述OF NE和NOF NE之间的链路的链路数据。
16.根据权利要求15所述的方法,其特征在于,所述指示所述OF NE和NOF NE之间的所述链路的所述链路数据在封装在OF入包消息中的NOF链路层发现协议(LLDP)包中进行编码。
17.根据权利要求13所述的方法,其特征在于,所述在所述混合网络中发现网络拓扑进一步包括:
向第一OF NE传输封装在OF出包消息中的链路层发现协议(LLDP)包;以及
从第二OF NE接收封装在OF入包消息中的所述LLDP包,其中所述接收到的LLDP包包括指示所述第一OF NE和所述第二OF NE之间的链路的链路数据。
18.根据权利要求13所述的方法,其特征在于,所述在所述混合网络中发现网络拓扑包括从多个但少于所有OF NE获取子拓扑数据。
19.根据权利要求18所述的方法,其特征在于,所述在所述混合网络中发现网络拓扑进一步包括从多个但少于所有NOF NE获取子拓扑数据。
20.根据权利要求19所述的方法,其特征在于,所述在所述混合网络中发现网络拓扑进一步包括将所述OF子拓扑数据和所述NOF子拓扑数据组合以构建完整的混合网络拓扑。
21.一种OpenFlow(OF)控制器,其特征在于,包括:
用于通过OF适配器向非OF(NOF)网元(NE)传输在OF出包消息中编码的第一网络拓扑请求的发射器;
用于从所述OF适配器接收包含第一网络拓扑响应的OF入包消息的接收器,其中所述第一网络拓扑响应包括与所述NOF NE相关联的NOF网络拓扑数据;
耦合至所述发射器和接收器的处理器,其中所述处理器用于:
处理所述第一网络拓扑响应以获取所述NOF网络拓扑数据;以及
使所述NOF网络拓扑数据存储在OF网络信息库中。
22.根据权利要求21所述的OF控制器,其特征在于,所述发射器进一步用于向OF NE发送第二网络拓扑请求,所述接收器进一步用于接收包含与所述OF NE相关联的OF网络拓扑数据的第二网络拓扑响应,所述处理器进一步用于:
处理所述第二网络拓扑响应以获取所述OF网络拓扑数据;以及
使所述OF网络拓扑数据和所述NOF网络拓扑数据一起存储在所述OF网络信息库中。
23.根据权利要求22所述的OF控制器,其特征在于,进一步包括耦合至所述处理器的存储器,所述存储器包括所述网络信息库,其中所述网络信息库包括描述包含多个NOF NE和多个OF NE的混合网络的混合网络拓扑数据,所述混合网络拓扑数据从多个但少于所有所述OF NE和多个但少于所有所述NOF NE获取。
CN201380061704.3A 2012-11-29 2013-11-29 由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制 Active CN104823417B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710984863.0A CN107749822B (zh) 2012-11-29 2013-11-29 一种用于由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制的装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261731391P 2012-11-29 2012-11-29
US61/731,391 2012-11-29
US14/071,329 2013-11-04
US14/071,329 US9729425B2 (en) 2012-11-29 2013-11-04 Transformation and unified control of hybrid networks composed of OpenFlow switches and other programmable switches
PCT/CN2013/088107 WO2014082589A1 (en) 2012-11-29 2013-11-29 Transformation and Unified Control of Hybrid Networks Composed of OpenFlow Switches and Other Programmable Switches

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710984863.0A Division CN107749822B (zh) 2012-11-29 2013-11-29 一种用于由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制的装置

Publications (2)

Publication Number Publication Date
CN104823417A true CN104823417A (zh) 2015-08-05
CN104823417B CN104823417B (zh) 2017-11-17

Family

ID=50774268

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710984863.0A Active CN107749822B (zh) 2012-11-29 2013-11-29 一种用于由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制的装置
CN201380061704.3A Active CN104823417B (zh) 2012-11-29 2013-11-29 由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710984863.0A Active CN107749822B (zh) 2012-11-29 2013-11-29 一种用于由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制的装置

Country Status (3)

Country Link
US (2) US9729425B2 (zh)
CN (2) CN107749822B (zh)
WO (1) WO2014082589A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207995A (zh) * 2015-08-18 2015-12-30 上海斐讯数据通信技术有限公司 一种基于sdn的vlan动态注册方法
CN107104811A (zh) * 2016-02-22 2017-08-29 中兴通讯股份有限公司 一种网络功能实现方法及控制装置和网元
WO2018001242A1 (zh) * 2016-06-30 2018-01-04 中兴通讯股份有限公司 一种数据报文处理方法及装置

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124506B2 (en) 2013-06-07 2015-09-01 Brocade Communications Systems, Inc. Techniques for end-to-end network bandwidth optimization using software defined networking
US9450823B2 (en) * 2013-08-09 2016-09-20 Nec Corporation Hybrid network management
KR20150088626A (ko) * 2014-01-24 2015-08-03 한국전자통신연구원 소프트웨어 정의 네트워킹 방법
EP2919423B1 (en) * 2014-03-12 2018-11-14 Xieon Networks S.à.r.l. A network element of a software-defined network
US20150350077A1 (en) * 2014-05-30 2015-12-03 Brocade Communications Systems, Inc. Techniques For Transforming Legacy Networks Into SDN-Enabled Networks
US9680588B2 (en) * 2014-06-11 2017-06-13 Ciena Corporation OTN switching systems and methods using an SDN controller and match/action rules
CN105580315A (zh) * 2014-09-03 2016-05-11 华为技术有限公司 用于混合网络组件的软件定义网络控制器和用于控制软件定义网络的方法
US9798810B2 (en) 2014-09-30 2017-10-24 At&T Intellectual Property I, L.P. Methods and apparatus to track changes to a network topology
WO2016058261A1 (zh) * 2014-12-16 2016-04-21 北京大学深圳研究生院 一种基于网络的扁平路由的实现方法
CN106105129B (zh) * 2014-12-31 2019-05-28 华为技术有限公司 Openflow网络跨传统IP网络的拓扑学习方法和装置
US9699116B2 (en) * 2015-01-26 2017-07-04 Telefonaktiebolaget L M Ericsson (Publ) SDN based interdomain and intradomain traffic engineering
US10158559B2 (en) 2015-01-29 2018-12-18 Futurewei Technologies, Inc. Capacity-aware heuristic approach for placing software-defined networking (SDN) switches in hybrid SDN networks for single link/node failure
WO2016122696A1 (en) 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Forwarding table of hybrid software defined networking switch
US9853874B2 (en) 2015-03-23 2017-12-26 Brocade Communications Systems, Inc. Flow-specific failure detection in SDN networks
US9912536B2 (en) 2015-04-01 2018-03-06 Brocade Communications Systems LLC Techniques for facilitating port mirroring in virtual networks
TWI566544B (zh) * 2015-05-14 2017-01-11 鴻海精密工業股份有限公司 網路檢測方法與使用該方法的控制器
US10360287B2 (en) 2015-05-22 2019-07-23 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing user callouts
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
CN106302173B (zh) * 2015-05-26 2019-07-23 南宁富桂精密工业有限公司 控制设备及其拓扑学习的方法
CN105049351B (zh) * 2015-07-07 2019-08-16 上海斐讯数据通信技术有限公司 基于sdn的多链接透明互联算法
US9749401B2 (en) 2015-07-10 2017-08-29 Brocade Communications Systems, Inc. Intelligent load balancer selection in a multi-load balancer environment
CN105515987B (zh) * 2015-12-02 2018-11-13 西安电子科技大学 一种基于sdn架构面向虚拟光网络的映射方法
US9942633B2 (en) 2016-04-21 2018-04-10 Fujitsu Limited Disaggregated optical transport network switching system
US10333793B2 (en) * 2017-04-14 2019-06-25 Cisco Technology, Inc. Network fabric topology expansion and self-healing devices
US10469168B2 (en) 2017-11-01 2019-11-05 Fujitsu Limited Disaggregated integrated synchronous optical network and optical transport network switching system
US10454610B2 (en) * 2017-11-13 2019-10-22 Fujitsu Limited 1+1 Ethernet fabric protection in a disaggregated optical transport network switching system
CN108173776A (zh) * 2017-12-28 2018-06-15 杭州迪普科技股份有限公司 报文转发方法及装置、计算机可读存储介质
CN108307202B (zh) * 2018-03-07 2019-12-13 广州图普网络科技有限公司 实时视频转码发送方法、装置及用户终端
US10797946B2 (en) * 2018-03-29 2020-10-06 Adtran, Inc. Provisioning a network device
CN113938405B (zh) * 2020-07-10 2023-03-28 北京华为数字技术有限公司 一种数据处理的方法、装置
CN116192281B (zh) * 2023-04-26 2024-02-23 军事科学院系统工程研究院网络信息研究所 基于量子通信的网络拓扑控制方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171993A (zh) * 2011-04-14 2011-08-31 华为技术有限公司 联动策略实现方法及装置、开放平台单板和设备
US20110317559A1 (en) * 2010-06-25 2011-12-29 Kern Andras Notifying a Controller of a Change to a Packet Forwarding Configuration of a Network Element Over a Communication Channel
US20120044935A1 (en) * 2009-09-10 2012-02-23 Nec Corporation Relay control unit, relay control system, relay control method, and relay control program
CN102594689A (zh) * 2012-02-22 2012-07-18 中兴通讯股份有限公司 一种分布式网络控制方法及装置
WO2012101692A1 (en) * 2011-01-28 2012-08-02 Nec Corporation Communication system, control information relay device, control device, and control information transmission method and program
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
US20120250496A1 (en) * 2009-11-26 2012-10-04 Takeshi Kato Load distribution system, load distribution method, and program

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264403B2 (en) * 2008-10-09 2016-02-16 Telefonaktiebolaget L M Ericsson (Publ) Virtualization platform
US8966035B2 (en) * 2009-04-01 2015-02-24 Nicira, Inc. Method and apparatus for implementing and managing distributed virtual switches in several hosts and physical forwarding elements
US20140193154A1 (en) * 2010-02-22 2014-07-10 Vello Systems, Inc. Subchannel security at the optical layer
US8964528B2 (en) * 2010-07-06 2015-02-24 Nicira, Inc. Method and apparatus for robust packet distribution among hierarchical managed switching elements
US9680750B2 (en) * 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8837493B2 (en) * 2010-07-06 2014-09-16 Nicira, Inc. Distributed network control apparatus and method
US20120106558A1 (en) * 2010-10-29 2012-05-03 International Business Machines Corporation Bridge for implementing a converged network protocol to facilitate communication between different communication protocol networks
WO2012111222A1 (ja) * 2011-02-17 2012-08-23 日本電気株式会社 ネットワークシステム、及びネットワークフロー追跡方法
US8964569B2 (en) * 2011-07-04 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Generic monitoring packet handling mechanism for OpenFlow 1.1
US9288104B2 (en) * 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
US9154433B2 (en) * 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
US20150023210A1 (en) * 2012-01-09 2015-01-22 Telefonaktiebolaget L M Ericsson (Publ) Network Device Control in a Software Defined Network
US8705536B2 (en) * 2012-03-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating forwarding elements including shadow tables and related forwarding elements
US9350671B2 (en) * 2012-03-22 2016-05-24 Futurewei Technologies, Inc. Supporting software defined networking with application layer traffic optimization
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
US9331938B2 (en) * 2012-04-13 2016-05-03 Nicira, Inc. Extension of logical networks across layer 3 virtual private networks
CN102710432B (zh) * 2012-04-27 2015-04-15 北京云杉世纪网络科技有限公司 云计算数据中心中的虚拟网络管理系统及方法
US9729424B2 (en) * 2012-06-11 2017-08-08 Futurewei Technologies, Inc. Defining data flow paths in software-defined networks with application-layer traffic optimization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120044935A1 (en) * 2009-09-10 2012-02-23 Nec Corporation Relay control unit, relay control system, relay control method, and relay control program
US20120250496A1 (en) * 2009-11-26 2012-10-04 Takeshi Kato Load distribution system, load distribution method, and program
US20110317559A1 (en) * 2010-06-25 2011-12-29 Kern Andras Notifying a Controller of a Change to a Packet Forwarding Configuration of a Network Element Over a Communication Channel
WO2012101692A1 (en) * 2011-01-28 2012-08-02 Nec Corporation Communication system, control information relay device, control device, and control information transmission method and program
CN102171993A (zh) * 2011-04-14 2011-08-31 华为技术有限公司 联动策略实现方法及装置、开放平台单板和设备
CN102594689A (zh) * 2012-02-22 2012-07-18 中兴通讯股份有限公司 一种分布式网络控制方法及装置
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王楠: "Openflow网络中路由机制的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(2012)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207995A (zh) * 2015-08-18 2015-12-30 上海斐讯数据通信技术有限公司 一种基于sdn的vlan动态注册方法
CN105207995B (zh) * 2015-08-18 2019-06-07 上海斐讯数据通信技术有限公司 一种基于sdn的vlan动态注册方法
CN107104811A (zh) * 2016-02-22 2017-08-29 中兴通讯股份有限公司 一种网络功能实现方法及控制装置和网元
CN107104811B (zh) * 2016-02-22 2021-08-17 中兴通讯股份有限公司 一种网络功能实现方法及控制装置
WO2018001242A1 (zh) * 2016-06-30 2018-01-04 中兴通讯股份有限公司 一种数据报文处理方法及装置
CN107566237A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 一种数据报文处理方法及装置

Also Published As

Publication number Publication date
US20170302560A1 (en) 2017-10-19
CN104823417B (zh) 2017-11-17
US9729425B2 (en) 2017-08-08
US20140149542A1 (en) 2014-05-29
CN107749822B (zh) 2021-03-30
CN107749822A (zh) 2018-03-02
WO2014082589A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
CN104823417A (zh) 由OpenFlow交换机和其它可编程交换机组成的混合网络的变换和统一控制
CN111164936B (zh) 在sdn控制器中将接入网络建模为树的方法和系统
KR101913490B1 (ko) 플로우 테이블 관리 방법, 및 관련 디바이스 및 시스템
WO2015124026A1 (zh) 流表项生成方法以及装置
CN102185782B (zh) 多链接透明传输互连网络的数据发送方法及其装置
CN102244614B (zh) 报文转发方法、系统及路由交换机
CN103051737A (zh) 提供融合互联架构上的网络能力
CN103685009A (zh) 数据包的处理方法、控制器及系统
CN103595635B (zh) 基于分组光传送网设备的数据通信网报文转发方法和装置
WO2015123879A1 (zh) 实现网络虚拟化的方法及相关装置和通信系统
US9467374B2 (en) Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway
CN104301252A (zh) 一种数据发送系统及数据发送方法
CN111147372B (zh) 下行报文发送、转发方法和装置
CN103688510A (zh) 跨网通信方法及装置
CN104040972A (zh) 一种路径建立的方法及装置
CN107360089B (zh) 一种路由建立方法、业务数据转换方法及装置
CN103746886A (zh) 一种FiWi节点和一种FiWi融合组网方法
CN103634214A (zh) 一种路由信息生成方法及装置
CN102891903A (zh) 一种nat转换方法及设备
CN102387221B (zh) 一种数据转发方法及系统
WO2021147357A1 (zh) 路由信息的发布方法、装置及系统
WO2014136867A1 (ja) 通信システム、統合コントローラ、パケット転送方法及びプログラム
CN104320322A (zh) 一种报文控制方法和设备
WO2012068841A1 (zh) 数字微波设备、网络及网管数据传输方法
US11743180B2 (en) System and method for routing traffic onto an MPLS network

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant