云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_mysql数据库位置_速度快

小七 141 0

支持向iOS的仅IPv6网络服务过渡

上个月初,苹果公司宣布,在iOS9中,所有提交给苹果商店6月1日的应用程序都需要支持IPv6网络服务。苹果报告称,"大多数应用程序将不需要任何更改",因为这些现有应用程序通过苹果的NSURLSession和CFNetwork api支持IPv6。我们使用IPv6和其他任何新兴的网络技术的目标是让我们的客户轻松地进行过渡。两年前,为了庆祝世界IPv6日,我们发表了《消除不启用IPv6的最后原因》。自2012年以来,CloudFlare一直为我们的所有客户提供完整的IPv6支持以及IPv6到IPv4网关。为什么会发生转变?IPv4代表了一种技术限制,对可以访问互联网的设备数量是一个硬性限制。当互联网协议(IP)在20世纪70年代末由Vint Cerf和Bob Kahn首次引入时,Internet协议版本4(IPv4)使用32位(4字节)数字,允许大约40亿个唯一地址。当时,IPv4似乎足以支持万维网。2011年1月31日,互联网分配号码管理局(IANA)IPv4地址的顶级池正式用尽。2015年9月24日,美国互联网号码注册处(ARIN)的IPv4地址正式用完。很明显,在2011年之前,40亿个地址不足以满足全世界所有人的需求,更不用说所有的手机、平板电脑、电视、汽车、手表以及即将到来的一系列需要接入互联网的设备。1998年,互联网工程任务组(IETF)正式确定了IPv4的后续产品IPv6。IPv6使用128位地址,理论上允许大约340万亿或3400000000000000000000000000000000个唯一地址。因此,我们已经有近20年的IPv6应用了…我们的IPv6采用率略高于10%。:/(来源)好消息是,正如上图所示,IPv6的采用率有了显著的提高;根据Google的数据,去年是创纪录的一年,增长了4%。谷歌获取这些数字的方法是让一小部分用户执行JavaScript代码,测试计算机是否可以通过IPv6加载url。为什么耽搁了?从IPv4过渡到IPv6是在全球范围内执行的一件复杂的事情。当数据通过因特网发送时,数据包使用IP协议发送。在每个包中,除了有效负载(您要发送的实际数据)之外,还有许多元素,包括源和目的地。为了让传输到达目的地,每个传送它的设备(客户机/服务器、路由器、防火墙、负载平衡器等)都需要能够与其他设备进行通信。传统上,这些设备与互联网上的通用语言IPv4通信。IPv6代表了一种全新的语言。为了让所有这些设备都能进行通信,它们都需要与IPv6进行通信,或者使用某种转换器。翻译需要NAT64和DNS64等技术。NAT64允许IPv6主机通过在IPv6和IPv4地址之间创建NAT映射来与IPv4服务器通信。DNS64将从A记录合成AAAA记录。DNS64有一些已知的问题,如DNSSEC验证失败(因为执行转换的DNS服务器不是所有者的域服务器)。对于服务提供商来说,支持IPv4/IPv6转换意味着提供单独的IPv4和IPv6连接,因此会带来额外的复杂性以及额外的运营和管理成本。行动起来在代码中使用IP文本(硬编码的IP地址)是满足Apple IPv6支持要求的常见缺陷。开发人员应该检查他们的配置文件中是否有IP字面值,并用域名替换它们。文字也不应该嵌入到协议中。尽管在SIP、WebSockets或P2PP等通信协议中使用某些低级api时,文字似乎不可避免,但苹果提供了易于实现且不易出错的高级网络框架。远离网络预飞,而只需尝试连接到网络资源并优雅地处理故障。Preflighting经常尝试通过将IP地址传递给网络可达性api来检查Internet连接。无论是在代码中引入IP文本还是滥用可访问性API,这都是一种糟糕的做法。对于iOS开发人员来说,审查支持IPv6 DNS64/NAT64网络以确保代码兼容性非常重要。在苹果的文档中,你会发现需要消除的IPv4特定API列表、IPv4类型的IPv6等价物、可以合成IPv6地址的系统API,以及如何设置本地IPv6 DNS64/NAT64网络,以便定期测试IPv6 DNS64/NAT64兼容性。CloudFlare提供了许多IPv6特性,开发人员可以在迁移过程中利用这些特性。如果您的域是通过CloudFlare运行的,那么启用IPv6支持就像在仪表板中启用IPv6兼容性一样简单。某些遗留IPv4应用程序可能能够利用CloudFlare的伪IPv4。伪IPv4的工作原理是向通过IPv6建立的请求添加一个HTTP报头,该请求具有"伪"IPv4地址。使用哈希算法,伪IPv4将创建一个E类IPv4地址,该地址始终为相同的输入生成相同的输出;相同的IPv6地址将始终产生相同的伪IPv4地址。使用E类IP空间,我们可以访问268435456个可能唯一的IPv4地址。伪IPv4提供了2个选项:添加头或覆盖头。Add Header将自动添加一个头(Cf-Pseudo-IPv4),软件可以根据需要对其进行解析。Overwrite Headers将使用伪IPv4地址覆盖现有的Cf Connecting IP和X-Forwarded-For报头。覆盖选项的优点是(在大多数情况下),不需要任何软件更改。如果您选择覆盖选项,我们将附加一个新的头(Cf-Connecting-IPv6),以确保您仍然可以找到用于调试的实际连接IP地址。对于处于枪口下的iOS开发者来说,向IPv6过渡的好处除了遵守苹果的政策外,还有其他好处。除了IPv6固有的安全优势(如强制IPSec),许多公司也看到了性能的提高。Facebook进行的真实用户测量研究显示,IPv6使他们的网站速度提高了10-15%,LinkedIn在欧洲选定的移动网络上实现了40%的增长。对于当前通过CloudFlare运行的域,由于我们当前默认不启用IPv6,因此您需要进入您的帐户并确保在"网络"选项卡下启用了IPv6兼容性。CloudFlare自2012年以来一直在提供坚如磐石的IPv6,其中包括一键式IPv6配置、IPv4到IPv6转换网关、伪IPv4等等。有关更多信息,请务必查看我们的IPv6页面:https://www.cloudflare.com/ipv6/