三、EIGRP表

1.邻居表(neighbor table)

20200403090706.png

  • H:记录本路由器所学到的邻居的顺序号
  • address:指邻居的接口IP
  • interface:本路由器所接收hello包的接口
  • holdtime:目前holdtime时间
  • uptime:从邻居第一次被添加到邻居表后到现在的时间
  • SRTT:平均回程时间
  • RTO:可靠组播方式的数据包发送失败后,等待单播方式发送的数据包的确认包的时间
  • Qcount:队列计数,标识在重传队列中等待发送的数据包数量;如果一个EIGRP的update、 query、reply数据包被发送出去,那么该数据包的一个拷贝就会放在一个重传队列中排队。如果重传超时了,还没收到ACK,那么重传队列中的数据包的另一个拷贝就会被发送出去。
  • Seq num:序列号;从邻居收到的最新的update、query、reply数据包的序列号也记录在了邻居表中。RTP跟踪这些序列号,以确保来自邻居的数据是有序的。

个人观点:由于EIGRP基于IP层,但是IP层并不提供有效交付的服务,所以EIGRP再数据包的基础上使用了RTP,保证数据包有效交付,在正常的应用数据包中,是由TCP来保证的可靠交付!

#查看邻居表:sh ip eigrp neighbor

2.拓扑表(topology table)

20200403091328.png

拓扑表中如果有备份路径,则存放备份路径

拓扑表分析:圆括号中的两个度量也都是和可行后继路由器相关的,第一个是本地路由器计算得出从本地到目标网络的metric值;第二个是邻居路由器通告的它自己到目标网络的metric。只不过在此处对于不同的对象的metric值,我们使用不同的代号而已,本地到目标的metric值代号FD,下一跳路由器到目标的metric值代号AD

P表示被动状态,当运行EIGRP的路由器不执行DUAL计算时,每一条路由都处于P状态,如果处于DUAL计算时,则会变成活动状态

#查看拓扑表(满足FC):sh ip eigrp topology
#查看拓扑表(无论是否满足FC):sh ip eigrp topology all-links

3.路由表(route table)

20200403091556.png

路由表分析:[90/409600] => [管理距离/AD]

#查看路由表:sh ip route eigrp

四、EIGRP配置

1.EIGRP基本配置

20200403091725.png

tips:在宣告网络时,需要注意哪些接口属于哪些网络

(一)一般模式配置

1st 启动EIGRP进程:router eigrp ***AS(1-65535)***
tips:需要建立邻居的所有路由器必须具有相同的AS号

2nd 关闭自动汇总:no auto-summary 
tips:自动汇总功能作用就是对外通告路由条目时,将其汇总为主网络,所以在存在不连续子网的环境中,使用无类距离矢量路由协议,就要关闭自动汇总

3rd 通告本地网络:network ***网络号*** ***反掩码***

#查看启用了EIGRP的接口:sh ip eigrp int
#查看接口对应的IP:sh ip int b
#一般模式升级到命名模式:eigrp upgrade-cli TEST

(二)命名模式配置

1st 启动EIGRP进程:router eigrp ***TEST***
2nd 进入IPV4单播地址簇:address-family ipv4 unicast autonomous-system ***AS***
3rd 通告本地网络:network ***网络号*** ***反掩码***

(三)实验:多个EIGRP进程

20200403092351.png

第一种配置:主类宣告

R1:
router eigrp 1
 network 1.1.1.1 0.0.0.0
 network 172.20.0.0

R2:
router eigrp 1
 network 2.2.2.2 0.0.0.0
 network 172.20.0.0
 passive-interface Ethernet0/0
router eigrp 2
 network 172.20.0.0
 passive-interface Ethernet0/1

R3:
router eigrp 1
 network 3.3.3.3 0.0.0.0
 network 172.20.0.0
 passive-interface Ethernet0/1
router eigrp 2
 network 172.20.0.0
 passive-interface Ethernet0/0

R4:
router eigrp 2
 network 4.4.4.4 0.0.0.0
 network 172.20.0.0

20200403092626.png

20200403092636.png

由于每台宣告的网络号172.20.0.0,都包含了两个接口。在R1和R4上倒是可以,在R2和R3上拥有两个EIGRP进程,而两个接口都属于这两个不同的EIGRP进程,所以如果不做passive-interface,那么EIGRP 1将在两个接口上发送hello包,EIGRP 2 将在两个接口上也发送hello包。使用passive-interface之后,被passive-interface的接口将不发送hello包。

Passive-interface:接口做了被动接口,就不会发送hello包,导致无法正常建立邻居,但是如果该接口被通告,那么路由会被正常传递给邻居

20200403092804.png

20200403092813.png

由上图的路由表发现,R1没有4.4.4.4的路由,但是拥有去往172.20.16.8和172.20.16.12的路由。相反R4没有1.1.1.1、2.2.2.2、3.3.3.3的路由,但是同样拥有去往172.20.15.8和172.20.15.12网络的路由。R2和R3由于拥有两个EIGRP进程,那么拥有全路由。R4身后的4.4.4.4是无法和R1身后的1.1.1.1通信

不同EIGRP进程之间的实验结论不同EIGRP进程之间无法通信因为每个EIGRP进程都只在指定的接口上运行

第二种配置:精确宣告

R1:
router eigrp 1
 network 1.1.1.1 0.0.0.0
 network 172.20.15.8 0.0.0.3
 network 172.20.15.12 0.0.0.3

R2:
router eigrp 1
 network 2.2.2.2 0.0.0.0
 network 172.20.15.8 0.0.0.3
router eigrp 2
 network 172.20.16.8 0.0.0.3

R3:
router eigrp 1
 network 3.3.3.3 0.0.0.0
 network 172.20.15.12 0.0.0.3
router eigrp 2
 network 172.20.16.12 0.0.0.3

R4:
router eigrp 2
 network 4.4.4.4 0.0.0.0
 network 172.20.16.8 0.0.0.3
 network 172.20.16.12 0.0.0.3

20200403092950.png

20200403092959.png

2.负载均衡

(一)等价负载均衡

等价负载:具有相同且为最小Metric(即FDmin)的路由加入路由表,并且EIGRP会自动执行等价负载。EIGRP最多在16条等价的路由路径上实现等价负载均衡。EIGRP不仅支持等价负载均衡,同时也支持不等价负载均衡。

(二)非等价负载均衡

tips:不等价负载均衡和非等价负载均衡概念相同

EIGRP不等价负载均衡:两条metric值(但两者是最小的两个metric)不同的路由也可以执行流量的并行传输。EIGRP使用了V值来调整不等价负载均衡,任何路由的复合度量值超过了最小代价路由的度量值*V值(V值默认为1),那么该路由不被使用。

非等价负载均衡配置的两个条件:

  1. 满足FC条件(备用路径AD<主用路径FDmin)
  2. 备用路径FD<主用路径FD*V值

V值是通过公式计算得出的:

frac{非最小代价路由复合度量值}{最小代价路由复合度量值}

#设置非等价负载均衡(eigrp路由模式):variance V值

20200403093924.png

[例]:如上图,Router E选择Router C到达network Z,因为FDmin=20。Variance通过计算得出为2。所以此时,Router E也会选择Router B到达network Z,如果Router D满足FC条件,那么也能成为不等价负载链路。但是Router D不会参与不等价负载均衡(25>20,不满足FC条件)

(三)实验:非等价负载均衡与最大路径数

实验一非等价负载均衡

20200403094041.png

其中B的路由表:去往192.168.17.0选择了1544K这条路径,因为复合度量值更小

20200403094057.png

查看拓扑表:

20200403094112.png

V值=10153472/1811456=5.6,所以V值设置为6,在路由模式下敲下variance 6,再查看下图发现了非等价负载均衡现象

20200403094213.png

实验二设置最大路径数

20200403094257.png

EIGRP的非等价负载均衡的路由路径的最大条数可以用maximum-paths来设置。上图展示了B到C的192.168.17.0网络的三条不同代价的并行路由。现在只希望在两条路由上进行非等价负载均衡,当三条中的任何一条路由失效时(这里设定1544K路径断开),剩下的一条加入到非等价负载均衡组中。

20200403094311.png

设定V值=20153600/1811456=11.12,所以V值为12,会出现三条非等价负载

20200403094328.png

设定最大路径数maximum-paths 2(路由模式下),优选metric值小的两条

20200403094348.png

切断1544K链路,查看128K的链路是否加入到非等价负载均衡组中

20200403094403.png

Tips:需要注意的是,并行线路多了会导致EIGRP收敛的时间增加,因为邻居路由器的数目增多,从而增加了query的范围

3.手动汇总和关闭自动汇总

地址聚合时打破主网络地址分类限制的进一步汇总措施。聚合的地址表示了一组数字上连续的网络地址(或称超网)。对于一组网络地址,寻找出所有网络地址的共同位并对这些位进行掩码。被掩码覆盖的部分就是聚合地址

汇总的优势:汇总寻址的一个明显的好处就是节省网络资源。由于通告更少的路由从而节省了带宽,而处理更少的路由则节省了CPU的周期,更为重要的是,由于减少了路由表的大小节省了内存的使用

20200403094449.png

自动汇总:层次化的地址设计将继续应用于每个部门的每一个子部门中,通过子网划分成更小的单独的网络地址;VLSM用来进一步划分子网。EIGRP会在网络边界上自动汇总子网(即将子网汇总成主类网络)。只汇总本地产生的路由,不汇总邻居传递过来的路由。启用自动汇总的路由器会创建一条指向Null 0接口的汇总路由,防止环路。自动汇总默认开启(高版本IOS默认关闭)

20200403094508.png

手动汇总:手动汇总一般配置在网络边界路由器上汇总,以通告给其他网络。接口上配置路由汇总时,路由器会自动创建一条指向Null 0接口的汇总路由,防止环路。当汇总的最后一条明细路由不存在时,汇总路由也将被删除。明细路由中的最小度量作为汇总路由的度量。

Tips:为了让邻居收到的路由变少,所以在本地路由物理接口上做汇总路由

#关闭自动汇总:no auto-summary

#手动汇总(接口下操作,接口将生成汇总路由):Ip summary-address eigrp AS address network_mask AD(汇总路由AD值)

实验:手动汇总

20200403094703.png

对R4的loopback 1、2、3进行地址汇总

R1:
router eigrp 1
 network 172.20.15.8 0.0.0.3
 network 172.20.15.12 0.0.0.3

R2:
router eigrp 1
 network 172.20.15.8 0.0.0.3
 network 172.20.16.8 0.0.0.3

R3:
router eigrp 1
 network 172.20.15.12 0.0.0.3
 network 172.20.16.12 0.0.0.3

R4:
router eigrp 1
 network 172.20.16.8 0.0.0.3
 network 172.20.16.12 0.0.0.3
 network 192.168.1.0
 network 192.168.2.0
 network 192.168.3.0
interface e0/0
 ip summary-address eigrp 1 192.168.0.0 255.255.0.0
interface e0/1
 ip summary-address eigrp 1 192.168.0.0 255.255.0.0

R4汇总前R1、R4路由表:

20200403094814.png

20200403094823.png

R4汇总后R1、R4路由表:

20200403094848.png

20200403094856.png

为什么要生成一条192.168.0.0/16的路由并指向Null 0?因为192.168.0.0/16包含了192.168.1.0/24、192.168.2.0/24、192.168.3.0/24……,通告给其他邻居有关192.168.0.0/16的路由,假设R1,有一个数据包要去往192.168.4.4,那么会查找R1本地路由表,根据最长掩码匹配原则,选择了192.168.0.0/16,下一跳最终到达R4,根据R4的本地路由表,没有匹配中任何一个接口并转发,而是匹配中了这条NULL 0路由,因为192.168.4.4在R4上根本没有对应的,所以会显示不可达。以下是R1 ping 和trace的结果

20200403094912.png

4.认证

EIGRP认证分为明文和密文认证两种,由于明文认证安全性低,目前基本不采用,所以我们只讨论密文认证!

密文认证特点:

  • 采用MD5加密生成消息摘要
  • 配置密钥ID和密钥
  • 路由器发送数据包和消息摘要,密钥不发送
  • 安全性高

EIGRP使用密钥链(即key chain)来管理密钥,密钥链中包含多个密钥ID(即key id)、密钥(key string)、密钥生存周期,路由器发送路由更新报文时,使用第一个有效的密钥。路由器配置一个key id和key string,每个参与认证的邻居必须配置相同的key id和key string,否则邻居会无法建立成功

Tips:认证时,路由器只发送最低的key id

20200403095114.png

认证配置:

1st.定义key chain(全局)
key chain 密钥链名称

2nd.在key chain中定义一个key id(key chain中)
key 密钥ID号

3rd.在key chain中定义一个key string(key chain key中)
key-string 密码

4th.在接口下启用认证(接口)
ip authentication mode eigrp AS md5

5th.调用key chain中的key启用数据包认证(接口)
ip authentication key-chain eigrp AS 密钥链名称

#查看密钥链:sh run | s key

Tips:认证是基于链路的,如果认证不通过,则hello包交互信息无法通过,则邻居无法建立

实验:认证

20200403095329.png

R2:
key chain EPIOL
 key 1
  key-string cisco
interface e0/0
ip authentication mode eigrp 1 md5
 ip authentication key-chain eigrp 1 EPIOL

R4:
key chain EPIOL
 key 1
  key-string cisco
interface e0/0
ip authentication mode eigrp 1 md5
  ip authentication key-chain eigrp 1 EPIOL

以下是数据包分析:

20200403095404.png

20200403095411.png

MD5摘要算法的特性就是不发送密码,将密码经过MD5摘要算法计算后得出的值发送到邻居接口,邻居收到后,比对自己本地存储的密码,并经过MD5摘要算法计算后得出的值,两者对比,一样则说明中间没有经过中间人修改过(即密码正确),通过验证后,邻居建立。如果中间人修改了摘要值,根据MD5摘要算法的雪崩效应,则会出现严重不匹配!

5.末梢路由选择

20200403095454.png

如图,如果A和B之间的链路中断,那么A会向其他邻居发送query,自己处于活动状态,但是其他邻居原本最优的路径就是通过A之后到达B,所以现在其他邻居是不可能发送reply消息给A的,B为A的末梢邻居。假设现在A和B之间的链路又恢复了,但是A和下面的邻居断开了一个,那么就算AB链路恢复了,A上关于路由器B的地址也是活动状态,即发生了卡在活动状态的情况!就会一直处于DUAL计算状态。

末节特性一台具有EIGRP末梢邻居的路由器将不会向它的末梢发送query这样就避免了配置末梢的远端站点引起卡在活动状态的情况发生。末节特性提高网络的稳定性,降低了资源开销,并简化了远程路由器配置。末节路由器发送了一个特殊的对等体消息给所有的邻居,报告其状态为Stub路由器。邻居不会向Stub路由器发送任何Query消息

#配置了末节特性的路由器向邻居通告部分路由(eigrp模式):eigrp stub [receive-only | connected | static | summary]

  • receive-only:在update消息中不通告任何路由信息
  • connected:仅通告直连路由
  • static:仅通告静态路由
  • summary:仅通告汇总路由

tips:默认值为向邻居通告直连和汇总路由

至此,EIGRP部分基本全部结束,关于外部路由、默认路由会在后面提到时,详细介绍。

动态路由协议 EIGRP 上

文章错误之处,或者疑惑之处,请评论指出,共同探讨!
文章更新日期:2020/4/3


保持一个积极向上的良好心态,分享网络技术!