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