张大伟
中原油田分公司天然气处理厂 河南濮阳 457001
摘 要:本文介绍了网络质量监测、路由备份、联动切换等技术在视频会议保障中的应用,能够让网络管理人员在视频会议质量劣化时及时定位故障点,并在关键链路(设备)故障时能过够自动切换备份链路,确保视频会议持续运行,提高网络管理人员对视频会议系统的运维保障能力和应急响应能力。
关键词:NQA Track UDP-jitter wireshark 联动 链路监测
0 前言
影响视频会议质量的网络指标主要有三个:丢包率、网络延迟和链路抖动。丢包率是指传输中所丢失数据包数量占所发送数据包数量的比率;网络延迟是指信息从发送到接收经过的延迟时间;链路抖动是指最大延迟与最小延迟的时间差。
对于视频会议这种对实时传输质量要求较高的应用来说,当网络指标达到以下数值即为较理想状态:丢包率应≤1%,延迟≤60ms,抖动小于等于25ms。
1 技术原理
1.1 NQA技术
NQA是Network Quality Analyzer的简称。NQA通过发送测试报文,对网络性能、提供的服务及服务质量进行分析,并为用户提供网络性能和服务质量的参数,如时延抖动、TCP连接时延等。利用NQA的测试结果,可以及时了解网络的性能状况,针对不同的网络性能进行相应处理。
目前需要使用两种NQA测试即ICMP-echo和UDP-Jitter。在核心交换机上,使用ICMP-echo来探测视频会议主链路的通断情况,联动静态路由进行主链路中断后自动切换到备份路由。在核心交换机和MCU接入交换机上使用UDP-Jitter监测视频会议的丢包率、时延抖动等网络质量参数。
1.2 Track技术
Track的用途是实现联动功能。联动功能利用监测模块对链路状态、网络性能等进行监测,并通过Track模块将监测结果及时通知给应用模块,以便应用模块进行相应的处理。例如,利用NQA监测静态路由的下一跳地址是否可达。NQA监测到下一跳不可达时,通过Track通知静态路由模块该结果,以便静态路由模块将该条路由置为无效。
2 视频会议专线链路保障
在核心交换机或路由器上配置静态路由+NQA+Track保障的方式实现链路中断自动切换至备份链路。通过NQA实时监测,一旦链路中断或质量劣化到一定阈值,就通过Track触发告警或路由切换的动作。
2.1 配置测试类型为ICMP-echo的NQA探测组
此处以H3C交换机为例进行配置,部分关键配置如下:
reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trap-only
*联动动作项track1
2.2 启动探测组及配置联动
track 1 nqa entry admin test123 reaction 1
*用track1关联NQA探测组的reaction1
ip route-static 10.0.1.0 24 192.168.2.1 track 1
*视频会议主路由
ip route-static 10.0.1.0 24 192.168.3.1 preference 80
*视频会议备份路由
通过上述配置,可以实现视频会议在链路故障后路由自动切换的功能,一旦下一跳主路由失效,去往视频会议网段的路由将自动切换为备份路由,视频会议过程不会中断。
3 视频会议链路质量监测
视频会议在会议进行过程中使用的是RTP协议进行传输,为确保音视频流的实时性和传输效率,在传输层使用的是UDP协议。常规的测试手段无法精准定位网络质量劣化故障点的问题,故使用测试工具模拟视频会议数据流特征相仿的网络流量进行测试。
3.1 ping测试
对于视频会议这种对丢包率和时延敏感的数据流,传统的ping测试不够精细。因此,在特定的网络环境下,通过加参数的ping命令对网络设备或链路进行压力测试,这样的测试结果可以在一定程度上反映出到对端网络质量的真实情况。
登录相应交换机后输入以下命令:
ping -c 1000 -m 40 -s 1000 -t 50 192.168.1.1
上述命令解释为:每隔40毫秒向192.168.1.1发送一个大小为1000字节的ICMP请求报文,一共发送1000次,要求对方的应答不超过50毫秒,否则视为超时。
测试结束后,交换机会显示以下信息:
1000 packet(s) transmitted, 999 packet(s) received, 0.1% packet loss ,round-trip min/avg/max/std-dev = 32.007/32.161/34.452/0.102 ms
根据ping的结果我们可以判断到192.168.1.1的网络质量情况是满足视频会议要求的。
3.2 UDP-jitter测试
上述的ping测试使用的是ICMP报文,我们还可以根据视频会议RTP报文的特征,使用UDP报文测试。语音、视频等实时性业务对时延抖动的要求较高,使用NQA的 UDP-jitter 测试功能,可以获得网络的单向和双向时延抖动,从而判断网络是否可以承载实时性业务。
UDP-jitter 测试的过程如下:源端以一定的时间间隔向目的端发送探测报文;目的端收到探测报文后,为它打上时间戳,并把带有时间戳的报文发送给源端;源端收到报文后,根据报文上的时间戳,计算出时延抖动,从而清晰地反映出网络状况。
UDP-jitter测试需要NQA服务器和客户端配合才能完成。进行UDP-jitter测试之前,必须保证NQA服务器端配置了UDP监听功能。测试源IP(设备),MCU接入交换机;测试目标IP(设备),核心交换机。
主要配置内容如下:
1)核心交换机上配置UDP-jitter测试的server端
nqa server udp-echo 192.168.4.1 9000
*响应地址为192.168.4.1,响应端口为9000
2)MCU接入交换机上配置测试类型为UDP-jitter客户端的NQA 探测组。
type udp-jitter
*探测类型为udp-jitter
destination ip 192.168.4.1
*探测的服务器端地址
destination port 9000
*服务器端的端口号
通过display nqa相关命令查看测试结果。能够反映丢包率,抖动,时延等详细测试结果。
4 视频会议链路故障定位
视频会议链路节点设备较多,网络链路被节点设备分割为多个区间段,不同区间的链路、设备分属不同的部门管理。分部去往总部区间的链路和设备由总部运维管理,分部只能管理一部分链路及设备,这对视频会议链路故障排查、定位造成了一定困难。但是,仍然可以使用ping测试进行大致的故障定位。
4.1 ping测试定位
我们可以把分部至总部网络链路上的各个节点作为目标对象,通过逐级逐跳ping测试的方法检测每段链路的网络质量,通过数据对比大致确定故障点。
1)MCU接入交换机上使用tracert获取链路节点信息。
tracert 192.168.1.1
2)对链路的各个节点逐级逐跳进行ping测试。
ping -c 1000 -m 40 -s 1000 -t 50 192.168.*.*
3)对比各节点的测试结果,确认故障点。
4.2 wireshark抓包分析定位
如果视频会议画面存在卡顿或花屏,很可能的原因是丢包。UDP不像TCP那样,有所谓的seq号。在TCP中,哪个包丢了,我们可以通过seq号把丢的包找到,但UDP不行。但是我们可以利用RTP协议原理,把UDP的数据包编码为RTP的数据包,RTP包头中包括时间戳、序列号、负载格式等字段,其中序列号字段就用于丢包和重排序检测。
为了确定丢包的位置,我们需要在视频会议流量通过的各个节点端口配置镜像并使用wireshark抓包,把抓取的UDP数据包重新编码为RTP数据包,通过分析RTP包的序列号发现丢包信息和位置。例如,分部侧看到总部侧画面卡顿和花屏,可以在某段链路的两端入方向和出方向同时抓包,正常情况下两侧抓到的UDP包编码为RTP包后序列号应是一致的,如果存在序列号缺失的情况,则说明该节点就是故障节点。
5 总结认识
视频会议系统牵扯到的设备及链路较多,加上企业网络随着使用年限的增加,网络复杂度直线上升,这就导致视频会议系统越发复杂。因此,利用各种网络层面的监测保障技术来针对性的对视频会议网络链路进行保障就尤为必要了。本文介绍的方法在实际应用中取得了良好的效果,能够有效监测及保障视频会议系统正常稳定运行。
参考文献:
[1] 梅运谊 视频会议系统实用指南 2018年3月
[2] 凯文R.福尔 TCP/IP详解卷1:协议 2016年7月
[3] 王达 H3C路由器配置与管理完全手册 2013年7月