📜  IPv6-特殊地址(1)

📅  最后修改于: 2023-12-03 14:42:10.320000             🧑  作者: Mango

IPv6特殊地址

IPv6地址是用于唯一标识互联网上每个设备的地址。IPv6地址长度为128位,相比IPv4的32位地址,IPv6地址数量大幅增加,理论上可编址的设备数目超过了340亿亿亿亿(3.4×10^38)。除了普通的IPv6地址外,IPv6还定义了一些特殊的地址,用于特定场合和目的。

IPv6特殊地址类型

根据RFC 4291,IPv6特殊地址可以分为以下几类:

未指定地址

未指定地址通常用于表示一个IPv6地址尚未分配或者未知的情况。它的值为全0,表示“::”,长度为128位。

回环地址

回环地址通常用于网络设备内部进行自我测试和自我通信,类似于IPv4的127.0.0.1。IPv6的回环地址为“::1”,长度为128位。

文本格式地址

文本格式地址可以用来表示特殊情况下需要使用的IPv6地址。例如,特定的任播地址等。其中,文本格式地址可以是IPv4兼容地址、IPv4映射地址、IPv6多播地址等。

IPv4转换地址

IPv4转换地址是IPv6地址和IPv4地址之间的转换。它可以是IPv4映射地址、IPv4转换前缀地址等。IPv4映射地址是IPv6地址中前96位为0,接下来是IPv4地址的32位,共128位。IPv4转换前缀地址是IPv6地址中的一个前缀,用来和IPv4地址配合使用,以实现IPv4和IPv6之间的互通。

保留地址

保留地址用于特定的用途和场合,例如IPv6路由器接口标识符“::/64”等。

独立性地址

独立性地址是指仅供设备自用的IPv6地址,不与本地网络的公共前缀相重叠。它能够提供设备无需通过DHCPv6进行配置的便利,例如IPv6的“fe80::(Link-Local Address)”地址,它是由设备自动分配的,可以用来进行本地网络通信。

示例代码
// 未指定地址
IPAddress unspecifiedAddress = IPAddress.Parse("::");

// 回环地址
IPAddress loopbackAddress = IPAddress.Parse("::1");

// IPv4映射地址
IPAddress ipv4MappedAddress = IPAddress.Parse("::ffff:192.168.0.1");

// Link-Local Address
IPAddress linkLocalAddress = IPAddress.Parse("fe80::1");

// 独立性地址
IPAddress uniqueLocalAddress = IPAddress.Parse("fc00::1");

// 路由器接口标识符
IPAddress routerIdentifier = IPAddress.Parse("2001:db8::/64");