?

基于GNS3的EIGRP路由設計與實現?

2019-05-07 07:53
關鍵詞:路由表身份驗證匯總

孫 光 懿

(天津音樂學院圖書與信息中心,天津 300171)

0 引 言

EIGRP 協議是思科公司通過整合鏈路狀態路由協議與距離矢量路由協議各自優點后,推出的一種私有路由協議[1-4].EIGRP 路由器之間的通信不依靠廣播來進行,而是通過組播或單播的方式來進行(在 IPV4 和 IPV6 網絡中,運行 EIGRP 協議的路由器分別使用組播地址224.0.0.10 和 FF00::A 進行HELLO 數據包的傳輸),具有收斂速度快、占用網絡帶寬小、部署簡單便捷、穩定性高、可有效避免網絡中路由環路的存在、支持多種網絡協議、支持VLSM、支持MD5 認證、支持在度量值不同的路徑中實施流量負載均衡等特點.因此,當前EIGRP 協議在大中型網絡中得到了廣泛的應用.與傳統的鏈路狀態路由協議OSPF 和距離矢量路由協議RIP 相比既有相似又有不同之處.相似之處在于:第一,EIGRP 協議與OSPF和RIP協議均支持MD5認證;第二,在EIGRP路由器與OSPF路由器中都會存在一張拓撲表,這主要是用來存放鄰居路由器中的路由表.不同之處在于:第一,運行 RIP協議的路由器會周期性的向相鄰路由器發送整張的路由表,而運行EIGRP協議的路由器不會周期性的向相鄰路由器發送整張的路由表,只有在路由路徑或度量值發生改變后,才發送相應的路由更新信息;第二,EIGRP 協議的跳數可達255 跳,而 RIP 協議的最高跳數只有15 跳;第三,運行 OSPF 的路由器會向區域內的所有路由器發送路由更新信息,而運行EIGRP 協議的路由器只是將路由更新信息發送給有需求的路由器;第四,EIGRP 協議具有路由自動匯總功能,而OSPF 協議要想實現路由匯總,必須手動進行;第五,EIGRP 協議與OSPF 協議度量值的計算方法不同.從嚴格意義上來講,EIGRP 協議是一種有著鏈路狀態路由協議特征的高級距離矢量路由協議.

1 EIGRP協議路由建立的過程[5-6]

在這里我們以運行 EIGRP 協議的路由器 R1、R2 為例,給出EIGRP 協議路由建立與維護的過程.第一步,建立路由器R1 與路由器R2 的鄰居關系:路由器R1 會每隔5 秒向路由器R2 發送一次HELLO 數據包.路由器R2 收到 HELLO 數據包后,會自動發送更新數據包與HELLO 數據包進行應答(此更新數據包不僅包含路由器R2 中的所有路由信息,而且還包含鄰居路由器去往各目的地址的度量值).路由器R1 在收到來自路由器R2 的HELLO 數據包后,雙方的鄰居關系就此正式建立.第二步,雙方鄰居關系成功建立后,路由器R1 為表明已收到路由器R2 發送的更新數據包,會向其發送一個確認數據包既ACK.第三步,路由器R1 將收到的更新數據包中的信息加入到自身拓撲表中.第四步,路由器R1 向路由器R2 發送更新數據包.(此更新數據包不僅包含路由器R1 中的所有路由信息,而且還包含鄰居路由器去往各目的地址的度量值).第五步,路由器R2 在收到來自路由器R1 的更新數據包后,同樣會向其發送一個確認數據包.第六步,路由器R1 與R2 的更新數據包互相交換完成后,進而計算出后繼路由與備用路由(如果后繼路由發生故障,而拓撲表中存在的備用路由就會成為新的后繼路由),并基于后繼路由更新自己的路由表.

2 EIGRP協議的基本配置

啟用EIGRP 協議的兩臺路由器如想成功建立鄰居關系[7-8],應將二者自治系統編號(用來唯一標識EIGRP 協議進程)和計算度量值的 K 值設置為一致.需要明確的一點是:相同自治系統編號內的EIGRP 路由器,可實現自動交換路由信息.而不同自治系統編號的路由器如想交換路由信息,需配置路由重分發才可以.與 OSPF 路由協議類似,EIGRP 域內路由器的身份標識工作,也是交由路由ID 來負責進行.如果網絡管理人員沒有手動為EIGRP 路由器設置路由ID,那么路由器會將最高的LOOPBACK 接口IP 地址作為自己的路由 ID.如果EIGRP 路由器不存在LOOPBACK 接口,那么這臺路由器會將所屬活躍接口的最高IP 地址設置為路由ID.路由ID 一旦成功建立就不會自動改變,除非路由器不再運行EIGRP 協議或對其進行人為更改.

通過思科網絡仿真軟件 GNS3,本研究搭建了一個由3臺 Cisco3640 路由器構成的 EIRGP 網絡.為節省文章篇幅,這里只給出路由器R1 的詳細配置過程,網絡拓撲如圖1所示.

圖1 EIGRP協議基本配置

路由器R1 的配置:

R1(config)#router eigrp 25

R1(config-router)# eigrp router-id 11.11.11.11//設置路由器ID

R1(config-router)#network 172.18.1.0

R1(config-router)#network 192.168.6.0

以路由器R2 為例,并使用 show ip eigrp nei 命令查看與路由器R1、R3 的鄰居關系是否成功建立.如圖2所示.其中,H 表示EIGRP 會話建立的順序,Address 表示 EIGRP 對端鄰居的 IP,Uptime 表示路由器R2 與R1、R3 的鄰居關系已成功建立了多長時間,Q 表示將要發送EIGRP 數據包的數量.當網絡發生故障時,此值將大于0.從中我們不難發現:路由器R2 已成功啟動了編號為25 的 EIGRP 進程,并與路由器R1、R3 成功建立了鄰居關系.其 EIGRP 對端鄰居IP 地址分別為175.18.1.1 和 175.17.1.2.

圖2 路由器R2的EIGRP鄰居關系

另外,為了清楚直觀的了解EIGRP 協議的工作過程,以路由器 R2 接口 s2/0 為源,對其進行抓包分析.如圖3所示.

從中不難發現:第一,路由器 R1 與路由器 R2為了建立與維持EIGRP 鄰居關系,互相之間每隔5秒發送一次HELLO 數據包(HELLO 數據包無需被確認,其發送周期是由網絡帶寬大小來決定的.如果網絡帶寬大于1.544 兆,那么發送周期為5 秒;如果網絡帶寬小于1.544 兆,那么發送周期為60 秒),保持時間為15 秒(默認為 HELLO 數據包發送周期的三倍),目標地址均為組播地址224.0.0.10(這也決定了EIGRP 協議只能在內網中使用).第二,路由器R1 與路由器 R2 所發送的HELLO 數據包中包含有相同的自治系統編號與度量值.第三,EIGRP 協議的 HELLO 數據包與OSPF 協議的 HELLO 數據包一樣,也是被封裝在IP 數據包內進行傳輸的.第四,計算 EIGRP 度量值所使用的變量,K1、K2、K3、K4、K5 的值分別為 1、0、1、0、0.

圖3 路由器R2接口s2/0的數據包

3 EIGRP協議的身份驗證[9-11]

為了保證EIGRP 網絡的安全性,防止未經授權的路由器進入EIGRP 網絡,并向相鄰路由器發送虛假的路由更新信息,有必要對組成EIGRP 網絡的各路由器進行身份驗證.需要說明的是:EIGRP 協議僅支持MD5 身份驗證,并且在默認情況下,不啟用身份驗證功能.MD5 身份驗證具有更高的安全性與可靠性,相比明文身份驗證方式,它只對散列值(以路由協議、密鑰、密鑰 ID 為依據,通過運行某種算法而生成)進行發送,而對密鑰本身則不進行發送,以此來確保黑客無法從傳輸線路上獲取用于進行路由器身份驗證的密鑰.EIGRP 網絡在啟用身份驗證后,網絡管理人員均需為每臺EIGRP 路由器設置相應的密鑰(允許設置多個密鑰,每個密鑰還可以設置有效時間)與密鑰ID,與此同時還可以對密鑰的使用壽命進行設置.

通過思科網絡仿真軟件GNS3,本研究搭建了一個由2 臺 Cisco3640 路由器 R1、R2 構成的 EIRGP網絡,并啟用其MD5 身份驗證功能.每臺路由器均存在2個密鑰分別為 sgy79 與 lzz81.其中,密鑰sgy79 只在 2018年5月1日至 2018年5月15日23點期間負責對路由器發送與收到的EIGRP 分組進行身份驗證,而密鑰lzz81 只在2018年5月16日至2018年5月31日23 點期間負責對路由器發送與收到的EIGRP 分組進行身份驗證.為了讓廣大讀者能夠輕松的掌握EIGRP 協議MD5 身份驗證的配置方法,在這里給出路由器R1 的詳細配置過程,路由器R2 的配置過程與其類似,故省略.網絡拓撲如圖4所示.

圖4 EIGRP協議MD5身份驗證

路由器R1 的配置:

R1(config)#servi password-encryption/ /設置密鑰字符串將以加密的方式存儲在路由器R1 中

R1(config)#key chain sl

R1(config-keychain)#key1

R1(config-keychain-key)#key-string sgy79

R1(config-keychain-key)#accept-lifetime 00:00:01 1 MAY 2018 23:00:00 15 MAY 2018/ /指定密鑰可用于對收到的EIGRP 分組進行身份驗證的時間段.

R1(config-keychain-key)#send-lifetime 00:00:01 1 MAY 2018 23:00:00 15 MAY 2018

R1(config-keychain)#key2

R1(config-keychain-key)#key-string lzz81

R1(config-keychain-key)#accept-lifetime 00:00:01 16 MAY 2018 23:00:00 31 MAY 2018

R1(config-keychain-key)#send-lifetime 00:00:01 16 MAY 2018 23:00:00 31MAY 2018

R1(config)#int s2/0

R1(config-if)#ip authenti mode eigrp 25 md5

R1(config-if)#ip authenti key-chain eigrp 25 sl/ /在 s2/0 接口上配置 EIGRP 密鑰鏈

4 EIGRP協議的路由匯總[12-14]

眾所周知EIGRP 路由器獲取路由信息的唯一途徑就是依靠鄰居路由器.當其丟失到達目的網絡的路由時,EIGRP 路由器就會向除備用路由接口外的其它所有可用接口,發送查詢數據包.鄰居路由器在收到查詢數據包后,會檢查自身路由表中是否存在有到達目的網絡的路由.如存在,它會對查詢數據包進行回復,并停止向自己的鄰居路由器發送查詢數據包.如不存在,則會向自己的每個鄰居路由器繼續發送查詢數據包.這樣以來不僅會造成網絡流量的大幅增加,而且也會造成網絡帶寬資源的緊張.為了避免這一情況的發生,可以采用路由匯總的方式對EIGRP 協議查詢消息進行優化處理.在EIGRP 網絡中應用路由匯總后,不僅可有效降低網絡中查詢消息的數量,而且還助于控制路由表的規模.需要注意的是:雖然EIGRP 協議支持自動路由匯總(只對本地路由器產生的路由進行匯總),但是對于無類網絡而言(相對與有類網絡,無類網絡IP 地址的子網掩碼是變長的.)容易造成不可連通問題,因此在實際應用中多采用手動路由匯總.

通過思科網絡仿真軟件GNS3,搭建1個由4臺Cisco3700路由器 R1、R2、R3、R4 構成的網絡,網絡拓撲如圖5所示.其中,路由器 R1 為校園網出口路由器,路由器 R4 為教育網邊界路由器,路由器R2、R3 均為校園網內部路由器,且存在多個連續的有類網絡(相當于無類網絡,有類網絡的IP地址可以歸結為A類、B類、C類IP).為了降低網絡中查詢信息的數量以及控制路由器中路由表的規模,有必要在路由器R2與R3上部署手動路由匯總.在這里給出路由器 R2、R3 的詳細配置過程.

圖5 EIGRP協議路由匯總網絡拓撲

路由器R2 的配置:

R2(config)#router eigrp25

R2(config-router)#no auto summary

R2(config)#int s2/0/ /選擇用于進行路由匯總傳播的接口

R2(config-if)# ip summary-address eigrp 25 192.168.0.0/21

路由器R3 的配置:

R3(config)#router eigrp 25

R3(config-router)#no auto summary

R3(config)#int s2/0/ /選擇用于進行路由匯總傳播的接口

R3(config-if)# ip summary-address eigrp 25 192.168.8.0/21

2 條匯總后的路由 192.168.0.0/21 與192.168.8.0/21,除了包括路由器 R2、R3 上 4個連續的子網外,還包括了一些未在網絡中部署的子網.如果這些還未在網絡中部署的子網被部署在了其它地方,就會造成無法連通的問題.為了驗證在路由器R2 與R3 中進行的手動路由匯總是否配置成功,使用show ip route 命令查看路由器R1、R2、R3的路由表,詳情如下:

從上述各路由器的路由表中不難發現,在路由器R1 的路由表中存在兩條管理距離為90,開銷值為2297856 的 EIGRP 匯總路由即 192.168.0.0/21與192.168.8.0/21,這充分說明路由器 R1 已成功學習到了在路由器R2、R3 中進行的手動路由匯總.另外,路由器R2、R3 在執行完路由匯總后,會各自生成一條黑洞路由,這主要是為了確保網絡中無路由環路.以路由器R2 為例,假設其收到了一條其目的地址在192.168.0.0/21 范圍內的數據包,而恰巧路由器R2 的路由表中并不存在到達這個目的地址的路由.此時,如果路由器R2 的路由表中存在默認路由,那么這條數據包就會按照默認路由的路徑進行轉發.默認路由的下一跳設備則有可能將收到的數據包再轉發回路由器 R2.這樣的話,就不可避免的會產生路由環路.

圖6 路由器R1的路由表

圖7 路由器R2的路由表

圖8 路由器R3的路由表

5 EIGRP負載均衡[15-16]

EIGRP 協議即可支持等開銷負載均衡又可支持非等開銷負載均衡.需要注意的是:這里所提到的負載均衡,只是面向流經路由器的數據流,并不涉及路由器自身所產生的數據流.對于等開銷負載均衡而言,只要等開銷路由的數量沒有超過 maximum-paths 所設置的數量(如maximum-paths 被設置為1,則表明禁止等開銷負載均衡),這些等開銷路由都將會被加入到路由器的路由表中.對于非等開銷負載均衡而言,通過設置 variance multiplier 命令可將后繼路由和備用路由都加入到路由器的路由表中.如將備用路由加入到本地路由表中還需要滿足以下兩個必要條件:首先,RD(通告距離)必須小于FD(可行距離).其次,備用路由的 FD 值必須小于后繼路由FD 和multiplier 相乘后的值.

通過思科網絡仿真軟件GNS3,搭建了一個由4臺 Cisco3640 路由器 R1、R2、R3、R4 構成的網絡,當路由器R1 訪問路由器 R4 的 loopback 1 時,有兩條路由可供選擇.通常情況下一條為后繼路由,一條為備用路由,只有后繼路由會被加入到路由器R1的路由表中.為了讓廣大讀者能夠輕松的掌握EIGRP 協議等開銷負載均衡與非等開銷負載均衡的配置方法,在這里給出路由器R1 的詳細配置過程.網絡拓撲如圖9所示.

圖9 EIGRP負載均衡網絡拓撲

5.1 EIGRP協議非等開銷負載均衡

路由器R1 的配置:

R1(config)#router eigrp25

R1(config-router)#network 192.168.3.0 0.0.0.255

R1(config-router)# network 192.168.4.0 0.0.0.255

R1(config-router)#no auto-summary

R1(config-router)#variance 5/ /對度量值的范圍進行指定

R1(config)#int s2/0

R1(config-if)#ip add 192.168.3.1 255.255.255.0

R1(config-if)#bandwidth 100000/ /將 s2/0 接口的速率設置為100M

R1(config-if)#delay 2000

R1(config)#ints2/1

R1(config-if)# ip add 192.168.4.1 255.255.255.0

R1(config-if)#bandwidth 100000/ /將 s2/1 接口的速率設置為100M

R1(config-if)#delay 3000

為了驗證EIGRP 協議非等開銷負載均衡是否在網絡中配置成功,本研究使用sh ip eigrp topology命令與sh ip route 命令分別查看路由器R1 的拓撲表和路由表.如圖10、圖11所示.

圖10 路由器R1的拓撲表

從中不難發現,在路由器 R1 的拓撲表中存在2 條到達 192.168.7.0/24 子網的 EIGRP 路由,其中后繼路由的下一跳 IP 地址為192.168.3.2,RD(通告距離為 2297856)<FD(可行距離為2809856);備用路由的下一跳 IP地址 為 192.168.4.2,RD值(通告距離為2297856)< FD值(可行距離為 3065856),且備用路由的 FD值又恰好小于后繼路由 FD值的5倍,這說明備用路由也是可行的(將被加入到路由表中),因此在路由器R1 的路由表中存在兩條可到達192.168.7.0/24 子網且開銷值不同的路由.與此同時,兩條 EIGRP 路由所承擔的數據流量與其 FD 值成正比.

圖11 路由器R1的路由表

5.2 EIGRP協議等開銷負載均衡

路由器R1 的配置:

R1(config)#router eigrp25

R1(config-router)#maximum-paths 2 / /定義路由器R1 支持二條等開銷路徑負載均衡

R1(config-router)#network 192.168.3.0 0.0.0.255

R1(config-router)#network 192.168.4.0 0.0.0.255

R1(config-router)#no auto-summary

R1(config)#int s2/0

R1(config-if)#delay 3000

R1(config)#int s2/1

R1(config-if)#delay 3000

為了驗證EIGRP 協議等開銷負載均衡是否在網絡中配置成功,使用show ip route 命令查看路由器R1 的路由表.如圖12所示.

圖12 路由器R1的路由表

從中不難發現,在路由器R1 的路由表中存在兩條可到達192.168.7.0/24 子網且開銷值相同的EIGRP 路由.其中一條EIGRP 路由經過路由器 R2,下一跳IP 地址為192.168.3.2;另一條 EIGRP 路由經過路由器 R3,下一跳 IP 地址為192.168.4.2.與此同時,2 條 EIGRP 路由所承擔的數據流量比為1 ∶1.

6 結束語

EIGRP 協議憑借其自身特有的收斂速度快、無路由環路、支持負載均衡等特性,目前已在大中型網絡中得到了廣泛應用.廣大工程技術人員在網絡中實際部署 EIGRP 時,往往需要進一步對 EIGRP行為進行優化,從而限制EIGRP 的查詢范圍,控制路由表的規模,并保持EIGRP 的高擴展性.

猜你喜歡
路由表身份驗證匯總
常用縮略語匯總
系統抽樣的非常規題匯總
基于OSPF特殊區域和LSA的教學設計與實踐
研究路由表的查找過程
人臉識別身份驗證系統在養老保險生存核查中的應用
供應商匯總
供應商匯總
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
HID Global推動多層身份驗證解決方案
BGP創始人之一Tony Li:找到更好的途徑分配互聯網地址
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合