2017杭州云栖大会阿里移动云峰会专场上,阿里巴巴技术专家亭林带来Mobile Network as a Service方面的演讲。主要介绍在移动云整体的产品下,如何去构建一个闭环多维度的服务,使整个网络有一个整体的解决方案。重点介绍了一站式移动网络服务,包括HTTPDNS、定向免流等服务。

以下是精彩视频内容整理:

移动端的新问题

用户APP开发网络请求诉求很简单,就是一个APP发送一个请求,服务端有一个响应,请求可以是API动态请求,也可以是静态资源,APP开发者期待是很简单的路径。实际上网络环境是非常复杂的。整体上移动网络的接入端非常多样,有不同的媒介,比如说Wi-Fi、2G、3G运营商网络,不同网络环境运营商的服务质量、整体网络延迟、波动都不一样,在整个服务的网络后端,在中间防火墙、路由等等导致某些端口访问不通,某些网络下导致上行、下行路径不匹配,会出现网络访问不通的情况。对于服务端来说,做一个网络服务需要承载的客户端访问量非常大,这个客户端从分布式区域集中访问服务端,服务端本身需要做流量相关调控,才能够使在网络有故障或者在业务突然迅猛增长的时候,快速的把网络流量分布到不同地域的服务端,不会因为集中的终点把服务中断。

由于节点非常多,使路径上数据安全非常重要,整个网络端服务质量不一,导致在域名解析、内容上需要做一些防流量篡改和劫持。

移动端会有一些新的问题,移动端的网络访问除了固网,还有2G、3G等运营商的网络,和传统媒介不太一样,空口本身是一个链路,用户的手机从连接运营商的基站到真正触达业务的服务端经过一系列链路,从空口链路、移动本身和新网链路,最后从核心网到固网链路,到原站服务端,中间不同段的访问和波动是不一样,空口链路要根据标准分配空口本身的物理链路的资源。空口链路会有一些延时很高、波动比较大的特点。

移动网络、固网网络不太一样,因为移动网络更加多样化,有不同的供应商,不同省份、不同地区本身的网络配置策略是不一样的,可能有一些运营商复用大的运营商,也可能因为某些运营商在不同省份的布点不均匀,使得本身用户接移动网络的访问会使某些地方访问服务端不通,这是因为本身调度不准或者是服务商的配置策略导致了这些问题,会出现DNS不精准、DNS劫持等问题。

移动APP本身访问方式和传统的网络研发不大一样,PC走固网,通过浏览器也好、普通PC的访问也好,都是很直接的网络请求。APP有系统厂商对访问请求的限制,比如说IOS要求有ATS保障,本身系统平台厂商要求在网络访问上做一些限制。APP端更关心电量,因为网络访问涉及到信号发送较耗电,用户还会关心消耗流量,视频直播都是高耗流量的访问业务模式。

一站式移动网络服务

传统网络访问问题,加上移动端的新问题,使得整体上网络访问诉求要求稳定、快速、安全,这是多方面因素结合起来才能够解决的问题。整体上解决网络的简单访问诉求,找到一个稳定、快速、安全的效果,需要一个闭环的整体上云协同的解决方案,我们会提出MNaaS,通过云上的网络相关服务构成一个闭环,使整个APP到原站之间的访问如初始版。

这个网络闭环包含非常多的服务,可以从三个维度说明效果,会从“端”、“管”、“云”三个层次立体化进行网络优化,构建可控、安全、可视网络环境;会提供H5相关方案;会有一些本身在端上的埋点方案;网络波次方案把网络访问、数据采集通道打通。阿里云本身结合移动特点和CDN特点做一些加速节点和网关加速部署,通过网络链路更加优化APP访问选择。比如说在网络链路通过一些APP端的探测,把网络路径的选择做到更优,在网络访问的过程中,通过不同的加速节点之间的路由优化,通过端上最优和原上最优达到最快网络速度。通过基础云服务,在整体之上输出公有云产品,根据不同产品的结合打造不同领域的解决方案,比如说安全的解决方案和定向免流方案,做整体上赋能应用本身的业务。

这是整体的网络即服务框架。从APP端到APP访问到业务,我们会提供端上的解决方案,像One SDK、H5等等,接下来是入口,入口是流量调度方案,包括域名解析和流量调度本身,接下来再进行网络访问服务,中间有一些远程配置、网关、移动加速和定向流量业务,做本身网络相关的服务,最后是关于整个网络可控、可视的服务。埋点还要加上波次,埋点是端上本身SDK做的工作,还有本身对端上业务层的埋点,我们可以通过端上布点探测不同网络环境下不同地域下网络访问质量,比如说域名解析和不同端口访问通路和NET生效维持时间。不同网络配置是不一样的,都需要做探测,波次服务是从服务端主动型探测各个网络区域。通过APP端埋点加上网络上的波次,最终数据汇总出来到云上服务器进行集中分析,分析结果可以通过可视化方式展示出来,最终把移动端网络访问性能通过大屏方式呈现出来。

流量调度服务:HTTPDNS

HTTPDNS服务不仅是DNS解析功能,可以超过DNS解析,做一个整体的移动端流量调度基础设施。它有两种用法:第一,传统域名相关解析服务;第二,软件定义解析服务。

传统域名就是DNS,DNS有多方面的优点:一是域名防劫持;二是域名调度精准性。因为域名解析最终由权威DNS解析,但是权威DNS做域名解析时候的依据是域名本身和来源的IP地址,但是由于运营商本身配置策略不一样,导致CDN域名会把CDN业务从山东调到北京,本来网络做更加就近的接入就不能达到这个目的。我们知道传统的域名肯定是有缓存的,但是缓存时间会有限制,不同运营商想控制域名解析的流量,他们本身有一些缓存策略使域名生效时间不能在权威配置的DNS时间立马失效,服务商会说这个域名生效时间最快是600秒,但是最长需要48小时全网生效。当一个业务出现问题的时候想快速把流量调走,由于域名解析生效慢使长尾用户总是得不到调度。而HTTPDNS和权威DNS做一个整合,比如说阿里云如果接入云解析,在上面做某一个域名会立马生效,可以实现秒级,最新解析结果可以立马在端上APP访问实现。

做域名解析时,如果不走传统DNS,会遇到DNS解析失败或者超时,这些问题和DNS本身服务质量和DNS同步请求的策略有关系。请求HTTPDNS可以通过端上策略进行缓存和加载优化,端上策略在域名解析过程实现零延迟,一个APP对应的域名列表是有限的,实现和自己业务相关的10个以上域名零延迟解析就可以匹配整个域名解析时效时间。通过DNS结果加上自定义解析策略可以实现原来超过的DNS解析结果,比如说可以从自定义调度定义一些规则,做一些定向流量调度;比如某个地方出问题,可以单独为某一个APP专门调度到某一台服务器,针对这一台服务器做一些网络流量上面的排查,当APP流量调度到这里的时候可以单独针对这个APP做流量的问题摸索。

我们一般使用CDN方式利用边缘节点分发能力做静态资源处理,但是APP访问除了静态资源还有很多动态API请求,这部分请求直接连接业务层,比如首页、下单业务指标相关请求也可以有更快速的访问过程。我们利用CDN节点定义成加速节点,不仅覆盖传统的静态资源请求,也覆盖动态的API请求,可以实现APP的全网加速。这些加速主要做移动端,移动端会在网络链路、运营商、协议上进行优化,比如说空口饱和策略,比如说运营商、设备提供商有医院提供无线空口信号的调优,访问某些服务器可能是IP地址,使运营商给更高的优先级,这样波动性会变小。

APP和加速节点可以做合用、新跳、饱和等数据,每一次访问请求不需要重新建连,建连以后不需要做加密相关的握手,通过这些优化把请求复用放在一起可以多个请求平均下来延迟降低。

协议优化有两个方面:一是本身访问链路的协议优化;二是加密层的优化,比如握手很慢,证书需要拉取和解析。做标准协议最长为3个RT,但是通过TLS做优化可以达到证书的相关缓存和内置,使最终做握手和网络连接一样,可以做到零RT效果。

定向免流

直播、游戏对于流量消耗比较大,APP客户比较关注流量消耗,整体网络服务上会做流量相关服务,我们提供定向免流服务,直播业务、视频业务通过阿里云直接对接,和联通、移动、电信等做对接,使这个服务为每一个中小APP实现定向免流服务。因为流量减免会使日活、客户留存率提高,增加用户对APP的粘性。本身业务层的赋能使APP营收相关指标、业务层指标有一些提高,相关网络服务会通过监控、可视化手段把网络相关数据通过大屏输出出来,使整体APP对应的网络业务层指标、网络性能以及网络故障的情况有一个总体了解,通过大屏的方式,可以更敏感的发觉到不同地域、不同运营商网络的访问情况,可以优化自己的业务,比如说服务端布点、选点以及本身服务端扩容情况,都可以有总体帮助。

整体通过监控的波次、APP端埋点能够把整体数据都采集到,通过大屏的方式展现出来如图,以更直观的方式了解网络整体数据。

“移”网打尽:网络即服务相关推荐

  1. 网络即服务(NaaS)是什么???

    企业的IT专业人员将能够从选项菜单中订购网络基础设施组件,根据他们的业务需求进行设计,并在几个小时内交付和运行整个设备.这样的日子离我们并不遥远. 这个概念被称为网络即服务(NaaS),几年来它已经以 ...

  2. 计算机改网络id,Windows 8普通版移除“网络ID”修改功能

    [PConline 资讯]5月7日消息,消息称微软将在今年6月的第一周公布Windows 8 Release Preview版本,目前Windows 8 Release Preview的最新版本是83 ...

  3. 网络共享服务(一)之FTP

    网络共享服务:ftp,nfs,samba比较 从跨平台角度说, samba, ftp差不多, 而nfs不支持windows平台 从挂载角度说, samba, nfs可以把远程目录挂载到本地目录上, 对 ...

  4. Nmap扫描教程之网络基础服务DHCP服务类

    Nmap扫描教程之网络基础服务DHCP服务类 Nmap网络基础服务 网络基础服务是网络正常工作的基石,常见的网络基础服务包括DHCP服务和DNS服务.其中,DHCP服务用来为计算机动态分配IP地址:D ...

  5. Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务

    NFS网络文件服务 NFS---- Network File System 用于UNIX/Linux[UNIX类操作系统]系统间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本 ...

  6. 网络共享服务(三)之SAMBA

    前面说到了FTP和NFS,由于FTP是客户端和服务器基于ftp应用协议进行交换数据的,它不支持挂载共享目录的方式,而NFS又不支持跨平台,所以就催生了第三种网络共享服务:samba Samba是在Li ...

  7. Docker网络和服务发现

    [编者的话] 本文是<Docker网络和服务发现>一书的全文,作者是Michael Hausenblas.本文介绍了Docker世界中的网络和服务发现的工作原理,并提供了一系列解决方案. ...

  8. linux配置一个ip san存储服务器,网络存储服务ip-san搭建

    网络存储服务ip-san搭建 网络存储服务ip-san搭建是一件很冗长的事情,看似间单,实则并不简单,让我们从下面开始学习吧. 一.准备工作 CentOS6.4服务器2台(1台用做IP-SAN存储服务 ...

  9. Framework中网络定位服务简介

    前人已经将LocationManangerService的框架介绍的很不错了,可以参见下面的帖子 http://www.ibm.com/developerworks/cn/opensource/os- ...

  10. win8系统关闭共享服务器,Windows8系统关闭Windows Media Player网络共享服务的方法

    Windows Media Player是一款Windows自带的媒体播放器,可以播放一些本地视频,不过有些windows8系统用户发现Windows Media Player有可在网络上共享媒体的功 ...

最新文章

  1. InvocationTargetException异常解析
  2. BZOJ3675: [Apio2014]序列分割
  3. android 添加子view,Android基于Window.ID_ANDROID_CONTENT给定id添加子View
  4. 程序员法律考试(6)-民法(3)
  5. enum 使用规范及技巧(C# 参考)
  6. Map-Reduce 思想在 ABAP 编程中的一个实际应用案例
  7. Luogu 4721 【模板】分治 FFT
  8. url重写(urlrewrite)的一些系统变量
  9. 记录自己灵感闪现的开发语录 每日更新 记录变强或者变得更菜的过程
  10. 论文写作思路_2018年的16个写作思路
  11. 循环神经网络之LSTM和GRU
  12. Java的GUI学习四(事件监听机制)
  13. 欺骗的艺术——你被社工了吗?
  14. dhtmlx技术使用总结与介绍中文手册
  15. vsphere 添加 iscsi 存储设备
  16. 芯片数据分析步骤1 芯片数据下载-GEO
  17. 如何删除搜索框的搜索记录(谷歌浏览器)
  18. “牵一发而动全身”——我用观察者模式简单模拟吃鸡
  19. 笔记本光驱拆解——让整个世界变得安静
  20. SpringBoot整合Logback日志框架+Slf4j注解使用

热门文章

  1. 关于git和SVN的介绍和区别
  2. 二叉排序树BST代码(JAVA)
  3. 求出一个整型数组的最大子集和
  4. Android-Activity详解与汇总
  5. Big Sur系统更新后,运行变慢?使macOS Big Sur更快运行的12个技巧
  6. 巧妙利用Mac标记,分类同类文件的技巧
  7. 关于EasyRecovery的一些高级设置
  8. 思维导图很难做?MindManager教你一招致胜!
  9. ceph对象存储ceph-deploy部署记录
  10. [转载]软件界面交互和易用性改进总结