IPv6 的速度比 IPv4 更快?

6eb71fed9702e6943cfe6cb7aa169e0e.gif

译者 | 弯月

出品 | CSDN(ID:CSDNnews)

一句话概括本文:IPv6的速度比IPv4快约39%(仅限本地!)。

为了搞清楚如题所示的问题,我们决定分析30天内一系列监控代理收集的匿名数据。为了简单起见,我们只分析客户端到默认网关的往返时间(Round Trip Time,即RTT)。这段子路径并没有覆盖访问互联网资源的完整过程,只包括第一段旅程(通常通过Wi-Fi传输),其不确定性也最大。

有许多细微的差别都可能会影响我们的初步结果,包括但不限于数据集的大小、设备的差异、操作系统、介质、协议、CoS 类型等等。然而,由于困难重重,我们决定研究一个简单但便于比较的指标。如果你对我们的数据和分析结果有任何想法或建议,请在下方留言。

6920992b80ea2c6f397b43bcfc87a9b2.png

bba0c425d6ced45f59d914ed9de1e26d.png

方法

为了回答这个问题,我们使用了一种名叫PanSift的工具,希望借助这个工具保证Wi-Fi传输和远程故障排除。我们收集了 240 万个网络相关的网关数据点。为了收集这些数据,我们随机选择了16个macOS机器,然后每30秒收集一次数据(我们的数据保留期限最长为30天)。

这16台macOS机器全天在线,并支持双协议栈(即单个节点同时支持IPv4和IPv6两种协议栈),而不仅仅是只有本地连接。这样可以让比较更公平,因为发出的流量都要遍历连接中的全部节点和网关。另外,请注意PanSift不会对数据做规范处理,并保留完全保真的指标。这样,我们就可以进行细粒度分析,甚至追溯故障排除。在过滤出同时支持IPv4和IPv6的数据后,我们总共得到了 342,980 个有效数据点。

f81d8b33ffd1108bfb33c6037f299514.png

深层技术揭秘

PanSift代理每30秒通过命令ping(IPv4)和ping6(IPv6)发送3个ICMP echo_requests,同时还将COS(服务等级)设置为“Best Effort”。ping和ping6使用的选项如下:

  • -c 3:发送3个请求,然后停止。

  • -i 1:两个请求之间等待1秒(默认)。

  • -k BE:Best Effort,普通类(默认)。

注意:虽然上述选项是默认值,但我们还是明确地给出了选项,这样可以提醒自己以后进行进一步的调整。我们还为网关的 ICMP 设置了5秒的父进程超时。先发送IPv4请求,然后是IPv6,我们求出3个请求的平均延迟,作为结果数据点(使用以毫秒为单位的浮点值)。

然后查询Influx后端(时间序列数据库)。数据框中的数据跨越 macOS 版本 10.11.x、10.14.x、10.15.x、11.6.x 和 12.x,设备类型从 iMAC 到 Mini,但主要是 Macbook Airs和 MacBook Pro。

然后,使用Influx的脚本语言Flux,简单比较了IPv4和IPv6。

注意,为了简单起见,我们还将(浮点)值四舍五入为整数,以便快速、公平地比较IPv4和IPv6。

6b14943d4159d1bf96ee81f561ec8906.png

结果

56f3cd01688668f6754f9069a2b6159f.png

表 1.0:IPv4 与 IPv6 的总延迟结果

112aa85931f5b6d1ce17f2fa2af04378.png

图 1.0:IPv4 的总延迟结

858cd961cd9f245906f2f522951a7060.png

图 2.0:IPv6 的总延迟结果

9660d1535f00eda498384c83035a2028.png

表 2.0:WLAN 的 IPv4 与 IPv6 的延迟

a1972a2777bc9ade3f8873641e94cdaa.png

表 3.0:有线 IPv4 与 IPv6 的延迟*

* 我们需要更广泛的数据集,因为大多数机器的数据来自同时连接了 Wi-Fi / WLAN 的主机。我们记录的有线硬件主要是“USB LAN”和“USB-C LAN”,其中一些硬件的速率可能低于千兆(1000 Mbps)。因此,我们还需要获取不同硬件上的输出,但是 IPv4 和 IPv6 都使用了相同的硬件传输数据。

ca733e6db8e553a6944549923ecc1f08.png

下一步的计划

接下来,我们打算扩展上面的分析结果,然后看一看:

● 是否与网关的MAC 地址(以及供应商 OUI)有关。

● 是否与某些客户端设备类型、操作系统版本或补丁级别有关。

● 更大的双协议栈设备样本集是否会产生相同的结果。

原文地址:https://pansift.com/blog/is-ipv6-faster-than-ipv4/

 
 

互联网名称与数字地址分配机构(ICANN)公布的最新数据表明,全球IPv4地址仅剩余2.52亿个,不到总量的6%,预计IPv4地址会在2011年8月耗尽。随着物联网、移动互联网、IPTV、宽带上网等业务不断发展壮大,运营商不停地扩大网络规模,这也使IPv4地址枯竭的速度更快了。业内人士认为,IPv6是解决IPv4地址短缺的争议最少的方案。 运营商的困惑   运营商将IPv4升级为IPv6网络的过程,就好像将旅馆的所有客房重新粉刷、更换家具设施,同时还要保障旅馆不停业,甚至接待更多旅客;并且旅馆老板还要考虑成本投入,难度可想而知。运营商在升级到IPv6时,普遍面临下面三个挑战。 方案众多 IETF有观点认为:“IPv6最大的败笔,在于无法向前兼容IPv4协议。”这也是从IPv4升级到IPv6,出现众多演进方案的根本原因。虽然这些方案的技术不外乎三类——双栈、隧道和地址转换,但在不同细枝末节上的变种已超过20余种,如NAT444、NAT64、NAT-PT、DS-Lite、6RD、IVI等。 这些技术方案有的可以缓解IPv4地址短缺的燃眉之急,有的可以帮助运营商应对来自终端用户或自身网络建设的IPv6部署需求。各种技术方案的应对场景不同,再加上运营商的网络基础各异,这都增加了运营商选择方案的难度。 成本敏感 电信行业显然已经不再是早年的“朝阳产业”,运营商也在不断降低毛利以吸引更多用户,抵抗竞争压力。尤其是2008年的全球金融危机之后,电信行业也不可避免地陷入投资额下降的困境。在IPv6网络演进的问题上,运营商的改造规模覆盖了终端、接入、城域、骨干等各个环节,几乎是全网升级,设备采购量和资金投入自然不小。如何降低TCO,保护投资,也是运营商需要考虑的关键问题之一。 平滑演进 IPv6的演进不可能一蹴而就,不同电信业务、不同应用场景在不同阶段对IPv6演进方案有着不同需求。因此,基于各过渡技术的进展,运营商需要根据自己的特点,选择合适的过渡方案组合。在这个过程中,运营商不仅要解决目前的地址枯竭问题,还要兼顾长期的演进过程更加平稳,以达到保护投资的目的。 IPv6演进之道   运营商所需要的IPv6演进方案,首先要能够解决IPv4的地址短缺问题,由于时间紧迫,这个方案还要具备较高的成熟度,而且部署简单。其次,运营商还需要长远考虑,确定中后期的演进路线。在全盘考虑整个网络改造的过程中,运营商要注意控制投资成本,保护前期采购的设备能够得到充分使用。 初期过渡方案NAT444 NAT444方案由日本NTT提出,其主要思想是将NAT44部署位置提高,由运营商部署运营级NAT44设备CGN,同时与用户侧的NAT组成两级地址转换,形成三块地址空间,即用户侧私有地址、运营商私有地址、公网地址。这也是NAT444名称的由来。NAT444方案可以提高IPv4地址的复用率,缓解地址枯竭问题,而且便于部署,只需在汇聚层或者核心层增加CGN设备即可,无需进行较大规模的设备替换。从用户感知度、技术成熟度和部署难易度等方面考虑,NAT444是目前比较好的方案。 下面分析一下成本问题。假设整体改造一张拥有100万宽带用户的城域网,分别采用NAT444、6RD和DS-Lite三种方案来进行。由于NAT444部署简单,不需要家庭网关的支持,所以仅需升级城域网基础设施,增加CGN设备,其费用约为400万美金。6RD和DS-Lite方案除了要在城域网中增添专用网关之外,均需要家庭网关的支持,以每个家庭网关43美金计算,这两个方案的费用开销在4700万美金以上。显然,NAT444方案最具成本优势。 长期演进方案DS-Lite NAT444虽然拥有成熟可靠、部署简单以及节省投资等优势,可以有效缓解运营商眼下的困难,但并不能真正引入IPv6网络。就面向未来而言,DS-Lite(配合NAT64方案)作为双栈技术的改进版本,是业界公认的中后期演进方案。 DS-Lite方案主要解决IPv4或者双栈用户穿越运营商IPv6网络,进而访问IPv4服务的问题。运营商只提供IPv6接入,为CPE(Customer Premise Equipment)分配IPv6前缀,CPE为其内部网络分配IPv6地址以及IPv4私有地址,同时CPE实现IPv4 DNS proxy,便于支持基于IPv4的DNS查询。IPv4报文从终端发送到CPE,CPE将其封装到IPv6隧道中,在CGN上进行解封装,以及将IPv4报文进行NAT44翻译。 未来,使用IPv4的终端以及服务会渐渐消失,运营商网络实现IPv6单协议栈运行,整个IPv4IPv6迁移的过程结束。 华为CGN解决方案   华为CGN(Carrier-Grade NAT)解决方案基于高端防火墙Eudemon8000E(以下简称E8000E)产品,以及日志采集系统Elog产品,支持NAT44/NAT444和DS-Lite,旨在帮助运营商延续IPv4网络的使用寿命,同时过渡到IPv6网络。 两种形态 华为CGN解决方案有“插卡式”和“独立设备”两种形态。 “插卡式”CGN产品,能够支持华为现有的NE40E、NE80E、ME60等路由器和网关设备,并支持分布式或集中式部署。针对现阶段存在的多种IPv6过渡技术,华为CGN产品通过软件方式实现“一板多用”。到2010年底,华为CGN可以全面支持DS-Lite、6RD、PNAT、NAT64、NAT44、IVI等过渡技术。 在某些高性能的应用场景,需要部署独立形态的CGN设备。独立形态CGN解决方案基于分布式硬件架构,控制平面与数据处理平面相分离。华为独立形态的CGN可提供大规模NAT44/444特性,后期已规划了DS-Lite、NAT64以及其他“插卡式”产品所具备的特性,方便不同运营商选择最适合自己的演进方式。目前已在中国电信、中国移动等运营商网络中成熟商用。 主要特性 华为CGN解决方案的主要网元E8000E,能够支持的NAT(Network Address Translation)特性主要包含:无限地址转换、NAT ALG(Application Layer Gateways)、双向NAT和日志收集等。 不同于传统的NAT实现方式,E8000E在进行源地址转换时,不仅保存了转换前后的源地址和源端口,更增加了目的地址、目的端口和协议等信息。虽然增加了NAT表的空间开销,但却在理论上为实现无限的址转换提供了可能,大大降低了公网IP地址的使用数量,提高了地址节省率。 某些应用层多通道协议在数据传输开始之前,会协商所使用的端口信息,这些信息将存在于协商报文的负载之中。NAT设备如果不能处理应用层内容,将无法使这类协议顺利实现地址转换。E8000E支持对H.323、SIP等应用层协议协商过程的监控,获取通信双方所确定使用的端口信息,并建立会话,确保NAT转换的正确性。 在某些场景下,一台主机在对外发起访问的同时也接受外部的访问需求。E8000E可以实现这种双向地址转换,在主机对外发起访问时更换目的端所看到的源地址、端口;在接受外部访问时,呈现用户可配置的虚拟地址,再进一步转换为主机真正的地址。 Elog是专业的日志收集系统,运行在服务器平台上,可以保存E8000E地址转换时所产生的全部过程信息。这些信息主要包括设备信息、时间信息、转换前后的源地址源端口信息、目的地址目的端口信息。一旦发生错误操作,管理员可以根据这些信息进行排查和分析。 E8000E的热备部署方式以及冗余设计,使其自2008年上市以来,未发生一起网上事故。首先,E8000E支持“主-主”和“主-备”双机热备部署方式,如果其中一台设备的相关链路发生故障,其控制信息和会话表项会自动触发备份到另外一台设备上,倒换时间小于1秒。其次,单台E8000E设备的主控板1+1备份、交换板3+1备份、接口板可针对业务处理板进行负载均衡,当一块业务处理板故障时,该板原先所承载的流量将被均衡到其他业务板上继续处理。另外,电源、风扇等重要部件也进行了冗余设计。
### IPv6的定义 IPv6(Internet Protocol Version 6)是互联网工程任务组(IETF)设计的下一代IP协议,旨在解决IPv4地址耗尽问题并提供更多的功能改进。它通过128位地址空间显著增加了可用地址的数量,从而满足全球互联设备速增长的需求。 --- ### IPv6IPv4的主要区别对比 #### 1. **地址空间** - IPv4使用32位地址,总共可提供约43亿个唯一地址[^1]。 - IPv6则采用了128位地址,极大地扩展了地址池,理论上可以提供 \(2^{128}\) 个地址,几乎无限满足未来需求[^5]。 #### 2. **报头结构** - IPv4的报头长度为固定的20字节,包含多个字段用于控制数据包的行为[^2]。 - IPv6的报头长度固定为40字节,去除了部分冗余字段(如标识符、标志和分片偏移量),简化了报头结构,减少了路由器处理负担[^3]。 #### 3. **自动配置能力** - IPv4主要依赖于DHCP服务器分配动态地址,手动配置静态地址较为常见。 - IPv6引入了无状态地址自动配置(SLAAC, StateLess Address Auto Configuration),允许设备自动生成全局唯一的地址,无需额外的服务器支持。 #### 4. **安全性** - IPv4的安全性通常由外部机制(如IPSec)来保障,但并非强制实施。 - IPv6内置了IPSec支持,作为标准特性之一,增强了端到端加密和身份验证的能力。 #### 5. **移动性和服务质量(QoS)** - IPv4缺乏对移动性的原生支持,需借助其他技术实现。 - IPv6优化了移动IP的支持,并新增了Flow Label字段,能够更好地识别流量类别,提升QoS性能。 #### 6. **数据包大小和支持** - IPv4的最大传输单元(MTU)通常是1500字节,限制了单次发送的数据量。 - IPv6规定最小MTU为1280字节,同时支持更大的数据包尺寸,提高了大文件传输效率。 #### 7. **兼容性与过渡方案** - IPv4IPv6属于不同的协议族,无法直接互操作。为了平滑迁移,提出了多种过渡技术,例如双栈模式、隧道技术和NAT-PT等。 --- ### 示例代码:IPv6地址表示方式 以下是Python中如何判断一个字符串是否为合法的IPv6地址: ```python import ipaddress def is_valid_ipv6(address): try: ipaddress.IPv6Address(address) return True except ipaddress.AddressValueError: return False print(is_valid_ipv6("2001:db8::ff00:42:8329")) # 输出True ``` --- ### 总结 IPv6不仅解决了IPv4地址枯竭的问题,还在安全、自动化配置以及网络管理等方面提供了诸多优势。然而,在实际部署过程中仍面临一些挑战,比如现有系统的兼容性和升级成本等问题[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CSDN资讯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值