一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于窄带网络实现拓扑发现业务模型的方法与流程

2022-11-13 12:39:54 来源:中国专利 TAG:


1.本发明属于窄带网络通信技术领域,尤其涉及一种基于窄带网络实现拓扑发现业务模型的方法。


背景技术:

2.窄带网络是指网络带宽非常低的有线或者无线接入场景下进行的网络传输方式;一般将网络接入速度为64kbs及其一下的网络接入方式称为窄带,相对于宽带窄带的缺点是接入速度慢,传输速率低,很多互联网应用无法在窄带环境下进行;
3.拓扑发现业务模型用于设备互联互通时,自主可控发现自身设备和邻居设备的连接情况,通过同步全网设备邻居信息,即可获知全网拓扑信息,设备通过选择合适的最短路径算法,如dijkstra算法进行路径计算,可获得任意设备的最短路径信息;
4.在目前常见的拓扑协议中,通常采用如下两种方案:
5.(1)、基于lldp(link layer discovery protocol)和控制器采集实现的设备邻居协议,其是一种数据链路层协议,原理是通过周期性发送自身接口信息,对端接受后,提取远端信息,即可获取邻居信息;该协议的弊端是只能感知邻居,并没有全网拓扑信息,且该协议周期性触发,占用带宽根据频率有关,窄带情况下会持续周期性占用带宽;同时控制器会去采集所有设备的邻居信息,因此带宽将出现大量报文,且随着网络规模的增大,越来越明显,因此针对窄带网络全网拓扑感知,该方案可行性不足;
6.(3)、基于ospf感知全网拓扑方案,采用ospf协议,获取全网路由交换机节点信息,该方案仅工作在三层接口模式下,无法获取二层接口下的拓扑信息,且该协议占用带宽情况相对于窄带来说比较高,因此针对窄带网络情况下,该方法可行性同样不足。


技术实现要素:

7.针对现有技术中的上述不足,本发明提供的一种基于窄带网络实现拓扑发现业务模型的方法解决了在窄带情况下难以高效进行全网拓扑的计算的问题。
8.为了达到上述发明目的,本发明采用的技术方案为:
9.本发明提供的一种基于窄带网络实现拓扑发现业务模型的方法,包括如下步骤:
10.s1、构建fcss协议;
11.s2、将软件定义网络sdn中的各设备信息及其对应的端口信息进行简化编码,存入各设备的数据库中;
12.s3、基于fcss协议,分别建立主软件定义网络设备sdn-a与若干邻居软件定义网络设备sdn-b间的双向邻居点到点通信;
13.s4、基于双向邻居点到点通信,进行数据同步交换和双向主动推送;
14.s5、基于数据同步交换和双向主动推送,将新增邻居信息转化为链路信息,并利用fcss协议同步链路信息至软件定义网络sdn全网;
15.s6、根据设备信息和链路信息,得到全网拓扑信息,并利用dijkstra算法计算得到
软件定义网络中各设备间的路径信息,完成基于窄带网络实现拓扑发现业务模型。
16.本发明的有益效果为:本发明提供的一种基于窄带网络实现拓扑发现业务模型的方法,实现了针对软件定义网络sdn中各设备建立双向邻居点到点通信,双向差异同步传输数据库信息,双向端口负载均衡,压缩编码,可扩展协议编码,并融合传统协议,提高了窄带利用率,本发明实现了通过设备单一节点即可获取全网拓扑,无需控制器进行轮训采集所有设备信息,从而降低了带宽的占用率。
17.进一步地,所述步骤s1包括如下步骤:
18.s11、构建fcss头部;
19.s12、定义fcss协议版本、消息类型、flag和数据交互格式。
20.采用上述进一步方案的有益效果为:提供fcss协议的构建方法,为基于fcss协议实现软件定义网络数据同步提供基础。
21.进一步地,所述步骤s11包括如下步骤:
22.s111、定义fcss头部为32字节,并将fcss头部划分为第一16字节段和第二16字节段;
23.s112、将第一16字节段依次划分为第一4字节段、第二4字节段、第三4字节段和第四4字节段;
24.s113、将第二16字节段依次划分为第五4字节段、第六4字节段、第七4字节段和第八4字节段;
25.s114、利用第一4字节段表示协议版本,利用第二4字节段表示消息类型,利用第三4字节段表示flag,利用第四4字节段、第五4字节段和第六4字节段表示含头部长度的消息长度,利用第七4字节段和第八4字节段表示crc消息校验和。
26.采用上述进一步方案的有益效果为:提供fcss头部构建方法,为基于fcss协议实现软件定义网络数据同步提供基础
27.进一步地,所述步骤s12包括如下步骤:
28.s121、定义协议版本为0号版本;
29.s122、分别定义0x01表示hello及心跳报文、0x02表示设备及链路信息交互、0x03表示设备配置同步交换、0x04表示ack同步应答和0x05表示finish同步完成;
30.s123、定义0001表示gzip压缩编码;
31.s124、定义fcss数据交换格式为32字节,并将fcss数据交换格式划分为第三16字节段和第四16字节段;
32.s125、将第三16字节段依次划分为第九4字节段、第十4字节段、第十一4字节段和第十二4字节段,并将第四16字节段依次划分为第十三4字节段、第十四4字节段、第十五4字节段和第十六4字节段;
33.s126、利用第九4字节段、第十4字节段、第十一4字节段、第十二4字节段、第十三4字节段和第十四4字节段表示设备id,并利用第十五4字节段和第十六4字节段表示业务类型;
34.s127、利用第九4字节段、第十4字节段、第十一4字节段和第十二4字节段表示业务id,并利用第十三4字节段、第十四4字节段、第十五4字节段和第十六4字节段表示传输的数据。
35.采用上述进一步方案的有益效果为:提供fcss协议版本、消息类型、flag和数据交互格式的相关定义,为基于fcss协议实现软件定义网络数据同步提供基础。
36.进一步地,所述步骤s3包括如下步骤:
37.所述步骤s3包括如下步骤:
38.s31、启动fcss协议,利用主软件定义网络设备sdn-a发送第一hello报文至若干邻居软件定义网络设备sdn-b,同时分别利用各邻居软件定义网络设备sdn-b发送第二hello报文至主软件定义网络设备sdn-a;
39.s32、利用各邻居软件定义网络设备sdn-b分别接收第一hello报文,并利用主软件定义网络设备sdn-a接收第二hello报文,完成主软件定义网络设备sdn-a与各邻居软件定义网络设备sdn-b间的双向邻居点到点通信建立。
40.采用上述进一步方案的有益效果为:提供主软件定义网络设备sdn-a与各邻居软件定义网络设备sdn-b间的双向邻居点到点通信建立方法,为基于双向邻居点到点通信,进行数据同步交换和双向主动推送提供基础。
41.进一步地,所述步骤s4包括如下步骤:
42.s41、基于双向邻居点到点通信,分别利用各邻居软件定义网络设备sdn-b根据主软件定义网络设备snd-a的mac地址识别邻居主备条件;
43.s42、根据邻居主备条件进行数据同步交换和双向主动推送。
44.进一步地,所述步骤s42包括如下步骤:
45.s421、根据邻居主备条件,设主软件定义网络设备sdn-a为主节点,其端口为主端口,并设各邻居软件定义网络设备sdn-b均为从节点,其端口均为从端口;
46.s422、利用主节点向各从节点发送包括主节点数据库crc信息的第三hello报文,并利用各从节点分别向主节点发送包括对应从节点数据库crc信息的第四hello报文;
47.s423、通过主端口接收第四hello报文,并通过从端口接收第三hello报文;
48.s424、判断主节点数据库crc与第四hello报文中的数据库crc是否一致,是则进入步骤s425,否则进入步骤s426;
49.s425、分别利用主节点和从节点对应发送finish至从节点和主节点,并进入步骤s429;
50.s426、判断从节点是否有新增数据,若是则进入步骤s428,否则进入步骤s427;
51.s427、利用主节点向从节点依次发送主节点数据库信息,利用从节点在从端口完成接收主节点数据库信息后向主节点回复从节点确认字符ack,以及分别利用主节点和从节点对应发送finish至从节点和主节点,并进入步骤s429;
52.s428、利用主节点向从节点向依次发送主节点数据库信息,利用从节点在从端口完成接收主节点数据库信息后向主节点回复从节点确认字符ack,利用主节点发送finish至从节点,利用从节点向主节点依次发送从节点需要新增数据条目,利用主节点在主端口接收从节点需要新增数据条目后向从节点回复主节点确认字符ack1,以及分别利用主节点和从节点对应发送finish至从节点和主节点,并进入步骤s429;
53.s429、完成主节点与各从节点之间的数据同步交换,并进行双向主动推送。
54.采用上述进一步方案的有益效果为:基于双向邻居点到点通信,同步各节点的数据库信息,进行数据同步交换和双向主动推送,为基于设备信息和链路信息得到全网拓扑
信息提供基础。
附图说明
55.图1为本发明实施例中基于窄带网络实现拓扑发现业务模型的方法的步骤流程图。
56.图2为本发明实施例中全网拓扑同步默认拓扑图。
57.图3为本发明实施例中sptn-1基于fcss依次同步自身链路信息给邻居节点的示意图。
具体实施方式
58.下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
59.dijkstra算法:迪杰斯特拉算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径;
60.ospf协议:开放式最短路径优先路由协议是用于网际协议ip网络的链路状态路由协议。
61.如图1所示,在本发明的一个实施例中,本发明提供一种基于窄带网络实现拓扑发现业务模型的方法,包括如下步骤:
62.s1、构建fcss协议;
63.所述步骤s1包括如下步骤:
64.s11、构建fcss头部;
65.所述步骤s11包括如下步骤:
66.s111、定义fcss头部为32字节,并将fcss头部划分为第一16字节段和第二16字节段;
67.s112、将第一16字节段依次划分为第一4字节段、第二4字节段、第三4字节段和第四4字节段;
68.s113、将第二16字节段依次划分为第五4字节段、第六4字节段、第七4字节段和第八4字节段;
69.s114、利用第一4字节段表示协议版本,利用第二4字节段表示消息类型,利用第三4字节段表示flag,利用第四4字节段、第五4字节段和第六4字节段表示含头部长度的消息长度,利用第七4字节段和第八4字节段表示crc消息校验和,如表1所示:
70.表1
[0071][0072]
s12、定义fcss协议版本、消息类型、flag和数据交互格式;
[0073]
所述步骤s12包括如下步骤:
[0074]
s121、定义协议版本为0号版本;
[0075]
s122、分别定义0x01表示hello及心跳报文、0x02表示设备及链路信息交互、0x03表示设备配置同步交换、0x04表示ack同步应答和0x05表示finish同步完成;
[0076]
s123、定义0001表示gzip压缩编码;
[0077]
s124、定义fcss数据交换格式为32字节,并将fcss数据交换格式划分为第三16字节段和第四16字节段;
[0078]
s125、将第三16字节段依次划分为第九4字节段、第十4字节段、第十一4字节段和第十二4字节段,并将第四16字节段依次划分为第十三4字节段、第十四4字节段、第十五4字节段和第十六4字节段;
[0079]
s126、利用第九4字节段、第十4字节段、第十一4字节段、第十二4字节段、第十三4字节段和第十四4字节段表示设备id,并利用第十五4字节段和第十六4字节段表示业务类型;
[0080]
s127、利用第九4字节段、第十4字节段、第十一4字节段和第十二4字节段表示业务id,并利用第十三4字节段、第十四4字节段、第十五4字节段和第十六4字节段表示传输的数据,如表2所示:
[0081]
表2
[0082][0083]
其中,deviceid用于表示数据的表项属于哪个设备,业务类型用于识别业务(属于key的一部分),key表示业务的id,数据表示传输的数据;
[0084]
s2、将软件定义网络sdn中的各设备信息及其对应的端口信息进行简化编码,存入各设备的数据库中;
[0085]
s3、基于fcss协议,分别建立主软件定义网络设备sdn-a与若干邻居软件定义网络设备sdn-b间的双向邻居点到点通信;
[0086]
所述步骤s3包括如下步骤:
[0087]
s31、启动fcss协议,利用主软件定义网络设备sdn-a发送第一hello报文至若干邻居软件定义网络设备sdn-b,同时分别利用各邻居软件定义网络设备sdn-b发送第二hello报文至主软件定义网络设备sdn-a;
[0088]
s32、利用各邻居软件定义网络设备sdn-b分别接收第一hello报文,并利用主软件定义网络设备sdn-a接收第二hello报文,完成主软件定义网络设备sdn-a与各邻居软件定义网络设备sdn-b间的双向邻居点到点通信建立;
[0089]
s4、基于双向邻居点到点通信,进行数据同步交换和双向主动推送;
[0090]
所述步骤s4包括如下步骤:
[0091]
s41、基于双向邻居点到点通信,分别利用各邻居软件定义网络设备sdn-b根据主软件定义网络设备snd-a的mac地址识别邻居主备条件;
[0092]
s42、根据邻居主备条件进行数据同步交换和双向主动推送;
[0093]
所述步骤s42包括如下步骤:
[0094]
s421、根据邻居主备条件,设主软件定义网络设备sdn-a为主节点,其端口为主端口,并设各邻居软件定义网络设备sdn-b均为从节点,其端口均为从端口;
[0095]
s422、利用主节点向各从节点发送包括主节点数据库crc信息的第三hello报文,并利用各从节点分别向主节点发送包括对应从节点数据库crc信息的第四hello报文;
[0096]
s423、通过主端口接收第四hello报文,并通过从端口接收第三hello报文;
[0097]
s424、判断主节点数据库crc与第四hello报文中的数据库crc是否一致,是则进入步骤s425,否则进入步骤s426;
[0098]
s425、分别利用主节点和从节点对应发送finish至从节点和主节点,并进入步骤s429;
[0099]
s426、判断从节点是否有新增数据,若是则进入步骤s428,否则进入步骤s427;
[0100]
s427、利用主节点向从节点依次发送主节点数据库信息,利用从节点在从端口完成接收主节点数据库信息后向主节点回复从节点确认字符ack,以及分别利用主节点和从节点对应发送finish至从节点和主节点,并进入步骤s429;
[0101]
s428、利用主节点向从节点向依次发送主节点数据库信息,利用从节点在从端口完成接收主节点数据库信息后向主节点回复从节点确认字符ack,利用主节点发送finish至从节点,利用从节点向主节点依次发送从节点需要新增数据条目,利用主节点在主端口接收从节点需要新增数据条目后向从节点回复主节点确认字符ack1,以及分别利用主节点和从节点对应发送finish至从节点和主节点,并进入步骤s429;
[0102]
s429、完成主节点与各从节点之间的数据同步交换,并进行双向主动推送;
[0103]
s5、基于数据同步交换和双向主动推送,将新增邻居信息转化为链路信息,并利用fcss协议同步链路信息至软件定义网络sdn全网;
[0104]
s6、根据设备信息和链路信息,得到全网拓扑信息,并利用dijkstra算法计算得到软件定义网络中各设备间的路径信息,完成基于窄带网络实现拓扑发现业务模型。
[0105]
本发明提供的一种基于窄带网络实现拓扑发现业务模型的方法,实现了针对软件定义网络sdn中各设备建立双向邻居点到点通信,双向差异同步传输数据库信息,双向端口负载均衡,压缩编码,可扩展协议编码,并融合传统协议,提高了窄带利用率,本发明实现了通过设备单一节点即可获取全网拓扑,无需控制器进行轮训采集所有设备信息,从而降低了带宽的占用率;
[0106]
本方案中在邻居节点间通信时,当有多个端口直链时,将利用负载均衡的方式,在多个线路上同步数据库信息;在流量通信过程中,采用数据压缩编码技术,进行数据压缩;本方案可扩展协议编码,融合传统协议,提高窄带利用率:
[0107]
针对窄带特性,本方案支持协议扩展,用于替代arp/lldp/stp但不限于以上协议内容;
[0108]
针对arp协议,在本技术建立邻居时,将通过协议报文中的mac地址和数据库中的ip地址,恢复对端arp表信息,减少源arp探测报文;
[0109]
针对lldp协议,在基于本方案的fcss协议建立邻居点对点双向通信时,将通过协议报文中的端口编号,恢复对端lldp表信息;
[0110]
针对stp协议,本协议有全网路径信息,因此可以直接计算环路。
[0111]
如图2所示,在本发明的一个实用实例中,全网默认拓扑包括第一分组传送网设备sptn-1、第二分组传送网设备sptn-2、第三分组传送网设备sptn-3、第四分组传送网设备sptn-4、第五分组传送网设备sptn-5、第六分组传送网设备sptn-6、第七分组传送网设备sptn-7和第八分组传送网设备sptn-8;
[0112]
所述第一分组传送网设备sptn-1分别与第二分组传送网设备sptn-2和第四分组传送网设备sptn-4双向通信连接;所述第二分组传送网设备sptn-2与第三分组传送网设备sptn-3双向通信连接;所述第三分组传送网设备sptn-3分别与第四分组传送网设备sptn-4和第五分组传送网设备sptn-5双向通信连接;所述第四分组传送网设备sptn-4与第六分组传送网设备sptn-6双向通信连接;所述第五分组传送网设备sptn-5分别与第六分组传送网设备sptn-6和第七分组传送网设备sptn-7双向通信连接;所述第六分组传送网设备sptn-6与第八分组传送网设备sptn-8双向通信连接;所述第七分组传送网设备sptn-7与第八分组传送网设备sptn-8双向通信连接;
[0113]
如图3所示,邻居节点根据接收到的设备信息,附加到自身的数据库中,然后依次同步到其邻居节点;若邻居节点重复添加数据时,数据库识别到该数据已存在,则无事件触发,无需重复同步数据;
[0114]
所述第一分组传送网设备sptn-1将自身同步给第四分组传送网设备sptn-4,而第三分组传送网设备sptn-3也同样同步了第一分组传送网设备sptn-1数据给第四分组传送网设备sptn-4,而第四分组传送网设备sptn-4主动识别数据库无更新操作,则第四分组传送网设备sptn-4无需触发fcss同步,若第四分组传送网设备sptn-4主动识别数据库存在新增邻居信息,则第四分组传送网设备sptn-4触发fcss基于双向邻居点到点通信更新链路信息至全网;以sptn-1为视角,简述同步过程如下:
[0115]
sptn-1根据自身邻居信息,sptn-4/sptn-2获得链路信息,存入自身数据库中;
[0116]
sptn-1分别与sptn-4/sptn-2同步数据库,sptn-4收到同步报文后,识别到线路sptn-1
‑‑‑
sptn-4和sptn-1
‑‑‑
sptn-2的链路信息,将链路信息保存到本地数据库;
[0117]
sptn-4按照sptn-1的方式,继续同步给其他邻居;
[0118]
当sptn-4收到sptn-3发过来的链路信息时,此时已经有sptn-1的链路信息,此时该信息会合并到数据库中,若无变化,则无需同步给其他邻居,同步环路终止。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献