看到中文圈似乎讨论 iOS 7 的这个特性的还不多,于是我稍微研究了一下这个「Mutlipath TCP」,写点心得。过程是这样的:

Olivier Bonaventure 通过 Wireshark (一个网络数据包监控工具)发现了他升级了 iOS 7 的 iPad 在使用 Siri 的时候会建立 Mutlipath TCP 连接,由此断定 iOS 7 已经内置了 Mutlipath TCP 的支持。见《Apple seems to also believe in Multipath TCP

Mutlipath TCP,是一套基于当前 TCP/IP 协议的一个扩展,所谓扩展即是能兼容当前协议,又能带来不少新特性。那么 Multipath TCP 有什么特别之处呢?这里通过一个简单的例子来说明好了。

假如我手中的 iPhone 同时开启了 3G 和 WiFi 连接(大多数情况也是这样),这个时候我通过 App Store 更新一个 100M 的软件。按照以往的情况,App Store 的软件更新是会优先通过 WiFi 进行的,3G 在此刻是闲置状态。

但是在 Multipath TCP 的支援下,尽管只通过 App Store 更新一个软件,建立起了一个网络连接,但是它却可以同时利用 3G 和 WiFi 建立 Mutlpath 连接,通过多点优化网络下载,且互为备份。

假如这个时候 WiFi 断了,以前的情况是,App Store 更新中断,需要人工干预恢复或重新下载。而在 Mutlipath TCP 的优化下,只要 3G 没断,App Store 就能继续更新下载。除非 3G 也断了,才宣告此次连接失败。

总之,在 Multipath TCP 的支持下,终端设备可以同时利用多个网络设备达到优化网络连接速度、稳定性,一个网络的中断也不会影响全局,大大增强了设备的可移动性和连接可靠性。而在服务端,特别是数据中心层面,则可以利用 Multipath TCP 利用多个网络设置来大大增强网络的吞吐量。

可以说,Multipath TCP 就是 Internet 的未来。

那么,Multipath TCP 现在的发展状况如何呢?这可是一个大项目,研究并努力了5年,直到在2013年初才正式制定完成,不过很快相关的实现和利用都来了:

  • Linux 内核已经有了一个单独实现的 Multipath TCP 0.87,基于Linux 3.10,只是一个实验分支,不知道什么时候才会合并到主干;
  • iOS 7 是首个正式采用 Multipath TCP 的商用操作系统,在这里可以看到,Apple 拥抱和利用新技术是多么的迅速。另外 iPhone 5s 的 A7 64 位芯片也算是一项。

Multipath TCP 是可以预见的接下来 Internet 进化的一个新方向,虽然普通用户不会感受到它带来和变化,但是整个网络系统将在它的支援下更好地利用资源、更大的吞吐量以及带来更棒的可靠性。

参考:

https://imtx.me/archives/1852.html

揭开 iOS 7 之 Multipath TCP 的面纱(转)的更多相关文章

  1. 使用 Multipath TCP 为 iOS 创建备份连接(转)

    这篇文章的英文版如下: https://support.apple.com/en-us/HT201373 这里咱们采用苹果手机打开测试网站,发现没有检测到MPTCP,初步猜想可能需要打开什么设置,后续 ...

  2. Multipath TCP and load balancers

    Load balancers play a very important role in today’s Internet. Most Internet services are provided b ...

  3. Multipath TCP on iOS11 : A closer look at the TCP Options(转)

    Multipath TCP uses a variety of TCP options to use different paths simultaneously. Several Multipath ...

  4. Apple uses Multipath TCP

    http://blog.multipath-tcp.org/blog/html/2018/12/15/apple_and_multipath_tcp.html December 15, 2018 Ap ...

  5. 揭开GrowingIO无埋点的神秘面纱

    揭开GrowingIO无埋点的神秘面纱   早在研究用户行为分析的时候,就发现国内的GrowingIO在宣传无埋点技术,最近正好抽出时间来研究一下所谓的无埋点到底是什么样的. 我分六部分来分析一下无埋 ...

  6. Using MultiPath TCP to enhance home networks

    Over the last few months I’ve been playing with MultiPath TCP and in this post I will show how I use ...

  7. 揭开自然拼读法(Phonics)的神秘面纱

    揭开自然拼读法(Phonics)的神秘面纱 自然拼读法  (Phonics),是指看到一个单词,就可以根据英文字母在单词里的发音规律把这个单词读出来的一种方法.即从“字母发音-字母组合发音-单词-简单 ...

  8. iOS网络协议 HTTP/TCP/IP浅析

    一.TCP/IP协议       话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...

  9. iOS中 HTTP/Socket/TCP/IP通信协议具体解释 韩俊强的博客

    简介: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 / ...

随机推荐

  1. Java反射及其在Android中的应用学习总结

    一. Java反射机制 Reflection 是Java被视为动态(或准动态)语言的一个关键性质.这个机制同意程序在执行时透过Reflection APIs取得不论什么一个已知名称的class的内部信 ...

  2. 【Sprint3冲刺之前】日历表的事件处理和管理(刘铸辉)

    我的Sprint2冲刺——日历表的事件处理和管理(刘铸辉,刘静) 我的Sprint2冲刺计划领到的任务是和静姐结对编程,完成日历表的事件处理和管理,下面详细讲解下技术细节. 1.设计结构图 首先要画出 ...

  3. PCB板布线中地线和电源线的布线规则

    电源. 地线的布置考虑不周到而引起干扰,使产品的性能下降,严重时会降低产品的成功率.要把电源线和地线处理好,将电源线和地线所产生的噪音干扰降到最低限度,以保证产品的质量.一.电源线和地线的布线规则1) ...

  4. 一些常用的shell

    1 if语句 if语句的三种写法,注意[]的两个空格,else if 写法是elif,不要漏了fi结束 if [ xxx ] then fi if [ xxx ] then echo "&q ...

  5. mini2440使用jlink烧写superboot到norflash

    Jlink版本号:J-flash ARM V4.12                    J-Flash ARM的配置. 一般说来file-->open project里面会找到一些*.jfl ...

  6. linux下apache https 虚拟主机配置

    如果单纯仅仅想在数据传输时加密传输,那么ssl证书是不须要认证的,可是浏览器打开时会有警告信息.如果我们做的不是一个公众产品那么也还好啦. 例如以下是今天学习时的一个笔记,事实上我用的是真实环境. 环 ...

  7. 转载---- 使用opencv源码自己编制android so库的过程

    http://blog.csdn.net/lantishua/article/details/21182965 工作需要,在Android上使用OpenCV.opencv当前的版本(2.4.8)已经有 ...

  8. SQLMAP源码分析(一)

    说起来,学习Python很大一部分原因是由于对WEB安全的兴趣以及对SQLMAP这款工具的好奇,曾经设想学完Python基础就读一读SQLMAP源码,然而懒病一犯,随之就大江东去.近来,又重新燃起了读 ...

  9. Html5的placeholder属性(IE兼容)

    HTML5对Web Form做了很多增强,比方input新增的type类型.Form Validation等. Placeholder是HTML5新增的还有一个属性,当input或者textarea设 ...

  10. @P0或@P1附近有语法错误

    分析:@P0指的是第一个参数附近有错误;为'@P1'指的是第二个参数附近错误语法有错误.