查看完整版本: MOD-7 EIGRP

danny 2009-9-2 15:40

MOD-7 EIGRP

[size=4][color=#98fb98]EIGRP 簡介

[/color][/size]EIGRP 的前身是 IGRP ,這兩個繞送協定是 Cisco 特有的繞送協定,只能在思科的路由器上運作。

EIGRP 綜合了距離向量(DV)和鏈路狀態(LS)兩者的優點

內部管理性距離是 90,外部管理性距離是 170。

EIGRP 總結路徑的管理性距離是 5。


特色還包括:

[color=deepskyblue](1)減少頻寬佔用:
[/color]
EIGRP 不會進行週期性的更新,它使用一個非常輕量的Hello協定封包去監督鄰居連線的狀態

EIGRP 只會在路徑或指標(metric)發生變化之後(例如: 鍊路加入或移除時),才會進行部分更新

當路徑資訊改變以後,DUAL只會發送發生改變的那條路徑資訊的更新,而不是發送整個路由表

這個與傳輸更新到整個區域內的所有路由器上的鏈路狀態路由協定(LS)相比節省相當多的頻寬

EIGRP 只有在路由器進行初始化時,會傳送整個路由表。


[color=deepskyblue](2)快速收斂:[/color]

EIGRP 不使用 holddown 計時器,使用 Diffusing Update 演算法(DUAL)讓收斂能快速完成

並且能進行最佳路徑的選擇

使用 EIGRP 的路由器會儲存某些可到達目的地的備用路徑在拓樸表中

以便在主要路徑發生問題時,能快速調用備用路徑

也可能會沒有備用路徑,如果沒有合適的路徑或備用路徑

路由器會向它的鄰居進行查詢,以便選擇出一條替代路徑。

[color=deepskyblue](3)支援多種網路層的協定:[/color]

EIGRP 透過使用協定相依模組(protocol-dependentmodules,PDMs)

可以支援 ApplleTalk、IP 和 IPX 這三種第三層的協定

[color=deepskyblue](4)無縫連接第二層的協定:[/color]

EIGRP 不要求對OSI 的第二層協定進行特別的設定

EIGRP 能夠有效的工作在 LAN 及 WAN 的環境中

而且 EIGRP 保證網路不會產生迴路(loop-free),設定命令也很簡單。

[color=deepskyblue](5)支援 VLSM[/color]

[color=deepskyblue](6)不使用廣播,使用多播和單播,因此節省了頻寬。[/color]

[color=deepskyblue](7)使用可靠傳輸協定(Reliable Transport Protocol, RTP )[/color]

[color=deepskyblue]用來保證 EIGRP 的封包在發送給鄰居時,是非常可靠的傳輸。[/color]
[color=#00bfff][/color]
[color=#00bfff][/color]
[color=#00bfff][/color]
[size=4][color=palegreen]EIGRP 的運作[/color][/size]

[img]http://slap999.myweb.hinet.net/CCNA/EP2_7-1.JPG[/img]

資料是放在最後稱為TLV(Type/Length/Values) 的欄位

在第二個欄位「IP 封包表頭」裏面,除了有來源 IP 位址,還有目的地 IP 位址、協定

目的地 IP 位址會被填入 88 ,代表的就是 EIGRP

目的地位址則被填入 224.0.0.10 的多播位址

如果是運作在乙太網路上,則會有一個乙太訊框的表頭被封裝,就是圖中第一個欄位

而其中的目的地 MAC 位址,則會被指定為多播位址 01-00-5E-00-00-0A

第三個欄位則包括了 EIGRP 使用的自治系統號碼(Autonomous System ,AS)、封包的型態及 TLV

封包的型態共有五種,以代碼方式呈現,五種封包分別為:

(1)Hello 封包 - [color=deepskyblue]招呼[/color]
(2)Update 封包 - [color=deepskyblue]更新[/color]
(3)Query 封包 - [color=deepskyblue]查詢[/color]
(4)Reply 封包 - [color=deepskyblue]回應
[/color](5)Acknowledge(ACK) 封包 - [color=deepskyblue]確認[/color]

TLV 則包括了 EIGRP 的指標,EIGRP 的指標計算有五個參數

分別是 K1 到 K5 ,預設的情況下只有 K1 (頻寬)及 K3(延遲)的數值是 1 ,其他都是 0

[color=palegreen]延遲是封包從來源到目的地之間所花費的時間,頻寬指的是到目的地的路徑上最小的頻寬[/color]

EIGRP 的路由器在運作時,會維護三張表:

[color=yellow]neighbor table (鄰居表)、topology table (拓樸表) 和 routing table (路由表)[/color]

鄰居表保存了已經建立了鄰居關係的路由器和直接相連的路由器。

要運作EIGRP 協定的原則就是要先成為鄰居才能交換路徑,成為鄰居的條件是:

(1)收到 Hello 或 ACK
(2) AS 號碼相同
(3) K 值相同

拓樸表包含了此路由器到目的地網路的所有可能的路徑,其建立過程如下:

1. 在初始狀態時,每個路由器都會轉送一份路由表給其他鄰居路由器

2. 每個路由器會把從鄰居路由器得來的路由表儲存在自己的 EIGRP 拓樸表中

3. EIGRP 會把拓樸表中,針對每個目的地網路,選擇出一條到達該目的地網路的最佳路徑

4. 接著把所有的最佳路徑放到路由表中。每個 PDM 都有一個獨立的鄰居表、拓樸表及路由表

[size=4][color=palegreen][/color][/size]
[size=4][color=palegreen][/color][/size]
[size=4][color=palegreen]RTP[/color][/size]

可靠傳輸協定(RTP,Reliable Transport Protocol) 是 EIGRP 的封包在傳送與接收時所使用的協定

EIGRP 是一個網路層的協定,但是不能使用 TCP 與UDP

因為 IPX 與 AppleTalk 不使用 TCT/IP 協定,因此 EIGRP 將 TCP 換成 RTP

但是在傳輸的過程中,RTP 有可靠與不可靠兩種封包

可靠的封包,是指發送端會需要接收端送回給發送端一個確認(Acknowledgement)的封包

不可靠的封包則是指發送端不需要確認封包

在運作的過程中,會使用224.0.0.10 的多播與單播



RTP 使用五種不同的封包,某些封包是成對出現的,下面針對不同封包進行說明:

[color=palegreen](1)Hello 封包:[/color]

路由器使用 Hello 封包來發現鄰居以形成相鄰的關係,傳送時通常是採用多播的方式

當介面配置了 EIGRP 以後,路由器會週期性的以多播的方式向外發送 Hello 封包

當其他 EIGRP 的路由器接收到 Hello 封包以後也會送回一個 Hello 封包形成了鄰居關係

Hello 封包在不同的媒體上發送的間隔時間是不一樣的,分類如下:

1. 每 5 秒發送一次: 廣播型媒體,例如乙太網、Token Ring、FDDI)
點到點的串列鏈路中,例如 PPP、HDLC、Frame Relay、ATM
此類通常都是頻寬大於 1.5M的線路,因為頻寬較寬,允許較頻繁的發送 Hello 封包


2. 每 60 秒發送一次: 通常是頻寬小於 1.5M 的線路的多點線路
例如 ISDNBRI、某些 Frame Relay 及 ATM 。
容許等待某個鄰居路由器的 Hello 封包的時間稱為保存時間(Hold time)
保留時間一般是 Hello Time 的 3 倍
超過此時間未收到 Hello 封包,該鄰居路由器會被認為發生狀況已無法到達

[color=palegreen](2)更新(Update)封包:[/color]

採用多播或單播(例如在點對點的鍊路)的方式發送
更新封包發生在路由器啟動時、拓撲或指標(Metric)發生變化時

[color=palegreen](3)查詢(Query)封包:[/color]

當路由器要開始進行路徑計算需要路徑資訊時,或沒有可用的備用路徑時
就會以多播或單播的方式發送一個查詢封包給鄰居路由器,以詢問是否有到達目的地的可用路徑
並且等待所有鄰居路由器的回覆封包

[color=palegreen](4)回覆(Reply)封包:[/color]

是以單播的方式回應給送出查詢封包的路由器。

[color=palegreen](5)確認(Acknowledge,ACK) 封包: [/color]

確認封包是採用單播且是空的 Hello 封包
更新封包、查詢封包和回覆封包均是可靠的傳輸,所以它們都需要接收端的確認封包(ACK)
而 Hello 封包和確認封包就不需要確認封包

在下圖中以兩台路由器開機後 RTP 封包傳輸的過程進行說明:

[img]http://slap999.myweb.hinet.net/CCNA/EP2_7-2.JPG[/img]

1. 路由器 A 啟動,然後在鏈路上發送 Hello 封包。

2. 路由器 B 啟動,然後在鏈路上發送 Hello 封包。
路由器 B 接收到路由器 A 發來的 Hello 封包,於是送出更新封包給路由器 A
告訴路由器 A 它自己的所有路由表資訊,這時鄰居關係建立。

3. 接下來路由器 A 會發送 ACK 封包給路由器 B ,確認它已經收到了從路由器B 送來的更新封包


4. 路由器 A 收到更新封包,會更新自己的拓樸表
於是拓樸表中包括了所有從鄰居路由器得來的目的地資訊。

5. 路由器 A 發送完整的路徑資訊的更新封包給路由器 B 。

6. 路由器 B 收到路由器 A 發來的更新封包後,回覆 ACK 封包給路由器 A ,整個過程就完成。



[size=4][color=palegreen]DUAL[/color][/size]

有限狀態機(FSM)擴散更新演算法(Diffusing Update Algorithm,DUAL) 是 EIGRP 使用的演算法
所有路徑計算與決定的過程是被 DUAL 的有限狀態機(Finite State Machine)完成的
有限狀態機簡單的說就是有限數量的狀態組合成的行為模型
事件的產生會讓狀態從一個轉移到另一個


[size=4][color=palegreen]宣傳距離(AD)與可用距離(FD)[/color][/size]


假設有一條可以到達目的地網路的最佳路徑

則此條往目的地的路徑上第一個路由器(Next Hop)就是繼承者(Successor)

所有的路由器都依賴於繼承者(最佳路徑上的 Next Hop路由器)到達目的地網路

為了決定到達目的地的最佳繼承者路徑(Successor Route)和備用繼承者路徑(Feasible Successor Route)

EIGRP 使用下面兩個參數:

1.宣傳距離(AD,Advertised Distance):
是鄰居路由器到達目的地網路的指標值,又稱為報告距離(RD,Reported Distance)

2.可用距離(FD,Feasible Distance):目前路由器到達鄰居路由器的指標值加上宣傳距離
路由器會比較所有的可用距離,然後選擇可用距離的值最低者,將其放進 IP 路由表

|------------------------------可用距離-------------------------------|
|----------------宣傳距離------------------|
|----------------------------------------------|--------------------------|
目的地網路         鄰居路由器     目前的路由器

在上面顯示的是 C 路由器的 EIGRP 鄰居表、拓樸表及路由表

鄰居表裏面包含了路由器 A 和路由器 B 的資訊

在拓樸表中,路由器 A 和路由器 B 都知道如何到達網路 10.1.1.0/24

從拓樸表中也可看見路由器 A 到達目的地網路10.1.1.0/24 的宣傳距離是1000,可用距離是 2000

而路由器 B 的宣傳距離是1500,可用距離是 2500

這裡可用距離數值最低者會被挑選出來

所以路由器 A的資料項目會被放進路由表中成為到達網路 10.1.1.0/24 的最佳路徑

如果在拓樸表中一個目的地網路,有多個可用距離(FD)都是相同的最佳指標的路徑

那麼路由表中可以同時存放這多個相同最佳指標的路徑,預設可以存放 4個,最多可以存放 6 個

FS(feasible successor) 就是備用路徑,要選出備用路徑

則該路徑的宣傳距離(AD)必須比目前的最佳路徑的可用距離(FD)還要小

若最佳路徑失效,而且備用路徑存在,備用路徑將直接取代失效的最佳路徑,不需重新進行計算

EIGRP 的拓樸表可以存放多個備用路徑

若最佳路徑失效,備用路徑也不存在,那麼 EIGRP會重新計算出一個新的最佳路徑。

EIGRP 依靠鄰居路由器提供路徑資訊,如果路徑發生了問題,此路徑即進入Active 狀態

而且如果又沒有可用的備份路徑時,為了快速的收斂,EIGRP 路由器會向鄰居發送查詢(Query)封包

以尋找一條可以替代那條出了問題的路徑

查詢封包會被發送給所有的鄰居路由器,除了原先最佳路徑的那個介面

如果被查詢的路由器知道替代的路徑時,它就把這條替代路徑放進回覆(Reply)封包並送回發出Query的來源

如果收到查詢封包的路由器沒有替代路徑的資訊,它將繼續發送給它自己的其他鄰居

直到找到可以替代的路徑為止

EIGRP 使用可靠的多播來尋找替代的路由

路由器必須等到收到所有鄰居路由器的回覆封包,才能重新進行最佳繼承者路徑的計算

只要有一個路由器的回覆沒有收到,發出查詢封包的來源路由器就必須等待

預設如果在 3 分鐘內某些路由器沒有對查詢封包做出回覆,這條路徑就進入 stuck in active(SIA) 狀態

也就是一直處於 Active 的狀態,於是路由器將重新設定和這個沒有做出回覆的路由器的鄰居關係
頁: [1]
查看完整版本: MOD-7 EIGRP