40
Copyright 2013 ITRI 工業技術研究院 SDN Controller 發展趨勢 許鴻基 [email protected] 寬頻網路與系統整合技術組 工研院資通所 1

SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

SDN Controller 發展趨勢

許鴻基 [email protected]

寬頻網路與系統整合技術組

工研院資通所

1

Page 2: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Outline

What is SDN Controller ?

SDN Controllers

Trema

Floodlight

OpenDaylight

ITRI’s SDN Plan

Summary

2

Page 3: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

SDN Architecture

Southbound API

Northbound API

3

Page 4: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

SDN Brain - Controller

Rule Action Statistics

Application Server

Control Plane

Data Plane

…..

4

Controller

Page 5: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Open Controllers @ 2012.4

Source: ONF OpenFlowTutorial_ONS_Heller April, 2012

Name Lang Platform(s) License Original

Author

Notes

OpenFlow

Reference

C Linux OpenFlow

License

Stanford/Nicira not designed for extensibility

NOX Python,

C++

Linux GPL Nicira actively developed

Beacon Java Win, Mac,

Linux,

Android

GPL (core),

FOSS Licenses

for your code

David Erickson

(Stanford)

runtime modular, web UI

framework, regression test

framework

Maestro Java Win, Mac,

Linux

LGPL Zheng Cai

(Rice)

Trema Ruby,

C

Linux GPL NEC includes emulator, regression

test framework

RouteFlow ? Linux Apache CPqD (Brazil) virtual IP routing as a service

Floodlight Java Any BigSwitch,

based on

Beacon

5

Page 6: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Controller Evaluation

Controller Application Support

Northbound API

Controller Architecture & Module

Network Virtualization Support

Commercial Product

6

Page 7: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院 7

Page 8: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Trema Controller Architecture

Source: Trema Tutorial - Ofelia

Module View

8

Page 9: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

NEC ProgrammableFlow

OpenFlow 1.0.0

Linux appliance

First commercially-available

OpenFlow controller

NEC ProgrammableFlow Controller

Benefits

• Dramatically reduces network operation costs

through simplified network management

• Increases service agility by providing network

control through a single pain of glass

• Improves return on investment by Increasing

network and server utilization

• Reduces power and space requirements

verses chassis deployments

• Achieves greater resiliency to network

equipment failures

• Foundation for multi-vendor network hardware

environment OpenFlow Control (Trema)

Physical Topology Manager

Path Control

L2L3 Stack

• Topology Discovery,

Self Repair

• Multitenant

Networks

• Flow Table Entry

Management

• Flow allocation

based on Policy

• Policy

Management

VTN VTN VTN

API

VTN: Virtual Tenant Network

9

Page 10: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Trema Application

User Module

Sliceable Routing Switch

Source: Trema Tutorial - Ofelia

10

Page 11: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Trema Test Environment

Source: Trema Tutorial - Ofelia

Trema provides a system that supports to

Manage / Monitor

Network emulator

Diagnose tool chain

- Tremashark

- Wireshark Plungin

11

Page 12: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

- Floodlight is an Open SDN Controller

- Big Switch Networks sponsored community project

12

Page 13: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Project Floodlight

Floodlight Applications

Floodlight

Indigo

OFTest

13

http://www.projectfloodlight.org/floodlight/ http://www.projectfloodlight.org/indigo/

Page 14: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Floodlight Applications

OpenStack Quantum Plug-In

Quantum exposes an networking-as-a-service model via a

REST API

Virtual Switch

Network virtualization

ACL (stateless FW)

Enforce ACL rules on OF switch

Circuit Pusher

Bidirectional circuit

14

•REST API •Unicast Isolation only •OpenStack Quantum Version 2 support

• Access Control List • Using flows by monitoring packet-in •OpenStack Quantum Version 2 support

Page 15: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Floodlight Controller Architecture

http://docs.projectfloodlight.org/display/floodlightcontroller/The+Controller 15

Page 16: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Floodlight Supported Topology

Loop Loop

http://docs.projectfloodlight.org/display/floodlightcontroller/Supported+Topologies

16

Page 17: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Floodlight Northbound APIs

Ref: http://docs.projectfloodlight.org/display/floodlightcontroller/Floodlight+REST+API

Category Description Example

Topology the inter-switch links formed as

the topology

/wm/topology/links/json

Device devices tracked by the controller /wm/device/

Switch switch info connected to the

controller

/wm/core/controller/switches/json

Counter traffic counters per switch or all

switches

/wm/core/counter/<switchId>/<counte

rName>/json

Flow Entry List/Add/Delete static flows for a

switch or all switches

/wm/staticflowentrypusher/ json

Firewall Firewall rule operation /wm/firewall/rules/json

Tenant virtual network operation /networkService/v1.1/tenants/<tenant

>/networks/<network>

17

Page 18: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Big Network Controller Solution

http://www.bigswitch.com/products/SDN-Controller

18

Page 19: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

http://www.opendaylight.org/project

19

Page 21: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OpenDaylight Structure

- FTEs: Full Time Engineers

Membership Level

Annual Fee FTEs IP contribution Technical Steering Committee

Board / Voting position

Platinum $500K 10 Desired significant, in addition to

FTEs

One seat per member not otherwise represented

Includes board position

Gold $50K-250K

($50/employee)

3 Not required May be on TSC if Project Lead

One Board seat per every three, subject to

Board size limit

Silver $10K-20K

($10/employee)

0 Not required May be on TSC if Project Lead

One Board seat elected by all Silver members

Individual $0 0 May be on TSC if Project Lead

May be elected to community board seat

Organized as a separate project within The Linux Foundation with separate Board and Technical

Steering Committee components.

Goal to ramp to 140 developers and $2-3M/year within 12 months of launch and eventually 200-300

developers

Includes tiered membership of Platinum, Gold, Silver, and individual memberships

21

Page 22: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OpenDaylight (ODL) Briefing

Three Bootstrap Projects

OpenDaylight Controller (Cisco) – April 2013

OpenDaylight Network Virtualization Platform (Big Switch

Network) – April 2013

- OpenDaylight SDN Controller Platform (OSCP)

OpenDaylight Virtual Tenant Network (NEC) – July 2013

22

OpenDaylight is a collaborative project under

The Linux Foundation to foster innovation and create an open and transparent approach to

Software-Defined Networking

https://wiki.opendaylight.org/view/OpenDaylight_SDN_Controller_Platform_%28OSCP%29:Main

Page 23: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

What is “OpenDaylight” ?

Controller + Southbound + Northbound + Apps

http://www.opendaylight.org/project/technical-overview

23

Page 24: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OpenDaylight Controller Overview

A highly available, modular, extensible, scalable,

and multi-protocol Controller infrastructure

The model driven Service Abstraction Layer for

abstractions to support multiple Southbound

protocols via Plugins.

A rich set of Northbound APIs via

RESTful web services for loosely coupled applications

OSGi services for co-located applications

The OSGi framework is used for the Modular and

extensible nature of the controller

Java-based Solution

24

Page 25: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OSGi & OpenDaylight

OSGi : Open Service Gateway Initiative

OSGi Alliance : IBM, Sun Microsystems, Errison … March 1999

OSGi Service Platform

OpenDayLight support OSGi framework and

bidirectional REST for the northbound API

The OSGi framework is running in the same address space for

applications

REST (web based) API do not run in the same address space

for applications

25

Page 26: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OSGi Architecture

Bundles – Extend OSGi components

Services – Connecting dynamic bundles to offer a publish-find-bind

model for plain old Java objects.

26

Life-Cycle - Install, start,

stop, update, uninstall bundles.

Modules - Bundle import and

export code

Security

Execution Environment

- methods and classes platform

http://www.osgi.org/Technology/WhatIsOSGi

Page 27: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OpenDaylight Architectural Framework

The Open Daylight Controller is a pure software and as a JVM.

ONV

https://wiki.opendaylight.org/view/File:Architectural_Framework.jpg 27

SDN Controller Platform

Page 28: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Daylight vs. Floodlight (Module Architecture)

OSGi Framework HTTP

REST Applications OSGi Applications

OSGi Framework

Floodlight Module Application

Floodlight Core Module

28

Page 29: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Open Daylight NB APIs

Category Description Example

Topology the inter-switch links formed

as the topology

/topology/{containerName}

Host Tracker hosts tracked by the controller /host/{containerName}

Switch

Manager

switch info connected to the

controller

/{containerName}/nodes

Statistics traffic counters per switch or

all switches

/statistics/{containerName}/flowsta

ts/{nodeType}/{nodeId}

Flow

Programmer

push/read flow table entry to

the specified switch

/flow/{containerName}/{nodeType}

/{nodeId}/{name}

Static

Routing

add static routing rule to

controller

/staticroute/{containerName}/{nam

e}

Subnets list/add/delete subnet to/from

the controller

/subnet/{containerName}/{subnet

Name}

29

Page 30: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OpenDaylight SDN Controller

Platform (OSCP)

30

Page 31: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OpenDaylight Network Virtualization

Platform Overview Named as OpenDaylight SDN Controller Platform

(OSCP)

A network application platform providing

Unified network intelligence

Enterprise-class scalability and high availability

Deploy a wide range of network applications, including data

center network virtualization.

OpenStack Quantum Plugin is provided via NB API

Java-based Solution

31

Page 32: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

OpenDaylight Network Virtualization

Platform

1. SDN Controller Platform

2. OSCP Network Virtualization (ONV) application provides the tenant function

3. OSCP OpenStack Quantum Plugin programs the virtual network via ONV NB APIs

4. Enable the quantum feature from the CLI

5. Consistent Clustering

https://wiki.opendaylight.org/view/OpenDaylight_SDN_Controller_Platform_(OSCP):Proposal

32

Page 33: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Network Virtualization Support

OpenDaylight SDN Controller Platform provides a plugin and

a corresponding agent to enable integration with Quantum.

Install the agent for restproxy plugin support

Enable the quantum feature from the CLI

OpenDaylight Network Virtualization (ONV) application is a

Network as a Service (network virtualization) application

currently runs on the OpenDaylight SDN Controller Platform.

https://wiki.opendaylight.org/view/OpenDaylight_Network_Virtualization_(ONV):Main

33

Page 34: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

ITRI’s SDN Plan

34

Page 35: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

SDN產業聯盟規劃

SDN產業聯盟

進行相關標準

規格制定

掌握國際脈動尋求合作機會

蒐集及分析

產業發展狀況

召開各類交流

活動與論壇

建置SDN共通平台

訂定共通平台標準介面

建立SDN Services 驗證場域

協助政府政策工具應用

加強產業及市場資訊服務

整合運用相關資源

促進產業鏈整合

建立台灣在全球SDN產業的關鍵地位

35

Page 36: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

SDN產業聯盟組織架構 (draft)

會長

測試驗證 SDN共通平台 應用服務 國際合作

秘書處

運用 SDN Open Source, 建立SDN共通平台

研擬 SDN 共通平台 Northbound 及Southbound介面

發展SDN設備與應用測試環境

訂定設備測試及互通測試案例

研究Data Center、企業網路、電信網路需求,發展SDN應用服務方案

促進國內產業與國際標準組織及國際大廠交流

36

Page 37: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

ITRI SDN Testbed Plan

Conformance

Interoperability

Application

Layer

- 提供應用服務PoC及Service Trial 測試驗證場域

- 提供網路設備驗證、應用展示場域

Controller

Layer

Infrastructure

Layer

Innovation,

PoC,

Service Trial

Topology Manager

Wireless Network

Virtualization

Slicing Manager

Network Policy Control &

Enforcement

Load balancer Function

Virtualization

Security Function

Virtualization extensions

Inter-Controller

Control

common Host

Tracker Switch

Manager Fwdg.

Manager Statistic Manager

Multi-Controller

Interoperability

Northbound API

Southbound API Stress

Performance

Page 38: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

ITRI SDN Common Platform

Enterprise Services

South Bound API

OpenFlow Other Standard Vendor Specific

Topology Manager

Slicing Manager

extensions

common Host Tracker

Switch Manager

Fwdg. Manager

Statistic Manager

North Bound API

Femto Switch Wi-Fi

Enterprise Services

Enterprise Services

Contribute

Open Source

SDN Controller

38

Wireless Network

Virtualization

Network Policy Control &

Enforcement

Load balancer Function

Virtualization

Security Function Virtualization

Inter-Controller Control

Page 39: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Summary

Controller OF版本

程式語言

Routing

機制

功能模組 CP開發介面

NB API Quantum

Plugin

軟體授權

商用產品支援

NOX/

POX

1.0 C++ /

Python

Loop(?) Basic NOX API Module

API

NA GPL NA

Trema 1.0 /

1.3

C /

Ruby

OK Debugger

Emulator

Security

C / Ruby

API

Module

API

NEC

OpenFlow

plugin

GPL NEC PFC

Floodlight

(OSCP)

1.0 /

1.3

Java OK NVF

Firewall

Perform.

QoS

LB

Java API REST Floodlight

Quantum

plugin

Apache Big

Network

Open

Daylight

1.0

Java OK Statistic

Load-

Balancer

HA

Java API REST/OS

Gi

OpenDL

OpenStack

Quantum

Plugin

EPL Cisco One

(?)

* OSCP – OpenDaylight SDN Controller Platform 39

Page 40: SDN Controller 發展趨勢 · framework, regression test framework Maestro Java Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C Linux GPL NEC includes emulator, regression test

Copyright 2013 ITRI 工業技術研究院

Thanks!

40