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

一种软件定义卫星网络南向接口控制方法与流程

2022-11-30 22:11:07 来源:中国专利 TAG:


1.本发明涉及天地一体化网络通信技术领域,特别涉及一种软件定义卫星网络南向接口控制方法,特别适用于星上资源受限、链路资源受限的卫星网络。


背景技术:

2.卫星网络是由不同轨道、种类、特征的卫星、星座及相应地面基础设施所组成的信息网络,它们通过星间、星地链路连接在一起,实现全球无缝覆盖,延伸和扩展地面网络,提供全球化通信传输等功能。
3.在地面软件定义网络中,目前公认的南向接口协议标准主要为openflow协议。openflow协议用来描述sdn控制器与sdn交换机之间的交互信息标准以及接口标准,具体包括二者之间的消息交互流程以及消息内容定义,包括下发流表和控制命令,交换机上报packet事件和状态。流表由首部匹配字段、计数器、策略集合组成,首部字段进行数据包的匹配,计数器用来更新匹配数据包数目,策略集合用来对匹配数据包执行特定的操作。
4.openflow协议针对地面网络设计,主要解决的是数据中心、园区网等有线应用环境下的sdn组网控制问题,认为sdn控制器与sdn交换机之间的控制通道非常稳定,没有考虑卫星网络络中链路通信带宽有限、丢包率高、链路状态不稳定、传输时延大等特点,因此,openflow在设计时采用tcp协议承载,协议流程交互频繁、协议字段复杂和协议编码繁琐,这些在地面sdn网络中可能问题不大,但是如果将openflow协议直接应用于卫星网络,将面临传输性能下降、异常处理不完善、带宽开销过大、效率低下等问题。
5.卫星网络与地面网络相比具有带宽受限、延迟高和误码率高的特点,这就要求软件定义卫星网络(s-sdn)控制器与星载sdn代理之间的南向接口协议具有较低的协议开销,尽量避免频繁的协议交互,采用可靠的传输层协议,以提高南向接口协议在卫星网络的适用性。
6.地面openflow协议没有考虑卫星无线链路信道的特点,采用tcp协议进行承载,非常容易受tcp拥塞处理机制的影响。由于tcp协议未针对高丢包、高时延、低带宽的无线通信环境进行优化,因此会造成控制通道性能下降,比如流表下发性能受到影响。另一方面,openflow协议由于底层采用tcp协议,因此应用层未设计消息的响应机制,这会导致底层传输通道由于异常丢包或失效后,openflow本身无法检测到丢包状态,导致网络控制异常。同时,标准openflow协议是在高带宽地面网络环境中设计,没有考虑窄带无线环境,因此在协议交互机制非常频繁,消息格式及消息内容设计非常复杂和繁琐,因此在卫星无线链路上会占用非常大的带宽。


技术实现要素:

7.本发明提供了一种软件定义卫星网络南向接口控制方法,旨在实现s-sdn控制器对星载路由交换设备的高效可靠轻量化南向控制。
8.为了实现上述发明目的,本发明所采取的技术方案为:
一种软件定义卫星网络南向接口控制方法,基于部署在卫星上的分布式路由、sdn代理,以及部署在地面的软件定义卫星网络控制器实现,包括以下步骤:(1)软件定义卫星网络控制器通过馈电链路或用户链路向卫星周期性发送控制器位置广播消息;控制器位置广播消息中至少包含软件定义卫星网络控制器的ip地址、软件定义卫星网络控制器的站地址以及所在卫星号和端口号,卫星上的sdn代理收到控制器位置广播消息后,在本地添加去往软件定义卫星网络控制器的路由信息和位置映射信息;(2)当卫星接收到控制器位置广播消息后,判断该控制器位置广播消息为首次收到还是控制器位置需要更新,并通过卫星上的分布式路由向当前的邻居洪泛该控制器位置广播消息;(3)当卫星通过控制器位置广播消息获取到控制器的最新位置信息时,卫星上的sdn代理向软件定义卫星网络控制器发送握手消息,建立与软件定义卫星网络控制器的双向可达性,并相互周期性发送心跳消息以保持双向可达的有效性;(4)软件定义卫星网络控制器向sdn代理发送端口查询消息,sdn代理向软件定义卫星网络控制器响应端口描述消息;软件定义卫星网络控制器收到端口描述消息后,提取并记录当前所有连接的节点属性和节点端口信息,维护当前所有连接的节点状态;sdn代理向软件定义卫星网络控制器发送的端口描述消息中包含节点的卫星号、端口数量、端口索引值以及端口状态,端口状态包含端口是否可用、端口的发送字节数和接收字节数以及端口的接口带宽、剩余可用带宽;(5)软件定义卫星网络控制器向sdn代理发送邻接拓扑查询消息,sdn代理从分布式路由处获取邻接拓扑信息,并向软件定义卫星网络控制器响应邻接拓扑消息,软件定义卫星网络控制器根据当前所有连接的节点及节点间的邻接拓扑信息生成全网节点的拓扑连接关系以及连接链路的代价,用于路由计算与流表生成;sdn代理向软件定义卫星网络控制器发送的邻接拓扑消息中包含节点的卫星号、相邻节点的卫星号、本节点与相邻节点连接使用的端口以及端口代价、相邻节点与本节点连接使用的端口以及端口代价和邻接关系的数量。
9.进一步地,步骤(5)之后还包括:(6)软件定义卫星网络控制器在路径计算完成后,与sdn代理交互流表添加或删除消息,实现对星载路由交互设备的流表配置,在需要获取流表状态时,软件定义卫星网络控制器向sdn代理进行流表查询,获取当前星载路由交换设备中的流表状态,流表状态包括当前的流表项以及该流表的流量统计信息;在节点端口状态发生变化后,sdn代理主动向软件定义卫星网络控制器发送端口描述更新消息,软件定义卫星网络控制器根据当前的端口描述信息更新当前网络拓扑连接关系;在节点邻接拓扑发生变化后,sdn代理主动向软件定义卫星网络控制器发送邻接拓扑更新消息,软件定义卫星网络控制器根据当前的邻接拓扑更新消息更新当前网络拓扑连接关系。
10.进一步地,软件定义卫星网络控制器与卫星上的sdn代理之间的南向接口交互采用的传输层协议为udp协议或quic协议。
11.进一步地,步骤(3)中软件定义卫星网络控制器与sdn代理建立双向可达性的方法为:sdn代理首先向软件定义卫星网络控制器发送握手消息,握手消息中携带自身的
id,软件定义卫星网络控制器id为空;软件定义卫星网络控制器收到握手消息后向sdn代理发送握手消息,握手消息携带自身id和sdn代理的id;sdn代理再次向软件定义卫星网络控制器发送握手消息,消息中携带自身id和软件定义卫星网络控制器的id,此时双向可达性建立成功;其中,sdn代理和软件定义卫星网络控制器之间发送的握手消息中携带着自身的保活超时时间,在保活超时时间内,若收不到对方发送的握手消息,则认为对方超时失效,双向可达性建立失败。
12.进一步地, sdn代理从分布式路由处获取邻接拓扑信息的方式为:sdn代理启动时,向分布式路由请求当前的分布式路由邻居信息,分布式路由邻居信息包括本节点的卫星号、与邻居连接使用的端口号、邻居的节点号信息以及邻居连接使用的端口号;在分布式路由邻居信息发生变化后,分布式路由主动向sdn代理通告分布式路由邻居变化信息,sdn代理根据分布式路由邻居变化信息,生成最新的邻接拓扑信息,主动上报给软件定义卫星网络控制器。
13.本发明与背景技术相比具有如下优点:1、本发明通过与分布式路由结合,承载协议优化等方式,对s-sdn控制器与星载sdn代理之间的交互内容以及功能处理进行设计,实现窄带宽高误码卫星链路下的高效南向接口协议。
14.2、本发明与标准openflow协议相比,链路带宽开销和星载设备处理开销大大降低,能够在星载cpu处理能力受限条件下,实现对星载路由交换设备的轻量化控制。
附图说明
15.图1是本发明的流程示意图。
具体实施方式
16.以下结合附图对本发明进行说明。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
17.一种软件定义卫星网络南向接口控制方法,如图1所示,该方法用于在s-sdn控制器与星载sdn代理之间通过南向接口交互,图中南向接口的交互流程包括位置通告、拓扑管理、路由管理等过程。具体来说,sdn代理在发现s-sdn控制器后,与s-sdn控制器交互hello消息,与s-sdn控制器建立双向可达性,然后s-sdn控制器在达到双向可达性后,向sdn代理发送端口描述查询消息和邻接拓扑查询消息,s-sdn控制器在收到端口描述消息和邻接拓扑消息后,生成全网的拓扑视图,在s-sdn控制器上的应用生成流表进行下发时,s-sdn控制器向sdn代理下发流表添加/删除消息,s-sdn控制器需要查询流表时,向sdn代理发送流表查询消息,sdn代理响应查询的流表信息。sdn代理与s-sdn控制器之间通过定期交互hello消息维护双向可达性。在星载路由交换设备的端口状态和邻接拓扑状态发生变化后,sdn代理主动向s-sdn控制器上报这些状态。邻接拓扑状态是由sdn代理与星载分布式路由协议交互得到的。
18.本方法在协议承载、拓扑管理、路由管理等方面对s-sdn控制器与sdn代理之间的交互流程、交互内容以及功能处理进行设计,实现了适应窄带宽高误码无线信道的南向接口协议。
19.以下为一个更具体的例子:一种软件定义卫星网络南向接口控制方法,基于部署在卫星上的分布式路由、sdn代理,以及部署在地面的s-sdn控制器实现,包括以下步骤:(1)s-sdn控制器通过馈电链路或用户链路向卫星周期性发送控制器位置广播消息;s-sdn控制器位置广播消息中至少包含s-sdn控制器的ip地址、s-sdn控制器的站地址以及所在卫星号和端口号,星载sdn代理收到s-sdn控制器的位置广播后,在本地添加去往s-sdn控制器的路由信息和位置映射信息;(2)当卫星接收到控制器位置广播消息后,判断该控制器位置广播消息为首次收到或是控制器位置需要更新时,卫星上的分布式路由协议会向当前的邻居洪泛该控制器位置广播消息;(3)当卫星通过控制器位置广播消息获取到控制器的最新位置信息时,卫星上的sdn代理会向s-sdn控制器发送握手消息,与s-sdn控制器之间建立双向可达性,并相互周期性发送心跳消息保持双向可达有效性;(4)s-sdn控制器向sdn代理发送端口查询消息,sdn代理向s-sdn控制器响应端口描述消息;s-sdn控制器收到端口描述消息后,提取并记录当前所有连接的节点属性和节点端口信息,维护当前所有连接的节点状态;sdn代理向s-sdn控制器发送的端口描述消息中包含节点的卫星号、端口数量、端口索引值以及端口状态,端口状态包含端口是否可用、端口的发送字节数和接收字节数以及端口的接口带宽;(5)s-sdn控制器向sdn代理发送邻接拓扑查询消息, sdn代理从分布式路由获取邻接拓扑信息,并向s-sdn控制器响应邻接拓扑消息,s-sdn控制器根据当前所有连接的节点及节点间的邻接拓扑信息生成全网节点的拓扑连接关系以及连接链路的代价用于路由计算与流表生成。sdn代理向s-sdn控制器发送的邻接拓扑消息中包含节点的卫星号、相邻节点的卫星号、本节点与相邻节点连接使用的端口以及端口代价、相邻节点与本节点连接使用的端口以及端口代价和邻接关系的数量;(6)s-sdn控制器在路径计算完成后,与sdn代理交互流表添加或删除消息,实现对星载路由交互设备的流表配置,并能向sdn代理进行流表查询,获取当前星载路由交换设备中的流表状态,流表状态包括当前的流表项以该流表的流量统计信息;在节点端口状态发生变化后,sdn代理主动向s-sdn控制器发送端口描述更新消息,s-sdn控制器根据当前的端口描述信息更新当前网络拓扑连接关系;在节点邻接拓扑发生变化后,sdn代理主动向s-sdn控制器发送邻接拓扑更新消息,s-sdn控制器根据当前的邻接拓扑更新消息更新当前网络拓扑连接关系。
20.其中,s-sdn控制器与星载sdn代理之间的南向接口交互采用的传输层协议为udp协议或quic协议。
21.步骤(3)中s-sdn控制器与sdn代理之间建立双向可达性的方法为:sdn代理首先向s-sdn控制器发送握手消息,握手消息中携带自身的id以及s-sdn控制器id为空,s-sdn控制器收到握手消息后向sdn代理发送握手消息,握手消息携带自身id和sdn代理的id,sdn代理
再次向s-sdn控制器发送握手消息,消息中携带自身id和s-sdn控制器的id,此时双向可达性建立成功;其中,sdn代理和s-sdn控制器之间发送的握手消息中携带着自身的保活超时时间,在保活超时时间内,若收不到对方发送的握手消息,则认为对方超时失效,双向可达性建立失败。
22.分布式路由协议与sdn代理均部署在星载节点上;sdn代理获取邻接拓扑的方法为:sdn代理启动时,向分布式路由协议请求当前的分布式路由邻居信息,分布式路由邻居信息包括本节点的卫星号、与邻居连接使用的端口号、邻居的节点号信息以及邻居连接使用的端口号,在分布式路由邻居信息发生变化后,分布式路由协议主动向sdn代理通告分布式路由邻居变化信息,sdn代理根据分布式路由邻居变化信息,生成最新的邻接拓扑信息,主动上报给s-sdn控制器。
23.总之,本发明对软件定义卫星网络(s-sdn)控制器与星载sdn代理之间的拓扑发现、状态交互等机制进行设计,采用与分布式路由结合,承载协议优化等方法,实现窄带宽高误码卫星链路特性下的优化南向接口协议,支持s-sdn控制器对星载路由交换设备的高效可靠轻量化南向控制。本发明的南向接口控制方式与标准相比,链路带宽开销和星上处理开销大大降低,特别适用于星上处理资源受限、链路资源受限的卫星网络。
24.以上仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献