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

时间:2011-06-23 20:03:29

标签: c# .net ip-address ipv6 system.net

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

 IPAddress.IsIPv6LinkLocal
 IPAddress.IsIPv6Multicast
 IPAddress.IsIPv6SiteLocal
 IPAddress.IsIPv6Teredo

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

3 个答案:

答案 0 :(得分:8)

IPAddress.IsIPv6LinkLocal

  

链路本地地址是IP地址   这只是为了   当地的沟通   子网。路由器不转发   带有链路本地地址的数据包。

IPAddress.IsIPv6Multicast

  

多播地址是合乎逻辑的   一组主机的标识符   计算机网络,可用   处理数据报或帧   打算多播一个   指定的网络服务。组播   寻址可以在链接中使用   层(OSI模型中的第2层),例如   作为以太网多播,并在   Internet层(OSI的第3层)   Internet协议版本4(IPv4)或   版本6(IPv6)多播。

IPAddress.IsIPv6SiteLocal

  

唯一的本地地址(ULA)是   块fc00 :: / 7中的IPv6地址,   在RFC 4193中定义。它是IPv6   IPv4私有的对应物   地址。唯一的本地地址是   可在私人网络中使用,   例如在一个网站内或   组织,或跨越有限的   网站或组织的数量。他们   在全球IPv6中不可路由   因特网。

IPAddress.IsIPv6Teredo

  

在计算机网络中,Teredo是一个   充分发挥过渡技术   支持IPv6的IPv6连接   IPv4 Internet上的主机   但是没有直接原生的   连接到IPv6网络。   与其他类似协议相比   它的显着特点是它   能够甚至执行其功能   从网络地址后面   翻译(NAT)设备,如家庭   路由器。

答案 1 :(得分:4)

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

现在使用Unique Local Addresses(ULA)代替Site Local。 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::

它无法识别ULA Central:

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

Address           :
AddressFamily     : InterNetworkV6
ScopeId           : 0
IsIPv6Multicast   : False
IsIPv6LinkLocal   : False
IsIPv6SiteLocal   : False
IPAddressToString : fc00::

或本地指定的ULA:

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

Address           :
AddressFamily     : InterNetworkV6
ScopeId           : 0
IsIPv6Multicast   : False
IsIPv6LinkLocal   : False
IsIPv6SiteLocal   : False
IPAddressToString : fd00::

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

答案 2 :(得分:0)