張慶紅 程國建
1西安航空技術(shù)高等??茖W校計算機工程系 陜西 710077 2西安石油大學計算機學院 陜西 710065
路由器的主要用途是連接多個網(wǎng)絡(luò),并將數(shù)據(jù)包轉(zhuǎn)發(fā)到目的地網(wǎng)絡(luò)或其它網(wǎng)絡(luò)。由于路由器的主要轉(zhuǎn)發(fā)決定是根據(jù)目的IP地址做出的,因此路由器被視為第3層設(shè)備。作出決定的過程稱為路由。而路由器要完成路由的過程,則需要搜索存儲在路由表中的路由信息。
從一臺路由器到另一臺路由器的數(shù)據(jù)包轉(zhuǎn)發(fā)是通過網(wǎng)絡(luò)逐跳進行的。每臺路由器根據(jù)自身獲知的目的路徑單獨做出轉(zhuǎn)發(fā)決定。為了分析數(shù)據(jù)包如何根據(jù)路由器中的路由表被轉(zhuǎn)發(fā)到目的地,本文構(gòu)建一個簡單的互聯(lián)網(wǎng)絡(luò)拓撲圖,基于此圖進行分析研究。
在模擬器 Packet Tracer 中構(gòu)建一個包含四個路由器和三個交換機的網(wǎng)絡(luò)結(jié)構(gòu)圖,末端網(wǎng)絡(luò)可連接一到兩臺計算機代表一個局域網(wǎng)絡(luò)。使用私有地址段 192.168.0.0/21進行子網(wǎng)劃分,然后將劃分后的子網(wǎng)段分別分配給網(wǎng)絡(luò)中的7個子網(wǎng)絡(luò)。網(wǎng)絡(luò)拓撲圖如圖1所示。
圖1 網(wǎng)絡(luò)拓撲圖
圖中包含7個局域網(wǎng),所使用的子網(wǎng)段分別為192.168.1.0/24-192.168.7.0/24。用子網(wǎng)中的地址給圖中路由器接口及PC網(wǎng)卡分配地址。分配結(jié)果如表1所示。
表1 IP地址分配表
根據(jù)路由表原理 1:路由器根據(jù)其路由表中的信息做出路由決定,所以首先在構(gòu)建好的網(wǎng)絡(luò)配置路由。由于此網(wǎng)絡(luò)中路由器數(shù)量較少,所以用靜態(tài)路由來配置。在 R1路由器上用命令
R1#configure terminal
R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2
R1(config)#end
配置一條到達網(wǎng)絡(luò)192.168.3.0的路由,同理用相似的命令分別配置一條到達192.168.5.0、192.168.6.0、192.168.7.0 的靜態(tài)路由。這樣R1局域網(wǎng)192.168.1.0/24就可發(fā)送數(shù)據(jù)包到達 192.168.5.0/24、192.168.6.0/24、192.168.7.0/24目的網(wǎng)絡(luò)了。
對R1使用測試命令ping,分別ping網(wǎng)絡(luò)中不同網(wǎng)段中的設(shè)備地址,測試結(jié)果發(fā)現(xiàn)R1路由器在ping 192.168.4.1時沒有成功。根據(jù)原理 1,路由器是根據(jù)路由表做出路由決定的,所以如果Ping不成功,說明R1路由表中到達目的網(wǎng)絡(luò)192.168.4.0/24的路由有問題。所以接著用測試命令show ip route察看R1上的路由表,結(jié)果發(fā)現(xiàn)R1上確實沒有到達目的網(wǎng)絡(luò)192.168.4.0/24的路由。于是給R1路由器上配置了一條到達192.168.4.0/24的靜態(tài)路由,然后再使用Ping命令,結(jié)果發(fā)現(xiàn)Ping仍然沒有成功。按照原理1,路由器上已經(jīng)有了網(wǎng)絡(luò)中各個網(wǎng)段的路由,可是還是不連通,為什么呢?接著用路由表原理2來分析產(chǎn)生此結(jié)果的原因。
根據(jù)原理 2:一臺路由器包含完整的路由表并不表示其它路由器也包含相同的信息。在2.1節(jié)中已經(jīng)給R1路由器配置了路由表且已完整,所以根據(jù)原理 2,用靜態(tài)路由配置命令給 R2、R3、R4分別配置到達目的網(wǎng)絡(luò) 192.168.4.0/24的靜態(tài)路由,并用show ip route檢測三個路由器,發(fā)現(xiàn)分別已存在到達目的網(wǎng)絡(luò)的路由,接著用Ping命令進行測試,結(jié)果發(fā)現(xiàn)R1仍然不能到達目的網(wǎng)絡(luò)192.168.4.0/24。
由于測試命令不能找出具體出故障的設(shè)備點,所以使用數(shù)據(jù)包捕獲方式察看數(shù)據(jù)包在哪個設(shè)備處發(fā)生故障了。在Packer Tracer中的模擬模式下進行數(shù)據(jù)包捕獲,用 ADD simple PDU 添加簡單的PDU,并且將PC1指定為ICMP流量的源設(shè)備,將PC3指定為目的主機,啟動PC間用ICMP通信的ping。然后用Auto Capture / Play來捕獲ICMP數(shù)據(jù)包。于是R1 發(fā)送 ICMP 通信給 R3。R3 將 ICMP 通信轉(zhuǎn)發(fā)給PC3。PC3 將 ICMP 應(yīng)答通信返回給 R3。結(jié)果發(fā)現(xiàn)R3 將這些數(shù)據(jù)包丟棄,也就是說 R3處存在故障,以至于不能將數(shù)據(jù)包返回到R1。是什么原因?qū)е翽ing 在 R3 處失敗?用原理3來繼續(xù)分析出現(xiàn)的情況。
根據(jù)原理3:兩個網(wǎng)絡(luò)之間路徑的路由信息并不能提供反向路徑(即返回路徑)的路由信息。接著分析Ping在R3處失敗的原因,從原理3得知,在路由器R1上有能夠到達R3的路由,即R1可以通過這條路由將數(shù)據(jù)包傳遞給R3,但并不表示R3就能夠用這條路由將數(shù)據(jù)包傳給R1,所以導致Ping在R3失敗的原因有可能就是在R3上沒有到達R1的路由。
用show ip route察看R3路由信息發(fā)現(xiàn)在R3上沒有任何路由條目到達R1。要使Ping在R3不失敗,根據(jù)原理3,在R3路由器上必須再配置一條到達R1的靜態(tài)路由,配置好之后,可以同樣使用2.2節(jié)中ICMP數(shù)據(jù)包捕獲方法來檢測R1和R3是否連通,檢測結(jié)果發(fā)現(xiàn)Ping在R3處并沒失敗而是R3 將 ICMP 應(yīng)答通信返回給 R1,即R3故障解決,數(shù)據(jù)包順利返回,R1上的PC1和R3上的PC3互相連通了。
通過使用3個路由表原理對網(wǎng)絡(luò)的分析,最后得到的結(jié)果是:整個ICMP通信的Ping過程為R1 發(fā)送 ICMP 通信給 R3,R3 將 ICMP 通信轉(zhuǎn)發(fā)給 PC3。PC3 將 ICMP 應(yīng)答通信返回給 R3,R3 將 ICMP 應(yīng)答通信返回給 R1,R1將應(yīng)答轉(zhuǎn)發(fā)給 PC1,即PC1和PC3能夠互相聯(lián)通,網(wǎng)絡(luò)路由問題從而得到解決。
本文構(gòu)建一個簡單的互連網(wǎng)絡(luò),并給其包含的中間設(shè)備及主機配置路由,用測試命令、捕獲數(shù)據(jù)包方法測試連通性,同時將三個路由表原理應(yīng)用到網(wǎng)絡(luò)進行分析,綜合分析網(wǎng)絡(luò)不連通的原因,以及通過原理分析該如何解決這種路由問題。
[1]專業(yè)論文.路由器測試技術(shù)的介紹以及測試類型和方法[OL].中國工業(yè)電器網(wǎng).2010.
[2]思科網(wǎng)絡(luò)學院譯.網(wǎng)絡(luò)技術(shù)基礎(chǔ)[M].北京郵電大學.2008.
[3]思科網(wǎng)絡(luò)學院.路由協(xié)議與概念[M].北京郵電大學.2008.
[4]思科網(wǎng)絡(luò)學院譯.廣域網(wǎng)技術(shù)[M].北京郵電大學.2009.
[5]方桂彬,李洋.IMS路由相關(guān)問題及安全分析[J].中興通訊技術(shù).2009.