ofswitch13: enhancing ns-3 with openflow 1.3 support
TRANSCRIPT
![Page 1: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/1.jpg)
WNS3’16: The 8th Workshop on ns-3
OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support
Luciano Jerez Chaves1,2Islene Calciolari Garcia2
Edmundo R. Mauro Madeira2
1Federal University of Juiz de Fora (UFJF), Brazil2University of Campinas (Unicamp), Brazil
![Page 2: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/2.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Outline
❖ Introduction
❖ Software-Defined Networking
❖ The OFSwitch13 module
❖ Case study scenario
❖ Conclusions and future work
2
![Page 3: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/3.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Introduction
3
❖ Global IP traffic is increasing at a compound annual growth rate of 23%
❖ Mobile data represents near 57% of global IP traffic
❖ Software-Defined Networking will be a key differentiator of future (mobile) systems
Global IP traffic (PB per Month)
Cisco visual networking index: Forecast and Methodology, 2014-2019, White Paper, Cisco, May, 2015.
![Page 4: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/4.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Introduction
❖ OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet
❖ Alternative to the outdated ns-3 OpenFlow module
❖ ns-3 OpenFlow version: 0.8.9 (2008)
❖ Latest specification version: 1.5.1 (2015)
❖ The OFSwitch13 enhances ns-3 with OpenFlow 1.3 support
4
![Page 5: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/5.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Software-Defined Networking
5
❖ Decouples the control plane from the data plane
❖ Network intelligence is centralized in software
❖ Simplified distributed forwarding hardware
❖ More agile and cost-effective networks
![Page 6: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/6.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
OpenFlow protocol
6
❖ SDN southbound interface
❖ Basic primitives to program the forwarding plane of OpenFlow switches
❖ Concepts of flows to identify network traffic
❖ Switch datapath specification
![Page 7: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/7.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
ofsoftswitch13 library
ns-3 environmentexternal environment
OpenFlow 1.3 controller application interface
Protocolstack
NetDevice
Controller
(ns-
3 no
de)
OpenFlow 1.3 switch device
Protocolstack
NetDevice
Switch
(ns-
3 no
de)
CSMANetDeviceCSMA
NetDeviceCSMANetDevice
Channel
Con
trol p
lane
Dat
a pl
ane
OFSwitch13 module overview
OpenFlow 1.3 controller app interfaceOpenFlow 1.3 switch device
External ofsoftswitch13 library
7
![Page 8: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/8.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
OpenFlow 1.3 switch device❖ OpenFlow switch device used to interconnect ns-3 nodes over
CSMA network devices and channels
❖ Internal collection of ports for packet input/output
❖ OpenFlow receive callback for packet input on CsmaNetDevice
8
OpenFlow 1.3 switch device
OpenFlow ports
OpenFlow channel(controller communication)
OpenFlow port
Output packet(from the library)
Input packet(to the library)
CSMA network device
OpenFlow queue
OpenFlow RX callback
ofsoftswitch13 library
OpenFlow switch datapath implementation
provided by the ofsoftswitch13 library
![Page 9: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/9.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
OpenFlow 1.3 switch device❖ Packets for output actions are sent to the OpenFlow 1.3 queue on
the correct output port
❖ Internal collection of queues with unique IDs
❖ Compatibility with CsmaNetDevice and ns-3 models
9
OpenFlow 1.3 queue
Enqueue (Queue ID)Dequeue
…
Queue QueueQueueOutput
scheduller
![Page 10: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/10.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
OpenFlow 1.3 controller interface❖ Provides the basic functionalities for controller implementation
❖ Manage a collection of OpenFlow switches
❖ DPCTL utility is used to build OpenFlow messages
❖ Collection of handlers for processing messages from switches
10
OpenFlow 1.3 controller application interface
OpenFlow channel(switch communication)
ofsoftswitch13 library
Internal handlers
dpctl commands“flow-mod add …”
OFSwitch13 Learning Controller working as a learning bridge device
![Page 11: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/11.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
OpenFlow 1.3 channel
❖ Interface that connects each switch to an OpenFlow controller
❖ Using standard ns-3 network devices and channels to provide realist control plane out-of-band connections
❖ It is possible to use an external OpenFlow controller running on the local machine with the help of the TapBridge
❖ Not validated yet 😕
11
![Page 12: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/12.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
ofsoftswitch13 library
❖ User-space software switch compiled as a library
❖ Provides the complete switch datapath implementation
❖ Original implementation slightly modified for ns-3 integration
❖ Functions related to packet input/output marked as weak symbols
❖ Callbacks used to notify the ns-3 about packet changes and drops
12
![Page 13: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/13.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
OpenFlow 1.3Controller
Ports
0
1
N
Ports
0
1
NFlow Tables
0 1 2 N
NetBee Parser(flow extract)
NetPDL
Meter Table
Meter bandRate X
Meter bandRate Y
Meter bandRate Z
Group Table
0Actions
1Actions
NActions
OFLib
NetBee Link
OpenFlow 1.3Software Switch
datapath
OpenFlow messages
User packets
OFSwitch13 moduleinterconnection
Controlchannel
dpctl utility
ofsoftswitch13 library architecture
Library architecture highlighting the OFSwitch13 interconnection points
13
![Page 14: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/14.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Current limitations
❖ Only supported by GNU/Linux platforms
❖ No support for auxiliary connections nor multiple controllers
❖ OpenFlow channel without TLS encryption
14
![Page 15: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/15.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Server 0
Server 1
OpenFlowborder switch
OpenFlowaggregation switch
OpenFlowclient switch
OpenFlow QoS controller
OpenFlowlearning controller
Client 0
Client N
…
100Mbps100
Mbps
10Mbps
100Mbps
10Mbps
Case study scenarioTwo OpenFlow controllersTwo 10 Mbps long-distance connectionsFour client nodes with a single TCP uplink flow for each client
15
![Page 16: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/16.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
New OpenFlow QoS controller
❖ Implement QoS functionalities exploiting OpenFlow 1.3 features
❖ Link aggregation at MAC level
❖ Load balancing at application level
❖ QoS per-flow metering solution
❖ QoS controller manages both border and aggregation switches
16
![Page 17: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/17.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Link aggregation
17
❖ Combine multiple connections to increase throughput
❖ OpenFlow Groups are used to randomly select the output port for each packet
❖ Both border and aggregation switches split the traffic over the two narrowband long-distance connections
0
10
20
30
0 10 20 30 40 50 60 70 80 90 100Ne
twor
k th
roug
hput
(Mbp
s)Simulation time
With link aggregationWithout link aggregation
![Page 18: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/18.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Load balancing
18
❖ Implement a server farm and distribute the workload
❖ OpenFlow extensible match is used to filter ARP requests
❖ Set-field action is used to replace IP packet headers
❖ Border switch forwards new requests to controller, which selects the internal server for each connection
0
10
20
30
0 10 20 30 40 50 60 70 80 90 100Se
rver
load
thro
ughp
ut (M
bps)
Simulation time
Server 0Server 1
![Page 19: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/19.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Per-flow meters
19
❖ Limit flow throughput to ensure network policy
❖ OpenFlow Meters are used to measure and limit flow throughput
❖ Border switch implements the rate limiter mechanism
0
2
4
6
8
10
0 10 20 30 40 50 60 70 80 90 100TC
P co
nnec
tion
thro
ughp
ut (M
bps)
Simulation time
With meter entriesWithout meter entries
![Page 20: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/20.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016
Conclusions and future work❖ The OFSwitch13 enhances ns-3 with OpenFlow 1.3 support
❖ Requires minimal changes to ns-3 source code
❖ Available as free software at www.lrc.ic.unicamp.br/ofswitch13
❖ Complete documentation, examples, and a VM ready for use
❖ As future work…
❖ Overcome some of the module current limitations
❖ Implement a set of ns-3 tests to endorse module validation
❖ Possible incorporation within ns-3 source code
20
![Page 21: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support](https://reader034.vdocuments.net/reader034/viewer/2022051504/58690f281a28ab847d8b9bcb/html5/thumbnails/21.jpg)
WNS3’16: The 8th Workshop on ns-3June 15-16, 2016 21