基于SDN网络的交换机端口信息感知方法、装置和终端设备与流程

文档序号:12838887阅读:293来源:国知局
基于SDN网络的交换机端口信息感知方法、装置和终端设备与流程

本发明涉及通信技术领域,尤其涉及一种基于sdn网络的交换机端口信息感知方法、装置和终端设备。



背景技术:

sdn(softwaredefinednetwork,软件定义网络)是当前通信领域研究的热点技术。sdn包括控制面的c(controller,控制器)和转发面的sw(switch,交换机)两部分构成。根据当前sdn技术的定义,控制器和交换机之间通过openflow协议下发控制指令,用以指导交换机上的数据流转发。

目前,按照是否兼容传统的交换机处理方式进行划分,支持openflow协议的交换机可以分为openflow-only和openflow-hybrid(混合)两种。openflow-only交换机仅支持openflow流水线操作。openflow-hybrid交换机不仅支持openflow流水线操作,也支持传统的以太网交换操作。然而,上述openflow-hybrid交换机可能有部分端口并未加入到sdn域中,而在sdn网络不断升级扩容、组网可能调整的前景下,会有openflow-hybrid交换机非sdn域的逻辑端口改配加入sdn域、接受控制器控制的需求场景。

相关技术中,为了满足sdn网络的复杂业务需求,openflow协议描述了交换机支持tunnel隧道口、lag(linkaggregationgroup,链路汇聚组)聚合口、loopback环回口等逻辑端相关信息。然而,openflow协议并未描述这些逻辑端口信息具体应该如何在控制器和交换机之间传递。即现有openflow协议并没有对逻辑端口的应用提供具体的描述和支撑,从而导致sdn网络中的很多需求在目前协议下是无法实现。

因此,亟需一种使得控制器能够感知更为复杂的信息类型和更为详细的信息内容的方法,使得针对不同的业务需求,控制器感知的逻辑端口信息是可变的、可扩展的。



技术实现要素:

本发明的旨在至少在一定程度上解决上述的技术问题之一。

为此,本发明的第一个目的在于提出一种基于sdn网络的交换机端口信息感知方法,该方法实现了控制器对交换机逻辑端口信息的灵活感知和应用,且配置简单,改造方便, 实用性高。

本发明的第二个目的在于提出一种基于sdn网络的交换机端口信息感知装置。

本发明的第三个目的在于提出一种终端设备。

为达上述目的,本发明第一方面实施例的基于sdn网络的交换机端口信息感知方法包括以下步骤:接收交换机通过端口同步消息发送的逻辑端口信息,其中,所述逻辑端口信息包括:用于接入sdn网络的扩展字段信息;根据所述逻辑端口信息感知所述交换机中的逻辑端口,并根据应用需求对所述逻辑端口进行相应的控制。

根据本发明实施例的基于sdn网络的交换机端口信息感知方法,接收交换机通过端口同步消息发送的逻辑端口信息,并根据逻辑端口信息中的接入sdn网络的扩展字段信息等感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。该方法通过逻辑端口信息对交换机的逻辑端口进行具体的描述,以根据该逻辑端口信息感知交换机的逻辑端口,并为交换机的需求提供支撑,实现了控制器对交换机逻辑端口信息的灵活感知和应用,且配置简单,改造方便,实用性高。

另外,在本发明的一个实施例中,所述用于接入sdn网络的扩展字段信息,包括:逻辑端口号字段、端口类型描述字段、端口附加信息字段。

在本发明的一个实施例中,所述端口类型描述字段为聚合端口类型,所述接收交换机通过端口同步消息发送的逻辑端口信息,包括:接收交换机通过端口同步消息发送的聚合端口添加信息;所述根据所述逻辑端口信息感知所述交换机中的逻辑端口,并根据应用需求对所述逻辑端口进行相应的控制,包括:根据所述聚合端口添加信息感知所述交换机的聚合端口,并建立所述聚合端口的拓扑关系;根据所述聚合端口的拓扑关系,测算聚合链路的转发代价和质量性能,确定业务路径的切换策略。

在本发明的一个实施例中,所述聚合端口添加信息包括:聚合模式、物理成员口、当前成员口、是否支持快速检测、lacp检测周期、负荷分担策略。

在本发明的一个实施例中,所述方法还包括:接收所述交换机发送的携带聚合端口切换状态的消息;识别所述交换机上发生切换的聚合端口,重新确定业务路径的转发策略。

在本发明的一个实施例中,所述方法还包括:接收所述交换机发送的携带聚合端口故障状态的消息;识别所述交换机之间聚合链路的故障状态并删除所述聚合链路,重新确定业务路径的转发策略。

在本发明的一个实施例中,所述端口类型描述字段为隧道端口类型,所述接收交换机通过端口同步消息发送的逻辑端口信息,包括:接收交换机通过端口同步消息发送的隧道端口添加信息;所述根据所述逻辑端口信息感知所述交换机中的逻辑端口,并根据应用需求对所述逻辑端口进行相应的控制,包括:根据所述隧道端口添加信息感知所述交换机的 隧道端口;通过所述隧道端口的添加信息识别与所述隧道端口对应的运维接入节点,利用所述隧道端口建立运维业务通道;将所述交换机的业务流量通过所述运维业务通道镜像到所述运维接入节点。

在本发明的一个实施例中,所述隧道端口添加信息包括:隧道端口的目的地址、vpn路由转发信息、隧道端口是否支持认证密钥、序列号信息。

在本发明的一个实施例中,所述通过所述隧道端口的添加信息识别与所述隧道端口对应的运维接入节点,利用所述隧道端口建立运维业务通道,包括:根据所述隧道端口是否支持认证密钥和序列号检查判断所述隧道端口的安全性;如果所述隧道端口安全,则识别与所述隧道端口对应的运维接入节点安全,并利用所述隧道端口建立运维业务通道。

为达上述目的,本发明第二方面实施例的基于sdn网络的交换机端口信息感知装置,包括:接收模块,用于接收交换机通过端口同步消息发送的逻辑端口信息,其中,所述逻辑端口信息包括:用于接入sdn网络的扩展字段信息;控制模块,用于根据所述逻辑端口信息感知所述交换机中的逻辑端口,并根据应用需求对所述逻辑端口进行相应的控制。

根据本发明实施例的基于sdn网络的交换机端口信息感知装置,接收交换机通过端口同步消息发送的逻辑端口信息,并根据逻辑端口信息中的接入sdn网络的扩展字段信息等感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。该装置通过逻辑端口信息对交换机的逻辑端口进行具体的描述,以根据该逻辑端口信息感知交换机的逻辑端口,并为交换机的需求提供支撑,实现了控制器对交换机逻辑端口信息的灵活感知和应用,且配置简单,改造方便,实用性高。

另外,在本发明的一个实施例中,所述用于接入sdn网络的扩展字段信息,包括:逻辑端口号字段、端口类型描述字段、端口附加信息字段。

在本发明的一个实施例中,所述端口类型描述字段为聚合端口类型,所述接收模块,用于:接收交换机通过端口同步消息发送的聚合端口添加信息;所述控制模块包括:第一建立单元,用于根据所述聚合端口添加信息感知所述交换机的聚合端口,并建立所述聚合端口的拓扑关系;确定单元,用于根据所述聚合端口的拓扑关系,测算聚合链路的转发代价和质量性能,确定业务路径的切换策略。

在本发明的一个实施例中,所述聚合端口添加信息包括:聚合模式、物理成员口、当前成员口、是否支持快速检测、lacp检测周期、负荷分担策略。

在本发明的一个实施例中,所述接收模块,还用于接收所述交换机发送的携带聚合端口切换状态的消息;第一确定模块,用于识别所述交换机上发生切换的聚合端口,重新确定业务路径的转发策略。

在本发明的一个实施例中,所述接收模块,还用于接收所述交换机发送的携带聚合端 口故障状态的消息;第二确定模块,用于识别所述交换机之间聚合链路的故障状态并删除所述聚合链路,重新确定业务路径的转发策略。

在本发明的一个实施例中,所述端口类型描述字段为隧道端口类型,所述接收模块,用于:接收交换机通过端口同步消息发送的隧道端口添加信息;所述控制模块包括:感知单元,用于根据所述隧道端口添加信息感知所述交换机的隧道端口;第二建立单元,用于通过所述隧道端口的添加信息识别与所述隧

道端口对应的运维接入节点,利用所述隧道端口建立运维业务通道;镜像单元,用于将所述交换机的业务流量通过所述运维业务通道镜像到所述运维接入节点。

在本发明的一个实施例中,所述隧道端口添加信息包括:隧道端口的目的地址、vpn路由转发信息、隧道端口是否支持认证密钥、序列号信息。

在本发明的一个实施例中,所述第二建立单元,用于:根据所述隧道端口是否支持认证密钥和序列号检查判断所述隧道端口的安全性;如果所述隧道端口安全,则识别与所述隧道端口对应的运维接入节点安全,并利用所述隧道端口建立运维业务通道。

为达上述目的,本发明第三方面实施例的终端设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为终端设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:

接收交换机通过端口同步消息发送的逻辑端口信息,其中,所述逻辑端口信息包括:用于接入sdn网络的扩展字段信息;

根据所述逻辑端口信息感知所述交换机中的逻辑端口,并根据应用需求对所述逻辑端口进行相应的控制。

根据本发明实施例的终端设备,接收交换机通过端口同步消息发送的逻辑端口信息,并根据逻辑端口信息中的接入sdn网络的扩展字段信息等感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。该终端设备通过逻辑端口信息对交换机的逻辑端口进行具体的描述,以根据该逻辑端口信息感知交换机的逻辑端口,并为交换机的需求提供支撑,实现了控制器对交换机逻辑端口信息的灵活感知和应用,且配置简单,改造方便,实用性高。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,

图1是根据本发明一个实施例的基于sdn网络的交换机端口信息感知方法的流程图;

图2是根据本发明一个具体实施例的基于sdn网络的交换机端口信息感知方法的流程图;

图3是根据本发明另一个实施例的基于sdn网络的交换机端口信息感知方法的流程图;

图4是根据本发明又一个实施例的基于sdn网络的交换机端口信息感知方法的流程图;

图5是根据本发明实施例的控制聚合端口的方法原理图;

图6是根据本发明实施例的控制聚合端口的方法的流程图;

图7是根据本发明再一个实施例的基于sdn网络的交换机端口信息感知方法的流程图;

图8是根据本发明实施例的控制隧道端口的方法的原理图;

图9是根据本发明实施例的控制隧道端口的方法的流程图;

图10是根据本发明一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图;

图11是根据本发明一个具体实施例的基于sdn网络的交换机端口信息感知装置的结构示意图;

图12是根据本发明另一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图;

图13是根据本发明又一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图;以及

图14是根据本发明再一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图详细描述本发明实施例的基于sdn网络的交换机端口信息感知方法、装置和终端设备。

图1是根据本发明一个实施例的基于sdn网络的交换机端口信息感知方法的流程图。如图1所示,该基于sdn网络的交换机端口信息感知方法包括:

s110,接收交换机通过端口同步消息发送的逻辑端口信息,其中,逻辑端口信息包括:用于接入sdn网络的扩展字段信息。

可以理解,为了将交换机现有的逻辑端口加入到sdn网络,以实现在sdn网络环境下对交换机的控制,需要对交换机上的多种逻辑端口进行相应的配置,比如对unnel隧道端口、lag聚合端口、loopback环回口等逻辑端口进行配置。由此,为了实现对交换机上的逻辑端口的配置,需要获取交换机的逻辑端口信息。

具体地,可接收交换机通过端口同步消息发送的逻辑端口信息,比如可接收交换机通过openflow协议上报的ofpt_port_status消息携带的逻辑端口信息。

其中,上述逻辑端口信息包括用于接入sdn网络的扩展字段信息,该扩展字段信息保证了交换机上的逻辑端口能够被接入sdn网络中,该扩展字段信息可包括逻辑端口号字段、端口类型描述字段、端口附加信息字段等。

为了本实施例中的端口同步消息以及逻辑端口信息进行清楚的说明,下面以表1-表5,对端口同步消息以及逻辑端口信息的具体数据结构等进行示例说明,在该示例中,端口同步消息用ofpt_port_status字段携带,逻辑端口信息以ofp_port字段进行定义,说明如下:

首先,如表1所示,该端口同步消息ofpt_port_status的数据结构可包括对逻辑端口信息的定义字段structofp_portdesc,该字段用以定义逻辑端口信息。

表1

进一步地,如表2所示,该ofp_port逻辑端口信息包括接入sdn网络的扩展字段信息,该扩展字段信息可以包括逻辑端口的各种信息,比如可包括逻辑端口字段信息,如表2中ofp_port逻辑端口信息中定义保留的端口号范围(0xffffff00~0xfffffff8)用于表示逻辑端口号等。

表2

另外,如表3和表4所示,上述逻辑端口信息可包括端口类型描述字段,在该示例中,对逻辑端口属性描述字段properties进行扩展定义,描述逻辑端口类型字段ofp_port_desc_prop_type的枚举值,增加tunnel隧道端口、lag聚合端口、loopback环回端口等新的含义。

表3

表4

更进一步地,该扩展字段信息可包括端口附加信息字段,该示例中以tlv格式定义逻辑端口的附加信息。

表5

s120,根据逻辑端口信息感知交换机中的逻辑端口,并根据应用需求对逻辑端口进行相应的控制。

具体地,根据获取的逻辑端口信息感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。比如当前应用需求是聚合链路下的业务路径的切换,则根据交换机中相关的逻辑端口信息进行相应的业务路径切换的控制等。

可以理解,通过获取的逻辑端口信息感知交换机的逻辑端口,以获取在具体的应用场景中涉及逻辑端口的具体描述,并为其提供相应支撑,以实现对逻辑端口具体的控制,满足相应的场景需求。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知方法,接收交换机通过端口同步消息发送的逻辑端口信息,并根据逻辑端口信息中的接入sdn网络的扩展字段信息等感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。该方法通过逻辑端口信息对交换机的逻辑端口进行具体的描述,以根据该逻辑端口信息感知交换机的逻辑端口,并为交换机的需求提供支撑,实现了控制器对交换机逻辑端口信息的灵活感知和应用,且配置简单,改造方便,实用性高。

由于在实际的应用场景中,交换机的逻辑端口具有多样性,比如,交换机的端口可以是tunnel隧道端口、lag聚合端口、loopback环回口等逻辑端口,因此,上述对逻辑端口进行控制的方法根据具体应用需求的不同而不同。为了清楚的说明本发明实施例的基于sdn网络的交换机端口信息感知方法,下面以逻辑端口为聚合端口类型和隧道端口类型为例进行举例说明。

首先,以该逻辑端口是聚合端口为例进行具体说明,说明如下:

图2是根据本发明一个具体实施例的基于sdn网络的交换机端口信息感知方法的流程图,如图2所示,该基于sdn网络的交换机端口信息感知方法包括:

s210,接收交换机通过端口同步消息发送的聚合端口添加信息。

其中,如表6所示,该聚合端口添加消息可包括聚合模式、物理成员口、当前成员口、是否支持快速检测、lacp检测周期、负荷分担策略等。

表6

s220,根据聚合端口添加信息感知交换机的聚合端口,并建立聚合端口的拓扑关系。

具体地,当根据聚合端口添加信息感知交换机的聚合端口后,可下发拓扑探测报文,依据该报文的具体探测结果,为相应的聚合端口建立拓扑关系。

s230,根据聚合端口的拓扑关系,测算聚合链路的转发代价和质量性能,确定业务路径的切换策略。

具体地,当建立聚合端口的拓扑关系后,根据感知到的聚合端口添加信息测算聚合链 路的转发代价和质量性能,以确定业务路径的切换策略。

举例而言,当建立拓扑关系的交换机是交换机sw1和sw2,则根据感知到的上述交换机的聚合端口的添加信息测算sw1-sw2聚合链路的转发代价和质量性能,假设当前sw1-sw2聚合链路的测算结果优于原来的sw1-sw3聚合链路,则确定业务路径切换到sw1-sw2聚合链路上。

综上,本发明实施例的基于sdn网络的交换机端口信息感知方法,接收交换机通过端口同步消息发送的聚合端口添加信息,根据聚合端口添加信息感知交换机的聚合端口,并建立聚合端口的拓扑关系,并根据聚合端口的拓扑关系,测算聚合链路的转发代价和质量性能,确定业务路径的切换策略。实现了聚合链路的业务路径的最优切换,进一步的增加了该基于sdn网络的交换机端口信息感知方法的实用性。

基于上述实施例,当聚合链路的端口因当前逻辑端口故障等发生切换的时,链路两端的交换机会实时上报当前的出接端口信息,从而触发重新进行路径的转发策略。

具体而言,图3是根据本发明另一个实施例的基于sdn网络的交换机端口信息感知方法的流程图,如图3所示,该基于sdn网络的交换机端口信息感知方法包括:

s310,接收交换机发送的携带聚合端口切换状态的消息。

举例而言,如果交换机检测到当前聚合链路的成员聚合端口发生故障等需要切换的情况,则上报携带聚合端口切换状态的消息。

s320,识别交换机上发生切换的聚合端口,重新确定业务路径的转发策略。

此时,由于建立拓扑关系的交换机之间的连接绝活端口需要切换,因此不改变该拓扑关系,则识别交换机上发生切换的聚合端口,重新确定业务路径的转发策略。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知方法,接收交换机发送的携带聚合端口切换状态的消息;识别交换机上发生切换的聚合端口,重新确定业务路径的转发策略。从而当聚合链路的连接端口需要切换时,重新确定转发策略,以确定新的连接端口,进一步提高了基于sdn网络的交换机端口信息感知方法的实用性。

基于上述实施例,当建立拓扑关系的交换机的所有的聚合端口出现故障的时候,交换机会上报故障状态消息,触发删除当前聚合链路以重新扫描网路拓扑,重新确定路径的转发策略。

图4是根据本发明又一个实施例的基于sdn网络的交换机端口信息感知方法的流程图,如图4所示,该基于sdn网络的交换机端口信息感知方法包括:

s410,接收交换机发送的携带聚合端口故障状态的消息。

具体地,当聚合链路中的成员交换机的所有聚合端口出现故障的时候,则表明当前的聚合链路不能实现流量的转发等功能,因此上报聚合端口故障状态的消息。

s420,识别交换机之间聚合链路的故障状态并删除聚合链路,重新确定业务路径的转发策略。

具体地,根据携带聚合端口故障状态的消息识别交换机之间的故障状态,将建立的聚合端口进行删除,重新确定业务路径的转发策略,比如可将业务切换回原来的聚合链路,并未该业务路径涉及的所有的交换机更新流表和组表等业务信息。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知方法,接收交换机发送的携带聚合端口故障状态的消息;识别交换机之间聚合链路的故障状态并删除聚合链路,以重新确定业务路径的转发策略。该方法在聚合链路上的聚合端口发生故障时,删除当前的聚合链路,并重新确定业务路径的转发策略,进一步的提高了该基于sdn网络的交换机端口信息感知方法的实用性。

为了使得对基于sdn网络的交换机端口信息感知方法实施例的描述更加清楚,下面结合图5和图6对基于sdn网络的交换机端口信息感知方法实施例的工作流程进行示例说明。在通过图5进行说明的示例中,控制交换机逻辑端口的是控制器controller,逻辑端口是聚合端口类型,建立拓扑关系的交换机是sw1和sw2,且交换机上的聚合端口以lagport进行标注,交换机上的物理端口用physicalport进行标注。说明如下:

图5是根据本发明实施例的控制聚合端口的方法原理图,如图5所示,首先sw1和sw2交换机分别将自身的聚合端口lagport1和lagport2配置加入sdn域,通过ofpt_port_status端口同步消息上报聚合端口添加信息。当控制器获取到新的交换机逻辑端口,下发lldp拓扑探测报文,依据聚合端口的lldp拓扑发现,为sw1的lagport1和sw2的lagport2建立拓扑关系。

进而,当sw1与sw2之间的聚合口拓扑关系建立,控制器根据感知到的聚合端口添加信息测算sw1-sw2聚合链路的转发代价和质量性能。假设sw1-sw2聚合链路的测算结果优于sw1-sw3聚合链路,则控制器选择将运行在原sw1-sw3聚合链路上的业务流量(假设为目的网络1.1.1.0/24的流量),切换到新的sw1-sw2聚合链路。

从而,控制器为sw1和sw2更新下发流表和组表,针对目的网络1.1.1.0/24的流量,指导sw1使用出端口lagport1进行转发,指导sw2使用入端口lagport2进行接收,使用出端口physicalport1进行转发。

另外,当sw1-sw2聚合链路的成员出接口发生切换时,两端交换机通过ofpt_port_status端口同步消息实时上报变化的当前出接端口信息,触发控制器重新确定路径的转发策略。

当sw1-sw2聚合链路的所有成员口出现故障时,两端交换机通过ofpt_port_status端口同步消息上报端口故障状态,触发控制器删除sw1-sw2聚合链 路,重新扫描网络拓扑,业务流量切换回sw1-sw3聚合链路。

为了进一步地详细说明本发明实施例的控制聚合端口的方法,结合图6进行说明,图6是根据本发明实施例的控制聚合端口的方法的流程图,与图5相对应,在图6中,建立拓扑关系的交换机是sw1和sw2,以lag标注交换机的聚合端口,且聚合链路采用lacp协议进行聚合链路的聚合。如图6所示,该控制聚合端口的方法包括:

步骤601a:sw1交换机上现有的逻辑聚合口lag1加入到sdn域中,sw1会发送ofpt_port_status端口同步消息,通告聚合端口添加事件,消息中包含聚合模式、物理成员口、当前成员口、是否支持快速检测、lacp检测周期、负荷分担策略等聚合端口添加信息。

控制器识别ofpt_port_status端口同步消息,ofp_port_desc_prop_type字段值为ofppdpt_lagport(0x5),表示描述类型为lag聚合端口,继续解析后面的tlv格式字段,保存逻辑端口的所有信息,并使用ofpt_packet_out消息,通知sw1上lag1端口做lldp拓扑探测。因此时sw2的逻辑端口尚未配置加入sdn域,sw1与sw2之间的聚合口拓扑关系尚未建立

步骤601b:sw2交换机上现有的逻辑聚合端口lag2加入到sdn域中,同理,控制器也会识别ofpt_port_status消息,保存逻辑端口信息并发送lldp拓扑探测。后续,lldp拓扑探测的发现结果会上报控制器。

步骤602:sw1与sw2之间的聚合端口拓扑关系建立,触发控制器进行业务路径的切换策略的测算:即根据两端聚合端口的物理成员口带宽、负荷分担策略,测算聚合口链路的转发代价,根据聚合模式、是否支持快速检测、lacp检测周期,判断聚合端口链路的质量性能,将结果应用到多聚合链路的路径选择算法中。

步骤603:假设sw1-sw2聚合链路的计算结果优于sw1-sw3聚合链路,目的网络1.1.1.0/24的业务流量需要由原sw1-sw3聚合链路切换到新的sw1-sw2聚合链路。控制器为所有转发路径发生变化的交换机更新流表和组表,用于指导目的网络1.1.1.0/24的流量转发。

步骤604a:sw1接收到目的网络1.1.1.0/24的报文,根据多级流表的匹配规则,选用连接sw2的聚合端口lag1,将报文转发到sw2交换机。

步骤604b:sw2接收到目的网络1.1.1.0/24的报文,同理根据多级流表的匹配规则,将报文转发到sw4,完成了sw1-sw2聚合端口链路的报文转发。

步骤605:假设sw1与sw2聚合链路采用lacp协议动态聚合,如果lacp心跳检测或bfd快速检测发现当前成员口出现故障,则两端交换机重新协商更换当前成员端口,几乎同时上报ofpt_port_status端口同步消息,携带聚合端口切换状态的消息。

控制器接收ofpt_port_status端口同步消息,因为聚合端口的端口状态不变,lldp拓扑关系不变,因此只进行sw1-sw2聚合链路的转发代价来重新确定业务路径的转发策略。假设sw1-sw2聚合链路的转发代价仍然小于sw1-sw3聚合链路,则不发生业务路径的切换。

步骤606:如果lacp心跳检测或bfd快速检测发现所有的成员口出现故障,则两端交换机几乎同时上报ofpt_port_status端口同步消息,消息的state字段描述端口故障状态。

步骤607:控制器识别聚合链路的故障状态,sw1-sw2的拓扑关系删除,重新确定业务路径的转发策略,业务流量切换回原sw1-sw3聚合链路上,为转发路径发生变化的所有交换机更新流表和组表。

步骤608:sw1-sw2聚合口链路上的lacp心跳检测或bfd快速检测恢复正常,sw1和sw2同时上报ofpt_port_status端口同步消息,通知控制器故障恢复。重复以上602-604正常步骤。

其次,以该逻辑端口为隧道端口类型为例具体说明本发明实施例的基于sdn网络的交换机端口信息感知方法,该实施例主要描述sdn网路外的隧道端口加入到sdn网络内,并利用现有的交换机的隧道建立运维业务通道,实现远端业务流镜像的控制方法的实施例,说明如下:

图7是根据本发明再一个实施例的基于sdn网络的交换机端口信息感知方法的流程图,如图7所示,该基于sdn网络的交换机端口信息感知方法包括:

s710,接收交换机通过端口同步消息发送的隧道端口添加信息。

具体地,如表7所示,该隧道端口添加信息可为隧道端口的目的地址、vpn路由转发信息、隧道端口是否支持认证密钥、序列号信息等。

表7

s720,根据隧道端口添加信息感知交换机的隧道端口。

s730,通过隧道端口的添加信息识别与隧道端口对应的运维接入节点,利用隧道端口建立运维业务通道。

具体地,可根据隧道端口是否支持认证密钥和序列号检查判断隧道端口的安全性。

如果隧道端口安全,则识别与隧道端口对应的运维接入节点安全,并利用隧道端口建立运维业务通道。

s740,将交换机的业务流量通过运维业务通道镜像到运维接入节点。

具体地,将交换机的业务流量通过运维业务通道镜像到运维接入节点,以匹配远端服务。

为了使得对基于sdn网络的交换机端口信息感知方法实施例的描述更加清楚,下面结合图8和图9对基于sdn网络的交换机端口信息感知方法实施例的工作流程进行示例说明。在通过图8进行说明的示例中,逻辑端口是隧道端口类型,在该示例中以gre表示隧道端口,控制交换机逻辑端口的是控制器controller,且交换机上的隧道端口号以tunnelport进行标注,交换机以sw1进行标注。说明如下:

图8是根据本发明实施例的控制隧道端口的方法的原理图,如图8所示,sw1交换机将sdn域外的gre隧道端口tunnelport1配置加入sdn域,通过ofpt_port_status端口同步消息上报隧道端口添加信息。控制器根据隧道端口的目的地址、vpn路由转发信息等识别远端设备的业务角色,根据隧道端口是否支持认证密钥、序列号信息等判断隧道的安全性。

如果远端地址被识别为安全可用的运维接入节点,则控制器利用现有的交换机隧道端口建立运维业务通道。

进而,控制器根据运维业务使用的网络协议、协议端口号为隧道端口所在交换机下发流表规则,指引远端的业务请求报文由交换机解封隧道信息后上送控制器处理,指引控制器回复的业务应答报文由交换机gre隧道口进行封装发送。

当远端发起的业务流镜像请求为控制器所接受(所谓远端流镜像功能,即将指定的交换机节点上的指定业务流量,镜像到远端运维节点,例如远程抓包),则控制器为业务指定的交换机下发流表规则,指引目标流量经gre隧道转发到远端节点。

为了进一步的详细说明本发明实施例的控制隧道端口的方法,结合图9进行进一步的说明。与图8对应,在该示例中以sw表示交换机,gre表示隧道端口,以tunnelport表示隧道端口的端口号等。图9是根据本发明实施例的控制隧道端口的方法的流程图,如图9所示,该控制隧道端口的方法包括:

步骤901:sw1交换机将sdn域外的gre隧道端口tunnelport1配置加入sdn域, 通过ofpt_port_status消息上报隧道端口添加信息,通告端口添加事件,消息中携带隧道的源地址、目的地址、vpn路由转发实例、认证密钥等信息。

步骤902:控制器识别ofpt_port_status端口同步消息中tlv格式的gre隧道端口添加信息,根据隧道的目的地址、vpn路由转发实例等信息识别远端设备的业务角色,根据隧道是否支持认证密钥、序列号检查、校验和检查等信息判断隧道的安全性。

根据上述隧道端口添加信息,远端地址被识别为安全可用的运维接入节点,控制器向运维业务开放网络协议、协议端口号,为隧道端口所在交换机下发流表,指定隧道解封装后的远端业务请求报文通过ofpt_packet_in消息上送控制器进行处理,建立运维业务通道。

步骤903:控制器为远端运维接入节点颁发接入许可证书,将证书报文通过ofpt_packet_out消息下发交换机,指定出端口为gre隧道端口,由交换机完成证书报文的隧道封装和外发。

步骤904:gre隧道端口所在的sw1交换机,根据ofpt_packet_out消息中指定的隧道出端口,完成gre隧道封装,外发至远端的运维接入节点。

远端的运维接入节点通过gre隧道接收报文,解封隧道头信息,获取sdn控制器颁布的接入许可证书。

步骤905:远端的运维接入节点发送sdn网络的业务流查询请求,携带证书信息,通过gre隧道发送至sw1交换机。

步骤906:sw1交换机解封隧道报文,根据控制器下发的流表规则,将符合运维网络协议、协议端口号的业务请求报文,通过ofpt_packet_in消息上送控制器进行处理。

步骤907:控制器响应远端运维接入节点的业务流查询请求,将查询结果通过ofpt_packet_out消息下发sw1交换机,指定出端口为gre隧道端口。

步骤908:sw1交换机,根据ofpt_packet_out消息中指定的gre隧道出端口,完成隧道信息的封装,外发至远端的运维接入节点。

步骤909:远端的运维接入节点根据返回的流量查询结果,由用户指定选择需要镜像的流量,比如将sw2交换机目的网络为1.1.1.0/24的业务流量镜像到远端节点。

步骤910:sw1交换机解封隧道报文,通过ofpt_packet_in消息将远端的流镜像请求报文上送控制器进行处理。

步骤911:控制器根据远端流镜像的请求目标为sw1和sw2交换机下发流表规则,指导镜像流量的转发。

步骤912:sw2交换机根据流表规则,为目的网络为1.1.1.0/24的业务流量增加镜像处理(修改报文头,打上特殊标识,转发至sw1交换机)。

步骤913:sw1交换机根据流表规则,识别带有镜像特殊标识的报文,通过gre隧道封装转发。

步骤914:远端的运维节点解封隧道头部,获取被镜像的业务流量。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知方法,接收交换机通过端口同步消息发送的隧道端口添加信息,根据隧道端口添加信息感知交换机的隧道端口,并通过隧道端口的添加信息识别与隧道端口对应的运维接入节点,利用隧道端口建立运维业务通道,从而将交换机的业务流量通过运维业务通道镜像到运维接入节点。该方法通过端口同步消息感知新增的隧道端口添加信息,根据隧道端口添加信息将远端识别为运维接入节点,利用现有的交换机隧道建立运维业务通道,实现远端业务流镜像,实现了控制器对交换机逻辑端口信息的灵活感知和应用,进一步提高了该基于sdn网络的交换机端口信息感知方法的实用性。

为达上述目的,本发明还提出了一种基于sdn网络的交换机端口信息感知装置,图10是根据本发明一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图,如图10所示,该基于sdn网络的交换机端口信息感知装置包括:接收模块1010和控制模块1020。

其中,接收模块1010用于接收交换机通过端口同步消息发送的逻辑端口信息,其中,逻辑端口信息包括:用于接入sdn网络的扩展字段信息。

具体地,接收模块1010可接收交换机通过端口同步消息发送的逻辑端口信息,比如可接收交换机通过openflow协议上报的ofpt_port_status消息携带的逻辑端口信息。

其中,上述逻辑端口信息包括用于接入sdn网络的扩展字段信息,该扩展字段信息保证了交换机上的逻辑端口能够被接入sdn网络中,该扩展字段信息可包括逻辑端口号字段、端口类型描述字段、端口附加信息字段等。

控制模块1020,用于逻辑端口信息感知交换机中的逻辑端口,并根据应用需求对逻辑端口进行相应的控制。

具体地,控制模块1020根据获取的逻辑端口信息感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。比如当前应用需求是聚合链路下的业务路径的切换,控制模块1020则根据交换机中相关的逻辑端口信息进行相应的业务路径切换的控制等。

可以理解,控制模块1020通过获取的逻辑端口信息感知交换机的逻辑端口,以获取在具体的应用场景中涉及逻辑端口的具体描述,并为其提供相应支撑,以实现对逻辑端口具体的控制,满足相应的场景需求。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知装置,接收交换机通过端口同步消息发送的逻辑端口信息,并根据逻辑端口信息中的接入sdn网络的扩展字段 信息等感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。该装置通过逻辑端口信息对交换机的逻辑端口进行具体的描述,以根据该逻辑端口信息感知交换机的逻辑端口,并为交换机的需求提供支撑,实现了控制器对交换机逻辑端口信息的灵活感知和应用,且配置简单,改造方便,实用性高。

由于在实际的应用场景中,交换机的逻辑端口具有多样性,比如,交换机的端口可以是tunnel隧道端口、lag聚合端口、loopback环回口等逻辑端口,因此,上述对逻辑端口进行控制的方法根据具体应用需求的不同而不同。为了清楚的说明本发明实施例的基于sdn网络的交换机端口信息感知装置,下面以逻辑端口为聚合端口类型和隧道端口类型为例进行举例说明。

首先,以该逻辑端口是聚合端口为例进行具体说明,说明如下:

图11是根据本发明一个具体实施例的基于sdn网络的交换机端口信息感知装置的结构示意图,如图11所示,在如图10所示的基础上,该控制模块1020包括第一建立单元1021和确定单元1022。

在本发明的实施例中,接收模块1010具体用于接收交换机通过端口同步消息发送的聚合端口添加信息。

其中,该聚合端口添加消息可包括聚合模式、物理成员口、当前成员口、是否支持快速检测、lacp检测周期、负荷分担策略等。

第一建立单元1021,用于根据聚合端口添加信息感知交换机的聚合端口,并建立聚合端口的拓扑关系。

具体地,当根据聚合端口添加信息感知交换机的聚合端口后,第一建立单元1021可下发拓扑探测报文,依据该报文的具体探测结果,为相应的聚合端口建立拓扑关系。

确定单元1022,用于根据聚合端口的拓扑关系,测算聚合链路的转发代价和质量性能,确定业务路径的切换策略。

具体地,当建立聚合端口的拓扑关系后,确定单元1022根据感知到的聚合端口添加信息测算聚合链路的转发代价和质量性能,以确定业务路径的切换策略。

综上,本发明实施例的基于sdn网络的交换机端口信息感知装置,接收交换机通过端口同步消息发送的聚合端口添加信息,根据聚合端口添加信息感知交换机的聚合端口,并建立聚合端口的拓扑关系,并根据聚合端口的拓扑关系,测算聚合链路的转发代价和质量性能,确定业务路径的切换策略。该装置实现了聚合链路的业务路径的最优切换,进一步的增加了该基于sdn网络的交换机端口信息感知装置的实用性。

基于上述实施例,当聚合链路的端口因当前逻辑端口故障等发生切换的时,链路两端的交换机会实时上报当前的出接端口信息,从而触发重新进行路径的转发策略。

图12是根据本发明另一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图,如图12所示,在如图10所示的基础上,该基于sdn网络的交换机端口信息感知装置还包括:第一确定模块1030。

其中,在本发明的实施例中,接收模块1010,用于接收交换机发送的携带聚合端口切换状态的消息。

举例而言,如果交换机检测到当前聚合链路的成员聚合端口发生故障等需要切换的情况,则接收模块1010接收其上报的携带聚合端口切换状态的消息。

第一确定模块1030,用于识别交换机上发生切换的聚合端口,重新确定业务路径的转发策略。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知装置,接收交换机发送的携带聚合端口切换状态的消息;识别交换机上发生切换的聚合端口,重新确定业务路径的转发策略。从而当聚合链路的连接端口需要切换时,重新确定转发策略,以确定新的连接端口,进一步提高了基于sdn网络的交换机端口信息感知装置的实用性。

基于上述实施例,当建立拓扑关系的交换机的所有的聚合端口出现故障的时候,交换机会上报故障状态消息,触发删除当前聚合链路以重新扫描网路拓扑,重新确定路径的转发策略。

图13是根据本发明又一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图,如图13所示,在如图10所示的基础上,该基于sdn网络的交换机端口信息感知装置还包括:第二确定模块1040。

其中,在本实施例中,接收模块1010用于接收交换机发送的携带聚合端口故障状态的消息。

具体地,当聚合链路中的成员交换机的所有聚合端口出现故障的时候,则表明当前的聚合链路不能实现流量的转发等功能,因此接收模块1010接受其上报的聚合端口故障状态的消息。

第二确定模块1040,用于识别交换机之间聚合链路的故障状态并删除聚合链路,重新确定业务路径的转发策略。

具体地,第二确定模块1040根据携带聚合端口故障状态的消息识别交换机之间的故障状态,将建立的聚合端口进行删除,重新确定业务路径的转发策略,比如可将业务切换回原来的聚合链路,并未该业务路径涉及的所有的交换机更新流表和组表等业务信息。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知装置,接收交换机发送的携带聚合端口故障状态的消息;识别交换机之间聚合链路的故障状态并删除聚合链路,以重新确定业务路径的转发策略。该方法在聚合链路上的聚合端口发生故障时,删除当前 的聚合链路,并重新确定业务路径的转发策略,进一步的提高了该基于sdn网络的交换机端口信息感知装置的实用性。

其次,以该逻辑端口为隧道端口类型为例具体说明本发明实施例的基于sdn网络的交换机端口信息感知装置,该实施例主要描述sdn网路外的隧道端口加入到sdn网络内,并利用现有的交换机的隧道建立运维业务通道,实现远端业务流镜像的控制的实施例,说明如下:

图14是根据本发明再一个实施例的基于sdn网络的交换机端口信息感知装置的结构示意图,如图14所示,在如图10所示的基础上,控制模块1020包括:感知单元1023、第二建立单元1024和镜像单元1025。

其中,在本发明的实施例中,接收单元1010用于接收交换机通过端口同步消息发送的隧道端口添加信息。

具体地,该隧道端口添加信息可为隧道端口的目的地址、vpn路由转发信息、隧道端口是否支持认证密钥、序列号信息等。

感知单元1023,用于根据隧道端口添加信息感知交换机的隧道端口。

第二建立单元1024,用于通过隧道端口的添加信息识别与隧道端口对应的运维接入节点,利用隧道端口建立运维业务通道。

具体地,第二建立单元1024可根据隧道端口是否支持认证密钥和序列号检查判断隧道端口的安全性。

如果隧道端口安全,第二建立单元1024则识别与隧道端口对应的运维接入节点安全,并利用隧道端口建立运维业务通道。

镜像单元1025,用于将交换机的业务流量通过运维业务通道镜像到运维接入节点。

具体地,镜像单元1025将交换机的业务流量通过运维业务通道镜像到运维接入节点,以匹配远端服务。

需要说明的是们本发明基于sdn网络的交换机端口信息感知装置实施例的技术特征与基于sdn网络的交换机端口信息感知方法实施例中的技术特征一一对应,因此在基于sdn网络的交换机端口信息感知装置实施例中未披露的细节,参照对基于sdn网络的交换机端口信息感知方法实施例的描述。

综上所述,本发明实施例的基于sdn网络的交换机端口信息感知装置,接收交换机通过端口同步消息发送的隧道端口添加信息,根据隧道端口添加信息感知交换机的隧道端口,并通过隧道端口的添加信息识别与隧道端口对应的运维接入节点,利用隧道端口建立运维业务通道,从而将交换机的业务流量通过运维业务通道镜像到运维接入节点。该装置通过端口同步消息感知新增的隧道端口添加信息,根据隧道端口添加信息将远端识别为运维接 入节点,利用现有的交换机隧道建立运维业务通道,实现远端业务流镜像,实现了控制器对交换机逻辑端口信息的灵活感知和应用,进一步提高了该基于sdn网络的交换机端口信息感知装置的实用性。

为了实现上述实施例,本发明还提出了一种终端设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为终端设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:

接收交换机通过端口同步消息发送的逻辑端口信息,其中,逻辑端口信息包括:用于接入sdn网络的扩展字段信息;

根据逻辑端口信息感知交换机中的逻辑端口,并根据应用需求对逻辑端口进行相应的控制。

需要说明的是,上述用于终端设备的描述参照上述参照图1至图9对基于sdn网络的交换机端口信息感知方法的功能描述,其技术特征与基于sdn网络的交换机端口信息感知方法的技术特征一一对应,在此不再赘述。

综上所述,本发明实施例的终端设备,接收交换机通过端口同步消息发送的逻辑端口信息,并根据逻辑端口信息中的接入sdn网络的扩展字段信息等感知交换机中的逻辑端口,以根据应用需求对逻辑端口进行相应的控制。该终端设备通过逻辑端口信息对交换机的逻辑端口进行具体的描述,以根据该逻辑端口信息感知交换机的逻辑端口,并为交换机的需求提供支撑,实现了控制器对交换机逻辑端口信息的灵活感知和应用,且配置简单,改造方便,实用性高。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1