MikroTik ECMP & Floating Routes

Now we know how to do static route and default static route. There are also other manual routes that we can do which are EMCP & floating routes. To show you how ECMP & floating routes, I need to add another link between R1 and R2, so my diagram looks like this now:

MikroTik ECMP & Floating Routes

I have already put the IP addresses on Ether3 interface of R1 and R2.

[mepr-show rules=”319″ unauth=”message”]

To check if the routers are reachable on Ether3 interfaces, I will issue a ping from R2 to R1 IP address on Ether3 which is 192.168.21.1

MikroTik ECMP & Floating Routes

It is reachable. Now I want that R1 and R2 send the traffic to each destination network via the 2 available links that we have. So, I want to do some type of load balancing. To do that, I need to create a route from R2 saying to reach 1.1.1.1/24 to go via R1, and same from R1 back to 2.2.2.0/24.

Let’s do first on R2:

MikroTik ECMP & Floating Routes

Now let’s do it on R1 (also on R1 I will use the default route):

MikroTik ECMP & Floating Routes

Very good. Now if I look to the routing table of R2, I will see the added route with a notation of AS+:

MikroTik ECMP & Floating Routes

AS+ means Active, Static, ECMP.

ECMP is: Equal Cost Multi Path. That means that this new added route is doing load balancing with the main one, meaning that the traffic is flowing equally via the 2 links on Ether2 and Ether3.

Same if we look to R1, we should have a similar result:

MikroTik ECMP & Floating Routes

Indeed, we do have same result on R1.

But why do we have load balancing now? Well, the answer is because of the distance which you can find it here on the routing table of R1 and R2:

MikroTik ECMP & Floating Routes

MikroTik ECMP & Floating Routes

You can see that on each of the router, the distance of the 2 routes is the same (1). When the distance is the same, then the router will do load balancing of the traffic using ECMP method.

If you do not want to do load balancing but failover, that means that all the traffic goes always from Ether2, but in case Ether2 goes down then the traffic will go from Ether3, then you can change the distance to a higher value on the route on Ether3 link – this is what is called floating route.

Let’s do this on R1 then we do it on R2.

MikroTik ECMP & Floating Routes

I have increased the distance to 2 on the 2nd route, and the result is that the route is not enabled anymore:

MikroTik ECMP & Floating Routes

I will do the same on R2:

MikroTik ECMP & Floating Routes

And here is the result:

MikroTik ECMP & Floating Routes

Now if I do a ping from R2’s network 2.2.2.2 to R1’s network 1.1.1.1, then all traffic will go via the link of Ether2. If that link goes down, then route on Ether3 link will become active and will pass the traffic. Do you want to make a try? Let’s do it.

I will make a ping from R2 to 1.1.1.1

The ping is working, and the traffic is using the route via Ether2. I will disable Ether2 and see if the 2nd route will go active and if the ping will work also.

Let’s disable Ether2 interface on R2:

Ether2 interface has been disabled.

Let’s check if the ping is still working:

Here the ping is working. You can also see that the active route is now the route via Ether3 interface. That’s awesome ????

[/mepr-show]

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.

Please Login to Reply or add a comment!

About