System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机网络,具体涉及一种sdn下多控制器的多域拓扑同步方法。
技术介绍
1、软件定义网络是一种控制层和数据层分离的新型网络结构,随着业务需求的增加,单个控制器的网路已经无法满足性能需求,需要多控制器共同负担整个网络的负载。为了保障网络功能的正常运行,各个控制器间需要相互协调,交换数据,共享信息。在sdn环境中,获取网络设备间的连接关系是通过发送lldp数据包的方法。但在多控制器环境下,处理跨控制器域的连接链路带来了新的挑战。在多控制器场景下,控制器向边界交换机下发lldp包后,其lldp包会被转发到另一个控制器域,由于对端交换机属于另一个控制器管辖,因而在本域的控制器无法收到上交的lldp包,也就无法进行邻接关系的确定。因此,有必要研究一种多控制器多域的拓扑方法,解决现有技术中存在的问题。
技术实现思路
1、针对上述问题,本专利技术的目的是提供一种sdn下多控制器的多域拓扑同步方法,用于实现多控制器sdn网络下单个域拓扑发生改变,其他域中控制器拓扑的同步更新。
2、为解决上述技术问题,本专利技术通过以下技术方案实现:
3、一种sdn下多控制器的多域拓扑同步方法,包括以下步骤:
4、(1)各控制器通过lldp协议获取该域内当前域内网络拓扑信息并更新之前的域内网络拓扑信息;
5、(2)若各控制器收到本域交换机上交的lldp包中的网络拓扑信息无法与该域内当前网络拓扑信息进行匹配,则将收到该lldp包的交换机端口定义为域间连接端
6、(3)各控制器将当前网络拓扑信息封装为包含东西向拓扑同步协议的udp数据包,并向邻域控制器发送所述udp数据包;
7、(4)收到所述udp数据包的控制器根据s2所述lldp包中源交换机的dpid查询所述udp数据包中包含的邻域交换机信息,若有相匹配的交换机,则该交换机为与s2所述域间连接端口相连接的交换机,即可得到该控制器域域间连接信息;
8、(5)各控制器根据域内当前拓扑信息和域间连接信息,更新当前网络拓扑信息,完成拓扑同步。
9、优选的,在步骤(3)中,所述东西向拓扑同步协议标识为0x7777,使用udp端口7777作为东西向数据交换端口,通过udp数据包发送,该协议包含以下字段:协议标识、命令字、时间戳、数据长度、数据,所述协议标识字段长度为2字节;所述命令字字段长度为1字节;所述时间戳字段长度为8字节,数据类型为时间的long格式;所述数据长度字段表示udp数据包的大小,其长度为2字节;所述数据字段内容为拓扑同步信息。
10、优选的,所述拓扑同步信息为:
11、域信息:命令字0x11,包括域编号,域控制器的编号,控制器的ipv4和ipv6地址,域内交换机的个数,主机的个数及控制器的附加信息等;
12、域内交换机dpid信息:命令字0x21,包括域编号,域内交换机个数及交换机的dpid列表;
13、交换机ipv4信息:命令字0x22,包括域编号、交换机个数、交换机dpid列表、交换机ipv4列表;
14、交换机ipv6信息:命令字0x23,包括域编号、交换机个数、交换机dpid列表、交换机ipv6列表;
15、域间网关端口信息:命令字0x31,包括域编号、域间端口个数、所在交换机的dpid信息列表,端口mac信息列表,对端交换机的dpid列表;
16、域内连接信息:命令字0x32,包括域编号、连接个数、所在交换机的dpid信息列表,端对端交换机的dpid列表;
17、主机ip信息:命令字0x41,包括域编号、域内某个交换机的dpid、该交换机下属的主机数、各主机的ipv4列表、各主机的ipv6列表、各主机的mac列表;
18、域间路由信息:命令字0x51,包括域编号、相邻域的个数、每个相邻域的编号、域本域接口的mac地址。
19、优选的,在完成步骤(5)后,还包括网络拓扑监测阶段,所述网络拓扑监测阶段包括以下步骤:
20、①:各控制器每隔30秒向其所在域内交换机发送一次lldp包以获取域内网络拓扑信息和交换机信息;
21、②:各控制器将本次获取到的网络拓扑信息和交换机信息与控制器内存储的网络拓扑信息和交换机信息进行比对,若不一致,则更新域内网络拓扑信息和交换机信息,并获取新的域间连接端口,进入③;若一致则进入①等待下一次拓扑检测;
22、③:各控制器将域内拓扑信息封装为包含东西向拓扑同步协议的udp数据包,并向邻域控制器发送所述udp数据包;
23、④:收到东西向数据包的控制器将东西向数据包与该控制器域内交换机信息和拓扑信息进行匹配,得到域间的网络拓扑信息,并更新控制器内域间网络连接信息。
24、优选的,在步骤②中,本次网络拓扑获取时确定域间连接端口分为以下两种情况:
25、i:域间连接端口从与邻域交换机端口进行连接变为与本域交换机进行连接;此时,控制器在使用lldp协议获取拓扑时不会收到未知lldp包,所以当获取新的域内拓扑信息时若发现域间连接端口与域内交换端口连接则从域间连接信息中删除该端口相关信息;
26、ii:域间连接端口连接信息发生改变或者新增域间连接端口;此时控制器在使用lldp协议获取拓扑时会收到未知lldp包,则可通过(2)所述方法确定新的域间连接端口;
27、确定新的域间连接端口后,进入③。
28、与现有技术相比,本专利技术具有以下优点:
29、1.解决了现有技术中多控制器多域的同步拓扑存在无法进行邻接关系的确定等问题,成功实现了多控制器跨域通信;并为sdn场景下提供一套多控制器间的东西向拓扑同步协议,在水平方向共享各控制器掌握的网络信息,为多控制器sdn网络拓扑同步提供统一的标准;当拓扑发生改变时,通过lldp协议获取域内网络拓扑信息,然后各控制器域通过该拓扑同步协议发送其域内拓扑信息到相邻域控制器,控制器通过对收到的拓扑同步信息进行分析即可获取域间连接信息,完成拓扑同步。
30、2.不需要对sdn多控制器网络结构进行改变,且不需要新增物理设备,适应不同控制器的网络环境,使得sdn网络可以在大范围网络内得以应用。
本文档来自技高网...【技术保护点】
1.一种SDN下多控制器的多域拓扑同步方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种SDN下多控制器的多域拓扑同步方法,其特征在于:在步骤(3)中,所述东西向拓扑同步协议标识为0x7777,使用UDP端口7777作为东西向数据交换端口,通过UDP数据包发送,该协议包含以下字段:协议标识、命令字、时间戳、数据长度、数据,所述协议标识字段长度为2字节;所述命令字字段长度为1字节;所述时间戳字段长度为8字节,数据类型为时间的long格式;所述数据长度字段表示UDP数据包的大小,其长度为2字节;所述数据字段内容为拓扑同步信息。
3.根据权利要求2所述的一种SDN下多控制器的多域拓扑同步方法,其特征在于:所述拓扑同步信息为:
4.根据权利要求1所述的一种SDN下多控制器的多域拓扑同步方法,其特征在于,在完成步骤(5)后,还包括网络拓扑监测阶段,所述网络拓扑监测阶段包括以下步骤:
5.根据权利要求4所述的一种SDN下多控制器的多域拓扑同步方法,其特征在于,在步骤②中,本次网络拓扑获取时确定域间连接端口分为以下两种情况:
【技术特征摘要】
1.一种sdn下多控制器的多域拓扑同步方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种sdn下多控制器的多域拓扑同步方法,其特征在于:在步骤(3)中,所述东西向拓扑同步协议标识为0x7777,使用udp端口7777作为东西向数据交换端口,通过udp数据包发送,该协议包含以下字段:协议标识、命令字、时间戳、数据长度、数据,所述协议标识字段长度为2字节;所述命令字字段长度为1字节;所述时间戳字段长度为8字节,数据类型为时间的long格式;所述数据长度字段表示udp数...
【专利技术属性】
技术研发人员:覃匡宇,钱坤,谢幸留,王勇,
申请(专利权)人:桂林电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。