谈一谈 IPv6 和 Happy Eyeballs

栏目: 服务器 · 发布时间: 5年前

内容简介:先看个图,从 Ipv6 的相关资讯可以看到,各大互联网公司都在推进 Ipv6 的部署和支持,这离不开工信部信通院(信息通信研究院)的大力推进。

谈一谈 IPv6 和 Happy Eyeballs

先看个图,从 Ipv6 的相关资讯可以看到,各大互联网公司都在推进 Ipv6 的部署和支持,这离不开工信部信通院(信息通信研究院)的大力推进。

谈一谈 IPv6 和 Happy Eyeballs

Ipv6 的”好处”就不多说了,如果使用 Ipv6,每个设备都可以分配一个固定的地址,定位起来就方便多了,想想就很美(kong)好(bu)吧。

网络设施和软件的改进我们暂且不谈,就来谈下如何保障业务访问的连通性。

一谈到 Ipv6 ,大家印象里访问一个 Ipv6 的网站的过程是这样的:

通过 DNS 的 AAAA 解析获取到了域名对应的 Ipv6 的地址,然后就会通过 Ipv6 的地址访问网站,如果访问不通,业务就会挂掉,导致用户访问失败。

如果这个网址只支持 Ipv6 ,那就是这种现象,如果网址本身支持双栈,即同时支持 Ipv4 和 Ipv6 ,那么在某些环境下,会启用 Happy Eyeballs 算法,进行快速回退,使用 Ipv4 进行访问。

这个算法的提出是在2011年,最初推广 Ipv6 的时候,为了避免让大家担心使用 Ipv6 后如果网络不通,用户会流失。

下面大概介绍一下 Happy Eyeballs,对于支持双栈的网络环境下,当访问一个网站时,会同时发起 AAAA 和 A 的 DNS 查询请求,并对获取的结果进行排列,优先 Ipv6 ,然后进行 Ipv6 的链接尝试,在大概 200ms 后如果链接不通,立即启用下一个 ip 的链接请求,一般就是 Ipv4 了。 在这种场景下,就不要担心由于 Ipv6 的网络连通性比较差而导致站点无法访问了,即使在当前国内各运营商 Ipv6 连通性比较差的情况下,多的就是一个大概 200ms 的延迟,跟拒绝服务比起来,还算能接受。

下面我们尝试一下,我给自己的网站加了一个 Ipv6 的解析,随便填的一个 ip,是无法访问的。

谈一谈 IPv6 和 Happy Eyeballs

然后测一下解析是否生效:

谈一谈 IPv6 和 Happy Eyeballs

可以看到存在 Ipv4 和 Ipv6 的解析。 然后我们使用 curl (curl支持 Happy Eyeballs)访问一下网址:https://fukun.org/httpget。

谈一谈 IPv6 和 Happy Eyeballs

谈一谈 IPv6 和 Happy Eyeballs

可以看到请求过程中有一个使用 Ipv6 尝试的过程,然后又使用的 Ipv4 进行的访问。

然后抓包看一下网络情况。

谈一谈 IPv6 和 Happy Eyeballs

可以看到,DNS查询基本是同时发起的 AAAA 和 A 记录的查询,先获取到了 A 记录,又过了 30ms 左右才获取到 AAAA 记录。即使 A 记录返回的比较快,在进行链接请求的时候,也先是对 Ipv6 的地址发起了 SYN 建连请求,在大概 200ms 后没有收到回复,就用 Ipv4 发起了 SYN 建连请求,链接建立成功并返回了正确的结果。

综上可见,在双栈情况下,即使 Ipv6 的连通性较差,也可以通过 Happy Eyeballs 算法进行快速回退至 Ipv4,从而进行正常访问。

但这个算法也不是随地都能生效的,需要对应的软件或操作系统支持才可以,目前支持 Happy Eyeballs 的终端包括 Chrome 浏览器, Opera 12.10, Firefox version 13, 苹果操作系统 OS X, 以及 cURL 命令。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

火球

火球

张传波 / 2012-2 / 39.80元

《火球:UML大战需求分析》融合UML、非UML、需求分析及需求管理等各方面的知识,帮助读者解决UML业界问题、需求分析及需求管理问题。全书主要介绍UML的基本语法、面向对象的分析方法、应用UML进行需求分析的最佳实践及软件需求管理的最佳实践四个方面的内容。 《火球:UML大战需求分析》各章以问题为引子,通过案例、练习、思考和分析等,由浅入深地逐步介绍UML综合应用的知识。《火球:UML大战......一起来看看 《火球》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具