什么是遞歸路由
本文是小編帶來(lái)什么是遞歸路由,歡迎大家閱讀。
路由的遞歸查詢到底是干什么的?
路由的遞歸查詢針對(duì)靜態(tài)路由來(lái)講,對(duì)于動(dòng)態(tài)路由就沒必要了。之所以要使用遞歸路由,目的是繞開那些經(jīng)常變動(dòng)的鏈路,可以使靜態(tài)路由的配置工作量減小。
使用遞歸路由的一個(gè)條件:到達(dá)目標(biāo)網(wǎng)絡(luò)的鏈路在途中可以匯聚成比目標(biāo)網(wǎng)絡(luò)數(shù)量更少的鏈路。
路由器逐跳將數(shù)據(jù)包發(fā)送到目的地,靜態(tài)路由可以指定到目的地的每一跳,但是如果路徑上某個(gè)節(jié)點(diǎn)出現(xiàn)問(wèn)題,整條靜態(tài)路由就不能工作了,如果真的能用到靜態(tài)路由,則需要管理員重新指定一條可以到達(dá)目的地的靜態(tài)路由,很蛋疼。
遞歸路由可以在一定程度上解決這個(gè)問(wèn)題:
對(duì)于上面的拓?fù)?R1需要經(jīng)過(guò)R2或R3路由器,將數(shù)據(jù)包發(fā)送給R4下的網(wǎng)段,管理員需要指定一條從R2或R3到R4下網(wǎng)段的靜態(tài)路由,如果指定的是經(jīng)過(guò)R2的靜態(tài)路由,那如果R2不幸down掉,則需要在指定經(jīng)過(guò)R3的路由,對(duì)于這樣簡(jiǎn)單的拓?fù)溥€可以,但對(duì)于大點(diǎn)的網(wǎng)絡(luò)環(huán)境,則比較麻煩。
如果R1不指定R2或R3,直接指定R4路由器的f0/0接口,如果R2 down掉,則可以通過(guò)R3繼續(xù)工作。
目標(biāo):
從R1可以訪問(wèn)R4路由之下的四個(gè)網(wǎng)段。
實(shí)現(xiàn):
1.靜態(tài)路由關(guān)聯(lián)R2或R3,來(lái)實(shí)現(xiàn)與R4的通信,但這樣存在問(wèn)題,如果R2或R3中有路由器無(wú)法使用了,得重新修改路由配置
2.直接關(guān)聯(lián)R4的f0/0接口:這樣R2或R3失效后,R1仍可以訪問(wèn)R4網(wǎng)段,這里用到就是遞歸路由了吧。
具體操作:
R1指定到R4的靜態(tài)路由:
R1(config)#ip route 40.0.1.0 255.255.255.0 fastEthernet0/020.2.2.4
R1(config)#ip route 40.1.1.0 255.255.255.0fastEthernet 0/020.2.2.4
R1(config)#ip route 40.2.1.0 255.255.255.0fastEthernet 0/020.2.2.4
R1(config)#ip route 40.3.1.0 255.255.255.0fastEthernet 0/020.2.2.4
R2指定到R4的靜態(tài)路由:
R2(config)#ip route 40.0.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R2(config)#ip route 40.1.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R2(config)#ip route 40.2.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R2(config)#ip route 40.3.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R3指定到R4的靜態(tài)路由:
R3(config)#ip route 40.0.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R3(config)#ip route 40.1.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R3(config)#ip route 40.2.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R3(config)#ip route 40.3.1.0 255.255.255.0 fastEthernet 0/120.2.2.4
R1要把報(bào)文發(fā)給40.0.1.0等四個(gè)網(wǎng)段,先要把報(bào)文發(fā)給靜態(tài)路由中指定的下一跳地址,也就是20.2.2.4,但R1的路由表里沒有20.2.2.4的的路由條目,R1會(huì)干什么?R1會(huì)像PC一樣,發(fā)送ARP請(qǐng)求,用debug 來(lái)查看ARP信息:
Mar 1 00:25:23.783: IPARP: creating incomplete entry for IP address: 20.2.2.4 interfaceFastEthernet0/0
*Mar 1 00:25:23.783: IPARP: sent req src 10.1.1.1 c400.1910.0000,
dst20.2.2.4 0000.0000.0000 FastEthernet0/0
這里可以看到,R1發(fā)送arp請(qǐng)求,源地址是10.1.1.1,源mac地址是c400.1910.0000,目的地是:20.2.2.4,目的mac是:0000.0000.0000,通過(guò)接口:FastEthernet0/0,R1向R2和R3發(fā)送ARP請(qǐng)求,R2和R3的代理ARP功能,會(huì)判斷,請(qǐng)求者和被請(qǐng)求者是不是在同一個(gè)廣播域,是否擁有去往源和目的地址的路由,是否開啟接口代理ARP,如果全部滿足,則R2和R3就會(huì)給R1發(fā)送ARP應(yīng)答。
R2中:
*Mar 1 00:25:21.859: IPARP: rcvd req src 10.1.1.1 c400.1910.0000, dst 20.2.2.4 FastEthernet0/0
*Mar 1 00:25:21.863: IPARP: sent rep src 20.2.2.4 c401.1910.0000,
dst10.1.1.1 c400.1910.0000 FastEthernet0/0
R3:
*Mar 1 00:48:20.815: IPARP: rcvd req src 10.1.1.1 c400.1910.0000, dst 20.2.2.4 FastEthernet0/0
*Mar 1 00:48:20.819: IPARP: sent rep src 20.2.2.4 c402.1910.0000,
dst10.1.1.1 c400.1910.0000 FastEthernet0/0
來(lái)查看R1收到ARP應(yīng)答的情況:
*Mar 1 00:49:24.239: IPARP throttled out the ARP Request for 20.2.2.4
*Mar 1 00:49:24.303: IPARP rep filteredsrc 20.2.2.4 c401.1910.0000, dst 10.1.1.1 c400.1910.0000 wrong cable, interfaceFastEthernet0/0
*Mar 1 00:49:24.303: IPARP rep filtered src 20.2.2.4 c402.1910.0000, dst 10.1.1.1 c400.1910.0000 wrongcable, interface FastEthernet0/0
這里,發(fā)現(xiàn)R1將應(yīng)答過(guò)濾掉了。。。
對(duì)于PC,如果該設(shè)備收到路由器傳遞的ProxyARP Reply,則該P(yáng)C會(huì)信任該Reply,并將其加入ARP表中;
而對(duì)于路由器,如果該設(shè)備收到Proxy ARPReply,則該路由器會(huì)優(yōu)先判斷該Reply中應(yīng)答者ip地址所在網(wǎng)段是否可達(dá),如果是,則接收,否則,直接丟棄。
這里R1收到的ARP,應(yīng)答者的ip地址應(yīng)該是20.2.2.4,所以,R1會(huì)將收到的rep過(guò)濾掉。
可以在R1上添加一條去往20.2.2.0的路由條目
R1(config )#ip route 20.2.2.0 255.255.255.0 10.1.1.2
這一條靜態(tài)路由的作用就是,R1不過(guò)濾收到的代理ARP回復(fù),這里的下一跳地址沒有實(shí)際意義。
在R4上指定一個(gè)去R1的路由條目:
R4(config)#ip route 10.1.1.0 255.255.255.0 20.2.2.2
這樣R1就可以去往R4下網(wǎng)段了。