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