可以将IPv4地址包含在IPv6地址中。例如,2001:db8::c0a8:6301,其中后32位是IPv4地址192.168.99.1。甚至还有IPv6地址的特殊表示法,其中后32位采用点十进制表示法。 Juniper路由器的示例:

root@mx> show configuration interfaces ge-0/0/0 unit 0 family inet6
address 2001:db8::192.168.99.1/64;

root@mx> 


在什么情况下将IPv4地址包含在IPv6地址中才有意义?在实践中有人见过吗?

#1 楼

有一些常见的用例:



::ffff:192.168.0.1

用于使用IPv6套接字的软件,甚至用于处理IPv4连接。这使编写软件变得更加容易,因为所有内容看起来都像IPv6。

64:ff9b::192.168.0.1

这是NAT64众所周知的前缀。这些地址由NAT64网关NAT到IPv4。它用于使仅具有IPv6的设备到达IPv4目的地。


它也可以与其他前缀一起使用。例如,并非所有NAT64网关都使用众所周知的前缀。还有其他协议将IPv4地址嵌入IPv6地址或前缀中。上面提到的两个是最常见的。

评论


然后是一些网络管理员,他们手动分配的IPv6地址的主机部分等于主机的IPv4地址...。

–迈克尔·汉普顿
18年9月9日在16:14

谢谢!是否存在有效的用例来手动分配主机部分等于主机IPv4地址的IPv6地址?我可以清楚地看到在IPv6地址网络部分中使用IPv4地址的倒数第二个字节的好处(仅在/ 24 IPv4网络的情况下才有效),但是我几乎看不到将IPv4地址放入IP地址的主机部分的好处。 IPv6地址。即使接口上有多个IPv4地址(例如192.0.2.22/24和192.0.2.25/24)并且需要相同数量的IPv6地址,也应该从网络开始就使用这些地址。

–马丁
18年11月9日在17:21

@Martin通常将它们分配为额外的地址,这样可以更轻松地记住IP地址的SSH。

–克莱里斯-谨慎乐观-
18年9月9日在18:22

我可以想到IPv4地址中嵌入的IPv4地址的其他四种情况,但没有一种是使用该符号的理想选择。 :: 192.168.0.1是通常使用此表示法编写的示例,但不赞成使用该前缀。 6to4网关和Teredo服务器地址的IPv4地址嵌入在IPv6地址中,但不是最后32位,因此它们不是此表示法的候选对象。 Teredo客户端地址被嵌入到最后32位中,但是这些位被取反,因此将这些表示法用于这些地址会造成混淆。还有其他例子吗?

–卡巴斯德
18年11月9日23:04

@Martin唯一真正的“好处”是释放管理员头空间,但是DNS可以更好地实现此目的,当然,手动寻址的缺点在IPv6中比IPv4更为明显。

–迈克尔·汉普顿
18年9月9日23:36