第5章 无线网络概览
- 5.1 无所不在的连接
- 5.2 无线网络的类型
- 5.3 无线网络的性能基础
- 5.4 测量现实中的无线性能
第6章 Wi-Fi
- 6.1 从以太网到无线局域网
共享信道,是设备间的自我控制,没有调度中心。
以太网使用“先听后说”:
- 检查是否有人在发送
- 信道忙,等待空闲
- 信道空闲后,再发送数据
CSMA(Carrier Sense Multiple Access载波监听多路访问):依赖于概率访问的协议。
Wi-Fi使用
CSMA/CA冲突避免,即发送方在得到接收方确认空闲时才发送数据,避免冲突。
- 6.2 Wi-Fi标准及功能
- 6.3 测量和优化Wi-Fi性能
ping命令查看时延
-
6.4 针对Wi-Fi的优化建议
- 利用不计流量的带宽,4G链接=>Wi-Fi下
- 适应可变带宽(利用连续测量技术,响应带宽变化,比如自适应比特流)
- 自适应比特流(Netflix为适应不同的屏幕大小和可用带宽,为每个视频流都创建了超过120个版本)
- 适应可变的延迟时间(高延迟敏感的应用,使用UDP传输的WebRTC,有助于降低协议和应用的导致的延迟)
第7章 移动网络
7.1 G字号移动网络简介
7.2 设备特性及能力
7.3 无线电资源控制器(RRC)——无线电网络的大脑
无线电资源控制器RRC,影响延迟、吞吐量和设备电池使用时间。
- 为什么要有RRC
随时可通信=> 保持无线电收发开启=> 电池耗电/网络传输效率=> 移动端电池受限=> RRC控制谁什么时候通信,带宽多大,功率多少,以及监控设备电源状态等。
- 权衡链接方式的考量
Wi-Fi:信号足够强时,通信效率更高
4G:设备空闲时,效率更高
为此,不同类型的链接动态切换的实现,产业界和学术界研究十分活跃。
- 电池和功率管理,怎么影响性能呢?
信道高吞吐量 (需要)=> 信号功率高=>消耗的能量增多=>电池寿命减少
- 停止无线电信号发射,断开链接,则重启链接时,需要一番信息交换延迟
- 针对移动端在RRC状态切换,带来的耗电和延迟,有哪些优化措施?
● RRC状态机因无线标准不同而不同;
● RRC状态机由无线网络为每部设备分别管理;
● RRC在必须传输数据时会切换到高功率状态;
● RRC在网络配置的时间超出后会切换到低功率状态;
● (4G)LTE状态切换可能花10~100 ms;
● (4G)HSPA+状态切换与LTE相差无几;
● (3G)HSPA和CDMA状态切换可能花几秒钟;
● 每次网络传输,无论数据多少,都会导致能量尾
7.4 端到端的运营商架构
LTE网络架构:(简单、组件、依赖少,性能更好)
RAN(Radio Access Network无线接入网络)——RRC的控制和管理组件
EPC核心网路,负责数据路由、账户和策略管理。
7.5 移动网络中的分组流
- 请求延时时间
- 控制面延迟
- 用户名单向延迟
- 核心网络延迟
- 互联网路由延迟
- 入站响应请求延迟
7.6 异质网络(HetNet)
7.7 真实的3G、4G和Wi-Fi性能
需要综合考虑很多环境和技术因素
第8章 移动网络的优化建议
8.1 节约用电
Application Resource Optimizer(ARO,应用资源优化器),收集器只能在Android平台运行,而ARO分析器则可以接收任何常规的分组跟踪记录(pcap)文件,可以使用tcpdump或其他兼容工具生成;iOS用户可以使用tcpdump
8.2 消除周期性及无效的数据传输
- 推送
● 轮询在移动网络中代价极高,少用;
● 尽可能使用推送和通知;
● 出站和入站请求应该合并和汇总;
● 非关键性请求应该推迟到无线模块活动时进行。
- 合并多个TCP消息为一个分组
8.3 预测网络延迟上限
- 考虑RRC延迟时间
- 解耦用户交互和网络通信(添加动画、预先请求)
8.4 面对多网络接口并存的现实
8.5 爆发传输数据并转为空闲
尽可能多和快的下载数据,获得最大网络吞吐量和节省电量。
8.6 把负载转移到Wi-Fi网络
8.7 遵从协议和应用最佳实践
阶段总结
“本章主要讨论了移动网络物理层的独立性能,比如RRC的存在、电池使用时间的问题,以及移动网络中独有的路由延迟。在物理层之上,是我们前几章已经介绍过的传输和会话协议,针对它们的优化同样甚至更加重要:
● 2.5节“针对TCP的优化建议”;
● 3.3节“针对UDP的优化建议”;
● 4.7节“针对TLS的优化建议”。
通过重用持久连接、将服务器和数据部署到离客户端更近的地方、优化TLS部署,以及其他所有优化措施,对移动网络而言只会更加重要,因为移动网络的往返时间长,而带宽永远都很昂贵。
当然,我们的优化策略并不会止步于传输和会话协议,这两方面只是基础。从现在开始,我们还必须考虑不同应用协议(HTTP 1.0、1.1和2.0),以及通用Web应用开发最佳实践对性能的影响。