IPv6 学习笔记(一)

IPv6 旨在接替 IPv4。IPv6 拥有更大的 128 位地址空间,提供 340 涧个地址。(即数字 340 后加 36 个 0。)不过,IPv6 不只是具有更大的地址空间。当 IEFT 开始开发 IPv4 的接替版本时,还借此机会修复了 IPv4 的限制,并开发了额外的增强功能。一个示例是 Internet 控制消息协议第 6 版 (ICMPv6),它包括 IPv4 的 ICMP (ICMPv4) 中没有的地址解析和地址自动配置功能。ICMPv4 和 ICMPv6 将在本章后续部分讨论。

IPv6 的必要性

IPv4 地址空间耗尽一直是迁移到 IPv6 的动因。随着非洲、亚洲和世界其他地区越来越多地使用 Internet,IPv4 地址已经无法满足这一增长需求。如图所示,5 个 RIR 中的 4 个都已耗尽了 IPv4 地址。

理论上,IPv4 最多有 43 亿个地址。私有地址与网络地址转换 (NAT) 对于放缓 IPv4 地址空间的耗尽起了不可或缺的作用。但是,NAT 破坏了许多应用程序,而且有严重妨碍对等通信的限制。

万物互联

当今 Internet 与过去几十年比大有不同。当今的 Internet 不仅仅是电子邮件、网页和计算机间的文件传输。Internet 正在不断向物联网发展。能够访问 Internet 的设备将不仅仅只有计算机、平板电脑和智能手机。未来安装有传感器和 Internet 预留装置的设备会包括汽车、生物化学设备和家用器械以及自然生态系统等一切事物。

考虑到 Internet 用户的不断增加、有限的 IPv4 地址空间、NAT 问题和万物互联等问题,是时候开始向 IPv6 过渡了。

               

 
 

过渡到 IPv6 不是一朝一夕可以完成的。在可预测的未来,IPv4 和 IPv6 将共存。该过渡预计会花费数年时间。IETF 已经创建了各种协议和工具来协助网络管理员将网络迁移到 IPv6。迁移技术可分为三类:

  • 双堆栈 – 如图 1 所示,双堆栈允许 IPv4 和 IPv6 在同一网络中共存。双堆栈设备同时运行 IPv4 和 IPv6 协议栈。

  • 隧道 – 如图 2 所示,隧道是在 IPv4 网络中传输 IPv6 数据包的一种方法。IPv6 数据包封装在 IPv4 数据包中,类似于其他类型的数据。

  • 转换 –如图 3 所示,网络地址转换 64 (NAT64) 允许支持 IPv6 的设备使用与 IPv4 NAT 类似的方法与支持 IPv4 的设备通信。IPv6 数据包转换为 IPv4 数据包,反之亦然。

注意:隧道和转换仅在需要时使用。目标是从源到目的地进行本地 IPv6 通信。

IPv6 地址表示方法

IPv6 地址长度为 128 位,写作十六进制值字符串。如图 1 所示,每 4 位以一个十六进制数字表示,共 32 个十六进制值。IPv6 地址不区分大小写,可用大写或小写书写。

首选格式

书写 IPv6 地址的首选格式为 x: x: x: x: x: x: x: x,每个“x”均包括四个十六进制值。在指 IPv4 地址的 8 位时,我们使用术语二进制八位数。在 IPv6 中,十六进制数是指代 16 位或四个十六进制值数据段的非官方术语。每个“x”均为一个十六进制数、16 位或四个十六进制值。

首选格式表示使用所有 32 个十六进制数字书写 IPv6 地址。这并不意味着它是表示 IPv6 地址的理想方法。在以下页面,我们将了解两个规则,帮助减少书写 IPv6 地址所需的位数。

规则 1 – 忽略前导 0

第一条有助于缩短 IPv6 地址记法的规则是忽略 16 位部分或十六进制数中的所有前导 0(零)。例如:

  • 01AB 可表示为 1AB

  • 09F0 可表示为 9F0

  • 0A00 可表示为 A00

  • 00AB 可表示为 AB

此规则仅适用于前导 0,不适用于后缀 0,否则会造成地址不明确。例如,十六进制的“ABC”可能是“0ABC”,也可能是“ABC0”,但这些表示的值不相同。

注意,在多数示例中忽略前导 0 会让地址表达式缩短。

规则 2 – 忽略全 0 数据段

第二条有助于缩短 IPv6 地址记法的规则是使用双冒号 (::) 替换任何由一个或多个全由 0 组成的16 位数据段(十六进制数)组成的连续字符串。

双冒号 (::) 仅可在每个地址中使用一次,否则可能会得出一个以上的地址。当与忽略前导 0 的方法一起使用时,IPv6 地址记法可以大幅缩短。这通常称为压缩格式。

不正确的地址:

  • 2001:0DB8::ABCD::1234

压缩的不明确地址的可能扩展:

  • 2001:0DB8::ABCD:0000:0000:1234

  • 2001:0DB8::ABCD:0000:0000:0000:1234

  • 2001:0DB8:0000:ABCD::1234

  • 2001:0DB8:0000:0000:ABCD::1234

IPv6 地址类型

IPv6 地址分为三种类型:

  • 单播 – IPv6 单播地址用于唯一标识支持 IPv6 的设备上的接口。如图所示,源 IPv6 地址必须为单播地址。

  • 组播 – IPv6 组播地址用于将单个 IPv6 数据包发送到多个目的地。

  • 任播 – IPv6 任播地址是可分配到多个设备的 IPv6 任播地址。发送至任播地址的数据包会被路由到最近的拥有该地址的设备。任播地址不在本课程的讨论范围之内。

与 IPv4 不同,IPv6 没有广播地址。但是,IPv6 具有 IPv6 全节点组播地址,这在本质上与广播地址的效果相同。

8,517 total views, 13 views today

发表评论

电子邮件地址不会被公开。 必填项已用*标注