引言
低轨(Low Earth Orbit,LEO)卫星网络通信系统是未来全球通信系统的重要组成部分。由于低轨卫星通信系统的建立周期长、投资巨大,一旦建成不易对系统更改等特点,必须在系统实现前进行精确的仿真验证。OPNET是一款性能优良的网络仿真软件,能够对网络结构、设备和应用进行设计、建模、分析和管理,能够满足大型复杂网络的仿真需求,在网络层协议仿真方面具有一定的优势。然而,尽管OPNET提供了丰富的标准节点模型、链路模型、协议模块等等,但并没有提供任何低轨卫星标准模块,给低轨卫星网络协议仿真带来一定的困难。当前一些基于OPNET的低轨卫星仿真,大多数是将陆地网络节点利用有线链路连接,通过离散化有线链路的通断,近似模拟低轨卫星网络中的切换以及拓扑结构变化。这种方法需要针对特定低轨卫星网络在仿真之前进行复杂的运算,而且不具有通用性。文章通过分析低轨卫星协议体系结构,简化协议体系中的某些部分,在OPNET上实现了低轨卫星网络协议仿真平台。这个平台支持非面相连接网络的路由协议的开发。最后在该仿真平台上加载动态路由协议,对仿真平台进行了验证。
1 卫星通信系统协议体系结构
根据卫星通信系统设计不同(轨道类型,星上处理或者弯管,ISL的设计方式)采取的网络结构有许多种。根据低轨卫星通信当前发展趋势,本文主要研究具有星上处理/星上交换(OBP/OBS)以及星间链路(ISL)支持的低轨卫星网络,其协议体系结构如图1所示。
由图1可以看出星上协议中ATM与IP之间的关系。早期的宽带IP卫星系统大多采用基于ATM的传输技术。但是一些研究人员认为IPoverSatellite方案与IPoverATM方案相比具有更大的好处:(1)开销小。Bell实验室仿真表明如果采用IPoverATMoverSONET的结构,大约有22%~29%的开销,而在其中SONET的开销大约是4%。因此,将ATM层去掉,将会使星上资源得到更充分的利用。(2)易于实现千兆分组网络。目前,采用ATM技术的多媒体卫星的实验干线速率已达622Mbps。但是在提升到吉比特时,ATM的开销大这一缺点制约了线速的继续提高。(3)降低系统复杂度。在RS块状编码、交织和FEC等技术支持下,卫星链路可达准光纤质量。因此无需采用ATM复杂的QoS保证机制便能抵御无线信道的误码。本文将根据图1的协议框架图建立无连接的IPoverSatellite网络协议仿真平台。
2 OPNET节点模型
低轨卫星网络通信系统由空中卫星网络和地面网关两部分组成。空中卫星网络的主要特点有:(1)由于卫星之间存在相对运动导致空中卫星网络拓扑结构快速持续变化。(2)卫星网络与地面网关之间存在高速的运动,为确保通信的持续必须进行频繁的切换。
整个卫星网络的协议划分如图2所示。OPNET提供的标准节点模块对涉及到的协议进行了细致的模拟,修改起来的工作量巨大,为了避免修改OPNET标准节点模块,把Gateway节点拆分为两个节点:OPNET标准路由器和低轨卫星网关,这两个节点用PPP链路直接连接,可以省去链路层协议的设计。低轨卫星网关的切换管理模块实时检测天线的俯仰角,以及信号功率,决定是否切换到另一颗卫星。此外为了把精力都放在网络层协议的设计上,对位置注册管理功能进行了简化,由一个全局独立节点来实现。例如网关可达网络列表应该由低轨卫星网关实现,每个网关都应该保存一个列表,这个列表中包括各个网关及其连接到的Internet子网地址。网关与卫星映射关系应该由Satellite节点实现,实时向其他卫星节点通告自己当前接入的网关标识。简化后需要做的仿真工作有:卫星地面网关节点模型,卫星节点模型,GlobalNode模型。
下面对本文简化掉数据链路层的合理性进行分析。数据链路层的基本功能是在两个相邻节点间建立和维持数据链路,为网络层提供无差错的通信服务,它可以细分为逻辑链路控制层(LLC)和媒体接入控制层(MAC)。MAC层的任务是在发送数据时,按某种规则从LLC层接收数据,然后执行媒体访问规程,查看链路状态,如可发送,将给数据加上控制信息,形成帧,送往物理层;在接收数据时,从物理层接收到数据帧,并检查数据帧中的控制信息,判断是否发生传输错误,将正确的数据帧去掉控制信息后送至LLC层。LLC层的任务是完成两通信实体间点到点链路上的数据帧传输与流量控制,为上层提供数据报与虚电路两种不同服务。本文假设每颗卫星只有一个地面网关接入,因此只要LLC有数据业务流接入MAC就可以对其进行转发,不存在链路的争用,不用实现MAC层的协议。此外把每个节点的数据包缓冲区设置为无限大,因此不会存在溢出丢包现象,自然形成先进先出的策略,在带宽小的链路上实现瓶颈效应,所以也不用实现LLC层的数据帧传输与流量控制。
为了保证每颗卫星在同一时刻只有一个地面网关接入,把网络场景划分为三种。第一种,每颗卫星只有一个地面接入网关。第二种,每颗卫星存在两个以上地面接入网关,但是同一颗卫星覆盖下的两个网关之间不存在数据流业务。第三种,每颗卫星存在两个以上地面网关,但只有处于相同卫星覆盖下的地面网关之间存在数据业务。通过对这三种场景组合可以搭配出所有的仿真场景。第二种仿真场景可以拆分成多个第一种仿真场景的组合。第三种仿真场景可以采用固定节点、有线链路近似模拟。因此,只要完成第一种仿真场景,所有的问题就都可以解决。在第一种仿真场景中每颗卫星只有一个地面网关接入,编程过程中可以不再考虑冲突检测、信道预留、业务的优先级处理等数据链路层功能,符合前面所提简化。
2.1 地面网关节点模型要实现的功能
(1)切换管理,向GlobalNode通告与卫星的映射关系;
(2)向GlobalNode通告可以到达的子网地址;
(3)数据包的封装与解封;
(4)上行链路的各个pipeline阶段。
2.2 Satellite节点要实现的功能
(1)路由地面网关发送来的数据包;
(2)网络协议平台,在其上实现非面向连接的路由协议;
(3)下行链路的各个pipeline阶段;
(4)星间链路的各个pipeline阶段;
(5)导入STK(SatelliteToolsKit)卫星轨道文件。
2.3 GlobalNode要实现的功能
(1)存放网关可达子网列表,供网关封包时查询;
(2)存放网关与卫星映射列表,供卫星节点星上路由时查询。
3 仿真验证
在本文所建立的仿真系统平台上,作者仿真了TCP协议在动态路由上的性能。仿真场景采用Iridium系统的一部分作为空中卫星网络,两个地面网关处于不同卫星覆盖范围内,网关所连接的Internet中有一对客户机/服务器采用TCP连接进行数据传输。仿真结果将比较通过低轨卫星网络进行TCP连接与通过地面网络进行TCP连接之间的拥塞控制窗口,切换前后时延变化。仿真设置为:客户端(longitude-161.8,latitude-29.14)下载服务器端(longitude-15.2,latitude-20.9)上大小为1Mbit的文件,带宽瓶颈为10Mbps,整个过程每5s重复一次,直至仿真结束,仿真的网络场景拓朴结构如图3所示。
场景拓朴整个仿真时间为100s,在60s时刻客户端接入网关发生星地切换。仿真结果如图4、5所示。