遇到網(wǎng)絡(luò)故障的時候,,你一般會最先使用哪條命令進行排障,? 除了Ping,還有Traceroute,、Show,、Telnet又或是Clear、Debug等等,。 今天安排的,,是Traceroute排障命令詳解,給你分享3個經(jīng)典排障案例哈,。 01 Traceroute原理和功能 Traceroute是為了探測源節(jié)點到目的節(jié)點之間數(shù)據(jù)報文所經(jīng)過的路徑,。 利用IP報文的TTL域在每經(jīng)過一個路由器的轉(zhuǎn)發(fā)后減一,當TTL=0時則向源節(jié)點報告TTL超時這個的特性,。 Traceroute首先發(fā)送一個TTL為1的Icmp request報文,,因此第一跳發(fā)送回一個ICMP錯誤消息以指明此數(shù)據(jù)報不能被發(fā)送(因為TTL超時)。 之后Traceroute再發(fā)送一個TTL為2的報文,,同樣第二跳返回TTL超時,,這個過程不斷進行,直到到達目的地,。 此時,,由于數(shù)據(jù)報中使用了無效的端口號(缺省為33434),目的主機會返回一個ICMP的目的地不可達消息,,表明該Traceroute操作結(jié)束,。 Traceroute記錄下每一個ICMP TTL超時消息的源地址,從而提供給用戶報文到達目的地所經(jīng)過的網(wǎng)關(guān)IP地址,。 Traceroute 命令用于測試數(shù)據(jù)報文從發(fā)送主機到目的地所經(jīng)過的網(wǎng)關(guān),。主要用于檢查網(wǎng)絡(luò)連接是否可達,以及分析網(wǎng)絡(luò)什么地方發(fā)生了故障,。 02 不同平臺的Traceroute命令 01 RGNOS平臺的Traceroute命令 舉個例子,,在銳捷RG系列路由器上,Traceroute命令的格式如下: Traceroute host 『destination』 例如:查看到目的主機10.15.50.1 中間所經(jīng)過的網(wǎng)關(guān),。
02 Windows平臺的Tracert 命令 在PC機上或Windwos為平臺的服務(wù)器上,,Tracert命令的格式如下: tracert [ -d ] [ -h maximum_hops ] [ -j host-list ] [ -w timeout ] host -d :不解析主機名。 -h:指定最大TTL大小,。 -j:設(shè)定松散源地址路由列表,。 -w:用于設(shè)置UDP報文的超時時間,單位毫秒,;例如:查看到目的主機10.15.50.1 中間所經(jīng)過的前兩個網(wǎng)關(guān),。
03 使用Traceroute命令進行故障排除 排障案例① 使用Traceroute命令定位不當?shù)木W(wǎng)絡(luò)配置點 1、現(xiàn)象描述: 組網(wǎng)情況如下圖所示: 某校園網(wǎng)中,,RouterB和RouterC同屬于一個運行RIPv2路由協(xié)議的網(wǎng)絡(luò),,主機4.0.0.2訪問數(shù)據(jù)庫服務(wù)器5.0.0.2,用戶抱怨訪問性能差,。 2,、相關(guān)信息: 在主機上ping 5.0.0.2顯示如下: C:\Documents and Settings\c>ping -n 10 -l 1000 5.0.0.2 3、原因分析: 上面的Ping顯示出一個規(guī)律,,奇數(shù)報文的返回時長短,,而偶數(shù)報文返回時長很長(是奇數(shù)報文的10倍多)。 可以初步判斷奇數(shù)報文和偶數(shù)報文是通過不同的路徑傳輸?shù)摹?/span> 現(xiàn)在我們需要使用Traceroute命令來追蹤這不同的路徑,。在RouterC上,,Traceroute遠端RouterA的以太網(wǎng)接口5.0.0.1。
從上面的顯示可看到,直至3.0.0.2,,UDP探測報文的返回時長都基本一,。 而到5.0.0.1時,則發(fā)生明顯變化,,呈現(xiàn)奇數(shù)報文時長短,,偶數(shù)報文時長長的現(xiàn)象。 于是判斷,,問題發(fā)生在RouterB和RouterA之間,。 通過詢問該段網(wǎng)絡(luò)的管理員,得知這兩路由器間有一主一備兩串行鏈路,,主鏈路為2.048Mbps(s0口之間),,備份鏈路為128Kbps(s1口之間)。 網(wǎng)絡(luò)管理員在此兩路由器間配置了靜態(tài)路由,。 RouterB上如下配置: RouterB(config)# ip route 5.0.0.0 255.0.0.0 1.0.0.2 RouterA上如下配置:
于是問題就清楚了,。 例如RouterB,由于管理員配置時沒有給出靜態(tài)路由的優(yōu)先級,,這兩條路由項的管理距離就同為缺省值1,。 然后就同時出現(xiàn)在路由表中,實現(xiàn)的是負載分擔,,而不能達到主備的目的,。 4、處理過程: 可以有兩種處理方法,。 一個是,,繼續(xù)使用靜態(tài)路由,進行配置更改 RouterB上進行如下更改: RouterB(config)# ip route 5.0.0.0 255.0.0.0 1.0.0.2 (主鏈路仍使用缺省1) RouterB(config)# ip route 5.0.0.0 255.0.0.0 2.0.0.2 100(備份鏈路的降低至100) RouterA上進行如下更改:
這樣,,只有當主鏈路發(fā)生故障,,備份鏈路的路由項才會出線在路由表中,從而接替主鏈路完成報文轉(zhuǎn)發(fā),,實現(xiàn)主備目的,。 第二個是,在兩路由器上運行動態(tài)路由協(xié)議,,如OSPF,,但不要運行RIP協(xié)議(因為RIP協(xié)議是僅以hop作為Metric的)。 5,、建議和總結(jié): 本案例的目的不是為了解釋網(wǎng)絡(luò)配置問題,,而是用來展示Ping命令和Traceroute命令的相互配合來找到網(wǎng)絡(luò)問題的發(fā)生點。 尤其在一個大的組網(wǎng)環(huán)境中,,維護人員可能無法沿著路徑逐機排查,,此時,,能夠迅速定位出發(fā)生問題的線路或路由器就非常重要了。 排障案例② 使用Traceroute命令發(fā)現(xiàn)路由環(huán)路 1,、現(xiàn)象描述: 組網(wǎng)情況如下圖所示: 三臺路由器均配置靜態(tài)路由,,完成后,登錄到RouterA上Ping主機4.0.0.2,,發(fā)現(xiàn)不通。 2,、相關(guān)信息: RouterA# ping 4.0.0.2 Sending 5, 100-byte ICMP Echos to 4.0.0.2, 3,、原因分析: 從上面的Traceroute命令的顯示可以立即發(fā)現(xiàn),在RouterA和RouterB間產(chǎn)生了路由環(huán)路,。 由于是配置的是靜態(tài)路由,,基本可以斷定是RouterA或RouterB的靜態(tài)路由配置錯誤。 檢查RouterA的路由表,,配置的是缺省靜態(tài)路由:ip route 0.0.0.0 0.0.0.0 1.0.0.1,,沒有問題。 檢查RouterB的路由表,,配置到4.0.0.0網(wǎng)絡(luò)的靜態(tài)路由為:ip route 4.0.0.0 255.0.0.0 1.0.0.2――下一跳配置的是1.0.0.2,,而不是3.0.0.1。這正是錯誤所在,。 4,、處理過程: 修改RouterB的配置如下:
故障排除。 5,、建議和總結(jié): Traceroute命令能夠很容易發(fā)現(xiàn)路由環(huán)路等潛在問題,。 當路由器A認為路由器B知道到達目的地的路徑,而路由器B也認為路由器A知道目的地時,,就是路由環(huán)路發(fā)生了,。 使用Ping命令只能知道接收端出現(xiàn)超時錯誤,而Traceroute能夠立即發(fā)現(xiàn)環(huán)路所在――如果Traceroute命令兩次或者多次顯示同樣的接口,。 當通過Traceroute發(fā)現(xiàn)路由環(huán)路后,,如果配置為:
|
|
來自: 漢無為 > 《操作系統(tǒng)》