Tanenbaum的计算机网络说


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

::192.31.20.46




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

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

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


是否表示对于任何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相同的地址吗?没有重叠),就是说当我与IPv6地址通信时,我不会与IPv4地址通信吗?

谢谢。

评论

提防过时的教科书。与IPv4兼容的IPv6地址已被弃用了将近15年,由IPv4映射的IPv6地址取代。现代操作系统可能无法识别它们。请参阅RFC4291。

#1 楼


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寻址体系结构: br /> 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的用法”,请参见[RFC4038]。已映射
IPv6地址”。




是否意味着将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的地址有效相同?


否,因为已弃用IPv4的IPv4兼容地址,所以::192.31.20.46是无效的IPv6地址。

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

IPv6的环回地址为::1


或者IPv6地址空间和IPv4地址空间是否完全
不相交(即没有重叠),从某种意义上说,当我与IPv6地址通信时,我将不会与IPv4地址通信吗?


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

#2 楼

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

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

#3 楼

对于没有现有答案提及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的主机进行通信,反之亦然,而事实并非如此。不仅如此,还包括中继路由器来翻译协议,因此,是的,地址空间仍然是分开的,但是您可以使用两种协议进行翻译。

–罗恩·莫潘♦
19 Mar 24 '19在15:03