An asymmetric network has multiple routes for incoming and outgoing network traffic.
A symmetric network has a single route for incoming and outgoing network traffic. As such traffic takes the same route when entering or the network.
What is Asymmetric Routing?
Asymmetric routing is the situation where packets from A to B follow a different path than packets from B to A. Asymmetric routing is very common with BGP, and completely avoiding it is impossible. Fortunately, under normal circumstances, asymmetric routing doesn’t cause any problems, as routers don’t care about this and obviously, the sending and receiving hosts see packets in both directions. Firewalls, on the other hand, often need to see the packets flowing in both directions to function properly. So it’s important to place firewalls somewhere before the packet flows in the incoming and outgoing directions diverge.
Figure 1: symmetric routing.
In figure 2, however, the two available paths are both two AS hops, so the AS path length step in the BGP path selection algorithm won’t force a decision. This generally means that the path selection decision will come down to the tie breaker rules, so there’s about a 50% chance that traffic from AS100 to AS500 will flow through AS200 and a 50% chance that it will flow through AS400. The same is true in the opposite direction, making for the following possibilities:
So there’s a 50% probability that traffic is routed symmetrically and a 50% probability that traffic is routed asymmetrically.
Figure 1 shows a situation where asymmetric routing is unlikely. There are two paths between AS100 and AS500: through AS200 and AS300 for a total of three hops or through AS400 for a total of two hops. So if the local preference attribute is the same, the shorter AS path will make packets flow through AS400 in both directions, as shown by the blue arrows for packets from AS100 to AS500, and the red arrows showing the direction from AS500 to AS100.
Figure 2: asymmetric routing.
The two traceroutes below show an important function of routing; routing isn’t always symmetrical and, in the case of the Internet, it’s often asymmetrical.
Traceroute #2 shows traffic taking the top path from 10.10.10.2 towards 10.10.10.6: SVL > SEA > MIN > OMH
Traceroute #3 shows traffic taking the bottom path from 10.10.10.6 towards 10.10.10.2: OMH > TUL > PHX > SVL