Load Balancing: Difference between revisions
No edit summary |
|||
(7 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)== |
Latest revision as of 10:04, 3 June 2020
Warning: This manual is moved to https://help.mikrotik.com/docs/display/ROS/Load+Balancing
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.
- Per-Traffic Load Balancing
- Load Balancing over Multiple Gateways
- Manual:Load balancing multiple same subnet links
- Manual:Failover with firewall marking
ECMP (Equal Cost Multi-Path)
This method uses multiple gateway with same cost.
PCC (Per Connection Classifier)
Nth
- NTH load balancing with masquerade
- NTH load balancing with masquerade (another approach)
- Manual:NTH in RouterOS 3.x
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.
- Manual:Routing/OSPF
- Manual:Route Selection Algorithm in RouterOS#Load balancing and dynamic routing protocols