使用 Multipath TCP 为 iOS 创建备份连接(转)
这篇文章的英文版如下:
https://support.apple.com/en-us/HT201373
这里咱们采用苹果手机打开测试网站,发现没有检测到MPTCP,初步猜想可能需要打开什么设置,后续补上。参考下https://developer.apple.com/documentation/foundation/urlsessionconfiguration/improving_network_reliability_using_multipath_tcp
如果您是网络管理员,您可以将 Multipath TCP 与 iOS 搭配使用,以加强与您的目标主机的连接。
iOS 支持 Multipath TCP (MPTCP),并且允许 iPhone 或 iPad 通过蜂窝移动数据连接建立与目标主机的备份 TCP 连接。
网络管理员可能需要使用 MPTCP。使用标准家庭网络的客户无需启用 MPTCP。
关于 Multipath TCP
MPTCP 是对传输控制协议 (TCP) 规范的一组扩展。凭借 MPTCP,客户端可以通过不同网络适配器连接到有多个连接的同一目标主机。这可在各主机间建立强大而高效的数据连接,并且与现有的网络基础设施兼容。
iPhone 或 iPad 上的 Mulitpath TCP
iPhone 和 iPad 在具有活跃的蜂窝移动数据连接的情况下使用 MPTCP 来建立两个连接:
- 通过 Wi-Fi 的主要 TCP 连接
- 通过蜂窝移动数据的备用连接
如果 Wi-Fi 不可用或无响应,iOS 会使用蜂窝移动数据连接。
MPTCP 使用 TCP 选项域 30,这是互联网编号分配机构 (IANA) 专为此用途而保留的。如果 iOS 设备与服务器之间的任何中间盒(如路由器或交换机)都不支持 MPTCP,则 iOS 会建立标准的 TCP 连接。
例如,当您向 Siri 提问时,Siri 会尝试通过 Wi-Fi 建立 MPTCP 连接。如果连接成功,Siri 会通过蜂窝移动数据建立备用连接。如果 Wi-Fi 不可用或不可靠,则 MPTCP 会立即在后台切换到蜂窝移动数据。
为网络开启 MPTCP
MPTCP 与现有网络兼容。如果某个网络不支持 MPTCP,则客户端会使用标准的 TCP 连接。不过,网络管理员必须查看其防火墙政策,以确保所有介入设备都允许 TCP 选项 30,才能以未修改的方式传递信号。
很多商用路由器会将未知的 TCP 选项替换为 NOOP 数据。询问您的供应商如何开启 TCP 选项。
有关非 Apple 制造的产品或非 Apple 控制或测试的独立网站的信息仅供参考,不代表 Apple 的任何建议或保证。Apple 对于第三方网站或产品的选择、性能或使用不承担任何责任。Apple 对于第三方网站的准确性和可靠性不作任何担保。互联网的使用具有一定风险。请联系供应商以了解其他信息。其他公司和产品名称可能是其各自所有公司的商标。
使用 Multipath TCP 为 iOS 创建备份连接(转)的更多相关文章
- Apple uses Multipath TCP
http://blog.multipath-tcp.org/blog/html/2018/12/15/apple_and_multipath_tcp.html December 15, 2018 Ap ...
- 揭开 iOS 7 之 Multipath TCP 的面纱(转)
看到中文圈似乎讨论 iOS 7 的这个特性的还不多,于是我稍微研究了一下这个「Mutlipath TCP」,写点心得.过程是这样的: Olivier Bonaventure 通过 Wireshark ...
- IOS第四天(5:创建备份区按钮和判断结果)
创建备份区按钮和判断结果 /** 创建备选区按钮 */ - (void)createOptionButtons:(HMQuestion *)question { // 问题:每次调用下一题方法时,都会 ...
- 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 ...
- TCP同步与异步,长连接与短连接【转载】
原文地址:TCP同步与异步,长连接与短连接作者:1984346023 [转载说明:http://zjj1211.blog.51cto.com/1812544/373896 这是今天看到的一篇讲到T ...
- OCP读书笔记(5) - 使用RMAN创建备份
5.Creating Backups with RMAN 创建备份集 RMAN> backup as backupset format '/u01/app/oracle/backup/rmanb ...
- 【转】关于TCP 半连接队列和全连接队列
摘要: # 关于TCP 半连接队列和全连接队列 > 最近碰到一个client端连接异常问题,然后定位分析并查阅各种资料文章,对TCP连接队列有个深入的理解 > > 查资料过程中发现没 ...
- Oracle 12C 创建用户连接pdb
测试环境: C:\ora12c\product\12.1.0\dbhome_1\BIN>sqlplus.exe /nolog SQL*Plus: Release 12.1.0.1.0 Produ ...
- 关于TCP 半连接队列和全连接队列
关于TCP 半连接队列和全连接队列 http://jm.taobao.org/2017/05/25/525-1/ 发表于 2017-05-25 | 作者 蛰剑 | 分类于 网络 ...
随机推荐
- vim 寄存器的使用
1. 寄存器的格式 "[a~z] 2. 在复制时指定寄存器:"ayw 3. 剪切时使用寄存器:"add 3. 黏贴时指定从某个寄存器处获取数据:"ap 4. 几 ...
- 微信热补丁 Tinker 的实践演进之路
http://dev.qq.com/topic/57ad7a70eaed47bb2699e68e http://dev.qq.com/topic/57a30878ac3a1fb613dd40eb ht ...
- [oracle]pl/sql --分页过程demo
这句sql能够用来查询一张表中的特定位置的记录 --查询的方法获取分页的语句 select *from (select t1.*,rownum rn from (select *from books) ...
- 关于arr.map()问题
最近看map实现原理, Array.prototype._map = function(fn, context) { console.log(fn, context) var temp = []; i ...
- hive编程入门课程(加精)
hive编程入门课程 http://wenku.baidu.com/link?url=BfyZWjz48G_6UJImzWw39OLB0sUrIYEYxoxNpaFbADUQekmOvQy4FPY1f ...
- 剑指Offer面试题16(Java版):反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点. 解决与链表相关的问题总是有大量的指针操作.而指针操作的代码总是easy出错的. 非常多的面试官喜欢出链表相关的问题,就是 ...
- Microsoft Visual Studio 2013 已停止工作的解决方法
VS最近莫名奇妙老师崩溃,每次只能修复以后才能正常使用, 后参考 http://www.jb51.net/softjc/226465.html 网页的介绍, 恍然:之前使用OSchina GIT 服务 ...
- jquery 备忘笔记
1.选择器 a.查询所有以某字符串开头的元素 $("input[id^='dgItem_txt']") b.获取一组单选按钮中选中的值 $("input[name='it ...
- leetcode 750. Number Of Corner Rectangles
Given a grid where each entry is only 0 or 1, find the number of corner rectangles. A corner rectang ...
- LightOJ1236 —— 唯一分解定理 + 最小公倍数
题目链接:https://vjudge.net/problem/LightOJ-1236 1236 - Pairs Forming LCM PDF (English) Statistics Fo ...