SIA-Queries & SIA-Replay

SIA stands for STUCK-IN-ACTIVE

In NUT_SHELL

Routers use SIA-Queries and SIA-Replies to prevent loss of a neighbor
unnecessarily during SIA conditions. A router sends its neighbor a SIA-Query
after no reply to a normal query. If the neighbor responds with a SIA-Reply,
then the router does not terminate the neighbor relationship after three
minutes, because it knows the neighbor is available.

In EIGRP, if a router loses a route, and we don’t have a feasible successor(backup router)for that route, then it sends out queries to the neighboring routers to recompute the new route, this process takes the route into the active state. In EIGRP, if the route is established, and it is not looking to recompute it, then it is known to be in Passive State, but if the route is lost with no FS, then queries are sent out all neighboring interfaces to check the alternative path to the route.

  • If the alternative route is found on some neighbor device, then the query ends there.
  • If the alternative route is not found on any receiving neighbor router, then all the neighbor routers send queries to there neighbors except to those from where it received the query(Remember Split Horizon).
  • The queries then starts to propagate through the network depends to design/topology.
  • When a router reponds to the query, it stops propagating on that part of the network, but queries are still propagating in the other parts of the network, as they are looking for a alternative path to the route. Also, there must be a reply received for every query, otherwise the route will always be in active state.
A route goes into stuck-in-active(SIA) state, if it doesn’t gets a reply of all the queries within 180 seconds/3 minutes(default-settings).
To change the default timings of 180 seconds, following command can be used -:
                                        R7(config)#router eigrp 1
                                        R7(config-router)#timers active-time ?
                                <1-65535>  EIGRP active-state time limit in minutes disabled   disable EIGRP time limit for active state
                                        R7(config-router)#timers active-time 10
So, you can use any value between 1 and 65535.

 What exactly cause route to fall in SIA state?

  • Router have CPU Usage or memory problem and is unable to build the reply packet.
  • There can be a Unidirectional Link Failure, which causes traffic to move only in one direction.
  • There can be a bad link between two routers and due to this query/reply packets are lost.
Many network engineers around the world take some errorneous approach of using multiple AS to decrease stuck-in-active issues, This type of approach is like simulation of OSPF.
  • The problem with this type of design is that original query can be resolved at the edge of the AS, but then the edge router will start a new query in other AS, which can result in SIA State.
Prevention of SIA Connections:
Cisco IOS12.1(5) introduced a new feature called Active Process Enhancement.
  • This feature also introduces two new packet types :
  • SIA Query
  • SIA Reply

This feature ensures that neighbor adjacencies won’t get terminated unintendedly.

Active Process Enhancement Process is shown in the below image -:
Before Process
  1. Router A sends query to Router B regarding 10.1.1.0/24 route, as there are no Feasible successors present.
  2. Router B has no entry present for 10.1.1.0/24, so it queries Router C.
  3. Now, if there’s problem exist between Router B and C, then the reply won’t be able to make it to Router B.
  4. Router A has no visibility regarding progress in the downstream, so it thinks that there is a problem between Router A and B.
  5. After the default 180 seconds active timer expired, neighborship between Router A and B will get reset, along with all the routes.
After Process:
  1. Router A sends query to Router B regarding 10.1.1.0/24 route, as there are no Feasible successors present.
  2. Router B has no entry present for 10.1.1.0/24, so it queries Router C.
  3. Now, if there’s problem exist between Router B and C, then the reply won’t be able to make it to Router B.
  4. Router A has no visibility regarding progress in the downstream, but with Active Process Enhancement feature, a SIA Query is sent from Router A to Router B at mid-way(90 seconds), about the status of the route.
  5. Router B responds with a SIA Reply, that it is searching for 10.1.1.0/24 or replacement route.
  6. Upon receiving a Reply packet from Router B, Router A validates the status of the link, and does not terminate the neighborship.
  7. Router B also sends upto three SIA Queries to Router C, and if it does not get any SIA Reply from Router C, it will terminate the neighbor relationship with Router C.
  8. Router B will then update Router A with the SIA reply, indicating that 10.1.1.0/24 is unreachable.
  9. Router A and B will remove the active route from their topology table.
  10. The neighborship between Router A and B will remain intact.
 
TO LIMIT EIGRP QUERY RANGE FOR BETTER DESIGN AND SCALABILITY, THERE ARE TWO METHODS :
  1. With the help of Route Summarization : Summarization minimizes the size of Routing Table,  which indicates less memory and CPU usage. It also helps minimizes networks becoming SIA, because it reduces the number of routers to see each query

  • Here, Router B sends a summary route of 172.30.0.0/16 to Router A.
  • When network 172.30.1.0/24 goes down, Router B sends a query to Router A asking for an alternative path to 172.30.1.0/24.
  • Now Router A receives only summary route of 172.30.0.0/16, Route 172.30.1.0/24 is not found in the Routing Table of Router A, so Router A replies with “Network 172.30.1.0/24 unreachable” message.
  • This message does not propagate any query more further
2.    Configuring Stub Routers
  • Stub Routers can be configured in Hub and Spoke Topology, Spoke Routers can be configured as stub for good design, as spoke routers won’t be in the transit.
  • Hello Packet includes stub flag information.
  • Any neighbor that receives a packet informing it of the stub status does not query the stub router for any routes. Therefore, a router that has a stub peer does not query the peer.
Configuration of Stub Router in EIGRP is quite simple -:

                                             R7(config)#router eigrp 1

                                              R7(config-router)#eigrp stub ?
  connected           Do advertise connected routes
  leak-map            Allow dynamic prefixes based on the leak-map
  receive-only       Set IP-EIGRP as receive only neighbor
  redistributed     Do advertise redistributed routes
  static                    Do advertise static routes
  summary            Do advertise summary routes

Leave a comment