ofswitch13: viabilizando oluciano/publications/sbrc16_sf-pres.pdf · ofswitch13 development was...

22
Demo session SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed Systems OFSwitch13: Viabilizando o uso do OpenFlow 1.3 no ns-3 Luciano Jerez Chaves 1 , 2 Islene Calciolari Garcia 2 Edmundo R. Mauro Madeira 2 1 Federal University of Juiz de Fora (UFJF) 2 University of Campinas (Unicamp)

Upload: others

Post on 21-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

Demo session SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed Systems

OFSwitch13: Viabilizando o uso do OpenFlow 1.3 no ns-3

Luciano Jerez Chaves1,2Islene Calciolari Garcia2

Edmundo R. Mauro Madeira2

1Federal University of Juiz de Fora (UFJF)2University of Campinas (Unicamp)

Page 2: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Outline

❖ Introduction

❖ Software-Defined Networking

❖ The OFSwitch13 module

❖ Case study scenario

❖ Conclusions and future work

2

Page 3: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Motivation

❖ 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: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Network Simulator 3❖ GNU GPLv2-licensed discrete event network simulator

❖ Designed for command-line usage, with Unix orientation

❖ Written in C++, with bindings available for Python

❖ Approx. 350,000 lines of code

❖ Core + 44 modules for protocols, devices, utilities, etc.

5

Page 6: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Software-Defined Networking

6

❖ 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 7: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

OpenFlow protocol

7

❖ SDN southbound interface

❖ Basic primitives to program the forwarding plane of OpenFlow switches

❖ Concepts of flows to identify network traffic

❖ Switch datapath specification

Page 8: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

8

Page 9: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

9

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 10: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

10

OpenFlow 1.3 queue

Enqueue (Queue ID)Dequeue

Queue QueueQueueOutput

scheduller

Page 11: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

11

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 12: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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 😕

12

Page 13: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

13

Page 14: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

14

Page 15: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Current limitations

❖ Only supported by GNU/Linux platforms

❖ No support for auxiliary connections nor multiple controllers

❖ OpenFlow channel without TLS encryption

15

Page 16: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

16

Page 17: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

17

Page 18: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Link aggregation

18

❖ 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 19: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Load balancing

19

❖ 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 20: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016

Per-flow meters

20

❖ 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 21: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 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

21

Page 22: OFSwitch13: Viabilizando oluciano/publications/sbrc16_sf-pres.pdf · OFSwitch13 development was motivated by SDN and LTE integration issues in Mininet Alternative to the outdated

SBRC’16: The 34th Brazilian Symposium on Computer Networks and Distributed SystemsJune 2, 2016 22

[email protected]