一、EIGRP使用DUAL算法,规则为:存在FS(次优路由AD<继承路由FD),当Sucssor判断为down后,调用FS;当没有FS时,该路由进入active状态,并向全部邻居发出query。active状态一直等到全部邻居reply后,要么选择新的sucssor,要么flush掉。
二、当邻居接到query后,查询自身拓扑表。有4种状况:一、拓扑表中没有该路由的,直接reply unreachable;二、发送端不是sucssor,reply sucssor;三、发送端为sucssor,拓扑表中有FS的,去掉旧的sucssor并把FS转为sucssor,reply FS;四、没有FS的,向其全部非原query的端口发送query,直到全部query被reply,该邻居生成了sucssor或flush掉该route后,再进行reply。
三、在3min(该值可改,在config-router#里使用 timer active-time *),只要有一个下游的邻居没有reply,该路由转为SIA状态。并重置与该邻居的毗邻状态。(奇怪的是期间的hello包不工做了吗?)
四、上述得知避免进入SIA状态的方法,一是修改timer active-time,用于治标;一是减小查询的下游邻居,用于治本。因为毗邻关系不可改变,可变的就是query的去向了。stub正是处于此目的。配置了stub的router,其邻居认为其以及其下游的网络是不可能找到Suc的,所以不会向该邻居发送query。这样子等待reply的对象就少了该router以及往下的网络了。
本文出自 51CTO.COM技术博客