software defined networking by: widhi yahya. introduction

20
Software Defined Networking By: Widhi Yahya

Upload: delilah-johnston

Post on 22-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Software Defined Networking

By:Widhi Yahya

Introduction

Mininet Mininet is a simulation tool that can create a virtual network,

running real kernels, switches and application code, on a single

machine.

Mininet provides a ready way to get the SDN network

behaviors and performance for different experimental network

topologies.

Mininet also enable us to use client server programs such as

ping, iperf, netperf, wget, and other packet generator

programs.

1

Nowdays

2

enormous installedequipment and protocols

barrier to entry for new ideas

Complexity that leads to stasis

Inconsistent policies

Inability to scale

Vendor dependence

Software Defined Networking (SDN)

Vertically integratedClosed, proprietary

Slow innovation

AppAppAppAppAppAppAppAppAppAppApp

HorizontalOpen interfacesRapid innovation

ControlPlane

ControlPlane

ControlPlane or or

Open Interface

SpecializedControlPlane

SpecializedHardware

SpecializedFeatures

MerchantSwitching Chips

Open Interface

Nick McKeown, “How SDN will shape networking”, Standford Univ.

3

Software Defined Networking (SDN)

Control Program Control Program

Network OS

1. Open interface to packet forwarding

2. At least one Network OSprobably many.

Open- and closed-source

PacketForwarding

PacketForwarding

PacketForwarding

PacketForwarding

PacketForwarding

Global Network View

Nick McKeown, “How SDN will shape networking”, Standford Univ.

4

Software Defined Networking (SDN)

Open Network Foundation, “OpenFlow Switch Specification”, 2013.

5

Software Defined Networking (SDN)

[ONF12]-Software-Defined Networking-newnorm

6

Software Defined Networking (SDN)

Open Network Foundation, “OpenFlow Switch Specification”, 2013.

7

Software Defined Networking (SDN)

Counters for each rule - #bytes, #packets

Pattern Action

Priority

Route: IP/fwd

B

A1

2

3

2:match(dstip=A)[fwd(2)]1:match(* )[fwd(1)]2:match(dstip=B)[fwd(3)]

OpenFlowProgram

dstip=A

dstip=B

dstip!=Adstip!=B

Open Network Foundation, “OpenFlow Switch Specification”, 2013; Chris Monsanto*, Joshua Reich*, Nate Foster^, Jen Rexford*, David Walker*, “Composing Software-Defined Networks”,USENIX, 2013

8

Benefit SDNCentralized control of multi-vendor environments.

Reduced complexity through automation.

Higher rate of innovation

Increased network reliability and security

More granular network control

Better user experience

9

SDN Review Software Defined Networking (SDN) is a concept to

decouple the control plane and data plane of network

devices.

The emergence of the SDN technology brings many new

network applications realized by programming the SDN

controller.

10

ProblemsNaive Algorithm (Round Robin)

11

Problems exampleNaive Algorithm (Randomized)

12

Global Topology

13

SDN Programinstall_flowmod(5,srcip=X & dstip=P,[mod(dstip=A), fwd(2)])

install_flowmod(4,srcip=0* & dstip=P,[mod(dstip=A), fwd(2)])

install_flowmod(4,srcip=1* & dstip=P,[mod(dstip=B), fwd(3)])

install_flowmod(4,srcip=X & dstip=A ,[fwd(2)])

install_flowmod(4,srcip=X & dstip=B,[fwd(3)])

install_flowmod(3,dstip=A,[fwd(2)])

install_flowmod(3,dstip=B,[fwd(3)])

install_flowmod(2,srcip=X ,[fwd(1)])

install_flowmod(1,*,[fwd(3)])

14

Frenetic

N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. WalkerFoster, “Frenetic: A Network Programming Language”, ACM, 2013.

15

Policy Syntac Semantics Examplesmatch match(f=v) Returns set containing packet if

packet's field f matches value v, empty set otherwise

match(dstmac=EthAddr('00:00:00:00:00:01'))

drop drop Returns empy set drop

modify modify(f=v) Returns set containing copy of packet where field f is set to value v

modify(srcmac=EthAddr('00:00:00:00:00:01'))

forward fwd(a) Returns set containing copy of packet where outport field is set to a

fwd(1)

parallel composition

A + B Returns the union of A's output and B's output

fwd(1) + fwd(2)

sequential composition

A >> B Returns B's output where A's output is B's input

modify(dstip=IPAddr('10.0.0.2'))>>fwd(2) match(switch=1) >> flood()

Pyretic Basic Policies

Pyretic Website, http://frenetic-lang.org/pyretic/

16

Syntax Summary

packets( limit=n, group_by=[f1,f2,...])

callback on every packet received for up to n packets identical on fields f1,f2,...

count_packets( interval=t,group_by=[f1,f2,...]

count every packet received callback every t secondsproviding count for each group

count_bytes( interval=t, group_by=[f1,f2,...])

count every byte received callback every t seconds providing count for each group

Query Policies Pyretic

Pyretic Website, http://frenetic-lang.org/pyretic/

17

Thank you

Q & A