《深入解析IPv6(第3版)》——2.7 支持IPv6的工具

2.7 支持IPv6的工具

Windows包括了如下支持IPv6的命令行工具,而这些工具也是网络故障修理中最常用的。

  • ipconfig。
  • route。
  • ping。
  • tracert。
  • pathping。
  • netstat。

2.7.1 ipconfig
ipconfig用于显示所有当前网络的配置参数配置,它一般用于执行一些维护任务,比如刷新DHCP和DNS设置等。在Windows系统中,不带参数的ipconfig命令用来显示所有分配有地址的物理网络适配器和隧道接口的IPv4和IPv6配置。

运行Windows Server 2012的计算机上ipconfig命令的示例如下:

Windows IP Configuration
Ethernet adapter Wired Ethernet Connection:
  Connection-specific DNS Suffix .  : ecoast.example.com
  IPv6 Address. . . . . . . . . . . : 2001:db8:21da:7:713e:a426:d167:37ab
  Temporary IPv6 Address. . . . . . : 2001:db8:21da:7:5099:ba54:9881:2e54
  Link-local IPv6 Address . . . . . : fe80::713e:a426:d167:37ab%6
  IPv4 Address. . . . . . . . . . . : 157.60.14.11
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . : fe80::20a:42ff:feb0:5400%6
                      157.60.14.1
Tunnel adapter IPHTTPSInterface:
  Media State . . . . . . . . . . .  : Media disconnected
  Connection-specific DNS Suffix .   :
Tunnel adapter Teredo Tunneling Pseudo-Interface:
  Media State . . . . . . . . . . .  : Media disconnected
  Connection-specific DNS Suffix .   :

ipconfig.exe会将IPv6在IPv4地址之前显示出来,并用如下标签标识出IPv6地址的类型。

  • IPv6地址:具有一个随机指定的永久接口ID的全局地址。
  • 临时IPv6地址:具有一个随机指定的接口ID的全局地址,这个接口ID生存时间比较短。
  • 本地链路IPv6地址:带有对应的区域ID(即接口的索引)的链路本地地址。

如需进一步了解有关不同类型IPv6地址和区域ID的内容,请参阅第3章。

默认情况下,在Windows Server 2008和Windows Vista中包含星号(*)的接口名称是隧道接口。

在Windows Server 2012和Windows 8中,Windows PowerShell命令Get-NetIPConfiguration相当于ipconfig命令。

2.7.2 route
route工具用于显示本地IPv4和IPv6路由表中的条目,并对这些条目进行修改。当运行route print命令时,route工具会同时显示出IPv4和IPv6路由表。如下是在Windows Server 2012的计算机上运行route print命令所显示出的IPv6部分的路由表:

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination  Gateway
  8 286 ::/0              fe80::3cec:bf16:505:eae6
  1 306 ::1/128            On-link
  8  38   2001:db8::/64      On-link
  8 286    2001:db8::4074:2dce:b313:7c65/128
                    On-link
  8 286 2001:db8::b500:734b:fe5b:3945/128
                    On-link
  8 286 fe80::/64            On-link
  17 296 fe80::5efe:10.0.0.3/128 On-link
  8 286 fe80::b500:734b:fe5b:3945/128
                    On-link
  1 306 ff00::/8            On-link
  8 286 ff00::/8            On-link
===========================================================================
Persistent Routes:
None

用户可以通过route.exe的route add、route change以及route delete命令,修改IPv6路由表中的条目。

如需进一步了解有关IPv6路由表的内容,请参阅第10章。

2.7.3 ping
在以前的Windows版本中,ping工具通过向另一台TCP/IP计算机发送ICMP(Internet控制消息协议)Echo消息来验证它们之间在IPv4层的连通性。它会将接收到的相应Echo Reply消息显示出来,同时也会显示往返的时间。ping是用于检测可达性和域名解析的主要TCP/IP工具。

Windows中的Ping工具得到了增强,能够在如下方面支持IPv6。

  • ping可以使用ICMPv4 Echo或ICMPv6 Echo请求消息来验证两台设备基于IPv4或基于IPv6的连通性。
  • ping可以同时解析IPv4和IPv6地址格式。
  • 如果通过域名来指定目的主机,那么利用Windows域名解析技术返回的地址会同时包括IPv4和IPv6地址,在这种情况下,默认优先选择IPv6地址(取决于源地址和目的地址的选择)。

下面是在一台Windows Server 2012计算机上对一个IPv6地址运行Ping命令的显示结果:

F:\>ping 2001:db8:1:f282:dd48:ab34:d07c:3914
Pinging 2001:db8:1:f282:dd48:ab34:d07c:3914 from
 2001:db8:1:f282:3cec:bf16:505:eae6 with 32 bytes of data:
Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms
Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms
Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms
Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms
Ping statistics for 2001:db8:1:f282:dd48:ab34:d07c:3914:
 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
 Minimum = 0ms, Maximum = 0ms, Average = 0ms

下列命令行参数支持IPv6。

  • -i HopLimit:设置IPv6协议头中跳数限制字段(Hop Limit Field)的值。默认值是128。-i选项也可以用于设置IPv4协议头中生存时间(TTL)字段的值。
  • -R:强制Ping追踪来回往返的路径,实现方法是通过向目的地址发送ICMPv6 Echo请求消息,并在其中包含IPv6扩展路由头部,使发送节点作为下一个目的设备。
  • -S SourceAddr:强制ping使用指定的IPv6源地址。
  • -4:当查询主机域名时,DNS域名查询系统同时返回IPv4地址和IPv6地址时,强制ping使用IPv4地址。
  • -6:当查询主机域名时,DNS域名查询系统同时返回IPv4地址和IPv6地址时,强制ping使用IPv6地址。

注释

ping的-f、-v TOS、-r count、-s count、-j host-list,以及-k host-list命令行参数不支持IPv6协议。
为ping、tracert或者pathping命令指定目的IPv6地址时,可能需要同时指定区域ID(作为目的地址的一部分)。区域ID,也称为作用域ID,标识了拥有特定作用域的网络直连区域。指定区域ID的语法是IPv6Address%ZoneID,其中的ZoneID是整型值。对于典型的链路本地地址,ZoneID等于发送接口的接口索引值,这个值可以通过在Windows PowerShell中输入命令Get-NetIPInterface(仅适用于Windows Server 2012和Windows 8)或者在命令行中输入netsh interface ipv6 show interface命令显示出来。当目的地址是全局地址时,无需ZoneID参数。

2.7.4 tracert
tracert工具可以用来判断出到达目的地址的路径。在IPv4中,tracert会向目的地址发送ICMPv4 Echo消息,而该数据包中的TTL字段的值会逐渐增大。在IPv6中,tracert会向目的地址发送ICMPv6 Echo请求消息,同时使该数据包中的跳数限制字段的值逐渐增大。tracert会以列表的形式显示源主机与目的主机间的路径中的相邻路由接口。

Windows中的tracert工具得到了增强,并在如下方面支持IPv6。

tracert能同时解析IPv4和IPv6地址格式。
如果通过域名来指定目的主机,那么利用Windows域名解析技术返回的地址会同时包括IPv4和IPv6地址,在这种情况下,默认优先选择IPv6地址(取决于源地址和目的地址的选择)。
下面是在一台Windows Server 2012计算机上运行tracert工具所显示的结果:

F:\>tracert 2001:db8:1:f282:dd48:ab34:d07c:3914
Tracing route to 2001:db8:1:f282:dd48:ab34:d07c:3914 over a maximum of 30 hops
  1 <1 ms <1 ms <1 ms 2001:db8:1:f241:2b0:d0ff:fea4:243d
  2 <1 ms <1 ms <1 ms 2001:db8:1:f2ac:2b0:d0ff:fea5:d347
  3 <1 ms <1 ms <1 ms 2001:db8:1:f282:dd48:ab34:d07c:3914
Trace complete.

下列命令行参数可以支持IPv6。

  • -R:强制tracert追踪来回往返的路径,实现方法是通过向目的地址发送ICMPv6 Echo请求消息,并在其中包含IPv6扩展路由头部,使发送节点作为下一个目标设备。
  • -S SourceAddr:强制tracert使用指定的IPv6源地址。
  • -4:当查询主机域名时,DNS域名查询系统同时返回IPv4地址和IPv6地址时,强制tracert使用IPv4地址。
  • -6:当查询主机域名时,DNS域名查询系统同时返回IPv4地址和IPv6地址时,强制tracert使用IPv6地址。

注释

tracert的-j host-list命令行参数不支持IPv6协议。
2.7.5 pathping
pathping工具可以提供数据包在源和目的之间跳转时的网络延迟以及数据丢失的信息。对于IPv4,pathping会在某一时段将多个ICMPv4 Echo消息发送到源和目的之间的每台路由器,然后根据各个路由器返回的包计算结果。对于IPv6,pathping则会发送ICMPv6 Echo请求消息。由于pathping可以显示任意指定路由器或链路的丢包程度,因此它可以用于判断哪个路由器或子网可能出现了问题。pathping会采用与tracert相同的手段,以找出路径中存在哪些路由器,然后在一段时间内周期性地发送信息到所有路由器,并根据每个路由返回的数据算出结果。

Windows中的pathping工具得到了增强,并在如下方面支持IPv6。

  • tracert能同时解析IPv4和IPv6地址格式。
  • 如果通过域名来指定目的主机,那么利用Windows域名解析技术返回的地址会同时包括IPv4和IPv6地址,在这种情况下,默认优先选择IPv6地址(取决于源地址和目的地址的选择)。

下面是在一台Windows Server 2012计算机上运行pathping工具所显示的结果:

F:\>pathping 2001:db8:1:f282:dd48:ab34:d07c:3914
Tracing route to 2001:db8:1:f282:dd48:ab34:d07c:3914 over a maximum of 30 hops
  0 server1.example.microsoft.com [2001:db8:1:f282:204:5aff:fe56:1006]
  1 2001:db8:1:f282:dd48:ab34:d07c:3914
Computing statistics for 25 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
  0                                            server1.example.microsoft.com
[2001:db8:1:f282:204:5aff:fe56:1006]

  0/ 100 = 0%   |

  1    0ms    0/  100 =  0%         0/ 100 =  0% 2001:db8:1:f282:dd48:ab34:d07c:
3914
Trace complete.

下列pathping命令行选项支持IPv6。

  • -4:当查询主机域名时,DNS域名查询系统同时返回IPv4地址和IPv6地址时,强制Pathping使用IPv4地址。
  • -6:当查询主机域名时,DNS域名查询系统同时返回IPv4地址和IPv6地址时,强制Pathping使用IPv6地址。

注释

pathping的-g host-list命令行参数不支持IPv6协议。
2.7.6 netstat
netstat工具能够显示以下内容:处于活动状态的TCP连接、计算机侦听的端口、以太网数据、IPv4路由表、IPv4统计数据(如IP、ICMP、TCP和UDP等协议的相关信息)、IPv6路由表和IPv6统计数据(如IPv6、ICMPv6、IPv6的TCP和IPv6的UDP等协议的相关信息)。

下面是在一台Windows Server 2012计算机上运行netstat工具所显示的结果:

F:\>netstat -s
IPv4 Statistics

Packets Received          = 187107
 Received Header Errors      = 0
 Received Address Errors      = 84248
 Datagrams Forwarded        = 0
 Unknown Protocols Received    = 0
 Received Packets Discarded    = 0
 Received Packets Delivered    = 186194
 Output Requests          = 27767
 Routing Discards          = 0
 Discarded Output Packets      = 0
 Output Packet No Route      = 0
 Reassembly Required        = 0
 Reassembly Successful        = 0
 Reassembly Failures        = 0
 Datagrams Successfully Fragmented  = 0
 Datagrams Failing Fragmentation  = 0
 Fragments Created          = 0
IPv6 Statistics
 Packets Received          = 53118
 Received Header Errors      = 0
 Received Address Errors      = 0
 Datagrams Forwarded        = 0
 Unknown Protocols Received    = 0
 Received Packets Discarded    = 0
 Received Packets Delivered    = 0
 Output Requests          = 60695
 Routing Discards          = 0
 Discarded Output Packets      = 0
 Output Packet No Route      = 0
 Reassembly Required        = 0
 Reassembly Successful        = 0
 Reassembly Failures        = 0
 Datagrams Successfully Fragmented  = 0
 Datagrams Failing Fragmentation  = 0
 Fragments Created          = 0
ICMPv4 Statistics
                  Received Sent

 Messages          682    881
 Errors            0    0
 Destination Unreachable  2    201
 Time Exceeded        0    0
 Parameter Problems    0    0
 Source Quenches      0    0
 Redirects          0    0
 Echos            340    340
 Echo Replies        340    340
 Timestamps        0    0
 Timestamp Replies      0    0
 Address Masks        0    0
 Address Mask Replies    0    0
ICMPv6 Statistics
 Received  Sent
 Messages          309    80
 Errors            0    0
 Destination Unreachable  193    0
 Echos            4    0
 Echo Replies        0    4
 MLD Reports        0    6
 Router Solicitations    0    7
 Router Advertisements    54    0
 Neighbor Solicitations  31    32
 Neighbor Advertisements  27    31
TCP Statistics for IPv4
 Active Opens            = 128
 Passive Opens            = 106
 Failed Connection Attempts    = 0
 Reset Connections          = 3
 Current Connections        = 16
 Segments Received          = 22708
 Segments Sent            = 26255
 Segments Retransmitted      = 37
TCP Statistics for IPv6
 Active Opens            = 74
 Passive Opens            = 72
 Failed Connection Attempts    = 1
 Reset Connections          = 0
 Current Connections        = 14
 Segments Received        = 52809
 Segments Sent          = 59813
 Segments Retransmitted    = 3
UDP Statistics for IPv4
 Datagrams Received      = 160982
 No Ports            = 2158
 Receive Errors        = 2
 Datagrams Sent        = 591
UDP Statistics for IPv6
 Datagrams Received      = 0
 No Ports            = 0
 Receive Errors        = 0
 Datagrams Sent        = 744
时间: 2024-09-07 16:44:34

《深入解析IPv6(第3版)》——2.7 支持IPv6的工具的相关文章

iOS支持IPV6

iOS应用支持IPV6,就那点事儿 果然是苹果打个哈欠,iOS行业内就得起一次风暴呀.自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6. 一.IPV6-Only支持是啥? 首先IPV6,是对IPV4地址空间的扩充.目前当我们用iOS设备连接上Wifi.4G.3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IPV6 DNS64/NAT64网络之后

《设计模式解析(第2版•修订版)》目录—导读

作者简介 设计模式解析(第2版•修订版) Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO.他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询.培训和软件开发的经验,并经常受邀在重要的软件开发会议(包括SD Expro.Java One.OOP和OOPSLA)上演讲. James R. Trott 美国一家大型金融机构的资深顾问.他是应用数学科学硕士.MBA和跨文化研究硕士.在其20年的职业生涯中,他一直将面向对象和基于模式的分析技术运用在知识

《设计模式解析(第2版•修订版)》—第1章 1.6节面向对象范型

1.6 面向对象范型 设计模式解析(第2版•修订版) 使用对象将责任转移到更局部的层次 面向对象范型以对象概念为中心,一切都集中在对象上.编写代码时是围绕对象而非函数进行组织的. 对象是什么?对象传统上被定义为带有方法(面向对象领域称呼函数的术语)的数据.糟糕的是,这是一种非常有局限性的对象观.稍后我会给出一个更好的对象定义(在第8章中还会谈到).我说到对象的数据时,可能指数值和字符串这样的简单事物,也可能指其他对象. 使用对象的优点在于,可以定义自己负责自己的事物(参见表1-2).对象天生就知

《设计模式解析(第2版•修订版)》—第1章 1.2节面向对象范型之前:功能分解

1.2 面向对象范型之前:功能分解 设计模式解析(第2版•修订版) 功能分解是一种处理复杂问题的自然方法 让我们从对一种常用的软件开发方法的考察开始吧.如果给你一个任务,要编写一段代码,访问在数据库中存储的形状描述然后显示出来.按照所需要的步骤来思考,是一种很自然的选择.比如,你可能认为应该按照以下步骤解决这个问题. 1.在数据库中找到形状列表. 2.打开形状列表. 3.按某种规则将列表排序. 4.在显示器上显示各个形状. 还可以选取以上任意一个步骤,进一步分解成实现所必需的若干步.例如,可以将

《设计模式解析(第2版•修订版)》—第2章 复习题

复习题 设计模式解析(第2版•修订版)简答题 1. is-a关系和has-a关系之间的区别是什么?两种"关联"关系又是什么? 2.在类图中,类是用方框表示的,可以有三部分.请描述这三部分. 3.给出重数的定义. 4.顺序图的用途是什么? 阐述题 1. 给出is-a关系和两种"关联"关系的例子.对这些例子: (1) 在类图中画出: (2) 在类图中显示重数. 2.图2-8是一个顺序图.此图中显示了多少步骤?显示了多少对象,都是哪些对象? 3.当对象互相交流时,为什么说

关于环信2.2.5iOS版支持ipv6的问题

问题描述 最近替程序更换环信2.2.5的sdk,在ipv6环境下测试登录时使用[[EaseMob sharedInstance].chatManager asyncLoginWithUsername:这个方法,回调超时并且loginInfo返回nil,打印信息 "EMConfigManager::fetchHostsFromServer:andServerId: -- path:http://***.***.***.***--  error: 连接建立失败." http后面的*是一串i

《设计模式解析(第2版•修订版)》—第1章 1.5节应对需求变更

1.5 应对需求变更设计模式解析(第2版•修订版)日常生活中人们如何做事? 为了找出解决需求变更问题的办法,弄清功能分解有没有其他替代方法,我们先来看看日常生活中人们是如何做事的.假设你是要在一个会议1上担任讲师,听课的人在课后还要去听其他课,但他们不知道下一堂课的听课地点.你的责任之一,就是确保大家都知道下一堂课去哪里上. 如果按照结构化程序设计的方法,可以按以下的要求做. 1.获得听课人的名单. 2.对于名单上的每个人,做以下工作. a.找到他或者她要听的下一堂课. b.找到该课的听课地点.

《设计模式解析(第2版•修订版)》—第1章 1.4节应对变化:使用功能分解

1.4 应对变化:使用功能分解设计模式解析(第2版•修订版)用模块化封装变化 更进一步地来看"显示形状"问题.怎样编写代码才能更容易地应付多变的需求呢?与其编写一个大函数,不如使之更加模块化. 例如,在前面提到的步骤4c"以形状的位置作为参数,调用显示形状的函数"中,可以写一个例1-1所示的模块. 例1-1 用模块化封装变化 函数:显示形状输入:形状类型,形状描述操作: switch (形状类型) case 方形:调用显示方形的函数 case 圆形:调用显示圆形的函

《设计模式解析(第2版•修订版)》—第1章 1.7节面向对象程序设计实践

1.7 面向对象程序设计实践设计模式解析(第2版•修订版)我们再次考察一下本章开始讨论的形状实例.怎样用面向对象的方式实现它呢?请记住,我们必须完成以下任务. 1.在数据库中找到形状列表. 2.打开形状列表. 3.按某种规则将列表排序. 4.在显示器上显示各个形状. 为了用面向对象方式解决这个问题,我需要定义一些对象和这些对象具有的责任. 在Shape程序中使用对象 所需要的对象如下表所示. 运行程序现在主程序的步骤应该与下面给出的类似. 1.主程序创建一个数据库(ShapeDataBase)对