天天看點

EIGRP的DUAL和負載均衡

<a href="http://linuxtro.blog.51cto.com/attachment/201009/6/1239505_12837501670MZs.jpg"></a>

DUAL(擴散更新算法)的幾個術語

FD(可行距離):達到一個目的網路的最小路徑成本;

RD(通告距離): 或稱AD(報告距離)鄰居路由器所通告的他自己達到目的網絡的最小路徑成本;

FC(可行性條件):是EGIRP路由器更新路由表和拓撲表的依據,可行性條件可以有效阻止路由環路,實作路由的快速收斂,可行性條件的公式:AD&lt;FD ;

後繼路由器:指用于轉發資料包的一台相鄰路由器,該路由器是通向目的網路開銷最低的路由。後繼路由器的IP位址顯示在路由條目中,緊随單詞via;

FS(可行後繼路由器):是指一個鄰居,他有一條通向後繼路由器所連通的同一個目的網路的無環備份路徑,并且滿足可行性條件。

R4#show ip eigrp topology

IP-EIGRP Topology Table for AS(1)/ID(4.4.4.4)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - reply Status, s - sia Status

P 2.2.2.0/24, 1 successors, FD is 2300416

via 192.168.41.8 (2300416/2297856), FastEthernet0/0

via 192.168.34.5 (2809856/2297856), Serial1/2

P 4.4.4.0/24, 1 successors, FD is 128256

via Connected, Loopback0

從上面的輸出可以看到,走Serial1/2的AD是2297856,而最優路由(走FastEthernet0/0)的FD是2300416,

AD&amp;lt;FD,滿足可行性條件,是以第二條路徑(Serial1/2)是後繼路由(FastEthernet0/0)的可行後繼路由。

P代表該路由器處于被動狀态,當DUAL未執行擴算更新算法來确定通向一個網絡的路徑時,該路由器将處于穩定模式,即被動狀态,如果DUAL在重新計算或搜尋新路徑時,該路徑将處于主動狀态。對于穩定的路由器來說,該拓撲表中所有的路由都應該處于被動狀态。如果該路由”陷入主動狀态“,DUAL将顯示一個A字元。

2.2.2.0/24 是目的網絡,可以在路由表中看到;

1 successors 顯示通向目的網絡的後繼路由器的數量;

FD is 2300416 這是可行距離,即通向目的網絡的EIGRP度量;

第一個條目顯示的是後繼路由器:

via 192.168.41.8 這是後繼路由器(R1)的下一跳位址,在路由表中可以看到;

2300416 這是通向2.2.2.0/24的可行距離,是路由表中顯示的路徑成本;

2297856 這是後繼路由器通向此網絡的報告距離,即R1的開銷;

FastEthernet0/0 這是通向目的網絡的出站接口,在路由表中顯示;

第二個條目顯示的可行後繼路由器。

<b>實驗一、後繼路由器當機,可行性後繼路由器變為後繼路由器</b>

先在R4上debug路由更新算法

R4#debug eigrp fsm

EIGRP FSM Events/Actions debugging is on

然後在R1上shutdown FastEthernet0/0接口。

R1(config)#interface fastEthernet 0/0

R1(config-if)#shutdown

R1(config-if)#

*Mar 1 01:02:55.447: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.41.7 (FastEthernet0/0) is down: interface downd

R1#

*Mar 1 01:02:57.423: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down

*Mar 1 01:02:57.451: %SYS-5-CONFIG_I: Configured from console by console

*Mar 1 01:02:58.423: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down

然後再切換到R4路由器上:

R4#

*Mar 1 01:02:57.347: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.41.8 (FastEthernet0/0) is down: holding time expired

*Mar 1 01:02:57.347: DUAL: linkdown: start - 192.168.41.8 via FastEthernet0/0

*Mar 1 01:02:57.351: DUAL: Destination 2.2.2.0/24

*Mar 1 01:02:57.351: DUAL: Find FS for dest 2.2.2.0/24. FD is 2300416, RD is 2323456

*Mar 1 01:02:57.351: DUAL: 192.168.41.8 metric 4294967295/4294967295

*Mar 1 01:02:57.351: DUAL: 192.168.34.5 metric 2809856/2297856 found Dmin is 2809856

*Mar 1 01:02:57.355: DUAL: Removing dest 2.2.2.0/24, nexthop 192.168.41.8, infosource 192.168.41.8

*Mar 1 01:02:57.359: DUAL: RT installed 2.2.2.0/24 via 192.168.34.5

*Mar 1 01:02:57.359: DUAL: Send update about 2.2.2.0/24. Reason: metric chg

*Mar 1 01:02:57.359: DUAL: Send update about 2.2.2.0/24. Reason: new if

*Mar 1 01:02:57.359: DUAL: Destination 4.4.4.0/24

*Mar 1 01:02:57.363: DUAL: Destination 192.168.41.0/24

*Mar 1 01:02:57.363: DUAL: Destination 192.168.34.0/24

*Mar 1 01:02:57.367: DUAL: Destination 192.168.12.0/24

*Mar 1 01:02:57.367: DUAL: Find FS for dest 192.168.12.0/24. FD is 2172416, RD is 2195456

*Mar 1 01:02:57.367: DUAL: 192.168.41.8 metric 4294967295/4294967295

*Mar 1 01:02:57.367: DUAL: 192.168.34.5 metric 3193856/2681856 not found Dmin is 3193856

*Mar 1 01:02:57.371: DUAL: Peer total 1 stub 0 template 1

*Mar 1 01:02:57.371: DUAL: Dest 192.168.12.0/24 entering active state.

*Mar 1 01:02:57.371: DUAL: Set reply-status table. Count is 1.

*Mar 1 01:02:57.371: DUAL: Not doing split horizon

*Mar 1 01:02:57.375: DUAL: Destination 192.168.23.0/24

*Mar 1 01:02:57.375: DUAL: Removing dest 192.168.23.0/24, nexthop 192.168.41.8, infosource 192.168.41.8

*Mar 1 01:02:57.379: DUAL: linkdown: finish

*Mar 1 01:02:57.679: DUAL: rcvreply: 192.168.12.0/24 via 192.168.34.5 metric 3193856/2681856

*Mar 1 01:02:57.679: DUAL: reply count is 1

*Mar 1 01:02:57.679: DUAL: Clearing handle 2, count now 0

*Mar 1 01:02:57.683: DUAL: Freeing reply status table

*Mar 1 01:02:57.683: DUAL: Find FS for dest 192.168.12.0/24. FD is 4294967295, RD is 4294967295 found

*Mar 1 01:02:57.683: DUAL: Removing dest 192.168.12.0/24, nexthop 192.168.41.8, infosource 192.168.41.8

*Mar 1 01:02:57.687: DUAL: RT installed 192.168.12.0/24 via 192.168.34.5

*Mar 1 01:02:57.687: DUAL: Send update about 192.168.12.0/24. Reason: metric chg

*Mar 1 01:02:57.687: DUAL: Send update about 192.168.12.0/24. Reason: new if

R4#show ip route

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

D 192.168.12.0/24 [90/3193856] via 192.168.34.5, 00:02:24, Serial1/2

2.0.0.0/24 is subnetted, 1 subnets

D 2.2.2.0 [90/2809856] via 192.168.34.5, 00:02:24, Serial1/2

4.0.0.0/24 is subnetted, 1 subnets

C 4.4.4.0 is directly connected, Loopback0

C 192.168.41.0/24 is directly connected, FastEthernet0/0

D 192.168.23.0/24 [90/2681856] via 192.168.34.5, 00:06:09, Serial1/2

C 192.168.34.0/24 is directly connected, Serial1/2

現在,R4的拓撲表中顯示R3為後繼路由器,且沒有新的可行後繼路由器。

無可行後繼路由器時:

如果通向後繼路由器的路徑發生故障,且有沒有可行後繼路由器,會發生什麼情況呢?

DUAL沒有可行後繼路由器并不代表不存在通往該網絡的其他路徑,這隻能說明DUAL沒有通向該網絡的保證無環的備用路徑,是以未将其它路徑做為可行後繼路由器加入到拓撲表中。

如果拓撲表中沒有可行後繼路由器,DUAL會将網絡置于主動狀态,主動向鄰居查詢,

看是否存在新的後繼路由器。其他路由器會傳回EIGRP應答,

告知該路由器是否有通向目的網路的路徑,

如果所有鄰居的EIGRP應答都沒有通向此網路的路徑,則該路由器就沒有通向目的網絡的路徑;

如果鄰居的EIGRP應答包括通向此網絡的路徑,該路由器将會通過DUAL算法快速将含有這條路徑的路由器作為後繼路由器添加到路由表中。

<b>實驗二、EIGRP的<b>等價</b>負載均衡</b>

通過适當的配置,可以在路由器R4上看到R2的loopback 0的路由條目為等價路由,進而實作等價負載均衡,隻要他們的延遲之和相同,就是等價路由,是以,可以在路由器R4上做如下的配置:

R4(config)#int fa 0/0

R4(config-if)#delay 2000

【注】:在接口下用delay修改延遲時,在計算路徑成本時,不需要再除以10。

在R4上檢視路由表:

D 192.168.12.0/24 [90/2681856] via 192.168.41.8, 00:02:14, FastEthernet0/0

D 2.2.2.0 [90/2809856] via 192.168.41.8, 00:02:14, FastEthernet0/0

[90/2809856] via 192.168.34.5, 00:02:14, Serial1/2

上述輸出表明路由條目“2.2.2.0”确實有兩條等價路由,說明EIGRP是支援等價負載均衡的;

<b>實驗三、EIGRP的非等價負載均衡</b>

将R4的FastEthernet0/0口的delay恢複到原來的值,通過“variance”指令來研究EIGRP的非等價負載均衡,

在路由器參數沒有修改之前,對于“2.2.2.0”的路由條目,在R4的路由拓撲結構資料庫中存在如下記錄:

P 2.2.2.0/24, 1 successors, FD is 2323456

via 192.168.41.8 (2323456/2297856), FastEthernet0/0

P 192.168.41.0/24, 1 successors, FD is 51200

現在隻需要在R4的路由器上調整variance的值,使得這兩條路徑在路由表中都可見可用,

【注】:EIGRP非等價負載均衡是通過variance指令來實作的,“variance”的預設值是1(即代表等價路由的負載均衡),variance值的範圍是1--128,這個參數代表了可以接受的不等價路由的路徑成本的倍數,在這個範圍内的鍊路都将被接受,并且被放入路由表中。

R4的配置如下:

R4(config)#router eigrp 1

R4(config-router)#variance ?

&amp;lt;1-128&gt; Metric variance multiplier

R4(config-router)#variance 2

D 192.168.12.0/24 [90/2195456] via 192.168.41.8, 00:00:14, FastEthernet0/0

D 2.2.2.0 [90/2323456] via 192.168.41.8, 00:00:14, FastEthernet0/0

[90/2809856] via 192.168.34.5, 00:00:14, Serial1/2

以上輸出表明路由條目“2.2.2.0”有兩條路徑可達,但是他們的路徑成本不同,這就是所說的非等價路由,進而證明EIGRP也支援非等價負載均衡的。

本文轉自 linuxtro 51CTO部落格,原文連結:http://blog.51cto.com/linuxtro/387908,如需轉載請自行聯系原作者