Top Banner
Gerência SDN Baseado em slides do Nick McKeown e Survey disponível em: http://arxiv.org/abs/1406.0440
32

Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Nov 10, 2018

Download

Documents

trantuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Gerência SDN

Baseado em slides do Nick

McKeown e Survey disponível

em: http://arxiv.org/abs/1406.0440

Page 2: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

What are Software Defined

Networks?

Page 3: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Vertically integrated

Closed, proprietary

Slow innovation

Small industry

Specialized

Operating

System

Specialized

Hardware

App App App App App App App App App App App

Specialized

Applications

Horizontal

Open interfaces

Rapid innovation

Huge industry

Microprocessor

Open Interface

Linux Mac

OS

Windows

(OS) or or

Open Interface

Page 4: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Vertically integrated

Closed, proprietary

Slow innovation

App App App App App App App App App App App

Horizontal

Open interfaces

Rapid innovation

Control

Plane

Control

Plane

Control

Plane or or

Open Interface

Specialized

Control

Plane

Specialized

Hardware

Specialized

Features

Merchant

Switching Chips

Open Interface

Page 5: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Million of lines

of source code 6,000 RFCs

Billions of

gates

Bloated Power Hungry

• Vertically integrated, complex, closed, proprietary • Networking industry with “mainframe” mind-set

Custom Hardware

OS

Routing, management, mobility management,

access control, VPNs, …

Feature Feature

Page 6: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Custom Hardware

Custom Hardware

Custom Hardware

Custom Hardware

Custom Hardware

OS

OS

OS

OS

OS

Network OS

Feature Feature

The network is changing

Feature Feature

Feature Feature

Feature Feature

Feature Feature

Feature Feature

Page 7: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Feature Feature

Network OS

1. Open interface to packet forwarding

3. Consistent, up-to-date global network view 2. At least one Network OS probably many.

Open- and closed-source

Software Defined Network (SDN)

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Page 8: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Network OS

Network OS: distributed system that creates a consistent, up-to-date network view

– Runs on servers (controllers) in the network

– NOX, ONIX, Trema, Beacon, Maestro, … + more

Uses forwarding abstraction to:

– Get state information from forwarding elements

– Give control directives to forwarding elements

Page 9: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Control Program A Control Program B

Network OS

Software Defined Network (SDN)

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Page 10: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Control Program

Control program operates on view of network

– Input: global network view (graph/database)

– Output: configuration of each network device

Control program is not a distributed system

– Abstraction hides details of distributed state

Page 11: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Forwarding Abstraction

Purpose: Abstract away forwarding hardware

Flexible

– Behavior specified by control plane

– Built from basic set of forwarding primitives

Minimal

– Streamlined for speed and low-power

– Control program not vendor-specific

OpenFlow is an example of such an abstraction

Page 12: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

OpenFlow Basics

Page 13: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

OpenFlow Protocol

Data Path (Hardware)

Control Path OpenFlow Ethernet Switch

Network OS

Control Program A Control Program B

OpenFlow Basics

Page 14: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Control Program A Control Program B

Network OS

OpenFlow Basics

Packet Forwarding

Packet Forwarding

Packet Forwarding

Flow Table(s)

“If header = p, send to port 4”

“If header = ?, send to me”

“If header = q, overwrite header with r,

add header s, and send to ports 5,6”

Page 15: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Plumbing Primitives <Match, Action>

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

15

Header Data

Match: 1000x01xx0101001x

Page 16: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

General Forwarding Abstraction

Small set of primitives “Forwarding instruction set”

Protocol independent Backward compatible

Switches, routers, WiFi APs, basestations, TDM/WDM

Page 17: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Example OSPF and Dijkstra

Page 18: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

OSPF

– RFC 2328: 245 pages

Distributed System

– Builds consistent, up-to-date map of the network: 101 pages

Dijkstra’s Algorithm

– Operates on map: 4 pages

Page 19: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Example

OSPF = Dijkstra IS-IS

Network OS

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Distributed System

Custom Hardware

OS

OSPF

IS-IS Distributed

System Distributed

System

Page 20: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Why SDN?

Page 21: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Great talk by Scott Shenker http://www.youtube.com/watch?v=WVs7Pc99S7w

(Story summarized here)

Page 22: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Networking

Networking is “Intellectually Weak”

Networking is behind other fields

Networking is about the mastery of complexity

Good abstractions tame complexity

Interfaces are instances of those abstractions

No abstraction => increasing complexity

We are now at the complexity limit

Page 23: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

By comparison: Programming

Machine languages: no abstractions

– Had to deal with low-level details

Higher-level languages: OS and other abstractions

– File system, virtual memory, abstract data types, ...

Modern languages: even more abstractions

– Object orientation, garbage collection,…

Page 24: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Programming Analogy

What if programmers had to:

– Specify where each bit was stored

– Explicitly deal with internal communication errors

– Within a programming language with limited expressability

Programmers would redefine problem by:

– Defining higher level abstractions for memory

– Building on reliable communication primitives

– Using a more general language

Page 25: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Specification Abstraction

Network OS eases implementation

Next step is to ease specification

Provide abstract view of network map

Control program operates on abstract view

Develop means to simplify specification

Page 26: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Control Program A Control Program B

Software Defined Network (SDN)

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Network OS

Global Network View

Abstract Network View

Virtualization

Page 27: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Software Defined Network (SDN)

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

f View( )Control

Programs

f View( )

Page 28: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Software Defined Network (SDN)

Global Network View

Network Virtualization

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Abstract Network View

Control

Programs

f View( )Control

Programs

f View( )Control

Programs

f View( )firewall.c

if( pkt->tcp->dport == 22)

dropPacket(pkt);

Packet Forwarding

Network OS 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. …

1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. …

1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. …

1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. …

1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. …

Page 29: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

The OpenFlow Model

Source: Chris Grundemann

Page 30: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Plataformas de Controle SDN: Elementos, Serviços e Interfaces

Page 31: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra

Emerging SDN Ecosystem

Source: Chris Grundemann

Page 32: Clean Slate Design for the Internet - di.ufpe.brdi.ufpe.br/~suruagy/cursos/Gerencia-MP/2015-GR-SDN.pdf · Switches, routers, WiFi APs, basestations, TDM/WDM . Example OSPF and Dijkstra