EIGRP交換路由的過程并不復(fù)雜,首先路由器之間會使用Hello包建立鄰居關(guān)系,當(dāng)初次交換路由信息時,交換的是整個路由表。當(dāng)之后路由信息出現(xiàn)變化的話,將執(zhí)行觸發(fā)更新操作。路由器將從鄰居處收到的路由信息放入到拓?fù)浔碇?,并將該表中的最佳路徑?biāo)記為后繼路由通告給鄰居。EIGRP協(xié)議擁有自己的數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu),其包括接口表,鄰居表和拓?fù)浔淼?。對于接口表來說,存儲的是所有開啟了EIGRP的本地接口信息,從這些接口才可以接收到EIGRP路由信息。對于鄰居表來說,存儲的是鄰居路由器信息。對于拓?fù)浔韥碚f,存儲的是所有EIGRP的可用路由信息。
在具體維護(hù)EIGRP協(xié)議運(yùn)行時,會遇到各種情況,這就需要網(wǎng)管員通過排查保證EIGRP協(xié)議順利運(yùn)行。下面以簡單的實驗環(huán)境,來說明EIGRP協(xié)議相關(guān)的維護(hù)技巧。
例如,在本實驗環(huán)境中,路由器R1和R3之間以Fa0/0連接,在R1和R2之間以Fa0/1連接,,R2和R3之間以Fa0/2接口連接,上述三個路由器之間實現(xiàn)的彼此相連的全互聯(lián)狀態(tài),R3和R4通過S0/0串口單獨連接。
R1的環(huán)回口Loopback 0的 IP為 192.168.1.1,F(xiàn)0/0接 口IP為192.168.13.1,F(xiàn)0/1的IP為192.168.12.1。
R2的環(huán)回口Loopback 0的 IP為 192.168.2.1,F(xiàn)0/2接 口IP為192.168.23.2,F(xiàn)0/1的IP為192.168.12.1。
R3的環(huán)回口Loopback 0的 IP為 192.168.3.1,F(xiàn)0/0接 口IP為192.168.13.3,F(xiàn)0/2的IP為192.168.23.3,S0/0的IP為192.168.34.3。
R4的環(huán)回口Loopback 0的 IP為 192.168.4.1,S0/0接 口IP為192.168.34.4。其使用的自治系統(tǒng)號為90,在 R1上 使 用“router eigrp 90”,“network 192.168.1.0”,“network 192.168.12.0”,“network 192.168.13.0”,“no autosummary”等命令,將本地環(huán)回口Loopback0,和 R2,R3 連接的端口所在的網(wǎng)段宣告出去。在其余的路由器上執(zhí)行對應(yīng)的操作,使其得以運(yùn)行EIGRP協(xié)議。
在R1上 執(zhí) 行“show ip protocols”命令,檢查當(dāng)前動態(tài)路由協(xié)議運(yùn)行信息。 執(zhí) 行“show ip eigrp interface”命令,查看哪些接口開啟了EIGRP。執(zhí)行“show ip eigrp neighbors”命令,可以查看其鄰居信息。執(zhí) 行“show ip eigrp neighbors Fa 0/1”命令,可以查看指定端口連接的鄰居信息。執(zhí)行“show ip eigrp topology”命令,查看拓?fù)浔硇畔ⅰ?zhí)行“debug ip eigrp”命令,可以監(jiān)視本地EIGRP的路由事件信息,包括鄰居關(guān)系的建立和刪除,路由條目的建立和刪除等。執(zhí)行“debug eigrp packets”命令,可以監(jiān)控和EIGRP相關(guān)的所有數(shù)據(jù)包。
在R4上存在環(huán)回口Loopback0,其接口IP為192.168.4.1,當(dāng)在 R1上執(zhí)行“ping 192.168.4.1” 命令,卻出現(xiàn)了無法Ping通的情況,這就說明EIGRP的路由轉(zhuǎn)發(fā)存在某些問題。
首先,在R1上執(zhí)行“show ip route”命令,查看本地路由表信息,沒有發(fā)現(xiàn)和192.168.4.0/24相關(guān)的網(wǎng)段路由信息,據(jù)此可以判斷R1根本沒有收到R4的上述網(wǎng)絡(luò)路由信息。
在路由表中可以看到,R2和R3之 間 的 路由192.168.23.0/24,以及R3和R4之間的路由192.168.34.0/24是正常存在的,兩條路由的下一跳均指向192.168.13.3,這就說明R3可以和R1之間正確的交換路由信息。
在R1上執(zhí)行“show ip eigrp neighbors”命令,在鄰居表中看到和R3鄰居關(guān)系是正常的,因為R3的Fa0/0的 IP為 192.168.13.3。 同時看到R1和R2也正確建立了鄰居關(guān)系,這樣就排除了因為R1配置錯誤而無法收到R4路由的情況。
在R3上執(zhí)行“show ip route”命令,在路由表中也沒有出現(xiàn)和192.168.4.0/24有關(guān)的路由信息。
執(zhí) 行“show ip eigrp interfaces”命令,查看R3的接口表信息,發(fā)現(xiàn)其和其他三臺路由器連接的接口均處于開啟狀態(tài)。
執(zhí) 行“show ip eigrp neighbors”項,查看R3的鄰居關(guān)系信息,卻發(fā)現(xiàn)R3只和R1,R2建立了鄰居關(guān)系,并沒有和R4建立鄰居關(guān)系。
但是R3和R4連接的Serial0/0已經(jīng)處于開啟狀態(tài),卻沒有和R4建立鄰居關(guān)系,這就要到R4上檢查與R3連接的端口是否開啟了EIGRP。在R4上執(zhí)行“show ip eigrp interfaces”命令,發(fā)現(xiàn)其鄰居表是空的。
執(zhí) 行“show ip in tbrie”命令,查看其端口的詳細(xì)信息,發(fā)現(xiàn)端口Serial0/0處于UP狀態(tài)。
執(zhí) 行“show runningconfig|section router eigrp”命令,查看和EIGRP相關(guān)的配置指令。
發(fā)現(xiàn)其使用的宣告命令為“192.168.0.0”命令,試圖將R4上的環(huán)回口以及Serial0/0端口全部宣告出去。
但這種方式明顯是錯誤的,因為這樣的宣告方式只包含了192.168.0.0/24網(wǎng)段,顯然沒有包含R4上的相關(guān)端口地址。
處理方法是執(zhí)行“route eigrp 90”,“network 192.168.0.0 0.0.255.255”。“end”命令,執(zhí)行正確網(wǎng)址宣告,就可以打通從R1到R5的路由了。
當(dāng)然,造成從R1無法訪問R4的原因不止上面提到的問題。
例如,在R1上執(zhí)行“show ip eigrp neibors”命令,發(fā)現(xiàn)其和R2以及R3都建立了正確的鄰居關(guān)系。
執(zhí) 行“show ip eigrp topology”命令,在拓?fù)浔碇锌梢钥吹?92.168.34.0/24網(wǎng)段是從R3的Fa0/0處學(xué)來的,該端口IP為192.168.13.3。
而192.168.23.0/24網(wǎng)段路由是從R2的S0/0(IP為 192.168.12.2)和 R3的F0/0處學(xué)來的。
據(jù)此可以判斷,R1從R2和R3處收取路由信息是沒有問題的。
在R3上進(jìn)行查看,發(fā)現(xiàn)其和R4的鄰居關(guān)系出現(xiàn)連續(xù)的浮動,并顯示“K-value mismatch”的提示信息。
根據(jù)以上信息,不難看出R3和R4的鄰居關(guān)系之所以出現(xiàn)動蕩,是因為K值不匹配的緣故。
因為EIGRP協(xié)議在計算度量值的時候,會使用到從K1到K5等數(shù)值,而兩臺路由器要想建立鄰居關(guān)系,其K值必須匹配。
如果其K值不同,說明兩者計算路徑度量值的方式存在差異,即對路徑判斷的依據(jù)無法統(tǒng)一,自然不能建立鄰居關(guān)系。
因為R3和R1以及R2可以建立鄰居關(guān)系,說明R3的K值配置沒有問題。
在R3上執(zhí)行“show ip protocols”命令,在“EIGRP metric weight”欄中顯示K1和K3的值為1,其余的K值為0。
在R4上執(zhí)行 “show ip protocols”命令,發(fā)現(xiàn)其所有的K值均為1,可能其K值被錯誤的修改過。
執(zhí) 行“show runningconfig|section router eigrp”,發(fā)現(xiàn)錯誤的K值修改指令。處理方法將其清除即可。
例如,執(zhí)行“route eigrp 90”,“no metric weights 0 1 1 1 1 1”之類的指令。就可以恢復(fù)默認(rèn)的K值。
實際上,在建立EIGRP鄰居時,其自治系統(tǒng)號,K值以及認(rèn)證參數(shù)等關(guān)鍵信息必須一致。