為了降低設(shè)計(jì)的復(fù)雜性,增強(qiáng)通用性和兼容性,計(jì)算機(jī)網(wǎng)絡(luò)都設(shè)計(jì)成層次結(jié)構(gòu)。這種分層體系使多種不同硬件系統(tǒng)和軟件系統(tǒng)能夠方便地連接到網(wǎng)絡(luò)。管理員在分析和排查網(wǎng)絡(luò)故障時(shí),應(yīng)充分利用網(wǎng)絡(luò)這種分層的特點(diǎn),快速準(zhǔn)確地定位并排除故障。然而在實(shí)際故障排查過(guò)程中,這種分層方法往往被忽略,導(dǎo)致故障排查效率降低。
兩種逐層排查方式
OSI的層次結(jié)構(gòu)為管理員分析和排查故障提供了非常好的組織方式。由于各層相對(duì)獨(dú)立,按層排查能夠有效地發(fā)現(xiàn)和隔離故障,因而一般使用逐層分析和排查的方法。
通常有兩種逐層排查方式,一種是從低層開(kāi)始排查,適用于物理網(wǎng)絡(luò)不夠成熟穩(wěn)定的情況,如組建新的網(wǎng)絡(luò)、重新調(diào)整網(wǎng)絡(luò)線纜、增加新的網(wǎng)絡(luò)設(shè)備;另一種是從高層開(kāi)始排查,適用于物理網(wǎng)絡(luò)相對(duì)成熟穩(wěn)定的情況,如硬件設(shè)備沒(méi)有變動(dòng)。無(wú)論哪種方式,最終都能達(dá)到目標(biāo),只是解決問(wèn)題的效率有所差別。
根據(jù)具體情況選擇排查方式
具體采用哪種方式,可根據(jù)具體情況來(lái)選擇。例如,遇到某客戶端不能訪問(wèn)Web服務(wù)的情況,如果管理員首先去檢查網(wǎng)絡(luò)的連接線纜,就顯得太悲觀了,除非明確知道網(wǎng)絡(luò)線路有所變動(dòng)。比較好的選擇是直接從應(yīng)用層著手,可以這樣來(lái)排查:首先檢查客戶端Web瀏覽器是否正確配置,可嘗試使用瀏覽器訪問(wèn)另一個(gè)Web服務(wù)器;如果Web瀏覽器沒(méi)有問(wèn)題,可在Web服務(wù)器上測(cè)試Web服務(wù)器是否正常運(yùn)行;如果Web服務(wù)器沒(méi)有問(wèn)題,再測(cè)試網(wǎng)絡(luò)的連通性。即使是Web服務(wù)器問(wèn)題,從底層開(kāi)始逐層排查也能最終解決問(wèn)題,只是花費(fèi)的時(shí)間太多了。如果碰巧是線路問(wèn)題,從高層開(kāi)始逐層排查也要浪費(fèi)時(shí)間。
在實(shí)際應(yīng)用中往往采用折衷的方式,凡是涉及到網(wǎng)絡(luò)通信的應(yīng)用出了問(wèn)題,直接從位于中間的網(wǎng)絡(luò)層開(kāi)始排查,首先測(cè)試網(wǎng)絡(luò)連通性,如果網(wǎng)絡(luò)不能連通,再?gòu)奈锢韺樱y(cè)試線路)開(kāi)始排查;如果網(wǎng)絡(luò)能夠連通,再?gòu)膽?yīng)用層(測(cè)試應(yīng)用程序本身)開(kāi)始排查。
首先使用ping命令測(cè)試連通性。在TCP/IP網(wǎng)絡(luò)中,排查網(wǎng)絡(luò)問(wèn)題的第一步常常是使用ping命令。如果能夠成功地ping到遠(yuǎn)程主機(jī),就排除了網(wǎng)絡(luò)連接出現(xiàn)故障的可能性。即使是使用ping命令,也有一個(gè)逐步檢測(cè)判斷的步驟。
例如,假設(shè)有一個(gè)網(wǎng)絡(luò),這里要測(cè)試網(wǎng)絡(luò)能否正常通信。通常從ping遠(yuǎn)程計(jì)算機(jī)開(kāi)始(例中在主機(jī)A上ping主機(jī)B),成功說(shuō)明系統(tǒng)和網(wǎng)絡(luò)正常,失敗說(shuō)明主機(jī)離線或網(wǎng)絡(luò)故障。失敗后再ping同一子網(wǎng)的網(wǎng)關(guān)(例中為192.168.1.1)來(lái)確認(rèn)主機(jī)A是否能夠連接到路由器。失敗后再ping環(huán)回地址127.0.0.1來(lái)確認(rèn)TCP/IP協(xié)議軟件是否有問(wèn)題,如果有問(wèn)題,需要重新安裝TCP/IP協(xié)議軟件。也可以采用另一種步驟,從ping環(huán)回地址127.0.0.1開(kāi)始,失敗說(shuō)明TCP/IP協(xié)議軟件安裝有問(wèn)題,如果成功再ping同一子網(wǎng)的網(wǎng)關(guān),如果成功再ping其他網(wǎng)關(guān)(路由器)逐步排查網(wǎng)絡(luò)各個(gè)環(huán)節(jié),直到最后ping遠(yuǎn)程主機(jī)。只要成功地ping到遠(yuǎn)程主機(jī),可以判斷網(wǎng)絡(luò)問(wèn)題一般發(fā)生在更高層次。
分層排查網(wǎng)絡(luò)的措施
每個(gè)網(wǎng)絡(luò)層次都有相應(yīng)的檢測(cè)排查工具和措施,各層的基本排查措施如圖2所示。在最底層的物理層,專業(yè)人員往往采用專門(mén)的線纜測(cè)試儀,沒(méi)有測(cè)試儀的可通過(guò)網(wǎng)絡(luò)設(shè)備(網(wǎng)卡、交換機(jī)等)信號(hào)燈進(jìn)行目測(cè)。數(shù)據(jù)鏈路層的問(wèn)題不多,對(duì)于TCP/IP網(wǎng)絡(luò),可以使用簡(jiǎn)單的arp命令來(lái)檢查MAC地址(物理地址)和IP地址之間的映射問(wèn)題。網(wǎng)絡(luò)層出現(xiàn)問(wèn)題的可能性大一些,路由配置容易出現(xiàn)錯(cuò)誤,可通過(guò)route命令來(lái)測(cè)試路由路徑是否正確,也可使用ping命令來(lái)測(cè)試連通性。協(xié)議分析器(如微軟提供的網(wǎng)絡(luò)監(jiān)視器)具有很強(qiáng)的檢測(cè)和排查能力,能夠分析鏈路層及其以上層次的數(shù)據(jù)通信,當(dāng)然包括傳輸層。至于應(yīng)用層,可使用應(yīng)用程序本身進(jìn)行測(cè)試。