Professional Documents
Culture Documents
load balancing
Mikrotik User Meeting
Malaysia, 12 june 2019
Achmad Mardiansyah
achmad@glcnetworks.com
GLC Networks
www.glcnetworks.com
Agenda
● Introduction
● The basics: packets, connection and routing
● Load Balancing (LB) techniques
● Some issues and recommendations
● Q&A
2
www.glcnetworks.com
What is GLC?
3
www.glcnetworks.com
About me
● Name: Achmad Mardiansyah
● Base: bandung, Indonesia
● Linux user since 1999, mikrotik user since 2007,
● Mikrotik Certified Trainer
(MTCNA/RE/WE/UME/INE/TCE/IPv6)
● Mikrotik Certified Consultant
● Teacher at Telkom University (Bandung, Indonesia)
● Website contributor: achmadjournal.com,
mikrotik.tips, asysadmin.tips
● More info:
http://au.linkedin.com/in/achmadmardiansyah
4
www.glcnetworks.com
Past experiences
● 2019, Congo (DRC): build a wireless ISP from
ground-up
● 2018, Malaysia: network revamp, develop billing
solution and integration, setup dynamic routing
● 2017, Libya (north africa): remote wireless migration
for a new Wireless ISP
● 2016, United Kingdom: facilitates workshop for a
wireless ISP, migrating a bridged to routed network
● 2015, West Borneo: supporting wireless
infrastructure project
● 2014, Senegal (west africa): TAC2 engineer for HLR
migration from NOKIA to ERICSSON
www.glcnetworks.com
About Telkom University
6
www.glcnetworks.com
Mikrotik academy @ TEL-U
● Started in 2013
● Embedded into schools curriculum
● 100% hands-on
● Get MTCNA certification
7
www.glcnetworks.com
About load balancing
8
www.glcnetworks.com
Why should i care?
9
www.glcnetworks.com
Are those webpages really work on you?
10
www.glcnetworks.com
The basics: packet, connection, routing
11
www.glcnetworks.com
What is packets?
Packet is a unit of data transmission (layer 3
PDU)
Questions:
● Is there any packet in a frame?
● Is there any packet in a segment?
● How to measure mbps of packets
/ datagram
12
www.glcnetworks.com
How do you know packet’s statistics?
13
www.glcnetworks.com
Layer 3 header (which one is IPv4?)
14
www.glcnetworks.com
Layer 4 header (which one is TCP?)
15
www.glcnetworks.com
What is connection? webserver
ether5 ether6
LAN
16
www.glcnetworks.com
Questions:
17
www.glcnetworks.com
Mikrotik supports connection tracking
18
www.glcnetworks.com
QUESTION
19
www.glcnetworks.com
Connect
ion 1
Connect
ion 3
Answer: inspect the web elements
Connect
ion 2
ISP1
ether5
LAN
20
www.glcnetworks.com
Example: Single connection to a
website
Website with single connection:
http://test.glcnetworks.com ISP3
ISP1 ISP2
ether5 ether6
LAN
21
www.glcnetworks.com
Routing and forwarding
22
www.glcnetworks.com
Routing and Forwarding
ether5 ether6
LAN
23
www.glcnetworks.com
Adjust routing (mangle: mark-routing)
ether5 ether6
LAN
24
www.glcnetworks.com
Forward traffic via ISP2 using mangle
25
www.glcnetworks.com
Forward traffic via ISP1 using mangle
26
www.glcnetworks.com
Load Balancing
27
www.glcnetworks.com
What is (traffic) load balancing? webserver
● Increase utilisation of
upstream links ether5 ether6
LAN
28
www.glcnetworks.com
Load balancing techniques
ECMP YES NO
PCC YES NO
Bonding NO YES
OSPF YES NO
BGP YES NO
29
www.glcnetworks.com
Connect
ion 1
Connect
ion 3
How PCC works?
LAN
30
www.glcnetworks.com
Applying PCC
31
www.glcnetworks.com
Exercise: Classifier=src-addr
Host 1
How many pcc
Host 2
connections to servers?
server 1
Host 3 internet
Host 4 server 2
Host 5 server 3
32
www.glcnetworks.com
Exercise: Classifier=dst-addr
Host 1
How many pcc
Host 2
connections to servers?
server 1
Host 3 internet
Host 4 server 2
Host 5 server 3
33
www.glcnetworks.com
Exercise: Classifier=both-address
Host 1
How many pcc
Host 2
connections to servers?
server 1
Host 3 internet
Host 4 server 2
Host 5 server 3
34
www.glcnetworks.com
Exercise: Classifier=both-address-and-ports
Host 1
How many pcc
Host 2
connections to servers?
server 1
Host 3 internet
Host 4 server 2
Host 5 server 3
35
www.glcnetworks.com
Connect
ion 1
Connect
ion 2
ISP1 ISP2
ether5 ether6
host1
36
www.glcnetworks.com
Some issues & recommendations
37
www.glcnetworks.com
Some issues & recommendations
Issues:
Recommendations
● If you use NAT, Better to use classifier based on source IP address only ->
will give client consistent path to the destination
● Avoid NAT if possible -> using public IP address end-to-end -> use BGP ->
better performance
38
www.glcnetworks.com
QA
39
www.glcnetworks.com
Some info
40
www.glcnetworks.com
End of slides
41
www.glcnetworks.com