2.5 特殊用途的地址
无论是 IPv4 还是 IPv6 都包含一些有特殊用途的地址(这些地址不会被用来分配单播地址)
IPv4 中特殊用途的地址如表 2-7 所示 [RFC5735]
IPv6 中特殊用途的地址如表 2-8 所示 [RFC5156]
表 2-7
IPv4 中特殊用途的地址(2010 年 1 月的定义)
表 2-8
IPv6 中特殊用途的地址 (2008 年 4 月的定义)
无论是 IPv4 还是 IPv6,未指定为特殊、组播或保留的地址,可以分配给单播使用
某些单播地址空间(IPv4 前缀 10/8、172.16/12、192.168/16 和 IPv6 前缀 fc00::/7)被保留来构建专用网络(private network)
这些范围的地址可以被某个站点或组织里面的主机和路由器使用,但不能通过全球互联网
因此,这些地址有时候被称为不可路由的(nonroutable)地址,即,它们无法通过公共互联网路由
对专用的、不可路由的地址空间的管理完全由本地决定
IPv4 专用地址在家庭网络、中等大小的内部网络以及大型企业中都非常常见
它们经常与网络地址转换(network address translation (NAT))结合使用
NAT 技术可以在 IP 数据报进入互联网时重写数据报中的 IP 地址,第 7 章将讨论 NAT 的细节
2.5.1 IPv4/IPv6 寻址翻译器
在某些网络中,在 IPv4 与 IPv6 之间进行转换可能会很有用 [RFC6127]
单播地址的 IPv4 与 IPv6 转换框架:[RFC6144];组播地址的 IPv4 与 IPv6 转换框架:[IDv-4v6mc]
它们的基本功能之一是提供自动的、算法级别的地址翻译
使用著名的 IPv6 前缀 64:ff9b::/96 或其它特定前缀,指明如何为单播地址进行翻译 [RFC6052]
可以利用一种特殊的地址格式,被称为内嵌 IPv4 的 IPv6 地址(IPv4-embedded IPv6 address)
这种 IPv6 地址中包含了一个 IPv4 地址
根据 IPv6 前缀的长度,可以使用 6 种格式中的一种来进行编码
对应的前缀长度分别是:32、40、48、56、64、96 位
图 2-10 展示这 6 种格式的地址
图 2-10
IPv4 地址可以内嵌到 IPv6 地址中,形成 内嵌 IPv4 的 IPv6 地址
根据 IPv6 前缀长度的不同,有 6 种不同的格式
著名的前缀 64:ff9b::/96 可以用来自动翻译 IPv4 与 IPv6 单播地址
图 2-10 中,要么是著名前缀,要么是部署翻译器的组织独有的唯一前缀
64 到 71 位必须设置为 0 以确保与 [RFC4291] 中指定的标识符兼容
后缀应该被设置为 0
现在,要产生一个内嵌 IPv4 的 IPv6 地址就比较简单了:
将 IPv6 前缀与 32 位的 IPv4 地址连接起来,并确保 63 到 71 位为 0
用 0 补全后缀,得到一个 128 位地址
有 96 位前缀的内嵌 IPv4 的 IPv6 地址,可以使用前边提到过的 IPv6 映射地址的惯例来表示([RFC4291] 第 2.2(3) 节)
例如,将 IPv4 地址 198.51.100.16 内嵌到著名前缀中,得到地址:64:ff9b::198.51.100.16