過節不求人 Cisco路由器故障診斷技術詳解
過年過節也是網絡管理員、工程師最忙的時候,偏偏在這種時候,網絡設備不聽話,動不動就故障。小編搜羅了一些Cisco路由器故障診斷技術,包括常用命令的使用,以及如何根據錯誤消息查找故障,希望在您的網絡環境出現故障時,及時定位故障并解決故障...
1 引言
本文以CISCO路由式網絡為基礎,介紹使用診斷工具對Cisco路由器進行故障診斷的方法。限于篇幅,我們所介紹的內容和示例主要是基于IP報文的,基于IPX和Appletalk等協議的診斷技術與此類似。
2 故障診斷與排除命令
Cisco ISO操作系統軟件提供了一組功能豐富的命令,可以用來進行故障查找與排除、問題診斷以及性能檢測。命令大致可以分為兩類:show命令和debug命令。同時,還包含一組用于連接這兩類命令的clear命令。下面我們分別講解各命令
2.1 show命令
在這一節中,我們將講述最常用的show命令,闡述這些命令的輸出以及這些命令適用于解決的故障類型。為了敘述清楚,這些命令被分為全局系統命令、與接口相關的命令和與協議相關的命令。我們僅討論最常使用的命令。
全局系統命令
本節將列出與路由器軟件和硬件相關的輸出命令,其中包括存儲區和電源。show version命令是最基本的命令之一,它顯示路由器本身以及其所使用的軟、硬件的基本信息。show hardware命令的功能與show version命令類似。
命令的輸出信息包括:IOS的版本、路由器持續運行的時間約23周、最近一次重啟動的原因、路由器主存的大小、共享存儲器的大小、閃存的大小、IOS映像的文件名,以及路由器從何處啟動等信息。show version命令顯示了路由器的許多非常有用的信息。在解決問題時,通常應該從這個命令開始收集數據。
如果路由器的多個接口同時丟失報文,則可能由于路由器內存不足或者CPU過載。用戶可以使用show memory命令檢查內存利用率(如下所示)。CPU利用率可以使用show process命令檢查。
show memory的前兩行顯示了存儲器的一般信息,它表明系統有足夠可用的內存。同時它還顯示內存中沒有碎片,因為在13.03兆字節可用內存中***的可用塊接近11.25兆字節。內存碎片表明內存被劃分為了許多不連續的塊。它將導致內存的利用率降低,嚴重時可能產生內存錯誤從而也嚴重影響路由器的性能。
現在看一看路由器中有許多內存碎片的情形(如下所示)。此時我們有足夠多的可用內存(8.4兆字節),但是其中***的塊僅為0.5兆字節。連續內存中沒有足夠大的可用塊,這有可能導致嚴重的內存分配問題。這些問題有時表現為一個或多個接口間歇性的丟失報文。此時路由器產生內存碎片錯誤消息。
使用命令show memory free,用戶可以看到可用內存被劃分為許多很小的碎片。需要注意的是,路由器中存在一定數量的內存碎片是正常的。雖然并沒有一個很嚴格的界限來劃分內存碎片的可接受程度,但是可用塊的大小至少應該不小于可用內存的一半。用戶可以通過重新啟動路由器來解決這個問題。在重新啟動時,系統重新分配內存和緩存空間。此時,用戶應該監視內存分配的過程。如果再次發生類似的情況,則應該咨詢Cisco TAC。
用戶可以使用show process cpu命令檢查路由器的CPU是否過載。該命令將給出路由器CPU的利用率,同時顯示路由器中不同進程的CPU占用率。在下述示例中,路由器的CPU工作正常。在通常情況下,在5分鐘內CPU的平均利用率小于60%是可以接受的。如果懷疑CPU利用率出現了問題,則需要不斷地監視這一參數,因為它可能在短時間內發生變化。***每10秒鐘使用一次該命令。通過這種方法,可以清楚地了解CPU利用率的波動情況。
如果CPU的平均利用率超過了80%,則表明路由器過載。下一步需要檢測那一些進程導致了CPU利用率過高。在上面的顯示中,我們可以看到進程IPX SAP占用了絕大部分的CPU處理能力,但是它還在可以接受的范圍之內。有時候,如果SRB background參數持續過高,則表明發生了路由網橋風暴。
show process memory命令可以用來給出路由器可用內存的一般信息,然后顯示每一個進程所占用的內存空間的詳細信息。
如果路由器由于臨時重啟動而完全崩潰,則相應的錯誤消息將包含在show version命令的輸出中。show stack命令用于跟蹤路由器的堆棧,提供路由器臨時重新啟動的原因。如果由于錯誤而導致重新啟動,堆棧記錄將在輸出的末尾顯示。為了抽取與故障相關的信息,堆棧記錄需要解碼。這一工作通常由Cisco TAC工程師完成。此外,擁有相應CCO登錄ID的用戶可以通過將show stack命令的輸出發送到CCO而獲得解碼信息。堆棧記錄解碼的結果有時與Cisco路由器的bug有關。
當用戶向Cisco TAC報告故障時,支持技術人員通常要求用戶發送show tech_support命令的輸出結果。這個命令將導致下述命令的按序執行:Show version、Show controllers、Show buffers、Show interface、Show stack、Show process cpu、Show process memory和Show running-config。這些命令的組合將給出路由器配置以及大多數關鍵性能參數的詳細信息。show tech_support命令的輸出對于Cisco TAC技術人員解決復雜網絡問題是十分有用。
與接口相關的命令
下面我們將闡述一些直接與路由器活躍接口相關的命令。show ip interface brief將顯示每一個路由器接口的IP地址信息以及第二層的狀態信息(如下所示)。其他與IP對應的協議的相關性信息可以通過相應命令屬性獲得,比如show ipx interface brief。
show interface命令可以獲得更多的信息。我們以以太網為例來討論這些通用接口參數。
其中:
Ethernet 1/0 is up 表明OSI模型的***層成功啟動。
Line protocol up 表明第二層成功啟動 。
Description 用戶自定義的描述。使用這一功能給出接口準確的描述是十分重要的。在一個大型組織中,一個局部網絡的工程師很難定位發生故障的路由器。
MTU 指定***傳輸單元,用戶可以配置。
BW、Dly、rely、load(帶寬、延遲、可靠性和負載):這些參數與IGRP/EIGRP標準有關。帶寬和延遲的配置可以影響到路由選擇。在工作正常的接口中,可靠性的值為255。除非在十分繁忙的條件下,否則負載通常不應超過150/255。
Encapsulation 它指在接口的第二層封裝。在以太網中,對于IP,Cisco的缺省設置為ARPA,而IPX的缺省設置為Novell-Ether。
從輸出中還能獲取哪些其他的信息呢?讀者可以看到,ARP cache timeout的值為4小時(該值為缺省設置)。從路由器接口輸入到輸出的時間不到1秒鐘。輸出從未被掛起。接口計數器***一次被清0是在5個星期以前。在評估接口的統計信息時,這些數據是十分有用的。在通常情況下,可以將計數器清0以便作進一步的監視。
接口所采用的是FIFO排隊規則。輸出隊列和輸入隊列的缺省長度分別為40和75。隊列中都不包含報文。在計數器***一次被清0后,輸入隊列丟失了許多報文。但是,正如我們前面所說的,計數器5個星期未被清0;因此,該值不能說明一定發生了網絡故障。在這種情況下,應該首先將計數器清0,然后再監視輸出隊列的丟失報文數。
同時,命令的輸出中還顯示每1秒鐘通過路由器接口的平均信息量(以字節為單位)以及報文數。這些參數的總量信息、路由器接口觀測到的所有廣播報文的數量也在命令的輸出中顯示。如果廣播報文的數量增長非常迅速,尤其是如果相對于輸入報文的數量非常高,則表明在局域網段中有廣播風暴。由于某些特定的應用程序需要頻繁使用廣播報文,因此確定廣播報文的數量閥值是很困難的。但是,如果廣播報文的數量超過了整個輸入報文的30%,則需要使用局域網協議分析儀進一步檢測網絡。
我們還可以獲取接口的下列錯誤檢測信息:
Runts 是指大小小于最小值的報文。在示例的以太網中,該值為64。以太網中指定最小報文大小大小是由于在這種傳輸模式下的工作站需要檢測碰撞。如果以太網段中包含以太網中繼器并且其距離符合規定的標準,最小報文大小大小可以使處在這種傳輸模式下的工作站檢測線路中的任何碰撞。
Giants 指大小超過線路可以承受的***報文大小的報文。以太網的MTU通常為1500字節,或者***的封裝數據為1500字節。
Input errors 指到達報文中檢測到的錯誤,也可能表明網段本身發生了錯誤。
Output errors 指輸出報文中的錯誤,它可能表明路由器接口本身發生了故障。
CRCs 由于報文不正確的以太網校驗和而檢測到的循環冗余校驗錯。它可能由于網段的噪聲引起,或者由于網卡故障、報文沖突引發。CRC的頻率應是每100000個輸入報文中發生一次。
Frame errors 指接收到的幀的類型與路由器以太網幀類型(IP協議幀類型為ARPA)不匹配。
Aborts 在碰撞檢測中過度的重傳而導致的問題。在以太網中,重傳的***次數不超過15次。
Dribble condition 指接收到的幀比MTU大,但不屬于Giants。
Babble 是指持續接收到可疑的幀。
Deferred 如果線路繁忙,報文在傳輸時將被延緩發送。
Interface resets 在檢測到過多的錯誤時,路由器將重置接口。這些錯誤可能存在于局域網段中,也可能是接口本身的錯誤。在此不能夠判斷具體是那兒發生故障,但是,如果伴隨著大量的輸出錯誤,則表明路由器接口本身發生故障。
Collisions 在以太網中,沖突被分為兩大類:early和late。early collision 由發送方在幀的前64個字節進入線路之前檢測到的沖突。early collision是以太網CSMA/CD訪問方法中的組成部分。early collision通常導致小的被中斷的幀或稱為runt。Late collision發生在幀的多個字節(大于64)被發送到線路中時產生的沖突。在理論上,以太網不會產生此類沖突。產生late collision的原因包括:
1、電纜違反了距離規則。
2、發生故障的NIC卡不正確地監聽線路。
Lost carrier 表明在計數器***一次清0后,載波和線路協議發生的故障。此類故障通常與路由器無關。例如,載波丟失可能是因為路由器與集線器之間的電纜連接中斷。
Buffer parameters show interface命令還提供與緩沖區分配有關的故障信息,它包括no buffer、overruns、ignored、underruns、buffer failures和swapped out buffers等。
上面,我們詳細討論了show interface命令的用法。這些命令的輸出提供了與路由器接口相關以及與傳輸介質相關的參數等有價值的信息。
show controller命令提供連接到路由器接口物理線路以及傳輸介質的詳細信息。并且提供狀態的歷史信息。其中一些詳細信息很少被使用,它們一般僅被TAC技術人員用于解決十分復雜的問題。
與協議相關的命令
本節將討論如何使用與不同協議相關的顯示命令。
show protocol命令給出了路由器運行的協議信息以及路由這些協議的每一個接口的地址信息(如下所示)。
#p#
2.2 Debug命令
Cisco IOS 軟件中包含大量的調試命令。這些命令可以在路由器正常工作或者發生網絡故障時獲得在路由器中交換的報文和幀的細節信息。調試命令在排除網絡故障時的特殊功能,可以減少用戶對協議分析儀的需求。在使用調試命令時,需要注意以下幾點:
1、在沒有完全掌握調試命令的工作過程以及它所提供的信息時,不要使用調試命令。
2、調試命令僅能捕獲通過過程交換的報文。調試命令會明顯增加處理器的負載。某一些命令的負載很小,但是另一些處理器敏感的命令會極大地增加處理器的負擔。建議讀者在使用調試命令之前,使用命令show process cpu檢查CPU的負載。即使CPU的負載很小,在使用處理器敏感的命令時仍需要十分慎重。在不能確定的情況下,可以查詢Cisco調試命令參考手冊。對CPU十分敏感的命令將會產生警告信息。通常情況下,調試命令的大量輸出將會增加處理器的負擔。
3、調試命令針對故障排除,監視時***不要使用這些命令。在獲得了足夠的信息后,應立刻中止調試命令的執行。
下面我們將闡述在Cisco IOS中可以使用的各種調試命令。為了敘述清楚,我們將所有的調試命令分為三類:全局(系統)調試命令、接口調試命令以及協議調試命令。與show命令類似,這些命令之間并沒有嚴格的界限。
首先,需要了解的是有哪些調試命令可以使用。使用與調試相關的幫助,輸入“debug ?”,我們將獲得了一個命令的列表,其中每一個命令都包含若干的屬性,它們在排除故障時提供各種不同的作用。
全局調試
在配置Cisco路由器時,全局和接口命令的界限是十分明顯的。在這種情況下,我們使用“全局”來標識那些不能用于接口調試或者特定的傳輸介質類型和協議調試的命令。例如,在2500系列路由器中,就可以使用調試命令分析Cisco發現協議(Cisco Discovery Protocol,CDP)。我們通過telnet遠程登錄到路由器。在缺省方式下,調試命令的輸出被發送到控制臺,如果處于telnet會話中,我們可以使用terminal monitor命令查看輸出。
接口調試
debug serial interface命令是直接與路由器接口和傳輸介質類型相關的調試命令。在下面的示例中,串行接口采用HDLC封裝。端到端的HDLC保持活躍的報文每10秒鐘交換一次。這表明鏈路操作正常并且第二層工作正常。show interface serial0命令表明線路協議正常啟動。使用undebug all命令關閉所有的調試。
協議調試
下面我們舉協議調試的兩個示例。兩個示例都與IP協議有關。當然,調試命令適用于所有的其他協議。
***個示例(如下所示)顯示ARP調試。ARP調試啟動,然后清除ARP緩存,同時產生了ARP請求和響應。首先,我們使用命令清除了路由器上所有的ARP緩存,因此路由器連接的每一個局域網段都將產生ARP報文。因為我們不需要產生過多的ARP報文,所以所選擇的路由器僅與一個以太網段相連。
第二個示例(如下所示)顯示IP RIP調試。在調試開始時,并沒有清空路由器表,因為路由器每隔30秒自動進行一次RIP更新,因此不需要強制更新。與***個示例中類似,在獲得了足夠的信息后應該關閉所有的調試。
#p#
2.3 Ping命令
Ping是最常使用的故障診斷與排除命令。它由一組ICMP回應請求報文組成,如果網絡正常運行將返回一組回應應答報文。ICMP消息以IP數據包傳輸,因此接收到ICMP回應應答消息能夠表明第三層以下的連接都工作正常。
Cisco的ping命令不但支持IP協議,而且支持大多數其他的桌面協議,如IPX和AppleTalk協議的ping命令。我們首先看一下支持IP協議的ping命令以用戶EXEC方式執行的情況,然后再討論在特權模式下,擴展的ping命令包含的許多強大功能。
用戶執行模式
IP PING 簡單的IP ping既可以在用戶模式下執行,也可以在特權模式下執行。正常情況下,命令會發送回5個回應請求,5個驚嘆號表明所有的請求都成功地接收到了響應。輸出中還包括***、最小和平均往返時間等信息。
每一個“!”表明一個echo響應被成功的接受,如果不是“!”號,則表明echo響應未被接收到的原因:
! 響應成功接收
· 請求超時
U 目的不可達
P 協議不可達
N 網絡不可達
Q 源抑制
M 不能分段
? 不可知報文類型
IPX PING IPX ping命令只能在運行IOS v 8.2及其以上版本的路由器上執行。用戶模式下的IPX ping通常僅用于測試Cisco路由器接口。在特權模式下,用戶可以ping特定的NOVELL工作站,命令的格式為“ping ipx IPX地址”。
APPLETALE PING 該命令使用Apple Echo Protocol(AEP)以確認AppleTalk節點之間的連通性。需要注意的是,目前的Cisco路由器僅對以太網接口支持Apple Echo Protocol。命令的格式為“ping apple Appletalk地址”。
特權執行模式
在特權執行模式下,擴展的ping命令適用于任何一種桌面協議。它包含更多的功能屬性,因此可以獲得更為詳細的信息。通過這些信息我們可以分析網絡性能下降的原因而不單單是服務丟失的原因。擴展的ping命令的執行方式也是敲入ping。然后路由器提示各種不同的屬性。
EXTENDED IP PING 其使用方法如下所示:
首先我們討論特權模式下的ping的各種可用屬性。每種屬性的缺省值在括號中顯示。
Protocol 需要測試的協議。
Target address 測試的目標地址。
Repeat count 如果出現間歇性的失敗或者響應時間過慢,ping重復的次數。
Datagram size 如果懷疑報文由于延遲過長或者分段失敗而丟失,則可以提高報文的大小。例如,我們可以使用1600字節的報文來強制分段。
Timeout 如果懷疑超時是由于響應過慢而不是報文丟失,則可以提高該值。
Extended commands 回答確定以獲得擴展屬性。
Source address 必須是路由器接口的地址。
Type of service 根據RFC 791 TOS規定的屬性,通常缺省值為0。
Set DF bit in IP header? 通過設置DF位禁止分段,即使是報文超過了路由器定義的MTU也禁止分段。
Data pattern [0xABCD] 通過改變數據模式可以測試線路的噪聲。
Loose,Strict,Record,Timestamp,Verbose[none] 這些都是IP報文頭的屬性。一般只使用Record屬性和Verbose,其他屬性很少被使用。Record可以用來記錄報文每一跳的地址,Verbose屬性給出每一個回應應答的響應時間。。
Sweep range of sizes [n] 該屬性主要用于測試大報文被丟失、處理速度過慢或者分段失敗等故障。
EXTEND IPX PING 擴展的IPX ping也允許用戶修改參數,比如報文大小和重復次數。對用戶模式下ping的另一個增強屬性是使用了Novell Standard echo屬性。使用這一屬性,用戶可以ping裝載IPX的工作站。如果禁用該屬性,Novell IPX設備將不響應ping,因為它們不支持Cisco proprietary IPX ping協議。用戶可以修改設備的屬性使它們支持這一特性
EXTENDED APPLETALK PING 擴展的AppleTalk ping命令是對用戶模式下ping的增強,這一點與擴展的IPX ping類似。與IP和IPX擴展ping一樣,用戶也可以選擇Verbose等屬性。
#p#
2.4 trace命令
trace命令提供路由器到目的地址的每一跳的信息。它通過控制IP報文的生存期(TTL)字段來實現。TTL等于1的ICMP回應請求報文將被首先發送。路徑上的***個路由器將會丟棄該報文并且發送回標識錯誤消息的報文。錯誤消息通常是ICMP超時消息,表明報文順利到達路徑的下一跳,或者端口不可達消息,表明報文已經被目的地址接收但是不能向上傳送到IP協議棧。
為了獲得往返延遲時間的信息,trace發送三個報文并顯示平均延遲時間。然后將報文的TTL字段加1并發送3個報文。這些報文將到達路徑的第二個路由器上,并返回超時錯誤或者端口不可達消息。反復使用這一方法,不斷增加報文的TTL字段的值,直到接收到目的地址的響應消息。
在有些情況下,使用trace命令可能會導致故障。因為IOS中存在與trace命令相關的bug。這些bug的相關信息可以從CCO得到。另外一個問題是,某些目標站點不響應ICMP端口不可達消息。當命令的輸出顯示一系列星號(*)時,就可能碰到了此類站點。用戶可以使用Ctrl-Shift-6中斷命令的執行。
用戶執行模式 下面展示了一個簡單的在用戶執行模式下執行的trace命令的輸出。到達目的地的距離是3跳。TTL值為1的3個報文的響應消息是ICMP超時錯誤,并且返回報文的IP地址有兩個。因為路由器1和路由器2在同一個網段中,并且它們到路由器3的距離都是一跳,因此這些路由器都響應該報文。
下面列出了IP trace命令的輸出中出現的不同字符及其含義:
XY msec 在接收到響應消息之前的往返延遲(以毫秒為單位)
* 報文超時
? 報文類型不能識別
U 端口不可達
P 協議不可達
N 網絡不可達
H 主機不可達
Q ICMP 源抑制
特權模式擴展Trace 用于擴展ping命令的許多屬性都可以用來擴展trace命令的功能。擴展trace命令的特殊屬性有:
Numeric display 在缺省情況下,trace命令的輸出中既包括IP地址也包括其對應的DNS域名。如果用戶不需要顯示DNS域名,則可以使用該屬性。
Probe count 其缺省值為3,用戶可以根據需要進行調整。
TTL 該值可以在***和最小TTL值之間變化。
Port number 這是一個非常有用的屬性,它可以使工程技術人員跟蹤特定的傳輸層端口。因此,不但可以確認源端與目的端之間的IP連通性,而且可以確認高層服務是否可被訪問。
與trace命令相關的另外一個問題是,如果存在到達目的地的多條路徑,返回報文的源地址可能不相同。在這種情況下,用戶需要仔細比較不同返回報文的延遲時間。如果仍不能得到明確的結果,可以遠程訪問路徑上的一個或多個路由器,使用trace命令訪問源地址和目的地址。
#p#
3 理解Cisco錯誤消息
3.1 錯誤消息格式
系統錯誤消息格式如下:
%Facility - subfacility - Severity - Mnemonic : Message Text
Facility 它指出錯誤消息涉及的設備名。該值可以是協議、硬件設備或者系統軟件模塊。
Subfacility 它僅與通道接口處理器(CIP)卡有關。詳細的信息可以參見Cisco文檔的相關章節。
Severity 它是一個范圍在0到7之間的數字。數字的值越小,嚴重程度越高。
Mnemonic 唯一標識錯誤消息的單值代碼。該代碼通常可以暗示錯誤的類型。
Message Text 它是錯誤消息的簡短描述,其中包括涉及的路由器硬件和軟件信息。
下面是一些錯誤消息的示例。用戶可以查閱CCO ISO文檔的系統錯誤消息一節,以查找這些錯誤消息的說明。
%DUAL-3-SIA:Route 171.155.148.192/26 stuck-in-active state in IP-EIGP 211. Cleaning up
%LANCE-3-OWNERR: Unit 0, buffer ownership error
需要注意的是,并不是所有的消息都涉及到故障或者問題的狀況。某些消息顯示的是狀態方面的信息。例如,以下消息僅表明ISDN BRI 0接口與特定的遠端數據連接。
%ISDN-6-CONNECT: Interface BRI0 is now connected to 95551212
3.2 Traceback Report
某些與路由器內部錯誤相關的錯誤消息包含了traceback信息。在向Cisco TAC報告錯誤時,應在錯誤描述中加入這些信息。
4 錯誤消息和事件信息的日志
根據錯誤消息的重要性和有效性,Cisco錯誤消息可以被記錄到以下位置:
1、控制臺
2、虛擬終端
3、Syslog服務器
4、內部緩沖區
logging on命令使日志消息的輸出到上述位置。對于Syslog服務器,必須使用下述全局配置命令指明服務器的IP地址:
logging ip-address
通過反復使用這一命令,可以建立一個服務器的列表。在管理大型網絡時,通常需要設置冗余服務器。
logging buffered命令用于將日志信息發送到內部緩沖區。緩沖區的大小必須在4096字節以上。缺省值根據系統平臺的不同而不同。用戶需要選擇適合環境的緩沖區大小。如果緩沖區太小,新的消息將會覆蓋舊的消息。這有可能會導致問題。但是,如果緩沖區大小過大將會浪費系統緩存。no logging buffered命令將禁止消息被寫入內部緩存。
用戶可以使用show logging命令顯示內部緩沖區的內容。如果用戶需要某一時間段的信息,首先使用NTP或者手工設置時鐘,具體操作為:
日志消息的時間戳和調試信息可以使用以下全局配置命令:
terminal monitor命令將在當前終端上顯示調試時的日志信息。該命令不是一個配置命令。相反,它可以通過telnet到路由器時在命令行方式下使用。
在大多數情況下,用戶可能需要顯示某一級別的日志信息。因此,日志信息被分為八個不同的級別,按照重要程度由高到低排列如下:
1、Emergencies
2、Alerts
3、Critical
4、Errors
5、Warnings
6、Notifications
7、Informational
8、Debugging
例如,需要在控制臺上顯示嚴重程度等于或者大于警告(Warning)的所有日志信息,可以使用下述全局配置命令:
logging console warning
類似的,將某種類型的日志信息發送到當前的終端時,使用
logging monitor level
或者將信息發送到Syslog服務器時使用
logging trap level
與terminal monitor命令不同,logging monitor命令是路由器配置的一部分。前一種命令不允許在不同的安全級別下執行。
需要注意的是,將日志記錄到不同的位置時,系統開銷變化很大。將日志記錄到控制臺的開銷比較大,然而將日志記錄到虛擬終端時開銷較小。使用Syslog服務器時開銷更小。系統開銷最小的日志寫入方式是寫入內部緩沖區。
#p#
5 核心轉儲(Core Dump)
為了查找路由器崩潰的原因,我們可以使用許多命令來獲取有效的信息。其中我們已經講解了show stacks命令的用法。核心轉儲是系統內存映象的拷貝,它可以被寫入到TFTP服務器中。從這個二進制文件中,我們可以獲得與路由器崩潰或者嚴重誤操作相關的信息,通過這些信息可以排除可能的故障。
下面的配置命令將核心轉儲寫入到命令中IP地址對應的TFTP服務器上:
exception dump ip-address
write core命令通常用于路由器發生嚴重的誤操作但是沒有完全崩潰時,保存核心映像。
只有運行IOS v 9.0或更高版本的服務器才可以使用核心轉儲。但是,需要注意的是,在使用核心轉儲時,***獲取有經驗的工程師或者Cisco TAC的支持。
6 結束語
要順利地診斷并排除網絡故障,網絡工程技術人員必須掌握兩種基本的技能。首先是對網絡技術和協議要有清楚的理解,它是診斷與排除網絡故障的基礎。沒有適當的知識和經驗,故障診斷與排除工具比如路由器診斷命令和網絡分析儀都不能發揮其作用。
網絡工程技術人員必須掌握的第二種技能是將所掌握的知識以有條理的方式應用于診斷和排除網絡故障的過程中。本文雖然只闡述了一些診斷的命令,但需要強調的是:故障診斷與排除是一種結構化的方法。許多工程技術人員認為故障診斷與排除計劃不如研究和應用技術本身重要。事實上,正確的計劃在故障診斷與排除過程中往往起決定性的作用。在故障排除過程中,一個偶然的行為可能使故障得以順利解決,但是它不能替代結構化的故障診斷與排除方法。
網絡故障的排除是一項系統工程,應該經過定義問題、搜集事實、基于事實考慮可能性、建立行動計劃、實施計劃、觀察結果和循環過程等步驟,這一過程就如同軟件開發過程的瀑布模型,其重要性是不言而喻的。限于篇幅,本文對這些知識不再贅述