转自:http://forum.huawei.com/enterprise/thread-263455.html
S9312下通过SDH设备后下挂交换机接机顶盒,点播高清节目马赛克很严重,直播节目无问题。
S9312和用户端交换机和SDH设备对接时都是采用GE光口,SDH设备开出的是3个VC3带宽,下面只挂了一个机顶盒,点播一套节目,仍然有马赛克,用户表示该SDH设备上的其它非视频的专线用户都正常。
马赛克的问题一般由以下问题导致:网络抖动,时延过大,乱序,丢包。
1. 首先确认相关设备端口模式匹配,避免出现一端自协商、一端强制的情况,经过确认所有接口模式匹配,模式正常。
2. 确认带宽是否够,SDH设备开出的带宽是3个VC3,48*3=144Mbps,除去开销实际可用的大概为120M,而点播一部高清节目所需的带宽为12M以内,这么看带宽是足够了。
3. 同一部片子让播放平台人员在IPTV头端洛川东路S9306下测试无马赛克,表明片源无问题。
4. S9306光纤裸光纤直接连交换机情况下,播放正常,表明S9306无问题。
为了搞清楚到底出了什么问题搭建了如下测试环境:
天电机顶盒---天电机房S2700----SDH---------SDH----张江93012------NE40E
|
|
抓包PC
测试时,每当画面场景比较复杂或场景切换速度较快时出现的马赛克,而且重新播放时相同的地方容易出现马赛克,随后记录下5分钟内,有13次马赛克,9次静帧。随后将S9312和SDH设备互联接口shutdown,清空接口计数,同时S2700也清空接口计数,然后打开S9312接口,点播节目,发现S9312 output方向包的计数要略大于S2700 input方向计数。这样看来,还是在SDH这一段肯定发生了丢包,SDH丢包一般情况下超过开出的带宽后就会丢包,怀疑是有突发流量,SDH严格限制带宽对突发容忍很差。随后借了一台1000M网卡的PC接在S9312上镜像抓包,至于为什么要用1000M网卡的PC抓包是因为如果突发流量引起丢包,那流量肯定会大于120m,那么如果用100m网卡抓包,突发流量可能抓不到,因为少量的突发会在交换机接口上缓存下来以小于100M的速度发送到PC,这样就失去了意义。抓包分析:
从上图看出流量占用带宽不超过11Mbps,这是秒级别的流量情况,为了看清流量微观的带宽情况,需要进一步观测ms级别的流量带宽情况,
进一步观察发现流量较高的时间点的流量达到了0.39mbits /ms,如果按这种流量大小计算1s的流量带宽,0.39mbits /ms×1000=390mbps,很显然这个时间点的流量超过了传输所开出的120Mbps的带宽。但实际并未丢掉390-120=270mbps的流量,这是因为网络设备包括SDH设备都有缓存,能容仍少量的突发,客户随后咨询华为确定该SDH板卡端口的缓存为20KB。传输带宽实际可用的按120M来计算。按SDH的说法,每个端口的缓存为20KB。则1ms允许突发的带宽大约为:
120/1000+20000B×8/1000/1000=0.28M/ms
上图是2分钟内单机顶盒观看《海洋》2分钟内的ms级别的带宽占用情况,按照测算红线上方流量将被丢弃,但现实情况中丢包显然没有这么严重,大概是因为SDH缓存大于20KB吧。下面将按20KB缓存来考虑单机顶盒突发时传输应开出的可用带宽(刨除负载),从图上可以看出,突发时流量会达到0.39Mbits/ms多,这0.39兆还不算以太网的帧开销,
当前视频流的包长为1362字节。每个帧需要加上以太网帧间隙12字节,前导码8字节。开销占整个包长比例大概为1.5%,因此按0.40M来计算。
20000B×8/1000/1000(缓存)+X=0.40M,计算出X=0.24Mbits/ms
因此SDH设备需要开出的带宽为:240Mbps+SDH开销。
下面是一个机顶盒情况下的3s内ms级别的流量情况:
二个机顶盒情况下的3s内ms级别的流量情况:
由上面两张图看出,2个机顶盒同时点播情况下,总的流量在ms内突发并未叠加,只是同时间包与间隔更小。因此就该情况来看,开业务时,随机顶盒增加,带宽并不需要成倍增加。由于条件限制未能使用更多机顶盒测试,因此开展业务时还需要多测试才能开能满足需求而又经济的带宽。
那么交换机的流量整形技术能否解决该突发问题呢?
答案是否定的。整条流在秒级别的时间内基本看不到突发,非常平稳,不会超过11Mbps。突发主要存在于ms级别,如果在上行设备进行流量整形,路由器是采用令牌桶的测量机制,有令牌便发送,没有令牌将缓存到软件队列,超出队列长度将被丢弃,假设令牌桶的大小是100M,平均投放令牌的速度也是100M,大部分时候令牌桶里剩余的令牌维持在89m,而1个机顶盒情况下ms级别的突发仅为0.39m,显然这部分突发流量突发时测量会被通过,不会被缓存和整形,因此流量整形技术并不适用该问题。
建议:
1. 小于100M的专线用户用100M链路承载,SDH设备上开足100M带宽。
2. 大于100M的链路如果用1000M链路承载,SDH设备上开足240M以上的带宽(SDH缓存可能大于20KB,因此不一定要开240兆,建议多测试得出经验值)。
3. IPTV播控平台视频流由UDP改为TCP,TCP的重传机制可以缓解马赛克。
4. IPTV头端流化服务器优化,从源头解决突发问题。
4. 突发严重时S9306接口出方向也会丢包,可以考虑使用大缓存板卡。