Download this presentation and view in Microsoft powerpoint. Animation effects make it difficult to understand on Slideshare.
REFERENCE:
R. Wang, D. Butnariu, and J. Rexford, “OpenFlow-based server load balancing gonewild,” In Hot-ICE, 2011.
Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...
Software Load Balancer for OpenFlow Complaint SDN architecture
1. Enhancing Load Balancer
For OpenFlow Compliant
SDN Architecture
MIT COLLEGE OF ENGINEERING
BY-
Pritesh Ranjan
Pankaj Pande
Ramesh Oswal
Zainab Qurani
3. Packet Forwarding
Hardware
Ap
p
Ap
p
Ap
p
Packet Forwarding
Hardware
Ap
p
Ap
p
Ap
p
Hardware Packet
Forwarding
Ap
p
Ap
p
Ap
p
Packet Forwarding
Hardware
Operating
System
Operating
System
Operating
System
Operating
System
Ap
p
Ap
p
Ap
p
Network Operating System
App App App
INTRODUCTION TO SDN
1. Open Interface to HW (South Bound API)
3. Open API for
business Applications
(NorthBound API)
2. Operating System
(controller Platforms)
8. Coming
Up Next
Environment Setup
Setup a network with 10 hosts on 1 switch
Time Required ??
Setup a network with 100 hosts on 5 switches.
Time Required ??
Tired / Bored ??
Solution : “Mininet”
9. Switch
10.0.0.10 Port 2 Low
Source Subnet Forward to Priority
Rule Table
Default
Controller
h1 h2
Srcip=10.0.0.10 Srcip=10.0.0.20
s1
Mininet : Using Inbuilt Wrapper “mn”
12. Controller Design
To redirect traffic destined for “Service IP” to one of the
backend replica servers A/c to assigned weighted load.
Network Design Decisions
Distributed or Centralized ?
Goal of the Application
Flow Based or Aggregated?
Reactive or Proactive?
Centralized
Both – Microflow and wildcard rules
Proactive
13. Match
(exact & wildcard)
Action Statistics
Match
(exact & wildcard)
Action Statistics
Match
(exact & wildcard)
Action Statistics
Match
(exact & wildcard)
Action Statistics
---------------
Srcip=10.0.23.23) Output port = 2 No. of Packets=10
Srcip=10.0.0.0/10
Priority=Low
Output port = 4 No. of bytes
Srcip=10.0.0.0/10
Priority=High
Send to controller No of received packets
Microflow
rules
Wildcard
rules
Rules/Flow Entries
14. Controller
Switch
Source Forward to Priority
Rule Table
A R4 Medium
B R2 High
R1
R2
R3
R4
Load Balancer
Reactive Approach
Drawback:
High Setup time
15. Controller
Switch
Source Subnet Forward to Priority
Rule Table
10.0.0.0/11 R4 Medium
10.32.0.0/11 R2 High
R1
R2
R3
R4
Load Balancer
10.64.0.0/11 R1 Low
10.224.0.0/11 R4 Medium
Configuring switch
Table Generated
Proactive Approach
Drawback:
Wildcard rules are
expensive
16. Implementation Details
AIM:
Reduce initial setup time
Servers get load in proportion to the assigned weights
Minimum number of wildcard rules
APPROACH:
Proactively install wildcard rules to smaller sub-subnets
Assign each server some subnets according to weighted load
Minimization technique
Coming Up Next
Partitioning Algorithm
17. Partitioning Algorithm
Deciding the no of subnets:
Server R1
Alpha = 2
Server R2
Alpha = 3
Server R3
Alpha = 1
Total alpha = 2 + 3 + 1 = 6
Nearest 2n = 8
Normalization Factor = 8/6 = 1.333
Weighted
Load = 3
Weighted
Load = 4
Weighted
Load = 1
Weighted Load:
R1 = 1.333 * 2 = 2.666 = 3 R2 = 1.333 * 3 = 3.999 = 4 R3 = 1.333 * 1 = 1.333 = 1
No of subnet = 3 + 4 + 1 = 8
Partition The subnet into 8
subgroups
18. 10.0.0.0/8
10.128.0.0/910.0.0.0/9
10.0.0.0/10 10.64.0.0/10 10.128.0.0/10 10.192.0.0/10
10.0.0.0/11 10.32.0.0/11
10.64.0.0/11 10.96.0.0/11
10.128.0.0/11 10.160.0.0/11
10.192.0.0/11 10.224.0.0/11
Server R1
Weighted Load
= 3
Server R3
WL = 1
Server R2
Weighted Load = 4
Company Network
Partitioning Algorithm
23. Load Shift Operation
Situation:
Goal:
Conditions:
Solution:
Server R1 needs to be taken down for maintenance.
Traffic of R1 (old) should be allocated to R2 (New)
Ongoing connections should be continued with old server(R1)
New connections should be forwarded to new server(R2)
R1 can be taken down only when all the connections have expired.
Transitioning
Algorithm
24. Subnet A
Subnet B
R1(Old)
R2(New)
Server R1 is to be taken
down, Shift its load
To R2
Ok, let me check
the connections
for SYN
Rule Table
Source Subnet Forward to Priority
A R1 Low
B R2 Low
Transitioning Algorithm
25. Subnet A
Subnet B
R1(Old)
R2(New)
Rule Table
Source Subnet Forward to Priority
A R1 Low
B R2 Low
1. Adds new flow entry
2. Modify Old Flow Entry
R2
A Controller High
Rule Table
Source Subnet Forward to Priority
A R2 Low
B R2 Low
A Controller High
Transitioning Algorithm
26. IP=10.0.0.1
Subnet A
Subnet B
R1(Old)
R2(New)
Add micro flow rule
Rule Table
Source Subnet Forward to Priority
A R2 Low
B R2 Low
A Controller High
SYN flag NOT SET
10.0.0.1 R1 Highest
Transitioning Algorithm
27. IP=10.0.0.1
Subnet A
R1(Old)
R2(New)
Add micro flow rule
Rule Table
Source Subnet Forward to Priority
A R2 Low
B R2 Low
A Controller High
SYN flag SET
10.100.0.1 R2 Highest
IP=10.100.0.1
Subnet A
Transitioning Algorithm
28. IP=10.0.0.1
Subnet A
R1(Old)
R2(New)
Flow Entries get deleted after
Idle time-out
Rule Table
Source Subnet Forward to Priority
A R2 Low
B R2 Low
A Controller High
10.100.0.1 R2 Highest
IP=10.100.0.1
Subnet A
Now R1 can be taken down
Transitioning Algorithm
29. R1 (X=2)
R2 (X=2)
2*x
2*x
00*
01*
10*
11*
x
x
x
x
00* R1
01* R1
10* R2
11* R2
Uniform Client traffic pattern
Each subnet has same
no of Connections Each server gets proportional no
of Connections (weighted Load)
31. R1 (X=2)
R2(X=2)
3*x
1*x
00*
01*
10*
11*
2*x
x
x
0*x
00* R1
Overloaded
Server
Underloaded
Server
Read
Statistics
Find over and
underloaded server
Shift appropriate load from
over to under loaded server
01* R1
10* R2
11* R2
01* R2
2*x
2*x
Load Redistribution Algorithm
32. Project Demo: Videos
Topology Creation
Partitioning Algorithm- Video 1
Transitioning Algorithm
Load Redistribution Algorithm
Partitioning Algorithm- Video 2
43. Scapy
• Scapy is a Python framework for crafting and
transmitting arbitrary packets
• Scapy also performs very well on a lot of other
specific tasks that most other tools can’t handle,
like sending invalid frames, injecting your own
802.11 frames