Layer3 EIGRP

session 1 eigrp cisco私有的路由协议概述
1、EIGRP:Enhanced Interior Gateway Routing Protocol是一种高级的距离矢量(DV)路由协议,使用DUAL弥散更新算法。
2、eigrp管理距离:三个分别为90、5、170
3、eigrp有AS号,同AS域的路由器eigrp的AS号必须相同,否则无法成为邻居。因为邻居表不能形成。
4、eigrp的metric值由如下5个参数(K值,K1-K5)组成:

带宽(bandwidth)k1

      10的7次方除以源和目标之间最低的带宽乘以256(10的7次方除以以Kbit/s为单位的最小带宽,然后加上延迟之和除以10,最后乘于256)

延迟(delay) k2
      接口的累积延迟乘以256,单位是10微秒
可靠性(reliability) k3
      根据keepalive而定的源和目的之间最不可靠的可靠度的值
负载(loading) k4
      根据包速率和接口配置带宽而定的源和目的之间最不差的负载的值
最大传输单元(MTU) k5
      路径中最小的MTU.MTU包含在EIGRP的路由更新里,但是一般不参与EIGRP度的运算
5、eigrp中的三张表:
邻居表Neighbor table
拓扑表Topology table
路由表Routing table
6、eigrp的network含义:我的哪些网段参与到eigrp进程中。后面是反掩码,但是写正掩码可以自动转换,不写掩码会默认为主类的掩码。
7、eigrp可以在一台设备上同时运行多个(AS号)、可以支持不等价负载均衡。等价负载均衡的条件是两条路由的管理距离和metric必须相同才能同时出现在路由表中。
8、eigrp可以支持多种协议,利用地址族来关联其他协议,使用address-family 协议
9、是收敛速度最快的路由协议,并且100%的无环路由,配置简单,增量更新(有变化的才更新),有自己的协议号(88)不像rip使用udp承载。
10、eigrp缺点:敏感、出现频繁抖动、频繁收敛导致网络不稳定。

session 2 eigrp邻居之间的参数
1、hello包
hello是eigrp建立邻居的消息报文,默认以组播发送地址224.0.0.10
eigrp邻居建立的条件:AS号和key一致,否则无法建立邻居关系,修改key值:
R1(config)#router eigrp 1
R1(config-router)#metric weights 0 1 0 1 0 0     metric权重,默认是10100,第一个0是tos值(只支持tos0)
2、hold uptime,是邻居保活时间,默认15s内没有收到hello包认为邻居down了。
修改eigrp的hello包时间:R1(config)#interface f0/0
R1(config-if)#ip hello-interval eigrp 1 5     在eigrp 1中修改hello包发送时间为5秒
3、eigrp中也有路由源检测机制,默认开启不可修改。(当两个R直连的接口ip地址不在同一个网段中时,会拒绝形成邻居)
4、neihbor命令指定eigrp邻居,当使用这条命令后路由器会以单播进行发送hello给指定邻居
R1(config-router)#neighbor 12.1.1.2 s0/1  这个命令必须两台相连的路由器都配置一样,否则一端配置了neighbor会发单播与不配置的一端发送的广播hello不匹配不能形成邻居关系
5、passive命令,与rip中不一样,接口配置了passive的接口不会接收和发送任何eigrp报文(相当于废了)。
R1(config-router)#passive-interface s0/1
6、SRTT:smooth round-rip time 平均往返时间,邻居之间进行包括关系确认的往返时间,衡量邻居之间距离
7、RTO:Restransmission timeout,重传超时,等多久没收到ACK的hello包就重传一次hello的请求包
8、组播流定时器(multicast flow):从组播切换到单播ack要等待多久
9、update包:传递路由更新,根据一个接口上连接的邻居数量选择发单播还是组播

一、eigrp的router-ID相当于路由器身份证,是一个32bit的标识,默认是选择路由器环回口ip作为R-ID,没有环回口就使用p最大的接口的ip做R-ID,或者可以手工指定一个32bit的标识,不是任何接口ip也可以,比如2.2.2.2,在eigrp中R-ID可以相同(不建议,会影响RTO往返时间和路由),不影响邻居关系的建立。
 
session 3 eigrp的拓扑数据库和路由表FIB
eigrp的数据库查看命令:show ip eigrp database
show ip protocols 可以看到eigrp的K值
1、show ip eigrp topology 查看iegrp的拓扑数据库,能够放入拓扑表的路由必须满足条件:FD>AD,只有能放入拓扑表的路由条目才有机会进入FIB路由表。(metric由FD和AD组成,主看FD,AD用来计算其他的值)
FD:我到达目的网络的距离
AD:邻居到达目的网络的距离
R1#show ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status
P 2.2.2.2/32, 1 successors, FD is 409600                      主路由到达2.2.2.2/32的FD是409600,AD是128256
        via 12.1.1.2 (409600/128256), FastEthernet0/0    这是主路由  
        via 21.1.1.2 (2297856/128256), Serial1/0             这是备份路由,FD是2297856,AD是128256
P 1.1.1.1/32, 1 successors, FD is 128256
        via Connected, Loopback0
P 12.1.1.0/24, 1 successors, FD is 281600
        via Connected, FastEthernet0/0
P 21.1.1.0/24, 1 successors, FD is 2169856
        via Connected, Serial1/0
 
2、eigrp的路由状态
R1#show ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
P - Passive,被动正常状态,表示路由正常 
A - Active,邻居没有响应query的ack报文,邻居出现故障
U - Update,这条路由正在更新
Q - Query,当一条路由消失,会发送query查询新的可能的路径
R - Reply,延迟
 
session 4 eigrp的高级特性 
      1、eigrp的不等价(指AD和metric不一样)负载均衡,前提是负载路由都能够进拓扑数据库(FD>AD)。当两条不等价的路由都进入拓扑数据库后,eigrp会查看方差值来判断不等价路由是否要从拓扑表放入路由表。判断依据是:如果主路由(successors路由)的FD*方差值(variance)>次路由的FD,那么这条次路由将会被放入路由表(实现不等价负载均衡),例如上面的拓扑表中到达2.2.2.2/32有两条不等价路由被放入拓扑表,但是因为默认是选择管理距离和metric值小的路由放入FIB中,所以默认情况下:只有metric小的路由放入FIB
R1#show ip route
Gateway of last resort is not set
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/409600] via 12.1.1.2, 00:07:38, FastEthernet0/0      只有下一跳是12.1.1.2的路由放入FIB
     21.0.0.0/24 is subnetted, 1 subnets
C       21.1.1.0 is directly connected, Serial1/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0
如果要想把次路由也放入FIB实现不等价负载均衡,就需要修改:方差值variance,使得下一跳为12.1.1.2的路由的FD*方差值variance>下一跳为21.1.1.2的FD值就可以了(409600*variance>2297856),这里可以修改方差值variance为10就可以了(默认是1)
R1(config)#router eigrp 1
R1(config-router)#variance 10
R1(config-router)#do show ip route
Gateway of last resort is not set
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/2297856] via 21.1.1.2, 00:00:03, Serial1/0        两条路由都出现在FIB,实现不等价负载均衡
                [90/409600] via 12.1.1.2, 00:00:03, FastEthernet0/0   
     21.0.0.0/24 is subnetted, 1 subnets
C       21.1.1.0 is directly connected, Serial1/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0
在不等价负载均衡中,流量如何分配,可以使用命令来调整:
R1(config-router)#traffic-share ?
  balanced  Share inversely proportional to metric      负载流量与metric成反比,metric小的走3/5的流量
  min       All traffic shared among min metric paths    流量只走meyric最小的那条路,另外为备份
 
eigrp的路由条目的metric修改也可以使用偏移列表offset-list,用法与rip相同。
R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255
R1(config-router)#offset-list 1 in 99999 fastEthernet 0/0     从f0/0收到的(ACL1匹配的)路由条目(172.16.0.0/16)的metric将被 +99999放入路由表中

2、eigrp的路由汇总
在R连接邻居接口上汇总,和rip一样,将192.168.1.0/24、192.168.2.0/24、192.168.3.0/24汇总成一条路由
R1(config)#interface f0/0
R1(config-if)#ip summary-address eigrp 1 192.168.0.0 255.255.252.0
R1(config-if)#exit
R1#show ip route eigrp
D     192.168.0.0/22  [90/409600] via 12.1.1.2, 00:29:56, FastEthernet0/0
R1宣告给R2的就只有一条汇总路由192.168.0.0/22了,减小了R2的路由表大小。

3、eigrp的路由宣告控制(stub末节区域,一般在AS的边缘路由器) 
eigrp使用stub命令来控制向邻居宣告的路由条目,可以跟多个选项同时宣告
R1(config-router)#eigrp stub ?
  connected      Do advertise connected routes                                  只宣告直连网段
  leak-map       Allow dynamic prefixes based on the leak-map         宣告router-map匹配的路由
  receive-only   Set IP-EIGRP as receive only neighbor                       路由只收不发,只能单独使用
  redistributed  Do advertise redistributed routes                              只宣告重分布的路由
  static         Do advertise static routes                                                只宣告静态路由
  summary        Do advertise summary routes                                    只宣告汇总路由

4、eigrp路由的管理距离,修改管理距离只对本地路由器有效。
修改汇总路由的管理距离:
R1(config-router)#summary-metric 172.16.0.0/16
修改eigrp的默认管理距离:
R1(config-router)#distance eigrp 90 170          修改所有的内部路由的管理距离90,外部路由的管理距离170
R1(config-router)#distance 100 12.1.1.2 0.0.0.0 3  从12.1.1.2收到的被ACL3匹配的路由的管理距离改为100

5、 eigrp的水平分割
默认是所有接口都开启的,关闭方法:
R1(config-if)#no ip split-horizon eigrp 1    需要再帧中继交换机接口上关闭水平分割,否则无法传递路由。

6、eigrp区域产生的默认路由方法(与rip一样),四种:
1)重分布
R1(config)#ip route 0.0.0.0 0.0.0.0 f0/1          默认路由必须写出接口,而不能是下一跳
R1(config)#router eigrp 1
R1(config-router)#redistribute static              (这种默认路由的管理距离是170)
2)将默认路由宣告到eigrp中
R1(config)#ip route 0.0.0.0 0.0.0.0 f0/1          默认路由必须写出接口,而不能是下一跳
R1(config)#router eigrp 1
R1(config-router)#network 0.0.0.0 0.0.0.0       (这种默认路由的管理距离是90)
3)接口下做默认路由的手工汇总
R1(config-if)#ip summary-address eigrp 1 0.0.0.0 0.0.0.0 200   汇总了一条默认路由,管理距离设置为200
4)使用default-network(不建议使用)
必须先把接口宣告进eigrp,然后使用:
R1(config)#ip default-network 192.12.1.0 (写成主类)
这样就可以把这条路由下发给其他路由器

7、eigrp控制默认路由
R1(config)#router eigrp 1
R1(config-router)#no default-information in         不接收其他路由器发来的默认路由
R1(config-router)#no default-information out      不向其他路由器发送默认路由
 
R1(config-router)#no default-information in 1   可以使用ACL1来过滤那些源(邻居)发来的默认路由不接收
R1(config)#access-list 1 permit 12.1.1.2              12.1.1.2发来的默认路由我不接收
 
R1(config-router)#no default-information out 1 可以使用ACL1来过滤给哪些邻居发送我的默认路由
R1(config)#access-list 1 permit 12.1.1.2               我的默认路由不发给12.1.1.2这个邻居

session 5 eigrp的认证,没有经过认证的eigrp是无法建立邻居的
第一步、接口下开启eigrp认证
R1(config)#interface f0/0
R1(config-if)#ip authentication mode eigrp 1 md5             接口开启eigrp认证,只支持md5密文模式 
R1(config-if)#ip authentication key-chain eigrp 1 ccie1      告诉接口f0/0在eigrp1中使用钥匙串ccie1来认证
R1(config-if)#exit
第二步、配置认证钥匙串和钥匙、密码 
R1(config)#key chain ccie1                              配置一个名为ccie1的钥匙串,其中配置了2把钥匙
R1(config-keychain)#key 1                                             
R1(config-keychain-key)#key-string 123        钥匙1密码为123(这个就是最小key-ID了)
R1(config-keychain-key)#end 
R1(config-keychain)#key 2
R1(config-keychain-key)#key-string 456        钥匙2密码为456 (没什么用,eigrp只看最小keyID和密码)
R1(config-keychain-key)#end 
 
对端邻居也一样的配置 
第一步、接口下开启eigrp认证
R2(config)#interface f0/0
R2(config-if)#ip authentication mode eigrp 1 md5             接口开启eigrp认证,只支持md5密文模式  
R2(config-if)#ip authentication key-chain eigrp 1 ccie2      告诉接口f0/0在eigrp1中使用钥匙串ccie1来认证
R2(config-if)#exit
第二步、配置认证钥匙串和钥匙、密码 
R2(config)#key chain ccie2                                配置一个名为ccie1的钥匙串,其中配置了1把钥匙
R2(config-keychain)#key 1                                eigrp认证报文只看钥匙串中最小key-ID和密码对应即可
R2(config-keychain-key)#key-string 123
R2(config-keychain-key)#end 
配置完成后,eigrp邻居建立,拓扑数据库有路由,放入路由表。

R1#show key chain               可以查看配置的钥匙串信息
Key-chain ccie:
    key 1 -- text "123"
        accept lifetime (always valid) - (always valid) [valid now]
        send lifetime (always valid) - (always valid) [valid now]
    key 2 -- text "456"
        accept lifetime (always valid) - (always valid) [valid now]

        send lifetime (always valid) - (always valid) [valid now]


eigrp基本配置:
router eigrp 1
no auto-summary
network 192.168.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
network 1.1.1.1 0.0.0.0
 
查看命令
R1#show ip eigrp neighbors             查看邻居
R1#show ip route eigrp                     查看路由表
R1#show ip eigrp topology               查看拓扑表

R1#show ip eigrp traffic                    查看路由流量


你可能感兴趣的:(Layer3 EIGRP)