域名年龄
本站支持IPv6访问
本站支持SSL安全访问
加载中

少女折寿中...

文章背景图

一说IPv4与IPv6

2025-12-18
31
-
- 分钟

在写这篇推送之前,我也分享过类似题材的文章。例如这篇:什么是IPv6?IPv6地址主要包含哪些 转自贝锐花生壳

在提到IPv6之前,我们需要先了解一下什么是IPv4——互联网协议第四版(Internet Protocol Version 4).

网际协议版本4

网际协议版本4英语Internet Protocol version 4IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。

IPv4是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6,直到2011年,IANA IPv4位址完全用尽时,IPv6仍处在部署的初期。

IPv4在IETF于1981年9月发布的 RFC 791 中被描述,此RFC替换了于1980年1月发布的 RFC 760。

IPv4是一种无连接的协议,操作在使用分组交换链路层(如以太网)上。此协议会尽最大努力(当然这不意味着路由器可以随意丢弃IP报文)交付数据包,意思是它不保证任何数据包均能送达目的地,也不保证所有数据包均按照正确的顺序无重复地到达。这些方面是由上层的传输协议(如传输控制协议)处理的。

为什么要用 IPv6?

这个问题很有意思。IPv6 能给你带来的好处不算多,而且基本都还没实现。如果你发现你的家里或者工作场所不能使用IPv6,不用沮丧,目前大家基本都是如此。大多数运营商还没准备好向民众提供 IPv6。

 

首先,IPv6 能让你像 2012 年一样不受干扰地接入互联网。

 

而IPv6的好处在于,它能给你家的每台设备都分配一个可达的网络地址,因为家家户户的地址都多到用不完——264,大约:

18450000000000000000个!

如果使用多个网段,这个数字还可以更大。到时候很多运营商给你分配 256 个网段都不在话下。

而几十年内 IPv6 地址都不太可能用尽。

 

这一技术的应用场景尚待发掘。想象一下,一边上班一边就能用手机控制家里的各种电器:看看电视直播,查查监控,瞅瞅冰箱里还剩什么,给烤箱定个时,要是早下班没准还能先把空调或者暖气给打开。现今这些都不成问题——但要是你光有个 IPv4 地址可就没那么容易了,而在不知 IPv4 何去何从的未来只会更加困难。

 

IPv4 怎么了?

历史悠久的 IPv4 互联网地址已经严重不足。IANA 注册机构(全球级别)的地址马上就会耗尽,甚至已经耗尽,而这取决于你什么时候看到这段话。他们预计会在 2011 年的一月或二月宣布这一结果——实际上这件事已经在2011年1月31发生。

IP 地址的全球性管理机构为互联网号码分配局(IANA),其下有五个局域网际网络注册管理机构(RIR)。由 IANA 管理的 IPv4 位址,于 2011 年 1 月 31 日完全用尽。其他五个区域的可核发地址,除了为迁移 IPv6 而保留的最后一块 /8 地址外,也随之陆续用尽:亚太地区在 2011 年 4 月 15 日用尽,欧洲地区在 2012 年 9 月 14 日,拉丁美洲及加勒比海地区在 2014 年 6 月 10 日,北美地区在 2015 年 9 月 24 日,非洲地区在 2017 年 4 月 21 日。

2019年11月26日,全球所有43亿个IPv4地址已分配完毕,这意味着没有更多的IPv4地址可以分配给ISP和其他大型网络基础设施提供商。 [1]

IPv6 的出现是为了从根本上解决 IPv4 地址耗尽的问题。IPv4 版本的 IP 地址只有 4 字节大小,即 32 位长度的 IP 地址。IPv6 版本的 IP 地址有 16 字节大小,即 128 位的长度。

 

运营商陆续用完他们手里的地址后,就得想点新办法来招揽新客户了。毕竟这些客户还是挺需要 IPv4 互联网的。

 

问:我听说还有几百万个地址被企业留着没用,把它们收回来用呗!......或者使用 E 类地址空间?(诸如此类的办法)

很遗憾,这些方法都有人考虑过了。而且剩余地址也不算多,跟不上世人的消耗速度;而强行收回地址这件事光是耗在法庭上的时间就比收回的时间长。其他的保留地址也很难再用,除非把全世界大多数路由器都换一遍。

 

问:运营商想了什么新办法维持 IPv4 运行?

最常见的是某种 NAT

NAT 是一种共用地址的方式,你可以把它想象成老式电话的公用线路。如果共用的 IP 地址不算太抢手,你也能轻松连上网络。

 

注意,这不仅包括你家里已有的 NAT。


6to4 技术能让你通过仅有 IPv4 的网络连接 IPv6 互联网。它的原理在于把 IPv6 数据包嵌入到 IPv4 数据包中,并在一些志愿者的帮助下完成传递。(相关规范见于 RFC 3056。)

 

在说明我对 6to4 的实际看法前,我们先讨论一下它是如何运作的。

 

图 1 IPv4 Only(只有IPv4)

 

在传统的 IPv4 互联网中,你的设备将数据传至你的运营商,再通过另外几个运营商到达目标网站。这种模式下排查网络故障是相当容易的,并且你的运营商有义务处理他们责任范围内的问题。网站与其运营商之间也有类似的合约。

 

 

图 2 IPv6 in IPv4 Unmanaged(IPv4未受管理的IPv6)

 

使用非托管的(“自动”创建的或者没有指明网关信息的)6to4 连接时,这个过程就不太一样了。IPv6 信息要先装进 IPv4 数据包中——就像把信纸装进信封里一样。

然后,这个数据包会被传给“距离最短且可用的”网关,你的运营商也许会架设这种网关,但通常情况下的事实是:不会架设,而这种网关更可能是志愿者为了奉献社会而设的。

这个中继点会取出 IPv6 信息,然后把它转发到 IPv6 互联网上。

 

网站传回的流量也要经历一个类似的过程。目标网站向你方自动获得的 IPv6 地址发出的答复会被导向距其最近的 6to4 中继点。这一过程对你来说完全是不确定的,你甚至搞不清那中继点在哪儿。那个中继点会收下这个 IPv6 数据包,把它装进一个 IPv4 数据包中,再发给你的路由器。

 

问:这会出什么问题?

主要问题包括缺乏服务等级协议与可预测性,以及缺乏判断连接是否正常的机制。

 

服务等级协议:6to4 中继点是由某些组织自愿设立的。它们使用 BGP 协议(互联网说“我在这!”的方式)来向全世界声明公共网关的存在,可是只有一些中继点能得到妥善管理。但只要有一条路径是离你“最近的”(这是BGP 网络意义下的相对概念,你无法控制它们的距离),你就只能使用那个中继点。你要访问的那个网站也是一样,他们受到同等的约束,但很可能和你用的不是同一个中继点。如果出现什么问题,就算你或者网站知道问题出在哪,也没有什么好办法去解决它。

 

一些运营商正在其网络中部署 6to4 中继点,但即使你的运营商也这么做了,问题还是没完全解决。

 

一旦开启 6to4,你的电脑就会发现“曼波!有 IPv6!”,于是你的浏览器就会想方设法把 IPv6 给用上(只要网站支持)。

要是能成功当然很好,可要是失败了,连接就免不了要超时。而浏览器得等好一会儿才能反应过来,开始思考放弃IPv6转而使用 IPv4。这样一来,整个网站就会慢得看起来像是崩溃了一样。

 

我计划使用6to4,但“大数据包”或者 MTU 测试缓慢甚至失败。这是什么问题?

使用 6to4 时,IPv6 数据包必须装进一个 IPv4 数据包中,但MTU是有上限的,具体限制与运营商和使用的设备有关。

 

因为有这个上限,IPv6 数据包必须做得小一些,好让它们能装进适合传输的 IPv4 数据包中。

 

可接下来,其他网络对包的大小可能有更严格的要求。这个网络可能本身就是一个独立的隧道(tunnel)——运营商有时候必须这么做。

但问题往往就出在这里。IPv4 隧道会回复你一条信息告诉你数据包太大,但你却收不到这信息。即使你收到了,你的那些 IPv6 数据包也不知情,结果你还是不会作出减小数据包的大小。

 

对一些人来说,减小 IPv6 的 MTU 可能会有用。符合标准的最小值是 1280,如果你真想找一个适合你的值,试着在 1400 到 1480 之间取一个。但既然要改 MTU 我建议就用 1280,以免将来麻烦。

 

托管的隧道

听起来你也许对 6to4不感兴趣。

我讨厌它是因其无人值守。6to4 基本上就是 6in4——加上 IPv4 数据包头的 IPv6 数据包,而托管的 6in4 服务其实可以做得很好

 

图 3 IPv6 in IPv4 tunnel broker(IPv6在IPv4隧道代理中的应用)

 

test-ipv6.com 的建议是,如果你的运营商没有提供 IPv6 但你有需要,可以考虑托管的 6in4 服务。6in4 用的线路和 6to4 一样,但连接的隧道节点是确定的(但非匿名的)。市面上主要的几家提供商都能提供优质的服务和技术支持,他们也会密切关注中继点的运行状态以保证服务质量。最棒的是,双向流量走的都是同一个中继点,这意味着同一个地方完成了两个方向的转换。

评论交流

文章目录