开始以前,先来简要回顾一下介绍过的三种方法。 >
从下至上的方法:从OSI模型底端开始,顺序向上。
从上至下的方法:从OSI模型顶端开始,顺序往下。
分而治之的方法:从OSI模型特定层开始,确定问题是在该层、还是上层或下层。
从理论上来理解这些方法是容易的,但是如何在实际应用中运用来解决实际问题呢?来看几个利用从下至上的以及分而治之方法的实例。(因为从上至下的方法实际就是从下至上方法的逆向方法,所以不做介绍。)
从下至上
适用情况:当用户从远程地址打来电话说电脑不能工作,他所使用的应用需要网络访问。
开始:首先查看用户1层的连通性(如物理层)。例如,可以让用户看网线是否与墙上端口和设备相连。对于大部分用户来说,让他们去查看交换机端口的指示灯状态要比向他们解释什么是网线要容易得多。
在理想情况下,交换机管理良好,有完备的网络记录文档。因此,可知道这位用户使用的墙上插座端口号为12,而且知道12号口与交换机接线柜里11号口相连。 (注意,如果管理员不掌握这些信息,就需要询问用户获得这些信息)
方法1:然后,远程登陆Cisco交换机,使用show ip interface brief命令。可得到列表A的信息。
列表A
Switch# show ip interface brief
Interface IP-Address OK? Method Status Protocol
Vlan1 10.1.1.1 YES NVRAM up up
FastEthernet0/1 unassigned YES unset up up
FastEthernet0/2 unassigned YES unset down down
FastEthernet0/3 unassigned YES unset down down
FastEthernet0/4 unassigned YES unset down down
FastEthernet0/5 unassigned YES unset down down
FastEthernet0/6 unassigned YES unset down down
FastEthernet0/7 unassigned YES unset down down
FastEthernet0/8 unassigned YES unset down down
FastEthernet0/9 unassigned YES unset up up
FastEthernet0/10 unassigned YES unset up up
FastEthernet0/11 unassigned YES unset down down
FastEthernet0/12 unassigned YES unset up up
FastEthernet0/13 unassigned YES unset up up
FastEthernet0/14 unassigned YES unset up up
FastEthernet0/15 unassigned YES unset down down
FastEthernet0/16 unassigned YES unset down down
FastEthernet0/17 unassigned YES unset down down
FastEthernet0/18 unassigned YES unset down down
FastEthernet0/19 unassigned YES unset down down
FastEthernet0/20 unassigned YES unset down down
FastEthernet0/21 unassigned YES unset down down
FastEthernet0/22 unassigned YES unset down down
FastEthernet0/23 unassigned YES unset up up
FastEthernet0/24 unassigned YES unset up up
Switch#
通过查看这个输出,我们可以发现FastEthernet0/11端口没有工作。由于这属于第一层故障,所以让用户顺着PC的网卡上的网线找到交换机端口。
方法2:如果不是这个问题怎么办?如果用户使用的是14号端口又该怎么办?既然有连接,说明网是通的。下一步应该怎么办?在交换机上使用show interface fastethernet 0/14 命令。显示如表B所列。
列表B
Switch# show interface fa0/14
FastEthernet0/14 is up, line protocol is up (connected)
Hardware is Fast Ethernet, address is 0014.1c40.b08e (bia 0014.1c40.b08e)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Half-duplex, 100Mb/s, media type is 100BaseTX
input flow-control is unsupported output flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input never, output 00:00:00, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 2000 bits/sec, 3 packets/sec
96848 packets input, 8083322 bytes, 0 no buffer
Received 9293 broadcasts (0 multicast)
0 runts, 0 giants, 0 throttles
323210 input errors, 123123 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 133 multicast, 0 pause input
0 input packets with dribble condition detected
10061627 packets output, 866400040 bytes, 0 underruns
0 output errors, 0 collisions, 2 interface resets
0 babbles, 0 late collision, 2 deferred
132 lost carrier, 20 no carrier, 0 PAUSE output
0 output buffer failures, 0 output buffers swapped out
Switch#
通过表B,我们可以发现尽管网络可以连接,但存在一些第一层的问题。
方法3:如果这个端口有网络连接而且没有问题该怎么办呢?接下来就应该查看第二层。请看例子
Switch#show mac address-table interface fastEthernet 0/14
硬件地址表
Vlan 硬件地址 类型 端口号
1 00c0.b768.5409 DYNAMIC Fa0/14
Total Mac Addresses for this criterion: 1
Switch#
如果这一信息符合PC上的MAC地址,接下来就要确定交换机端口上没有不相关的配置。例如:
Switch# show run interface fa0/14
Building configuration...
Current configuration : 82 bytes
interface FastEthernet0/14
switchport mode access
spanning-tree portfast
end
Switch#
尽管可能还有第二层别的问题存在,至少在这一层看起来情况还不错。接下来,查看第三层。在PC上使用IPCONFIG /ALL命令进行检查,如列表C列所示。
列表C
C:\> ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : PC100
Primary Dns Suffix . . . . . . . : TechRepublic.com
Node Type . . . . . . . . . . . . : Peer-Peer
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : TechRepublic.com
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : TechRepublic.com
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
Physical Address. . . . . . . . . : 00-C0-B7-68-54-09
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 10.80.2.2
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 10.80.2.1
DHCP Server . . . . . . . . . . . : 10.2.1.26
DNS Servers . . . . . . . . . . . : 10.2.1.26
Primary WINS Server . . . . . . . : 10.2.1.26
Secondary WINS Server . . . . . . : 10.2.1.21
Lease Obtained. . . . . . . . . . : Wednesday, November 02, 2005 5:43:55 AM
Lease Expires . . . . . . . . . . : Thursday, November 10, 2005 5:43:55 AM
这里,我们可以看到PC有IP地址,但是这地址对么?这台PC通过DHCP获得10.80.x.x范围内的地址,但是现在地址却是10.1.x.x。
所以,我们终于发现了问题。DHCP服务器分发的IP地址不属于子网。这种问题多出现在PC从某个子网挪到另一个子网时,PC依然请求旧的IP地址就产生了问题。
可以尝试这样解决问题,让所有接口的租用IP地址重新交付给DHCP服务器(即归还IP地址)。使用IPCONFIG /RELEASE,然后使用IPCONFIG /RENEW命令,然后PC就会获得正确的IP地址,所有的网络应用就都可以使用了。
分而治之
假设情况:某个用户说所有的应用除了IE浏览器都可以使用。当尝试浏览网页时,出现“找不到主机或DNS错误,网页无法显示”的提示。
如何开始:由于是跟应用相关的问题,可能会想采用从上到下的方法从OSI模型的应用层查起。但是,其实有多种原因可能造成这种错误。
采用分而治之的方法,先从我们了解的情况入手。用户说除IE外其他应用都可以工作。问题可能就出现在本地网和外网。
方法1: 既然错误报告提到了DNS, 可以将它看做DNS问题。既然其他应用依然工作,也许存在有一台本地DNS服务器给局域网应用提供服务。
为了检测这一理论,我们可以使用nslookup命令来确定DNS是否在工作。例子如下:
C:\> nslookup www.techrepublic.com
Server: dns.TechRepublic.com
Address: 10.2.1.26
Non-authoritative answer:
Name: c10-sha-redirect-lb.cnet.com
Address: 216.239.115.148
Aliases: www.techrepublic.com
这表示DNS确实在工作,所以还要继续查看。
方法2:用户所要访问的网站是否存在于本地或者远程的子网?就象互联网网站一样,我们称它为外部子网。
既然有些连接以及其它应用还可以使用,我们可以查看第三层,网络层。我们使用ipconfig命令来查看默然网关是否是10.80.2.1。现在需要ping默认网关。如下面的例子。
C:\> ping 10.80.2.1
Pinging 10.80.2.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.80.2.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
从这里,我们可以确定第三层存在问题。默然网关停用或者不可达。
如果所处位置是中央数据中心,远程登陆用户默认网关。登陆以后,使用show ip interface brief命令,如列表D所示。
列表D
Router# show ip interface brief
Interface IP-Address OK? Method Status Protocol
Serial3/0 unassigned YES NVRAM up up
Serial3/0.1 10.80.100.2 YES NVRAM up up
Serial3/0.2 10.80.100.6 YES NVRAM up up
BRI3/0 unassigned YES NVRAM up up
BRI3/0:1 unassigned YES unset down down
BRI3/0:2 unassigned YES unset down down
Dialer1 10.80.100.10 YES NVRAM up up
Loopback1 unassigned YES NVRAM up up
Ethernet3/0 10.80.2.1 YES NVRAM down down
Router#
通过这一输出结果,我们可以确定连接路由器和本地交换机的网线没有连接。我们曾经以为是第三层出了问题,但是实际上问题出在第一层。
在我看来,分而治之的方法需要更多网络和故障排除的知识。但是,这种发法也是发现问题最快的方法。使用故障排除方法类似于使用访问列表,一旦发现相符合的情况,就没有必要继续追查。