本文介绍如何使用命令行工具获取运行 Microsoft Windows XP Service Pack (SP)Windows Server Windows Vista或 Windows Server 的计算机的 IPv 配置详情
介绍 IPv 配置
IPv 配置主要由以下几个部分组成
分配给每个接口的 IPv 地址
默认路由器(IPv 中称为默认网关)
域名系统 (DNS) 设置(比如DNS 服务器和名称注册行为)
不同于典型的 IPv 节点典型的 IPv 节点拥有多个接口(LAN 和隧道接口)以及分配给每个接口的多个地址
注意IPv 并不使用网络基本输入/输出系统 (NetBIOS)所以IPv 配置不需要 NetBIOS 设置或 Windows Internet Name Service (WINS) 服务器的地址
IPv 地址
IPv 中的地址配置比 IPv 更加复杂因为存在着不同类型的 IPv 地址并且这些地址可以不同的状态存在
不同类型的 IPv 地址
对 IPv 定义的地址类型如下
全局地址 类似公共 IPv 地址IPv 全局地址在 Internet 的 IPv 部分中全局可访问全局 IPv 地址通常以或开头
链路本地 (Linklocal) 地址 类似自动专用 IP 寻址 (APIPA) 地址 (/)链路本地地址用于特定的链路链路本地地址通常以fe开头
站点本地 (Sitelocal) 地址 类似专用 IPv 地址站点本地地址用于企业的 Intranet并可重复用于企业的不同站点站点本地地址通常以fecfedfee或fef开头RFC 并不推荐使用站点本地地址但是这种地址可用于当今的 IPv 实现
链路本地地址和站点本地地址被称为本地使用的地址
接口 ID(单播 IPv 地址的最后 位)可以
基于已安装的网络适配器的 IEEE 地址
IEEE 地址(通常称为媒体访问控制 [MAC] 地址)共有 位分配给每个网络适配器扩展唯一标识符 (EUI) 地址是一种较新的 位 MAC 地址IEEE 地址可以转换为 EUI 地址单播 IPv 地址的接口 ID 可以基于网络适配器的 EUI 地址
随机生成
RFC 定义了临时的 IPv 地址这些地址使用一个随机生成的接口 ID 和一个相对较短的有效生命期临时 IPv 地址通常由发起通信的客户端应用程序(比如Web 浏览器)使用并且不在 DNS 中进行注册公共 IPv 地址通常由服务器应用程序(比如Web 服务器)用于传入的连接并且不在 DNS 中进行注册公共 IPv 地址可拥有随机生成的或基于 EUI 的接口 ID
本地使用的 IPv 地址的区域 ID
不同于全局地址链路本地和站点本地地址前缀均可以重复使用链路本地地址前缀重复用于每个链路站点本地地址前缀可重复用于企业的每个站点由于地址前缀可重复使用因此链路本地和站点本地地址并不明确为了对链路或站点分别指定链路本地地址或站点本地地址IPv 使用了另一个称为区域标识符 (ID)(也称为作用域 ID)的标识符区域 ID 可指定区域即具有指定作用域的网络连接部分
RFC 中指定用于识别与本地使用的地址相关联的区域的语法如下
地址%区域_ID
地址 是本地使用的地址而 区域_ID 则是代表区域的整数值区域 ID 的值是根据主机来定义的因此不同的主机可能会对相同的物理区域确定不同的区域 ID 值譬如主机 A 可能选择数字 来代表一个附加链路的区域而主机 B 可能会选择数字 来代表相同的链路
对于基于 Windows 的 IPv 主机本地使用的地址的区域 ID 定义如下
对于链路本地地址区域 ID 通常为分配了地址或用作链路本地目标的发送接口的接口的接口索引接口索引是分配给 IPv 接口(包含一个环回以及一个或多个隧道或 LAN 接口)的以数字 起始的整数可以通过 netsh interface ipv show interface 命令查看接口索引列表
对于站点本地地址区域 ID 就是站点 ID即分配给企业站点的整数值对于不重复使用站点本地地址前缀的企业站点 ID 被默认设为 并且无需指定可以通过 netsh interface ipv show address level=verbose 命令查看站点 ID
使用 Windows 工具和区域 ID 的具体示例如下
ping fe::b:dff:fee:%
此处 为附加在包含目标地址的链路上的接口的接口索引
tracert fec::f:b:dff:fee:%
此处 为包含目标地址的企业站点的站点 ID
有关区域 ID 如何表示为分配地址的一部分的具体例子请在本文中参阅Ipconfigexe 工具中的 IPv 配置部分的内容
IPv 地址的状态
IPv 主机一般通过与路由器交互并执行无状态 IPv 地址自动配置自动配置 IPv 地址验证完唯一性之后自动配置的地址可能有以下这几种状态
有效 通过唯一性验证的地址可用于发送和接收单播流量自动配置的地址拥有路由器分配的有效生命期
首选 可用于新通信的有效地址自动配置的地址拥有路由器分配的首选生命期
已否决 不可用于新通信的有效地址现有的通信会话仍可使用已否决的地址
无效 无法再供节点用于发送或接收流量的地址在有效的生命期到期后地址将进入无效的状态
IPv 默认路由器
正如 IPv 主机IPv 主机通常在其子网(用于接收所有远程流量)上配置有一个或多个路由器的地址在 IPv 中默认路由器自动通过路由器发现进行配置并且默认路由器的地址即 IPv 路由器在本地子网上的接口的链路本地地址默认路由器的配置还在 IPv 路由表中创建了一个默认路由对于通过多个接口执行路由器发现的 IPv 节点(比如使用 LAN 连接和站内自动隧道寻址协议 [ISATAP])路由表中将有多个默认路由器和多个默认路由
IPv DNS 设置
根据主机配置以及 DNS 和路由基础结构基于 Windows 的主机可通过 IPv 或 IPv将 DNS 查询发送给 DNS 服务器默认情况下基于 Windows 的主机使用动态主机配置协议 (DHCP) 对 DNS 服务器配置的 IPv 地址通过 IPv 发送 DNS 查询运行 Windows XPWindows Server Windows Vista 或 Windows ServerLonghorn的计算机可使用以下地址通过 IPv 发送 DNS 查询
DNS 服务器的本地配置的单播地址
使用 netsh interface ipv add dns 命令对主机配置 DNS 服务器的 IPv 地址对于运行 Windows Vista 或 Windows ServerLonghorn的计算机可以在连接和适配器文件夹中通过 Internet 协议版本 (TCP/IPv) 组件的属性配置具有 IPv 地址的 DNS 服务器
DNS 服务器的已知单播地址(fec:::ffff::fec:::ffff:: 和 fec:::ffff::)
对 DNS 服务器手动配置已知单播地址并对路由基础结构添加主路由从而可以从运行 Windows XPWindows Server Windows Vista 或 Windows ServerLonghorn的 IPv 主机访问 DNS 服务器
Windows Vista 和 Windows ServerLonghorn支持面向 IPv 的动态主机配置协议 (DHCPv)可通过 DNS 递归名称服务器 DHCPv 选项分配 DNS 服务器的 IPv 地址这是对运行 Windows Vista 或 Windows ServerLonghorn的计算机配置 DNS 服务器 IPv 地址的首选方法
Ipconfigexe 工具提供的 IPv 配置信息
下面几个小节介绍了针对 Windows XP SP 和 Windows Vista 的 Ipconfigexe 工具所显示的 IPv 配置示例
针对 Windows XP SP 的 Ipconfigexe
下面为 ipconfig 命令在运行 Windows XP SP 的计算机上所显示的信息示例
WindowsIPConfiguration EthernetadapterLocalAreaConnection: ConnectionspecificDNSSuffix:IPAddress: SubnetMask:IPAddress: ffe:ffff:da::c:cc::bcIPAddress: ffe:ffff:da::c:fe:cd:adebIPAddress: ffe:ffff:da::aa:db:cc:bdIPAddress: ffe:ffff:da:::aff:fe:fbIPAddress:fe:::aff:fe:fb% DefaultGateway:fe::a:ff:feb:% TunneladapterTeredoTunnelingPseudoInterface: ConnectionspecificDNSSuffix:IPAddress:fe::::f% DefaultGateway: TunneladapterAutomaticTunnelingPseudoInterface: ConnectionspecificDNSSuffix:IPAddress: fec::ab::efe:%IPAddress: ffe:ffff:c:ff::efe:IPAddress: fe::efe:%DefaultGateway:fe::efe:%以下几个小节分析了每个接口的 IPv 配置
Ethernet adapter Local Area Connection(以太网适配器本地连接)
对于分配给 Local Area Connection 接口的 IPv 地址前四个都是全局地址而最后一个则是链路本地地址在四个全局地址中前三个都是临时地址而最后一个则是公共地址可以通过查看地址的第六和第七个字符块是否包含ff:fe(表示基于 EUI 的接口 ID)确定哪个地址为公共地址Ipconfig 命令所显示的链路本地地址 (fe:::aff:fe:fb%) 包含链路本地地址 (fe:::aff:fe:fb) 以及分配了该地址的接口的区域 ID (%)(Local Area Connection 接口的接口索引)
在 ipconfig 命令所显示的信息中通过该接口分配的默认路由器(显示为默认网关) (fe::a:ff:feb:%) 包含默认路由器的链路本地地址 (fe::a:ff:feb:) 以及可通过其访问该地址的接口的区域 ID (%)
Tunnel adapter Teredo Tunneling PseudoInterface(隧道适配器 Teredo 隧道虚拟接口)
该隧道适配器面向 Teredo—— 一种通过网络地址转换器 (NAT) 发送 IPv 封装的 IPv 数据包的 IPv 转换技术对于该主机Teredo 并未处于活动状态而且对隧道适配器 Teredo 隧道虚拟接口分配了链路本地地址 fe::::f 以及针对 Teredo 隧道接口的区域 ID
Tunnel adapter Automatic Tunneling PseudoInterface(隧道适配器自动隧道虚拟接口)
该隧道适配器面向 ISATAP—— 一种通过 Intranet 发送 IPv 封装的 IPv 数据包的 IPv 转换技术第一个 IPv 地址为站点本地地址区域 ID 为 表示该地址所属的站点 ID第二个地址为全局地址而第三个地址则为链路本地地址其区域 ID 为 表示自动隧道虚拟接口的接口索引
针对 Windows Vista 的 Ipconfigexe
下面为 ipconfig 命令在运行 Windows Vista 的计算机上所显示的信息示例
WindowsIPConfiguration EthernetadapterLocalAreaConnection: ConnectionspecificDNSSuffix:IPvAddress: ffe:ffff:da::e:a:d:abTemporaryIPvAddress: ffe:ffff:da:::ba::eLinklocalIPvAddress: fe::e:a:d:ab%IPvAddress:SubnetMask :DefaultGateway:fe::a:ff:feb:% TunneladapterLocalAreaConnection*: ConnectionspecificDNSSuffix:IPvAddress: ffe:ffff:c:ff::efe: LinklocalIPvAddress:fe::efe:%SitelocalIPvAddress: fec::ab::efe:%DefaultGateway:fe::efe:% fe::efe:% TunneladapterLocalAreaConnection*: MediaState:MediadisconnectedConnectionspecificDNSSuffix:在 Windows Vista 中Ipconfigexe 所显示的 IPv 地址信息有了很大的改观下面几个小节分析了每个接口的 IPv 配置
Ethernet adapter Local Area Connection
Ipconfigexe 如今将 IPv 地址显示在 IPv 地址之前并使用下列标签指明 IPv 地址的类型
IPv Address 公共 IPv 地址与 Windows XP SP 不一样Windows Vista 对公共和链路本地 IPv 地址默认使用随机派生的接口 ID
Temporary IPv Address 具有较短的有效生命期且带有随机派生的接口 ID 的全局地址
Linklocal IPv Address 带有相应的区域 ID(接口索引)的链路本地地址
Sitelocal IPv Address 带有相应的区域 ID(站点 ID)的站点本地地址
Tunnel adapter Local Area Connection*
该隧道适配器面向 ISATAP——由efe和点分十进制格式的 IPv 地址表示在每个分配地址的接口 ID 部分中第一个 IPv 地址为公共地址第二个地址为链路本地地址其区域 ID 为 表示 Local Area Connection* 接口的接口索引(接口名称中的*表示隧道接口)第三个 IPv 地址为站点本地地址区域 ID 为 表示该地址所属的站点 ID
Tunnel adapter Local Area Connection*
该隧道适配器用于 Teredo对于该主机Teredo 已被禁用而接口处于断开连接的状态下
Routeexe 工具提供的 IPv 配置信息
在 Windows Server Windows Vista 和 Windows ServerLonghorn中可以使用 Routeexe 工具显示 IPv 路由表以下为针对 Windows Server 的 route print 命令所显示的信息示例的 IPv 部分
IPvRouteTable=========================================================================== InterfaceListafaLinksysLNETXFastEthernetAdapter(LNETXv) toPseudoInterfacedbecAutomaticTunnelingPseudo InterfaceLoopbackPseudoInterface =========================================================================== ===========================================================================ActiveRoutes:If MetricNetworkDestinationGatewayfec:::ff::/Onlink ffe:ffff::ff::/Onlink::/fe::efe: fec::ff::efe:/fec::ff::efe: ffe:ffff::ff::efe:/ffe:ffff::ff::efe: fe::efe:/fe::efe: ffe:ffff:::e:a:d:ab/ffe:ffff:::e:a:d:ab ffe:ffff::::/Onlink::/fe::a:ff:feb: fe::efe:/fe::efe:fe::efe:/ fe::efe:ff::/Onlink fe::e:a:d:ab/fe::e:a:d:ab::/ ::ff::/Onlinkfe::/fe:: ===========================================================================Persistent Routes:None上述显示信息的第一部分列出了各个 IPv 接口及其接口索引第二部分列出了各个路由这些路由可分类如下
前缀长度为 位 (/) 的路由为特定 IPv 目标的主路由默认情况下只有本地配置的 IPv 地址的主路由位于 IPv 路由表中
前缀长度为 位 (/) 的路由为本地附加子网的子网路由
::/ 路由为默认路由
ff::/ 为多播流量的路由
有关 IPv 路由表和 IPv 路由确定过程的详细信息请参阅认识 IPv 路由表
Netshexe 工具提供的 IPv 配置信息
还可以通过在 netsh 工具的 netsh interface ipv 上下文中使用以下命令获取 IPv 配置信息
netsh interface ipv show address
netsh interface ipv show interface
netsh interface ipv show routes
有关 Netsh 工具的详细信息请参阅通过 Netsh 管理 Windows 网络组件
Netsh interface ipv show address 命令
Netsh interface ipv show address 命令可显示分配给每个接口的 IPv 地址地址的类型重复地址检测 (DAD) 状态(首选或已否决)以及有效和首选的生命期下面为 netsh interface ipv show address 命令在运行 Windows Vista 的计算机上所显示的信息示例
Interface:LoopbackPseudoInterface AddrTypeDADStateValidLifePrefLifeAddress OtherPreferredinfiniteinfinite:: Interface:LocalAreaConnection* AddrTypeDADStateValidLifePrefLifeAddress OtherDeprecatedinfiniteinfinitefe::efe:% Interface:LocalAreaConnection AddrTypeDADStateValidLifePrefLifeAddress PublicPreferreddhmsdhms ffe:ffff:da::fe:e::bobTemporaryPreferreddhmsdhms ffe:ffff:da::a:ae:da:cc OtherPreferredinfiniteinfinitefe::e:a:d:ab% Interface:LocalAreaConnection* AddrTypeDADStateValidLifePrefLifeAddress OtherDeprecatedinfiniteinfinitefe::efe:%Netsh interface ipv show interface 命令
Netsh interface ipv show interface 命令可显示 IPv 接口的列表其中包括接口索引接口跃点数最大传输单位 (MTU)状态和名称下面为 netsh interface ipv show interface 命令在运行 Windows Vista 的计算机上所显示的信息示例
IdxMetMTUStateName enabledLoopbackPseudoInterface enabledLocalAreaConnection*enabledLocalArea ConnectionenabledLocalAreaConnection*disabledLocal AreaConnection
Netsh interface ipv show routes 命令
Netsh interface ipv show routes 命令可显示 IPv 路由表并包含有关路由是否已发布(若计算机充当广告路由器)和路由类型的信息下面为 netsh interface ipv show route 命令在运行 Windows Vista 的计算机上所显示的信息示例
PublishTypeMetPrefixIdx Gateway/InterfaceName No::/fe::a:ff:feb:No Manual::/LoopbackPseudoInterfaceNo ffe:ffff:da:::/LocalAreaConnectionNoManual ffe:ffff:da::fe:e::bob/LocalAreaConnectionNoManual ffe:ffff:da::a:ae:da:cc/LocalAreaConnectionNoManual fe::/LocalAreaConnectionNoManualfe::/ LocalAreaConnection*NoManualfe::/Local AreaConnection*NoManualfe::efe:/LocalAreaConnection* NoManualfe::efe:/LocalAreaConnection*NoManual fe::e:a:d:ab/LocalAreaConnection