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

本文关键字:实例 属性 IPAddress System Net 解释 | 更新日期: 2023-09-27 18:00:05

我在理解System.Net.IPAddress类时遇到了一点困难,因为我不知道在哪里可以找到一些属性所指的定义

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

我也很乐意接受一个指向解释这些概念的资源的答案。MSDN站点已被证明是不够的。

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

IPAddress.IsIPv6LinkLocal

链接本地地址是一个IP地址仅用于本地通信子网络。路由器不转发具有链接本地地址的数据包。

IPAddress.IsIPv6多播

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

IPAddress.IsIPv6SiteLocal

唯一本地地址(ULA)是块fc00::/7中的IPv6地址,在RFC 4193中定义。它是IPv6IPv4专用的对应方住址唯一的本地地址是可用于专用网络,例如在单个站点内,或者组织,或跨越有限网站或组织的数量。他们在全局IPv6中不可路由互联网

IPA地址.IsIPv6Teredo

在计算机网络中,Teredo是充分发挥支持IPv6的IPv6连接IPv4 Internet上的主机但没有直接的母语连接到IPv6网络。与其他类似协议相比它的显著特点是即使来自网络地址转换(NAT)设备,如家庭路由器。

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::

它不识别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::

请参阅https://www.rfc-editor.org/rfc/rfc4193了解更多详细信息。

对于链接本地和站点本地:

http://www.tcpipguide.com/free/t_IPv6SpecialAddressesReservedPrivateLinkLocalSiteLo-3.htm

对于链接本地、站点本地和多播(以及其他):

http://technet.microsoft.com/en-us/library/cc757359(WS.10).aspx

对于teredo:

http://technet.microsoft.com/en-us/library/bb457011.aspx

HTH