在网络故障修复中使用PING命令将有助于减小Windows PC连接问题原因的分析范围。本文中所介绍的TCP/IP诊断方法将有利于我们了解PING的使用语法,以及PING请求超时或者到达一个网络主机所表示的意思。本文还阐述了在命令行(CL)提示符窗口的问题诊断以及如何验证网络连接。
目前的网络硬件和软件可靠性越来越好,但是,尽管如此,有时侯也会出现问题。在本系列中,我将探讨一些故障修复技巧。当我们的Windows网络上的主机与其它网络主机之间出现连接问题时,我们可以使用这些技巧来解决问题。鉴于有些人接触TCP/IP协议的经验还较少,我将从基础开始阐述,然后逐步深入探讨更先进的技术。
验证网络连接
当一台主机与另外一台出现连接问题时,首先,我们必须收集一些关于问题的信息。特别是我们必须文档化主机的配置,找出主机是否与网络上其它的机器存在连接问题,以及该问题是否影响其它的主机。
比如,假设一个工作站与某个特定的服务器之间存在连接问题。实际上,问题本身并不会提供很多信息给我们。然而,当我们更深入地了解问题时,我们会发现工作站可能无法与任何一个网络服务器进行连接,因此,我们将会意识到要检查是否有断开的网络网线、坏的交换机端口,或者可能是网络配置问题。
同样,如果工作站能够与某些服务器通信,而不能与所有网络服务器进行通信,那么这就给我们查找问题的根源所在带来一些线索。在这种情况下,我们可能想检查不能连接的服务器有什么相同的配置。它们是否都在一个共用的子网上呢?如果是,那么,这就是路由问题了。
如果多个工作站都与某个特定的服务器之间存在连接问题,那么这就不是工作站的问题了,除非这些工作站都是最近进行过重新配置的。更可能的是,服务器本身工作不正常。
关键在于,通过几个基本的测试,我们就可以获得关于问题的大量信息。我将要介绍的测试将不会显示问题发生的原因,但是,它们将有助于缩小问题分析的范围,以便我们知道从哪里着手开始修复过程。
PING可能是已知的最简单的TCP/IP诊断方法,但是,它所提供的信息是非常重要的。简单而言,PING会告诉我们工作站是否可以与另一个机器连接。
我建议,首先打开一个命令提示窗口,然后输入PING命令,接着是存在连接问题的机器的IP地址。然后,所指定的机器将产生4个回复,如图A所示。
响应主要是告诉我们需要多久时间指定的机器会响应32字节的数据。比如,图A中4个响应中的每一个的接收时间都少于4毫秒。
通常,当我们输入PING命令,就可能会发生以下四个情况之一,而且每一个都有其自身的意义:
第一种情况是指定机器将产生4个回复。这就意味着工作站可以在TCP/IP层上与指定的主机进行通信。第二种情况是4个请求都超时了,如图B所示。在图A中,我们注意到每个响应都会在代表“使用期限”的TTL=128时间内结束。这就意味着,4个查询和响应都必须在128毫秒中完成。同时,TTL也会在传输路径的每一跳(hop)中递减。一跳指的是一个数据包从一个网络传输到另一个网络中。我将在在本系列的后面更详细地探讨跳。
无论如何,如果4个请求都超时了,那么这就意味着在接收到回复之前,TTL已经过期了。这就意味着可能存在以下三个问题中的其中一个:
通信问题会影响两台机器之间的数据包传输:这个可能是由断开的网线、坏的路由表或者许多其它问题造成的。
通信能够进行,但是速度太慢了,PING无法识别:这个可能是由网络拥挤、或者网络硬件或网线故障造成的。
通信能够进行,但是,防火墙阻止了ICMP流量:只有目的机器的防火墙(和在两台机器之间的任意防火墙)允许ICMP处理,PING才能够工作。
第三种情况是,当我们输入PING命令后,接收到了一些回复,但有另一些超时了。这个问题意味着存在坏的网线、硬件有故障或者网络拥挤。
PING一台主机可能发生的第四种情况是我们可能接收到一个类似于图C所显示的错误。
一个传输失败(Transmit Failed)的错误表示在我们尝试输入PING命令的机器上,TCP/IP的配置是不正确的。虽然,这个特定的错误只会发生在Vista上。然而,当TCP/IP没有正确配置时,老版本的Windows也会产生错误,但是,错误的信息是“目标主机不可达(Destination Host Unreachable)”。
PING成功后又表示什么?
令人感到意外的是,PING通常是成功的,即使两台机器之间的存在通信问题。在这种情况下,这就意味着基本的网络基础架构还是好的,同时,机器是可以在TCP/IP层上通信的。典型地,这是一个很好的方面,因为这就意味着发生的问题并不是很严重。
如果两台机器之间正常通信失败,但是它们之间的PING又是成功的(一定要同时在两台机器上运行PING命令),那么我们还可以进行其它的尝试。不用IP地址来PING网络主机,而是用主机的完整域名来测试,如图D所示。
如果我们可以用IP地址来PING机器,而通过完整域名则不成功,那么我们很可能会遇上域名系统(DNS)问题。工作站可能被配置使用了错误的DNS服务器,或者DNS服务器可能并不包含一个我们尝试PING的机器的主机记录。
如图D所示,我们可以看到机器的IP地址正好被列在完整域名的右边。这就意味着机器能够解析到完整域名。确保域名所解析到的IP地址是正确的。如果出现了我们预期之外的不同的IP地址,那么我们的DNS主机记录可能是错误的。
总结
在本文中,我们已经探讨了在两台机器之间使用PING命令来测试基本连接的一些步骤,同时,我还阐述了这些PING响应对于我们的主机连接性的意义。在本系列的下一章中,我将阐述更多在故障修复过程中可以使用的技巧。