Advance in Networking,Part 1

ECN - Explict Congestion Notification 显式拥堵通知

路由器在出现拥塞时通知TCP。当TCP段传递时,路由器使用IP首部中的2位来记录拥塞,当TCP段到达后,
接收方知道报文段是否在某个位置经历过拥塞。然而,需要了解拥塞发生情况的是发送方,而非接收方。因
此,接收方使用下一个ACK通知发送方有拥塞发生,然后,发送方做出响应,缩小自己的拥塞窗口。

以往TCP的拥塞避免机制是当发送超时时才会主动的把发送速率降低避免把整个链路堵塞,但是机制这个是发生了掉包以后才生效,代价比较高。
在ECN协议中结合SQM(Smart Queue Management)算法,可以有效的避免掉包、重传等,提高用户体验

Network Stack Evolution 网络协议栈进化

在iOS、watchOS、tvOS中使用URLSession时,协议栈从

Advance in Networking,Part 1_第1张图片
屏幕快照 2017-08-20 下午5.59.33.png

变成

Advance in Networking,Part 1_第2张图片
屏幕快照 2017-08-20 下午5.59.39.png

Network Extension

新增了两个网络extension

Advance in Networking,Part 1_第3张图片
屏幕快照 2017-08-20 下午6.02.56.png

一个是NEHotspotConfiguration, 可以让你的应用直接连接指定的Wifi(不用手动到设置中设置),
一个是NEDNSProxyProvider,让你处理DNS请求信息

Multipath TCP

Advance in Networking,Part 1_第4张图片
屏幕快照 2017-08-20 下午6.06.16.png

有时候手机会同时处在Wifi和基站信号的之下,当某些情况下(例如走动 网络不好时)已经连接上的TCP连接效果越来越差甚至断开。为了解决这种情况,苹果提出了Mutipath TCP,同时建立其WIFI和蜂窝的TCP连接,当其中一个连接比较差时自动连上其他链路。
这个技术要求

  • 服务器支持Mutipath TCP
  • 指定Multipath TCP类型
    类型有两个,一种是Handover Mode,另外一种是 Interactive Mode,差别在于前者连接比较稳定,后者延迟比较低
  • 使用URLSession API

你可能感兴趣的:(Advance in Networking,Part 1)