值得一提的是,在2013年,Cisco决定开放EIGRP的定义,并将其发布为IETFInternet草案,即RFC的前身;文档名称为draft-savage-eigrp。从此,基本的EIGRP不再是机密的私有协议。基于Quagga路由平台的开源EIGRP部署已经实现,并且已经发展成熟。
在20世纪中期,Cisco开发出了内部网关路由协议(IGRP),并将其作为路由信息协议版本1(RIPv1)的替代协议。最主要的目的是消除RIP工作中的两点不足:单纯使用跳数作为度量;网络直径限制在15跳。IGRP将多种路由变量组合为复合度量值,甚至能够为特定的变量设置权重,因此这种协议能够反映出网络的具体特点以及多样化需求。
在设计中,IGRP要与多种被路由协议协同工作,其中包括IPv4、ISOCLNP(无连接网络协议)、NovellIPX或AppleTalk。与RIP一样,IGRP在启动时,从所有启用了IGRP的接口向外广播查询包,并在接收到更新包时执行检查,确认这个数据包的源地址属于收到更新的那个子网。路由器每90秒发送更新包。
IGRP与RIPv1还有一点是相同的,它也是有类距离矢量协议,会周期性广播完整的路由信息。为了稳定运行,IGRP也需要依赖于水平分割、触发更新、失效计时器、抑制计时器和冲刷计时器;IGRP也会在网络边界汇总它所通告的地址。
总而言之,对于较大规模的网络来说,IGRP优于RIP;但它仍存在一些RIP也有的功能限制,对它的可扩展性和收敛速度带来不利影响。
IGRP最重要的缺点有如下这些:
- 周期性发送完整路由更新;
- 不支持VLSM(变长子网掩码);
- 收敛速度慢;
- 缺少适当的防环机制。
对度量值计算方式的修改,并不能弥补基本距离矢量路由协议特有的缺陷;这时需要一个新的协议。
为了解决这些具体的问题,Cisco创建了一个“增强型”版本的IGRP。EIGRP(增强型内部网关路由协议)比它的前身拥有更强的能力,在IGRP的基础上增强了多项内容。事实上,EIGRP的名字“增强型IGRP”可比它本身差远了,这个名字起得太保守了。其实在EIGRP中只保留了非常有限的原IGRP特征——但EIGRP仍是距离矢量路由协议,只不过是个增强型距离矢量路由协议。
为了解决这些具体的问题,Cisco创建了一个“增强型”版本的IGRP。EIGRP(增强型内部网关路由协议)比它的前身拥有更强的能力,在IGRP的基础上增强了多项内容。事实上,EIGRP的名字“增强型IGRP”可比它本身差远了,这个名字起得太保守了。其实在EIGRP中只保留了非常有限的原IGRP特征——但EIGRP仍是距离矢量路由协议,只不过是个增强型距离矢量路由协议。
IGRP基于计时器进行工作,与RIP类似,它会在更新计时器超时后,向外通告完整的数据库(其中包含所有已知网络)。在RIP和IGRP中,周期性发送的更新包具有诸多功能:检测邻居、确认邻居的在线状态、学习新路由、刷新或移除现有的学习到的路由。事实上,这些周期性的更新提供了以下两个独立且没有什么关联的功能——首先,检测邻居和它们的在线状态;其次,承载路由信息。为了使EIGRP成为一个增强型、基于事件的协议,首要任务是将建立和维护邻接关系,与交换路由信息这两个功能分离开。通过使用Hello协议,实现了两者的分离。多亏了Hello协议,路由器之间无需通过周期性地发送更新包,来宣告自己仍连接在网络中;Hello协议接管了这个职能。EIGRP路由器使用Hello协议来建立和维护邻居的邻接关系,方式与OSPF和其他协议类似。Hello协议继承了更新包周期性发送的特点,只不过它不再承载任何路由信息。
EIGRP不再周期性地通告完整路由信息,而是在网络发生变化时通告路由信息;EIGRP使用可靠传输协议(RTP;不要把它与实时传输协议搞混,后者是另一种用在流媒体应用中的协议,与EIGRP无关)来完成这一任务,这是一个工作在第3层独立的传输协议,能够提供可靠的单播和组播传输。在使用RTP时,路由器在第一次同步中,会初次交换完整的路由信息,在此之后,只在网络发生变化时,才通告有变化的路由。RTP负责确保所有更新——如果有的话——获得可靠传输。网络中的设备不发送更新并不意味着设备间的连通性出了问题,而是表示网络处于稳定状态,也就是路由信息没有任何变化。使用Hello来建立和维护路由器之间的邻接关系,使用RTP来可靠地承载所有更新,使EIGRP能够彻底放弃周期性的更新进程,并以一种基于事件的增强型方式工作。
作为距离矢量路由协议,IGRP有可能在网络收敛阶段制造出短暂的路由环路。为了在每个实例中都维护无环的运行状态,EIGRP使用一种名为可行性条件的规则来识别每个邻居,并为每个目的地提供(一条或多条)确定无环的路径。通过遵从这一规则,EIGRP路由器不会将更新转发给会(甚至可能会)形成路由环路的邻居。考虑到以下事实:EIGRP仍为距离矢量路由协议,且它的更新消息中携带的网络信息与IGRP完全相同;可行性条件确实是必不可少的。
与可行性条件同样重要的另一项增强内容是使用弥散计算。在有些情况下,检测到拓扑变化的路由器可能会受到该变化带来的不良影响,也就是说可行性条件可能会导致路由器认为提供了当前最小开销路径的那个邻居不符合可行性条件的要求。在这种时候,EIGRP路由器可以主动向它的所有邻居进行查询,根据(触发了此次事件的)拓扑变化,更新它们自己的最优路径选择结果,并以它们更新后的距离作为响应。那些没有遭受不良影响的邻居会马上响应一个(可能更新了的)距离;那些遭受了不良影响的邻居会将这个查询传播得更远一些,并且只有在收到所有响应并作出了自己的最优路径选择后,才会做出响应。从某种意义上说,弥散计算这个名称所指的就是这样一种行为:搜索(某目的地的)替换路径的行为,弥散在受到网络变化影响的网络部分中。这样一来,EIGRP主动地、有条理地使受到影响的网络部分中的设备更新自己的最优路径选择。弥散计算是EIGRP快速收敛的核心。
为了在一次弥散计算中处理多个拓扑变化,EIGRP使用了一个名为DUAL(弥散更新算法)的有限状态机,它控制了弥散计算的运行;从而EIGRP能够处理所有响应,并最终将收集到的信息放入路由表中,或者开始另一次弥散计算。DUAL并不是指弥散计算算法本身;它是凌驾于弥散计算之上的控制机制,它负责决定何时需要再开始一次弥散计算,以及决定应该如何处理计算结果。
EIGRP被设计为接任IGRP的协议版本,能够轻松实现协议迁移。虽然IGRP和EIGRP中使用的机制大大不同,但IGRP中的一些优良特性也应用到了EIGRP中。比如EIGRP有默认的跳数限制:100;工程师可以使用例8-1中展示的命令来修改这一默认值。
EIGRP和IGRP的另一个相似点是度量参数的选择。EIGRP基本上沿用了IGRP的度量值计算方法,包括这些度量参数:带宽、延迟、可选的可靠性和负载。
EIGRP对内部路由和外部路由进行了区分。内部路由是指工程师使用network命令注入到EIGRP中的路由。外部路由是指工程师从其他路由源通过重分布注入到EIGRP中的路由。在路由表中,工程师可以通过默认AD(管理距离)值来区分EIGRP的内部路由和外部路由。默认情况下,内部路由的AD值是90,外部路由的AD值是170。下例展示了如何在路由协议中更改这些默认的AD值。
- EIGRP
因为rip的收敛时间长 尤其是使用过程中 链路down掉 重收敛的时间比较长 所以在中到大型的园区网中很少用到rip协议 只有在很小的局域网中用到rip 因为收敛时间可能会稍微短一些 ...
- EIGRP和OSPF__EIGRP
EIGRP解释 1.Enhanced Interior Gateway Routing Protocol 即增强内部网关路由协议.EIGRP同内部网关路由选择协议(IGRP)一样,是Cisco公司的私 ...
- .Net 大型分布式基础服务架构横向演变概述
一. 业务背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便于运维及监控. 二. 基础 ...
- 查看EIGRP运行情况详细
配置EIGRP 在ROUTER(CONFIG)#下 router eigrp autonomous-system-number ROUTER(CONFIG-ROUTER)# network netwo ...
- EIGRP认证 配置 (仅仅是命令 原理自己去看书) 转自:http://blog.163.com/s_u/blog/static/13308367201111771831631/
EIGRP认证 目的:掌握EIGRP的MD5认证 拓扑:这里IP配置我就不写出来了,应该对大家来说是非常简单的事了,就要细心一点就可以了.首先我们在R1上启用MD5认证R1(config)#key c ...
- CCNP路由实验(1) -- EIGRP
EIGRP(Enhanced Interior Gateway Routing Protocol,增强型内部网关路由协议)是Cisco公司开发的一个平衡混合型路由协议,它融合了距离向量和链路状态两种路 ...
- EIGRP系统复习【转载】
EIGRP理论 简介 EIGRP是Cisco私有协议,它是由距离矢量和链路状态两种路由协议混合而成的一种协议.即像距离矢量协议那样,EIGRP从它的相邻路由器那里得到更新信息:也像链路状态协议那样,保 ...
- 自制EIGRP配置实验大全
EIGRP综合实验 本实验可能会有一两个出错的地方,希望大家进行实验测试后,可以指正!当然绝大部分都是正确滴! 实验A:基本配置 A.0)实验目的: 熟悉eigrp的基本配置 A.1)实验拓扑: A. ...
- 路由知识 静态路由 rip eigrp ospf
第1章 路由选择原理 1.1 几个概念 1.1.1 被动路由协议 用来在路由之间传递用户信息 1.1.2 主动路由协议 用于维护路由器的路由表 R2#show ip route Codes: C - ...
随机推荐
- Maven发布项目丢失Mybatis Mapper包的映射问题
由于一些eclipse版本问题,mybatis的mapper包中的sql文件没有被打进包,需要在pom中加入: <build> <!--配置打包时不过滤非java文件开始 --> ...
- uoj279温暖会指引我们前行
暖气来啦~ 动态树维护最大生成树裸题 #include<iostream> #include<cstdio> #include<cstdlib> #include& ...
- bzoj 2118: 墨墨的等式 spfa
题目: 墨墨突然对等式很感兴趣,他正在研究\(a_1x_1+a_2y_2+ ... +a_nx_n=B\)存在非负整数解的条件,他要求你编写一个程序,给定\(N,\{a_n\}\)以及\(B\)的取值 ...
- GCC生成动态库
main.c #include <stdio.h> void hello(void); int main(int argc, char ** argv) { printf("Th ...
- 11g 如何添加,替换,移除,迁移 OCR ?
一: 增加 裸设备上,创建至少280MB的裸设备,权限是640,属主是root:oinstall共享文件系统 Or NFS,创建空文件,权限是640,属主是root:oinstall root用户执行 ...
- 关于日志类Log4j的使用
log4j 的配置 #下面定义日志输出级别是 INFO,并且配置了2个输出目的地,一个是A3,一个是console log4j.rootLogger = INFO,A3,CONSOLE #日志最低的输 ...
- nginx用cookie控制访问权限实现方法
自己的一个需求需要对a.b.com 下的 /c 这个目录下,cookie d=e 才能访问,如果不是,就重定向到f.html 下面看代码. 代码如下 复制代码 server{ serve ...
- Java常见设计模式之工厂模式
工厂模式在我们日常的应用中应当算是比较广泛的一种设计模式了.今天让我们一起来学习一下,工厂的设计模式. 工厂模式在<Java与模式>中分为三类: 1)简单工厂模式(Simple F ...
- 给JZ2440开发板重新分区
转自:http://mp.weixin.qq.com/s?__biz=MzAxNTAyOTczMw==&mid=2649328035&idx=1&sn=7d3935cc05d3 ...
- 创建sharepoint网站
1.首先打开管理中心 输入用户名和密码(默认是本机的管理员名称及密码) 在“应用程序管理”选择“管理WEB应用程序” 新建应用程序 选择一个没有占用的端口,选择允许匿名访问 数据库名称一般为WSS_C ...