引言:路由協(xié)議可以說是整個網(wǎng)絡(luò)層的核心要素,但對于一般的網(wǎng)絡(luò)用戶來講,可能僅僅停留在各種培訓(xùn)資料上或一些模擬器上的應(yīng)用,以下根據(jù)筆者的實際應(yīng)用,在真實環(huán)境中通過數(shù)據(jù)包分析逐步探尋路由協(xié)議的核心,首先從最基礎(chǔ)的RIP路由協(xié)議說起。
RIP動態(tài)路由協(xié)議一般針對小型局域網(wǎng),在大型網(wǎng)絡(luò)中逐步退出了。有人認(rèn)為現(xiàn)在不必研究它了,但筆者認(rèn)為任何一種歷史上存在的網(wǎng)絡(luò)協(xié)議都有研究的價值。下面通過兩個實驗配置分析研究。
網(wǎng)絡(luò)環(huán)境如圖1所示。
實驗?zāi)康模和ㄟ^路由協(xié)議配置實現(xiàn)網(wǎng)絡(luò)1與網(wǎng)絡(luò)2互通。
實驗過程:在未配置路由協(xié)議查看路由器Router-A的路由表如下所示:只有兩個直連路由及接口地址。


圖1 網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D


在Router-A上做如下配置(因沒有指定rip版本,默認(rèn)采用版本rip 1)


很明顯這里多了一條RIP動態(tài)路由,指明通向網(wǎng)絡(luò)2(192.168.10.0)的數(shù)據(jù)路徑直接到Switch-A的接口192.168.8.254上。
在Switch-A上查看路由表如下:


圖2 動態(tài)路由信息

當(dāng)然這里也多了一條RIP動態(tài)路由,但它描述的是通向網(wǎng)絡(luò)172.16.0.0的數(shù)據(jù)路徑直接到Router-A 的接口192.168.8.1上。如果這樣,很明顯數(shù)據(jù)是無法到達(dá)網(wǎng)絡(luò) 1(172.16.6.0)上的。通過抓包數(shù)據(jù)也發(fā)現(xiàn)宣告的路由信息也是如此。如圖2所示。
實驗分析:在早期的網(wǎng)絡(luò)時代規(guī)模不大,IP地址還沒有出現(xiàn)緊張不夠用的狀態(tài),所以當(dāng)時開發(fā)的RIP1是一個有類路由協(xié)議,即所有的更新包中不含子網(wǎng)掩碼,不支持VLSM,所以就要求網(wǎng)絡(luò)中所有設(shè)備必須使用相同的子網(wǎng)掩碼,通俗說RIP1沒有子網(wǎng)地址的概念。例如,如果標(biāo)準(zhǔn)的B類地址中16 bit的主機(jī)號不為0,那么RIP1無法區(qū)分非零部分是一個子網(wǎng)號,或者是一個主機(jī)地址。比如在上述實驗中,在Router-A上雖然接入的是172.16.6.0的網(wǎng)絡(luò),但對于RIP1來講它只能識別172.16.0.0 B類地址的網(wǎng)絡(luò),所以發(fā)出的路由信息也是如此。
當(dāng)然到了RIP2以后,以上的缺陷就被完善了。通過抓到的數(shù)據(jù)包可以清楚的看到了,重新配置動態(tài)路由協(xié)議RIP2后得到如下的路由表信息

通過抓到的數(shù)據(jù)包可以清楚的看到了此時發(fā)出的路由信息增加了子網(wǎng)掩碼信息了,如圖3所示。
通過以上實驗得以驗證RIPV1與RIPV2的區(qū)別所在:
(1)RIPv1以廣播地址255.255.255.255發(fā)送更新;路由在跨越主類網(wǎng)絡(luò)邊界(一個路由器上有多個主類網(wǎng)段才是主類網(wǎng)絡(luò)邊界)時,會自動匯總成主類網(wǎng)絡(luò);不支持VLSM,更新時不攜帶掩碼信息。
(2)RIPv2:以組播地址224.0.0.9發(fā)送更新;默認(rèn)情況下路由在跨越主類網(wǎng)絡(luò)邊界時,還是會自動匯總,但是也可以關(guān)閉自動匯總,進(jìn)行手動匯總;RIPv2支持VLSM,更新發(fā)送時攜帶掩碼信息。
有點類似于ARP協(xié)議欺騙包,因為早期的協(xié)議之初都是基于信任的基礎(chǔ)這上,這個RIP2路由協(xié)議包的宣告都是基于正常的合理通信網(wǎng)絡(luò),但一旦網(wǎng)絡(luò)中有惡意網(wǎng)絡(luò)計算機(jī)設(shè)備發(fā)送一個假的的RIP2路由協(xié)議包(錯誤的路徑指向),這樣就會導(dǎo)致整個網(wǎng)絡(luò)路徑錯誤。以上面的網(wǎng)絡(luò)環(huán)境為例,如果在VLAN1中有這樣一臺設(shè)備發(fā)送了一個虛假的RIP2路由協(xié)議包,就會出現(xiàn)如下所示的路由表。

圖3 路由信息中增加了子網(wǎng)掩碼信息

圖4 路由信息中增加了子網(wǎng)掩碼信息

細(xì)心的朋友會發(fā)現(xiàn)較之前多了一條路由指向,且轉(zhuǎn)發(fā)接口是一臺電腦的IP地址 192.168.8.8(如圖4所示),且它的網(wǎng)絡(luò)地址的子網(wǎng)掩碼比先前的要長,因為最長子網(wǎng)掩碼匹配原則,即IP網(wǎng)絡(luò)中當(dāng)路由表中有多條條目可以匹配目的ip時,一般就采用掩碼最長(最精確)的一條作為匹配項并確定下一跳,系統(tǒng)會優(yōu)先考慮子網(wǎng)掩碼長的網(wǎng)絡(luò)地址,這樣所有到172.16.6.0網(wǎng)絡(luò)的數(shù)據(jù)包都會轉(zhuǎn)發(fā)到接口192.168.8.8,當(dāng)然就會導(dǎo)致網(wǎng)絡(luò)不通了。
如果在PC1上實現(xiàn)路由轉(zhuǎn)接,再把數(shù)據(jù)正確轉(zhuǎn)發(fā)到Router-A上,這樣整個網(wǎng)絡(luò)仍然是通的,只不過多了一些延遲。那么PC1就可以截獲所有到Router-A的數(shù)據(jù)了。
以上的實例只是網(wǎng)絡(luò)路由協(xié)議最基礎(chǔ)的配置,但深入探討的內(nèi)容還很多。如VLAN相關(guān)、鏈路聚合、認(rèn)證相關(guān)、可靠性、安全性、QOS、IPV6隧道等包括一些典型功能場景配置,后續(xù)逐步通過真實環(huán)境,分析協(xié)議數(shù)據(jù)包來探個究竟。