(1)Queries are sent out when a route is lost and no feasible successor is available.
The lost route is now in active state.
(2)Queries are sent out to all neighboring routers on all interfaces except the interface to the successor.
(2)If the neighbors do not have the lost-route information, queries are sent out to their neighbors.
(3)The router has to get all the replies from the neighbors with an outstanding query before the router calculates the successor information.
(4)If any neighbor fails to reply to the query within three minutes by default, the route is SIA, and the router resets the neighbor that fails to reply.
(5)A solution for SIA is to limit the query range, also known as query scoping.
When an EIGRP neighbor receives a query for a route, it behaves as follows:
・
If the EIGRP topology table does not currently contain an entry for the route, then the router immediately replies to the query with an unreachable message, stating that there is no path for this route through this neighbor.
・
If the EIGRP topology table lists the querying router as the successor for this route and a feasible successor exists, then the feasible successor is installed and the router immediately replies to the query.
・
If the EIGRP topology table lists the querying router as the successor for this route and a feasible successor does not exist, then the router queries all of its EIGRP neighbors except those sent out the same interface as its former successor. The router will not reply to the querying router until it has
received a reply to all queries that it originated for this route.
・
If the query was received from a neighbor that is not the successor for this destination, then the router
replies with its successor information.
1、EIGRP使用DUAL算法,规则为:存在FS(次优路由AD<继承路由FD),当Sucssor判断为down后,调用FS;当没有FS时,该路由进入active状态,并向所有邻居发出query。active状态一直等到所有邻居reply后,要么选择新的sucssor,要么flush掉。
2、当邻居接到query后,查询自身
拓扑表。有4种情况:1、拓扑表中没有该路由的,直接reply unreachable;2、发送端不是sucssor,reply sucssor;3、发送端为sucssor,拓扑表中有FS的,去掉旧的sucssor并把FS转为sucssor,reply FS;4、没有FS的,向其所有非原query的端口发送query,直到所有query被reply,该邻居生成了sucssor或flush掉该route后,再进行reply。
3、在3min(该值可改,在config-router#里使用 timer active-time *),只要有一个下游的邻居没有reply,该路由转为SIA状态。并重置与该邻居的毗邻状态。(奇怪的是期间的hello包不工作了吗?)
4、上述得知避免进入SIA状态的方法,一是修改timer active-time,用于治标;一是减少查询的下游邻居,用于治本。由于毗邻关系不可改变,可变的就是query的去向了。stub正是处于此目的。配置了stub的router,其邻居认为其以及其下游的网络是不可能找到Suc的,因此不会向该邻居发送query。这样子等待reply的对象就少了该router以及往下的网络了。