open source network: software-defined networking (sdn) and ... · 4. origins and evolution of...

27
Open Source Network: Software-Defined Networking (SDN) and OpenFlow Insop Song, Ericsson LinuxCon North America, Aug. 2012, San Diego CA

Upload: others

Post on 03-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Open Source Network:

Software-Defined Networking (SDN)

and OpenFlow

Insop Song, Ericsson

LinuxCon North America, Aug. 2012, San Diego CA

Page 2: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Objectives

• Overview of OpenFlow

• Overview of Software Defined Networking

(SDN)

Page 3: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Disclaimer

• This presentation represents the view of the

author and does not necessarily represent the

view of Ericsson

• OpenFlow is an invention from network

researchers Stanford and UCB

Page 4: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Overview of network equipment

• Network equipment

– Layer 2 Ethernet switches, IP routers

Features

Forwarding H/W: ASICs/FPGAs or Merchant silicon chips

Operating system

Feature Feature. . .Feature

Page 5: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Data plane

• Hardware packet forwarding path– Line rate forward packets output ports

– Adding tags, Modifying packets

– Drop packets

– Forward packets to CPU

– Collect traffic statistics

– Programmed by control plane or manual configuration (management)

L2 table (MAC + Vlan) L3 table (IP) ACL, QoS

Switch/Router

Packets in

Packet out

Packet out

Page 6: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Control plane

• Control plane

– Handling protocol packets at CPU

– Track topology changes

– Handles protocol and routes

– Updates hardware L2/L3 forwarding tables & ACL

ASICs/FPGAs or Merchant silicon chips

Protocol S/WCPU

Control

Packets in

1. Packet forward to CPU2. Table config

Page 7: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Network configuration

• Distributed dynamic routing running on heterogeneous environment

• Protocol based distributed state management– STP, OSPF, BGP

• Manual configuration– Policies, SLA, VLAN

Router

Router

Server

Server

Server

Router

switch

switch

switch

Forwarding h/w

OS

feature

Page 8: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Network equipment…

• Mastering complexity …

– No well defined API for control packet handling

– No generalized API for data path state

– Tight vertical integration

– Complicated and lack of abstraction

– Distributed state management is hard

– Lack of global and consistent view of network,

hard to manage overall network

Page 9: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Solutions

• Generalize data plane

– Flexible flow table management

– Decouple data and control planes

– API for handling control packets

• Decouple distributed model from physical topology

– Take out the control logic from the network equipment

Flow table

Simple packet forwarding hardware

Flow table

Generalized API

Packet

forwarding

hardware

Controller(s)

Packet

forwarding

hardware

Packet

forwarding

hardware

Page 10: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

OpenFlow

• Started from academia as a way to test experimental protocol on a real network

• Identify flexible common set of functions for flow table

• Provides open protocol to program flow table through secure channel

Flow table

Simple packet forwarding hardware

Flow table

OpenFlow protocol

SSL/TCP

OpenFlow Network

Controller

Page 11: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

OpenFlow

• Logically centralized controller

• Generalized data plane API using Flow table

Packet

forwarding

hardware

Network OS

Packet

forwarding

hardware

Packet

forwarding

hardware

“If header == a, send to port 10”“if header == b, modify header with c, and send to port 11”“if header == ?, then send to controller”

Flow

table(s)Flow

table(s)

Flow

table(s)

Control program 1 Control program 2

Page 12: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

OpenFlow

• Flow table(s)

Match Action Status

PortDst

Mac

Src

Mac

Eth

typeVlan Src IP Dst IP

TCP src

port

TCP dst

port…

Pop/Push tags

Decrement TTL

Set fields

Apply QoS

Forward packets

counter

Page 13: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

OpenFlow

• Example of Flow table

Src MAC Dst MAC Src IP Dst IP TCP sport … Action Count

* 10:1f:* * * * * Port 2 100

* * * 1.2.3.4 * * Port 3 200

* * * * 22 drop 300

00:20:.. 00:1f:.. 1.2.3.4 5.6.7.8 1234 Port4 400

* * * * * * Controller 500

Page 14: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

OpenFlow Specification

Version Summary

1.0 Initial version

1.1 Multi-table pipeline processing, MPLS, QinQ

1.2 IPv6, Extensible Match (OXM) and additional extensibility

1.3 QoS and PBB additions

Page 15: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Decouple Data and Control planes

• Easier to implement new ideas

– Remove dependencies between vendor SDK

• Easier to test and maintain software

– Centralized programming and more abstraction

• Easier interoperability between vendors

– Using standard API (programing flow and receiving control packets)

• More powerful computing for control logic network management

– Network control could be off-loaded to servers

Page 16: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Software-Defined Networking

• Traditional network

• Closed box, closed API

• Distributed protocol

Packet

forwarding

hardware

Network OS

Packet

forwarding

hardware

Packet

forwarding

hardware

Flow

table(s)Flow

table(s)

Flow

table(s)

Feature Feature

Forwarding h/w

OS

feature

Forwarding h/w

OS

feature

Forwarding h/w

OS

feature

• SDN

• Open standard API

• Logically centralized

Well-defined

API

OpenFlow

Page 17: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Centralized controller

• Less system overhead on the network node

– Minimize protocol packets for distributed protocol

• Network topology

– Easier to have consistent global view of the

network

• Management

– Easier to mange programmable network

Page 18: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

SDN Use cases

• Data center

– SDN facilitates network virtualization

– Google, Dell, Yahoo, Facefook, Amazon

• Campus

– Enable IT to apply consistent policies in wired and wireless network

– Stanford and many other universities

• Cloud

– Allows flexible network allocation

Page 19: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Academia and industry

• Close collaboration between university and

industry

• Open Networking Foundation (ONF)

– Standard body by 70+ (growing)

• Many companies participating

– From large companies to startups

– From chip vendors to service integrators

– Google, Cisco, HP, NEC, Ericsson, IBM, Juniper

– VMWare (Nicira), Big switch, and more

Page 20: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

OpenFlow switches

• Current OpenFlow supporting switches

– Growing…, so check with your vendors

– Juniper, HP, NEC, NetGear, Ciena, Pronto

• Many companies are prototyping OpenFlow

switches

• Google made their own OpenFlow switches

Page 21: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

OpenFlow network controllers

Lang License Original author note

OpenFlow

reference

C OpenFlow License Stanford/Nicira Reference design

NOX C++ GPL Nicira Nox classic C++/Python

POX Python GPL http://www.noxrepo.

org

Nox Python version

Beacon Java GPL Stanford Run time modular, web

UI

Floodlight Java Apache Big switch Easy to build and set up

Trema Ruby, C GPL NEC Including emulator, test

framework

RouteFlow C Apache CPqD, Brazil OpenFlow with Quagga

stack

Page 22: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

How to experiment

• Mininet

– Allows to create hundreds of nodes on a single PC

– OpenFlow tutorial is based on Mininet

Page 23: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Open source

• Open vSwitch

– Software switch supports OpenFlow

– Upstream from 3.3 kernel

• Various network controller are open source

• Open API

• Openness is one of the key reasons for

SDN/OpenFlow success

Page 24: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Questions?

• Scalability

– Is it scalable?

• Reliability

– High availability

• Security

– Security risk on the centralized controller(s)

• Interoperability

– Co-existing with existing equipment and neighboring domain

Page 25: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

Summary

• OpenFlow

– Enabling generalized open API for configuring flow

table

– Clean separation between data and forwarding

planes

• SDN

– Allowing us to define the right abstractions

– Network virtualization

– Very successful so far, more real changes to come..

– The future of networking?

Page 26: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

References:

1. The Future of Networking, and the Past of Protocols : Scott Shenker

2. An attempt to motivate and clarify SDN : Scott Shenker

3. Making SDNs Work - Nick McKeown

4. Origins and Evolution of OpenFlow/SDN - Martin Casado

5. OpenFlow @ Google - Urs Hoelzle, Google

6. Opening Up Your Network to Cloud Innovation with SDN: Guido Appenzeller

7. Software Defined Networking is an Architecture Not a Protocol , David Meyer, Cisco

8. SDN and OpenFlow A Tutorial

9. OpenFlow Switch Specification 1.3

10. Software-Defined Networking: The New Norm for Networks: ONF White Paper

Page 27: Open Source Network: Software-Defined Networking (SDN) and ... · 4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your

• Thank you

• Question?