引言:路由協(xié)議可以說是整個(gè)網(wǎng)絡(luò)層的核心要素,但對于一般的網(wǎng)絡(luò)用戶來講,可能僅僅停留在各種培訓(xùn)資料上或一些模擬器上的應(yīng)用,以下根據(jù)筆者的實(shí)際應(yīng)用,在真實(shí)環(huán)境中通過數(shù)據(jù)包分析逐步探尋路由協(xié)議的核心,首先從最基礎(chǔ)的RIP路由協(xié)議說起。
RIP動(dòng)態(tài)路由協(xié)議一般針對小型局域網(wǎng),在大型網(wǎng)絡(luò)中逐步退出了。有人認(rèn)為現(xiàn)在不必研究它了,但筆者認(rèn)為任何一種歷史上存在的網(wǎng)絡(luò)協(xié)議都有研究的價(jià)值。下面通過兩個(gè)實(shí)驗(yàn)配置分析研究。
網(wǎng)絡(luò)環(huán)境如圖1所示。
實(shí)驗(yàn)?zāi)康模和ㄟ^路由協(xié)議配置實(shí)現(xiàn)網(wǎng)絡(luò)1與網(wǎng)絡(luò)2互通。
實(shí)驗(yàn)過程:在未配置路由協(xié)議查看路由器Router-A的路由表如下所示:只有兩個(gè)直連路由及接口地址。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D
在Router-A上做如下配置(因沒有指定rip版本,默認(rèn)采用版本rip 1)
很明顯這里多了一條RIP動(dòng)態(tài)路由,指明通向網(wǎng)絡(luò)2(192.168.10.0)的數(shù)據(jù)路徑直接到Switch-A的接口192.168.8.254上。
在Switch-A上查看路由表如下:
圖2 動(dòng)態(tài)路由信息
當(dāng)然這里也多了一條RIP動(dòng)態(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所示。
實(shí)驗(yàn)分析:在早期的網(wǎng)絡(luò)時(shí)代規(guī)模不大,IP地址還沒有出現(xiàn)緊張不夠用的狀態(tài),所以當(dāng)時(shí)開發(fā)的RIP1是一個(gè)有類路由協(xié)議,即所有的更新包中不含子網(wǎng)掩碼,不支持VLSM,所以就要求網(wǎng)絡(luò)中所有設(shè)備必須使用相同的子網(wǎng)掩碼,通俗說RIP1沒有子網(wǎng)地址的概念。例如,如果標(biāo)準(zhǔn)的B類地址中16 bit的主機(jī)號不為0,那么RIP1無法區(qū)分非零部分是一個(gè)子網(wǎng)號,或者是一個(gè)主機(jī)地址。比如在上述實(shí)驗(yàn)中,在Router-A上雖然接入的是172.16.6.0的網(wǎng)絡(luò),但對于RIP1來講它只能識別172.16.0.0 B類地址的網(wǎng)絡(luò),所以發(fā)出的路由信息也是如此。
當(dāng)然到了RIP2以后,以上的缺陷就被完善了。通過抓到的數(shù)據(jù)包可以清楚的看到了,重新配置動(dòng)態(tài)路由協(xié)議RIP2后得到如下的路由表信息
通過抓到的數(shù)據(jù)包可以清楚的看到了此時(shí)發(fā)出的路由信息增加了子網(wǎng)掩碼信息了,如圖3所示。
通過以上實(shí)驗(yàn)得以驗(yàn)證RIPV1與RIPV2的區(qū)別所在:
(1)RIPv1以廣播地址255.255.255.255發(fā)送更新;路由在跨越主類網(wǎng)絡(luò)邊界(一個(gè)路由器上有多個(gè)主類網(wǎng)段才是主類網(wǎng)絡(luò)邊界)時(shí),會(huì)自動(dòng)匯總成主類網(wǎng)絡(luò);不支持VLSM,更新時(shí)不攜帶掩碼信息。
(2)RIPv2:以組播地址224.0.0.9發(fā)送更新;默認(rèn)情況下路由在跨越主類網(wǎng)絡(luò)邊界時(shí),還是會(huì)自動(dòng)匯總,但是也可以關(guān)閉自動(dòng)匯總,進(jìn)行手動(dòng)匯總;RIPv2支持VLSM,更新發(fā)送時(shí)攜帶掩碼信息。
有點(diǎn)類似于ARP協(xié)議欺騙包,因?yàn)樵缙诘膮f(xié)議之初都是基于信任的基礎(chǔ)這上,這個(gè)RIP2路由協(xié)議包的宣告都是基于正常的合理通信網(wǎng)絡(luò),但一旦網(wǎng)絡(luò)中有惡意網(wǎng)絡(luò)計(jì)算機(jī)設(shè)備發(fā)送一個(gè)假的的RIP2路由協(xié)議包(錯(cuò)誤的路徑指向),這樣就會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)路徑錯(cuò)誤。以上面的網(wǎng)絡(luò)環(huán)境為例,如果在VLAN1中有這樣一臺(tái)設(shè)備發(fā)送了一個(gè)虛假的RIP2路由協(xié)議包,就會(huì)出現(xiàn)如下所示的路由表。
圖3 路由信息中增加了子網(wǎng)掩碼信息
圖4 路由信息中增加了子網(wǎng)掩碼信息
細(xì)心的朋友會(huì)發(fā)現(xiàn)較之前多了一條路由指向,且轉(zhuǎn)發(fā)接口是一臺(tái)電腦的IP地址 192.168.8.8(如圖4所示),且它的網(wǎng)絡(luò)地址的子網(wǎng)掩碼比先前的要長,因?yàn)樽铋L子網(wǎng)掩碼匹配原則,即IP網(wǎng)絡(luò)中當(dāng)路由表中有多條條目可以匹配目的ip時(shí),一般就采用掩碼最長(最精確)的一條作為匹配項(xiàng)并確定下一跳,系統(tǒng)會(huì)優(yōu)先考慮子網(wǎng)掩碼長的網(wǎng)絡(luò)地址,這樣所有到172.16.6.0網(wǎng)絡(luò)的數(shù)據(jù)包都會(huì)轉(zhuǎn)發(fā)到接口192.168.8.8,當(dāng)然就會(huì)導(dǎo)致網(wǎng)絡(luò)不通了。
如果在PC1上實(shí)現(xiàn)路由轉(zhuǎn)接,再把數(shù)據(jù)正確轉(zhuǎn)發(fā)到Router-A上,這樣整個(gè)網(wǎng)絡(luò)仍然是通的,只不過多了一些延遲。那么PC1就可以截獲所有到Router-A的數(shù)據(jù)了。
以上的實(shí)例只是網(wǎng)絡(luò)路由協(xié)議最基礎(chǔ)的配置,但深入探討的內(nèi)容還很多。如VLAN相關(guān)、鏈路聚合、認(rèn)證相關(guān)、可靠性、安全性、QOS、IPV6隧道等包括一些典型功能場景配置,后續(xù)逐步通過真實(shí)環(huán)境,分析協(xié)議數(shù)據(jù)包來探個(gè)究竟。