ofswitch13: enhancing ns-3 with openflow 1.3 support

21
WNS3’16: The 8th Workshop on ns-3 OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support Luciano Jerez Chaves 1 , 2 Islene Calciolari Garcia 2 Edmundo R. Mauro Madeira 2 1 Federal University of Juiz de Fora (UFJF), Brazil 2 University of Campinas (Unicamp), Brazil

Upload: trinhngoc

Post on 01-Jan-2017

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 Support

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WNS3’16: The 8th Workshop on ns-3June 15-16, 2016 21

[email protected]