观看张sir的BCSI视频学习笔记(EIGRP)

l          路由:路径的决策和路径的最佳决策过程。
IGP AS 内部的路由协议
         有类别路由协议
         无类别路由协议  
区别:路由更新时是否携带子网掩码。
 
EIGRP
OSPF
ISIS
 
BGP AS
EBGP
 
l          EIGRP Features
高级距离矢量型
快速收敛
支持 VLSM 和不连续子网
无类别
部分更新,触发更新
支持等开销和非等开销的负载均衡
支持多种不同的网络层协议
使用组播和单播传递路由信息
基于端口的汇总
配置简单,不必考虑网络链路的类型
 
 
l          EIGRP Key Technologies
邻居的发现恢复机制;
可靠的传输协议 (RTP) EIGRP 依靠 RTP Reliable Transport Protocol ,可靠传输协议)保证有序分发 EIGRP 数据包给所有邻居。 RTP 要求所有 EIGRP Packets (除了 Hello Ack )发出去以后都要有明确应答( Ack ),没有得到应答就会不断查询。
DUAL 算法选择无环: EIGRP 的邻居表中每一项都含有邻居 ID 和对应的 Interface
协议独立单元 (PDMs) PDMs Protocols-dependent Modules ,协议独立单元)支持 IP Apple Talk Novell Netware 这些网络层协议,每个协议均有独立的 EIGRP 模块。但就现在 IP 一枝独秀的局面, PDMs 意义并不大。
 
 
 
l          三张表:
邻居表 neighbor table ,跟谁建立邻居关系 (Next-Hop Router | Interface)
拓扑表 topology table
路由表 routing table
 
AD = cost between the next-hop router and the destination
邻居到达目标网络的距离
FD = cost from local router = AD of next-hop router + cost between the local router and the next-hop router
从本地到邻居和从邻居到达目标网络的距离总长
最小的 FD 就是最佳路径
 
 
 
l          EIGRP packets EIGRP 数据包分为 Hello Update Query Reply Ack (其中 Update Relay Query 都要有 Ack 回应)。
 
Hello 建立和维持邻居关系
Update :发送路由更新
Query 当本地去往目标网络没有主路由及备份路由时发送的查询包
Reply 邻居响应
ACK
 
l          邻居关系建立:
1. hello (5 秒周期,保持时间 15 )
2. 返回 hello
3. ACK
4. 建立拓扑表
5. update
6. 返回 ACK
EIGRP 形成邻居的条件: 1) As 号相同 2) 度量计算的 K 值相同 3) 认证相同( EIGRP 只支持密文认证) 4) 对端通告的 Neighbor ID 必须在本端的直连网段中存在。
 
配置
#router eigrp 100 ( 进程号,两个路由器的 EIGRP 进程号必须相同 )
#no auto-summary
#network 10.1.1.0 0.0.0.255
 
 
#sh ip eigro neighbors
#debug ip eigrp
 
l          EIGRP 内部 (int) 路由管理距离是 90 ,外部路由管理距离是 170
内部路由:通过 eigrp 路由协议本身的 network 学习的
外部路由:通过其它手段进入 EIGRP
组播地址: 244.0.0.10
 
l          计算度量值: EIGRP 度量设计得相当全,包括带宽,延迟,可靠性,负载和 MTU ,但起作用的一般只有带宽和延迟,具体计算是用 IGRP 的方法再乘以 256 ,因为 IGRP 度量值是 24 位,而 EIGRP 扩展到 32 位。公式为 Metric= [10^7/ 所有链路的最小带宽(单位 kbps + 延迟之和(单位 10ms /10] * 256
 
Bandwidth
Delay
Reliability
Loading
MTU
 
K 值: K1=1 K2=0 K3=1 K4=0 K5=0 ( 权重 )
Metric= [K1*BW + ((K2*BW) / (256 �C Load)) + K3*Delay]
 
默认: Metric = (BW + Delay) * 256
BW=10000000 / 沿途更新入向接口 BW 的最小值 (kbit/s)
Delay= 沿途更新入向接口所有 Delay 的总和 ( 微秒 microseconds) / 10
 
 
Serial 接口默认带宽是 1544K Delay 20000 usec
例如:
S1----S2----Lo0 2.2.2.2/24
S1 S2 学习到网络 2.2.2.0/24 Metric 计算:
BW 10000000 / 1544 = 6476 ( 取整数值 )
Delay (20000 + 500) / 10 = 2500 ( 环回口的 delay 值是 5000 Serial 口的 delay 值是 20000)
Metric = (6476 + 2500) * 256 = 2297856
 
 
l          距离矢量型路由协议,只知道邻居。
l          链路状态型路由协议,能够对整个网络有完整的理解。
 
 
路由表查找:最长匹配原则。
 
l          网络边界路由器缺省路由:
RIP 作为载体:
#redistribute static metric 1
#default-information originate
 
ERGRP 作为载体:
#ip default-network 172.16.0.0
#int s1
#ip summary-address eigrp 100 172.16.0.0 255.255.0.0
 
 
l          路由汇总:
目的:减少路由表条目,大大提高路由器的转发效率,网络结构变化影响范围大大缩小。
 
自动 ( 默认的 ) ,自动在主类网络边界进行汇总。针对的是直连的网络号。
手动,针对的是直连或者不直连的网络。基于接口的。
EIGRP 对不连续子网的支持表现在可以关闭强制性的自动汇总,关闭后发出的路由条目带有子网掩码,且为明细路由。
 
配置:
#int s1/0
#ip summary-add eigrp 100 172.16.0.0 255.255.0.0
 
自动产生一条指向空接口的路由,管理距离是 5 ,目的是防止路由环路。 ( 路由黑洞 )
 
变相宣告默认路由:
#int s1/0
#ip summary-add eigrp 100 0.0.0.0 0.0.0.0
 
l          EIGRP Load Balancing
EIGRP 支持不等价负载均衡,通过命令 router config-router # variance number 执行,比如最小度量值 100 number=2 ,那么度量值 <=200 以内的路由条目也可以加入到路由表中,默认支持 4 条,最多 6 跳。 (在 12.2 版本前,数据包这样分配:比如 Metric/ 最小 Metric= 250/100 =5/2, 那么第一条链路走 5 个包,第二条走 2 个包;但这样有缺陷,若为 101 100 = 101/100, 第一条链路先发 101 个包,发的时候第二条长时间处于空闲,也就等于没有负载均衡。 12.3 版本后进行了改进,实行四舍五入,这样 101 100 =1/1, 一条链路发一个包,实现真正的负载均衡)。
 
去往目标网络有多条路径,可以是等开销的,最大允许 6 条路径。
Fast switching 快速交换,基于目的地,(路由器启用了 CEF 或者 ip route-cache  
Process switching 处理交换,基于数据包的。
 
度量值不一样的时候也可以负载均衡,不等开销的路径。
实验:
R1 s1/1 ----- s1/0 R2 s1/1 ----- s1/0 R3
Fe0                                                 Fe0
 |                                                           |  
 |--------------------------------------------|
 |
Fe0
R4
 
R2#show ip route
Gateway of last resort is not set
 
     4.0.0.0/24 is subnetted, 1 subnets
D       4.4.4.0 [90/1892352] via 12.1.1.1, 00:05:20, Serial1/0
                [90/1892352] via 23.1.1.2, 00:05:20, Serial1/1         // 到达目的地有两条路径
     23.0.0.0/24 is subnetted, 1 subnets
C       23.1.1.0 is directly connected, Serial1/1
     172.16.0.0/24 is subnetted, 3 subnets
D       172.16.1.0 [90/1889792] via 12.1.1.1, 00:05:20, Serial1/0
D       172.16.2.0 [90/1889792] via 12.1.1.1, 00:05:20, Serial1/0
D       172.16.3.0 [90/1889792] via 12.1.1.1, 00:05:20, Serial1/0
     123.0.0.0/24 is subnetted, 1 subnets
D       123.123.123.0 [90/1764352] via 12.1.1.1, 00:05:20, Serial1/0
                      [90/1764352] via 23.1.1.2, 00:05:20, Serial1/1
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, Serial1/0
R2#
R2#sh ip route 4.4.4.0
Routing entry for 4.4.4.0/24
  Known via "eigrp 100", distance 90, metric 1892352, type internal
  Redistributing via eigrp 100
  Last update from 23.1.1.2 on Serial1/1, 00:04:27 ago
  Routing Descriptor Blocks:
  * 12.1.1.1, from 12.1.1.1, 00:04:27 ago, via Serial1/0
      Route metric is 1892352, traffic share count is 1             // 负载均衡比例是 1
      Total delay is 25100 microseconds, minimum bandwidth is 2048 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
    23.1.1.2, from 23.1.1.2, 00:04:27 ago, via Serial1/1
      Route metric is 1892352, traffic share count is 1            // 负载均衡比例是 1
      Total delay is 25100 microseconds, minimum bandwidth is 2048 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
 
R2#
        
修改其中一条链路的带宽:
R2#int s1/1
R2(config-if)#bandwidth 512
 
R2#sh ip route eigrp
     4.0.0.0/24 is subnetted, 1 subnets
D       4.4.4.0 [90/1892352] via 12.1.1.1, 00:00:13, Serial1/0 // 路由表中显示到达目的地路径只有一条
     172.16.0.0/24 is subnetted, 3 subnets
D       172.16.1.0 [90/1889792] via 12.1.1.1, 00:00:13, Serial1/0
D       172.16.2.0 [90/1889792] via 12.1.1.1, 00:00:13, Serial1/0
D       172.16.3.0 [90/1889792] via 12.1.1.1, 00:00:13, Serial1/0
     123.0.0.0/24 is subnetted, 1 subnets
D       123.123.123.0 [90/1764352] via 12.1.1.1, 00:00:13, Serial1/0
R2#sh ip eig topo
IP-EIGRP Topology Table for AS(100)/ID(23.1.1.1)
 
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - Reply status
 
P 4.4.4.0/24, 1 successors, FD is 1892352
         via 12.1.1.1 (1892352/156160), Serial1/0 
         via 23.1.1.2 (5642496/156160), Serial1/1  // via 23.1.1.2 路径变成 FS
P 12.1.1.0/24, 1 successors, FD is 1761792
         via Connected, Serial1/0
P 23.1.1.0/24, 1 successors, FD is 5511936
         via Connected, Serial1/1
         via 12.1.1.1 (2276352/1764352), Serial1/0
P 123.123.123.0/24, 1 successors, FD is 1764352
         via 12.1.1.1 (1764352/28160), Serial1/0
         via 23.1.1.2 (5514496/28160), Serial1/1
P 172.16.1.0/24, 1 successors, FD is 1889792
         via 12.1.1.1 (1889792/128256), Serial1/0
         via 23.1.1.2 (5642496/156160), Serial1/1
P 172.16.2.0/24, 1 successors, FD is 1889792
         via 12.1.1.1 (1889792/128256), Serial1/0
         via 23.1.1.2 (5642496/156160), Serial1/1
P 172.16.3.0/24, 1 successors, FD is 1889792
         
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - Reply status
 
         via 12.1.1.1 (1889792/128256), Serial1/0
         via 23.1.1.2 (5642496/156160), Serial1/1
R2#
配置 via 23.1.1.2 作为负载均衡路径,不等值负载均衡。
R2(config)#router eigrp 100
R2(config-router)#variance 3
 
说明: variance 的值默认是 1, 代表等价链路的均衡负载,它的取值范围 1 128 ,这个乘数代表了可以接受的不等价链路的度量值的倍数,在这个范围内的链路都将被接受,并且被加入到路由表中。
比如说有两条链路,一条度量值是 1889792 ,另一条是 5642496 ,如果没有设置过 variance 的值,则会在路由表中出现度量值为 1889792 的路径,如果设置了 variance 3 ,则两条路由都会出现在路由表中。
因为 1889792 * 3 = 5669376 ,刚刚大于 5642496 ( 必须要大于 )
 
R2#sh run
!
router eigrp 100
 variance 3                
 network 12.1.1.0 0.0.0.255
 network 23.1.1.0 0.0.0.255
 no auto-summary
 
R2#sh ip route eigrp
     4.0.0.0/24 is subnetted, 1 subnets
D       4.4.4.0 [90/1892352] via 12.1.1.1, 00:30:16, Serial1/0
                [90/5642496] via 23.1.1.2, 00:30:16, Serial1/1
     172.16.0.0/24 is subnetted, 3 subnets
D       172.16.1.0 [90/1889792] via 12.1.1.1, 00:30:16, Serial1/0
                   [90/5642496] via 23.1.1.2, 00:30:16, Serial1/1
D       172.16.2.0 [90/1889792] via 12.1.1.1, 00:30:16, Serial1/0
                   [90/5642496] via 23.1.1.2, 00:30:16, Serial1/1
D       172.16.3.0 [90/1889792] via 12.1.1.1, 00:30:16, Serial1/0
                   [90/5642496] via 23.1.1.2, 00:30:16, Serial1/1
     123.0.0.0/24 is subnetted, 1 subnets
D       123.123.123.0 [90/1764352] via 12.1.1.1, 00:30:16, Serial1/0
R2#sh ip eigrp topo
IP-EIGRP Topology Table for AS(100)/ID(23.1.1.1)
 
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - Reply status
 
P 4.4.4.0/24, 1 successors, FD is 1892352
         via 12.1.1.1 (1892352/156160), Serial1/0
         via 23.1.1.2 (5642496/156160), Serial1/1
P 12.1.1.0/24, 1 successors, FD is 1761792
         via Connected, Serial1/0
P 23.1.1.0/24, 1 successors, FD is 5511936
         via Connected, Serial1/1
         via 12.1.1.1 (2276352/1764352), Serial1/0
P 123.123.123.0/24, 1 successors, FD is 1764352
         via 12.1.1.1 (1764352/28160), Serial1/0
         via 23.1.1.2 (5514496/28160), Serial1/1
P 172.16.1.0/24, 1 successors, FD is 1889792
         via 12.1.1.1 (1889792/128256), Serial1/0
         via 23.1.1.2 (5642496/156160), Serial1/1
P 172.16.2.0/24, 1 successors, FD is 1889792
         via 12.1.1.1 (1889792/128256), Serial1/0
         via 23.1.1.2 (5642496/156160), Serial1/1
P 172.16.3.0/24, 1 successors, FD is 1889792
         
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - Reply status
 
         via 12.1.1.1 (1889792/128256), Serial1/0
         via 23.1.1.2 (5642496/156160), Serial1/1
R2#sh ip route 4.4.4.0
Routing entry for 4.4.4.0/24
  Known via "eigrp 100", distance 90, metric 1892352, type internal
  Redistributing via eigrp 100
  Last update from 23.1.1.2 on Serial1/1, 00:30:33 ago
  Routing Descriptor Blocks:
  * 12.1.1.1, from 12.1.1.1, 00:30:33 ago, via Serial1/0
      Route metric is 1892352, traffic share count is 3
      Total delay is 25100 microseconds, minimum bandwidth is 2048 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
    23.1.1.2, from 23.1.1.2, 00:30:33 ago, via Serial1/1
      Route metric is 5642496, traffic share count is 1
      Total delay is 25100 microseconds, minimum bandwidth is 512 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
 
R2#
 
验证:
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#access-list 100 permit icmp any any
R2(config)#
R2#debug ip packet 100
IP packet debugging is on for access list 100
R2#
R2#ping    
Protocol [ip]:
Target IP address: 4.4.4.4
Repeat count [5]: 4
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 4, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
!!!!
Success rate is 100 percent (4/4), round-trip min/avg/max = 16/30/48 ms
R2#
*Mar  1 03:22:38: IP: s=12.1.1.2 (local), d=4.4.4.4 (Serial1/0), len 100, sending
*Mar  1 03:22:38: IP: s=4.4.4.4 (Serial1/0), d=12.1.1.2 (Serial1/0), len 100, rcvd 3
*Mar  1 03:22:38: IP: s=12.1.1.2 (local), d=4.4.4.4 (Serial1/0), len 100, sending
*Mar  1 03:22:38: IP: s=4.4.4.4 (Serial1/0), d=12.1.1.2 (Serial1/0), len 100, rcvd 3
*Mar  1 03:22:38: IP: s=12.1.1.2 (local), d=4.4.4.4 (Serial1/0), len 100, sending
*Mar  1 03:22:38: IP: s=4.4.4.4 (Serial1/0), d=12.1.1.2 (Serial1/0), len 100, rcvd 3
*Mar  1 03:22:38: IP: s=23.1.1.1 (local), d=4.4.4.4 (Serial1/1), len 100, sending
*Mar  1 03:22:38: IP: s=4.4.4.4 (Serial1/1), d=23.1.1.1 (Serial1/1), len 100, rcvd 3
R2#
数据包发送的比例是 3:1
 
R2(config-router)#traffic-share balanced  // 默认配置的命令,这是负载均衡的先决配置
如果修改为:
R2(config-router)#traffic-share min across-interfaces
意义:在多条路径中,在这多条路径中不做负载均衡,只使用其中最小的那一条,但是将所有可能的路径都列举在路由表中。
 
R2(config-router)#traffic-share min across-interfaces
R2(config-router)#
R2#sh
*Mar  1 03:33:27: %SYS-5-CONFIG_I: Configured from console by console
R2#sh ip route eigrp
     4.0.0.0/24 is subnetted, 1 subnets
D       4.4.4.0 [90/1892352] via 12.1.1.1, 00:00:07, Serial1/0
                [90/5642496] via 23.1.1.2, 00:00:07, Serial1/1
     172.16.0.0/24 is subnetted, 3 subnets
D       172.16.1.0 [90/1889792] via 12.1.1.1, 00:00:07, Serial1/0
                   [90/5642496] via 23.1.1.2, 00:00:07, Serial1/1
D       172.16.2.0 [90/1889792] via 12.1.1.1, 00:00:07, Serial1/0
                   [90/5642496] via 23.1.1.2, 00:00:07, Serial1/1
D       172.16.3.0 [90/1889792] via 12.1.1.1, 00:00:07, Serial1/0
                   [90/5642496] via 23.1.1.2, 00:00:07, Serial1/1
     123.0.0.0/24 is subnetted, 1 subnets
D       123.123.123.0 [90/1764352] via 12.1.1.1, 00:00:07, Serial1/0
R2#sh ip route 4.4.4.0
Routing entry for 4.4.4.0/24
  Known via "eigrp 100", distance 90, metric 1892352, type internal
  Redistributing via eigrp 100
  Last update from 23.1.1.2 on Serial1/1, 00:00:17 ago
  Routing Descriptor Blocks:
  * 12.1.1.1, from 12.1.1.1, 00:00:17 ago, via Serial1/0
      Route metric is 1892352, traffic share count is 1
      Total delay is 25100 microseconds, minimum bandwidth is 2048 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
    23.1.1.2, from 23.1.1.2, 00:00:17 ago, via Serial1/1
      Route metric is 5642496, traffic share count is 0
      Total delay is 25100 microseconds, minimum bandwidth is 512 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2
 
R2#
 
l          EIGRP 支持的广域网链路为 Point-to-point NBMA EIGRP 路由协议更新使用的带宽不能超过链路带宽的 50%
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int s1/0
R2(config-if)#ip bandwidth-percent eigrp 100 20  // 限制 eigrp 使用的带宽比例为 20%
 
l          EIGRP 认证, EIGRP 仅支持 MD5 认证, Router 产生并检查每个 EIGRP 数据包,认证每个 Update Packet 的源。 EIGRP 允许通过 钥匙链 来管理密匙,可以拥有多个钥匙,每把钥匙是 Key-id password 的一对映射,且存在生存期,按 照顺序,最先的 Key 最先被使用。
实验:
R2(config)#key chain cisco
R2(config-keychain)#key 1
R2(config-keychain-key)#key-string 123456  // 定义密码
R2(config-keychain-key)#end    
R2#conf t
R2(config)#int s1/1
R2(config-if)#ip authentication key-chain eigrp 100 cisco
R2(config-if)#ip authentication mode eigrp 100 md5         //eigrp 使用 MD5 认证
 
R2#sh run
!        
key chain cisco
 key 1
  key-string 7 025756085F5359
!
interface Serial1/1
 bandwidth 512
 ip address 23.1.1.1 255.255.255.0
 ip authentication mode eigrp 100 md5
 ip authentication key-chain eigrp 100 cisco
!
 
 
l          DUAL ( 迷散更新算法 ) 算法工作过程:
1. 跟踪邻居通告所有的路由
2. 选择无环的路径 ( 主路由,备份路由 )
3. 如果主路由丢失,将使用备份路由成为主路由
4. 如果主路由丢失而没有备份路由,那么将向邻居路由器发送一个查询,并且从新计算一个新的主路由
 
l          影响 EIGRP 的可扩展因素
  1 )对等体之间交换路由信息的数量,在没有精细汇总的情况下,可能会过多的产生(应在 2000 条路由条目以内)
  2 )拓扑改变时,必须严格考虑路由器的数量
  3 )拓扑深度,即传输给所有 Router 必须经过的跳数(最远两跳间的距离, EIGRP 支持到 224
  4 )整个网络里可选路径的数目(过强的冗余对 EIGRP 来讲是浪费)
 
 
l          EIGRP 末节
EIGRP Stub
不会向末节路由器发出查询。
Router 的某条路由丢失并且没有可行后继的时候,路由会进入 活动状态 ,并且 Router 会发送查询给全部接口上的全部邻居(除了原来 最优路径的接口),邻居查看路由表,如果也没有丢失的路由信息,接着发送查询给他们自己的邻居,直到某台 Router 有可选路由,应答该查询,才算终止。 这样的机制会造成两个问题:
 
  1 )不断的查询对链路开销是很大的负担,解决办法: EIGRP Stub   EIGRP 末节一般用在 Hub-and-Spoke 拓扑中,可以提高网路可靠度,减少资源利用,并简化远端 Spoke Router 配置,末节 Router 会发送一个特别的对等体信息通告给所有邻居,说自己是末节 Router ,那么收到该信息的 Router 就不会向该 Router 发送 Query 信息。
 
     router config-router # eigrp stub [receive-only/connected/static/summary]
     receive-only: 阻止末节 Router 发送任何路由
     connected :允许发送直连路由(可能需要重发布)
     static :允许发送静态路由(必须通过重发布)
     summary
:允许发送汇总路由  
      默认允许 connected summary
 
  2 )如果在 3mins 内都没有邻居应答, Router 会进入 SIA Stuck in Active )状态,重设没有应答的邻居关系(其实就是所有邻居),这就相当于为了一条路由重设邻居关系,是一种缺陷。邻居没有应答原因有多种,可能是 CPU 使用率过高或内存不足,链路劣质导致分组丢失或者故障导致单向链路。 SIA 解决方式有两种:
1. 12.2 版本后对 SIA 进行了处理,在以前, RouterA 发送 Query 无应答, RouterA 就会重启所有的邻居关系,现在,在 1.5mins 后仍无应答会发送一个 SIA 查询,如果 B SIA Relay 进行响应指明自己正在查询,这样可以继续维持邻居关系。
2. SIA 的状态出现一般是网络节点出现了故障, Graceful Shutdown 可以解决该问题。比如 RouterA Down 掉了,在 EIGRP 进程关闭的时候,会发出广播信息,通知邻接对等体这里已不可达。

你可能感兴趣的:(职场,休闲,EIGRP,BCSI)