(报文运营商业务便可方式)「报文服务是什么」

各种免流腾讯大王卡、蚂蚁宝卡、阿里鱼卡、哔哩2233卡...现在这类定向免流的手机卡越来越多了,还有网易云音乐免流畅听包之类的 APP 定向免流,那么这种免流合作在技术上是怎么实现的呢?我接下来根据不同的免流形式 YY 下要怎么实现
APP 专属流量免流这种免流形式是最常见的,一般互联网公司的 APP 免流都是用这种形式
这种模式是在使用该 APP 内的服务时享受免流的优惠,而在 APP 内打开外部链接,比如广告、活动页面的时候,是不享受优惠的,如果是非视播类的 APP, 也会限制视频播放的免流
运营商 IP 白名单免流这种实现方式需要 APP 方和运营商进行合作,需要 APP 方将自身 APP 业务涉及的服务在公网的 IP 池提供给运营商
而运营商可以在网关对用户的请求进行报文检测,可以判断出源地址、目的地址、源端口、目的端口及协议类型五元组,通过白名单机制就可以完成对 APP 方的业务进行免流
对于这种方式 APP 方需要保证自己所有业务的入口 IP 池(一般是用户 DNS 能解析到的所有 IP)是不变的,可以自由增删业务域名;不会限制具体的应用层协议,特别是一些自定义的私有协议,可以自由地对自身业务数据进行加密;对于一些 CDN 之类的第三方业务免流可能比较麻烦,因为这种依赖第三方的业务,如果公网 IP 变更了,很可能不能及时通知运营商变更白名单,可能需要第三方服务商特别支持,维护一个稳定的 IP 池
运营商通过应用协议特征免流上面说到运营商从报文检测出五元组,这只是普通的报文检测,现在运营商对数据报文一般会通过 DPI (Deep Packet Inspection) 进行报文检测
DPI 检测又称为深度报文解析,可以通过一些识别技术,分析出用户是否访问了免流范围的业务
举个简单的例子,比如我们现在的手机卡套餐开通了 bilibili 免流服务,打开 http://www.bilibili.com 的时候我们的请求报文内容是这样的:运营商的网关拿到这个报文的时候便可以通过 HOST 这个特征值进行白名单判断是否免流了
当然,这个特征值可以是请求报文的任何参数,比如一个自定义的 UA、一个特殊的 Header
通过这种方式进行免流,APP 业务方只需要提供自身业务的一个特征值(大多数情况应该是域名)给运营商便可以了,不受对外服务的 IP 变动影响
但是这种方式局限性比较强,特别是 HTTPS 已经成为行业标准的现在,除非运营商能够从 HTTPS 报文识别出对应的特征;而对于一些使用了私有协议的 APP 方如果想通过这种方式进行免流,便需要提供私有协议的规则给运营商了
PS: 这种方式也容易被用户伪造,比如通过 SSR 之类的可以进行报文混淆的软件,只要抓包观察出特征,便可以伪造出对应的特征,『欺骗』运营商
全网免流这种免流形式一般出现在一些财大气粗的公司身上,基本也都是浏览器这种产品,比如 UC 浏览器和 QQ 浏览器就有这种服务,声称只要使用他们的浏览器,不管你打开了什么网站,看了什么东西,统统免流
这种形式的免流应该是通过代理服务器来实现,APP 内自带了代理客户端,以前 PC 上一些特殊浏览器也干过这种操作,只要使用他们的浏览器便可以打开一些限制服务地区的网站
在用户开通全网免流服务后,APP 自动连接代理服务器,并将所有的流量全局代理到代理服务器进行访问,APP 只要将代理服务器的 IP 提供给运营商,便可实现
这种方式对于 APP 方来说,成本比较大,不过可以自由、精准地控制免流的范围
但是如果代理服务器稳定性不够或者直接故障,就会造成用户要访问的网站访问不了的情况;如果是 APP 方的竞对域名访问不了,用户不了解原因,可能便会认为 APP 方恶意屏蔽竞,对于用户而言,这种方式确实是很爽,毕竟上网全免费了,不过是会有个人浏览数据、稳私数据的泄露风险,全看 APP 方良心和代理服务器的安全性
(PS: 我内心是不接受这种服务的)https://zhuanlan.zhihu.com/p/56306429
(报文运营商业务便可方式)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息