软件定义网络中的链路发现方法、装置及系统制造方法及图纸

技术编号:11660894 阅读:138 留言:0更新日期:2015-06-29 12:59
本发明专利技术提供了一种软件定义网络中的链路发现方法、装置及系统。其中,该方法包括:控制器向源交换机发送第一链路发现报文,其中,第一链路发现报文中了携带与源交换机对应的实例标识信息;控制器接收目的交换机发送的第二链路发现报文;控制器判断接收到的第二链路发现报文与发送的第一链路发现报文中携带的实例标识信息是否相同,如果相同,则确定源交换机与目的交换机之间存在链路连接。通过本发明专利技术,可以区分openflow业务和传统应用以及多个openflow实例。

【技术实现步骤摘要】

本专利技术涉及计算机网络及通信
,具体而言,涉及一种软件定义网络 (Software-Defined Network, SDN)中的链路发现方法、装置及系统。
技术介绍
目前,由于路由器的体系结构中增加了很多复杂功能,例如OSPF、BGP、组播、区分 服务、流量工程、NAT、防火墙以及MPLS等,从而使得路由器等交换设备越来越臃肿且性能 提升的空间越来越小。 针对该问题,目前出现了软件定义网络这种新型网络创新架构。在该网络架构中, 使用OpenFlow(开放流)协议将网络设备控制面与数据面分离开来,从而实现了网络流量 的灵活控制,为核心网络及应用的创新提供了良好的平台。 在相关技术中,普遍采用LLDP (Link Layer Discovery Protocol,链路层发现协 议)来发现OpenFlow网络中的物理拓扑。如图1所示,OpenFlow网络的链路发现是由控制 器发起的,即控制器在Packet_0ut消息中封装LLDP报文,发送给0F交换机1;交换机1的 OpenFlow agent协议收到Packet_0ut消息,剥离OpenFlow协议报头,解析出LLDP报文格 式,并从端口1发出;当0F交换机2收到LLDP报文,根据配置的流表匹配信息和动作,上送 LLDP报文给本地OpenFLow agent协议处理,本地OpenFLow agent协议把LLDP报文封装为 Packet_In消息,并上送给控制器处理;控制器分析packet_in消息内的LLDP信息,判断出 交换机1的端口 1和交换机2的端口 2存在物理连接,从而达到了链路发现的目的。通过 上述流程,控制器可以发现其它物理连接,进而发现整个OpenFlow网络的拓扑路径。 上述相关技术中,主要存在以下问题: 问题1,OpenFlow网络支持多实例部署,每个控制器发现的openflow网络拓扑是 基于单实例的。而OpenFlow交换机(OpenFlowSwitch, 0FS)设备之间支持多个OpenFlow 实例(OpenFlowInstance, 0FI),但由于发送端发出的LLDP报文都相同,接收端无法区分 LLDP报文是属于哪个0FI,从而无法决定把LLDP报文上送给哪个控制器处理。 问题2,如果0FS是混合设备,即0FS既支持openflow应用,也支持传统应用, 例如两个0FS之间的连接端口由OpenFlow和传统应用共享。在这种情况下,传统应用和 openflow都会在交换机之间发送LLDP报文,由于发送端发出的LLDP报文没有携带区分 openflow和传统应用的标识信息,因此,接收端无法决定把LLDP报文交给传统应用处理, 还是上送给控制器处理。 问题3,如果LLDP报文不区分Openflow多实例和传统应用,即交换设备收到的 LLDP报文,都上送给多实例和传统应用,则影响LLDP报文的正常运行。现有的LLDP标准 规范中,源交换机发出的LLDP报文中chassisidTLV(类型长度值)为设备标识,用于携 带源交换机的设备信息,比如MAC地址等;portidTLV携带出端口信息。目的交换机收到 LLDP报文后,通过packet_in转发给控制器,控制器无法识别是否为自身发出的LLDP,从而 可能错误认为存在连接关系。 在相关技术中,针对SDN网络提出了两种扩展LLDP的方案,一是采用特殊的 EtherType,二是采用非标准的LLDP目的地址。上述两种方案主要解决了单个Openflow实 例和传统业务的LLDP不能区分的问题,但无法解决多实例下控制器无法识别收到的链路 发现报文是否是自身发送的链路发现报文,从而导致连接关系判断失误的问题。
技术实现思路
针对相关技术中无法解决多实例下控制器无法识别收到的链路发现报文是否是 自身发送的链路发现报文,从而导致连接关系判断失误的问题,本专利技术提供了一种软件定 义网络中的链路发现方法、装置及系统,以至少解决上述问题。 根据本专利技术的一个方面,提供了一种软件定义网络中的链路发现方法。 根据本专利技术的软件定义网络中的链路发现方法包括:控制器向源交换机发送第一 链路发现报文,其中,所述第一链路发现报文中了携带与所述源交换机对应的实例标识信 息;所述控制器接收目的交换机发送的第二链路发现报文;以及所述控制器判断接收到的 所述第二链路发现报文与发送的所述第一链路发现报文中携带的实例标识信息是否相同, 如果相同,则确定所述源交换机与所述目的交换机之间存在链路连接。 优选地,在控制器向源交换机发送第一链路发现报文之前,所述方法还包括:所述 控制器与所述源交换机建立TCP/SSL连接,获取与所述源交换机对应的实例标识信息。 优选地,如果所述控制器已学习到与所述目的交换机对应的实例标识信息,则所 述第一链路发现报文中还携带有与所述目的交换机对应的实例标识信息。 优选地,所述第一链路发现报文和所述第二链路发现报文为链路层发现协议LLDP 报文。 优选地,所述实例标识信息包括:数据路径DP标识。 优选地,所述实例标识信息通过在LLDP报文的可选类型长度值TLV中携带。 根据本专利技术的另一个方面,提供了一种软件定义网络中的链路发现装置。 根据本专利技术的一种软件定义网络中的链路发现装置位于控制器,包括:发送模块, 用于向源交换机发送第一链路发现报文,其中,所述第一链路发现报文中了携带与所述源 交换机对应的实例标识信息;接收模块,用于接收目的交换机发送的第二链路发现报文; 以及判断模块,用于判断接收到的所述第二链路发现报文与发送的所述第一链路发现报文 中携带的实例标识信息是否相同;确定模块,用于在所述判断模块判断两个实例标识信息 相同的情况下,确定所述源交换机与所述目的交换机之间存在链路连接。 优选地,还包括:连接模块,用于与所述源交换机建立传输控制层协议TCP/安全 套接层SSL连接;获取模块,用于通过与所述源交换机之间建立的TCP/SSL连接,获取与所 述源交换机对应的实例标识信息。 优选地,所述第一链路发现报文中还携带有与所述目的交换机对应的实例标识信 肩、。 根据本专利技术的又一个方面,提供了一种链路发现报文的处理方法。 根据本专利技术的链路发现报文的处理方法,包括:目的交换机接收到来自源交换机 的链路发现报文;所述目的交换机判断接收到的所述链路发现报文中是否携带有与所述源 交换对应的第一实例标识信息,如果有,则向控制器发送链路发现报文。 优选地,向控制器发送链路发现报文包括:所述目的交换机判断接收到的所述链 路发现报文中是否携带有与所述目的交换机对应的第二实例标识信息,如果有,则向管理 所述第二实例标识信息对应的实例的控制器发送链路发现报文,否则,向与所述目的交换 机连接的所有控制器发送链路发现报文。 优选地,在所述目的交换机判断接收到的所述链路发现报文没有携带有与所述目 的交换机对应的第二实例标识信息的情况下,所述方法还包括:所述目的交换机在向所有 控制器发送的所述链路发现报文中添加所述第二实例标识信息。 根据本专利技术的再一个方面,提供了一种链路发现报文的处理装置。 根据本专利技术的发现报文的处理装置位于目的交换机,所述装置包括:接收模块,用 于接收到来自源交换机的链路发现报文;第一判本文档来自技高网
...

【技术保护点】
一种软件定义网络中的链路发现方法,其特征在于,包括:控制器向源交换机发送第一链路发现报文,其中,所述第一链路发现报文中了携带与所述源交换机对应的实例标识信息;所述控制器接收目的交换机发送的第二链路发现报文;以及所述控制器判断接收到的所述第二链路发现报文与发送的所述第一链路发现报文中携带的实例标识信息是否相同,如果相同,则确定所述源交换机与所述目的交换机之间存在链路连接。

【技术特征摘要】

【专利技术属性】
技术研发人员:张君辉喻敬海
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1