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.
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.
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
ECMP (Equal Cost Multi-Path)
This method uses multiple gateway with same cost.
PCC (Per Connection Classifier)
- NTH load balancing with masquerade
- NTH load balancing with masquerade (another approach)
- Manual:NTH in RouterOS 3.x
Can combine multiple links to achieve: higher speed, failover, load balancing.
More detailed information about "bonding" you can find here: Manual:Interface/Bonding
Two or more links are setup with dynamic routing protocol OSPF with equal cost. Then equal multipath routing is used.
- Manual:Route Selection Algorithm in RouterOS#Load balancing and dynamic routing protocols