CN103166876B - OpenFlow网络域间的数据发送方法及装置 - Google Patents

OpenFlow网络域间的数据发送方法及装置 Download PDF

Info

Publication number
CN103166876B
CN103166876B CN201110406333.0A CN201110406333A CN103166876B CN 103166876 B CN103166876 B CN 103166876B CN 201110406333 A CN201110406333 A CN 201110406333A CN 103166876 B CN103166876 B CN 103166876B
Authority
CN
China
Prior art keywords
network
domain
information
network domain
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110406333.0A
Other languages
English (en)
Other versions
CN103166876A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201110406333.0A priority Critical patent/CN103166876B/zh
Priority to PCT/CN2012/084021 priority patent/WO2013082983A1/zh
Publication of CN103166876A publication Critical patent/CN103166876A/zh
Application granted granted Critical
Publication of CN103166876B publication Critical patent/CN103166876B/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/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

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

Abstract

本发明提供了一种OpenFlow网络域间的数据发送方法及装置,其中,上述方法包括:本地网络域的控制器获取全局网络信息,其中,所述全局网络信息为所述本地网络域和相邻网络域之间进行数据交换所需要的信息;对于目的地址不在所述本地网络域的数据报文,所述本地网络域的控制器根据所述全局网络信息,控制所述本地网络域的交换机将所述数据报文发送到所述相邻网络域。采用本发明提供的上述技术方案,达到了不同OpenFlow网络域之间可以实现数据交换的效果。

Description

OpenFlow网络域间的数据发送方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种OpenFlow网络域间的数据发送方法及装置。
背景技术
美国斯坦福大学于2008年提出了OpenFlow协议,该协议采用转发/控制分离架构,外置控制面实体采用OpenFlow协议控制转发面设备实现各种转发逻辑,而转发面设备主要功能就是根据OpenFlow控制器下发的流表执行受控转发,其行为是标准化的:收到一条报文,取出其头部L2/L3/L4相关字段值,以其作为关键字查找流表,匹配到一个表项后,根据表项内容中的指令集对报文字段进行变换,完毕后根据指示转发到某一逻辑或物理端口。此协议进一步演进,成为软件定义网络(Software Defined Network,简称为SDN)技术的基础,即可以在控制面采用软件编程实现各种复杂的网络应用,而转发面设备无需任何改变,由于控制面采用通用服务器+通用操作系统,并且可以使用通用的软件编程工具,也可以使用Python这样的脚本编程语言实现,这使得新的网络协议的支持变得非常简单,而且新技术部署周期大大缩短。
一个基本的OpenFlow网络包括网络控制器和交换机两个主要的控制实体。通常地,在网络中部署一个集中的网络控制器,负责整个网络域中所有的OpenFlow交换机的管理域控制。然而,单个集中式的控制器会成为网络规模化的瓶颈,如与控制器距离较远的交换机建立流的时延增加,单个控制器处理交换路径请求的吞吐量受限,端到端的路径带宽可控性差等。为此,学术界提出分布式网络控制器方案,但这些方案一般是在网络上部署多个控制器,通过事件消息同步或存储共享等方案,实现状态一致的多个网络控制器共同管理与控制OpenFlow网络。
然而,在实际的网络部署中,一般是一个区域独立部署OpenFlow网络,多个区域的OpenFlow网络之间通过有限的链路互联,但不同的OpenFlow网络域之间互不干涉,即一个区域的网络控制器只负责本域内的数据交换,而不能实现本地网络域与其它网络域之间的数据交换,即现有技术中,尚未有针对不同OpenFlow网络域之间的数据交换解决方案。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中,尚未有针对不同OpenFlow网络域之间的数据交换的解决方案等技术问题,本发明提供一种OpenFlow网络域间的数据发送方法及装置,以至少解决上述技术问题。
根据本发明的一个方面,提供了一种OpenFlow网络域间的数据发送方法,包括:本地网络域的控制器获取全局网络信息,其中,所述全局网络信息为所述本地网络域和相邻网络域之间进行数据交换所需要的信息;对于目的地址不在所述本地网络域的数据报文,所述本地网络域的控制器根据所述全局网络信息,控制所述本地网络域的交换机将所述数据报文发送到所述相邻网络域。
上述全局网络信息包括:本地网络域与相邻网络域间的链路状态信息,以及除所述本地网络域之外的其它网络域的网络信息。
上述链路状态信息通过以下方式获取:所述本地网络域的控制器指示所述本地网络域的交换机将第一链路探测消息经由所述相邻网络域的交换机转发给所述相邻域的控制器;所述本地网络域的控制器接收来自所述相邻域的控制器转发的所述第一链路探测消息,以获取所述链路状态信息。
上述链路状态信息通过以下方式获取:所述本地网络域的控制器接收所述本地网络域的交换机上报的第二链路探测消息,其中,所述第二链路探测消息来自于所述相邻网络域的交换机;所述本地网络域的控制器根据接收的所述第二链路探测消息获取所述链路状态信息。
上述其它网络域的网络信息通过以下方式获取:所述本地网络域的控制器从所述相邻网络域的控制器中获取所述其它网络域的网络信息。
上述其它网络域的网络信息包括:所述相邻网络域的终端设备地址信息和/或地址信息前缀和/或网络域标识信息,以及所述相邻网络域与所述其它网络域之间的链路状态信息。
上述全局网络信息还包括:所述本地网络域与所述目的地址指示的目的网络域之间的链接路径信息。
根据本发明的另一方面,提供了一种OpenFlow网络域间的数据发送装置,位于本地网络域,包括:获取模块,用于获取全局网络信息,其中,所述全局网络信息为所述本地网络域和相邻网络域之间进行数据交换所需要的信息;控制模块,用于对目的地址不在所述本地网络域的数据报文,根据所述全局网络信息控制所述本地网络域的交换机将所述数据报文发送到所述相邻网络域。
上述全局网络信息包括:本地网络域与相邻网络域间的链路状态信息和以及除所述本地网络域之外的其它网络域的网络信息。
上述获取模块包括:发送单元,用于指示所述本地网络域的交换机将第一链路探测消息经由所述相邻网络域的交换机转发给所述相邻域的控制器;第一接收单元,用于接收来自所述相邻域的控制器转发的所述第一链路探测消息;第一获取单元,用于根据所述第一链路探测消息获取所述链路状态信息。
上述获取模块包括:第二接收单元,用于接收所述本地网络域的交换机上报的第二链路探测消息,其中,所述第二链路探测消息来自于所述相邻网络域的交换机;第二获取单元,用于根据接收的所述第二链路探测消息获取所述链路状态信息。
上述获取模块,用于从所述相邻网络域的控制器中获取所述其它网络域的网络信息。
通过本发明,采用本地网络域的控制器根据全局网络信息,控制本地网络域的交换机将目的地址不在本域的数据报文发送到相邻网络域的技术手段,解决了相关技术中,尚未有针对不同OpenFlow网络域之间的数据交换的解决方案等技术问题,进而达到了不同OpenFlow网络域之间可以实现数据交换的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明实施例的OpenFlow网络域间的数据发送方法流程图;
图2为根据本发明实施例的OpenFlow网络域间的数据发送装置的结构框图;
图3为根据本发明实施例的网络域间的数据交换网络架构示意图;
图4为根据本发明实施例的本地网络域的控制器主动进行相邻网络域链路探测流程示意图;
图5为根据本发明实施例的数据报文在源网络域内的交换流程示意图;
图6为根据本发明实施例的数据报文在目的网络域内的交换流程示意图;
图7为根据本发明实施例的控制器建立全局网络信息数据库的方法流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1为根据本发明实施例的OpenFlow网络域间的数据发送方法流程图。如图1所示,该方法包括:
步骤S102,本地网络域的控制器获取全局网络信息,其中,所述全局网络信息为所述本地网络域和相邻网络域之间进行数据交换所需要的信息;在具体实施时,可以在本地网络域的控制器建立一个全局网络信息数据库,以存储上述全局网络信息。
步骤S104,对于目的地址不在所述本地网络域的数据报文,所述本地网络域的控制器根据所述全局网络信息,控制所述本地网络域的交换机将所述数据报文发送到所述相邻网络域。
通过上述处理步骤,由于本地网络域的控制器可以根据获取的全局网络信息,控制本地网络域的交换机将目的地址不在本域的数据报文发送到相邻网络域,因此,实现了不同OpenFlow网络域之间的数据交换。
在具体应用时,在步骤S104中之前,所述本地网络域的控制器对于本域的交换机上报的数据报文,可以判断数据报文是否需要进行跨网络域的交换,例如可以根据数据报文的目的地址判断是否需要进行跨网络域的交换:当目的地址为本地网络域时,本地网络域的控制器直接向本域交换机下发流表,建立交换路径;对于目的地址为其它域终端的数据报文,根据路径选择策略,本地网络域的控制器选择一个边缘交换机作为出口交换机,控制数据报文转发到相邻网络域。
在本发明的一个优选实施方式中,上述全局网络信息可以包括以下信息:本地网络域与相邻网络域间的链路状态信息,以及除所述本地网络域之外的其它网络域的网络信息。
事实上,利用步骤S102、步骤S104中的处理步骤,以及上述全局网络信息,可以实现一种基于OpenFlow网络的新的组网方法,例如可以实现以下组网方法:
OpenFlow网络由至少一个网络域组成,相邻的所述网络域之间存在至少一条网络链接;所述网络域由控制器和至少一个交换机组成;所述网络域的控制器负责本域内的交换机设备管理,以及数据报文在本域内的交换路径控制;所述网络域的控制器收集与相邻网络域之间的链路状态信息,并与所述相邻域的控制器交换其它网络域的网络信息,建立全局网络信息数据库;所述网络域的控制器对于目的地址不在本域的数据报文,根据全局网络信息数据库信息,控制本域交换机将所述数据报文发往本域与相邻域的连接的链路上。
在本发明的一个优选实施过程中,上述链路状态信息可以通过主动探测或被动探测的方式获取:
其中,主动探测实现的具体过程如下:所述本地网络域的控制器指示所述本地网络域的交换机将第一链路探测消息经由所述相邻网络域的交换机转发给所述相邻域的控制器;所述本地网络域的控制器接收来自所述相邻域的控制器转发的所述第一链路探测消息,以获取所述链路状态信息。简而言之,即所述本地网络域的控制器指示所述网络域的交换机在所有端口发送网络连接探测消息,若所述相邻域的控制器收到所述相邻域的交换机上报的所述网络连接探测消息,则所述相邻域的控制器将所述网络连接探测消息转发给所述网络域的控制器。
其中,被动探测实现的具体过程如下:所述本地网络域的控制器接收所述本地网络域的交换机上报的第二链路探测消息,其中,所述第二链路探测消息来自于所述相邻网络域的交换机;所述本地网络域的控制器根据接收的所述第二链路探测消息获取所述链路状态信息。简而言之,即所述本地网络域的控制器收到所述本地网络域的交换机上报的相邻域交换机发送的网络连接探测消息,并根据所述网络连接探测消息收集所述网络域与所述相邻域的链路状态信息。
正如上述所述,上述其它网络域的网络信息可以通过以下方式获取:所述本地网络域的控制器与所述相邻网络域进行数据交换来获取上述其它网络域的网络信息,即从所述相邻网络域的控制器中获取所述其它网络域的网络信息。
上述其它网络域的网络信息包括:所述相邻网络域的终端设备地址信息和/或地址信息前缀和/或网络域标识信息,以及所述相邻网络域与所述其它网络域之间的链路状态信息。
在本本发明的一个具体实施方式中,上述全局网络信息还包括:所述本地网络域与所述目的地址指示的目的网络域之间的链接路径信息,例如可以包括以下路径信息:源网络域(本地网络域)和目的网络域之间需路经的中间网络域,和/或路径上相邻的网络域之间的链接路径有哪些等等。
在本实施例中还提供了一种OpenFlow网络域间的数据发送装置,该装置位于本地网络域,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2为根据本发明实施例的OpenFlow网络域间的数据发送装置的结构框图。如图2所示,该装置包括:
获取模块20,连接至控制模块22,用于获取全局网络信息,其中,所述全局网络信息为所述本地网络域和相邻网络域之间进行数据交换所需要的信息;
控制模块22,用于对目的地址不在所述本地网络域的数据报文,根据所述全局网络信息控制所述本地网络域的交换机将所述数据报文发送到所述相邻网络域。
优选地,上述全局网络信息包括:本地网络域与相邻网络域间的链路状态信息和以及除所述本地网络域之外的其它网络域的网络信息。
优选地,上述获取模块20可以包括以下单元用于以主动探测方式实现获取上述链路状态信息:发送单元,连接至所述用于指示所述本地网络域的交换机将第一链路探测消息经由所述相邻网络域的交换机转发给所述相邻域的控制器;第一接收单元,用于接收来自所述相邻域的控制器转发的所述第一链路探测消息;第一获取单元,用于根据所述第一链路探测消息获取所述链路状态信息。
优选地,上述获取模块20还可以包括以下单元用于以被动探测方式实现获取上述链路状态信息:第二接收单元,用于接收所述本地网络域的交换机上报的第二链路探测消息,其中,所述第二链路探测消息来自于所述相邻网络域的交换机;第二获取单元,用于根据接收的所述第二链路探测消息获取所述链路状态信息。
优选地,上述获取模块20,用于从所述相邻网络域的控制器中获取所述其它网络域的网络信息。
为了更好地理解上述实施例以及优选实施例,以下结合具体实例和相关附图详细说明。以下实施例的基本思想在于,在若干相互隔离的OpenFlow网络域中,每个网络域的控制器与其他网络域的控制器之间进行交互,探测相邻域之间的网络链接信息,并通过与其他网络域控制器进行信息交换来收集全局网络信息。对于数据报文的转发,当数据报文的目的地址为本域终端时,网络控制器直接向本域交换机下发流表,建立交换路径;当数据报文的目的地址为其他网络域终端时,网络控制器控制根据本域的全局网络信息数据库信息,控制本域交换机将数据报文发往本域与相邻域的连接的链路上。
实施例1
正如上述实施例中所述的,可以基于上述实施例所述的OpenFlow网络域间的数据发送方法,实现一种新的OpenFlow网络的组网方法。
如图3所示,该组网包括:网络域A、网络域B和网络域C。以网络域A为例,OpenFlow网络域A由控制器A和至少一个交换机301组成,网络中的主机或终端302通过交换机301连接到OpenFlow网络域B和网络域C。相邻OpenFlow网络域之间通过至少一条链路相连,多个OpenFlow网络域组成一个互联的OpenFlow网络。
在本实施例中,OpenFlow网络域A的控制器A仅负责本域内交换机301的管理与控制。多个OpenFlow网络域A的控制器A之间组成控制面网络303,并交换网络拓扑信息构建本地的全局网络信息库。在进行数据报文交换时,各个网络域的控制器对于本域的交换机上报的数据报文,根据数据报文的目的地址,控制本域的交换机或者将数据报文转发到本域内的交换机或终端上,或者将数据报文转发到相邻域的交换机上。
上述各个OpenFlow网络域的交换机的行为与现有技术中的OpenFlow交换机一致,即仅根据本网络域的控制器下发的流表进行数据转发。
图4为根据本发明实施例的本地网络域的控制器主动进行相邻网络域链路探测流程示意图。以下以网络域A和网络域B进行数据交换的流程为例。在交换机加入OpenFlow网络域时,控制器指示所述交换机在所有端口发送链路探测消息,与所述交换机相邻的交换机收到所述链路探测消息时,所述链路探测消息被上报到所属网络域的控制器。对于与其它网络域相邻的交换机,所述链路探测消息被相邻域的交换机接收,并被上报到相邻域的控制器上,所述相邻域的控制器需要通过控制面网络将所述链路探测消息转发给发起网络探测的网络域的控制器,完成网络探测流程。具体步骤如下:
步骤S402,新交换机AS1加入网络域A,与控制器A建立连接进行相关的安全验证、基本信息上报、交换机配置等操作;
步骤S404,控制器A指示交换机AS1进行网络探测流程;
其中,一般控制器A向交换机AS1周期性下发指令,指示交换机AS1在指定端口上发送指定的网络探测消息;
步骤S406,网络探测消息发送到交换机AS1与网络域B的交换机BS1相连的端口上;
这里,省略了AS1与网络域A内部其它交换机相连的端口上发送的网络探测消息的处理流程,因为与本发明技术无法;
步骤S408,交换机BS1收到网络探测消息,进一步通过OpenFlow协议上报到网络域B的控制器B;
步骤S410,控制器B收到交换机BS1上报的网络探测消息上报,判断所述网络探测消息来自网络域A,通过控制面网络转发到网络域A的控制器A;
这里,网络域B的控制器B获知网络域A的控制器A的方式在控制面网络解决,如预配置方式,网络域A请求加入其它互联的OpenFlow网络时,网络域A的控制器下载其它网络域的控制器信息配置文件,并将网络域A的控制器信息通报给其它网络域的控制器;
步骤S412,控制器A收到控制器B转发的所述网络探测消息,结合步骤202下发的网络探测消息,可以收集到网络域B的交换机BS1和网络域A的交换机AS1的端口之间的链路状态。
步骤S414-步骤S422,控制器B周期性指示交换机BS1发起网络探测流程,类似步骤S404-步骤S414,交换机BS1发起的链路探测消息,经交换机AS1上报到控制器A,控制器A进一步通过控制面网络转发回控制器B,控制器B收集到网络域A的交换机AS1和网络域B的交换机BS1的端口之间的链路状态。
这里,所述的链路探测消息,为链路层发现协议(Link Layer DiscoveryProtocol,简称为LLDP)消息,或者为连接管理协议(Link Management Protocol,简称为LMP)消息,或者其他可以实现链路探测的协议消息,可以根据由具体网络环境决定。
另外,OpenFlow网络域之间的网络链路探测也可以采用被动的方式。在交换机加入OpenFlow网络域时,控制器指示所述交换机在所有端口发送链路探测消息,当相邻域的交换机收到所述链路探测消息时,相邻域的控制器根据所述相邻域的交换机上报的所述链路探测消息内容可以判断域间链路状态,即通过步骤步骤S404-步骤S408,网络域B的控制器B可以收集到网络域A的交换机AS1和网络域B的交换机BS1的端口之间的链路状态;通过步骤步骤S414-步骤S418,中,网络域A的控制器A可以收集到网络域B的交换机BS1和网络域A的交换机AS1的端口之间的链路状态。
实施例2
源网络域中,对于目的地址为其它网络域的数据报文,控制器控制本域交换机将数据报文转发到相邻网络域,更具体地是转发到与相邻网络域相连的交换机端口上。如图5所示,具体步骤如下:
步骤S502,源网络域A中的主机AH1向网络发送数据报文,目的地址为网络域B的主机BH1;
步骤S504,与主机AH1相连的交换机AS2收到数据报文,查询本地流表无命中的表项;
这里,根据OpenFlow协议的流转发规则,如果主机AH1和主机BH1之间已经进行过通讯,交换机AS2上可能存在有效的流表表项,此时交换机AS2直接按照流表转发数据报文即可;
步骤S506,根据OpenFlow协议规则,对于根据本地流表无法转发的数据报文,交换机AS2将报文通过OpenFlow消息向本域的控制器A进行上报;
步骤S508,控制器A根据交换机AS2上报的信息,查询本地的全局网络信息数据库,识别数据报文的目的地址位于网络域B,并进一步根据配置的交换路径规则选择交换机AS1向相邻网络域转发;
这里,控制器A根据本地的全局网络信息数据库查询结果,以及配置的交换路径规则,或者将数据报文直接路由到目的网络域,或者将数据报文路由到一个中间网络域进行中转;
步骤S510,控制器A向交换机AS2下发转发流表,指示本次流在交换机AS2上向交换机AS1转发;
步骤S512,控制器A向交换机AS1下发转发流表,指示本次流在交换机AS1上向与网络域B互联的端口进行转发;
步骤S514,交换机AS2根据控制器A下发的流表表项中的指令,将数据报文转发到交换机AS1;
步骤S516,交换机AS1根据本地流表表项,将数据报文转发到与网络域B互联的端口上。
在目的网络域,交换机收到来自其它网络域的数据报文时,对于目的地址为本域的数据报文,控制器控制本域交换机将数据报文转发到本域的网络主机或终端上。如图6所示,具体步骤如下:
步骤S602,与源网络域相连的交换机BS1收到一个数据报文;
步骤S604,交换机BS1查询本地流表无命中的表项;
这里,根据OpenFlow协议的流转发规则,如果交换机BS1以及收到过属于本次流的数据报文,交换机AS2上可能存在有效的流表表项,此时交换机BS1直接按照流表转发数据报文即可;
步骤S606,根据OpenFlow协议规则,对于根据本地流表无法转发的数据报文,交换机BS1将报文通过OpenFlow消息向本域的控制器B进行上报;
步骤S608,控制器B根据交换机BS1上报的信息,识别数据报文的目的地址位于本域,并进一步根据配置的交换路径规则选择交换机BS2向主机BH1进行转发;
这里,控制器B根据本地的全局网络信息数据库查询结果,判断数据报文的目的地址位于其它网络域,或者将数据报文直接路由到目的网络域,或者将数据报文路由到一个中间网络域进行中转;
步骤S610,控制器B向交换机BS1下发转发流表,指示本次流在交换机BS1上向交换机BS2转发;
步骤S612,控制器B向交换机BS2下发转发流表,指示本次流在交换机BS2上转发到与主机BH1相连的端口上;
步骤S614,交换机BS1根据控制器B下发的流表表项中的指令,将数据报文转发到交换机BS2;
步骤S616,交换机BS2根据本地流表表项,将数据报文转发到与主机BH1相连的端口上。
实施例3
图7为根据本发明实施例的控制器建立全局网络信息数据库的方法流程示意图。本实施例中,在OpenFlow网络域加入互联的OpenFlow网络时,控制器需要建立全局网络信息数据库:一个OpenFlow网络域的控制器要判断数据报文或数据流的目的地址,需要的全局网络信息包括,属于每个网络域的终端地址信息,或者具体的地址信息如MAC地址和或IP地址,或者是地址前缀。一个OpenFlow网络域的控制器要决定数据报文或数据流的交换路径,需要的全局网络信息包括,源网络域和目的网络域之间的需要经过那些中间网络域,以及路径上相邻的网络域之间的链接路径有哪些。当一个OpenFlow网络域加入互联的OpenFlow网络时,控制器建立全局网络信息数据库的方法描述如下
步骤S702,一个OpenFlow网络域申请加入一个互联的OpenFlow网络;
步骤S704,所述OpenFlow网络域的控制器收集本域内网络拓扑信息,包括交换机的标识、端口配置与状态,交换机之间的链路状态,以及本域内的终端MAC地址学习(对于三层路由网络的实现,还需要学习终端的IP地址);
步骤S706,所述OpenFlow网络域的控制器与其他网络域的控制器交换全局网络拓扑信息,包括网络域标识、主机/终端信息,以及网络域之间的链路状态信息等;
步骤S708,所述OpenFlow网络域的控制器指示本域的交换机进行域间拓扑探测,收集本域与邻居网络域之间的链路状态信息;
这里,所述域间拓扑探测与步骤S704,中的域内拓扑探测是同步进行的,涉及域间网络探测的方法及流程参照上述实施例中的描述。
步骤S710,所述OpenFlow网络域的控制器根据收集到的相关信息建立本地全局网络信息数据库。
具体地,域间拓扑信息在具体实施中可以通过网络规划进一步简化。例如预配置一个OpenFlow网络域X的域标识为01,域内交换机标识前缀为01,域内主机/终端的MAC地址前缀为0A~12,域内主机/终端的IP地址前缀为10.12.*或30.10.*。则OpenFlow网络域的控制器最终建立的全局网络信息数据库格式如表1所示:
表1控制器存储的全局网络信息数据格式示意
上述实施例提供的技术方案,可以解决不同OpenFlow网络域之间的数据交换问题。根据上述实施例所提供的上述技术方案,不同OpenFlow网络域的控制器之间形成控制面网络交互网络域之间的网络信息,而OpenFlow网络域的控制器只负责本域内交换机的管理与控制,便于独立管理的OpenFlow网络相互通信。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种OpenFlow网络域间的数据发送方法,其特征在于,包括:
本地网络域的控制器获取全局网络信息,其中,所述全局网络信息为所述本地网络域和相邻网络域之间进行数据交换所需要的信息;
对于目的地址不在所述本地网络域的数据报文,所述本地网络域的控制器根据所述全局网络信息,控制所述本地网络域的交换机将所述数据报文发送到所述相邻网络域;
其中,所述全局网络信息包括:本地网络域与相邻网络域间的链路状态信息,以及除所述本地网络域之外的其它网络域的网络信息;
所述链路状态信息通过以下方式之一获取:
所述本地网络域的控制器指示所述本地网络域的交换机将第一链路探测消息经由所述相邻网络域的交换机转发给所述相邻网络域的控制器;所述本地网络域的控制器接收来自所述相邻网络域的控制器转发的所述第一链路探测消息,以获取所述链路状态信息;
所述本地网络域的控制器接收所述本地网络域的交换机上报的第二链路探测消息,其中,所述第二链路探测消息来自于所述相邻网络域的交换机;所述本地网络域的控制器根据接收的所述第二链路探测消息获取所述链路状态信息。
2.根据权利要求1所述的方法,其特征在于,所述其它网络域的网络信息通过以下方式获取:
所述本地网络域的控制器从所述相邻网络域的控制器中获取所述其它网络域的网络信息。
3.根据权利要求1所述的方法,其特征在于,所述其它网络域的网络信息包括:
所述相邻网络域的终端设备地址信息和/或地址信息前缀和/或网络域标识信息,以及所述相邻网络域与所述其它网络域之间的链路状态信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述全局网络信息还包括:所述本地网络域与所述目的地址指示的目的网络域之间的链接路径信息。
5.一种OpenFlow网络域间的数据发送装置,位于本地网络域,其特征在于,所述装置包括:
获取模块,用于获取全局网络信息,其中,所述全局网络信息为所述本地网络域和相邻网络域之间进行数据交换所需要的信息;
控制模块,用于对目的地址不在所述本地网络域的数据报文,根据所述全局网络信息控制所述本地网络域的交换机将所述数据报文发送到所述相邻网络域;
其中,所述全局网络信息包括:本地网络域与相邻网络域间的链路状态信息和以及除所述本地网络域之外的其它网络域的网络信息;
所述获取模块包括以下之一:
发送单元,用于指示所述本地网络域的交换机将第一链路探测消息经由所述相邻网络域的交换机转发给所述相邻网络域的控制器;第一接收单元,用于接收来自所述相邻网络域的控制器转发的所述第一链路探测消息;第一获取单元,用于根据所述第一链路探测消息获取所述链路状态信息;
第二接收单元,用于接收所述本地网络域的交换机上报的第二链路探测消息,其中,所述第二链路探测消息来自于所述相邻网络域的交换机;第二获取单元,用于根据接收的所述第二链路探测消息获取所述链路状态信息。
6.根据权利要求5所述的装置,其特征在于,所述获取模块,用于从所述相邻网络域的控制器中获取所述其它网络域的网络信息。
CN201110406333.0A 2011-12-08 2011-12-08 OpenFlow网络域间的数据发送方法及装置 Active CN103166876B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110406333.0A CN103166876B (zh) 2011-12-08 2011-12-08 OpenFlow网络域间的数据发送方法及装置
PCT/CN2012/084021 WO2013082983A1 (zh) 2011-12-08 2012-11-02 OpenFlow网络域间的数据发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110406333.0A CN103166876B (zh) 2011-12-08 2011-12-08 OpenFlow网络域间的数据发送方法及装置

Publications (2)

Publication Number Publication Date
CN103166876A CN103166876A (zh) 2013-06-19
CN103166876B true CN103166876B (zh) 2018-05-04

Family

ID=48573544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110406333.0A Active CN103166876B (zh) 2011-12-08 2011-12-08 OpenFlow网络域间的数据发送方法及装置

Country Status (2)

Country Link
CN (1) CN103166876B (zh)
WO (1) WO2013082983A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT3002931T (pt) 2013-06-26 2019-10-31 Huawei Tech Co Ltd Método e sistema de atribuição de endereços ip
CN103401791B (zh) * 2013-07-25 2016-12-28 杭州华三通信技术有限公司 一种边界端口的识别方法和设备
CN103595647B (zh) 2013-11-27 2014-08-06 北京邮电大学 一种基于OpenFlow的SDN虚拟化平台下行信令处理方法
CN103647658B (zh) * 2013-11-27 2016-12-07 华为技术有限公司 一种软件定义网络系统中网络设备的管理方法和控制器
CN104735734B (zh) * 2013-12-19 2019-07-30 中兴通讯股份有限公司 一种业务处理的方法、网络控制器及转发设备
CN104754762B (zh) * 2013-12-30 2019-12-03 中兴通讯股份有限公司 软件自定义网络中自动发现控制器的方法、控制器及系统
CN104995878B (zh) * 2013-12-31 2019-02-05 华为技术有限公司 一种报文传输方法、设备及通信系统
CN104753828B (zh) 2013-12-31 2019-10-25 华为技术有限公司 一种sdn控制器、数据中心系统和路由连接方法
CN103825954B (zh) * 2014-03-10 2017-12-01 中国联合网络通信集团有限公司 一种OpenFlow控制方法及相应插件、平台和网络
ES2788632T3 (es) * 2014-04-17 2020-10-22 Huawei Tech Co Ltd Método y aparato para el establecimiento de una ruta
US9596172B2 (en) 2014-06-27 2017-03-14 International Business Machines Corporation Mechanism for exchange of routing data between controllers
CN105376197B (zh) * 2014-08-22 2019-02-22 中国电信股份有限公司 实现层次化网络抽象的方法和系统
CN104243270B (zh) * 2014-09-25 2017-11-24 新华三技术有限公司 一种建立隧道的方法和装置
CN104243317B (zh) * 2014-09-26 2018-04-20 新华三技术有限公司 一种实现ip路由转发的方法和装置
CN105450532B (zh) * 2014-09-28 2018-10-09 新华三技术有限公司 软件定义网络中的三层转发方法及装置
CN104363173A (zh) * 2014-10-31 2015-02-18 武汉烽火网络有限责任公司 一种转发路由信息生成方法、控制器及软件定义网络系统
WO2016082203A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 一种网络通信方法、设备和互联网系统
EP3229413B1 (en) * 2014-12-31 2021-11-17 Huawei Technologies Co., Ltd. Cross-domain cooperative method, cooperative device and control device for network as a service business
CN106161148B (zh) * 2015-04-01 2019-12-13 安富科技股份有限公司 多网域媒体装置的音频网络建置方法
CN104852847A (zh) * 2015-04-07 2015-08-19 胡汉强 一种数据传输方法及控制面设备、转发面设备
CN106330781B (zh) * 2015-06-26 2020-02-07 中兴通讯股份有限公司 堆叠系统协议控制和转发链路分离的方法、装置及交换机
CN106161457B (zh) * 2016-07-26 2019-09-27 刘昱 基于sdn的网络域隔离装置及方法
WO2018049545A1 (zh) * 2016-09-13 2018-03-22 深圳前海达闼云端智能科技有限公司 Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品
CN106656793B (zh) * 2016-12-29 2019-12-13 中山大学 一种sdn网络与ip网络的数据交互方法
CN107370673B (zh) * 2017-06-20 2020-04-28 华为技术有限公司 一种网络中建立转发路径的方法、控制器及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459610A (zh) * 2008-12-18 2009-06-17 北京邮电大学 一种面向多层多域分布式光网络的路由装置及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102349268B (zh) * 2009-03-09 2015-11-25 日本电气株式会社 OpenFlow通信系统和OpenFlow通信方法
CN102714628B (zh) * 2010-01-05 2015-11-25 日本电气株式会社 通信系统、控制装置、处理规则设置方法和分组传输方法
JP5493926B2 (ja) * 2010-02-01 2014-05-14 日本電気株式会社 インタフェース制御方式、インタフェース制御方法、及びインタフェース制御用プログラム
CN102594689B (zh) * 2012-02-22 2015-06-10 中兴通讯股份有限公司 一种分布式网络控制方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459610A (zh) * 2008-12-18 2009-06-17 北京邮电大学 一种面向多层多域分布式光网络的路由装置及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OpenFlow Switch Specification Version 1.1.0 Implemented;OpenFlow Consortium;《OpenFlow Switch Specification Version 1.1.0 Implemented ( Wire Protocol 0x02 )》;20110228;全文 *
域间授权互操作研究综述;王雅哲 等;《计算机研究与发展》;20100527;全文 *

Also Published As

Publication number Publication date
CN103166876A (zh) 2013-06-19
WO2013082983A1 (zh) 2013-06-13

Similar Documents

Publication Publication Date Title
CN103166876B (zh) OpenFlow网络域间的数据发送方法及装置
CN104780066B (zh) 针对虚拟网络分组流的物理路径确定
CN105553849B (zh) 一种传统ip网络与sptn网络互通方法与系统
CN104350467B (zh) 用于使用sdn的云安全性的弹性实行层
CN104702512B (zh) 为软件定义网络提供网络管理的分级控制系统及计算机实现方法
US20210211359A1 (en) SDN Network System, Controller, and Controlling Method
US9385949B2 (en) Routing controlled by subnet managers
CN105051688B (zh) 经扩展的标记联网
CN104067566B (zh) 在多区域网络中改进最短路径桥接
EP2544417B1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
CN104335537B (zh) 用于层2多播多路径传送的系统和方法
CN105245632B (zh) 一种sdn网络中不同网段主机间通信方法
CN103166826B (zh) 用于实现光纤信道区域策略的方法和装置
Ochoa Aday et al. Current trends of topology discovery in OpenFlow-based software defined networks
CN104283722B (zh) Sdn链路状态信息收集方法及装置
JP2006086889A (ja) L2−vpnサービスを提供するプロバイダ網、及びエッジルータ
CN103546374A (zh) 一种边缘二层网络中转发报文的方法和装置
CN107733795B (zh) 以太网虚拟私有网络evpn与公网互通方法及其装置
CN106576075A (zh) 虚拟分布式路由环境中的进入ecmp
CN104092576B (zh) 一种网络拓扑计算方法和装置
CN107547349A (zh) 一种虚拟机迁移的方法及装置
CN109729019B (zh) 一种evpn组网中专线业务的限速方法及装置
CN106656905A (zh) 防火墙集群实现方法及装置
CN105812257B (zh) 业务链路由管理系统及其使用方法
WO2021098727A1 (zh) 网络部署的方法及系统

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