What’s the P/Q space?

The P/Q space is a terminology used to describe the boundaries of a network topology where a router can forward traffic and expect it to reach it’s destination without looping. This is an important concept to understand when discussing Remote LFA’s (Loop Free Alternate) as the P/Q space will define the first node that a Remote LFA tunnel can be terminated on.

Let’s take the following topology and assume all links have an equal cost and are running a link-state routing protocol:

If the link between R1 and R5 fails, while the routing protocol is converging, traffic from R1 destined to R5 cannot route traffic to R2 and R3 without looping back to R1. This event happens in every ring topology running a link-state protocol with more than 3 hops and is commonly called a microloop. In order to avoid this situation, a Remote LFA could be used to tunnel R1’s traffic to R3 so it can be forwarded normally from there.

In this specific example, the boundary of the P/Q space also called the P/Q node would be R3. The P space would be R2 and R3 and the Q space would be R3 and R4 as seen below:


In a distance-vector protocol, a very similar concept is applied to routing called the split-horizon rule: a router will not advertise a route to a destination through an interface it is using to reach that destination. So using a distance-vector protocol, if the link between R1 and R5 fails, R2 will drop all traffic to R5 until protocol converges. This is an important behavior difference between distance vector and link-state routing protocols; the first will drop traffic during convergence and the second will cause a microloop.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s