SNS-3 卫星网络仿真搭建
前言
Satellite Network Simulator 3(SNS-3)是Network Simulator 3(NS-3)平台的卫星网络扩展。SNS-3最初由Magister Solutions在ESA contact下开发。
安装方法
直接按照 Github - sns3/sns3-satellite 里面的方法安装
架构说明
卫星模块体系结构包括:
用户终端(User Terminal, UT)模型
卫星(Satellite, SAT)
网关(Gateway, GW)
网络控制中心(Network Control Center, NCC)
地面节点 (terrestrial nodes, end users)
交互模型
一般来说,所有卫星节点都需要一个 NetDevice(SatNetDevice)的新实现,它继承自 NetDevice 类。
SatNetDevice 实现逻辑链路控制(Logical Link Control, LLC),介质访问控制(Medium Access Control, MAC)和物理(Physical, PHY)类,具体用于每个节点。 此外,需要信道类(Channel, SatChannel)的新实现用于支持卫星系统接收信号功率计算。
在地面链路中,所使用的接入技术(在 UT 或 GW 中)可以是 NS-3 支持的任何网络。当前助手结构采用CSMA。NCC(网络控制中心)被建模为与所有 GW(网关)节点共享的模块。
卫星模块实现球面坐标系和大地坐标系(WGS80 and GRS84)(纬度、经度、高度) 坐标系卫星域节点需要新的坐标系 (UT, GEO satellite and GW)。
通用端到端架构:

UT 用户终端
在UT中,已经实现了基于 DVB-RCS2 的突发传输逻辑和基于 DVB-S2 的BB帧接收逻辑。
传入的 IP 分组被缓冲到LLC层,LLC层实现返回链路封装(RLE),用于返回链路时隙的分段/打包功能。
请求管理器类(Request Manager)观察队列,利用来自网络控制中心(NCC)的具有特定容量类别(Capacity Category, CC)的容量请求(Capacity Request, CR)消息向NCC请求资源;即基于速率的动态容量(Rate-Based Dynamic Capacity, RBDC)和基于容量的动态容量(Volume-Based Dynamic Capacity, VBDC)。MAC 层实现接收到的TBTP处理和时隙调度,PHY层实现对接收到的TBTP的处理和时隙调度,将分组物理发送和接收到信道中。
用户终端架构:

Geostationary satellite 地球同步卫星
卫星模块支持当前透明的("中继管道")有效载荷,其中用户和馈线链路直接映射到彼此。卫星只放大信号,不进行任何数据包处理。注意,GEO卫星也计算SINR(Signal to Interference plus Noise Ratio,信号与干扰加噪声比),因为已经采用了两相SINR计算。用户和馈线链路的SINR分别计算,并在最终接收器处通过复合SINR公式进行组合。
地球同步卫星架构:

GW 网关
在GW中,已经实现了基于 DVB-S2 的传输逻辑和基于 DVB-RCS2 的接收逻辑。GW 的SatNetDevice架构在总体上与UT架构非常相似。然而,主要区别在于 GW 具有与其所服务的点波束一样多的 SatNetDevices,因此,一个 SatNetDevice 服务于一个点波束内的所有 UT。
GW 的 LLC 层对于每个附接的 UT 具有一个通用流封装器(Generic Stream Encapsulator, GSE)实体。DVB-S2发射机不断传输基带帧(Baseband Frames, BBFrame),其中每个BBFrame保存仅具有一个MODCOD的较高层分组。长度 BB帧的长度可以是16200或64800个编码比特,因此发送BB帧的持续时间变化基于MODCOD。如果GW没有任何数据要发送,则它正在生成伪帧。
网关架构:

Network control center 网络控制中心
网络控制中心(NCC)负责返回链路资源分配,即准入控制,分组调度和自适应编码和调制(Adaptive Coding and Modulation, ACM)。
卫星模块实现一个全局NCC,每个NCC具有完全独立的调度器(SatBeamScheduler) 点波束为了避免GW和NCC之间的通信协议的实现,NCC已经通过NS-3回调连接到每个 GW 和 SatNetDevice。这一方面允许NCC和GW之间的理想通信信道,另一方面稍后容易改变为真实的协议。
Channel 信道



卫星模块信道实现(SatChannel)映射到频率颜色(带宽)。信道的主要目的是能够将一个频带内的数据包传递给所有共享相同带宽的接收器。换句话说,所有同信道波束共享同一信道,不同频段波束完全分离到不同信道实例.
在用户链路中,每个方向总共有四个通道实例(SatChannel),每个表示一个 125MHz 带宽。在所使用的参考系统中,总共有 72/4=18 个点波束共享相同的用户链路信道。因此,18 个点波束内的 UT 共享同一信道应能够相互干扰。在馈线链路中,每个方向(2GHz/0.125GHz)总共有 16 个通道实例,每个代表一个 125MHz 带宽。所有 GW 共享相同的频带,因此可能存在最多5个GW共享同一个信道实例。
限制
Configured reference system (Ka-band over Europe, 5 GWs, frequency configuration)
Only one geostationary satellite; no LEO/MEO support
No regenerative payload at the satellite
Satellite module uses currently only IPv4, thus IPv6 is not supported by the satellite helpers.
Only one superframe sequence
Same superframe configuration for all beams
Only one subcarrier per spot-beam in FWD link
配置参考系统(欧洲Ka波段,5 GWs,频率配置)
只有一颗地球静止卫星;不支持低地球轨道/中地球轨道
卫星上没有再生有效载荷
卫星模块目前仅使用IPv4,因此卫星助手不支持IPv6。
只有一个序列
所有波束使用相同配置
FWD链路中每个点波束只有一个子载波
参考资料:
官方文档(版本过旧) http://www.sns3.org/doc/satellite.html
官方 Github 仓库 https://github.com/sns3/sns3-satellite
文中图片为网络图片,来自 SNS-3 官方文档