解释System.Net.IPAddress的实例属性

sma*_*man 6 .net c# system.net ip-address ipv6

我在理解System.Net.IPAddress课程时遇到了一些麻烦,因为我不知道在哪里寻找某些属性所指的定义.具体来说,是什么:

 IPAddress.IsIPv6LinkLocal
 IPAddress.IsIPv6Multicast
 IPAddress.IsIPv6SiteLocal
 IPAddress.IsIPv6Teredo
Run Code Online (Sandbox Code Playgroud)

我也很乐意接受一个解释这些概念的资源的答案.MSDN网站证明不足.

Cod*_*ked 8

IPAddress.IsIPv6LinkLocal

链路本地地址是仅用于本地子网内通信的IP地址.路由器不转发具有链路本地地址的数据包.

IPAddress.IsIPv6Multicast

多播地址是计算机网络中的一组主机的逻辑标识符,其可用于处理旨在针对指定网络服务进行多播的数据报或帧.多播寻址可以用于链路层(OSI模型中的第2层),例如以太网多播,以及用于因特网协议第4版(IPv4)或第6版(IPv6)多播的因特网层(第3层,用于OSI).

IPAddress.IsIPv6SiteLocal

唯一本地地址(ULA)是RFC 4193中定义的块fc00 ::/7中的IPv6地址.它是IPv4专用地址的IPv6对应物.唯一的本地地址可用于专用网络,例如在单个站点或组织内,或跨越有限数量的站点或组织.它们不能在全球IPv6 Internet中路由.

IPAddress.IsIPv6Teredo

在计算机网络中,Teredo是一种过渡技术,可为支持IPv6的主机提供完整的IPv6连接,这些主机位于IPv4 Internet上,但没有与IPv6网络的直接本机连接.与其他类似协议相比,它的显着特点是即使从后面的网络地址转换(NAT)设备(如家用路由器)也能够执行其功能.


San*_*ann 5

CodeNaked 的答案几乎是正确的,但请注意 IPAddress.IsIPv6SiteLocal。不推荐使用原始 IPv6 站点本地地址 (fec0::/10)。

如今,使用唯一本地地址 (ULA) 代替站点本地。ULA 有两种变体: fc00::/8 尚未定义,但将来可能会用于在中央位置 (ULA Central) 注册的内部使用地址。fd00::/8 正在使用中,不必在任何地方注册。此范围内的前缀是随机生成的。

不幸的是 IsIPv6SiteLocal 只检查原始弃用版本:

PS C:\Users\Administrator> [System.Net.IPAddress]'fec0::'

Address           :
AddressFamily     : InterNetworkV6
ScopeId           : 0
IsIPv6Multicast   : False
IsIPv6LinkLocal   : False
IsIPv6SiteLocal   : True
IPAddressToString : fec0::
Run Code Online (Sandbox Code Playgroud)

它不识别 ULA Central:

PS C:\Users\Administrator> [System.Net.IPAddress]'fc00::'

Address           :
AddressFamily     : InterNetworkV6
ScopeId           : 0
IsIPv6Multicast   : False
IsIPv6LinkLocal   : False
IsIPv6SiteLocal   : False
IPAddressToString : fc00::
Run Code Online (Sandbox Code Playgroud)

或本地分配的 ULA:

PS C:\Users\Administrator> [System.Net.IPAddress]'fd00::'

Address           :
AddressFamily     : InterNetworkV6
ScopeId           : 0
IsIPv6Multicast   : False
IsIPv6LinkLocal   : False
IsIPv6SiteLocal   : False
IPAddressToString : fd00::
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅http://tools.ietf.org/search/rfc4193