网工路由基础(4)EIGRP协议
? EIGRP的五種報文??
Hello:建立與維護鄰居關系,hello數(shù)據(jù)包以組播方式發(fā)送,影響EIGRP鄰居建立的點:AS不一致、K值不一致、認證不通過
Update:傳遞路由信息(使用seq和ack保證數(shù)據(jù)可靠性)
Query:丟失路由表中某一條路由,并且沒有備份路徑時,以組播的方式向所有EIGRP接口發(fā)出查詢
SIA-Reply:
Ack:hello報文的變種,用于確認
Query和reply用于現(xiàn)有最佳路徑丟失,但是拓撲表中也無可用備份路徑時,重新向鄰居查詢最佳路徑
ELGRP ?Query過程:
當路由條目丟失時,EIGRP路由器向鄰居發(fā)送Query報文,丟失的路由條目會置為active state。
接收路由器收到Query時,且有該路由信息:
如果查詢者不是該路由的可行后繼路由器,那接受路由器會把可行后繼路由器以Reply發(fā)給查詢者
如果查詢者是該路由的可行后繼路由器,則該路由器會先判斷本地拓撲表內(nèi)是否有該路由的備份路由(其他可行后繼路由器):??
1.如果有備份路由,則該路由器將更新本地路由表,將最優(yōu)路由切換至該路由,并將以該路由器以Reply方式發(fā)送給查詢者? ?
2.如果沒有該備份路由,將該路由條目置為active,然后轉(zhuǎn)發(fā)查詢發(fā)給其他EIGRP鄰居
?
在查詢中也會遇到很奇葩的情況:A給B發(fā)送查詢,B沒有該路由信息,B向C發(fā)送查詢,B因為其他原因沒有收到C的reply消息。所以B也不能回復給A
沒加active增強,如果A的鄰居B在3分鐘內(nèi)沒有回復查詢結(jié)果,丟失的路由條目將處于SIA狀態(tài),路由器重置對于未能答復鄰居的鄰居關系
Active增強后,如果A的鄰居B在3分鐘內(nèi)沒有回復查詢結(jié)果,A過了3分鐘后,對 B作存活確認,如果B存活,計時器清零(重新等待消息)。如果B不存活,丟失的路由條目將處于SIA狀態(tài),路由器A重置對于未能答復鄰居的鄰居關系
?EIGRP stub?
未啟用末節(jié)特性:B中的10.1.1.0/24鏈路斷開,B向A、C、D、E發(fā)送Query
啟用末節(jié)特性:B中的10.1.1.0/24鏈路斷開,其他路由器到10.1.1.0/24的路由都要經(jīng)過B,所以這些查詢根本沒必要出現(xiàn)。以抑制Query報文!C、D、E啟用末節(jié)特性,B只會向A發(fā)起查詢
末節(jié)特性:提高網(wǎng)絡的穩(wěn)定性,降低了資源開銷,并簡化了遠程路由器配置。末節(jié)路由器發(fā)送了一個特殊的對等體消息給所有的鄰居,報告其狀態(tài)為Stub路由器。鄰居不會向Stub路由器發(fā)送任何Query消息,末節(jié)路由器通常用于Hub-and-spoke拓撲。
EIGRP stub配置:#配置了末節(jié)特性的路由器向鄰居通告【啥也不通告|直連|靜態(tài)|匯總】路由Router(config-router)#eigrp ?stub ? [receive-only ?| connected ?| static ?| summary]注意:默認值為向鄰居通告直連和匯總路由
EIGRP鄰居發(fā)現(xiàn)和恢復
鄰居:指在網(wǎng)絡上直連的通告EIGRP的路由器
建立鄰居關系:兩臺路由器在特定接口(啟用EIGRP協(xié)議的接口)以組播方式每5s發(fā)送一次hello數(shù)據(jù)包,接受到hello數(shù)據(jù)包的路由器B會將路由器A放入自己的鄰居表(同理路由器A中也有路由器B)。成功建立鄰居關系!
▲注意:啟用了EIGRP協(xié)議的路由器,會監(jiān)聽組播地址224.0.0.10
維護鄰居關系hello數(shù)據(jù)包中包含一個抑制時間(holdtime),該抑制時間會告訴路由器B ,在它收到后續(xù)hello數(shù)據(jù)包之前等待的最長時間。如果抑制時間器超時,路由器B還沒收到hello數(shù)據(jù)包,那么宣告這個鄰居不可達!
Holdtime=3*hello? (一般5s)
▲注意:EIGRP發(fā)送的hello 包的頻率大于RIP發(fā)送路由更新的頻率高的多,因此EIGRP收斂速度比RIP收斂速度更快。所以EIGRP網(wǎng)絡的通信效率高。
AS號:相鄰的兩臺路由設備上配置了相同AS號的EIGRP協(xié)議,且雙方滿足建立鄰居的條件(metric公式中k1-k5參數(shù)完全相同),便會正常建立和維護鄰居狀態(tài)。
相反配置了不同的AS 號的EIGRP協(xié)議,它們就無法相互發(fā)送路由更新,也不會建立鄰居關心,不同的AS號的相鄰EIGRP路由器之間需要使用重分布來相互轉(zhuǎn)發(fā)路由信息。一臺路由器上可以啟用多個不同的AS號,用來宣告不同網(wǎng)絡。無論從哪個AS鄰居EIGRP設備雪來的路由,都會保存在同一個路由表中。路由器轉(zhuǎn)發(fā)數(shù)據(jù)時,只會查看路由表中是否有去往該目的地址的路由。
影響建立鄰居關系的條件:AS號、metric、passive-interface
關系
passive-interface:路由器不會再改接口發(fā)送和接受hello 消息,無法建立鄰居
EIGRP鄰居表、拓撲表、路由表
鄰居表(neighbor? tabie)
Address:下一跳路由器IPInterface:對應接口Hold: 對應hello時間Uptime:鄰居建立多久
兩臺直連路由器之間使用hello包建立鄰居,并相互把對方存在鄰居表中,之后相互發(fā)送自身的完整路由信息。
查看EIGRP鄰居表:show ip eigrp neighbors
拓撲表(topology table)
路徑狀態(tài)(P/A/U/Q/R/r/s)? 目的地,后繼路由器,FD值,下一跳(FD/AD),接口
▲注意:拓撲表中存放的是去往目的地的所有備份路徑和最佳路徑,最佳路徑是在經(jīng)過計算 后,加入到路由表中的路徑!
將學習到的每一條路由信息放入拓撲表,并在拓撲表中運行DUAL算法,選出去往某一個目的網(wǎng)絡最優(yōu)的路徑放入路由表中
?
查看拓撲表:show ip eigrp topology
路由表(route? ?table)
?
路由表轉(zhuǎn)載去往每一個目的網(wǎng)絡的最優(yōu)路徑。注意:路由表只有最佳路徑,不存在備份路徑。
?
最佳路徑計算過程:鄰居表中先建鄰居——拓撲表中再計算metric值,并根據(jù)DUAL計算出最佳路徑——將最佳路徑加入到路由表。
?
DUAL有限狀態(tài)機
?
DUAL的特征:自帶防環(huán)機制,無需使用水平分割、路由毒化等特性。DUAL算法可以在當前路徑失效時,快速收斂出新的路徑。
?
?
▲注意:最佳路徑和備份路由由DUAL算法在拓撲表中計算出
▲注意:AD和FD實際為metric值
▲注意:FS(可行后繼路由器)可以有多個,只要滿足AD<FDmin
最佳路徑:選擇具有最小FD的路由器,成為successor(后繼路由器),將最佳路徑加入路由表
備份路徑:若最小FD>另一個AD(非最佳路徑已選擇的AD),那么該具有AD的路由器,成為FS(可行后繼路由器),否則沒有備份路徑
?
?
※? ?先比較FD值,選最小的,成為successor(后繼路由器)
? ? ? 如果AD<最小FD,那么擁有AD值的路由器成為可行后繼路由器,一旦已有的后繼路由器發(fā)生斷開,拓撲表中的可行后繼路由器頂替上來;
? ? ? ?如果AD>最小AD,那么沒有可行后繼路由器,防止發(fā)生路由環(huán)路,一旦已有的后繼路由器發(fā)生斷開,會重新向其他鄰居請求去目標網(wǎng)絡路徑。
metric計算
問:兩個路由器之間鏈路的度量值是如何計算的?
答:通過公式 算出來的。
公式:
?
影響鏈路度量值(metric)的參數(shù)有以下幾個:
*?Bandwidth:源和目的之間的最小帶寬* Delay : 路徑上接口的累積延遲
*??Reliability :源和目的之間的最低可靠性,基于存活消息
*??Loading :? 源和目的之間鏈路上的最大負載,基于速率和接口配置的帶寬
那么默認metric公式=(DLY=BW)*1? (cisco文檔中說K5=0是,后面式子為1 )
延遲取值沿路所有數(shù)據(jù)出接口(或路由入口)延遲的累加
-DLY=延遲(us) / 10? x? 256
帶寬取值沿路所有數(shù)據(jù)出接口(或路由入口)帶寬的最低值
-BW=[10000000 / 帶寬(Kbps)]? x? 256
metric默認 = 延遲(DLY) + 寬帶(BW)
取值:路由入接口或者數(shù)據(jù)出接口
【路由入接口或者數(shù)據(jù)出接口】:路由學習方向
修改度量值參數(shù) :metric weight tol k1 k2 k3 k4k5 ?(tol為0,無其他 意義)
▲注意:建立鄰居之后,修改k值也會斷開鄰居
▲注意:metric值越小,路徑越優(yōu)
?
?
show命令
查看鄰居表:
do?show?ip eigrp neighbor 查看(滿足FC條件)拓撲表:do?show?ip eigrp topology 查看是否滿足FC條件的拓撲表:show?ip?eigrp?topology?all-links 查看路由表:
do?show?ip route eigrp 查看活動路由協(xié)議進程的參數(shù)和當前狀態(tài):show ip protocols(主要查看K值) 查看是否自動匯總:do?show?run?|?se?routerShow running-config | section r e 查看接口信息:do?show?ip eigrp interfaces 查看接口對應的IP地址:
do?show?ip?interface?brief 查看發(fā)送和接受的IP數(shù)據(jù)包的數(shù)量:do show ip eigrp traffic
查看所有類型的EIGRP數(shù)據(jù)包(包括發(fā)送和接受的):
debug eigrp packet
查看EIGRP鄰居交互:
debug eigrp neighbor 查看EIGRP對路由表的宣告和更改:debug ip eigrp route 查看EIGRP路由活動的簡要報告:debug ip eigrp summary 查看不同類別的EIGRP活動,包括路徑計算:show ip eigrp events
?
配置EIGRP
第一步:設置AS號
需要建立鄰居的所有路由必須具有相同的AS號
Router(config)#router ?eigrp AS號 ?(autonomous-system-number:1-65535)
第二步:關閉自動匯總
自動匯總功能作用就是對外通告路由條目時,將其匯總為主網(wǎng)絡,所以在存在不連續(xù)子網(wǎng)的環(huán)境中,使用無類距離矢量路由協(xié)議,就是關閉自動匯總
Router(config-router)#no auto-summary
第三步 :宣告網(wǎng)絡
使用反掩碼可以精確宣告主機或者宣告網(wǎng)絡
Router(config-router)#network ?網(wǎng)絡號(network-number)反掩碼 (wildcard-mask)
修改接口帶寬:
Router(config-if)#bandwidth 帶寬值
修改接口延遲:
Router(config-if)#delay 延遲值(us)
修改holdtime:ip hold-time?eigrp
?
EIGRP匯總
匯總的目的:產(chǎn)生更小的路由表、更小的路由更新
自動匯總特性:(了解)
*在主網(wǎng)邊界,子網(wǎng)匯總為一個主類網(wǎng)絡
*只匯總本地產(chǎn)生的路由,不匯總鄰居傳過來的路由
*啟用自動匯總的路由器會創(chuàng)建一條指向Null? 0 接口的匯總路由,防止環(huán)路
*自動匯總默認開啟(高版本IOS中已默認關閉)
手動匯總特性:(掌握)
*匯總可以配置在網(wǎng)絡內(nèi)的任何一臺路由器的任意接口
*接口上配置路由匯總時,路由器會自動創(chuàng)建一條指向Null? 0接口的匯總路由,防止環(huán)路
*當匯總的最后一條明細路由不存在時,匯總路由也將被刪除
*明細路由中的最小度量作為匯總路由的度量
EIGRP是基于鏈路的匯總,為了讓鄰居收到的路由變少,所以在本地路由物理接口上做匯總路由
Null 0路由會在路由表中存在
EIGRP手動匯總配置:#關閉自動匯總
Router(config-router)#no auto-summary
#接口將生成匯總路由Router(config-if)#ip summary-address eigrp
as號 addressmask 匯總路由AD值(自動產(chǎn)生)
EIGRP負載均衡/不等價負載均衡
EIGRP可以做等價負載均衡路由和不等價負載均衡路由
等價負載:
具有相同且為最小Metric的路由加入路由表,如果符合等價負載均衡,那么EIGRP會自動產(chǎn)生負載均衡路由
在路由表中,去往同一目的地的路由最多有十六個負載條目:
*V值設置成1表示為等價負載,默認4條等價負載路徑
*可以修改負載均衡條目數(shù),maximum-paths?1表示關閉負載
?
#V值設定
Router(config-router)#variancemultiplier
不等價負載兩個前提條件:
①備用路徑AD值<主用路徑最小FD值(即FC條件)
②備用路徑FD值<主用路徑FD×V值
【解釋】
Router E選擇RouterC到達network Z,因為最小FD=20
Variance設置為2,Router E也會選擇Router B到達network Z:30<[2*(FD)=40]?? 這里2和負載數(shù)量沒有關系,如果路由器D滿足FD<最小AD,那么也能成為負載鏈路。
Router D不會參與不等價負載均衡(25>20,不滿足FC條件)
EIGRP默認路由
三種方式下放默認路由:
第一種方法Network 0.0.0.0:? Ip route 0.0.0.0 0.0.0.0 serial 0 ? Router eigrp 100 ? Network 0.0.0.0 第二種方法Redistribute static: ? Ip route 0.0.0.0 0.0.0.0 serial 0 ? Router eigrp 100 ? Redistribute static第三種方法Summary address: ? Ip summary-address eigrp 100 0.0.0.0 0.0.0.0邊緣路由器連接內(nèi)網(wǎng)的接口下配置
EIGRP認證
EIGRP認證分為明文和密文認證兩種!
明文認證:(了解)
?
-
路由器發(fā)送數(shù)據(jù)包和秘鑰
-
鄰居檢查秘鑰是否匹配
-
安全性較低
密文認證:(掌握)
?
-
采用MD5加密生成消息摘要
-
配置秘鑰ID和秘鑰
-
路由器發(fā)送數(shù)據(jù)包和消息摘要,秘鑰不發(fā)送
-
安全性高
-
EIGRP使用秘鑰鏈(key? chain)管理秘鑰,秘鑰鏈中包含多個秘鑰ID、秘鑰、秘鑰生存周期
-
EIGRP只支持MD5認證,生成一個消息摘要
-
路由器發(fā)送路由更新報文時,使用第一個有效秘鑰
-
路由器配置一個秘鑰ID(key? id)和秘鑰(key-string),每個參與認證的鄰居必須配置相同的秘鑰ID和秘鑰
EIGRP認證配置:(掌握)#進入key chain配置模式設置key chainRouter(config)#key?chain SPOTO【密鑰連名稱】#進入key id 配置模式設置key idRouter(config-keychain)#key??1【密鑰ID】#配置key-stringRouter(config-keychain-key)#key-string??CCIE【密碼】#進入路由器接口配置下,指定EIGRP數(shù)據(jù)包的MD5認證Router(config-if)#ip?authentication?mode?eigrp??as號?md5#調(diào)用key chain中的key啟用EIGRP數(shù)據(jù)包的認證Router(config-if)#ip authentication key-chain eigrp ? as號 密鑰鏈名稱
▲注意:EIGRP認證時,路由器發(fā)送最低的key id,并且攜帶ID。只有keyID和key值分別完全相同時才能成功認證
命名模式
啟用命名模式:Router(config)#rotuer?eigrpTESTRouter(config-router)#address-familyipv4?unicast?autonomous-system?1Router(config-router)#network 10.1.1.0 0.0.0.255
傳統(tǒng)模式升級為命名模式:Router(config-router)#eigrpupgrade-cli?TEST Configuration will be converted from routereigrp 88 to router eigrp TEST.Are you sure you want to proceed?[yes |no]:yes
?
?
?往期回顧?
?網(wǎng)工路由基礎(1)靜態(tài)路由
網(wǎng)工路由基礎(2)路由選路原理
網(wǎng)工路由基礎(3)RIP原理與配置
?歡迎關注微信公眾號【廈門微思網(wǎng)絡】。www.xmws.cn專業(yè)IT認證培訓19周年
主要課程:思科、華為、紅帽、ORACLE、VMware、CISP、PMP等認證培訓及考證
?
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的网工路由基础(4)EIGRP协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8年运维大神总结:坚持4-3-2备份策略
- 下一篇: Redis宕机了怎么办?