关于EIGRP一些小问题的解答
--------------------------------------------------------------------------------
EIGRP的metric是怎么定义的呢?
EIGRP有哪些协议数据报文呢?
EIGRP如何保证可靠性?
能说说DUAL有限状态机吗?
知道怎么配置EIGRP unequal-cost load-balancing吗?
EIGRP在Frame-relay p2p,p2mp,hybrid环境下如何分配带宽呢?
能列出常用的EIGRP察看命令吗?
解答:
EIGRP metrics
Metric = [K1 * BandW + (K2 * BandW)/(256-load) + K3*Delay] * [K5/(reliability + K4)]
By default: K1=K3=1 and K2=K4=K5=0, so:
Metric = 10000000/BandW*256 + Delay/10*256
如果你必须更改DELAY或BANDWDITH以达到你的特殊目的,建议你更改DELAY,因为其它协议也要用到BANDWITH如OSPF,另外,在使用限制E IGRP使用带宽的命令中也涉及到BANDWITH,所以一般修改DELAY参数(尤其在做实验时,为了简化METRIC值)
show interface 察看value
注意:k的值包含在hello报文中,不匹配邻居关系不会建立
为重分布路由设置一个缺省metric
default-metric 10000 100 255 1 1500
EIGRP有5种协议报文:
Hello:建立邻居关系,224.0.0.10,不需要确认
LAN,p2p WAN,MP带宽大于T1: 5秒间隔
MP带宽小于T1: 60秒间隔
注意:hold time为hello time的3倍,改变hello需要手工指定hold
#ip eigrp hold-time
Update:发送路由更新
Query:询问邻居关于路由的信息
Reply:对query的回复
以上3种报文需要进行显式确认(即每个报文需要单独确认),并设置序列号以便重传,次数限制为16
ACK:确认
由于DUAL的机制需要,EIGRP必须保证可靠传输,这是由RTP协议来完成的(RTP也可以做到不可靠传输),另外在这些数据包发送时,有些是组播发送,有些是单播发送,需要搞清楚
例如:hello使用组播而且是不可靠传输
ACK是一种没有数据的HELLO数据包ACK总是以单播方式传输,并且是不可靠传输
UPDATE可以是组播传输,也可以是单播传输,并且只使用可靠传输
QUERY和REPLY被使用在DUAL的有限状态机制里,QUERY可以是组播或单播,REPLY永远是单播,都使用可靠传输(由DUAL机制决定)
你能发现这些消息机制与OSPF的不同点在那里吗?
DUAL有限状态机:
其实是一种SPF算法的改造
首先收集邻居的路由宣告,参照邻居到目的网络的metric(AD),计算到目的网络路径FD(AD+local metric),FD最低的选为最佳路径放入路由表,相同最低FD进行负载均衡,其他路径满足AD 一旦最佳路径successor消失,查找拓扑表中的FS代替;如果拓扑表中没有FS,将会向邻居发送query,重新进行计算。
关于Finite stat machine(FSM)
我想是EIGRP最复杂的东西了
当某种事件引起PASSIVE状态的路由,进行重新查找FS时,如果有FS则FS升级成S(SUCCESSOR),如果没有则路由器向所有邻居发送QUERY ,此路由变为ACTIVE状态,此状态下有很多限制,例如不可更改FD,不可更改SUCCESSOR等,当所有发出的QUERY都收到REPLY时,路由器对此路由重新进行计算,并选出新的S ,FD,删除不符合FC条件的FS(FC的一个重要条件是:下一跳路由所通告的距距离(AD)必要小于当前的FD,这是为了防止LOOP等)
并发送UPDATE。做为接收到路由器发出QUERY的路由器在他的FS里找出最好的通告给初始路由器,如果他也没有,则同理,发送QUERY。需要指出的一点是缺省情况下如果路由器在3 分钟内没有收到某一QUERY的REPLY则进行SIA状态,并对从此邻居所收到的所有路由进行QUERY,时间可以手动更改
还有一点,一个设计好的网络不应该出现SIA的情况,一种错误的认识是设计多个AS连接起来,事实证明这种方法并不好,因为QUERY在AS 边界会被发送到另一个AS去,其结果是本AS中没有SIA,但另一个AS中可能存在SIA
其实,FSM比上边说的还要复杂,(非常复杂)例如,引起路由状态改变的因素可以有三种,如新发现路由等等,不同的因素引发的状态改变以及不同的方向上收到Q UERY以及REPLY还会有不同的处理
别以为就这么简单啊,同志们
EIGRP Unequal-Cost Load Balancing
允许metric小于最小FD指定倍数的路由成为successor
例如:RouterA到达网络Z有三条路径
via B: AD=10,FD=30
via C: AD=10,FD=20
via D: AD=25,FD=45
明显,via C是最短路径,但等价负载均衡不允许有多个路由并存,通过设置variace可以让路由协议自动进行负载均衡
如果#variance 2
那么via C: 30 <2*FD(20)满足条件
via D: 45 > 2*FD(20)不符合条件
所以via B,via C的路由将被选择做非等价负载均衡
在做不等均衡时如果你VARIANCE设置3,那么所有均衡路由时数据是按比例分配的:如1:1:3
还有,做均衡时还要考虑你的max-path值是多少
还有一个问题,就是如果有以下路径:
F到D到B=15
F到C到B=15
F到C到G=10
F到E到A=30
你的variance 2
也就是说最好的METRIC可以在2*10=20以下
那么有三条路径:
15
15
10
理论上说应该在15的两条路径上每发一个分组后,在10的路径上发送1.5个分组
实际中,路由器可能会发送2个分组,因为它无法只发送1个半组
Bandwidth over WAN interface
1.p2p subint using frame-relay: 设为CIR
2.Multipoing:设为邻居带宽的总和
如果每个PVC有不同的CIR
- 转换为p2p配置
- lowest CIR * PVC总数
举个例子:
点到点星型拓扑,总部CIR=256k,到分部有10条PVC,每条CIR=56kbps
划分p2p subint,每条PVC分配25kbps,调整eigrp协议数据报最大占用50%的VC容量
#interface serial 0.1 point-to-point
bandwidth 25
ip bandwidth-percent eigrp 1 110
注意:25的110%为28Kbps,即56kbps/2
相关命令
show ip eigrp neighbors
show ip eigrp topology
show ip route eigrp
show ip protocols
show ip eigrp traffic
debug eigrp packets
debug eigrp neighbors
debug ip eigrp
debug ip eigrp summary
偶还有一点要说
就是有关eigrp 的发布
在12.0(4)t以前是:
network network-number
在以后是可以是:
network network-number [wildcard nwtwork-mask]
这一点使得EIGRP可以在具体指定某个接口上发布EIGRP