EIGRP


因為rip的收斂時間長  尤其是使用過程中   鏈路down掉    重收斂的時間比較長  所以在中到大型的園區網中很少用到rip協議 只有在很小的局域網中用到rip   因為收斂時間可能會稍微短一些

所以在中大型的園區網內會用到EIGRP   路由選擇協議   收斂速度最快    
 
EIGRP   ----enhanced   internat  gateway routeing protocol    增強型的內部網關路由協議    思科私有協議   13年前只運行 在思科設備上  前身為IGRP  (僅為有類協議 當前都不支持 )     13年之后其他設備也可以支持    當前已經變為公有協議
      核心算法 dval     既不是距離矢量又不是鏈路狀態    eigrp 使用平衡混合性協議    有些行為是距離矢量  有些行為 時鏈路狀態  
 
 
歸類:1.范圍來分  ---igp 內部協議        金融網  銀行網   運行商內網等等  都屬於大型的內網
  默認為100跳    可以修改到256跳  
2.核心算法分類  a   距離矢量協議    例如  rip
   b  鏈路狀態協議   稍微高級一些  不發送路由表中的路由信息
·   可以傳遞lsa  ( 鏈路狀態信息   接口  網段等等鏈路通告) 泛洪的形式     
lsa放在lsdb的鏈路狀態數據庫中     
spf   最短路徑算法    提取最優路徑信息   加入路由表
鏈路狀態協議都有三張表   eigrp與ospf都有
a 鄰居表    建立鄰居用hello報文  lsa
b 鏈路狀態數據庫(拓撲表)       包含鄰居傳過來的路由信息   放置lsa信息   鏈路如何連接的信息
c 路由表     根據b拓撲表進行擴散更新計算 去往目的地有哪些路徑 並且提取最優路徑計算 生成路由表
 
EIGRP 不發送拓撲信息     仍舊發送路由條目信息   一個高級的距離矢量協議   b拓撲表可以用來做優化用來路由備份(只有在eigrp中才有)  一 旦最優的路由條目down掉  可以在拓撲表中以最短的時間計算出兩外一條路由   ms級別    
   3.無類協議
a與ripv2的相同點
 需要關閉自動匯總的功能    no auto-summary
 精確匯總    手工匯總
b與ripv2的不同點
eigrp支持 路由聚合-----高級的 路由匯總
路由聚合與路由匯總的區別
路由匯總:172.16.0.0/24     與172.16.1.0/24   匯總成一條172.16.0.0/23    同樣是子網
此為主b類網段    掩碼長度為16位   匯總后的掩碼長度大於或者等於16   都稱為路由匯總
路由聚合:192.168.0.0/24與192.168.1.0/24   聚合成一條192.168.0.0/23
此為主c類網段 掩碼長度為24為    聚合后的結果為23   小余24     所以稱為路由聚合
192.168.0.0/23又叫做超網  super net
  支持路由聚合就支持   就支持 CIDR   無類域間路由        通過匯總或聚合的方式減少internet骨干路由條 目的數量   ripv2是特例   並不支持路由聚合   即不會存在超網路由
 
EIGRP 特性
a 高級的距離矢量協議     advanced distance vector
b rapid covergence    快速的收斂
c 無類路由    沒有環路
d 配置簡單   類似與rip
rip封裝:layer2 報頭|ip|udp|rip|fcs|    格式         ripv2   組播地址224.0.0.9
eigrp封裝:layer2 報頭|ip|eigrp|fcs|    格式     少了udp信息   只封裝了兩次     叫做 躍層封裝   
ip中有一個protocol字段   描述上層協議字段   值用來描述直接用ip報文封裝的程序的屬性   協議號字段  88       組播地址 224.0.0.10    
時間
5s     帶寬大於1.544m/bs  
60s   帶寬小於1.544m/bs  
holdtime 保活時間-是hello報文發送周期的3倍
e    增量更新    incremental updates
路由更新報文
rip周期性發送路由更新報文
eigrp發送更新報文有兩種情況:   增量更新
a    建立鄰接關系   發送初始的路由更新報文   包含能發送的一切路由     即初始收斂
b 當拓撲變更   鏈路崩潰   路由器down等影響到路由條目時候   會發生路由重新收斂     才會再次發送路 由條目的更新報文
f    load balancing across equal-and unequal-cost pathways   支持等價負載均衡和非等價負載均衡
ecmp   等價多路徑    多條不相同的路徑   管理距離和度量值一樣     
uecmp    unequal cost multiple pathways   到某網段的多條不同路徑 管理距離或者度量值不一樣  均可以被加入到 路由表中   只是度量值較低的路由使用頻率會更高
默認情況下    只支持ecmp      如果想支持uecmp 需要設置一個variance 的值   值為1 僅支持ecmp    值為1-128中 的任何一個值可以支持uecmp
g  flexible network design   靈活的網絡設計
h multicast and unicast instead of broadcast addrss     組播 單播替代廣播
i support for VLSM and discontiguous subnets  支持VLSM和不連續子網     所有無類的路由選擇協議均支持
j manual summarization at any point in the internetwork     手動匯總    需要關閉自動匯總   
k support for multiple network layer protocols    支持不同網絡協議棧 tcp/ip  appletalk   ipx/spx等等 可以同時運行多 個eigrp的進程  互相不影響     MPLS VPN 需要用到此種技術    
 
 
 
EIGRP    細節
1.表
a 鄰居表   ip eigrp neighbor table         建立鄰居之后發送routing table中的路由條目(最優的)到topologytable
內容  next-hop router    |     interface 
b 拓撲表 topology table 比路由表多fd可行距離和ad通告距離兩項內容   每條路由條目都攜帶這兩個參數       相同目的地的多條路由有好有壞(由dual算法來計算)   有最優的和可備份的    其他的比較次的路由會被 協議給隱藏     將最優的路由條目放到routing table中        同時維護一個備份的路由
內容 destination1|        
c 路由表     僅僅是最優路由條目   routing  table
內容 destination1|        
 
 
2.建立鄰居    (排錯注意事項)   滿足的條件
a     相同的AS號  表明自己路由器屬於哪個AS組    association
     b 相同的k值  衡量路徑的優劣 k1-k5  默認值為  1  0  1  0  0    分別對應bandwidth 帶寬   dely延遲      
 reliability可靠性      load負載           mtu最大傳輸單位
即默認情況下 計算路徑好壞只計算帶寬和可靠性
也可以修改其他的k值
c 相同的認證
3.分組報文類型
hello問候       update與rip報文一樣    query查詢 reply應答 ack確認   
 
dual算法:涉及到查詢和應答報文
本地計算 和擴散更新計算  
本地計算是路由切換時使用     最優路由切換到備份路由繼續使用時就是本地計算
擴散更新計算 :當一台路由器丟失了一條去往某網段的路由   同時並沒有備份路由  此時需要進行此計算 詢問鄰居
步驟:
a 給鄰居發送查詢報文query   詢問去往某網段怎么走    組播
b 單播 鄰居查詢自己的路由表   如果有就單播給源路由器   告知有路由條目並發送此條目     如果沒 有同樣告 知沒有此路由   即無論有沒有路由條目都必須用發送reply應答報文
如果鄰居一直沒發送reply報文    則會dual計算失敗  會等待180s  如果還沒有   則down掉與此鄰居的 鄰接關系       
 
4.eigrp的重置鄰居關系的三種方式:
a 三倍的hello時間未收到hello
b query報文發送后  180s內沒有收到應答
c 給對方發送了16份可靠傳輸報文重傳    都沒有收到ack應答
根據eigrp報文的格式    由於是ip格式封裝   並無可靠性可言     所以eigrp內部提供與tcp類似的可靠性的確認重 傳機制     需要ack報文的確認報文應答     確認重傳機制    支持最大的重傳次數為16次
上面五中報文中     hello報文    不需要確認重傳機制   因為周期性發送
更新報文 需要確認重傳機制 不周期性發送
查詢報文 需要確認重傳機制
應答報文 需要確認重傳機制
5. ack與hello的區別  
報文中都有一個ack位   如果置0   就是hello報文;如果置為1就是ack報文
ack只能單播     而hello可以單播也可以組播
6.EIGRP metrics    度量值計算    包括k1-k5的5個方面   取值為0-255
帶寬  延遲 負載 (默認1)                 可靠性(默認255)          最大傳輸帶單元
其中可靠性指的是報文發送成功率    丟包率    來評測   
負載     鏈路帶寬利用率       流量越多  負載越大        流量約少負載越小      選擇負載越小的越好   路徑越優
負載和可靠性的值默認值 負載為1      可靠性為255      不會根據鏈路的狀態而動態  改變        需要通過管理                                   命令來修改
MTU一般不會出現在度量值的計算當中
計算公式:k1-k5默認值為 10110
默認: metric=bw+delay           
delay=總延遲      10的-5次方為單位來表示    即10微s 為單位
bw=10的7次方/BW    單位為kb/s
metric=k1*bw+((k2*bw)/(256-load))+k3*delay
if k5 !=0
則Metric=metric*[k5/(reliablity+k4)];  最后再*256    一般不用mtu計算度量值
實例:k1-k5如何取值
a-------b------c   為完整的路徑  
負載為ab     ac兩鏈路的最大值為完整路徑的負載
帶寬為ab ac兩鏈路中最小的的為完整路徑的帶寬
延遲為ab ac兩鏈路累加到一起 為完整路徑的延遲
mtu為ab ac兩鏈路的最小值
可靠性為ab ac的最小值
默認情況下只用帶寬和延遲來計算度量值
接口的選擇:統一的計算標准   基於控制層面路由流向所有入接口    提取所有入接口的所有帶寬和延遲   帶寬取 最小    延遲取和
EIGRP Path Calculation     router c
 
EIGRP - 騾子 - stupidmule@126 的博客
 
a 上圖中路由器c中有三張表分別是鄰居表     拓撲表 最終路由表
b 假設目的網段為d  c-a-d      和c-b-d   兩條路由
拓撲表中fd表示可行性度量值   fd最小的為最優路由 2000代表路由器 c通過a到達d     即cad的度量值 ad代表通告度量值 1000代表路由器a到達目的網段的度量值 ad的度量值
  同理 fd=2500為cbd的度量值
ad=1500 為bd的度量值
  
c 判斷拓撲表中的路由能否成為備份路由的條件    FC 表示可行性條件專門用來選取備份路由
此路由中的ad值需要小余最優路由的fd的值  才能成為備份路由
在圖中顯示即bd的度量值小余cad的度量值   才能保證報文傳遞時距離目的地越來越近     否則如果bd大於cad表 示距 離目的地越來越遠 有可能成為環路
d 圖中successor表示最優路由的下一跳路由器       又叫后繼站
feasible successor表示次優路徑並且能夠成為備份路由的下一跳路由器
 
 
EIGRP Configuration   配置命令
EIGRP - 騾子 - stupidmule@126 的博客
 
a autonomous-system  進程號或者叫名字  12.4ios版本 取值范圍1-65535   必須是阿拉伯數字
  15.xios版本 支持命名式的進程號    需要指定as號   兩台鄰居路由器as 號需要一致
b 關閉自動匯總     no auto-summary
c 支持兩種宣告
1.主類宣告     與rip v2類似   主類網絡號
2.精確宣告 利用通配符掩碼方式    直接指定路由器的某個接口的ip地址    宣告進eigrp進程
 
 
 
 
實例
EIGRP - 騾子 - stupidmule@126 的博客
 
1.需求
 r1-3為路由器   運行eigrp路由選擇協議        r4   r5模擬pc機         r4獲取r5dhcp服務器分配的ip地址
r1地址  s1/0 12.1.1.1 255.255.255.0
s1/1 13.1.1.1  255.255.255.0
r2地址 f0/0 24.1.1.2  255.255.255.0
s1/1 12.1.1.2 255.255.255.0
r3地址 s1/0 13.1.1.3 255.255.255.0
f0/1 35.1.1.3 255.255.255.0
r5地址 f0/0 35.1.1.5 255.255.255.0
2.命令
a dhcp server設置
r2#int fa 0/0
#ip helper-address 35.1.1.5 中繼
 
r5#service dhcp
#ip dhcp pool 24
#network 24.1.1.0 255.255.255.0
#default-router 24.1.1.2
#dns-server 24.1.1.2
#ip dhcp excluded-address 24.1.1.1 24.1.1.3
#ip default-gateway 35.1.1.3

b eigrp 設置   
r2#router eigrp 90    90 為eigrp進程號  id號    一般用管理距離值
#no auto-summary 取消自動匯總
#eigrp router-id 2.2.2.2  路由器id   距離矢量協議中用不到   但是在鏈路狀態協議中是重要的
建立鄰居時會用到
#network 24.1.1.2 0.0.0.0    宣告接口   更精確
#network 12.1.1.2 0.0.0.0 
 
r1#router eigrp ccie
#address-family  ipv4  unicast autonomous-system  90
地址簇    同一個進程支持多個協議    既可以支持v4又可以支持v6  也可以同時支多個不同的 網絡
#eigrp router-id 1.1.1.1  定義路由器id
#network 12.1.1.1 0.0.0.0 宣告接口
#network 13.1.1.1 0.0.0.0 
#topology base    關閉自動匯總
#no auto-summary
   
#show run | section router eigrp    驗證命令
 
同時在ipv6上運行eigrp協議
#address-family ipv6 unicast autonomous-system 90
 
 
 
 
r3#router eigrp ccie
# address-family ipv4 unicast autonomous-system 90
#eigrp router-id 3.3.3.3
#network 13.1.1.3 0.0.0.0
   #network 35.1.1.3 0.0.0.0
   #topology base
   #no auto-summary
 
 
實例2        手工匯總
EIGRP - 騾子 - stupidmule@126 的博客
1.r4地址    192168.1.4    255.255.255.0
r6地址 192.168.0.6    255.255.255.0
r2地址 192.168.1.2    255.255.255.0   連接r4     作為r4的網關
192.168.0.2    255.255.255.0 連接r6 作為r6的網關
取消r5的dhcp服務器功能
2.在r2的ser1/1接口   作手工匯總 
#router eigrp 90
#network 192.168.0.2 0.0.0.0宣告接口
#network 192.168.1.2 0.0.0.0      之后在r1上驗證路由表
 接口級別匯總   控制層面的路由流向的出接口
 
r2#int ser1/1
#ip summary-address eigrp 90 192.168.0.0 255.255.254.0      手工匯總的命令
192.168.0.0/23   會出現在r1的路由表中   取代之前出現的兩條路由 192.168.0.2和192.168.1.2
 
 
3.認證    與ripv2類似  eigrp但是只支持密文認證
r2#conf t
#key chain r2
#key 1
#key-string  密鑰值
#int ser1/1
#ip authentication key-chain eigrp 90 r2
#ip authentication mod eeigrp 90 md5
 
 
其中r1為15.x版本的ios所以 認證命令需要在eigrp進程中進行設置   新版本的eigrp
r1#router eigrp ccie
#address-family ipv4 unicast autonomous-system 90
#af-interface serial 1/0 進入接口    在接口下進行認證
#authentication key-chain r1
#authentication mode md5
 
實例3 修改路由度量值     dual重新計算最優路徑
EIGRP - 騾子 - stupidmule@126 的博客
   選路   要求修改度量值    使用r2-r1-r3-r5路徑
1.准備工作
配置r2和r3新加入接口的ip地址
 r2  s1/0  23.1.1.2     255.255.255.0
#router eigrp 90      進程號
#network  23.1.1.2 0.0.0.0 宣告接口
#
 
r3   s1/1    23.1.1.3   255.255.255.0
#router   eigrp    ccie    進入進程
#address-family ipv4 unicast autonomous-system 90
 
#network 23.1.1.3 0.0.0.0
 
r2#show ip route eigrp   顯示    35.1.1.0 【90/2172416】   中括號中的數值為度量值
2.計算路徑的度量值
 
 
上面的的2172416 計算的方法
路徑為r2-r3-r5 需要提取帶寬和延遲值
  需要用到控制層面路由流向的入接口 r3的fa0/1 和 r2的serial1/0
r3#show interface fa0/1 顯示接口的具體信息可以看到
BW 100000kb/s DLY 100 usec 一個是帶寬 一個是延遲
根據上面的值計算
r2#BW  1544kb/s       DLY 20000 usec   
計算得帶寬得(10的7次方)/1544=6476    總帶寬
延遲得(20000+100)/10=2010
(6476+2010)*256=2172416
r2-r1-r3-r5的度量值就是在上面的度量值基礎之上  多計算了r1的serial1/1接口的延遲
所以為(6476+2010+2000)*256=2684416
 
3.使用r1的路徑    而不用直接走r3到r5
修改度量值方式與rip一樣    使用偏移列表
a r2#access-list 10 permit  35.1.1.0
#router  eigrp  90
#offset-list 10 in 600000 serial 1/0  
#end
#clear ip route *
 
驗證#show ip route eigrp
顯示路由經過r1    度量值為2684416為最優路由條目
b 聲明被動接口
r2#router eigrp 90
   #passive-interface fastethernet 0/0
   #passive-interface fastethernet 0/1
 
驗證:show ip protocol   可以查看哪些接口是被動接口   也可看到v值   非等價負載開關
c 非等價負載均衡
EIGRP - 騾子 - stupidmule@126 的博客
 
條件一:(最優路徑的fd)*v值》=(次優路徑的fd)        但是由於度量值不同  所以負載不一樣  一個大一個小
條件二:次優路徑的ad必須要小余最優路徑的fd
同時滿足以上兩個條件   此次優路徑就可以加入路由表   與最優路由一起負載均衡   
設置v值命令
r2#router eigrp 90
#variance 2     設為2
 
排錯命令
a show run | section router eigrp    查看eigrp全局的配置命令
b  show ip route eigrp   查看是否有目標路由條目      看是否有過濾
c 1.查看是否有鄰居   show ip eigrp neighbors     查看as號是否一致
2.查看宣告接口    是否有報文在排隊    show ip eigrp interfaces     
3.查看k值 router eigrp  90
metric weights 0 1 0 1 0 0   其中第一個0代表 tos值   只能為0  其余一次為k1-k5
4.查看秘鑰是否啟用 並且一致


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM