EIGRP路由协议的基本原理与仿真

2018-05-10 05:10蒋磊
电子技术与软件工程 2018年24期
关键词:路由协议

蒋磊

摘要 本文讨论的EIGRP协议是IGP路由协议中的一种,IGP是指内部网关路由协议。常见的RIP协议和OSPF协议都是IGP协议,但相比较这二者而言,EIGRP协议具有其独特的优势,它支持更大规模的网络,不再像RIP协议那样以“跳数”论英雄;它具有大神级的收敛速度,对网络拓扑结构的变化可以做到迅速的回应,主要是它具有一张网络拓扑表。EIGRP协议曾经是思科的私有协议,但思科在2013年将其标准进行了公开化,现在EIGRP协议不再是思科的私有协议,相信这款拥有诸多优点的路由协议会很快得到其他厂商的支持和運用,因此掌握其工作原理和配置方法就显得格外重要。本文主要探讨了EIGRP协议的特点和原理,并运用GNS3搭建网络仿真虚拟平台,通过实验来验证EIGRP协议的基本原理和配置方法,希望本文对读者具有一定的参考意义。

【关键词】EIGRP IGP 路由协议 GNS3 企业网

目前路由协议主要分成两大类,一类是IGP路由协议,常见的有RIP协议、EIGRP协议,OSPF协议和ISIS协议;另一类是EGP协议,常见的有EGP协议和BGP协议。IGP是指内部网关路由协议,EGP是指外部网关路由协议。这种分类方法的依据是路由协议所工作的范围,IGP工作在一个AS内部,而EGP工作在AS与AS之间,AS是指自治系统。另一种分类方法是根据路由协议寻找最佳路径时所使用的算法,分为距离矢量型路由协议和链路状态型路由协议,距离矢量型路由协议的典型代表是RIP协议和IGRP协议,二者都使用贝尔曼福特算法;链路状态型路由协议的典型代表是OSPF协议和ISIS协议,它们当中最具代表性的算法就是OSPF协议使用的最短路径优先算法,又称为Dijkstra算法。EIGRP协议实属距离矢量型路由协议,但它打破了常规,采用全新的弥散更新算法来计算最短路径,而不是贝尔曼福特算法,同时它还拥有一张只有链路状态型路由协议才会拥有的拓扑表,该拓扑表对路由的快速收敛起到了至关重要的作用。因此,人们把EIGRP协议称之为高级距离矢量型内部网关路由协议。

1 EIGRPt议的特点

EIGRP协议是高级距离矢量型路由协议,它采用了弥散更新算法,该算法的主要特征包括使用自带的防环机制,无需使用水平分割和路由毒化等特征;该算法可以在当前路径失效的情况下快速收敛出新的路径或立即切换无环的备用路径。

EIGRP协议使用组播或单播进行路由更新,组播地址是224.0.0.10,节省链路带宽。

EIGRP协议采用触发式更新路由,而不是周期性更新路由,这样可以有效降低协议运维成本,因为网络正常期间除了设备间发送的Hello报文之外,别无其它多余的协议报文在传输。

EIGRP协议不再是思科的私有协议,而是公开的标准协议,任何厂商都可以支持它。

EIGRP协议属于无类路由协议,支持VLSM和CIDR,VLSM即可变长子网掩码,CIDR即无类别域间路由。早期的路由协议都是有类路由协议,在路由更新时不携带子网掩码,而现代的路由协议都是无类路由协议,在路由更新时携带子网掩码

EIGRP协议支持多种网络层协议,包括IPv4、IPv6、IPX和AppleTalk,IPX并口AppleTalk目前逐渐淘汰,所以意义不大,但对IPv4和IPv6的支持极具现实意义,可以让设备同时为IPv4和IPv6分别维护一个路由表。

EIGRP协议具有可靠的通信传输能力,EIGRP报文是封装在IP报文当中的,在IPv4报文中的协议号字段标识为88。众所周知,IP协议是一种尽力而为的不可靠传输协议,本身不提供任何可靠性保障,可靠性只能由上层协议来提供,但如前面所说EIGRP报文是直接封装在IP报文中的,并未使用到传输层的TCP协议或UDP协议,因此可靠性必须由独立的机制来保障,该机制就是RTP,即可靠传输协议。通过协议分析可以得知,EIGRP一共有5种类型的报文,分别是Hello报文、Update报文、Request报文、Reply报文和Ack报文,其中Ack报文就是专门用于提供可靠性的,如果发送方设备没有收到对方发来的Ack报文,就会认为对方没有收到信息,因此会以单播的形式重新发送相同的信息,如果重发16次之后还没有收到对方的回应,则认为对方已经失效。

EIGRP协议即支持等价负载均衡,又支持非等价负载均衡。等价负载均衡不需要管理员进行任何配置,只要去往目的网络的多条路径其度量值相同即可自动实现,而非等价负载均衡则需要管理员手工配置一个参数,即使用varianceX命令进行配置,X数值必须是整数。默认情况下,负载均衡可以分摊在4条路径上,可以通过maximum-path参数进行修改,最大数值为16条。

2 EIGRPt力议的重要概念

三张表:EIGRP使用三张表以确保其正常运行,分别是邻居表、拓扑表和路由表。邻居表顾名思义就是里面存放的是设备的直连邻居,运行EIGRP协议的设备会周期性的向外发送Hello报文,目标地址是224.0.0.10,同时开启抑制计时器,如果在抑制计时器有效时间范围内未收到邻居发来的Hello报文,则认为邻居已经失效,通常情况下,抑制计时器的时间是间隔发送Hello报文时间的三倍。有以下三种情况会导致邻居关系无法正常建立,分别是两边设备的AS号不一致;两边设备的K值不一致;两边设备的认证不一致。拓扑表里面存放的是邻居路由器通告过来的关于各个目的网络的路由信息,在思科设备上可以通过命令show ipeigrp topology进行查看,里面包含有最优路径和备用路径等信息,当最优路径出现故障时,备用路径可以瞬间切换或重新计算出最优路径,这就是EIGRP收敛速度极快的原因。路由表里面存放的是最优路径,对于EIGRP支持的每个协议所产生的路由,在路由表里面都有一个独立的备份,这些协议可以是IPv4、IPv6、IPX和AppleTalk。

度量值:RIP协议使用“跳数”作为度量值,经过的三层设备越少,路径就越优先,这种基于“跳数”选路的方式带来的问题就是次优路径。为了避免单一度量值选路存在的缺陷,EIGRP在选路时会参考以下这些参数,分别是带宽、延迟、负载、可靠性和MTU,在设置时使用Kl、K2、K3、K4和K5来对号入座。默认情况下,Kl和K3取值为l,其它取值为O,即EIGRP的度量值只和带宽和延迟有关系。带宽取路由更新方向上所有入向接口的最小带宽,而延迟取路由更新方向上所有入向接口的延迟总和。具体公式为metric=256x(BWmin+DELAYsum)。 乘以256是为了进一步细化度量值的差别。

被通告距离:简称叫AD,是指这台路由器的邻居去往目的网络的度量值。

可行距離:简称FD,是指这台路由器自己去往目的网络的度量值,显然FD等于AD加上这台路由器到达邻居的度量值。

后继路由器:是FD值最小的那条路径上的下一跳设备,去往目的网络的下一跳可能有很多,但其中FD最优的下一跳设备才可以称为后继路由器。

可行后继路由器:是后继路由器的备用设备,以它为下一跳的路径称为备用路径,当最优路径失效后,EIGRP会快速进行收敛,将备用路径迅速切换为最优路径,如果在没有备用路径可用,那么设备会重新进行计算得出最优路径。此处需要强调一点,不是任何下一跳设备都可以称为可行后继路由器,要想成为可行后继路由器必须满足一个可行性条件,即AD

活动状态/主动路由:即Active Srate,表明路由器正在搜索可行后继路由器,当路由器失去后继路由器,并没有可行后继路由器可用时,该路由立即进入活跃状态,是一条不可用的路由。

被动状态/被动路由:即Passive State,表明路由器有去往目的地的最佳路径,当路由器拥有后继路由器、可行后继路由器,或经过收敛找到了后继路由器时,该路由立即进入被动状态,是一条可用的路由。

3 EIGRPt协议仿真

接下来我们使用GNS3来实现EIGRP路由协议的仿真,实验拓扑如图1所示。

要求实现全网互通,并验证EIGRP协议中的部分工作细节,每台路由器的配置如下所示:

Rl(config)#router eigrp 100

Rl(config-router)//no au

Rl(config-router)#no auto-summary

Rl(config-router)#network 11.1.1.1 0.0.0.0

Rl(config-router)#network 12.1.1.00.0.0.255

Rl(config-router)#network 13.1.1.00.0.0.255

R2(config)#router eigrp 100

R2(config-router)#no auto-summary

R2(config-router)#network 22.1.1.1 0.0.0.0

R2(config-router)#network 12.1.1.00.0.0.255

R2(config-router)#network 23.1.1.00.0.0.255

R2(config-router)#network 24.1.1.00.0.0.255

R3(config)#router eigrp 100

R3 (config-router)//no auto-summary

R3(config-router)#network 33.1.1.1 0.0.0.0

R3(config-router)//network 13.1.1.00.0.0.255

R3(config-router)//network 23.1.1.00.0.0.255

R3(config-router)//network 35.1.1.00.0.0.255

R4(config)#router eigrp 100

R4(config-router)//no auto-summary

R4(config-router)#network 44.1.1.1 0.0.0.0

R4(config-router)//network 24.1.1.00.0.0.255

R4(config-router)//network 45.1.1.00.0.0.255

R5(config)#router eigrp 100

R5 (config-router)#no auto-summary

R5(config-router)#network 55.1.1.1 0.0.0.0

R5(eonfig-router)//network 35.1.1.00.0.0.255

R5(config-router)//network 45.1.1.00.0.0.255

在R2路由器上可以通过以下show命令进行协议内部细节的查看,常见命令包括:

(1) showipeigrp neighbors//查看EIGRP邻居表

(2) show ipeigrp topology//查看EIGRP拓扑表

(3) show ip route eigrp//查看EIGRP路由表

(4) show ipeigrp interfaces//查看EIGRP接口信息

(5) showip protocols//查看EIGRP协议相关信息,如K值,AS号等

从show ipeigrp topologyall-links命令和show ip route eigrp命令的显示结果可以看出R2去往目的网络55.1.1.1的下一跳是R4,那么R4就是后继路由器,通过R4去往目的网络55.1.1.1的路径是最优路径。由于R3的AD小于最优路径的FD,因此R3是可行后继路由器,而Rl的AD大于最优路径的FD,所以Rl不是可行后继路由器。

图2中,去往目标网段55.1.1.1的FD是435200,该值是路由更新方向上所有入向接口的带宽和延迟计算得到的结果,具体方法是带宽取所有入向接口的最小带宽,即lOOOOkb/s,延迟取所有入向接口的延迟之和,即7000usec,计算公式如下:

Metric=[10^7/lOOOOkbit+(5000+1000+1000)/10]*256=435200

4结束语

本文研究了EIGRP协议的基本原理和配置方法,并通过GNS3网络仿真平台对其工作过程和内部细节进行了验证。限于篇幅有限,未能介绍更多的高级属性,希望本文对学习EIGRP路由协议的读者能起到一定的参考作用,为今后更深入学习打下坚实的基础。

参考文献

[1]王秋艳,朱民.EIGRP路由协议的研究与分析[J].中国科技信息,2011.

[2]张韬.路由重发布中管理距离值的配置与调整[J].科技视界,201 3.

[3]肖涛,何怀文,程东.《计算机网络》中EIGRP协议DUAL算法的实验教学设计[J],现代计算机(专业版),2014.

[4]邓超.EIGRP不等价链路负载均衡网络方案分析与实施[J].软件工程师,2015.

猜你喜欢
路由协议
精确打击效能评估系统中路由协议的研究
基于路径稳定性的MAODV路由协议的改进