网络故障排查通常遵循层次结构,这是因为网络本身是由多层协议组成的。物理层、数据链路层、网络层、传输层和应用层构成了网络通信的层次。各层之间相对独立,按层次排查可以更有效地定位和解决问题。
首先,排查故障的方式主要有两种:从底层开始排查和从高层开始排查。底层排查适用于新组建的网络或网络硬件有变动的情形,例如重新布线或增加新设备。这种方式需要检查物理连接、线路状态和网络设备的配置。相反,当物理网络相对稳定,硬件设备没有变动时,从高层开始排查更为合适。这种方式重点关注应用程序、网络配置和服务设置。
具体排查时,可以根据实际情况灵活选择。例如,当客户端无法访问Web服务时,如果首先检查物理连接,可能过于耗时。更高效的做法是先从应用层入手,检查Web浏览器的配置,包括代理设置和DNS配置。如果浏览器配置没有问题,再测试网络连通性。
在排查过程中,Windows系统提供了一系列命令行检测工具,它们体积小巧、功能强大,对网络故障排查非常有帮助。
1. **Ipconfig**命令用于显示当前的TCP/IP配置信息,包括ip地址、DNS服务器和MAC地址等。通过运行`ipconfig /all`,可以获得全面的主机配置信息,这对于发现和解决网络问题至关重要。
2. **ping**命令用于测试网络的连通性。通过向目标主机发送ICMP回应请求包,可以检测网络是否畅通。使用ping命令时,可以遵循以下步骤:首先ping环回地址127.0.0.1,确认本地TCP/IP安装和配置是否正确;然后ping本地计算机或网卡地址,确保计算机已正确加入网络;接着ping默认网关,验证本地网络通信能力;最后ping远程主机,检查路由通信是否正常。
3. **arp**命令用于查看和修改ARP表项,这个表项将IP地址转换为MAC地址。arp命令可以帮助我们查找同一物理网络上的主机的MAC地址,这对于解决ARP欺骗和网络攻击问题非常有用。
为了防止ARP病毒欺骗,我们可以通过命令`arp –s`绑定特定主机的IP与MAC地址。为了使这个绑定在重启后依然有效,可以创建一个批处理文件并放置到系统启动目录中,使其在每次启动时自动执行。
总的来说,网络故障排查是一个系统工程,需要根据实际情况选择合适的排查方法,灵活运用各种工具和命令。通过系统的排查和合理的配置,我们能够确保网络的稳定运行,为各种应用提供坚实的支持。一、诊断方法
为了降低设计的复杂性,增强通用性和兼容性,计算机网络都设计成层次结构。网络的层次结构为我们分析和排查故障提供了非常好的组织方式。由于各层相对独立,按层次排查能够有效地发现和隔离故障。
通常有两种逐层排查方式,一种是从低层开始排查,适用于物理网络不够成熟稳定的情况,如组建新的网络、重新调整网络线缆、增加新的网络设备;另一种是从高层开始排查,适用于物理网络相对成熟稳定的情况,如硬件设备没有变动。无论哪种方式,最终都能达到目标,只是解决问题的效率有所差别。
具体采用哪种方式,可根据实际情况来选择。例如,遇到某客户端不能访问Web服务的情况,如果管理员首先去检查网络的连接线缆,就显得太悲观了,除非明确知道网络线路有所变动。比较好的选择是直接从应用层着手,可以这样来排查:首先检查客户端Web浏览器是否配置正确,有无设置代理,主机DNS是否设置正确等,可尝试使用浏览器去访问另一个Web服务器;如果浏览器没有问题,再测试网络的连通性。对这种问题,如果从底层开始逐层排查也能最终解决问题,只是花费的时间太多了。如果碰巧是线路问题,从高层开始逐层排查也要浪费时间。
在实际应用中往往都采用一种折中的方式,凡是涉及到网络通信的应用出了问题,直接从位于中间的网络层开始排查,首先测试网络连通性,如果网络不能连通,再从物理层(测试线路)开始排查;如果网络能够连通,再从应用层(测试应用程序本身)开始排查。
在TCP/IP网络中,排查问题的第一步常常是使用ping命令。如果成功地ping到远程主机,就排除了网络连接出现故障的可能性。即使是使用ping命令,也有一个逐步检测判断的步骤。例如,假设有一个如下图所示的网络:
这里要测试网络能否正常通信。通常从ping远程主机开始(例如在主机A上ping主机B),成功说明系统和网络正常,失败说明主机离线或者网络故障或者主机B禁止ping操作。失败后再ping路由器出口地址(例中为路由器WAN口地址)来确认主机A是否能够通过路由器。失败后再ping同一子网的网关(例中为路由器的LAN口地址)来确认主机A是否能够连接到路由器。失败后再ping网卡地址来确认网卡是否工作正常。失败后再ping本地环回地址127.0.0.1来确认TCP/IP协议软件是否存在问题,如果有问题,需要重新安装TCP/IP协议栈。这里也可以采用另外一种步骤,从ping本地环回地址127.0.0.1开始,直到最后ping远程主机。只要成功地ping到远程主机,可以判断网络问题一般发生在更高层次。
二、检测工具Windows系统为我们提供了一个命令行检测工具,与图形界面下工具相比,命令行检测工具小巧适用,也提供了很多命令,对我们排查网络故障有很好的帮助。下面就简单介绍几个常用命令。
- 1、 ipconfig
ipconfig命令主要用来显示当前的TCP/IP配置,也用于手动释放和更新DHCP服务器指派的TCP/IP配置,这一功能对于运行DHCP服务的网络特别有用。
要发现和解决TCP/IP网络问题时,通常首先检查出现问题的计算机上的TCP/IP配置。使用ipconfig /all命令可获得全面的主机配置信息,如下图所示。既包括总体的IP配置信息,如主机名、IP地址、DNS、MAC地址等。
- 2、 ping
ping命令用于测试IP网络的连通性。只有在安装了TCP/IP协议后才可以使用。如下图所示:
一般使用ping命令来测试连接,向目的计算机的IP地址(或主机名)发送ICMP回应请求包。可以按以下步骤测试:
(1)、ping环回地址127.0.0.1,验证是否在本地计算机上安装TCP/IP以及配置是否正确。执行命令ping127.0.0.1,如果不成功,应安装和配置TCP/IP之后重新启动计算机;
(2)、ping本地计算机或网卡地址,验证是否将当前计算机正确地添加到网络;
(3)、ping默认网关,验证默认网关是否运行以及能否与本地网络上的本地主机通信;
(4)、ping远程主机,验证能否通过路由器进行通信。如果有问题,可检查路由器配置。
3、 arp
该命令可以查看和修改本地计算机上的ARP(地址解析协议)表项。该表项用于缓存最近将IP地址转换成MAC地址的IP/MAC地址对。目前极为流行的ARP欺骗就是利用的这个协议。关于ARP欺骗和解决办法,可以参考我司网络教室下的《解决ARP欺骗和攻击的方法》。
arp命令最常用的是查找同一物理网络上的某主机的MAC地址,并给出相应的IP地址。如果要想确定另外一个主机的MAC地址,通常先ping该主机,然后使用命令arp –a命令,如下图所示:
要删除本地计算机上的ARP条目可以使用命令arp –d。要绑定某台主机的IP与MAC地址可以使用命令arp –s 192.168.1.1 aa-bb-cc-dd-ee-ff,这样这个条目就变成静态ARP条目永远不会失效,如下图所示:
这样绑定的好处就是可以防止ARP病毒欺骗电脑。不过值得注意的是:这里绑定过后的条目在重启计算机后将失效,如何使其能每次重启后都有这样的绑定呢?我们可以新建一个批处理文件如static_arp.bat,注意后缀名为bat。编辑它,在里面加入我们刚才的命令:
保存就可以了,以后可以通过双击它来执行这条命令,还可以把它放置到系统的启动目录下来实现启动时自己执行。打开电脑“开始”->“程序”,双击“启动”打开启动的文件夹目录,把刚才建立的static_arp.bat复制到里面去:
好了,以后电脑每次启动时就会自己执行arp –s命令了。
通过上面的讲解,在遇到类似的网络问题的时候,我们就可以很轻松的解决。