IPv6地址空间和IPv4地址空间是否完全不相交?


12

Tanenbaum的计算机网络说

最后,IPv4地址可以写为一对冒号和一个旧的点分十进制数字,例如:

::192.31.20.46
  1. 这是否意味着IPv4地址空间已嵌入到IPv6地址空间的最低子范围中?
  2. 这样的嵌入固定吗?是否可以将IPv4地址空间嵌入到IPv6地址空间的任何连续子范围中?

    https://en.wikipedia.org/wiki/IPv6_address#Transition_from_IPv4是否列出几种其他翻译方式?如果正确,则嵌入不是固定的。

  3. 这是否意味着对于任何IPv4地址,都有一些IPv6地址与该IPv4地址引用相同的地址?

    例如,是::192.31.20.46192.31.20.46 有效相同的地址?

    • 如果我向发送消息::192.31.20.46,会192.31.20.46 收到我的消息吗?

    • 如果我向发送消息192.31.20.46,会::192.31.20.46 收到我的消息吗?

    ::127.0.0.1 仍然是一个回送的IP地址,如果是,是它有效地相同的地址127.0.0.1

  4. 还是在我与IPv6地址通信时不会与IPv4地址通信的意义上,IPv6地址空间和IPv4地址空间是否完全不相交(即没有重叠)?

谢谢。


4
提防过时的教科书。与IPv4兼容的IPv6地址已被弃用了将近15年,由IPv4映射的IPv6地址取代。现代操作系统可能无法识别它们。参见RFC 4291.
迈克尔·汉普顿

Answers:


8

IPv6地址空间和IPv4地址空间是否完全不相交?

是的,它们是两个单独的,不兼容的协议,具有完全不同的寻址。

那本书已经过时了。它所指的地址在很久以前已被弃用。它指的是已弃用的旧版IPv4兼容IPv4寻址。请参阅RFC 5156,特殊用途的IPv6地址

2.3。兼容IPv4的地址

:: / 96是IPv4兼容地址[ RFC4291 ]。这些地址已弃用,不应出现在公共Internet上。

对于IPv6,有IPv4映射的地址,但实际上并没有用作数据包的地址:

2.2。\ IPv4映射的地址

:: FFFF:0:0/96是IPv4映射的地址[ RFC4291 ]。此块中的地址不应出现在公共Internet上。

另请参阅参考的RFC 4291,IP版本6寻址体系结构

2.5.5。具有嵌入式IPv4地址的IPv6地址

定义了两种类型的IPv6地址,它们在地址的低32位中承载IPv4地址。它们是“ IPv4兼容的IPv6地址”和“ IPv4映射的IPv6地址”。

2.5.5.1。兼容IPv4的IPv6地址

定义了“兼容IPv4的IPv6地址”以帮助进行IPv6过渡。“ IPv4兼容的IPv6地址”的格式如下:

|                80 bits               | 16 |      32 bits        |
+--------------------------------------+--------------------------+
|0000..............................0000|0000|    IPv4 address     |
+--------------------------------------+----+---------------------+

注意:“兼容IPv4的IPv6地址”中使用的IPv4地址必须是全局唯一的IPv4单播地址。

现在不赞成使用“兼容IPv4的IPv6地址”,因为当前的IPv6转换机制不再使用这些地址。不需要新的或更新的实现来支持此地址类型。

2.5.5.2。IPv4映射的IPv6地址

定义了保留嵌入式IPv4地址的第二种IPv6地址。此地址类型用于将IPv4节点的地址表示为IPv6地址。“ IPv4映射的IPv6地址”的格式如下:

|                80 bits               | 16 |      32 bits        |
+--------------------------------------+--------------------------+
|0000..............................0000|FFFF|    IPv4 address     |
+--------------------------------------+----+---------------------+

有关“ IPv4映射的IPv6地址”的用法,请参见[ RFC4038 ]。


这是否意味着IPv4地址空间已嵌入到IPv6地址空间的最低子范围中?

仅在某些情况下,但通常不建议这样做。

这样的嵌入固定吗?是否可以将IPv4地址空间嵌入到IPv6地址空间的任何连续子范围中?

为此仅设计了两个IPv6地址范围,它们不用于发送数据包。这在全局IPv6寻址中不使用。

这是否意味着对于任何IPv4地址,都有一些IPv6地址与该IPv4地址引用相同的地址?

并不是的。从概念上讲,是的,对于IPv6的IPv4映射寻址,但这实际上并不用于发送数据包。

例如,是::192.31.20.46192.31.20.46有效相同的地址?

  • 如果我将消息发送到:: 192.31.20.46,192.31.20.46会收到我的消息吗?
  • 如果我向192.31.20.46发送消息,:: 192.31.20.46会收到我的消息吗?

:: 127.0.0.1仍将是回送IP地址吗?如果是,它实际上是否与127.0.0.1相同的地址?

否,::192.31.20.46是无效的IPv6地址,因为不赞成使用IPv4的IPv4兼容地址。

IPv4和IPv6是两个单独的不兼容协议,可以共存,但不能直接通信。

IPv6的回送地址为::1

还是在我与IPv6地址通信时不会与IPv4地址通信的意义上,IPv6地址空间和IPv4地址空间是否完全不相交(即没有重叠)?

IPv4和IPv6具有完全分开的寻址。IPv4使用与IPv6 128位寻址不兼容的32位寻址。协议头在其他方面也非常不同。IPv6是在IPv4中吸取教训后创建的。请记住,IPv4是一个学术/政府实验,从未打算像今天这样使用,而IPv6则是试图纠正IPv4的缺陷,但由于此原因它与IPv4不兼容。


11

数字4是正确的。V4和v6协议在格式和寻址方案上完全不同。这两个地址与电话号码和彩票号码具有相同的关系,即没有关系。

已经提出了许多将v4映射到v6以允许进行协议转换的方法,但是今天大多数方法已被弃用。


0

令我惊讶的是,没有现有答案提到6to4

它允许将IPv6数据包发送到IPv4主机,并封装在协议类型41的IPv4数据包中。

6to4地址的类型为2002:AABB:CCDD:后缀,对应于IPv4地址ABCD,其中A,B,C,D为十进制,而AA,BB,CC,DD为十六进制。因此,每个IPv4地址实际上都有一个完整的/ 48块IPv6地址。

6to4不仅是一种允许使用IPv6地址对IPv4地址进行标记的注释机制,它还是一种实际且有效的IPv6过渡机制。

6to4连接的性能和延迟将很差,因此,在此类连接可用的情况下,首选本机IPv6。

因此,我对IPv4和IPv6空间的回答是不相交的:并非如此,每个IPv4地址都有一个/ 48块IPv6地址。


您的答案的问题在于,它使人们相信您可以让仅IPv6的主机直接与仅IPv4的主机进行通信,反之亦然,而事实并非如此。不仅如此,它还包括中继路由器来翻译协议,因此,是的,地址空间仍然是分开的,但是您可以使用两种协议进行翻译。
罗恩·莫平
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.