Implementing
an EIGRP-Based Solution
實現一個EIGRP為基礎的解決方案
頁 3-4
Dynamic Routing
Protocols
A dynamic routing protocol
has these purposes:
動態路由協定具有以下目的:
*
The
discovery of remote networks
* 遠程網絡的發現
動態路由可以自動偵測遠方的網段
*
Maintaining
up-to-date routing information
* 維護最新的路由信息
會維持最新資料(新增移除路由設備)
*
Choosing
the best path to destination networks
*
選擇到目的網路的最佳路徑
會計算出最短路徑(成本最低)
*
The
ability to find a new best path if the current path is no longer available
*
如果當前路徑不再可用,則找到新的最佳路徑的能力
如果舊的最短路徑不見了會自動重新記算新的最短路徑
頁 3-5
Different protocols
behave differently:
不同的協定行為不同:
*
IGP
versus EGP
IGP是Domain裡面所用的,比如說企業內部網路在用的,不能跨Domain的。EGP就是跨Domain,不同的Domain之間在交換路由,像是兩家RSP在交換路由用的就是EGP。
EIGRP和OSPF都是屬於IGP。
*
Distance
vector vs. link state
*
距離向量與鏈路狀態
IGP又在細分Distance就像EIGRP ,link state就像OSPF。
*
Classless
vs. classful
* 無類與有類
你今天在做routing的時候要不要看Class,基本上看Class的話就侷限他的功能,比如說網路地址大家只能用 /8或 /16…被限制住了,classful這種協定應該沒有了。
不能有所不同的叫classful,也不支援VLSM只剩RIPv1在用classful。
*VLSM為不等長度的Subnet Mask。
Classless的意思就是不看Class A、Class B、Class C,是看Subnet Mask的長度,可以不等長度 /0到 /32全部支援,Classless路由協定包括RIPv2、EIGRP、OSPF、IS-IS。
頁 3-7
Administrative
Distance
管理距離
Multiple routing protocols
and static routes can be used at the same time.
可以同時使用多個路由協定和靜態路由。
Routers choose the routing
source with the lowest administrative distance.
路由器選擇具有最低管理距離的路由來源。
RouterA :
I need to send a packet from network A to network B.
Which
route is the best?
我需要從網路A發送一個數據包到網路B.
哪條路線是最好的?
哪條路線是最好的?
有一個重要的觀念就是AD值,AD值是一個信任值,當同一個Router跑多個協定時,我比較信任哪個協定所學來的就看AD值。
假設RouterA 同時跑EIGRP跟OSPF,每個協定都有個預設值,EIGRP的預設值是90 OSPF的預設值是110,AD值是比小的越小越信任。
最信任的就是長在自己身上的直連,C跟L開頭的,這兩個他的值是0,第二就是靜態路由他的值是1,在來才是動態,動態又以Cisco自己的協定優先(如圖),但是都可以改變,唯一不能改的是長在自己身上的直連C跟L開頭的。
如圖: RouterA透過EIGRP跟OSPF都學到RouterB,RouterA會走EIGRP這個協定。
如果全部都跑EIGRP或全部都跑OSPF,AD值都一樣才會比成本。
頁 3-8
EIGRP Features
EIGRP特徵
Rapid
convergence
快速收斂
因為有路由總表,在路由總表裡會記載所有的路由,只會copy第一名的路由到路由表裡面,其他的都會在路由總表裡待命。
Load
balancing
負載均衡
可以做到 equal (相等)成本和不等成本的負載均衡,不等成本是第二名和第三名….的路由都可以做負載均衡,Cisco以外的協定都做不到。
EC LB為相等成本,UEC LB為不等成本。
Loop-free,
classless routing
無環路,無類路由
Classless的意思就是不看Class A、Class B、Class C,是看Subnet Mask的長度,可以不等長度 /0到 /32全部支援。
Reduced
bandwidth usage
減少帶寬使用
-
Bounded updates
有界更新
沒有週期性的update(更新),只有週期性的Hello,像OSPF 30秒還會update。
-
No broadcast
無廣播
完全不用廣播,用的是單播跟群播,預設值是群播。
頁 3-10
EIGRP Path Selection
EIGRP路徑選擇
Advertised
distance = Reported distance
通告距離=報告距離
Metric to destination =
Reported distance + metric to neighbor
公制到目的地=報告距離+度量鄰居
計算路徑成本的公式:鄰居所給的metric(度量)值加上我自己到鄰居metric值。
頁 3-11
EIGRP Path Selection
In this
example, values for the EIGRP metric and for FDs and ADs are optimized for
explanation purposes. The real metric values are much larger.
在該示例中,為了解釋的目的,EIGRP度量的值以及FD和AD的值被優化。真正的指標值大得多。
Successor為最佳路由Feasible Successor為第二以後路由,這兩種路由都可以複數,可以有多筆最佳路也可以有多筆備援的路由,如果有多筆最佳路由全部copy到路由表,所以路由表稱為最佳路由表。
Topology Table(拓撲表)為路由總表Routing Table為最佳路由。
如果最佳路消失了就到Topology Table找備援路,所以Feasible Successor將會變成新的Successor,一但變成新的Successor就copy到路由表。
頁 3-12
EIGRP Metric
EIGRP度量
EIGRP
uses two criteria, by default, to calculate its metric:
EIGRP 的Metric值是利用頻寬跟延遲這兩個參數算出來的。
EIGRP在預設情況下使用兩個標準來計算其度量:
-
Bandwidth (頻寬)
-
Delay (延遲)
頻寬是拿整條路徑裡的最小頻寬,延遲是全部的加總。
Delay是所有出口介面的累加值,如果頻寬都一樣才看Delay。
頻寬是挑整條路線裡面的最小頻寛。
(頻寬 + Delay)乘256 = Metric 只要懂這個概念就好他會自動幫你計算。
Optionally,
EIGRP can use these criteria when calculating its metric (not recommended):
可選地,EIGRP可以在計算其指標時使用這些標準(不推薦):
-
Reliability (可靠性)
-
Load (負載)
頁 3-13
HQ# show interfaces
serial 0/0/0
Show interface某某某就可以看到頻寬(BW)和Delay (DLY)。
頁 3-14
EIGRP Configuration
EIGRP配置
Branch(config)#
router eigrp 100
Branch(config-router)#
network 10.1.1.0
Branch(config-router)#
network 192.168.1.0
HQ(config)#
router eigrp 100
HQ(config-router)#
network 172.16.1.0 0.0.0.255
HQ(config-router)#
network 192.168.1.0 0.0.0.255
Use the
router EIGRP and network commands to create an EIGRP routing process. Note that
EIGRP requires an AS number.
使用EIGRP的路由器和網絡命令創建一個EIGRP路由過程。 注意,EIGRP需要一個AS
the AS
parameter is a number between 1 and 65, 535 that is chosen by the network
administrator.
AS參數是由網絡管理員選擇的1和65,535之間的數字。
EIGRP後面這個數字是一個AS單位,AS單位一定要一樣否則鄰居建不起來。
網段則是放長在自己身上的網段,設定很彈性可選擇要不要加ACL Wildcard Masking,不加Wildcard Masking他會自己去判斷。
頁 3-16
Verification of EIGRP
Configuration
EIGRP配置的驗證
Branch#
show ip eigrp neighbors
檢查鄰居表的指令,現在很多協定都是要先建鄰居。
頁 3-17
Branch#
show ip eigrp interfaces
檢查介面清單的指令,鄰居建起來了如果沒有網段,就學不到後面的網段。
也可以看頻寬(BW)和Delay。
頁 3-18
Branch#
show ip route
D 172.16.1.0
[90/156160] via 192.168.1.2 01:12:45
Serial 0/0/0
在來就是看路由表,路由表是要看D開頭,D開頭代表是EIGRP所學來的。
AD值90、156160為Metric、via就是下一站地址,下一站地址透過Serial 0/0/0所學來的學多久了,沒有週期性的update。
頁 3-19
Branch#
show ip eigrp topology
P 172.16.1.0/24 1 ………
FD is 156160
Via 192.168.1.2 (156160/128256)
在來看EIGRP專屬特有的Topology Table(拓撲表)。156160是全程的Metric值,128256為鄰居告訴我的Metric值。
128256是HQ這台跟Branch報告,我到達172.16.1.0/24這個網段是128256。
156160 – 128256 就是Branch到HQ的Metric值。
頁 3-21
Load Balancing with
EIGRP
負載平衡與EIGRP
EIGRP
knows two types of load balancing:
EIGRP知道兩種類型的負載平衡:
1.
Equal-cost load balancing:
等成本負載均衡:
l By
default, up to four routes with a metric equal to the minimum metric are
installed in the routing table.
預設情況下,路由表中最多安裝四個度量等於最小度量的路由。
l The
routing table can have up to 16 entries for same destination.
路由表最多可以有16個條目用於相同的目的地。
2.
Unequal-cost load balancing:
不等成本負載均衡:
l By
default, it is not turned on.
默認情況下,它未打開。
l Load
balancing can be performed through paths that have up to 128 times worse
metrics than successor route.
負載均衡通過可以有多達比後繼路由128倍更糟指標的路徑進行。
EIGRP特有的兩種類型負載平衡都有辨法,預設值是相等成本,最多四條路線可以到逹目的地,如果有第五條就要下maximum-path這個指令,可以增加到16條路線。
如果要不等成本負載均衡要下Variance,預設值是1
Metric值最小的優先預設值是1,所以只會看到100的下一站路線其他都輸。
如果把Variance調成2,變成2乘第一名的Metric值,為200還看不到300和700,在把Variance調成3,變成300就可以看到二個的下一站路線。調到7就看到三條路線了。最多可以調到128。
頁 3-24
Components of
Troubleshooting EIGRP
EIGRP故障排除的組件
show ip
eigrp neighbors
show ip
interfaces brief
show ip eigrp interfaces
show ip protocols
第一個先檢查鄰居表,鄰居沒有建起來就沒有後續的動作,show ip eigrp
neighbors,以下為鄰居建不起來的因素:
1.
Are interfaces operational?
在介面上的操作?
你的interfaces跟本就沒有UP,show ip interfaces brief就可以看是UP還是shutdown。
2.
Does the EIGRP AS match?
EIGRP AS是否匹配?
AS的號碼不一致,跟鄰居所宣告的號碼不一致,show ip protocols就可以看到
3.
Are the interfaces enabled
for EIGRP?
EIGRP的介面是否啟用?
有沒有參與EUGRP的介面,show ip eigrp interfaces就可以看到到底哪些介面有參與EUGRP的運作。
4.
Is there an interface that is
configured as passive?
是否有一個介面被配置為被動?
不小心passive掉了,在Router-eigrp裡面有下passive-interface某個介面這個指令。
passive-interface某個介面是在passive掉末端設備,末端設備他要參與routing但不須要送EIGRP的封包,passive-interface某個介面是個好指令,可以讓Router不須要送EIGRP封包的介面關掉。
如果passive錯介面就變成鄰居建不起來。
如果鄰居都建起來,下個就是看路由表,該出現的路由要出現。
show ip
route
show ip protocols
show access-list
Are the networks being
advertised?
網路是否被廣告?
網段沒有放進去,該出去的網段就出不去。
Is there an ACL blocking
advertisements?
是否有ACL阻止廣告?
有可能被ACL的規則擋掉,ACL的規則沒寫好該送出去的路由被過濾掉了。
Is there a discontiguous
network issue?
是否存在不連續的網路問題?
頁 3-24
Troubleshooting EIGRP
Neighbors issues
故障排除EIGRP鄰居的問題
Branch#
show ip route eigrp
Investigates
whether there are EIGRP routes in the routing table. There are none in this
example.
調查是否有EIGRP路由進入路由表。 在這個例子中沒有。
1.
我的鄰居建不起來是不是介面被shutdown,show ip interfaces brief檢查一下。
2.
AS的號碼不一致,show ip protocols檢查一下,兩台都要show。結果一台是”EIGRP 1” 一台是”EIGRP 2”。
頁 3-27
參與Routing的介面清單,Branch的介面有參與,但是沒有建鄰居。在看HQ,HQ並沒有參與所以鄰居就建不起來,Serial 0/0/0介面被passive掉了,Serial不能passive他是要建鄰居的,該passive是接末端的介面,典型的passive錯介面。
Branch#
show ip eigrp interfaces Serial 0/0/0
If serial
interfaces on both routers are not enabled for the EIGRP process, a neighbor
adjacency will not be formed. In this example, Branch has Serial 0/0/0 enabled
for EIGRP.
如果兩個路由器上的Serial介面未啟用EIGRP進程,將不會形成鄰居連接。
在此示例中,Branch已為Serial0 /
0/0啟用了EIGRP。
HQ# show
ip eigrp interfaces Serial 0/0/0
In this
example, HQ does not have Serial 0/0/0 enable for EIGRP, and therefore the
routers are not becoming EIGRP neighbors.
在此示例中,HQ沒有為Serial
0/0/0啟用EIGRP,因此路由器不會成為EIGRP鄰居。
HQ# show
ip protocols
Because
the HQ interface S0/0/0 is configured as neighbor, an adjacency is not formed.
因為HQ介面S0 / 0/0被配置為鄰居,並且沒有形成鄰接。
頁 3-30
Troubleshooting EIGRP
Routing Table issues
故障排除EIGRP路由表的問題
HQ# show ip
protocols
該學到的網段有沒有學到,HQ後面的網段是172.16.1.0,結果他放的是10.0.0.0 Branch就學不到。
在來看有沒有套ACL的規則,如果有套ACL的話他會過濾網段。
distribute-list 1 out,左邊這個1要怎麼套標準型ACL規則。請用以下指令
R1(config)# access-list 1 deny
10.1.1.0 0.0.0.255
R1(config)# access-list 1
permit 10.0.0.0 0.255.255.255
這樣就特定的網段不讓他出去,其他的都可以出去了,這樣右手邊的Router就學不到10.1.1.0,其他的都可以學到。
EIGRP can be configured to
perform automatic summarization on classful boundaries that are causing issues
with discontiguous networks.
EIGRP可以配置為對導致不連續網路出現問題的類邊界執行自動匯總。
不連續的網路問題
A、C Router分別送到B Router的網段都是172.16.0.0,會造成中間Router的困擾,搞不清楚要怎麼走,沒有明確的路由要往左還是往右,這種叫做不連續的網路。
就172.16.0.0這個網段來講,他所切出來的網段被另一個網路隔開,一個東一個西,稱為不連續的網路 (discontiguous networks) 。
解決的辨法就打no awto-summarg(NO自動匯總),因為awto-summarg才會造成自動容縮,NO掉之後就乖乖的該多少就多少。完整指令在頁 3-33
上面這不算是不連續網路,這4段都是來自於同一個主要網路,172.16.0.0這叫主要網路,只要是來自於同一個主要網路,就不算是不連續網路。第一個範例他的網路史不一樣。
10.0.0.0
|
10.255.255.255
|
172.16.0.0
|
172.31.255.255
|
192.168.0.0
|
192.168.255.255
|
頁 3-35
implementing EIGRP
for IPv6
實現IPv6的EIGRP
EIGRP for IPv6
1. Easy to configure
易於配置
2. Advanced distance vector
mechanism with some features that are common to link-state protocols
高級距離矢量機制,其具有對於鏈路狀態協定常見的一些特徵
3. Uses protocol-dependent
modules to support multiple protocols
使用協定相關模塊支持多種協定
4. Supports IPv6 as a separate
routing context
支持IPv6作為一個獨立的路由環境1. Neighbor discovery 鄰居發現
會自動的偵測
2.
Incremental
updates 增量更新
他在交換路由表時並不是整個路由表丟給鄰居,而是只有差異的部份
3.
Fast
convergence-DUAL 快速收斂 - 雙
快速收斂的原因是因為有總表
4.
Uses
multicast for updates 使用群播進行更新
Updates用的是群播Metric值是利用頻寬Delay
5. Composite metric 複合度量
6.
Load
balancing 負載均衡
相等值和不等值都可以做負載均衡
7. Three tables: 三張表
○
Neighbor
table
○
Topology
table
○
Routing
table
頁 3-39
EIGRP for IPv6
Commands
EIGRP for IPv6命令
Router(config)#
ipv6 unicast-routing
Router(config)#
ipv6 router eigrp 1
Router(config-rtr)#
no shutdown
Router(config-if)#
ipv6 eigrp 1
Router(config-if)#
no shutdown
要支援IPv6的話須先打開總開關ipv6
unicast-routing。IPv6提供一個shutdown和no shutdown,他的功能是可以先把指令先設定好,但IPv6還沒正式派上用場,又不希望他浪費我的平寬、資源、CPU,等到要正式啟用在打開就好。可以讓EIGRP先shutdown預先設定的指令保留,他要在Router mode底下shutdown和no shutdown,就可以放心的先設定好指令。
參與就是IPv6的不同,在宣告參與的介面在也不用網段了,不會有Network指令了。改用另一種做法在interface裡面去宣告,有哪個介面要參與Routing就跑到那個interface裡面去,直接打ipv6
eigrp 1在no shutdown就可以。
頁 3-40
後續的檢查表都一樣拓撲表、鄰居表、路由表,從IP變成IPv6。
Route#
show ipv6 eigrp topology
Route#
show ipv6 eigrp neighborsRoute# show ipv6 route eigrp
頁 3-39
EIGRP for IPv6
Configuration Example
EIGRP
IPv6的配置實例
Branch(config)#
ipv6 router eigrp 1
Branch(config-router)#
exit
Branch(config)#
interface GigabitEthernet0/1Branch(config-if)# ipv6 eigrp 1
HQ(config)#
ipv6 router eigrp 1
HQ(config-router)#
exit
HQ(config)#
interface GigabitEthernet0/0
HQ(config-if)#
ipv6 eigrp 1
HQ(config-router)#
exit
HQ(config)#
interface GigabitEthernet0/1
HQ(config-if)#
ipv6 eigrp 1
記得總開關要先打開。
頁 3-42
Branch#
show ipv6 eigrp interfaces
參與Routing的介面清單。
Branch#
show ipv6 eigrp neighbors
特色就是他的下一站地址,用link-local一定是FE80開頭的,建鄰居時改用link-local。建鄰居你我知道就好,其他不相干的不用知道。
頁 3-43
Branch#
show ipv6 eigrp topology
拓撲表有下一站地址就是學來的,下一站地址的後面156160是全程的Metric值,128256為鄰居告訴我的Metric值。
Branch#
show ipv6 route eigrp
路由表一樣是D開頭代表是EIGRP學來的,下一站地址和出口介面。