测试卫星网络上的应用程序的性能
卫星通信正在成为全球通信中越来越重要的组成部分,无论是在商业上还是在国防军事上都有着广泛的应用。目前有超过 2,600 颗卫星绕地球运行,它们为互联网连接、视频会议、音视频流、灾难恢复和国防等相关通信中继数据。
但是卫星网络的特殊性给保持应用程序的良好性能和保持良好的用户体验带来了独特的技术挑战。
延迟、数据包丢失、链路抖动和带宽不对称等网络损伤在卫星网络上被放大,这可能导致应用程序响应变慢或完全无响应。此外,卫星不断围绕地球转动,这导致链路经常从一颗卫星“切换”到另一颗卫星,这有可能使数据中断。
那么,如何确保一些关键防御系统或多媒体应用程序能够在卫星网络的不利条件下继续以尽可能高的质量运行呢?
通过网络质量优化技术可以帮助减轻恶劣的网络状况对应用程序的影响。但是,想要确保新系统、策略或设备在使用过程中保持最佳性能,都需要经过反复的测试和验证。
卫星优化技术
通过对流量进行管理可以解决较差的网络质量带来的一些问题,并确保应用程序拥有更好的性能。当网络负载增加超过临界点时,网络缓冲区溢出,数据包开始丢失。这种拥塞会导致严重的延迟甚至应用程序失败。
使用资源预留、拥塞控制、流量整形和缓冲区管理等流量管理功能可以使通信链路保持良好的连接。这些功能可以有效地分配资源来确保数据包可以被平稳、均匀的传输。
一些卫星调制解调器还具有 QoS 功能。QoS 机制给不同种类的报文确定优先级,优先级高的报文会先被转发,以此来缓解拥塞。根据设备管理员或服务协议设置的策略,来确定哪些报文应该被优先处理,哪些报文可以等待。通过识别报文的目的地、使用的协议、数据包大小和其他条件,卫星调制解调器可以确定优先通过的报文和不同报文应该通过哪些路径。
这些技术旨在消除限制卫星通信质量的障碍并最大限度地减少数据延迟。但验证这些技术实施是否成功的唯一方法是通过适当的测试。
然而,卫星测试也面临着一系列挑战。
是否应该通过实时卫星链路进行测试?
有时,我们需要通过实时卫星链路进行测试,来验证一些问题。但通过卫星网络进行测试面临着诸多挑战。
- 卫星链路大多处在一个忙碌的状态,可以用于测试的链路很少。
- 使用卫星链路进行测试成本高昂,长时间的测试成本令人难以负担。
- 卫星与地面距离过远,测试环境复杂多变,无法准确控制变量。
卫星不断移动,网络条件不断变化。大气和地面天气等多种因素都影响着卫星网络的条件。大雨、大雪和雷暴都会不同程度地中断、干扰设备发送或接收卫星信号。
使用实时卫星链路意味着测试会受到当前条件的影响,并且无法进行特定的测试,如测试最坏的网络情况、测试最好的网络情况、测试单个网络损伤、测试任意网络损伤的组合。
为了确保测试结果的准确性和可重复性,在实验室中模拟测试网络更为有效。但是在实验室环境中复制卫星网络也不是一件容易的事。卫星网络往往是多变、复杂的。如何才能在实验室中模拟出真实的卫星网络呢?
卫星测试组件
通过将网络损伤仿真仪和流量发包器等设备引入实验室,可以显著地提高测试结果的可靠性。
在设置卫星性能测试时,有两个相关的测试领域:
- 使用流量生成来模拟真实的应用流量并测量网络性能
- 使用网络仿真来仿真卫星网络的动态特性
带宽限制、延迟和数据包丢失等卫星网络的特性都可以使用网络损伤仿真仪进行复现。即使是影响连通性的随机天气模式也可以使用“Gilbert Elliot”模型来模拟,通过不同模型的相互搭配,可以随着时间的推移动态改变网络条件。
流量生成器可以模拟通过网络的流量流,例如 Web 浏览、视频流或大量专用应用程序,以帮助分析网络和应用程序性能。
卫星测试配置
为了避免您的卫星调制解调器或其他网络设备(如防火墙、路由器和交换机)对模拟的网络链路造成干扰,您必须将网络损伤仿真仪直接连接到您需要测试的设备与流量发送设备之间,以屏蔽其他网络设备。
使用流量发送设备向测试设备发送流量,然后在网络损伤仿真仪上模拟实时卫星链路的情况。
只有屏蔽了除了被测设备 (DUT) 以外的所有网络设备,才能最准确的测出被测设备的性能。
卫星测试用例场景
转发率
转发速率是设备处理和转发报文的最大速率。卫星对数据包的处理方式和路由器或交换机一样,但卫星通常更“喜欢”较小的数据包。因为卫星链路的带宽通常较窄,过大的数据包会占用带宽,造成网络拥塞。但发送过多的小数据包会使网络泛滥,让设备不堪重负。而且这些小数据包在传输过程中容易丢失。
QoS 策略验证
例如,如果您想验证您的 QoS 机制是否正常运行,您可以通过在测试实验室中引入网络损伤仿真仪来屏蔽卫星调制解调器。
网络损伤仿真仪模拟出来的链路相较于实时链路更可控、可重复。将网络损伤仿真仪连接在流量发送器和测试设备之间,向测试设备发送不同类型的流量。如 Web 浏览流量、视频流和 VoIP 流量。然后,您可以分析每个流的测量结果,确定每个流所经历的数据包丢失和延迟等网络损伤数据。
如果设备的Qos流量管理正常运行, VoIP 流量应该被优先处理并且遇到更少的网络损伤。其他不低优先级的流量也应该按照Qos策略被处理,以确保珍贵的带宽能被合理利用。
弹性和链路中断
网络的弹性是指尽管出现恶劣天气、硬件故障或链接中断等网络问题,通信仍能保持可被接受的质量水平。由于卫星网络是出了名的不稳定,因此测试设备应该采取相应的策略以确保网络弹性。卫星网络是由许多的卫星组成的,数据在经过卫星网络时有多条不同的链路可以选择。在这种情况下,如果数据正在通过的链路出现故障,它可能会重新连接到另一颗卫星,而不仅仅是缓冲,等待重新连接。新连接的链路状态可能与初始链路不同——类似于从各种手机信号塔上反弹。
使用网络损伤仿真仪,可以创建不同的网络中断场景并构建具有不同网络损伤的路径以测试弹性。将数据发送到网络损伤仿真仪模拟出来的损伤链路中,以验证流量在损伤环境下是否可以正确到达其目的地, DUT 在中断的情况下是否仍能按预期执行。您甚至可以通过观察链接被破坏时,设备是否为关键流量赋予更高的优先级来验证是否满足 QoS 和 ToS。
波束间卫星切换
卫星高速绕地球旋转,这代表着与卫星通信的设备也在相对移动。当一颗卫星超出链路的范围时,通信需要从一颗卫星切换到另一颗卫星。这个情况非常常见,这种变化称为波束间切换。随着连接的切换,即使连接是平稳的过渡也会导致丢包率激增。但这个现象一般只会导致链路的小规模的中断,很少会出现链路完全中断的情况。
使用网络损伤仿真仪,可以在卫星产品上线之前在实验室中重新创建链路的切换条件,如数据包丢失和间歇性中断。将网络流量按设定的规则划分成多个流,以便观察每个特定流的性能,了解发生问题的具体位置。
使用网络损伤仪进行卫星性能测试
无论是要确保关键任务系统的性能还是要确保企业应用程序的性能,通过卫星网络进行测试都会带来一些独特而复杂的挑战。
使用合适的测试工具可以大大减轻在真实卫星链路上测试的负担,并且有助于提高在实验室环境下的卫星测试结果的真实性与准确性。
使用网络损伤仿真仪来测试和分析应用程序的性能有助于最大程度地提高应用程序性能、提高用户的体验、降低测试成本并加速卫星网络的部署。