Software Defined Networking (SDN) is a new
paradigm that facilitates network management and control.
In our work, we explore the use of SDN for the control of
network traffic on end-hosts. In particular, we use an OpenFlow
software switch (OVS) to load balance application traffic across
the multiple available network interfaces. A typical example is
the simultaneous use of Wifi and 4G interfaces on a mobile
device. In order to achieve optimal load balancing, it is critical
to know the capacity of the last-hop links associated with the
different interfaces. In this paper, we explore and adapt active
packet probing mechanisms to the scenario of SDN-based endhost
traffic control, in order to estimate the link capacity. In
particular, we investigate the use of Variable Packet Size (VPS)
probing, and demonstrate its viability via experiments.
1. Link Capacity Estimation in
SDN-based End-hosts
Anees Al-Najjar, Farzaneh Pakzad ,Siamak Layeghy,
and Marius Portmann
School of ITEE, The University of Queensland
Brisbane, Australia
Presented by Anees Al-Najjar
The 10th International Conference on Signal Processing and
Communication Systems, ICSPCS'2016
December 21st, 2016, The Gold Coast, Queensland, Australia
3. Motivation
End-Hosts have multiple network interfaces
Goal:
Efficiently control the traffic in multi-interface end-hosts
(e.g. smartphones with WiFi, and 4G interfaces)
2
5. Background
What is Software Defined Networking
(SDN)?
Control Plane
Net. Device
Data Plane
Traditional Network SDN
SDN Switch Controller
SDN: it is a new paradigm in networking[1].
SDN Switch Controller
Benefits:
Facilitate network management
Enhance Network Efficiency
Improve network programmability
Empower innovation
Reduce cost
4
7. Key idea:
Use unified interface (e.g. OpenFlow) to control
network traffic on end hosts.
SDN-based traffic control on
end-hosts
Research Hypothesis
Using SDN-based network traffic control on end-hosts can increase network efficiency,
performance.
6
8. Load balancing
Use Case
(SDN based End-Host)
Server
GW Router
GW Router
Applications
OpenFlow Switch
SDN Controller
veth0
eth1
eth0
veth1
System Architecture
Applications
SDN Controller
veth0
eth1
eth0
OpenFlow Switch
Client
Simple Network interface load balancing[2]
In order to make optimal load balancing decisions, we need to know
the characteristics of the different links, in particular the link capacity.
8
9. Key Challenge
Measuring link parameters from end-host via
SDN, using only the OpenFlow interface.
Example of link parameters:
• Delay (transmission, propagation, jitter)
• Current flow
• Link capacity
9
10. Link Capacity Measurement
Traditional approaches [3]
1. Packet Pair/Train probing
2. Trains of Packet Pairs
3. Self-Loading Periodic Streams (SLoPS)
4. Variable Packet Size (VPS) probing [4]
Require control on both
ends of the link
Only requires control over one end
of the link.
It can be implemented via SDN
Based End-Host
10
11. How does VPS work?
𝐶 =
𝑃𝐾𝑇 𝑠𝑖𝑧𝑒
𝑇𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑠𝑖𝑜𝑛 𝑇𝑖𝑚𝑒
Transmission Time = RTT/2
Assuming there is no significant queuing delay
Assuming we can ignore processing and propagation delay
VPS sends groups of probe packets (ICMP) with different packet size to
measure RTT
Assumption: Packet with minimum RTT value for each packet size
has experienced no or only minor queuing delay
11
12. 1. Send n packets (ICMP packets) with different sizes x
2. Find the Minimum RTT for each packet size :
RTTx = 𝑚𝑖𝑛𝑖=1…𝑛(RTTi)
3. Calculate linear Regression based upon step 2:
4. Estimate the Capacity based upon the slope (𝛽):
∁= 2 ∗ (
1
𝛽
)
How does VPS work? (cont’d):
Y RTTx
X PKT size
α y-intercept
y = 𝛽x + α
12
13. Our Contribution:
Adapting VPS to SDN (VPS-SDN)
VPS probing has not been implemented in SDN
VPS-SDN
SDN controller
Crafts the probing packets
Computes the time difference (RTT) of the probing packets
13
14. Key Features of VPS-SDN
Only requires control over one side of connection
Is generic, works with all link types (e.g. WiFi, xG)
14
15. 10Mbps
Testbed
1. Two directly-connected PCs via
Ethernet
2. Link capacity is limited to 10Mbps.
3. Five Packet sizes
(64B, 128B, 256B, 512B, 1024B)
4. 20 ICMP packets per size
5. Probing packet delay 100ms
6. Total experiment time is 25s
7. No background Traffic
Results
Basic Capacity Scenario (No background traffic)
∁= 2 ∗
1
𝛽
2 ∗ (
1
𝟎.𝟎𝟎𝟎𝟎𝟎𝟏𝟕𝟎𝟎𝟐𝟖𝟓
) =1176273 Byte 9.4
Mbps
Estimated Capacity:
15
18. Conclusion
Presented VPS-SDN, an adaption of Variable Packet Size
probing to SDN
Implemented on end-host (client) only, without support from
network infrastructure
Demonstrated good performance, even in case of high levels of
background traffic, due to probe traffic prioritisation
Future work:
Further evaluation of VPS-SDN on other links (WiFi, 4G, etc.)
Integration of VPS-SDN for end-host based traffic load balancing [2]
18
19. References
[1] Software-defined networking: The new norm for networks. Available:
https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-
papers/wp-sdn-newnorm.pdf
[2] A. Al-Najjar, S. Layeghy, and M. Portmann, “Pushing sdn to the endhost,
network load balancing using openflow,” in 2016 IEEE International Conference
on
Pervasive Computing and Communication Workshops (PerCom Workshops),
IEEE, 2016, pp. 1–6
[3] R. Prasad, C. Dovrolis, M. Murray, and K. Claffy, "Bandwidth estimation:
metrics, measurement techniques, and tools," IEEE network, vol. 17, pp. 27-35,
2003
[4] V. Jacobson, “Pathchar: A Tool to Infer Characteristics of Internet Paths,”
ftp://ftp.ee.lbl.gov/pathchar/, Apr. 1997.
As a motivation, …
Suppose we would like to use end-host with multiple network interfaces,
And
The way to resolve it, by using SDN.
What is SDN: it is stand for Software Defined Network which is a new paradigm in networking.
If I need to compare it with traditional network , I would say……in trad.………….
In Trad. Network device (e.g. R,SW) has both the control plane which is how the data is forwarded and the data plane which is the actual data forwarding.
While in SDN,
Remove the control plane (intelligence) from forwarding elements (e.g. routers, switches)
Place it in a logically centralised node (SDN controller)[1]
In this situation low traffic overhead due to separation could be imposed on the forwarding elements,
and
Easy to control the network from one node (SDN controller)
Ok, Now, let’s glance at SDN Architecture!!!
The bottom layer, infrastructure layer, which contains the forwarding elements, such as OF switches.
The middle layer, so called control layer or SDN controller, where the NOS has been applied to achieve different network services, like topology discovery.
The top layer, known as Application layer, where different application components can be placed, for example, TE, security, and load balancing applications
such as link capacity, based on SDN
This should be done in transparent way where there is no change required on the other connection side.
There are traditional approaches to measure the capacity, such as….
Capacity could be computed 𝐶= 𝑃𝐾𝑇 𝑠𝑖𝑧𝑒 𝑅𝑇𝑇
However, the packet could be experience a queuing delay apart from the transmission delay that would affect the capacity estimation.
For this reason, number of packets would be sent hoping to pick the one that didn't experience queuing delay.
….
So the SDN controller has been used to the craft probing packets and computed their RTT.
Before surfing with the results, we assumed our testbed consists of….
As can be seen from this graph, x-axis represents …., y-axis shows…
If you can see, not all the probing packet groups have expected an transmission delay based upon their size due to queuing delay, and thus the linear regression take advantage from multiple packets that have different sizes to figure out the slope and then the capacity based upon the thereon.
To estimate the capacity with bg traffic,
Iperf TCP for background traffic
Testbed
Expr.1’s test bed +
Different offered loads
Experiment time 25(S)
Testbed
Expr.2’s test bed +
Installs Priority Queue
Prioritises the probing packets.
Determining the capacity of the available links is important for optimal traffic control (e.g. Load Balancing).