software defined networks

20
CSE 222A: Computer Communication Networks Alex C. Snoeren Lecture 6: Software Defined Networks Thanks: Nick McKeown, Jeremy Stribling, Kai & Lin

Upload: nishank-modi

Post on 24-Apr-2017

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Defined Networks

CSE 222A: Computer Communication Networks Alex C. Snoeren

Lecture 6:Software Defined Networks"

Thanks: Nick McKeown, Jeremy Stribling, Kai & Lin

Page 2: Software Defined Networks

Lecture 6 Overview"  Project discussion

  Software Defined Networking overview

  Onix discussion

2 CSE 222A – Lecture 6: Software Defined Networks"

Page 3: Software Defined Networks

Specialized Operating

System

Specialized Hardware

App App App App App App App App App App App

Specialized Applications

Microprocessor

Open Interface

Linux Mac OS

Windows (OS)

or or

Open Interface

Evolution of Computing"

CSE 222A – Lecture 6: Software Defined Networks" 3

Page 4: Software Defined Networks

App App App App App App App App App App App

Control Plane

Control Plane

Control Plane

or or

Open Interface

Specialized Control Plane

Specialized Hardware

Specialized Features

Merchant Switching Chips

Open Interface

Evolution of Networking?"

4 CSE 222A – Lecture 6: Software Defined Networks"

Page 5: Software Defined Networks

5

Global Network View

Network Virtualization!

Packet Forwarding

Packet

Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Network OS!

Abstract Network View

Control Programs

f View( )Control

Programs Control

Programs

Software Defined Networking"f View( ) f View( )

CSE 222A – Lecture 6: Software Defined Networks"

Page 6: Software Defined Networks

“If header = x, send to port 4”

“If header = ?, send to me” “If header = y, overwrite header with z, send to ports 5,6”

Flow Table

CSE 222A – Lecture 6: Software Defined Networks" 6

OpenFlow"

Page 7: Software Defined Networks

  Match arbitrary bits in headers:"

◆  Match on any header, or new header"◆  Allows any flow granularity"

  Action"◆  Forward to port(s), drop, send to controller"◆  Overwrite header with mask, push or pop"◆  Forward at specific bit-rate"

""" " " " " " " " "

""

Header! Data!

Match: 1000x01xx0101001x!

Basic OF Operations"

7 CSE 222A – Lecture 6: Software Defined Networks"

Page 8: Software Defined Networks

What is a Network OS?"  ONIX provides abstractions for network management

  Basic functionalities: ◆  State distribution primitives between controllers and network

elements. ◆  Virtualized network elements

  A global view & control of the network ◆  Very different from Active Networking vision (node local)

CSE 222A – Lecture 6: Software Defined Networks" 8

Page 9: Software Defined Networks

Onix Architecture"

CSE 222A – Lecture 6: Software Defined Networks" 9

Page 10: Software Defined Networks

Design Requirements"  Generality: Support a wide range of network

management applications

  Scalability: No inherent limitations due to the platform

  Reliability: Graceful failure handling

  Performance: Sufficient performance

CSE 222A – Lecture 6: Software Defined Networks" 10

Page 11: Software Defined Networks

Onix API"  Developers program against a network graph   Nodes represent physical network entities

CSE 222A – Lecture 6: Software Defined Networks" 11

Page 12: Software Defined Networks

Network Information Base"  The NIB is the focal point of the system

◆  State for applications to access ◆  External state changes imported into it ◆  Local state changes exported from it

CSE 222A – Lecture 6: Software Defined Networks" 12

Page 13: Software Defined Networks

Scalability"  Physical controller becomes a bottleneck:

◆  Memory: to keep NIB ◆  CPU and bandwidth: to process events

  This is a classic distributed systems problem ◆  Partitioning ◆  Aggregation

CSE 222A – Lecture 6: Software Defined Networks" 13

Page 14: Software Defined Networks

Partitioning For Scale"  Multiple dimensions available to applications:

◆  Onix instances with different computations tasks ◆  Onix instances have only subsets of the NIB ◆  Switches connect to a subset of Onix instances

CSE 222A – Lecture 6: Software Defined Networks" 14

Page 15: Software Defined Networks

  Reduce fidelity of information before disseminating within the cluster

Aggregating for Scale"

CSE 222A – Lecture 6: Software Defined Networks" 15

Page 16: Software Defined Networks

Aggregating for Scale"  Reduce fidelity of information before disseminating

within the cluster

CSE 222A – Lecture 6: Software Defined Networks" 16

Page 17: Software Defined Networks

Consistency"  Onix provides two storage options

◆  Replicated transactions (SQL) storage ◆  One-hop memory-based DHT

  Do we need strong consistency for forwarding state

between the controller and routers?   Do we need strong consistency for NIB stored in

controllers?

  Is it reasonable to ask applications for consistency preference and resolving conflicts?

Page 18: Software Defined Networks

Reliability"  Network Element & Link Failures: Applications'

responsibility

  Connectivity Infrastructure Failures: Assumed reliable

  Onix Failures: Onix provides distributed coordination facilities provided for app failover

CSE 222A – Lecture 6: Software Defined Networks" 18

Page 19: Software Defined Networks

Discussion"  What are the security implications of Onix?

  Is Onix flexible and general enough for networking management?

  Are there applications you can run on a centralized network but not on a distributed one?

CSE 222A – Lecture 6: Software Defined Networks" 19

Page 20: Software Defined Networks

For Next Class…"

  Read and review Vahdat’s Fat Tree paper

  Submit project groups by Friday morning ◆  Email to Siva group members & idea(s)

CSE 222A – Lecture 6: Software Defined Networks" 20