一种基于SDN的组网方法与流程

文档序号:30222711发布日期:2022-05-31 23:03阅读:397来源:国知局
一种基于SDN的组网方法与流程
一种基于sdn的组网方法
技术领域
1.本发明涉及sdn(software defined network,软件定义网络)领域,尤其涉及一种基于sdn的组网方法和系统。


背景技术:

2.传统网络的层次结构是互联网取得巨大成功的关键。但是,随着网络规模的不断扩大,封闭的网络设备内置了过多的复杂协议,增加了运营商定制优化网络的难度。面对丰富的应用场景和多样化的业务需求,软件定义网络已成为资源灵活分配和动态服务供应的关键技术。sdn实现了控制平面和数据平面的解耦,增加了网络的灵活性。sdn为组网架构和组网应用带来巨大的革新。然而,在具备动态环境、影响因素复杂等特点的环境中,sdn的性能受到了一定的限制,同时对一些组网故障的处理尚存不足。现有技术中涉及有线网络较少,且很少关注组网对特殊环境的适应性,也尚未有针对真实网络存在相同ip情况的解决方案和对高移动场景下的组网稳定性和性能研究,不能很好处理节点的区域切换问题,浪费控制器资源。而传统路由协议采用洪泛方式构建组网路由,控制器不能完整掌握组网信息,资源利用率低,对组网突发问题反应不及时,粗粒度调整组网。


技术实现要素:

3.为了解决基于sdn环境下快速组网的问题,本发明提出一种快速组网方案。
4.本技术实施例提供一种基于sdn的组网方法,包括以下步骤:
5.设置汇聚节点为汇聚节点为控制节点;
6.以控制节点为起始节点采用控制层面路由建立方法将控制节点与周围以有线直连方式连接的节点完成一跳路由规划;
7.其余正常运行的节点以逐跳加入的方式与控制节点建立控制层面通信构建完整组网。
8.优选地,所述汇聚节点搭载onos系统,所述控制节点通过onos集成的lldp协议对节点间路由信息进行感知和收集。
9.优选地,当控制节点发送广播数据包时,数据包字段中包括目的ip信息、源ip信息、控制节点端口信息、跳数信息、序列号信息、校验信息;所述序列号信息为数据包标志字段、根据数据包中所述序列号信息执行下一步操作。
10.优选地,与所述控制节点直连的节点接收到广播数据包后构建并维护路由表信息,所述路由表信息包含该节点的反向路由信息。
11.优选地,当所述与控制节点直连的节点接收到所述控制节点发送的广播数据包后做如下步骤:
12.在所述广播数据包中取出源ip信息、序列号信息载入自身维护的所述路由表;
13.所述跳数信息加1、所述序列号信息不变,形成修改后的广播数据包;
14.向除接收端口外的其他端口转发所述修改后的广播数据包;
15.构建相同的所述修改后的广播数据包根据所述路由表的所述反向路由信息发送回所述控制节点。
16.优选地,当组网中存在ip相同节点群时,在所述ip相同节点构建并维护虚拟ip映射表;所述虚拟ip映射表包括所述ip相同节点所属的节点群ip信息、与所述ip相同节点对应的mac地址信息和所述节点对应的虚拟ip信息;
17.所述ip相同节点发送数据包时还包括所述ip相同节点的ip地址转换为虚拟ip的步骤;
18.所述ip相同节点接收数据包时判断若所接收的数据包的所述目的ip信息是否所述为所述ip相同节点的ip地址,则将数据包的所述源ip信息根据所述虚拟ip映射表转换为虚拟ip。
19.优选地,在组网中间位置的失效节点突然消失的情况下:所述控制节点实时感知所述失效节点消失;
20.所述控制节点收集与所述失效节点相邻的节点信息;
21.若存在需要经过所述失效节点转发至目的节点的数据包,所述控制节点构建集中调整数据包,所述集中调整数据包的所述序列号信息按照预设的集中调整规则增大;
22.所述目的节点接收到序列号信息增大的所述集中调整数据包后根据转发该数据包的上一级节点信息更新所述目的节点的路由表,并发送确认包返回给所述控制节点。
23.优选地,在更新所述目的节点的路由表的步骤中,所述路由表选择路径中最小时延的路径,所述最小时延的路径计算方法具体为:
24.其中,a1、a2、a3......为邻节点系统状态等因素配合权重比例,rn为当前路径的时延,为rn,min所有路径中最小的时延。
25.优选地,所述组网中的每个节点均配有状态信息感知机制,在组网中间位置的失效节点突然消失的情况下,原需经过所述失效节点转发数据包的目的节点通过所述状态信息感知机制感知到上一级节点失效;
26.所述目的节点在自身维护的所述路由表中删除原有路由信息;
27.所述目的节点构建分布调整数据包将所述分布调整数据包的所述序列号信息按照预设分布调整规则增大,并将所述分布调整数据包进行广播发送;
28.所述控制节点接收到所述分布调整数据包后提取端口信息,同时构建调整响应信息发送回所述目的节点;
29.所述目的节点根据所述调整响应信息构建新的路由表。
30.本发明还提供一种基于sdn构建的网络系统,用于执行上述任意一种组网方法,该网络系统包括搭载onos系统的汇聚节点,还包括组网状态感知模块,用于感知当前网络状态;路径选优模块,用于调整路由时选择最优路径;调整策略模块,用于设置或在所述网络系统出现节点缺失时调整广播数据包转发策略和路由策略。
31.与现有方案相比,本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:1)简单组网中逐跳加入的控制层面动态路由建立方法,各节点与控制器之间的控制层面路由建立过程遵循以控制器为中心逐渐向外散发的方式,内围节点加入控制层面路由是外围节点建立路由路径的前提条件与可靠保证,节点与节点之间相互依靠、相互作用以实现建立一个完整的控制层面路由路径网的目标。2)解决了ip相同带来的不能以传统网络
角度看待组网中众多的问题与机制、失去地址地理位置与身份的双重属性、ip地址也就失去了特异性的问题。3)在某一中间节点突然消失的情况下,控制节点能够有效发挥自身职能,对组网进行调控,从而重新建立起控制节点与其他节点之间的控制层面路由的双向通信。4)采用调整策略应对组网内节点突然退出情况,由控制节点感知组网故障,并执行一系列的局部调整达到使受影响节点重新加入组网的目标,在这个过程中,控制节点需要进行“路径选优”,从而在最优路径上执行策略,以保证突发中断的组网仍具有良好的性能。5)本发明立足实际的战场环境,结合特殊的ip机制提出组网路由策略和解决方案,提出在sdn网络场景与onos、p4与bmv2技术背景下,设计基于onos与p4的sdn网络和虚拟ip的带内组网机制,优化网络状态感知方法,提高网络资源利用率,以集中控制的功能视角综合考虑网络故障的原因及其相关性,解决特殊环境场景下组网的故障感知与修复问题,提高组网对突发问题的适应能力,在故障调整方面上降低网络开销、提高精度,实现单节点执行细粒度的故障感知与有效调整。
附图说明
32.图1是本发明实施例组网方法流程示意图;
33.图2是本发明实施例的控制层面路由建立方法流程图;
34.图3是本发明实施例的中间节点突然失效时组网自适应一种策略调整流程图;
35.图4是本发明实施例的中间节点突然失效时组网自适应一种策略调整原理图;
36.图5是本发明实施例的中间节点突然失效时组网自适应第二种策略调整原理图。
具体实施方式
37.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
38.图1给出了本发明组网方法流程图,包括以下步骤:
39.设置汇聚节点为汇聚节点为控制节点;
40.首先根据实际环境与需要设定搭载onos的汇聚节点为控制节点,将其视为路由建立过程中的起始节点。
41.以控制节点为起始节点采用控制层面路由建立方法将控制节点与周围以有线直连方式连接的节点完成一跳路由规划;
42.周围以有线直连方式与控制节点相连接的节点被视为“第一跳连接”,通过控制层面路由建立方法与控制节点完成一跳的路由规划,这样能够保证直连节点可以与控制节点在控制层面上进行正常通信。
43.其余正常运行的节点以逐跳加入的方式与控制节点建立控制层面通信构建完整组网;
44.除了跳数为一跳的节点外,其余正常运作的节点以借助直连节点的方式与起始节点建立控制层面通信,可以确定所有与起始控制节点相连的直连节点都拥有了正确的路由,这些直连节点就会发挥中继作用,外围的节点利用中继关系与起始节点建立控制层面路由;最后,相对边缘的节点通过其他已建立连接的节点迭代连接直到所有需要连接的节点全部介入网络,进而与控制节点建立路由路径。尤其在战场环境下的节点动态调度与协
作,提高了特殊动态组网故障检测与处理的效率与精度,进一步减少网络开销提高网络效率,为传统组网适应战场等特殊环境做准备。
45.图2给出了本发明实施例控制层面路由建立方法流程图,在本发明的网络系统中,承载控制器作用的节点需要能和其他节点进行控制层面的路由通信,当在控制节点上正确配置并告知其他节点信息之后,其能知晓所有开启bmv2节点的基本信息,但仅此还不能够实现流表下发等控制层面的功能,通过告知控制器相关信息只能证明其他节点存在。
46.通常,控制节点会正确接收文件信息并得知其他节点的基本信息,但无法自动建立控制层面上的双向连接。考虑如何建立控制层面路由的难题,本发明提出了逐跳加入的控制层面路由建立方法。首先根据实际环境与需要设定搭载onos的汇聚节点为控制节点,将其视为路由建立过程中的起始节点;其次,周围以有线直连方式与控制节点相连接的节点被视为“第一跳连接”,通过控制层面路由建立方法与控制节点完成一跳的路由规划,这样能够保证直连节点可以与控制节点在控制层面上进行正常通信;然后,除了跳数为一跳的节点外,其余正常运作的节点以借助直连节点的方式与起始节点建立控制层面通信,可以确定所有与起始控制节点相连的直连节点都拥有了正确的路由,这些直连节点就会发挥中继作用,外围的节点利用中继关系与起始节点建立控制层面路由;最后,相对边缘的节点通过其他已建立连接的节点迭代连接过程,进而与控制节点建立路由路径。
47.控制节点为搭载onos的起始节点同时也是汇聚节点,节点1与控制节点直连,节点2在物理上通过节点1与控制节点相连,由bmv2驱动各个节点,系统中不存在无线连接方式。
48.目的ip(广播)源ip(控制节点端口)跳数序列号检验和......
49.表1 控制节点(起始节点)各端口广播数据包字段格式
50.控制节点通过与节点1直连的端口发送广播包,节点1接收包,并根据到达的数据包执行三个动作:第一,得知、取出与其直连的控制节点端口ip地址、数据包信息序列号,载入自身维护的路由表;第二,对数据包字段不改变,将目的ip地址仍然保持为广播地址,源ip地址仍然不变,将跳数加1,序列号不做改变;第三,向除了接收端口以外的端口转发修改后的数据包。
51.在执行三个动作之前,其根据数据报信息构建、维护一个路由表,路由表包含的信息解决接入节点如何通往控制节点的问题,即“反向路由”条目,节点1收到数据包构建反向路由。另外,完成执行三个动作后,节点1构建一个相同格式的数据包并根据反向路由发送回去,以达到使控制节点建立目标为节点1正向路由的目的,反向路由信息即记载该节点通往控制节点的路由信息。
52.目的ip(广播)源ip(控制节点端口)跳数序列号检验和......
53.表2 节点1转发的数据包字段格式
54.目的ip(控制节点端口)源ip(节点1ip)跳数序列号检验和......
55.表3 节点1给控制节点回送数据包字段格式
56.本发明提出的策略使节点1和控制节点成功建立双向控制层面路由通信,后由控制节点通过onos集成的lldp协议对节点间路径信息进行感知和收集。
57.控制层面路径的发现过程依托于lldp数据包的定时发送机制。lldp作为链路层协议提供了感知链路、发现链路、周期性收集链路信息等功能,且onos已经集成了lldp协议。
当控制节点(汇聚节点)正确启动控制功能,其定时向所有端口发送lldp广播包,用以探查链路状态,对于收到广播包的节点,则会根据自身信息形成单向tcp包返回给控制节点,这样的数据包中含有连接端口号、路径信息等内容,控制节点根据返回的tcp包对已知的路径信息进行更新,并继续以周期性发送广播包的方式保持路径信息的实时性和有效性,另外,单向tcp包的回送过程依赖于已建立的反向路由。
58.在节点1和控制节点已建立控制层面路由的基础上设计与节点3的连接过程,在本发明中,节点1作为与控制节点直连的节点,会成为第一批建立控制层面路由的对象,并为其他节点的后续连接提供帮助。节点2从端口收到节点1的数据包并执行与节点1相同的流程,达到节点2与控制节点建立控制层面的双向路由目标,其遵循原则:如果要发送数据包给控制节点,必须先交付给节点1,剩下的工作是透明的。
59.作为本发明的一个实施例,在实际组网中,存在相同类型节点ip相同的情况,称其为ip相同节点群,失去地址地理位置与身份的双重属性,ip地址也就失去了特异性。对于特殊节点群来说,虽然各节点ip地址相同,但mac地址仍保持独一无二。当网络结构中组网由一个控制节点和一群ip相同的节点群组成时。每个节点利用节点群中本节点的ip地址与各节点唯一序号信息,借助功能模块通过特殊地址转换算法生成具有特异性的“虚拟ip”,算法执行完成后,每个节点就利用“虚拟ip”进行通信,同时维护一张以转换后的虚拟ip为主要内容的路由表。
60.ip地址mac地址虚拟ipip_1mac_1ip-1ip_1mac_1.1ip-1.1
61.表4 虚拟ip映射表
62.由于各节点编排序号是独一无二的,根据各节点序号可构建如表4虚拟ip映射表,每个节点依据编排序号对应选取虚拟ip,并继续后续的包转发与处理流程。
63.对每一个具有相同ip的节点来说,每次发送接收数据包时都可以使用“虚拟ip”进行,但是这样的发送、接收过程需要配合控制器、p4等来实现。考虑相同ip节点群中两个节点的数据包发送、接收过程。
64.每个节点都拥有虚拟ip映射表。传统网络规则下的节点群中,具有相同ip的节点是不能互相发包的,假定节点1、节点2同为相同ip的节点群中的节点,如果节点1需要向节点2发送数据包,就需要动作根据映射表将数据包目的ip地址转换成虚拟ip地址再进行发送,相同的,对节点2来说,如果数据包目的ip地址不是ip_1就不会接收数据包,所以仍然需要动作将数据包源ip地址转换为虚拟ip,而将目的地址(此时是虚拟ip)转换为“原”ip,即ip_1,通过这样的转换过程,节点2可以正确接收到数据包。如果此时数据包需要转发给节点3,节点2只作为中间转发节点的话,节点2就不会执行转换的动作,而是将数据包进行简单转发即可。
65.实现以上提到的数据包转发目标依赖于组网中每个节点对信息的收集、计算与映射表的形成、维护等过程,前提是节点要拥有完整的转换模块,从而才能结合特异性标识(序号、mac地址等)将相同的ip转换为虚拟ip。
66.在执行虚拟ip生成动作后,在控制节点与后续节点(非第一跳节点)的连接过程中执行在上一部分阐述的路由建立方法,只要节点已经建立控制层面双向路由并且形成虚拟
ip映射表,那么以后每次发数据包都使用虚拟ip,也就是执行本部分阐述的数据包发送过程。
67.从宏观上看,相同ip节点群的控制层面路由建立过程就是在每次建立起路由后,增加各节点收集信息、转换地址、生成并维护虚拟ip映射表的重要步骤,而每一个节点在经过这一步骤后所使用的就是虚拟ip,这样就可以保证已建立路由的节点与即将加入路由的节点两者拥有不同的“ip”,形式上与不同ip背景下的控制层面路由建立方法一致。
68.图3为网络系统中间节点突然失效时组网自适应策略调整流程示意图
69.当处在组网中间位置的节点突然消失的情况,相邻节点和对拥有经过这个节点控制层面路由的外围节点会被影响。假定节点2突然消失,由控制节点执行一系列的局部调整达到使节点3重新加入组网的目标。在集中式调整策略中,控制节点肩负感知节点2退出的责任。控制节点搭载的onos提供了这样的功能接口,即在一个可视化界面或者命令行上查询、得知组网节点的状态,节点3一旦退出组网,onos会实时地获取相关信息,即对组网的实时状态信息进行感知收集。
70.图4为网络系统中间节点突然失效时组网自适应策略调整流程原理图。
71.控制节点知晓一个节点退出后受影响相邻节点的具体信息,只考虑相邻节点的理由是:相对靠近控制节点的控制路由不会无效,且节点3的下属节点仍然遵循只交付数据给节点3不管后续转发过程的原则。由控制节点构建数据包,数据包的目的ip为节点3的端口ip,源ip为汇聚节点与节点4连接的端口ip,序列号按照统一规则增大,由于节点4的控制层面路由没有受到影响,那么控制器将对其正常下发流表同时利用p4实现动作,这个动作目标是将数据包发往下一个控制层面路由正常的节点,以此过程迭代,每个中间节点亦更新有关节点3的路由路径,最终将数据包转发给节点3,节点3收到序列号较大的数据包,认定其为组网更新后控制器形成的通知信息,后根据数据包字段与收到数据包的接口信息更新控制层面路由,即节点3通过收到来自节点4的数据包更新路由表,将下一跳定位为节点4,节点3会构建确认包回送给控制节点以达到确认通知的目的。控制节点能够有效发挥自身职能,对组网集中调控,从而重新建立起与节点3之间的控制层面路由的双向通信。
72.采用以上调整策略应对组网内节点突然退出情况,由控制节点感知组网故障,并执行一系列的局部调整达到使受影响节点重新加入组网的目标,在这个过程中,控制节点需要进行“路径选优”,从而在最优路径上执行策略,以保证突发中断的组网仍具有良好的性能。
73.当某一节点的父节点宕机将会使当前所在组网路由无效,控制器感知变化,迅速找到正常邻节点并规划可重新建立路由的物理链路。然后执行路径选优算法,确定路径后由应用层执行策略,中间节点依据p4逻辑向受影响设备转发请求数据包,由受影响设备返回响应数据包并更新路由表,重新加入路由组网。
74.以实际项目组网说明路径选优算法执行流程。由汇聚节点感知组网节点状态、结合参数(json格式文件)执行算法,算法会按照一定的计算逻辑生成可选路径的加权值,其将比较并确定具有最小加权值的路径对象,此为路径选优的过程,确定最优路径后,由控制器执行集中式调整策略,即下发流表等动作并达到与受影响节点重新建立起控制层面双向通信的目标。
[0075][0076]
表5 影响因素以及权重比例(n下标代表第n条备选路径)
[0077]
本方案使用路径加权值“最小”衡量“最优”概念,即考虑由路径延迟、路径节点数目(或目的节点跳数)、邻节点系统状态等因素配合权重比例(a1、a2、a3......)综合生成的加权值,如下式计算出的r
n,min
值即为路径选优判定依据,选取具备最小rn值的路径执行调整策略。
[0078]rn
=a1*x
n,1
+a2*x
n,2
+a3*x
n,3
+...
ꢀꢀꢀ
(1)
[0079]rn,min
=min{r1,r2,r3,...}
ꢀꢀꢀ
(2)
[0080]
本方案设计中将决定最优路径的算法命名为权值优化的佛洛依德算法,其帮助控制节点处理参数、生成加权值,并选择一条最符合要求的路由路径执行调整策略,综合提高组网性能与运行效率。
[0081]
图5为本发明实施例的中间节点突然失效时组网自适应第二种策略调整原理图。
[0082]
采用了前述调整策略进行组网调整,除了此策略之外,本发明还提出了第二种调整策略,与前者不同,第二种调整策略立足于接入节点而不是具备控制功能的汇聚节点,由接入节点进行组网状态的感知,并执行完全不同的组网调整策略,这个过程仍然与汇聚节点即控制节点有关,因为各接入节点需要向汇聚节点通知组网变化的具体信息。
[0083]
在组网中,每个节点都具有传统网络中维持链路状态信息的感知机制,即通过端口在链路上周期性发送hello包实现,链路的断开会使控制面路由失去必要的物理承载,节点3通过hello包收集到的链路状态异常信息知晓控制面路由条目的无效,进而在维护的路由表中删除上次更新过程中形成的某序列号路由信息,最后采取行动尝试建立新的控制层面路由。
[0084]
在本方案中,其余未受影响的节点仍拥有通往控制节点的路由。节点3构造序列号字段遵循统一规则增大后的数据包,将其广播出去。广播包被汇聚节点接收后,因为序列号不同且此时的序列号更大,汇聚节点会记录包接收端口与包信息,同时构建一个响应信息发回节点3,由于广播包途径的节点都拥有通往节点3的正向路由,响应信息将正常传回给节点3,从而使节点3知晓新的控制层面路由路径是什么样的,并知晓控制信令需发给节点4端口。
[0085]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1