|
|
51CTO旗下网站
|
|
移动端

谈一谈 IPv6 和 Happy Eyeballs

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

作者:付坤来源:今日头条|2019-01-30 10:59

 

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

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,是无法访问的。

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

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

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

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

可以看到,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 命令。

【编辑推荐】

  1. IPv6的前世今生和IPv4的对比
  2. IPv6组播技术与双协议栈技术
  3. QQ微信年内实现IPv6改造 腾讯为何拥抱IPv6
  4. 浅谈IPv6在企业转型中的应用与建议
  5. 赢得IPv6规模部署成功的四大关键词
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+新用户注册送47元彩金

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

216人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

468人订阅学习

读 书 +新用户注册送47元彩金

网络工程师必读——接入网与交换网

本书是以一个典型的计算机广域网通信为背景进行编写的,详细、全面地介绍了通信网中最主要的两个部分:目前,国内外接入网与交换网的主要技...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

博聚网