CN103401791A - 一种边界端口的识别方法和设备 - Google Patents

一种边界端口的识别方法和设备 Download PDF

Info

Publication number
CN103401791A
CN103401791A CN2013103196090A CN201310319609A CN103401791A CN 103401791 A CN103401791 A CN 103401791A CN 2013103196090 A CN2013103196090 A CN 2013103196090A CN 201310319609 A CN201310319609 A CN 201310319609A CN 103401791 A CN103401791 A CN 103401791A
Authority
CN
China
Prior art keywords
openflow
port
network equipment
message
network
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
CN2013103196090A
Other languages
English (en)
Other versions
CN103401791B (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.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310319609.0A priority Critical patent/CN103401791B/zh
Publication of CN103401791A publication Critical patent/CN103401791A/zh
Application granted granted Critical
Publication of CN103401791B publication Critical patent/CN103401791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种边界端口的识别方法和设备,该方法包括:OpenFlow控制器获得所有OpenFlow网络设备的设备标识和每个OpenFlow网络设备的所有物理端口的端口标识;所述OpenFlow控制器为OpenFlow网络设备的物理端口构造网络边界发现报文;所述OpenFlow控制器将所述网络边界发现报文发送给所述OpenFlow网络设备;所述OpenFlow控制器在收到网络边界发现报文后,利用该网络边界发现报文确定内部端口;所述OpenFlow控制器确定内部端口之外的其它物理端口为边界端口。本发明实施例中,OpenFlow控制器能够识别出OpenFlow网络设备与OpenFlow网络设备之间的内部端口,并能够识别出OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。

Description

一种边界端口的识别方法和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种边界端口的识别方法和设备。
背景技术
OpenFlow(新型网络交换模型)是GENI(全球网络创新环境)的一个研究主题,用于使科研人员在现有商用网络上进行新的网络协议实验,从而使科研机构可以省去搭建实验网络的费用,并且使得实验数据来自更接近真实的环境。随着OpenFlow技术的完善,OpenFlow的应用已扩展到广域网和数据中心领域。其中,OpenFlow的思想是:分离控制平面和数据平面,二者之间使用标准协议通信;数据平面采用基于流的方式进行转发,非常灵活和通用;层次化的集中控制平面,提供开放的API(Application Programming Interface,应用程序编程接口)供第三方开发;数据平面和控制平面支持虚拟化。
如图1所示,为OpenFlow网络的组网示意图,在OpenFlow网络中,包括OpenFlow网络设备(如OpenFlow交换机)、OpenFlow控制器和安全通道。
安全通道:在OpenFlow网络设备和OpenFlow控制器之间,通过预先配置的安全通道(基于SSL(Secure Sockets Layer,安全套接层))进行通信。
OpenFlow控制器:为OpenFlow网络的控制中心,其一般是运行实验程序的PC(Personal Computer,个人计算机)或者服务器。OpenFlow控制器上可能运行实验程序或第三方开发软件,并用于对流表项进行操作,根据用户配置或者动态运行协议生成流表,并将流表发送到OpenFlow网络设备。
OpenFlow网络设备:接收OpenFlow控制器设置的流表,并根据流表指导报文处理。流表包含一系列用于匹配报文的流表项,对于进入OpenFlow网络设备的报文需要进行流表项的匹配;如果匹配成功则进行相应动作处理,如转发到多个端口或者丢弃;如果匹配不成功则通过安全通道转发到OpenFlow控制器,由OpenFlow控制器进行处理。另一方面,OpenFlow网络设备主动向OpenFlow控制器上报自身的状态和事件,如端口UP(正常)/DOWN(故障)。
例如,OpenFlow控制器在OpenFlow网络设备上创建流表如下:[目的IP5.6.7.8,转发至port1];基于此流表,OpenFlow网络设备在收到目的IP地址为5.6.7.8的数据流量时,能够匹配到上述流表,并将数据流量转发至port1。
现有技术中,在存在OpenFlow网络设备和非OpenFlow网络设备的网络中,无法识别出OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
发明内容
本发明实施例提供一种边界端口的识别方法和设备,以识别出OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
为了达到上述目的,本发明实施例提供一种边界端口的识别方法,应用于包括OpenFlow控制器、OpenFlow网络设备、非OpenFlow网络设备的网络中,该方法包括:所述OpenFlow控制器获得所有OpenFlow网络设备的设备标识以及每个OpenFlow网络设备的所有物理端口的端口标识;所述OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,所述网络边界发现报文中携带所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识;所述OpenFlow控制器将所述网络边界发现报文发送给所述OpenFlow网络设备;由所述OpenFlow网络设备通过所述物理端口发送所述网络边界发现报文,并由其它收到所述网络边界发现报文的OpenFlow网络设备将所述网路边界发现报文发送给所述OpenFlow控制器;所述OpenFlow控制器确定自身收到的所有网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识所对应的物理端口为OpenFlow网络中的内部端口,确定剩余的物理端口为OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
所述OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,具体包括:
步骤A、所述OpenFlow控制器判断当前是否存在未被选择过的设备标识;如果是,则执行步骤B;如果否,则结束流程;步骤B、所述OpenFlow控制器选择未被选择过的设备标识;执行步骤C;步骤C、所述OpenFlow控制器判断该设备标识对应的OpenFlow网络设备的所有物理端口中,当前是否存在未被选择过的端口标识;如果是,则执行步骤D;如果否,则执行步骤A;步骤D、所述OpenFlow控制器从该设备标识对应的OpenFlow网络设备的所有物理端口中选择一个未被选择过的端口标识;之后执行步骤E;步骤E、所述OpenFlow控制器利用该设备标识和该端口标识为OpenFlow网络设备的物理端口构造对应的网络边界发现报文;之后执行步骤C。
所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识携带于所述网络边界发现报文的报文载荷中;由所述OpenFlow网络设备从所述报文载荷中解析到所述端口标识,并通过所述端口标识对应的物理端口发送所述网络边界发现报文。所述网络边界发现报文的报文头中还携带用于指导所述OpenFlow网络设备通过所述物理端口发送所述网络边界发现报文的信息;由所述OpenFlow网络设备从所述报文头中解析到所述信息,并通过所述信息指示的物理端口发送所述网络边界发现报文。
所述OpenFlow控制器确定内部端口以及边界端口的过程,进一步包括:所述OpenFlow控制器在收到网络边界发现报文后,提取所述网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识;OpenFlow控制器标记所述OpenFlow网络设备的设备标识和所述物理端口的端口标识所对应的物理端口为内部端口;所述OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,并标记内部端口之外的其它物理端口为边界端口。
本发明实施例提供一种OpenFlow控制器,应用于包括所述OpenFlow控制器、OpenFlow网络设备、非OpenFlow网络设备的网络中,所述OpenFlow控制器具体包括:获得模块,用于获得所有OpenFlow网络设备的设备标识以及每个OpenFlow网络设备的所有物理端口的端口标识;构造模块,用于遍历所有OpenFlow网络设备的所有物理端口,为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,所述网络边界发现报文中携带所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识;发送模块,用于将所述网络边界发现报文发送给所述OpenFlow网络设备;由所述OpenFlow网络设备通过所述物理端口发送所述网络边界发现报文,并由其它收到所述网络边界发现报文的OpenFlow网络设备将所述网路边界发现报文发送给所述OpenFlow控制器;确定模块,用于确定本OpenFlow控制器收到的所有网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识所对应的物理端口为OpenFlow网络中的内部端口,并确定剩余的物理端口为OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
所述构造模块,具体用于通过如下步骤构造网络边界发现报文:步骤A、判断当前是否存在未被选择过的设备标识;如果是,执行步骤B;如果否,结束流程;步骤B、选择未被选择过的设备标识;执行步骤C;步骤C、判断该设备标识对应的OpenFlow网络设备的所有物理端口中,当前是否存在未被选择过的端口标识;如果是,执行步骤D;如果否,执行步骤A;步骤D、从该设备标识对应的OpenFlow网络设备的所有物理端口中选择一个未被选择过的端口标识;之后执行步骤E;步骤E、利用该设备标识和该端口标识为OpenFlow网络设备的物理端口构造对应的网络边界发现报文;执行步骤C。
所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识携带于所述网络边界发现报文的报文载荷中;由所述OpenFlow网络设备从所述报文载荷中解析到所述端口标识,并通过所述端口标识对应的物理端口发送所述网络边界发现报文。所述网络边界发现报文的报文头中还携带用于指导OpenFlow网络设备通过物理端口发送所述网络边界发现报文的信息;由所述OpenFlow网络设备从所述报文头中解析到所述信息,并通过所述信息指示的物理端口发送所述网络边界发现报文。
所述确定模块,具体用于在收到网络边界发现报文后,提取所述网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识;标记所述OpenFlow网络设备的设备标识和所述物理端口的端口标识所对应的物理端口为内部端口;遍历所有OpenFlow网络设备的所有物理端口,并标记内部端口之外的其它物理端口为边界端口。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,在包括OpenFlow控制器、OpenFlow网络设备、非OpenFlow网络设备的网络中,由OpenFlow控制器为所有OpenFlow网络设备的所有物理端口构造网络边界发现报文,使得OpenFlow控制器能够识别出OpenFlow网络设备与OpenFlow网络设备之间的内部端口,继而使得OpenFlow控制器能够识别出OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
附图说明
图1是现有技术中OpenFlow网络的组网示意图;
图2是本发明实施例的应用场景示意图;
图3是本发明实施例提供的一种边界端口的识别方法流程示意图;
图4是本发明实施例提供的一种OpenFlow控制器的结构示意图。
具体实施方式
本发明实施例提供一种边界端口的识别方法,应用于包括OpenFlow控制器、OpenFlow网络设备(如OpenFlow交换机)、非OpenFlow网络设备(如现有网络的普通交换机)的网络中。以图2为本发明实施例的应用场景示意图,该网络可以包括OpenFlow控制器、OpenFlow网络设备1、OpenFlow网络设备2、OpenFlow网络设备3、非OpenFlow网络设备1、非OpenFlow网络设备2和非OpenFlow网络设备3。以图2为例,OpenFlow网络设备1上包括端口1、端口2和端口3;OpenFlow网络设备2上包括端口4、端口5和端口6;OpenFlow网络设备3上包括端口7和端口8。
需要注意的是,OpenFlow控制器与OpenFlow网络设备之间通过预先配置的安全通道进行通信,且OpenFlow网络设备上不会有物理端口直接连接到OpenFlow控制器。在一种具体的实现方式中,OpenFlow网络设备可以通过指定的网管口与OpenFlow控制器连接,该网管口不是OpenFlow网络设备上的物理端口;在另一种具体的实现方式中,OpenFlow控制器可以不与OpenFlow网络设备直接连接,而是通过其它设备与OpenFlow网络设备通信,并实现对OpenFlow网络设备的管理和控制。
在上述应用场景下,如图3所示,该方法包括以下步骤:
步骤301,OpenFlow控制器获得所有OpenFlow网络设备的设备标识以及每个OpenFlow网络设备所承载的所有物理端口的端口标识。
其中,OpenFlow控制器可以直接获取到与本OpenFlow控制器连接的所有OpenFlow网络设备的设备标识(可以称为DPID,其是OpenFlow网络设备的唯一标识),以及每个OpenFlow网络设备所承载的所有物理端口的端口标识(可以称为PortNum,即物理端口通过PortNum标识)。
在图2所示的应用场景下,OpenFlow控制器获得所有OpenFlow网络设备的设备标识分别为OpenFlow网络设备1、OpenFlow网络设备2和OpenFlow网络设备3;OpenFlow控制器获得OpenFlow网络设备1所承载的所有物理端口的端口标识分别为端口1、端口2和端口3,OpenFlow网络设备2所承载的所有物理端口的端口标识分别为端口4、端口5和端口6,OpenFlow网络设备3所承载的所有物理端口的端口标识分别为端口7和端口8。
步骤302,OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,并为OpenFlow网络设备的物理端口构造对应的网络边界发现报文。
其中,该网络边界发现报文中携带该OpenFlow网络设备的设备标识以及该物理端口的端口标识。
本发明实施例中,OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,并为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,具体包括但不限于如下方式:
步骤A、OpenFlow控制器判断当前是否存在未被选择过的设备标识;如果是,则执行步骤B;如果否,则结束流程;
步骤B、OpenFlow控制器选择未被选择过的设备标识;执行步骤C;
步骤C、OpenFlow控制器判断该设备标识对应的OpenFlow网络设备的所有物理端口中,当前是否存在未被选择过的端口标识;如果是,则执行步骤D;如果否,则执行步骤A;
步骤D、OpenFlow控制器从该设备标识对应的OpenFlow网络设备的所有物理端口中选择一个未被选择过的端口标识;之后执行步骤E;
步骤E、OpenFlow控制器利用该设备标识和该端口标识为OpenFlow网络设备的物理端口构造对应的网络边界发现报文;之后执行步骤C。
以图2为例,OpenFlow控制器为OpenFlow网络设备1的端口1构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备1,网络边界发现报文中携带的端口标识为端口1。OpenFlow控制器为OpenFlow网络设备1的端口2构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备1,网络边界发现报文中携带的端口标识为端口2。OpenFlow控制器为OpenFlow网络设备1的端口3构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备1,网络边界发现报文中携带的端口标识为端口3。OpenFlow控制器为OpenFlow网络设备2的端口4构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备2,网络边界发现报文中携带的端口标识为端口4。OpenFlow控制器为OpenFlow网络设备2的端口5构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备2,网络边界发现报文中携带的端口标识为端口5。OpenFlow控制器为OpenFlow网络设备2的端口6构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备2,网络边界发现报文中携带的端口标识为端口6。OpenFlow控制器为OpenFlow网络设备3的端口7构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备3,网络边界发现报文中携带的端口标识为端口7。OpenFlow控制器为OpenFlow网络设备3的端口8构造网络边界发现报文,网络边界发现报文中携带的设备标识为OpenFlow网络设备3,网络边界发现报文中携带的端口标识为端口8。
步骤303,OpenFlow控制器将网络边界发现报文发送给OpenFlow网络设备。具体的,OpenFlow控制器通过本OpenFlow控制器与OpenFlow网络设备之间的安全通道将网络边界发现报文发送给OpenFlow网络设备。
以图2为例,OpenFlow控制器通过OpenFlow控制器与OpenFlow网络设备1间的安全通道将为OpenFlow网络设备1的端口1构造的网络边界发现报文、为OpenFlow网络设备1的端口2构造的网络边界发现报文、为OpenFlow网络设备1的端口3构造的网络边界发现报文发送给OpenFlow网络设备1。OpenFlow控制器通过OpenFlow控制器与OpenFlow网络设备2间的安全通道将为OpenFlow网络设备2的端口4构造的网络边界发现报文、为OpenFlow网络设备2的端口5构造的网络边界发现报文、为OpenFlow网络设备2的端口6构造的网络边界发现报文发送给OpenFlow网络设备2。OpenFlow控制器通过OpenFlow控制器与OpenFlow网络设备3间的安全通道将为OpenFlow网络设备3的端口7构造的网络边界发现报文、为OpenFlow网络设备3的端口8构造的网络边界发现报文发送给OpenFlow网络设备3。
步骤304,OpenFlow网络设备在收到来自OpenFlow控制器的网络边界发现报文时,通过相应的物理端口发送该网络边界发现报文。
本发明实施例中,网络边界发现报文中携带了设备标识和端口标识,且OpenFlow网络设备的设备标识以及物理端口的端口标识携带于该网络边界发现报文的报文载荷中;OpenFlow网络设备在收到来自OpenFlow控制器的网络边界发现报文时,可以直接从报文载荷中解析到端口标识,继而通过网络边界发现报文中携带的端口标识所对应的物理端口发送网络边界发现报文。
在本发明实施例的一种优选实施方式中,网络边界发现报文的报文头中还可以携带用于指导OpenFlow网络设备通过物理端口发送网络边界发现报文的信息;基于此信息,OpenFlow网络设备在收到来自OpenFlow控制器的网络边界发现报文时,可以直接从报文头中解析到该信息,继而通过该信息指示的物理端口发送该网络边界发现报文。例如,网络边界发现报文中携带用于指导OpenFlow网络设备1通过端口1发送网络边界发现报文的信息时,OpenFlow网络设备1在收到相应的网络边界发现报文后,确定需要通过端口1发送网络边界发现报文,并通过该端口1发送网络边界发现报文。
在图2所示的应用场景下,OpenFlow网络设备1在接收到来自OpenFlow控制器的为OpenFlow网络设备1的端口1构造的网络边界发现报文时,通过端口1发送该网络边界发现报文。OpenFlow网络设备1在接收到来自OpenFlow控制器的为OpenFlow网络设备1的端口2构造的网络边界发现报文时,通过端口2发送该网络边界发现报文。OpenFlow网络设备1在接收到来自OpenFlow控制器的为OpenFlow网络设备1的端口3构造的网络边界发现报文时,通过端口3发送该网络边界发现报文。OpenFlow网络设备2在接收到来自OpenFlow控制器的为OpenFlow网络设备2的端口4构造的网络边界发现报文时,通过端口4发送该网络边界发现报文。OpenFlow网络设备2在接收到来自OpenFlow控制器的为OpenFlow网络设备2的端口5构造的网络边界发现报文时,通过端口5发送该网络边界发现报文。OpenFlow网络设备2在接收到来自OpenFlow控制器的为OpenFlow网络设备2的端口6构造的网络边界发现报文时,通过端口6发送该网络边界发现报文。OpenFlow网络设备3在接收到来自OpenFlow控制器的为OpenFlow网络设备3的端口7构造的网络边界发现报文时,通过端口7发送该网络边界发现报文。OpenFlow网络设备3在接收到来自OpenFlow控制器的为OpenFlow网络设备3的端口8构造的网络边界发现报文时,通过端口8发送该网络边界发现报文。
步骤305,OpenFlow网络设备在收到来自其它OpenFlow网络设备的网络边界发现报文之后,将该网络边界发现报文发送给OpenFlow控制器。具体的,该OpenFlow网络设备可以通过OpenFlow控制器与本OpenFlow网络设备之间的安全通道将该网络边界发现报文发送给OpenFlow控制器。
在图2所示的应用场景下,OpenFlow网络设备1在接收到OpenFlow网络设备2通过端口4发送的网络边界发现报文时,通过OpenFlow控制器与本OpenFlow网络设备1之间的安全通道将该网络边界发现报文发送给OpenFlow控制器。OpenFlow网络设备1在接收到OpenFlow网络设备3通过端口7发送的网络边界发现报文时,通过OpenFlow控制器与本OpenFlow网络设备1之间的安全通道将该网络边界发现报文发送给OpenFlow控制器。OpenFlow网络设备2在接收到OpenFlow网络设备1通过端口2发送的网络边界发现报文时,通过OpenFlow控制器与本OpenFlow网络设备2之间的安全通道将该网络边界发现报文发送给OpenFlow控制器。OpenFlow网络设备2在接收到OpenFlow网络设备3通过端口8发送的网络边界发现报文时,通过OpenFlow控制器与本OpenFlow网络设备2之间的安全通道将该网络边界发现报文发送给OpenFlow控制器。OpenFlow网络设备3在接收到OpenFlow网络设备1通过端口1发送的网络边界发现报文时,通过OpenFlow控制器与本OpenFlow网络设备3之间的安全通道将该网络边界发现报文发送给OpenFlow控制器。OpenFlow网络设备3在接收到OpenFlow网络设备2通过端口5发送的网络边界发现报文时,通过OpenFlow控制器与本OpenFlow网络设备3之间的安全通道将该网络边界发现报文发送给OpenFlow控制器。
步骤306,OpenFlow控制器在收到网络边界发现报文后,确定网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识对应的物理端口为OpenFlow网络设备与OpenFlow网络设备之间的内部端口。
步骤307,OpenFlow控制器确定所有OpenFlow网络设备所承载的所有物理端口中,除了内部端口之外的其它物理端口(即剩余的物理端口)为OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
本发明实施例的优选实施方式中,OpenFlow控制器确定内部端口以及边界端口的过程具体包括:OpenFlow控制器在收到网络边界发现报文后,提取网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识;OpenFlow控制器标记OpenFlow网络设备的设备标识和物理端口的端口标识所对应的物理端口为内部端口;OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,并标记内部端口之外的其它物理端口为边界端口。
为了保证OpenFlow控制器能够准确遍历到所有的内部端口,该OpenFlow控制器可以在将为所有物理端口构造的网络边界发现报文均发送完成之后,在等待预设时间(该预设时间可以根据实际经验值选择,以保证OpenFlow控制器能够收到所有OpenFlow网络设备返回的网络边界发现报文)之后,遍历所有OpenFlow网络设备的所有物理端口,并标记内部端口之外的其它物理端口为边界端口。进一步的,该OpenFlow控制器还可以多次发送每个物理端口所对应的网络边界发现报文,以进一步保证OpenFlow控制器能够收到网络边界发现报文,继而能够准确遍历到所有的内部端口。
在图2所示的应用场景下,OpenFlow网络设备1在接收到OpenFlow网络设备2通过端口4发送的网络边界发现报文时,将该网络边界发现报文发送给OpenFlow控制器,由于该网络边界发现报文中携带的设备标识为OpenFlow网络设备2,该网络边界发现报文中携带的端口标识为端口4,因此OpenFlow控制器标记OpenFlow网络设备2的端口4为内部端口。OpenFlow网络设备1在接收到OpenFlow网络设备3通过端口7发送的网络边界发现报文时,将该网络边界发现报文发送给OpenFlow控制器,由于该网络边界发现报文中携带的设备标识为OpenFlow网络设备3,该网络边界发现报文中携带的端口标识为端口7,因此OpenFlow控制器标记OpenFlow网络设备3的端口7为内部端口。OpenFlow网络设备2在接收到OpenFlow网络设备1通过端口2发送的网络边界发现报文时,将该网络边界发现报文发送给OpenFlow控制器,由于该网络边界发现报文中携带的设备标识为OpenFlow网络设备1,该网络边界发现报文中携带的端口标识为端口2,因此OpenFlow控制器标记OpenFlow网络设备1的端口2为内部端口。OpenFlow网络设备2在接收到OpenFlow网络设备3通过端口8发送的网络边界发现报文时,将该网络边界发现报文发送给OpenFlow控制器,由于该网络边界发现报文中携带的设备标识为OpenFlow网络设备3,该网络边界发现报文中携带的端口标识为端口8,因此OpenFlow控制器标记OpenFlow网络设备3的端口8为内部端口。OpenFlow网络设备3在接收到OpenFlow网络设备1通过端口1发送的网络边界发现报文时,将该网络边界发现报文发送给OpenFlow控制器,由于该网络边界发现报文中携带的设备标识为OpenFlow网络设备1,该网络边界发现报文中携带的端口标识为端口1,因此OpenFlow控制器标记OpenFlow网络设备1的端口1为内部端口。OpenFlow网络设备3在接收到OpenFlow网络设备2通过端口5发送的网络边界发现报文时,将该网络边界发现报文发送给OpenFlow控制器,由于该网络边界发现报文中携带的设备标识为OpenFlow网络设备2,该网络边界发现报文中携带的端口标识为端口5,因此OpenFlow控制器标记OpenFlow网络设备2的端口5为内部端口。
本发明实施例中,基于上述处理,OpenFlow控制器标记OpenFlow网络设备1的端口1为内部端口,并标记OpenFlow网络设备1的端口2为内部端口,并标记OpenFlow网络设备2的端口4为内部端口,并标记OpenFlow网络设备2的端口5为内部端口,并标记OpenFlow网络设备3的端口7为内部端口,并标记OpenFlow网络设备3的端口8为内部端口。
进一步的,所有OpenFlow网络设备的所有物理端口为OpenFlow网络设备1的端口1、端口2和端口3,OpenFlow网络设备2的端口4、端口5和端口6,OpenFlow网络设备3的端口7和端口8。因此,OpenFlow控制器标记OpenFlow网络设备1的端口3和OpenFlow网络设备2的端口6为边界端口。
综上所述,本发明实施例中,在包括OpenFlow控制器、OpenFlow网络设备、非OpenFlow网络设备的网络中,由OpenFlow控制器为所有OpenFlow网络设备的所有物理端口构造网络边界发现报文,并基于网络边界发现报文的接收情况,使得OpenFlow控制器能够识别出OpenFlow网络设备与OpenFlow网络设备之间的内部端口,继而使得OpenFlow控制器能够识别出OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
基于与上述方法同样的发明构思,本发明实施例中提供了一种OpenFlow控制器,应用于包括所述OpenFlow控制器、OpenFlow网络设备、非OpenFlow网络设备的网络中,如图4所示,所述OpenFlow控制器具体包括:
获得模块11,用于获得所有OpenFlow网络设备的设备标识以及每个OpenFlow网络设备的所有物理端口的端口标识;
构造模块12,用于遍历所有OpenFlow网络设备的所有物理端口,为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,所述网络边界发现报文中携带所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识;
发送模块13,用于将所述网络边界发现报文发送给所述OpenFlow网络设备;由所述OpenFlow网络设备通过所述物理端口发送所述网络边界发现报文,并由其它收到所述网络边界发现报文的OpenFlow网络设备将所述网路边界发现报文发送给所述OpenFlow控制器;
确定模块14,用于确定本OpenFlow控制器收到的所有网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识所对应的物理端口为OpenFlow网络中的内部端口,并确定剩余的物理端口为OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
所述构造模块12,具体用于通过如下步骤构造网络边界发现报文:步骤A、判断当前是否存在未被选择过的设备标识;如果是,执行步骤B;如果否,结束流程;步骤B、选择未被选择过的设备标识;执行步骤C;步骤C、判断该设备标识对应的OpenFlow网络设备的所有物理端口中,当前是否存在未被选择过的端口标识;如果是,执行步骤D;如果否,执行步骤A;步骤D、从该设备标识对应的OpenFlow网络设备的所有物理端口中选择一个未被选择过的端口标识;执行步骤E;步骤E、利用该设备标识和该端口标识为OpenFlow网络设备的物理端口构造对应的网络边界发现报文;执行步骤C。
本发明实施例中,所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识携带于所述网络边界发现报文的报文载荷中;由所述OpenFlow网络设备从所述报文载荷中解析到所述端口标识,并通过所述端口标识对应的物理端口发送所述网络边界发现报文。
本发明实施例中,所述网络边界发现报文的报文头中还携带用于指导OpenFlow网络设备通过物理端口发送所述网络边界发现报文的信息;由所述OpenFlow网络设备从所述报文头中解析到所述信息,并通过所述信息指示的物理端口发送所述网络边界发现报文。
所述确定模块14,具体用于在收到网络边界发现报文后,提取所述网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识;标记所述OpenFlow网络设备的设备标识和所述物理端口的端口标识所对应的物理端口为内部端口;遍历所有OpenFlow网络设备的所有物理端口,并标记内部端口之外的其它物理端口为边界端口。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种边界端口的识别方法,应用于包括OpenFlow控制器、OpenFlow网络设备、非OpenFlow网络设备的网络中,其特征在于,该方法包括:
所述OpenFlow控制器获得所有OpenFlow网络设备的设备标识以及每个OpenFlow网络设备的所有物理端口的端口标识;
所述OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,所述网络边界发现报文中携带所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识;
所述OpenFlow控制器将所述网络边界发现报文发送给所述OpenFlow网络设备;由所述OpenFlow网络设备通过所述物理端口发送所述网络边界发现报文,并由其它收到所述网络边界发现报文的OpenFlow网络设备将所述网路边界发现报文发送给所述OpenFlow控制器;
所述OpenFlow控制器确定自身收到的所有网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识所对应的物理端口为OpenFlow网络中的内部端口,并确定剩余的物理端口为OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
2.如权利要求1所述的方法,其特征在于,所述OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,具体包括:
步骤A、所述OpenFlow控制器判断当前是否存在未被选择过的设备标识;如果是,则执行步骤B;如果否,则结束流程;
步骤B、所述OpenFlow控制器选择未被选择过的设备标识;执行步骤C;
步骤C、所述OpenFlow控制器判断该设备标识对应的OpenFlow网络设备的所有物理端口中,当前是否存在未被选择过的端口标识;如果是,则执行步骤D;如果否,则执行步骤A;
步骤D、所述OpenFlow控制器从该设备标识对应的OpenFlow网络设备的所有物理端口中选择一个未被选择过的端口标识;之后执行步骤E;
步骤E、所述OpenFlow控制器利用该设备标识和该端口标识为OpenFlow网络设备的物理端口构造对应的网络边界发现报文;之后执行步骤C。
3.如权利要求1所述的方法,其特征在于,所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识携带于所述网络边界发现报文的报文载荷中;由所述OpenFlow网络设备从所述报文载荷中解析到所述端口标识,并通过所述端口标识对应的物理端口发送所述网络边界发现报文。
4.如权利要求1所述的方法,其特征在于,所述网络边界发现报文的报文头中还携带用于指导所述OpenFlow网络设备通过所述物理端口发送所述网络边界发现报文的信息;由所述OpenFlow网络设备从所述报文头中解析到所述信息,并通过所述信息指示的物理端口发送所述网络边界发现报文。
5.如权利要求1所述的方法,其特征在于,所述OpenFlow控制器确定内部端口以及边界端口的过程,进一步包括:
所述OpenFlow控制器在收到网络边界发现报文后,提取所述网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识;
所述OpenFlow控制器标记所述OpenFlow网络设备的设备标识和所述物理端口的端口标识所对应的物理端口为内部端口;
所述OpenFlow控制器遍历所有OpenFlow网络设备的所有物理端口,并标记内部端口之外的其它物理端口为边界端口。
6.一种OpenFlow控制器,应用于包括所述OpenFlow控制器、OpenFlow网络设备、非OpenFlow网络设备的网络中,其特征在于,所述OpenFlow控制器具体包括:
获得模块,用于获得所有OpenFlow网络设备的设备标识以及每个OpenFlow网络设备的所有物理端口的端口标识;
构造模块,用于遍历所有OpenFlow网络设备的所有物理端口,为OpenFlow网络设备的物理端口构造对应的网络边界发现报文,所述网络边界发现报文中携带所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识;
发送模块,用于将所述网络边界发现报文发送给所述OpenFlow网络设备;由所述OpenFlow网络设备通过所述物理端口发送所述网络边界发现报文,并由其它收到所述网络边界发现报文的OpenFlow网络设备将所述网路边界发现报文发送给所述OpenFlow控制器;
确定模块,用于确定本OpenFlow控制器收到的所有网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识所对应的物理端口为OpenFlow网络中的内部端口,并确定剩余的物理端口为OpenFlow网络设备与非OpenFlow网络设备之间的边界端口。
7.如权利要求6所述的OpenFlow控制器,其特征在于,
所述构造模块,具体用于通过如下步骤构造网络边界发现报文:
步骤A、判断当前是否存在未被选择过的设备标识;如果是,则执行步骤B;如果否,则结束流程;
步骤B、选择未被选择过的设备标识;执行步骤C;
步骤C、判断该设备标识对应的OpenFlow网络设备的所有物理端口中,当前是否存在未被选择过的端口标识;如果是,则执行步骤D;如果否,则执行步骤A;
步骤D、从该设备标识对应的OpenFlow网络设备的所有物理端口中选择一个未被选择过的端口标识;之后执行步骤E;
步骤E、利用该设备标识和该端口标识为OpenFlow网络设备的物理端口构造对应的网络边界发现报文;之后执行步骤C。
8.如权利要求6所述的OpenFlow控制器,其特征在于,所述OpenFlow网络设备的设备标识以及所述物理端口的端口标识携带于所述网络边界发现报文的报文载荷中;由所述OpenFlow网络设备从所述报文载荷中解析到所述端口标识,并通过所述端口标识对应的物理端口发送所述网络边界发现报文。
9.如权利要求6所述的OpenFlow控制器,其特征在于,所述网络边界发现报文的报文头中还携带用于指导OpenFlow网络设备通过物理端口发送所述网络边界发现报文的信息;由所述OpenFlow网络设备从所述报文头中解析到所述信息,并通过所述信息指示的物理端口发送所述网络边界发现报文。
10.如权利要求6所述的OpenFlow控制器,其特征在于,
所述确定模块,具体用于在收到网络边界发现报文后,提取所述网络边界发现报文中携带的OpenFlow网络设备的设备标识和物理端口的端口标识;标记所述OpenFlow网络设备的设备标识和所述物理端口的端口标识所对应的物理端口为内部端口;遍历所有OpenFlow网络设备的所有物理端口,并标记内部端口之外的其它物理端口为边界端口。
CN201310319609.0A 2013-07-25 2013-07-25 一种边界端口的识别方法和设备 Active CN103401791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310319609.0A CN103401791B (zh) 2013-07-25 2013-07-25 一种边界端口的识别方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310319609.0A CN103401791B (zh) 2013-07-25 2013-07-25 一种边界端口的识别方法和设备

Publications (2)

Publication Number Publication Date
CN103401791A true CN103401791A (zh) 2013-11-20
CN103401791B CN103401791B (zh) 2016-12-28

Family

ID=49565320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310319609.0A Active CN103401791B (zh) 2013-07-25 2013-07-25 一种边界端口的识别方法和设备

Country Status (1)

Country Link
CN (1) CN103401791B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763121A (zh) * 2013-12-24 2014-04-30 杭州华三通信技术有限公司 一种网络配置信息快速下发的方法及装置
CN103944828A (zh) * 2014-04-15 2014-07-23 杭州华三通信技术有限公司 一种协议报文的传输方法和设备
CN104754762A (zh) * 2013-12-30 2015-07-01 中兴通讯股份有限公司 软件自定义网络中自动发现控制器的方法、控制器及***
CN111586026A (zh) * 2020-04-30 2020-08-25 广州市品高软件股份有限公司 一种基于sdn的软件定义边界实现方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1798906A1 (en) * 2005-12-15 2007-06-20 Alcatel Lucent System and method for implementing multiple spanning tree protocol automatic 802.1Q trunking
CN102546351A (zh) * 2012-03-15 2012-07-04 北京邮电大学 openflow网络和现有IP网络互联的***和方法
CN103166876A (zh) * 2011-12-08 2013-06-19 中兴通讯股份有限公司 OpenFlow网络域间的数据发送方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1798906A1 (en) * 2005-12-15 2007-06-20 Alcatel Lucent System and method for implementing multiple spanning tree protocol automatic 802.1Q trunking
CN103166876A (zh) * 2011-12-08 2013-06-19 中兴通讯股份有限公司 OpenFlow网络域间的数据发送方法及装置
CN102546351A (zh) * 2012-03-15 2012-07-04 北京邮电大学 openflow网络和现有IP网络互联的***和方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763121A (zh) * 2013-12-24 2014-04-30 杭州华三通信技术有限公司 一种网络配置信息快速下发的方法及装置
CN104754762A (zh) * 2013-12-30 2015-07-01 中兴通讯股份有限公司 软件自定义网络中自动发现控制器的方法、控制器及***
CN103944828A (zh) * 2014-04-15 2014-07-23 杭州华三通信技术有限公司 一种协议报文的传输方法和设备
CN111586026A (zh) * 2020-04-30 2020-08-25 广州市品高软件股份有限公司 一种基于sdn的软件定义边界实现方法及***

Also Published As

Publication number Publication date
CN103401791B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
CN106656801B (zh) 业务流的转发路径的重定向方法、装置和业务流转发***
CN106664261B (zh) 一种配置流表项的方法、装置和***
CN102395144B (zh) 无线接入点升级方法、***及设备
CN108809797B (zh) 一种vpn控制装置,软件定义vpn实现***及方法
CN108306804A (zh) 一种Ethercat主站控制器及其通信方法和***
CN107317707B (zh) 一种基于点覆盖集的sdn网络拓扑管理方法
CN107947994B (zh) 网络拓扑自发现方法、装置、网络设备及计算机存储介质
CN102780779A (zh) 一种园区网出口p2p流量优化方法、装置及网关设备
CN107959620B (zh) 综采设备识别方法、装置、***、网关及存储介质
CN104253767A (zh) 一种虚拟分片网络的实现方法及一种交换机
Gao et al. Cyber-physical systems testbed based on cloud computing and software defined network
CN103401791A (zh) 一种边界端口的识别方法和设备
CN111083187A (zh) 工业应用服务处理方法和***
CN106453541A (zh) 一种数据同步的方法、服务器以及数据同步***
CN104811403B (zh) 基于开放流的组表处理方法、装置及组表配置单元
CN102594912A (zh) 服务器架构下的数据处理方法、服务器及服务器架构
CN105429946A (zh) 一种基于sdn虚拟交换机的防伪造ip的***及方法
CN107332814A (zh) 一种请求消息传输方法及装置
CN105490960A (zh) Sdn架构、基于sdn架构的报文转发方法
CN104053159B (zh) 一种多载波基站的频点配置方法和装置
WO2016101600A1 (zh) 线卡的确定、确定处理方法及装置、线卡的确定***
CN106454880B (zh) 信令跟踪任务的处理方法及装置
CN104158877A (zh) 远程控制方法、装置及其***
WO2016188081A1 (zh) 扩展端口的处理方法、装置及***
CN103986692B (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
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230616

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.