網路診斷是一門綜合性技術,涉及網路技術的各個面。路由器故障是最常見的問題,首先先看診斷有哪些模式,然後一起簡單回顧一下網路和路由器的基本概念。
診斷模式
網路故障診斷應該實現三方面的目的:確定網路的故障點,恢復網路的正常運行;發現網路 規劃和配置中欠佳之處,改善和最佳化網路的性能;觀察網路的運行狀況,及時預測網路通信 質量。 網路故障診斷以網路原理、網路配置和網路運行的知識為基礎。從故障現象出發,以網路診 斷工具為手段獲取診斷信息,確定網路故障點,查找問題的根源,排除故障,恢復網路正常運行。 網路故障通常有以下幾種可能:物理層中物理設備相互連線失敗或者硬體及線路本身的問題 ;數據鏈路層的網路設備的接口配置問題;網路層網路協定配置或操作錯誤;傳輸層的設備 性能或通信擁塞問題;上三層CISCO IOS或網路應用程式錯誤。診斷網路故障的過程應該沿著OSI七層模型從物理層開始向上進行。首先檢查物理層,然後檢查數據鏈路層,以此類推 ,設法確定通信失敗的故障點,直到系統通信正常為止。 網路診斷可以使用包括區域網路或廣域網分析儀在內的多種工具:路由器診斷命令;網路管理工具和其它故障診斷工具。CISCO提供的工具足以勝任排除絕大 多數網路故障。查看路由表,是解決網路故障開始的好地方。
ICMP的ping、trace命令和Cisco的show命令、debug命令是獲取故障診斷有用信息的網路工具。我們通常使用一個或多個命令收集相應的信息,在給定情況下,確定使用什麼命令獲 取所需要的信息。譬如,通過IP協定來測定設備是否可達到的常用方法是使用ping命令。 ping從源點向目標發出ICMP信息包,如果成功的話,返回的ping信息包就證實從源點到目標 之間所有物理層、數據鏈路層和網路層的功能都運行正常。
如何在網際網路運行後了解它的信息,了解網路是否正常運行,監視和了解網路在正常條件下運行細節,了解出現故障的情況。監視那些內容呢?利用show interface命令可以非常容 易地獲得待檢查的每個接口的信息。另外show buffer命令提供定期顯示緩衝區大小、用途及 使用狀況等。Show proc命令和 show proc mem命令可用於跟蹤處理器和記憶體的使用情況, 可以定期收集這些數據,在故障出現時,用於診斷參考。 網路故障以某種症狀表現出來,故障症狀包括一般性的(象用戶不能接入某個伺服器)和較 特殊的(如路由器不在路由表中)。對每一個症狀使用特定的故障診斷工具和方法都能查找 出一個或多個故障原因。一般故障排除模式如下:
第一步,當分析網路故障時,首先要清楚故障現象。應該詳細說明故障的症侯和潛在的原因 。為此,要確定故障的具體現象,然後確定造成這種故障現象的原因的類型。例如,主機不 回響客戶請求服務。可能的故障原因是主機配置問題、接口卡故障或路由器配置命令丟失等 。
第二步,收集需要的用於幫助隔離可能故障原因的信息。向用戶、網路管理員、管理者和其他關鍵人物提一些和故障有關的問題。廣泛的從網路管理系統、協定分析跟蹤、路由器診斷 命令的輸出報告或軟體說明書中收集有用的信息。
第三步,根據收集到的情況考慮可能的故障原因。可以根據有關情況排除某些故障原因。例如,根據某些資料可以排除硬體故障,把注意力放軟體原因上。對於任何機會都應該設法減 少可能的故障原因,以至於儘快的策劃出有效的故障診斷計畫。
第四步,根據最後的可能的故障原因,建立一個診斷計畫。開始僅用一個最可能的故障原因 進行診斷活動,這樣可以容易恢復到故障的原始狀態。如果一次同時考慮一個以上的故障原 因,試圖返回故障原始狀態就困難的多了。
第五步,執行診斷計畫,認真做好每一步測試和觀察,直到故障症狀消失。
第六步,每改變一個參數都要確認其結果。分析結果確定問題是否解決,如果沒有解決,繼續下去,直到解決。
基本特點
計算機網路是由計算機集合加通信設施組成的系統,即利用各種通信手段,把地理上分散的計算機連在一起,達到相互通信而且共享軟體、硬體和數據等資源的系統。計算機網路按其 計算機分布範圍通常被分為區域網路和廣域網。區域網路覆蓋地理範圍較小,一般在數米到數十 公里之間。廣域網覆蓋地理範圍較大,如校園、城市之間、乃至全球。計算機網路的發展, 導致網路之間各種形式的連線。採用統一協定實現不同網路的互連,使網際網路很容易得到 擴展。網際網路就是用這種方式完成網路之間聯結的網路。網際網路採用TCP/IP協定作為通信協 議,將世界範圍內計算機網路連線在一起,成為當今世界最大的和最流行的國際性網路。 為了完成計算機間的通信,把每部計算機互連的功能劃分成定義明確的層次,規定了同層進 程通信的協定及相鄰層之間的接口和服務,將這些層、同層進程通信的協定及相鄰層之間的 接口統稱為網路體系結構。國際標準化組織(ISO)提出的開放系統互連參考模型(OSI)是 當代計算機網路技術體系的核心。該模型將網路功能劃分為7個層次:物理層、數據鏈路層 、網路層、傳輸層、會話層、表示層和套用層。
TCP/IP即傳輸控制協定和網間互聯協定是一組網路協定。TCP/IP起源於美國ARPANET網, 發展至今已成為網際網路使用的標準通信協定。使用TCP/IP能夠使採用不同作業系統的計算機 以有序的方式交換數據。 路由器是一種網路設備,是用於網路連線、執行路由選擇任務的專用計算機。路由器工作於 網路層,對信包轉發,並具有過濾功能。路由器能夠將使用不同技術的兩個網路互連起來, 能夠在多種類型的網路之間(區域網路或廣域網)建立網路連線。它將處在七層模型中的網路 層的信息,根據最快、最直接的路由原理從一個網路的網路層傳輸到另一個網路的網路層, 以達到最佳路由選擇。同時在內部使用高檔微處理器,用高速的內部匯流排連線適合各種網路 協定的接口卡。並具有多種網管功能,能監視與路由器相連線的一些網路設備和它們的配置 運行情況。
CISCO路由器是目前網路建設中使用最多的一種路由器,有多種檔次、多種系列,目前常用 的當屬2500系列,本文以2500系列為例討論。2500系列路由器是固定接口的多協定路由器 ,支持CISCO IOS全部功能。根據特定的協定環境分為以下四種類型:固定配置的路由器( 2501)、帶HUB口的路由器(2507)、摸塊化的路由器(2514)和訪問伺服器(2511)。 它們結構簡單、操作方便、易於配置和管理,是一種用於小規模區域網路和廣域網網路層中繼 的路由設備。 CISCO IOS是CISCO所特有的互連網作業系統,所有的CISCO產品都運行IOS,IOS將它們 無縫連線在一起協同工作。給用戶提供一個可支持任意硬體界面、任意鏈路層、網路層協定 的可擴展的開放型網路。IOS支持眾多的協定,包括各種網路通信協定和路由協定等。 CISCO IOS已成為工業界網際網互聯的事實標準。CISCO IOS提供幾種不同的操作模式,每 一種模式提供一組相關的命令集、不同的操作許可權和操作功能。基於安全目的,CISCO用戶 界面中有兩級訪問許可權:用戶級和特權級。第一級訪問允許查看路由狀態,叫做用戶EXEC 模式,又稱為查看模式;第二級訪問允許查看路由器配置、修改配置和運行調試命令,叫做 特權EXEC模式,又稱為配置模式。在特權級中,按不同的配置內容,可進入不同的配置模 式,如全球配置模式、接口配置模式、線配置模式等。
分層診斷技術
1. 物理層及其診斷 物理層是OSI分層結構體系中最基礎的一層,它建立在通信媒體的基礎上,實現系統和通信 媒體的物理接口,為數據鏈路實體之間進行透明傳輸,為建立、保持和拆除計算機和網路之間的物理連線提供服務。 物理層的故障主要表現在設備的物理連線方式是否恰當;連線電纜是否正確;MODEM、 CSU/DSU等設備的配置及操作是否正確。 確定路由器連線埠物理連線是否完好的最佳方法是使用show interface命令,檢查每個連線埠的狀態,解釋螢幕輸出信息,查看連線埠狀態、協定建立狀態和EIA狀態。
2. 數據鏈路層及其診斷 數據鏈路層的主要任務是使網路層無須了解物理層的特徵而獲得可靠的傳輸。數據鏈路層為 通過鏈路層的數據進行打包和解包、差錯檢測和一定的校正能力,並協調共享介質。在數據鏈路層交換數據之前,協定關注的是形成幀和同步設備。 查找和排除數據鏈路層的故障,需要查看路由器的配置,檢查連線連線埠的共享同一數據鏈路 層的封裝情況。每對接口要和與其通信的其他設備有相同的封裝。通過查看路由器的配置檢 查其封裝,或者使用show命令查看相應接口的封裝情況。
3. 網路層及其診斷 網路層提供建立、保持和釋放網路層連線的手段,包括路由選擇、流量控制、傳輸確認、中 斷、差錯及故障恢復等。 排除網路層故障的基本方法是:沿著從源到目標的路徑,查看路由器路由表,同時檢查路由器接口的IP位址。如果路由沒有在路由表中出現,應該通過檢查來確定是否已經輸入適當的 靜態路由、默認路由或者動態路由。然後手工配置一些丟失的路由,或者排除一些動態路由 選擇過程的故障,包括RIP或者IGRP路由協定出現的故障。例如,對於IGRP路由選擇信息只 在同一自治系統號(AS)的系統之間交換數據,查看路由器配置的自治系統號的匹配情況。
路由器接口故障排除
1. 串口故障排除 串口出現連通性問題時,為了排除串口故障,一般是從show interface serial命令開始,分析 它的螢幕輸出報告內容,找出問題之所在。串口報告的開始提供了該接口狀態和線路協定狀 態。接口和線路協定的可能組合有以下幾種:1)串口運行、線路協定運行,這是完全的工 作條件。該串口和線路協定已經初始化,並正在交換協定的存活信息。2)串口運行、線路 協定關閉,這個顯示說明路由器與提供載波檢測信號的設備連線,表明載波信號出現在本地和遠程的數據機之間,但沒有正確交換連線兩端的協定存活信息。可能的故障發生在路 由器配置問題、數據機操作問題、租用線路干擾或遠程路由器故障,數字式數據機 的時鐘問題,通過鏈路連線的兩個串口不在同一子網上,都會出現這個報告。3)串口和線路 協定都關閉,可能是電信部門的線路故障、電纜故障或者是數據機故障。4)串口管理 性關閉和線路協定關閉,這種情況是在接口配置中輸入了shutdown命令。通過輸入no shutdown命令,打開管理性關閉。 接口和線路協定都運行的狀況下,雖然串口鏈路的基本通信建立起來了,但仍然可能由於信 息包丟失和信息包錯誤時會出現許多潛在的故障問題。正常通信時接口輸入或輸出信息包不 應該丟失,或者丟失的量非常小,而且不會增加。如果信息包丟失有規律性增加,表明通過該接口傳輸的通信量超過接口所能處理的通信量。解決的辦法是增加線路容量。查找其他原因發生的信息包丟失,查看show interface serial命令的輸出報告中的輸入輸出保持佇列的狀 態。當發現保持佇列中信息包數量達到了信息的最大允許值,可以增加保持佇列設定的大小。
2.以太接口故障排除 以太接口的典型故障問題是:頻寬的過分利用;碰撞衝突次數頻繁;使用不兼容的幀類型。 使用show interface ethernet命令可以查看該接口的吞吐量、碰橦衝突、信息包丟失、和幀 類型的有關內容等。 通過查看接口的吞吐量可以檢測網路的利用。如果網路廣播信息包的百分比很高,網路性能 開始下降。光纖網轉換到乙太網段的信息包可能會淹沒以太口。網際網路發生這種情況可以采 用最佳化接口的措施,即在以太接口使用no ip route-cache命令,禁用快速轉換,並且調整緩衝區和保持佇列。
兩個接口試圖同時傳輸信息包到以太電纜上時,將發生碰橦。乙太網要求衝突次數很少,不 同的網路要求是不同的,一般情況發現衝突每秒有3、5次就應該查找衝突的原因了。碰橦沖 突產生擁塞,碰橦衝突的原因通常是由於敷設的電纜過長、過分利用、或者“聾”節點。以太 網路在物理設計和敷設電纜系統管理方面應有所考慮,超規範敷設電纜可能引起更多的衝突 發生。 如果接口和線路協定報告運行狀態,並且節點的物理連線都完好,可是不能通信。引起問題 的原因也可能是兩個節點使用了不兼容的幀類型。解決問題的辦法是重新配置使用相同幀類 型。如果要求使用不同幀類型的同一網路的兩個設備互相通信,可以在路由器接口使用子接口,並為每個子接口指定不同的封裝類型。
3. 異步通信口故障排除 互連網路的運行中,異步通信口的任務是為用戶提供可靠服務,但又是故障多發部位。主要 的問題是,在通過異步鏈路傳輸基於LAN通信量時,將丟失的信息包的量降止最少。
異步通信口故障一般的外部因素是:撥號鏈路性能低劣;電話網交換機的連線質量問題;調 制解調器的設定。檢查鏈路兩端使用的數據機:連線到遠程PC機連線埠數據機的問題 不太多,因為每次生成新的撥號時通常都初始化數據機,利用大多數通信程式都能在發 出撥號命令之前傳送適當的設定字元串;連線路由器連線埠的問題較多,這個數據機通常 等待來自遠程數據機的連線,連線之前,並不接收設定字元串。如果數據機丟失了 它的設定,應採用一種方法來初始化遠程數據機。簡單的辦法是使用可通過前面板配置 的數據機,另一種方法是將數據機接到路由器的異步接口,建立反向telnet,傳送設 置命令配置數據機。 show interface async 命令、show line命令是診斷異步通信口故障使用最多的工具。show interface async 命令輸出報告中,接口狀態報告關閉的唯一的情況是接口沒有設定封裝類型 。線路協定狀態顯示與串口線路協定顯示相同。show line命令顯示接口接收和傳輸速度設定 以及EIA狀態顯示。show line命令可以認為是接口命令(show interface async)的擴展。
show line命令輸出的EIA信號及網路狀態: noCTS noDSR DTR RTS:數據機未與異步接口連線。 CTS noDSR DTR RTS:數據機與異步接口連線正常,但未連線遠程數據機。 CTS DSR DTR RTS:遠程數據機撥號進入並建立連線。 確定異步通信口故障一般可用下列步驟:檢查電纜線路質量;檢查數據機的參數設定;檢查數據機的連線速度;檢查rxspeed 和txspeed是否與數據機的配置匹配;通過 show interface async 命令和 show line命令查看連線埠的通信狀況;從show line命令的報告 檢查EIA狀態顯示;檢查接口封裝;檢查信息包丟失及緩衝區丟失情況。 結語 網路發生故障是不可避免的。網路建成運行後,網路故障診斷是網路管理的重要技術工作。
搞好網路的運行管理和故障診斷工作,提高故障診斷水平需要注意以下幾方面的問題:認真學習有關網路技術理論;清楚網路的結構設計,包括網路拓樸、設備連線、系統參數設定及 軟體使用;了解網路正常運行狀況、注意收集網路正常運行時的各種狀態和報告輸出參數; 熟悉常用的診斷工具,準確的描述故障現象。
路由器故障解決方法大全
1、網路環境某單位使用的是Cisco路由器,租用電信30MB做本地接入和l0MB教育網雙線路上網,兩年來網路運行穩定,路由器也沒有發生故障。隨著網路用戶數量增加,原來電信30MB已不能滿足需要,於是決定租用電信1OOMB來解決頻寬問題。電信採用光纖接入到單位機房後,使用百兆光電轉換器經轉換後通過雙絞線接到路由器外網口上面,該路由器使用是千兆電口作為外網口,由於光電轉換器只有1O0MB,該連線埠連線後速度顯示100MB。
2、外網連線埠流量為零
經過幾天的運行,管理員發現每天當路由器外網口流量超過50Mbps/s後,該連線埠就會出現“ReceiveErrors”,流量超大,錯誤信息很多。突然有一天,出現外網不能上了,Telnet到路由器上面,發現電信對應的外網口沒有流量,顯示狀態為UP,路由器上其他連線埠工作正常。第一反映是電信的那邊出現問題了,是電話通知電信那邊查檢一下,對方很快回應說沒有什麼問題,並詢問是否光電轉換器當機了。
於是管理員將光電轉換器重啟後,故障依然。沒有辦法,只好將路由器重啟一下,故障排除。誰知,過了不到一個小時,故障又重現。Telnet到路由器後將該外網口執行shutdown和undoshutdown後,故障排除。誰知,將所有有關病毒的安全策略套用到該連線埠,將tcpmss修改為2o48(廠商默認1460),故障依然出現。
3、故障分析
管理員發現在故障發生時,CPU顯示23%,Memory為33%,不算太高,關鍵是其他接口都正常工作,看樣子問題還是出現在這個連線埠上面。可這個連線埠已用了兩年了,升級擴容以前沒有出現連線埠不能正常通訊的情況,連線埠硬體應該是有什麼問題。通過網管軟體對連線埠關閉前的流量檢測,發現該連線埠關閉前有很大的流量通過(超過80Mbps/s),顯示連線埠的錯誤信息也比較多。通過分析得知應該是網路流量太大,利用率過高所致。流量超過80%後,造成連線埠不能正常。如果該連線埠能工作千兆模式下,100MB頻寬僅利用該連線埠10%,這樣連線埠可以輕鬆處理。
4、解決方案
在找到癥結後,推薦的解決方案是購買千兆光電轉換器代替原來的百兆設備,而且價格也比較便宜。但為了保證網路運行的穩定性,該單位決定直接購買一個千兆光口路由模組,直接利用光纖進行通訊,減少網路延時。電信則通過連線埠限速來控制保證提供百兆頻寬。通過一段時間運行,發現該連線埠除了有少量錯誤信息外,再沒有出現過連線埠無故關閉情況。
案例2路由器為何發包失敗
在路由器的配置過程中,經常會碰到這樣的問題:網路通信正常,路由器可以成功路由數據包到目標網路,但是從路由器發的數據包卻傳送失敗,故障表現為路由器ping目標網路失敗,下面就是一個典型的案例。
(1).現象描述
某單位的網路配置完成後,管理員在測試網路連通性時發現:從PC機(6.159.245.195)向目標網路(6.159.245.65/26)傳送Ping時,路由器R1可以成功轉發數據包,然而從R1向目標網路(6.159.245.65/26)傳送ping時,出現ping失敗。
(2).排錯過程
首先,跟蹤ping所經過的路徑。檢查R1的路由表,目標地址6.159.245.65可以與路由表中0.0.0.0/0相匹配。檢查R2、R3、R4的路由表,均可以發現與目標地址匹配的路由表項。
然後,跟蹤ICMP回應應答數據包所經過的路徑。為完成這一步驟,要明確回應數據包的源地址,PC傳送ping時,回應應答數據包的目標地址就是6.159.245.195。而路由器R1傳送ping時,回應應答數據包的目標地址就是71.170.0.146。對照R4的路由表,發現與6.159.245.195匹配的路由表項,而未發現與目標地址71.170.0.146相匹配的路由表項。看來,ICMP的回應應答數據包在R4處理時被丟棄了,所以從R1向目標網路R4(6.159.245.65/26)傳送ping時,出現pmg失敗。
解決辦法是:在路由器R4上增加一條指向71.170.0.144/30的靜態路由,下一跳的地址為71.170.0.214。完成後,在R1向R4傳送ping時,發現一切正常了。
此類網路故障儘管不會影響網路的正常通信,排除的過程也很簡單,但在網路故障的分析與排除時,我們要考慮完整的通信過程。
案例3艱難的Cisco路由器IOS升級之旅
某學校從2003年開始建設校園網,近年來上網人數不斷增加,使原來的Cisco2621已經遠遠不能滿足網路的需求。而且最近要上0A辦公系統,需要增加一台VPN設備,用於校外用戶對校內0A系統的訪問。出於經濟上的考慮,他們想通過升級閒置的Cisco2621路由器來做VPN。不過,在升級IOS的過程中遇到一些問題。
1、超級終端登錄出現亂碼
從機房的倉庫里拿出路由器,通電。通過Console口連上去,發現超級螢幕出現了一些亂碼。會不會是Consol口壞了?分析認為Cisco設備如果出現Console口壞了,一般會在超級終端螢幕上不斷輸出很多的亂碼。但是這回出現的卻是輸入回車鍵後,才在螢幕上出現亂碼,可能是每秒傳輸速率不對。管理員將默認值9600更換為l15200。路由器啟動成功。路由器啟動完後,用showrun確實發現Console的速率為l15200。
2、記憶體不夠升級失敗
要升級的這台Cisco2621路由器帶有VPN的功能。原來的IOS版本為C2600-i-mz.122-8.T4.bin。從網上得知Cisco2621隻有K8、K9系列的IOS才能支持VPN。於是管理員從網上下載新的IOSc2600-ik9o3s3-mz.123-22.bin,大小為15MB。升級過程如下:
(1).配置路由器Interfast0/0的IP位址,先用“copyflash:tftp”把原來的IOS備份出來,並通過“copytftpdflash”命令上傳。
(2).重新啟動路由器,發現如下的提示錯誤,大意是沒有足夠的記憶體運行IOS:
Error:memoryrequirementsexceedavailablememoryMemoryrequired:0x0284A0BC
在Cisco官方網上查詢,發現c2600-ik9o3s3-mz.123-22.bin這個10s鏡像要求路由器的記憶體為64MB,Flash為16MB。從上面的啟動信息可以看出,這台路由器的記憶體為32MB,當然啟動不起來了。後來在網上購買了一條l28MB的記憶體換上去,加大記憶體後,啟動路由器成功。
3、在ROM模式下通過TFTP上傳lOS效驗失敗
由於路由器IOS升級失敗,所以想恢復原來的IOS。CiscoIOS升級失敗後,恢復IOS的方式有兩種:FTP和Xmodem。TFTP的傳輸速度快一些,Xmodem的傳輸速度比較慢。在R0M模式下,用TFTP上傳IOS,過程如下:
(1).在interfast0/0配置IP位址,配置完後用set命令查看。默認情況下,在R0M模式下配置的IP位址是在interfast0/0下的,所配置的IP位址應該要與TFTP伺服器在同一個網段內。
(2).用tftpdnld方式下載,TFTPServerMg開始時用Cisco的TFTP,但傳輸一半就逾時。用3Cdaemon傳輸完後,發現如下的警告:TFTPflashC0PY:Warning,ChecksSumcomparisonfailed.
重啟路由器,路由器無法啟動,提示IOS效驗錯誤。原想可能是IOS下載時出現錯誤,但是重新下載了c2600-ipbase-mz.123-6c.bin還是不行,看來不是IOS的問題。後來更換了網線TFTP軟體還是不行。
解決辦法:用Xmodem來傳。為了使傳輸速度快點,我們應該修改Xmodem的傳輸速度為ll5200。IOS通過Xmodem傳輸完後,重啟路由器,路由器已經可啟動。
4、經驗總結
(1).在用TFTP上傳IOS時,如果提示效驗錯誤,就應該考慮採用Xmodem方式上傳。
(2).TFTP伺服器的IP的地址要和路由器的乙太網口在一個網段上。
(3).在用Xmodem上傳IOS時,最好採用Windows自帶的超級終端。
(4).TFTP(TrivialFileTransferProtoco1)檔案傳輸協定最大就支持傳輸32MB的檔案。如果IOS大於32MB時,可以考慮採用第三方的TFTP軟體,如3Cdaemon。還有一種辦法就是可以採用FTP傳輸命令。
總結:路由器故障紛繁複雜,排錯方法也不盡相同,但排錯思路和技巧還是有共同之處。遭遇路由故障,冷靜分析、大膽實踐、善於總結,這樣才會提高排錯能力。