动态路由协议之EIGRP

 EIGRPEnhanced Interior Gateway Routing Protocol )>

增强的内部网关路由协议

EIGRP的特点:

·EIGRPCisco私有的路由协议,采用DUAL(扩散更新算法)。

·EIGRP属于IGP,是Hybrid协议,基于IP Pro 88

·组播、单播更新,组播地址224.0.0.10

·支持等价/不等价的负载均衡。 

·支持VLSM,手工汇总。

·支持多种网络协议(IP/IPX)。

EIGRP为各种协议都维护的3张表:

1)Neighbor Table:

 保存直连的邻居的IP地址,确保直接邻居之间能够双向通信。

2)Topology Table:

 拓扑表中存放着前往目标地址的所有路由。

3)Routing Table:

 从拓扑表中选择到达目标地址的最佳路由放入路由表。

DUAL算法:

扩散更新算法,也叫弥散更新算法

AD(通告距离)-------------邻居通告的到达目的的Metric

FD(可行距离)-------------本路由器到达目的的Metric

successor路由 -------------具有最优Metric值的路由

Feasible successor路由-----符合条件的次优路由

次优路由成为Feasible Successor的条件:也叫可行性条件

 FD of Best Route > AD of Second best Route

(Successor)

EIGRP中,路由器会从拓朴表中选出去往特定目的地的最优路由,也称为successor路由,放入路由表,一旦最优路由down掉,EIGRP会马上从拓朴表中找出feasibel successor路由,将其升级为最优路由,并放入路由表,而不用经过计算,这样提高了收敛的速度。

如果当前路由表中的successor路由down掉后,在拓朴表中又没有备份的路由,EIGRP会向所有直连的邻居发出查询包,进行扩散查询。

RTP(Reliable Transport Protocol)可靠传输协议

用来管理EIGRP报文的发送和接收,实现可靠传输。

所谓可靠传输是指发送有保障的而且报文是有序发送的。

EIGRP中的常用报文:

Hello:用于邻居的发现和恢复。(Multicast)

Update:传递路由更新,仅包含需要的路由条目,当为指定的一台路由器发更新时使用Unicast(P-TO-P) ,当为多台路由器发更新时使用Multicast.(MA)

Query:当找不到Feasible Successor时,发送查询报文(Unicast)

Reply:回应查询报文。(Unicast)

ACK:用来确认Update/Query/Reply (Unicast)

Reliable packets :Update/Query/Reply

Unreliable packets :Hello/ACK

·Hello Address = 224.0.0.10

·Hello Timer

 5S:≥T1  (1.544Mbps)也有一个随机时间差防止更新同步

 60S:<T1

·Hold Timer = 3 * Hello Timer

·形成邻居关系的必要条件

1、双方K Value一致。

2、AS Num一致。

3、authentication必须一致。

·即使双方的Hello Timer & Hold Timer不一致,也可形成邻居关系。

·SRTT(Smooth Round-Trip Time)平均往返时间:

 从发送3种可靠包,到对方回应ACK的时间。(ms)

·RTO(Retransmission TimeOut):

 重传超时的定时器。

·Queue count  队列数 还在排队等待发送的报文数

16次重传机制:

在EGIRP中,如果一台路由器向邻居发送了一个可靠的报文,是需要邻居回应一个ACK报文的,如果邻居没有回ACK,则会向邻居重传16次,如果邻居还没有回应,就会重置邻居关系。

EIGRP的Metric值计算:

EIGRP的metric值的计算,最多可以用到五个参数,实际上通常只用到两个。

公式:

EIGRP Metric = 256*(107/BW+DLY/10)

注意:

1、带宽取路由传递路径上的最小带宽值

2、延迟是取路由来的方向的入接口的延迟总和

几种常用接口的带宽和延迟:

Interface  BW(kbps)  DLY(μsec)

Ethernet   10000    1000

FAST          100000      100

G0           1000000000   10

Serial    1544     20000

Loopback   8000000   5000

在完整的计算公式中,每一个参数还要乘上自已的权值:

K1=带宽bandwidth(源和目的之间的最小带宽)    1

K2=负载loading(源和目的之间的最大负载)      0

K3=延迟delay(源和目的之间的延迟总和)        1

K4=可靠性reliability(源和目的之间的最低可靠性) 0

K5=MTU(源和目的之间的最小MTU)              0

<EIGRP>基本配置

R2(config)#router eigrp 90

R2(config-router)#network 12.1.1.0 0.0.0.255

R2(config-router)#network 2.2.0.0 255.255.0.0 (正/反掩码皆可)

R2#show ip protocols 

R2#show ip eigrp interfaces 

R1#show ip eigrp neighbors 

R1#show ip eigrp traffic

R1#show ip eigrp topology             //只能显示successor和feasible successor

R1#show ip eigrp topology all-links   //可显示拓扑表中的所有条目

测试不同AS NUM能不能建起邻居。

测试Hello/Hold Timer不一致能不能建起邻居。

·修改Hello/Hold Timer

R1(config-if)#ip hello-interval eigrp 90 60

R1(config-if)#ip hold-time eigrp 90 180     //记住,hold-time时间是给邻居用的

show ip eigrp interface detail s1/0   //查看接口的hello时间

·修改K值

R3(config)#router eigrp 90

R3(config-router)#metric weights 0 1 1 1 0 0



<自动汇总>

EIGRP在默认是开启auto-summary的,这意味着路由在跨越不同网络边界时,会自动汇总成主类。

router eigrp 90

  no auto-summary  //本命令关闭自动汇总

<手工汇总>

int s1/0

  ip summary-address eigrp 90 20.1.4.0 255.255.252.0  //只能在路由流向的出接口作手工汇总

本地路由器会产生一条特殊路由,这条特殊EIGRP汇总路由的AD值是5

D   20.1.4.0/22 is a summary, 00:00:02, Null0

汇总的特点:

1、本地必须有明细路由,才会从做汇总的接口发出汇总路由。

2、直到明细的最后一条路由消失,汇总才会消失。

3、汇总路由的metric值会取最小的metric值

4、会在做汇总的路由器上产生一条特殊的指向空接口的路由,这条指向NULL0接口的路由是用来防环的

D  2.0.0.0/8 is a summary, 00:02:30, Null0   

5、仅将本地的路由汇总成主类,对于收到的路由不做汇总,直接发出。

show ip route 172.16.0.0 255.255.0.0  可以看到指向Null0接口的特殊汇总路由的管理距离

<等价负载均衡>

·EIGRP可做等价负载均衡,也可做不等价负载均衡。默认只做等价的。

·EIGRP默认支持4条路径的负载均衡,最大支持16条。

show ip protocols    //可查看EIGRP的负载均衡路径数

router eigrp 90

  maximum-paths 6(最多16条)   //本命令改动负载均衡的路径数

如果多条路由的metric不相等,可以通过修改Metric值来实现等价负载均衡,有以下两种方法:

1、<修改EIGRP接口带宽或延迟>

·通过修改接口的带宽或延迟,可以达到改动路由metric值的目地。

·在路由流向的入口改。

·改延迟时,是以10为单位来修改。比如说想把接口延迟改成2000usec

 则要:

  int e0/0

    delay 200   //输入的值默认会*10,是以10为单位来改的

  show interface s1/0  使用这条命令可以看到接口的带宽和延迟

例一:

如上图所示:运行EIGRP后,R2可以学到两条3.3.3.0的路由,一条从R3学到,另一条从R1学到。

show ip eigrp topology detail-links 

P 3.3.3.0/24, 1 successors, FD is 409600, serno 6

        via 23.1.1.3 (409600/128256), Ethernet0/0

        via 12.1.1.1 (2809856/2297856), Serial1/0

如果想实现等价负载均衡,可以通过修改E0/0接口的延迟来实现

int e0/0

  delay 9476      //将接口延迟改为94760μS

show ip route

     3.0.0.0/24 is subnetted, 1 subnets

D       3.3.3.0 [90/2809856] via 23.1.1.3, 00:00:08, Ethernet0/0

                [90/2809856] via 12.1.1.1, 00:00:08, Serial1/0

2、<偏移列表>

用这个玩意也可将不同路由的metric值改为一样,用来实现负载均衡

access-list 1 permit 1.1.1.0 0.0.0.0

router eigrp 90

offset-list 1 in 3 Serial 1     //本命令只能在原有基础上增加metric值

       (原有Metric + 3)

router eigrp 90

offset-list 0 in 3 ethernet 0   //从E0接口进来的所有路由的metric值都加3

      (0代表所有网络)

例二:

如上图所示:运行EIGRP后,R2可以学到两条3.3.3.0的路由,一条从R3学到,另一条从R1学到。

R2#sh ip eigrp topology detail-links 

P 3.3.3.0/24, 1 successors, FD is 409600, serno 6

        via 23.1.1.3 (409600/128256), Ethernet0/0

        via 12.1.1.1 (2809856/2297856), Serial1/0

如果想实现等价负载均衡,可以在R2上使用偏移列表对E0/0接口进来的3.3.3.0的路由增加metric值。

R2(config)#access-list 1 permit 3.3.3.0

R2(config-router)#offset-list 1 in 2400256 e0/0

R2#show ip route

     3.0.0.0/24 is subnetted, 1 subnets

D       3.3.3.0 [90/2809856] via 23.1.1.3, 00:00:24, Ethernet0/0

                [90/2809856] via 12.1.1.1, 00:00:24, Serial1/0

<不等价的负载均衡>

默认情况下EIGRP只支持等价的负载均衡,使用以下命令可实现不等价负载均衡。

通过下面这条命令可设置一个变量,再用这个变量乘以当前successor路由的FD值就能得到一个参考值

router eigrp 90

  variance 2  

只要当前拓扑表中的feasible successor路由能满足以下条件,就能被放入路由表中,实现不等价负载均衡。

FS‘s FD < U*Successor‘s FD(参考值)    U值就是变量值,由variance命令设定(1-128)

注意:做不等价负载均衡的前提是路由必须要先成为Feasible successor ,否则不会被用来做负载均衡

例:

如上图所示:运行EIGRP后,在R2上可以学到两条13.1.1.0的路由,一条成为successor,一条成为FS。

show ip eigrp topology   

P 13.1.1.0/24, 1 successors, FD is 2195456

        via 23.1.1.3 (2195456/2169856), Ethernet0/0

        via 12.1.1.1 (2681856/2169856), Serial1/0

可以通过设置variance变量实现不等价负载均衡

router eigrp 90

  variance 2

show ip route

     13.0.0.0/24 is subnetted, 1 subnets

D       13.1.1.0 [90/2195456] via 23.1.1.3, 00:00:13, Ethernet0/0

                 [90/2681856] via 12.1.1.1, 00:00:13, Serial1/0

<EIGRP占用带宽>

·默认,EIGRP协议本身的流量最多只占用接口的参考带宽的50%。

 如果没有使用Bandwidth设置带宽,则使用接口默认带宽。

·通过以下命令,可以改动EIGRP占用的带宽值

int s1/0

  ip bandwidth-percent eigrp 90 200   后面的参数为百分比

                            (BW * 200%)

本命令只能show run interface看                 

注意:show interface 时所看到的带宽叫做参考带宽,这个带宽并不是接口的实际带宽,接口的实际带宽是由时钟速率决定的,参考带宽只是用来计算metric值或其它一些应用的。



<EIGRP Authentication>仅支持MD5,不支持明文认证

第一步:

key chain R2                 (本地有效)定义KEY库名为R2

  key 1                       (两端一致)定义KEY号为1

    key-string cisco           定义KEY值为cisco

第二步:

int s1/0

  ip authentication key-chain eigrp 90 R2  //在接口下指定使用哪个密码库

第三步:

int s1/0

  ip authentication mode eigrp 90 md5  //开启认证 

show key chain 

debug eigrp packet

R2(config-keychain-key)#Accept-lifetime 04:00:00 jan 2006 infinite 定时接收

R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 04:01:00 jan 2006 定时发送

R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 duration 300  有效期300S



<Query>

在广域网链路上,EIGRP的扩散查询机制可能会导致查询范围过大,甚至一些不必要的查询,从而占用多余的带宽。

·以下两种方法可限制EIGRP的查询范围:

 1)Summary   使用路由汇总来解决

 ·EIGRP的查询有以下特点:

仅当路由表中有完全匹配的明细条目时,才会传播该查询。

  否则直接回应“网络不可达”。

 2)Stub

 ·通过命令把远程路由器配置成Stub路由器,Stub路由器会向所有邻居发送信息告之自已的状态,其他路由器将不会向Stub路由器发送查询。

R1:

router ei 90

  eigrp stub (默认通告直连&汇总)

stub命令的参数介绍: 

eigrp stub connected     //通告直连路由

eigrp stub summary       //通告汇总路由

eigrp stub redistributed //通告重分布的路由

eigrp stub static        //通告静态路由

eigrp stub receive-only  //只接收不通告

eigrp stub leak-map      //路由泄露

如果stub路由想要将自已学到的路由再传给下一路由器,需要用到leak-map

例:如下图所示,R1为STUB路由器,现在想要将自已的直连路由、汇总路由,以及172.16.1.0的路由传给R2

R1:

access-list 1 permit 172.16.1.0

route-map CISCO

  match ip add 1

router eigrp 90

  eigrp stub connected summary leak-map CISCO

SIA(Stuck in Active)卡在活动状态

路由器在三分钟内没有收到邻居的回应,就认为路由已进入SIA状态,这时会重置邻居关系.

·导致SIA的常见原因:

 1)查询范围太大

 2)路由器太忙无法回答查询。

 3)路由器之间的链路质量低劣,导致查询包丢失。

 4)某些单向链路失效。

router eigrp 90

  timers active-time [2|disable]

(SIA计时器,默认是3分钟,超过3分钟就重置邻居关系,避免卡在活动状态)

<被动接口>

·EIGRP中也可以将一个接口设置为被动接口

·被动接口将不收也不发。所以根本无法和对端路由器建立邻居关系。

router eigrp 90

  passive-interface s1/0

<水平分割>

EIGRP中默认也是开启水平分割的

int s1/0

  no ip split-horizon eigrp 90   //在接口上使用这条命令可以关闭水平分割

<EIGRP最大hop数>

在EIGRP路由器上可以设定可用路由的最大跳数。

如果一台路由器收到的路由传递的跳数已超过了自已设定的最大跳数,这条路由将不用也不传。

默认情况下是100,最大可修改为255

router eigrp 90

  metric maximum-hops 255

show ip protocol  本命令可查看

<EIGRP区域生成默认路由>

1)Redistribute Static:

ip route 0.0.0.0 0.0.0.0 serial 0

router eigrp 90

  redistribute static          (默认是按静态路由出接口类型计算Metric)

2)Network 0.0.0.0:

ip route 0.0.0.0 0.0.0.0 serial 0(写下一跳不行,必须写接口)

router eigrp 90

  network 0.0.0.0

3)ip default-network:

全局模式下:

ip default-network 192.168.1.0   //这样就可以把这条路由下发给其它的路由器当做默认路由了

使用本命令要满足以下条件:

1、接口IP地址必须是主类,不能是子网

2、接口必须宣告进EIGRP

3、使用命令下发时也必须写上这个接口的主类网络号

注意:EIGRP中也有default-information 命令,不过这条命令不是用来下发默认路由的,是用来决定本路由器是否要收默认路由,或者是否要传默认路由。而且只对ip default-network命令下发的默认路由起作用。

时间: 2024-10-13 02:02:32

动态路由协议之EIGRP的相关文章

动态路由协议:EIGRP

动态路由协议:EIGRP EIGRP--增强型的内部网关协议,针对IGRP进行增强,是一个距离矢量协议,直接工作在IP层上面,协议号是88.思科私有的协议. EIGRP的特点:①是一个高级距离矢量协议.高级体现在其运行的算法上,运行DUAL算法,使得EIGRP同时具备距离矢量协议和链路状态协议的部分特点.②快速收敛:收敛:设备从开机到达正常运行(开始转发数据包)的过程或者从网络发生变化到达恢复正常的过程.所以收敛快指的是设备恢复到正常运行所用的时间短.③100%无环路也是因为其运行的算法④增量更

CCNA 学习笔记(五)--动态路由协议(EIGRP)

通过学习RIP后,我们对路由的一些基本路由协议有了认识,现在再让我们去了解下思科的一个私有协议:EIGRP EIGRP路由协议 (也叫增强型内部网关协议enhanced interior gateway protocol) 它是结合了距离矢量与链路状态协议的,思科私有的动态路由协议,只能是应用于思科的设备上面.若网络中有使用其它厂商的设备时,EIGRP是不能使用的. 1.EIGRP的特点: 快速收敛.减少带宽占用.(使用DUAL扩散更新算法,通过路由备份更新,当S路由不能用时,快速切换到FS上,

CCNP路由实验之六 动态路由协议之IS-IS

 CCNP路由实验之六动态路由协议之IS-IS 动态路由协议可以自动的发现远程网络,只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径.根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP).这里的自治域指一个具有统一管理机构.统一路由策略的网络.自治域内部采用的路由选择协议称为内部网关协议,常用的有RIP.EIGRP.OSPF.IS-IS:外部网关协议主要用于多个自治域之间的路由

路由技术在企业当中的具体应用之三(动态路由协议)

今天这篇文章是我的新博文"路由技术在企业当中的具体应用"系列的第三篇,叫动态路由协议,看到这里,有的朋友可能会说了,这个题目是不是起的有点大了.动态路由协议,这个包含了不少内容呢. 这个我是知道的,因为要用文字把路由协议说明白,可能就不是一边博文可以搞定的. 所以在这篇文章当中主要先介绍RIP和EIGRP这两种路由协议,完了后,会用实际的工程案例来说明这些协议在企业当中到底是怎么具体应用的,或者说如何选用这些协议. 我要说的是不管你是学思科认证体系,还是华为认证体系,当你有过工作经验之

动态路由协议(RIP)

虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓补经常发生变化的清空,配置和维护静态路由的工作量就变得非常繁重,而且不小心还容易出错,因此就需要一种不需要手工配置的路由协议:动态路由协议.动态路由是网络中路由器之间进行相互通信,互相传递路由信息,利用收到的路由信息更新路由表的过程,它能实时的适应网络结构的变化.动态路由适用于网络规模较大.网络拓补复杂的网络中.动态路由的优点:减少了管理员的管理任务:缺点:占用了网络的带宽.动态路由是基于某种路由协议来实现的,路由协

动态路由协议RIP

动态路由协议RIP 由于接下来讲的会比较绕所以先来一张思维导图为敬:路由协议:静态路由协议和动态路由协议静态路由协议静态路由协议:由管理员或者用户手动指定,告诉路由器该如何去发送数据包.优点:安全.资源消耗低.缺点:配置麻烦,只适合小型网络中,无法自动适应网络拓扑的变化. 动态路由协议动态路由协议:可以通过网络拓扑的变化,根据协议来选择最优路径.动态路由协议:内部网关协议(IGP)和外部网关协议(EGP)内外部网关协议内部网关协议:处于同一个AS号内部的路由协议.RIP OSPF EIGRP外部

华为BGP动态路由协议理论+实验

文章目录 前言 一:BGP协议理论 1.1:概述 1.2:动态路由的分类 1.2.1:按自治系统分类 1.2.2:按协议类型分类 1.3:BGP的特点 1.4:BGP的工作原理 1.4.1:BGP报文 1.4.2:BGP数据库 1.4.3:BGP的类型 二:BGP协议实验 2.1:实验环境 2.2:实验目的 2.3:实验拓扑图 2.4:实验过程 2.4.1:命令讲解 2.4.2:实操 2.5:实验验证 2.6:实验总结 一:BGP协议理论 1.1:概述 BGP是一种运行在AS与AS之间的动态路由

动态路由协议RIP的基本原理与配置

  前面学习了静态路由的原理,但是用静态路由搭建网络时,每一条路由的变更都需要手动进行配置,这在大型网络中的工作量是非常巨大的.有没有办法解决呢?答案是肯定的,使用动态路由即可解决此问题 动态路由协议基础 1. 动态路由概述 动态路由是网络中路由器之间互相通信,传递路由信息,利用收到的路由信息更新路由表的过程.它能实时的适应网络结构的变化.如果路由更新信息表明网络发生了变化,路由选择软件就会重新计算路由,并发出新的路由更新信息.这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路

动态路由协议

常见的动态路由协议有: 1. RIP: routing information protocol ,路由信息协议. 2. OSPF: open shortest path first, 开放式最短路径优先. 3. ISIS:intermediate system to intermediate system ,中间系统到中间系统. 4. BGP: border gateway protocol, 边界网关协议. 自治系统: 由同一个技术管理机构管理.使用统一选路策略的一些路由器的集合. 中国电信