一、EIGRP是cisco专用协议,同时具备距离矢量和链路状态优点,该混合模式有以下特征:
1、快速会聚(使用DUAL算法来实现)
2、支持VLSM
3、部分更新 不是定期更新,从而使更新占用带宽少;
4、支持多种网络层协议 利用协议无关模块(PDM)来支持IP,IPX,APPLE Talk
1、在不同数据链路层协议和拓扑间实现无缝连接----从而能在WAN或LAN中高效运行;
2、精度的度量值---用32位来表示,从而更好支持均衡负载;
3、使用组播(224.0.0.10)和单播来通信;
4、支持边界汇总及创建超网(聚合地址块)。
注:EIGRP实现的是传输层功能,其在IP报头中的协议号为88;TCP为6、UDP为17。
1、邻居发现技术
2、可靠传输协议---确保快速会聚的有效性
保证路由选择信息(更新、查询、应答)分组能被可靠地发送
RTO定时器重传可靠分组,最多15次且在 保持定时器
3、DUAL有限状态机----决定到目的地的度量值
4、协议无关模块(PDM)----支持多种网络层协议如IP,IPX,Apple Talk.
1、Hello:以组播方式来发现邻居,无需确认;
hello发送间隔时间随介质而异:
在LAN链路、点到点链路、高带宽多点链路---间隔时间为5秒
在低带宽链路-----间隔时间为60秒
可以用命令来调整其间隔时间:
ip eigrp hello-interval as号 间隔秒数
保持时间:在多长时间内收到邻居的Hello包和其他EIGRP数据包是有效的。
默认时,保持时间 是 间隔时间 3倍,15s
注:间隔时间的变化不会影响保持时间。
2、updata:以组播方式来发送会聚后的路由给受影响的路由器。同时,为了同步拓扑表,在 启动时,以单播方式将更新发送给邻居路由器。
3、query:以组播方式向邻居发关查询分组并以可靠的方式传送(查询可行后继),有时重传 是以单播方式。
4、reply:响应查询,以单播可靠方式传送。
5、ACK:确认更新、查询、应答,以单播方式发送Hello,并包含一个不为零的确认号。
1、邻居表:EIGRP使用Hello来发现邻居。查看邻居表的命令如下:
show ip EIGRP neighbors //查看IP邻居表
该命令会包含如下信息:
H(handle)---跟踪邻居时IOS自动生成的编号
address----与邻居路由器相连接口的IP地址
interface----邻居路由器接口
holdtime-------保持时间
uptime(正常运行时间)---本地路由器首次收到邻居分组后已过了多长时间(时:分:秒)
sptt(平均往返定时器)----从本地路由器发送EIGRP分组到邻居路由器,到本地路由器收到邻居 路由器返加的确认之间所花费的时
重传超时(RTO)
队列计数(queue count)----大于0则可能存在拥塞问题,0表示没有EIGRP报文等待重传
SEQ----序列号 数据包的序列号
show ip eigrp topology//查看IP拓扑表,将显示FD,AD,FS,Successor类型等信息.
show ip eigrp topology//显示拓扑表中所有路由信息
拓扑表中的路由处于两种状态:
被动(passive):路由器 没有 重新计算路由
主动(active):路由器 有 重新计算路由(当前往目的地路由的当前路由不可用,且没有FS时,将重新计算路由)
4、通告距离AD---(下一跳)邻居路由器到目的网络的度量值。
可行距离FD---AD+本地路由器到邻居路由器的度量值。
5、后继站(successor)---FD最小的邻居路由器(作为最佳路由放入路由选择表中)成本最低,且不产生环路
可行后继站(Feasible Successor)----本地路由器所存拓扑表中,AD < 当前后继路由器的FD 的邻居路由器,不会产生环路,作为备用路由
1、本地路由器中邻居表发送Hello包查询邻居,若邻居路由器收到hello包,返回ACK信息;
2、邻居路由器发送updata包(包含邻居路由器路由选择表中所有信息,除水平分割) 给本地路由器;
3、本地路由器返回 ACK,建立邻接关系;
4、本地路由器保存邻居路由器的路由更新信息到本地的拓扑表中;
5、本地路由器发送 updata包(包含邻居路由器路由选择表中所有信息,除水平分割) 给邻居路由器;
延迟:路径中 所有延迟之和*256,单位为10微秒,而show interfaces显示的单位是1微秒;
带宽:10的7次方/路径上速度最低的带宽*256
影响度量值的因素有:带宽、延迟、可靠性、负载,最在传输单元;
计算度量值公式:度量值=k1*带宽+[(k2*带宽)/(256-负载)]+k3*延迟
=带宽+延迟
当k5不等于0
度量值=(带宽+延迟)*[k5/(可靠性+k4)]
注:度量值越小,其可信度越高。
路由选择: EIGRP会只把主路由(后继路由)和备用路由(可行后继路由) 放入 拓扑表中,然后把后继路由放入路由选择表中。EIGRP使用DUAL计
EIGRP支持多种类型的路由:内部(90)、外部(170)、汇总路由(5)
1、router EIGRP AS //启动EIGRP
2、network 子网地址/接口 [反掩码]//指定哪些网络属于EIGRP中的一部分
3、接口下bandwidth 带宽数字 //1、PPP、HDLC 应设置为线速
2、FRAME-relay应设置为CIR
3、FRAME-RELAY 多链接,应设备为CIR之和
4、FRAME-RELAY PVC,应设备为最低CIR* pvc的条数
4、ip default-network 网络地址 //EIGRP配置默认路由 (*表示默认路由) 而其删除默认路由则是no ip route ,而不是no ip default-network。
5、ip route 0.0.0.0 0.0.0.0 //EIGRP此时不 重分发 路由
若加上命令:network 0.0.0.0则会导此EIGRP 重分发 一条默认路由
ip route 0.0.0.0 0.0.0.0 address 、ip default-network 不会导致上述情况出现。
可汇总的路由数=2的n次方,n=子网掩码位数 - 汇总后的子网掩码位数
汇总路由的标志信息是其 下一跳接口设置为 null0
关闭自动汇总的命令:no auto-summary //准确的说是关闭了连续子网
手动路由汇总命令:ip summary-address eigrp as号 汇总网号 子网掩码 [管理距离]//目的是汇总非连续子网,实现快速会聚。
地址分配方案原则是:根据职能而不是根据地理位置来放置路由器。其目的是将同一个主类网络中的子网地址集中放在一起。
负载均衡:路由器有多条前往目的地址度量值相同的路径。它,可有效增加有效网络带宽。
修改负载均衡的条数命令(默认为4条):maximun-paths 条数 (1-6) 为1,则表不实现负载均衡
Variance 变化因子// 为1则表示等成本负载均衡,为大于1,则表示多个作为考虑的负载均衡,非等价负载均衡
可行路由: 下一台路由器比当前路由器离目的地更近,且度量值在指定范围内。
要成为可行路由的要满足以下两个条件:
1、当前FD >下一跳路由器的AD
2、当前FD*variance >下一跳路由的度量值
同时,可以使用路由器配置命令:traffic-share [balanced|min across-interface]
注:只有可行路由才能作为负载均衡的.
1、EIGRP默认支持四条链路的不等代价的负载均衡(所有路由基本上都支持);
2、使用下面命令可支持六条:
router EIGRP 10
maximum-paths 6——设置成6条
variance——后跟差异度量值,实现负载均衡。差异值为1时,只有相同度量才会安置到本地路由表中,为2时,任一由EIGRP发现的了解的路由,只有其度量少于继任度量的两倍,将会被安置到本地的路由表中。
EIGRP Load Balancing 非等价负载均衡
每个路由协议都支持等值路径的负载均衡.除此之外,IGRP和EIGRP也支持不等值路径的负载均衡,使用variance命令. Variance命令向路由器通告一个n值,n值使用variance命令指定.n值为1-128之间,默认为1。
router E有三个路径到网络X
◆E-B-A with a metric of 30
◆E-C-A with a metric of 20
◆E-D-A with a metric of 45
Router E选择第二个路径,E-C-A的metric为20,20为三个路径的最小值,如果希望EIGRP选择优先E-B-A路径,配置variance值为乘数 2
router eigrp 1 network x.x.x.x variance 2
这样增加了metric到40(2*20=40)。这样EIGRP包括了所有metric小于40的路由,在上面的配置中,路由器使用了两个路径到达网络 X,E-C-A和E-B-A,因为两个路径的metric值都在40以下。因为E-D-A的metric为45,大于40,所以eigrp不选择此路径到达网络X。而且,路由器D报告到达网络X的metric为25,这个值比可行的metric值20要大。这就意味着即使variance设置为3,E- D-A路径也不会被选择为负载均衡的路径,因为router D不是一个可行的后继者。
Traffic Sharing
Eigrp不仅支持不等值路径的负载均衡,而且也支持智能负载均衡,例如traffic sharing。有多个路由到达同一目的网络有不同cost的情况下,想要控制在不同路由上的traffic,可以使用traffic sharing命令。使用balanced关键字,路由器按照不同路由的metrics比率成比例的分配流量。这是默认设置。
router eigrp 1 network x.x.x.x variance 2 traffic-share balanced
下面是traffic share计算案例
◆For path E-C-A: 30/20 = 3/2 = 1
◆For path E-B-A: 30/30 = 1
如果不能整除,我们按照其整数计算(注意:不是四舍五入)。在这个案例中eigrp发送包通过E-C-A和E-B-A的比率为1:1,这样做到了负载均衡的目的。
现在我们假设在E-B间的metric为25,B-A间的metric为15。这样E-B-A的metric为40,因为40不小于2×20(20是可行的路径metric,2是variance值),这样在E-C-A和E-B-A之间不可以实现负载均衡。如果希望实现负载均衡,我们需要将 variance值设置为3。这样两条链路上的traffic share比率为
◆For path E-C-A: 40/20 = 2
◆For path E-B-A: 40/40 = 1
这样eigrp在E-C-A和E-B-A的流量比率为2:1。通过这样的方法,eigrp不仅支持了不等值的路由负载均衡,而且也支持了智能负载均衡
在关键字min使用时,traffic仅仅通过最小cost路径发送,即使在路由表中有多个路由路径
router eigrp 1 network x.x.x.x variance 3 traffic-share min across-interfaces
这样配置的结果是,eigrp仅仅通过E-C-A的路径发
ip bandwidth-percent eigrp AS号 百份比 //配置EIGRP占用链路带宽的比例
注:百分比可大于100
配置链路带宽:
n个相同的CIR frame-relay,bandwidth CIR*n
n个不同的CIR frame-relay,bandwidth 最低CIR*N,
第二种混合的方法是:
最低CIR的配置 点到点,其他CIR配置 多点
eg: interface s0.1 multipoint
bandwidth 768
interface s0.2 point-to-point
bandwidth 56
第三种: ip bandwidth-percent 与bandwidth合用:
eg: interface s0.1 point-to-point
bandwidth 25
ip bandwidth-percent eigrp as号 百分比(110)
路由器身份验证方式:1、简单密码身份验证(明文身份验证):is-is,ospf,ripv2都支持
2、MD5身份验证:ospf、ripv2、BGP、eigrp
注:配置EIGRP身份验证,需要指定密钥ID、密码、密钥的寿命。
配置MD5身份验证步骤如下:
1、进入接口模式;
2、配置 ip authentication mode eigrp as md5 //启动md5
3、配置 ip authentication key-chain eigrp as号 密钥链名//定义密钥链名
4、exit并进入全局模式配置 key chain 密钥链名 //进入密钥链配置模式
5、 配置key id号 //指定密钥ID
6、 配置key-string 密码 //指定密钥密码
7、 配置accept-lifetime start-time {infinite|end-time|duration seconds}
8、 配置send-lifetime start-time {infinite|end-time|duration seconds}
注:eigrp中的MD5密码,若没有使用service password-encrption,则以明文存在路由器中,若使用,则以加密类型的方式存储。
md5身份验证故障: 密码不一至
debug eigrp packets //查看EIGRP报文收发状况
若接收到: received packet with md5 authentication,key id=1//表示正常
pkt key id=2,authentication mismatch //表示不正常,多数是密码不一至
可使用show ip eigrp neighbors 来查看其连接性。
1、影响EIGRP扩展性变量如下:
1、邻居间交换的信息量(越少越好);
2、路由器数量(越少,EIGRP占用的资源量就越少);
3、拓扑的深度(即所经过的跳数年,跳数越大,所耗费的会聚时间越长,建议不超过7跳)
4、网络中的替代路径数(越小越好,可以减少会聚时间)
2、EIGRP通用设计原则:1、会聚路由器要有足够的 内存
2、中央--分支拓扑要有足够的 带宽
3、合理的地址分配方案---- 集中
陷入主动状态:如果路由器在3分钟(默认时间)内没有收到对查询的应答,路由将陷入主动状(sia)
修改其默认时间的命令:times active-time[time-limit|disabled]
导致进入SIA最常见的原因如下:
1、路由器CPU使用率过高,导致无法回答查询;
2、路由器间链路质量太差,导致路由器间丢失数据包;
3、某些故障,导致数据流只沿一个方向传输。(单向传输)
而命令:eigrp log-neighbor-changes //启动邻接关系变化功能,可以帮助检测SIA相关问题。
防止SIA的方法: 1、限制EIGRP查询范围,可降低SIA的发生概率;
限制EIGRP查询范围方法:
1、在合适的路由器接口上使用:ip summary-address 汇总子网 子网掩码
2、在中央--分支网络中使用末节路由选择(stub routing)
配置命令: EIGRP stud [receive-only|connected|static|summary]
receive-only:只接收不转发,static 静态路由,connected 只转发直连,summary:汇总, connected、summary默认启用.
2、在EIGRP数据包报头中新增两个类型:长度、值(tlv)三元组:SIA--查询,SIA--应答
no network将network命令功能删除,并在与此连接的接口上发送Goodbye消息。
no router eigrp 也将发送Goodbye,但在关闭接口/重启路由时,EIGRP将不会发送Goodbye.
show ip eigrp neighbors //显示EIGRP邻居表
show ip route //显示IP路由选择表中各种路由选择协议提供的条目
show ip route eigrp //显示路由选择表中EIGRP条目。
show ip protocols//显示路由选择协议的参数和状态。
show ip eigrp interfaces//显示配置EIGRP的接口信息。
show ip eigrp topology //显示EIGRP拓扑表
show ip eigrp traffic 显示发送与接收的EIGRP报文数.
-------------------------------------------------
Debug: debug eigrp packets //查看发送与接收的EIGRP分组类型
debug eigrp neigbbors //查看EIGRP邻居和HELLO分组内容
debug ip eigrip //查看接口发送与接收的EIGRP分组(会产生大量输出数据)
debug ip eigrp summary //查看有关EIGRP活动的摘要消息。