基于Linux的IP报文和USLP帧双向高速协议转换方法及装置与流程

文档序号:37311218发布日期:2024-03-13 21:00阅读:11来源:国知局
基于Linux的IP报文和USLP帧双向高速协议转换方法及装置与流程

本发明涉及高速协议转换领域,特别涉及一种基于linux系统并应用于星地通信的ip报文和uslp帧双向高速协议转换方法。


背景技术:

1、ccsds作为国际空间通信协议领域最权威的标准化机构,其发布的空间通信领域在全球范围内得到广泛应用,ccsds的数据链路层协议尤为强大,对空间通信信道误码率高的特点进行了全方位考虑,其中uslp协议作为新的高效通信协议对现有的数据链路层通信协议进行了整合和优化。ccsds已经考虑与地面互联网兼容,支持ip协议在ccsds数据链路上传输,但是对于网络路由协议目前还没有提出各方广泛认可的解决方案。

2、以tcp/ip为核心的地面网络协议非常成熟,其中ipv6是当前公认的地面网络和未来天地一体化融合网络的核心网络协议,国内外开展了很多ipv6相关研究,旨在将地面网络的成功经验应用到空间网络,但是将tcp/ip协议直接应用到空间网络中会遇到很多问题,首先需要解决的问题就是两种不同网络如何互连互通。空间路由器作为天地一体化网路进行互联的一个核心设备,是未来天基信息网络建设的重要支撑。国内外研究的空间路由器通常以ipv6互联网体系结构为基础,基于多核cpu、fpga、高宽带敏捷交换芯片和linux操作系统,实现快速报文处理转发和路由协议。

3、上海航天测控通信研究所cn113612699a号专利公开了一种提高ip over ccsds传输效率的方法,该方法在ip over ccsds协议转换设备中进行网络分包和大容量固存集成,将外部延时网络数据的波动、突发数据传输转换为设备内部lvds接口ip匀速传输。重庆大学cn103442017b号专利公开了一种ip over ccsds协议转换的改进方法,在协议转换过程中,新增了一个ccsds aos缓存窗口,并设置了定时器控制功能,当大量ip包连续到达地面网关时,可以由ccsds aos缓存窗口溢出控制ccsds aos帧的发送,当数据量较少时,可由定时器定时控制ccsds aos帧的发送。

4、上述方法主要存在以下问题:

5、(1)上述方法均与定制嵌入式软硬件环境深度绑定,依赖特定软件设计或硬件fpga,无法移植运行到成熟通用操作系统和开发环境,例如当前网络设备中使用最广泛的linux操作系统;

6、(2)上述ip over ccsds协议转换方法均针对ccsds组织较早制定的aos协议,uslp协议相对aos做了大量的整合和优化,是一种全新的ccsds数据链路层协议,而上述方法不支持uslp协议,导致未来应用场景受限;

7、(3)上述ip over ccsds协议转换方法均为ip报文单向转为ccsds aos帧,不支持同时双向转换,而地面网络/空间网络的信息交互一般都是双向进行的,因此上述方法不能满足异构网络环境中的应用需求。


技术实现思路

1、鉴于此,本公开提出了一种基于linux系统的ip报文和uslp帧双向高速协议转换方法,该方法对接收到的ipv6报文封装为标准uslp帧并输出,将接收到的uslp帧解封出其中的ipv6报文,从而实现地面ipv6网络数据与空间uslp链路数据之间格式互转,使地面网络和空间网络之间互联互通,可应用于天地一体化融合网络的路由器/网关等网络设备。

2、首先对本公开提供的协议转换方法给出如下相关说明:

3、(1)设定空间网络通信的协议规范,各层支持的协议为:数据链路层使用ccsds统一空间数据链路协议(uslp),网络层使用ipv6协议,并通过ip over ccsds协议、封装业务实现ipv6与uslp的连接。此外,数据链路层可兼容现在广泛使用的高级在轨系统(aos)。空间网络协议从网络层自上而下的层次为ipv6->ip over ccsds->封装业务->uslp->以太网帧。

4、(2)协议转换软件运行在linux系统上,使用linux内核中的tap虚拟设备,该设备不同于内核的其它设备,其发送和接收数据包都在网络协议栈内部完成,发送的数据包不会离开协议栈进入到物理网络中,也不会接收到从物理网络中进入协议栈的数据包。

5、(3)linux用户空间的设备节点/dev/net/tun用于读写tap设备,内核中tap设备在发送数据包时,将数据包发送到与/dev/net/tun文件描述符相关联的套接口,用户空间就可从设备节点读取数据。用户空间程序向/dev/net/tun文件描述符写入数据时,tun/tap驱动调用内核的数据包接收接口(如netif_rx)将接收到的数据包送入网络协议栈,该操作与从物理网络中接收数据包相同。

6、具体的,本公开提供的基于linux系统的ip报文和uslp帧双向高速协议转换方法,主要包括以下步骤:

7、步骤一:将ip报文和uslp帧转换程序运行在linux系统之上,转换程序所需的相关配置参数,通过xml配置文件的形式由该程序读取并传递到当前运行程序中;

8、步骤二:运行ip报文和uslp帧转换程序的计算机或路由器从地面网络端接收到ip报文后,linux内核将接收到的ip报文通过tcp/ip协议栈转发至tap网络设备,tap接收到ip报文,将ip报文传递至运行在用户态的ip报文和uslp帧转换程序;ip报文和uslp帧转换程序依据协议规范将ip报文转换成uslp帧,转换成uslp帧之后将报文发送至tap网络设备;tap网络设备通过网桥将报文传递至空间网络端;

9、步骤三:运行ip报文和uslp帧转换程序的计算机或路由器从空间网络端接收到uslp帧后,linux内核将接收到的uslp帧通过网桥传递给tap网络设备;tap接收到uslp帧,将uslp帧传递至运行在用户态的ip报文和uslp帧转换程序;ip报文和uslp帧转换程序依据协议规范将uslp帧转换成ip报文,转换成ip报文之后将报文发送至tap网络设备;tap网络设备将报文送入tcp/ip协议栈,由协议栈转发至地面网络端。

10、应用上述方法的基于linux系统的ip报文和uslp帧双向高速协议转换装置,主要包括:基于ccsds标准协议规范的ip报文到uslp帧转换模块和uslp帧到ip报文转换模块,这两个模块分别用于:利用用户态应用程序,将接收到ip报文封装为uslp帧,和将收到的uslp帧解封为ip报文。

11、进一步的,该装置利用linux内核的tap虚拟设备实现内核网络协议栈和用户态应用程序之间的数据传递。

12、进一步的,所述ip报文到uslp帧转换模块和所述uslp帧到ip报文转换模块可并发运行。

13、与现有技术相比,本公开的有益效果是:1)所述ip报文和uslp帧转换程序可运行在成熟且通用化的软硬件环境中,操作系统可使用开源的linux操作系统,从而不必定制专门的嵌入式软硬件环境;

14、2)支持ccsds机构制定的最新数据链路层ulsp协议与地面网络ipv6协议之间的数据转换,可满足未来空间网络应用场景的运行需求;

15、3)能够实现ipv6报文和ulsp帧之间的同时双向转换,突破了现有技术下ccsds数据链路协议和ipv6报文数据单向转换的限制,从而在异构网络环境完成数据交互;

16、4)利用linux内核的tap虚拟设备实现内核网络协议栈和用户态应用程序之间的数据传递,使用linux系统的设备节点/dev/net/tun读写tap设备,从而实现用户态的应用程序根据配置文件对经过自身设备的数据进行封装和解封操作,在实现高效双向转换的同时,不必修改linux内核网络协议栈。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1