请选择 进入手机版| 继续访问电脑版
开启辅助访问 切换到宽版

运营商“偷跑”流量?从业务感知层面浅析本桩冤案

[复制链接]
作者:Mozzie 
版块:
技术专题 移动网 发布时间:2016-6-15 07:27:20
2620
Mozzie 发表于 2016-6-15 07:27:20 | 显示全部楼层 |阅读模式
题记

相信很多用户都抱怨过运营商“偷跑”流量,但当我们到营业厅查询上网流量详单时却发现,然并卵,居然每一条上网记录及其所消耗流量都被记录下来了。在业务类型中甚至还会出现微信、QQ、腾讯微博、人人网等各种条目。这下可真是冤枉运营商大大了。

file://localhost/Users/liyuewen/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image002.png

运营商的计费体系究竟是如何识别出不同类型业务的?接下来小编将为大家揭秘计费体系中的“内容计费”。

计费系统长啥样?

计费直接关系到运营商的利益,这事儿可马虎不得。计费系统就是针对用户对网络资源的消耗,并根据运营商制定的计费策略,建立起来的费用核算系统。下图是移动网络体系中的计费系统网络架构,在此我们仅讨论数据分组域的计费网络架构。
file://localhost/Users/liyuewen/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image006.png


如图,分组数据业务的计费系统有两种。一种是线计费,此时S-GW/P-GW/GGSN通过与CG(计费网关)的交互来实现(Ga接口)。另一种是线计费,P-GW/GGSN通过与OCS(在线计费系统)的交互来实现(Gy接口)。究竟选择何种计费方式,是通过PDP上下文/承载建立请求过程中携带的Charging Characteristic计费属性CC值)及APN,同时综合PCRF、AAA、GW配置共同决定的。

此外,SAE-GW/GGSN还会根据用户属性判断该用户是否绑定了计费rule,若该用户绑定了计费rule,则该用户是内容计费;否则,该用户为普通计费

内容计费怎么搞?

题记中的流量账单可区分不同类型的业务,这正是内容计费。

为更好理解计费规则,先说说OSI(Open System Interconnection,开放系统互联)七层模型,从下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

▪第三层络层包含源/目的IP地址、掩。为传输层服务,传送的协议数据单元称为数据包。
▪第四层传输层包含协议类型(TCP/UDP等)、源/目的端口号等。为上层协议提供端到端的可靠和透明的数据传输服务,传输层传送的协议数据单元称为报文。
▪第七层应用层包含URL、特殊字段信息等。是用户与网络的接口。

对内容计费用户,其使用的分组数据包一旦到达P-GW/GGSN网关设备,GW需经以下几个步骤完成内容计费。

1. 先判断这个包之前有没有匹配到过任何计费规则,若没有,则需要去匹配3/4层或7层计费rule。
2. 匹配完毕之后,按照规则定义的计费参数和粒度(Service Charge Property)对不同类型的业务记录使用流量、时长、事件等信息,网关GW生成离线CDR话单或在线计费数据,并将其传递给CG或OCS。
3. GW同时还会创建一个“流”,如果以后再有相同的数据流经过GW,则按照之前的规则计费。流在GW上表现为五元组,即指源IP地址、源端口、目的IP地址、目的端口、传输层协议。
file://localhost/Users/liyuewen/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image008.png


匹配计费规则原理如下:

1. 当数据包经过GW时,首先会对三四层进行检测,作为筛选条件,例如对包的IP地址、端口号、协议类型进行检查,不符合的包不做应用层检查,直接放行,按全局默认计费规则执行。
2. 三四层匹配成功,还需进行深度检测,即对包的七层进行检测,若匹配到相应七层规则,则将其计入到对应的Rating Group(RG)/Serving-ID(SID)中,RG和SID用于定义费率组和业务标识。(注:七层规则是继承在三四层规则下的)
3. CG/OCS产生的CDR话单和在线计费数据中会携带RG和SID值,并将其发送给BOSS,BOSS根据具体计费策略,对不同类型业务区分计费。   

实操内容计费!

我们根据某省公司对内容计费的需求表,分析一下华为GGSN/SAE-GW融合设备是如何将需求转化为实际配置的料保密,表内参数已修改)
file://localhost/Users/liyuewen/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image011.png


该表要求当用户使用某手机电视台APP时,GGSN/P-GW需在话单中携带RG:570687466,SID:570687466。因此需在GW的本地计费规则策略库中配置如下规则:

1. cbb-idsdsjds_offline_cbb charge-method offline rg 570687466 sid 570687466 meteringvolume『cbb-id:名称为sdsjds_offline_cbb,该cbb-id应用在离线计费,费率组rg为570687466,业务编码sid为570687466,并指示按流量计费』

2. charge-property sdsjds_ch_p up-initial offline sdsjds_offline_cbbonline sdsjds_cbb_onlinedown-initial offline sdsjds_offline_cbb onlinesdsjds_cbb_online『charge-property:名称为sdsjds_ch_p,它决定上下行在线/离线数据报文将使用哪个cbb-id』

3. category-group &sdsjds_ch_p charge-property sdsjds_ch_p『category-group:名称为&sdsjds_ch_p,其下会绑定rule、l7-rule、l7-info,以进行3/4/7层规则的业务匹配和内容计费』

4. l7-info sdsjds_l7_if_31 url m.btv.com.cn/* l7-category-group&sdsjds_ch_p『l7-info:名称为sgsjds_l7_if_31,用于配置七层协议规则,若数据流来自ulr为m.btv.com.cn,则会匹配本条规则』

5. l7-info-group urlinfo l7-info sdsjds_l7_if_31 sequence 251  『l7-info-group:配置l7-info集』

6. l7-rule tcp_80_r_l7 protocol http l7-info-group urlinfo priority65535『l7-rule:名称为tcp_80_r_l7,用于配置7层规则。规定数据流协议为http,并绑定在“5”下的l7-info-group中』

7. filter tcp_80 l34-protocol tcp server-port eq 80『filter:名称为tcp_80,它可将不同数据流按规则挑选出来,类似于前文介绍的五元组。在这里3/4层协议要求为tcp协议,端口号为80』

8. filter-group tcp_80_g filter tcp_80『filter-group:filter过滤器的集』

9. rule tcp_80_r filter-group tcp_80_g  l7-rule tcp_80_r_l7『rule:名称为tcp_80_r,用户配置计费规则。数据报文会先通过filter匹配到一条rule,本条rule内还包含l7-rule,因此该数据报还会继续匹配l7-rule;否则直接按该rule的规则执行计费』

10. user-profile u_p_uniwap『user-profile:名称为u_p_uniwap,是一个用户类的集合,这个命名取的是APN,代表APN为uniwap的用户类』



内容计费应该没把你看“方”了吧。这哗哗的匹配规则虽然看着很复杂,其实还是层层嵌套、有理可循的。消耗流量产生的话费,在如此精密的计费体系中出现错误的可能性极小,因此小编为了大家能省流量,在这儿给大伙支几招。

1.    关闭手机中的自动更新功能。
2.     关闭微信等APP中的视频自动播放功能。
3.     下载地图时,顺便把离线地图和语音导航都下载了。
4.     安装流量监控APP,看看哪些APP没事偷跑流量。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

快速回复 返回顶部 返回列表