摘 要:要分析了空间数据系统咨询委员会(CCSDS,CONsultative Committee for Space Data SySTems)系列协议的特点。为了验证CCSDS 根据空间数据通信特点提出的一系列建议中的网络层建议(SCPS-NP,Space CommunicationsProtocol Specification—Network Protocol)的性能。通过OPNET 通信仿真软件进行建模,基本实现了SCPS-NP 协议要求的功能,对协议的性能进行了分析,对中国空间通信协议的发展方向提出了建议。
0 引言
随着各国对外层空间资源的不断探索,开发和利用以及地面因特网技术的不断发展成熟。将天地通信融入到地面因特网中,建立天地统一的数据网络成为新的研究热点。这就需要一套高效统一的空间通信协议来进行保障。在此要求下,由各国空间系统研究机构共同组成的空间数据系统咨询委员会(CCSDS)做了大量工作,制定了一系列协议。
1 CCSDS 协议体系结构
CCSDS 系列协议可仿照TCP/IP 的分层结构分类到物理层、数据链路层、网络层、传输层和应用层中。每一层包含多个协议。具体介绍如下:
(1)物理层
在物理层,CCSDS 制定了《无线电频率和调制体制》建议书。规定了中等通信需求的近地和深空任务的无线电频率和调制体制。
(2)数据链路层
数据链路层包括了数据链路层协议和信道编码。协议主要开发了分包遥测和分包遥控协议,适用于常规航天器数据系统,业务简单;高级在轨数据系统协议(AOS),适用于大型航天器,业务种类多;近距空间链路,适用于互相接近的航天器之间的空间链路,主要是点对点通信。信道编码中开发了BCH 编码、卷积码、RS 码及数据链路的各种数据结构等[2]。
(3)网络层
在网络层、传输层和应用层,CCSDS 开发了与TCP/IP 协议功能上相平行的一系列建议书,即空间通信协议规范SCPS。其出发点是在适应空间通信需求的基础上尽量与因特网协议实现兼容和互操作。以因特网协议为基础,进行针对空间环境的改进。SCPS-NP 是其中的网络层协议。与IP 协议相比,主要改进体现在以下几点:提出了不同长度的导头供用户在功能和效率间取舍;提供多种选路模式,增加了泛洪寻址方式;提供由管理机制配置的端到端路由;在SCPS 控制信息协议中(SCMP)中,增加了由于信道质量造成链路中断的信令。
(4)传输层
在传输层,除了对应的传输层协议SCPS-TP 外,CCSDS还开发了用于文件传输的协议CFDP,CFDP 既提供了传输层功能,又提供了应用层文件管理功能[2]。此外还提出了具有端到端数据保护能力的SCPS 安全协议(SCPS-SP),是对Internet IPsec 协议改进而制定的。
(5)应用层
在应用层中,CCSDS 开发文了件传输协议SCPS-FP、无损数据压缩、空间分包协议等。
2 SCPS-NP 协议建模
为了验证SCPS-NP 的协议性能,这里采用了OPNET 软件进行建模测试。OPNET 采用了三层建模机制:最上层为网络层,反映了网络的拓扑结构特点;其次为节点层,由相应的协议模块构成,反映了设备的特性;最底层为进程层,以状态机的形式来描述议,反映了协议的具体功能是如何实现的[6]。根据三层建模机制,仿真中采用了卫星-地面站通信的场景,图1为卫星节点模型,地面站节点模型与其类似,其中有关SCPS-NP 协议的部分有:
①scps_np_encap 模块,SCPS-NP 协议导头封装模块,对数据进行封装解封装;
②scps_np 模块,SCPS-NP 协议实现模块,具体实现SCPS-NP 所要求的功能;
③router_map 模块,路由表更新模块,提供静态路由表或动态更新的路由表。
图1 仿真节点模型。
2.1 scps_np_encap 模块进程设计
该模块主要任务是对数据封装SCPS-NP 导头或解封装去掉导头,进程设计如图2 所示。
图2 scps_encap 模块进程结构
首先在INIT 态进行初始化设置,进入WAIT 态,然后根据不同的包流,对包进行封装或解封装。SCPS-NP 导头封装长度及格式,由用户在节点属性中进行选择。提供与空间分包协议类似的服务时,导头长度为4 字节,提供与IPv4 协议类似的服务时,导头长度为20 字节。
2.2 scps_np 模块进程设计
scps_np 模块主要功能是SCPS-NP 协议的具体实现。其进程设计如图3 所示。
首先在INIT 态进行初始化设置,进入WAIT 态,当数据从上层模块传来时,进入deliver 态,发送数据到网络。当数据从网络中传来时,进入toup 态,对接收的数据进行检测,将符合协议标准且目的地址为该节点的数据送入上层进行下一步处理,销毁不满足条件的包,回到WAIT 态。若该节点具有路由功能且包需要转发,进入router 态。在router态,根据协议要求,进行路由控制过程,然后根据用户选择进行不同的路由方法。主要有静态,动态,洪路由三种方式。转发后,回到WAIT 态。路由信息由模块router_map 提供。
图3 scps_np 模块进程结构
2.3 router_map 模块进程设计
router_map 模块的主要任务是对路由表的维护和更新,其进程设计如图4 所示。
首先在INIT 态进行初始化设置,进入WAIT 态,当用户选择静态路由时,在WAIT 保持不动。路由信息已静态设置。
当选择动态路由模式时,建立一个自中断,每隔一段时间间隔进行一次路由表更新。当中断到来时,进入update 态,根据此时的位置信息重新计算路由。
图4 router_map 模块进程结构
3 仿真结果分析
这里仿真模型实现了SCPS-NP 协议的基本内容,可结合其他协议仿真做多种仿真测试,由于SCPS-NP 协议的主要特点在与不同导头长度对于协议开销的控制且限于篇幅,下面仅介绍不同的导头长度在其他相同条件下,对于吞吐率的影响。
吞吐率的定义为在单位时间内某节点成功接收的有效用户字节数(bit/s),即吞吐率=(成功接收的数据总字节数-开销字节数)/总时间。其性能取决于传输业务数据单元所用的开销所占比例以及信道误码率等其他因素。
对于类似IPv4 协议的20 字节的导头和类似空间分包协议的简单4 字节导头两种导头模式,在10-5误码率下,上层FTP 流量为1 MB 大小文件,卫星下行链路采用AOS 传输的情况下,由图5 可明显看出简化导头可带来更大的网络吞吐率,减少了协议开销。加快了文件传送。
图5 不同导头长度下吞吐率对比
4 结语
随着中国空天事业的发展,航天器间的组网、航天器与地面网的融合是当前需要迫切发展的方向之一。在天地一体化网络的研究方面,CCSDS 提出了许多宝贵的建议,加深对这些建议的理解和研究,对中国的空天网络协议建设具有很好的参照意义。这里浅略地研究了其中的一个建议SCPS-NP,实现了其基本功能。但CCSDS 系列协议是一个庞大的体系结构,需要各方面的共同力量,才能深入理解。