Difference between revisions of "Load Balancing"

From MikroTik Wiki
Jump to navigation Jump to search
 
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Warning|This manual is moved to https://help.mikrotik.com/docs/display/ROS/Load+Balancing}}
=Introduction=
=Introduction=


Load Balancing is method aiming to spread traffic across multiple links to get better link usage. This can be done one per-packet or per-connection basis.
Load Balancing is a method aiming to spread traffic across multiple links to get better link usage. This can be done one per-packet or per-connection basis.


{| class="styled_table"
{| class="styled_table"
Line 22: Line 24:


=Methods=
=Methods=
==Failover==
This example explains how to use multiple gateways with one taking over when first fails. It begins with adding the gateways. Set bigger '''distance''' value for the secondary one, and '''check-gateway''' for the first one:
/ip route add gateway=192.168.1.1 check-gateway=ping
/ip route add gateway=192.168.2.1 distance=2
That's all, there are no more steps!
The first gateway will begin as it's distance is smaller (default 1); the check-gateway will make sure it's up; when the ping will fail, it will disable the first gateway and the second will take over; when first one comes up, it will return to its function.


==Firewall marking==
==Firewall marking==
Line 30: Line 42:
* [[Load Balancing over Multiple Gateways]]
* [[Load Balancing over Multiple Gateways]]
* [[Manual:Load balancing multiple same subnet links]]
* [[Manual:Load balancing multiple same subnet links]]
* [[Manual:Failover with firewall marking]]


==ECMP (Equal Cost Multi-Path)==
==ECMP (Equal Cost Multi-Path)==
Line 47: Line 60:
* [[NTH load balancing with masquerade]]
* [[NTH load balancing with masquerade]]
* [[NTH load balancing with masquerade (another approach)]]
* [[NTH load balancing with masquerade (another approach)]]
* [[Nth]]
* [[Manual:NTH in RouterOS 3.x]]
* [[Manual:NTH in RouterOS 3.x]]


==Bonding==
==Bonding==


Can combine multiple links to get link with higher speed.
Can combine multiple links to achieve: higher speed, failover, load balancing.


* [[Manual:Interface/Bonding]]
* [[Bonding Examples]]
* [[Bonding Examples]]
More detailed information about "bonding" you can find here: [[Manual:Interface/Bonding]]


==OSPF==
==OSPF==
Line 61: Line 74:
Two or more links are setup with dynamic routing protocol OSPF with equal cost. Then equal multipath routing is used.
Two or more links are setup with dynamic routing protocol OSPF with equal cost. Then equal multipath routing is used.


* [[#ECMP]]
* [[Manual:Routing/OSPF]]
* [[Manual:Routing/OSPF]]
* [[Manual:Route Selection Algorithm in RouterOS#Load balancing and dynamic routing protocols]]
* [[Manual:Route Selection Algorithm in RouterOS#Load balancing and dynamic routing protocols]]

Latest revision as of 08:04, 3 June 2020


Introduction

Load Balancing is a method aiming to spread traffic across multiple links to get better link usage. This can be done one per-packet or per-connection basis.

Method Per-connection Per-packet
Firewall marking Yes Yes
ECMP Yes No
PCC Yes No
Nth Yes Yes
Bonding No Yes
OSPF Yes No
BGP Yes No

Methods

Failover

This example explains how to use multiple gateways with one taking over when first fails. It begins with adding the gateways. Set bigger distance value for the secondary one, and check-gateway for the first one:

/ip route add gateway=192.168.1.1 check-gateway=ping
/ip route add gateway=192.168.2.1 distance=2

That's all, there are no more steps!

The first gateway will begin as it's distance is smaller (default 1); the check-gateway will make sure it's up; when the ping will fail, it will disable the first gateway and the second will take over; when first one comes up, it will return to its function.

Firewall marking

This method uses firewall packet marking to select one from multiple gateways.

ECMP (Equal Cost Multi-Path)

This method uses multiple gateway with same cost.

PCC (Per Connection Classifier)

Nth

Bonding

Can combine multiple links to achieve: higher speed, failover, load balancing.

More detailed information about "bonding" you can find here: Manual:Interface/Bonding

OSPF

Two or more links are setup with dynamic routing protocol OSPF with equal cost. Then equal multipath routing is used.

BGP

External links