基于应用的SOE:
分类见应用度量中
基于用户SOE:
终端用户(网络使用体验),网络管理员(网络OAM体验)
基于规模SOE:
单点网络SOE(接入层,汇聚层,核心层),整网SOE,
要求
该数据能够基于不同时间间隔定期更新(基于秒(最短5),分钟,小时,天,周,月5个尺度)
最终度量数据和实际值(暂定以MOS为衡量标准)误差小于5%
以整网为单位,比如校园网,可以在5秒内实时计算出2万个用户的SOE(展示可能是一个比例,比如70%用户满意,不是具体数据)
数据来源
参数 | 含义 | 单位 | 采样时长 | 说明 |
drop | 丢包率 | 无 | 耗时约5s | Ping目标IP地址10次,统计成功率。 注:发送足够多报文才有统计意义,但这样会影响设备端性能 |
Jitter | 抖动 | Ms毫秒 | 耗时约5s | 对基于应用的目的IP进行ping若干次,计算延迟时间差值的平均值;比如,ping 某IP的时延为136, 184, 115, 148, 125,则其差值为136 to 184, diff = 48;184 to 115, diff = 69;115 to 148, diff = 33;148 to 125, diff = 23;(这里只有4个差值). Jitter为173 / 4 |
Delay | 延迟 | Ms毫秒 | 耗时约5s | 包括转发延迟和传播延迟,交换机上转发延迟在纳秒级别,这里只计算传播延迟。 对基于应用的目的IP进行ping若干次,计算耗时间值的平均值 如ping 3次,15,10,5,则为(15+10+5)/3=10ms,最小值为1ms 这个不需多次,对性能影响不大 |
Access | 接入时间 | S秒 | 实时获取 | 对于免认证用户,接入时间就是0 对于1x认证,接入时间为认证成功+获取到ip时间 对于web认证 |
根据前期论文搜索分析,最常见方法有两种
1. 通过用户主观打分作为训练样本标签,利用神经网络或决策树进行拟合预测
2. 根据应用特征和业务经验推出关系
由于方法1需要大量人力才能得到,所以考虑使用2方法中的结论结合业务经验进行公式推导
应用 | 计算公式 | 目的IP选择 | 备注 |
接入 | 5,access<=1 4,1<=Access<2 3,2<=Access<3 2,3<=Access<10 1,10<=Access | NA | Access为接入时间,参考安全模块给出推荐值 AuthenRate为认证频率 |
网络浏览 |
公式2 a*e^(b*delay)+c a=5.008 b=-0.0045 c=0.03
通过试验,系数修整为 a=4.908 b=-0.005166 c=0.3007 | 知名网站IP地址如新浪或百度 知名DNS如8.8.8.8或114.114.114.114 | 公式1参考资料6,7,8 网页的平均容量参考资料9,是320KB,windows默认MTU是1.5k,故假设需发送200个报文/页, delay是延迟,单位是ms, 这里有个问题,按平均打开时间4.9s计算,处在3分以下, 公式2参考资料14数据进行拟合重新计算系数 |
办公生产 | 同web浏览 | 内网服务器,如邮件服务器 | delay是延迟,单位是ms, 参考资料11中结论,邮件MOS曲线和web浏览曲线接近 |
在线视频 | 公式1 Max(1,5-f(drop)-g(jitter)-0.348*f(drop)*g(jitter)) f(drop)= 2.734*(1-1/2^drop) g(jitter)= 0.055*jitter
公式2 C*e^(-drop)/(jitter + a*delay)+b a=(e-1)/4e b=(e-5)/(e-1)
公式3 假定同一时刻只观看一个视频,将包含视频的连续时间点组成一个时间序列,计算该序列时间段内平均视频下载速度,按累计算法来转换为消耗速度,具体算法见脚本
通过采样试验,公式修正为 e^(-drop)/(0.0317*jitter+0.01235*delay)+1.844 | 视频网站如优酷 | drop为丢包率 jitter为抖动,单位是ms delay是延迟,单位是ms 公式1参考资料1 公式2参考资料2,映射到SOE区间 |
在线游戏 | 公式1 max(4.33-a*(x^3)+b*(x^2)-c*x,1) a=3.08*(10^(-9)) b=1.18*(10^(-5)) c=1.15*(10^(-2)) x = min(delay+0.686*jitter,650)
公式2 -0.00000587x^3+0.00139 x^2–0.114x+4.37 x = 0.104*delay+ jitter
通过采样试验,公式修正为 5.2696-6.8749*10^(-9)*x^3+2.3495*10^(-5)*x^2-0.0222*x x=delay+9.8371*jitter | 游戏网站 | delay是延迟,单位是ms jitter为抖动,单位是ms 公式1参考资料5 公式2参考资料12 |
VOIP | 公式1 Max(1,5-0.003*delay-16.14*drop)
公式2 3.01*e^(-4.473*drop)+1.065
公式3 =(x+/y)/2 x=5,delay<100 x=4,100<delay<150 x=3,150<delay<250 x=2,250<delay<300 x=1,x>300 y=5,jitter<20 y=4,20<jitter<40 y=3,40<jitter<75 y=2,75<jitter<90 y=1,jitter>90 | VOIP服务器或VOIP网关 | Drop为丢包率,这里作为ULP的近似,参考资料3中计算公式 Delay是延迟,单位是ms 公式1参考资料3,系数选择参考资料4即G729为准 公式2参考资料6,7 公式3参考资料10 |
文件下载 | Max(min(4.298*e^(-0.347*x)+1.390+1,5),1) x= delay*200/1000
经过采样试验,公式不变 | 内网服务器,如FTP服务器 | 参考资料11,下载MOS比web浏览高,故取网络浏览soe+1 delay是延迟,单位是ms, |
社交应用 | 同web浏览 | 社交应用服务器,如qq或微信服务器 |
|
终端用户soe= Σ(不同应用权重×基于应用的soe),
权重有两种选法,一种是根据业务重要性,例如
客户\应用 | 接入 | 网络浏览 | 办公生产 | 在线视频 | 在线游戏 | VOIP | 文件下载 |
校园网 |
| 50% | 0% | 30% | 10% |
|
|
企业网 |
| 20% | 70% |
|
|
|
|
|
|
|
|
|
|
|
|
另外一种是根据不同应用占用带宽比例来区分,这个数据可以通过应用度量来完成
网络管理员soe计算,涉及参数:vty登录时间,配置命令数(或者是前后对比配置变化量),并参考前后流量变化
Web应用的度量验证
通过访问20个不同网站,通过PING采集延时数据(drop,min,aver,max列),并计算出抖动和延时(jitter,delay列),根据上节公式计算出web的soe(web soe列),对边界修正后(修正soe),并同主观打分的MOS列对比,计算出平均误差率为7.7%,误差的标准差为0.35
drop | min | aver | max | jitter | delay | web soe | 修正soe | MOS | 误差率 | web soe2 | 修正soe2 | 误差率2 |
0 | 18 | 18 | 19 | 0.5 | 18 | 4.648346 | 4.648346 | 4 | -0.14994 | 4.772892 | 4.772892 | -0.1762 |
0 | 0 | 1 | 4 | 2 | 1 | 5.015515 | 5 | 5 | 0 | 5.183411 | 5 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 5.038 | 5 | 4 | -0.22222 | 5.2087 | 5 | -0.22222 |
0 | 187 | 187 | 188 | 0.5 | 187 | 2.188767 | 2.188767 | 2 | -0.09013 | 2.168619 | 2.168619 | -0.0809 |
0 | 383 | 383 | 385 | 1 | 383 | 0.923631 | 1 | 2 | 0.666667 | 0.979309 | 1 | 0.666667 |
0 | 1 | 1 | 2 | 0.5 | 1 | 5.015515 | 5 | 4 | -0.22222 | 5.183411 | 5 | -0.22222 |
0 | 18 | 18 | 20 | 1 | 18 | 4.648346 | 4.648346 | 4 | -0.14994 | 4.772892 | 4.772892 | -0.1762 |
0 | 337 | 342 | 358 | 10.5 | 342 | 1.104696 | 1.104696 | 1 | -0.09949 | 1.139398 | 1.139398 | -0.13032 |
0 | 53 | 53 | 54 | 0.5 | 53 | 3.975347 | 3.975347 | 3 | -0.27966 | 4.033164 | 4.033164 | -0.2938 |
0 | 226 | 231 | 237 | 5.5 | 231 | 1.800988 | 1.800988 | 3 | 0.499486 | 1.788832 | 1.788832 | 0.50583 |
0 | 466 | 478 | 486 | 10 | 478 | 0.61277 | 1 | 3 | 1 | 0.716114 | 1 | 1 |
0 | 21 | 22 | 25 | 2 | 22 | 4.56596 | 4.56596 | 4 | -0.13214 | 4.681427 | 4.681427 | -0.15698 |
0 | 296 | 297 | 300 | 2 | 297 | 1.345922 | 1.345922 | 1 | -0.29491 | 1.358896 | 1.358896 | -0.30429 |
0 | 269 | 281 | 292 | 11.5 | 281 | 1.444163 | 1.444163 | 2 | 0.322771 | 1.450079 | 1.450079 | 0.318788 |
0 | 202 | 263 | 303 | 50.5 | 263 | 1.563477 | 1.563477 | 3 | 0.629574 | 1.562084 | 1.562084 | 0.630377 |
0 | 17 | 21 | 27 | 5 | 21 | 4.586418 | 4.586418 | 4 | -0.13659 | 4.704116 | 4.704116 | -0.16179 |
0 | 41 | 41 | 41 | 0 | 41 | 4.194252 | 4.194252 | 4 | -0.04741 | 4.27187 | 4.27187 | -0.06573 |
0 | 377 | 377 | 377 | 0 | 377 | 0.948088 | 1 | 1 | 0 | 1.000673 | 1.000673 | -0.00067 |
0 | 74 | 75 | 78 | 2 | 75 | 3.603469 | 3.603469 | 4 | 0.104303 | 3.63218 | 3.63218 | 0.096386 |
0 | 35 | 35 | 36 | 0.5 | 35 | 4.308219 | 4.308219 | 5 | 0.148639 | 4.396887 | 4.396887 | 0.128364 |
接下来,对公式中系数进行微调,使得更符合主观打分值,具体方法是利用matlab中的拟合工具,将delay作为x,MOS作为y代入,固定公式为a*exp(-b*x)+c,采用信赖域算法,得出最佳拟合曲线,并得到新的系数,具体计算值在web soe2列中,其对比MOS的平均误差率下降到6.7%,误差标准差仍为0.35
下载应用的度量验证
drop | min | aver | max | jitter | delay | website | web soe | 修正soe | MOS | 误差率 | web soe2 | 修正soe2 | 误差率2 |
0 | 18 | 18 | 20 | 1 | 3.6 | sina | 3.622384 | 3.622384 | 4 | 0.099081 | 4.069823 | 4.069823 | -0.0173 |
0 | 39 | 39 | 39 | 0 | 7.8 | csdn | 2.67695 | 2.67695 | 3 | 0.113811 | 2.631892 | 2.631892 | 0.130723 |
0 | 28 | 28 | 29 | 0.5 | 5.6 | sohu | 3.005667 | 3.005667 | 3 | -0.00189 | 3.032306 | 3.032306 | -0.01071 |
0 | 21 | 21 | 22 | 0.5 | 4.2 | pchome | 3.390751 | 3.390751 | 4 | 0.164868 | 3.643741 | 3.643741 | 0.093216 |
0 | 436 | 438 | 442 | 3 | 87.6 | sourceforge | 2.39 | 2.39 | 1 | -0.82006 | 2.434 | 2.434 | -0.83518 |
0 | 392 | 396 | 399 | 3.5 | 79.2 | github | 2.39 | 2.39 | 2 | -0.17768 | 2.434 | 2.434 | -0.19576 |
0 | 74 | 76 | 82 | 4 | 15.2 | newhua | 2.41201 | 2.41201 | 4 | 0.495317 | 2.438789 | 2.438789 | 0.484939 |
0 | 44 | 44 | 45 | 0.5 | 8.8 | crsky | 2.592818 | 2.592818 | 2 | -0.25815 | 2.55368 | 2.55368 | -0.24318 |
0 | 71 | 86 | 101 | 15 | 17.2 | crsky | 2.400996 | 2.400996 | 3 | 0.221813 | 2.435751 | 2.435751 | 0.207606 |
0 | 23 | 24 | 26 | 1.5 | 4.8 | pconline | 3.202655 | 3.202655 | 3 | -0.06534 | 3.328641 | 3.328641 | -0.10386 |
通过和web相同的方式采样拟合,拟合后曲线的平均误差率为0.04,比原来平均误差率0.02更大,故公式系数不调整
游戏应用的度量验证
游戏应用度量原公式有两个,将采样数据带入公式拟合后对比
公式1更符合采样数据,然后进一步对公式1的系数做拟合
得到公式为
soe=5.2696-6.8749*10^(-9)*x^3+2.3495*10^(-5)*x^2-0.0222*x
x=delay+9.8371*jitter
平均误差为0.03,而原公式平均误差为0.11
视频应用的度量验证
视频度量原公式有两个,直接拟合效果都不好,原因是按原公式代入拟合,一直无法获取到正数系数,也就是不是基于单参数的单调函数,故需要考虑其他方法拟合。
原始数据如下
drop | min | aver | Max | jitter | delay | MOS | |
0 | 22 | 22 | 24 | 1.414214 | 22 | youku | 5 |
0 | 7 | 11 | 23 | 8.944272 | 11 | qiyi | 5 |
0 | 5 | 6 | 8 | 1.581139 | 6 | Bili | 5 |
0 | 5 | 6 | 9 | 2.236068 | 6 | mtime | 5 |
0 | 7 | 7 | 8 | 0.707107 | 7 | lesi | 5 |
0 | 320 | 320 | 321 | 0.707107 | 320 | bbc | 3 |
0 | 37 | 37 | 38 | 0.707107 | 37 | Tw | 4 |
0.25 | 38 | 39 | 40 | 1 | 39 | Tw | 2 |
0.25 | 320 | 320 | 321 | 0.707107 | 320 | bbc | 2 |
0 | 65 | 66 | 67 | 1 | 66 | Hlj | 3 |
0.25 | 66 | 67 | 69 | 1.581139 | 67 | Hlj | 2 |
0 | 208 | 212 | 215 | 3.535534 | 212 | bbc | 2 |
0 | 67 | 67 | 68 | 0.707107 | 67 | Hlj | 3 |
0 | 72 | 75 | 84 | 6.708204 | 75 | Hrb | 3 |
考虑到使用ping测试获取数据,drop的随机性较大,先过滤掉drop非0的项
drop | min | aver | max | jitter | delay | MOS | |
0 | 22 | 22 | 24 | 1.414214 | 22 | youku | 5 |
0 | 5 | 6 | 8 | 1.581139 | 6 | bili | 5 |
0 | 5 | 6 | 9 | 2.236068 | 6 | mtime | 5 |
0 | 7 | 7 | 8 | 0.707107 | 7 | lesi | 5 |
0 | 320 | 320 | 321 | 0.707107 | 320 | bbc | 3 |
0 | 37 | 37 | 38 | 0.707107 | 37 | tw | 4 |
0 | 65 | 66 | 67 | 1 | 66 | hlj | 3 |
0 | 208 | 212 | 215 | 3.535534 | 212 | bbc | 2 |
0 | 67 | 67 | 68 | 0.707107 | 67 | hlj | 3 |
这样只剩下jitter和delay两个参数,参考原来视频度量公式2,先构建以delay为参数的公式a/delay+b,即对影响因素更大的delay参数先做拟合,并去掉样本数据中离预期曲线较大的项
drop | min | aver | max | jitter | delay | MOS | |
0 | 22 | 22 | 24 | 1.414214 | 22 | youku | 5 |
0 | 37 | 37 | 38 | 0.707107 | 37 | tw | 4 |
0 | 65 | 66 | 67 | 1 | 66 | hlj | 3 |
0 | 208 | 212 | 215 | 3.535534 | 212 | bbc | 2 |
0 | 67 | 67 | 68 | 0.707107 | 67 | hlj | 3 |
通过拟合得到72.52/delay+1.844=1/(0.0138*delay)+1.844,再重新构建公式1/(0.0138*delayx+b*jitter)+1.844,对jitter拟合,得到jitter系数为0.00628,这时再将drop参数纳入,得到最终公式为soe=e^(-drop)/(0.00628*jitter+0.0138*delay)+1.844,均方差为7.2%
测试验收
单位时间内,运行某类应用,结束后记录类型值和主观打分值,然后到系统查看是否准确。
可以用各种自动化脚本或工具,若没有自动化就手动反复操作
l 网页浏览,可以用一些浏览器插件,每个若干分钟自动刷新网页,相当于触发流量
l 办公,比如自动邮件发送,vbs脚本,远程登录一直产生流量,svn,定时上传下载
l 视频,选择时长1小时的播放
l 游戏,有没有按键精灵可以操作,或者游戏脚本等
l voip,一直通话
l 下载,下载充分大文件,保证下载超过一小时,或者用wget反复下载
l 社交软件,qq,微信,尽量收发多消息