cloud and datacenter networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/dcn-l08-sdn.pdf ·...

34
Cloud and Datacenter Networking Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione DIETI Laurea Magistrale in Ingegneria Informatica Prof. Roberto Canonico Software Defined Networking V1.1 – May 2019 – © Roberto Canonico

Upload: others

Post on 21-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Cloud and Datacenter NetworkingUniversità degli Studi di Napoli Federico II

Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione DIETI

Laurea Magistrale in Ingegneria Informatica

Prof. Roberto Canonico

Software Defined Networking

V1.1 – May 2019 – © Roberto Canonico

Page 2: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

I° Quadrimestre

Lesson outline

Software Defined Networks (SDN)

Credits for the material:

Jennifer Rexford

Nick McKeown

Scott Shenker

2Cloud and Datacenter Networking Course – Prof. Roberto Canonico – Università degli Studi di Napoli Federico II

Page 3: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

The Internet: A Remarkable Story

Tremendous success

From research experiment

to global infrastructure

Brilliance of under-specifying

Network: best-effort packet delivery

Hosts: arbitrary applications

Enables innovation in applications

Web, P2P, VoIP, social networks, virtual worlds

But, change is easy only at the edge…

3

Page 4: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Inside the network: a different story…

Closed equipment

Software bundled with hardware

Vendor-specific interfaces

Over specified

Slow protocol standardization

Few people can innovate

Equipment vendors write the code

Long delays to introduce new features

Impacts performance, security, reliability, cost…

4

Page 5: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Networks are Hard to Manage

Operating a network is expensive

More than half the cost of a network

Yet, operator error causes most outages

Buggy software in the equipment

Routers with 20+ million lines of code

Cascading failures, vulnerabilities, etc.

The network is “in the way”

Especially a problem in data centers with large numbers of VMs

5

Page 6: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Traditional networking

Each networking device operates at three different planes

Data Plane: responsible of processing and forwarding of packets

Based on state in routers and endpoints

E.g., IP, TCP, Ethernet, etc.

Fast timescales (per-packet)

Control Plane: decision – responsible of establishing the state in routers

Determines how and where packets are forwarded

Routing, traffic engineering, firewall state, …

Slow time-scales (per control event)

Management plane: configuration – responsible of general device behavior

Determines how the control plane should be configured

Slow time-scales (manual configuration by network administrators)

6

Page 7: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Traditional networking: a router’s view

In an IP router, the control plane role is played by dynamic routing protocols

and the associated state

E.g. OSPF and the Link State Database

7

Page 8: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Tradional planes and time scales

8

Page 9: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN Concept

Separate control plane and data plane entities

Network intelligence and state are logically centralized

The underlying network infrastructure is abstracted from the applications

Remotely control network devices from a central entity

Execute or run control plane software on general purpose hardware

Decouple from specific networking hardware

Use commodity servers

An architecture to control

not just a networking device …

but an entire network

Expected advantages:

Ability to innovate through software

Overcome the “Internet ossification problem”

Cost reductions through increased competition, hardware commoditization and open-source software

9

Page 10: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Software Defined Networking (SDN)

API to the data plane(e.g., OpenFlow)

Logically-centralized Controller

Switches

ControllerSmart

Dumb & fast

10

Control Plane

Data Plane

Separated

• A logically centralized “Controller” uses an open protocol (e.g. OpenFlow) to:

• Get state information from forwarding elements (i.e. switches)

• Give controls and directives to forwarding elements

Page 11: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN: controller programmability11

Controller Application

Events from switches

Topology changes,

Traffic statistics,

Arriving packets

Commands to switches

(Un)install rules,

Query statistics,

Send packets

11

Page 12: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN allows to unify different kinds of boxes

Router

Match: longest destination IP prefix

Action: decrement TTL,

re-compute header checksum,

forward out a link

Switch

Match: destination MAC address

Action: forward or flood

Firewall

Match: IP addresses and TCP/UDP

port numbers

Action: permit or deny

NAT

Match: IP address and port

Action: rewrite address and port

12

12

All the above boxes may be replaced by “generic” SDN switches

whose behaviour is programmed in the controller

By decoupling the network function from the physical infrastructure,

the SDN approach is also useful to second another emerging trend

in the telecommunications industry: Network Function Virtualization (NFV)

Page 13: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

A Short History of SDN

• ~2004: Research on new management paradigms

• RCP, 4D [Princeton, CMU,….]

• 2006: Martin Casado, a PhD student at Stanford and team propose a clean-slate

security architecture (SANE) which defines a centralized control of security (instead

of at the edge as normally done)

• 2008: the idea of Software Defined Network is originated from OpenFlow project

(ACM SIGCOMM 2008)

• 2009: Stanford publishes OpenFlow V1.0.0 specs

• June 2009: Martin Casado co-founds Nicira

• 2011: Open Networking Foundation (~69 members)

• Board: Google, Yahoo, Verizon, DT, Msoft, F’book, NTT

• Members: Cisco, Juniper, HP, Dell, Broadcom, IBM,…..

• 2012: OpenFlow in production use

• July 2012: VMware buys Nicira for $1.26B

13

Page 14: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN: latest developments

• 2012: Google employs SDN principles and OpenFlow to build:

• Jupiter: a data center interconnect capable of supporting more than 100,000 servers

• B4: a WAN interconnecting its data centers to replicate data in real-time and better

manage inter-DC traffic

• 2014: Some network equipment vendors start promoting their own SDN solutions,

non Openflow compliant

• Cisco announced the OpFlex protocol

• 2014: The Open Networking Lab (ON.Lab) non-profit organization is founded by

SDN inventors and leaders from Stanford University and UC Berkeley to foster

open source communities for developing tools and platforms to realize the full

potential of SDN, NFV and cloud technologies

• 2016: Emerging SDN-based WAN solutions (SD-WAN)

• 2017: Google announces that they will start partnering with leading mobile

network operators, by building an SDN-based platform for operators to run their

network services

14

Page 15: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Packet-Forwarding Hardware

OpenflowFirmware

Packet-Forwarding Hardware

OpenflowFirmware

Packet-Forwarding Hardware

OpenflowFirmware

Packet-Forwarding Hardware

OpenflowFirmware

Network Operating System

App App App App

Open Interface

to Hardware

(OpenFlow)

Open API

15

An OS for networks thanks to SDN

• The whole network as one big machine

• The key is to have a standardized control interface that speaks directly to hardware

Page 16: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

x86

Virtualization

Windows Linux FreeBSD

Apps Apps Apps

Computer Industry

Virtualization

Network OS

Apps Apps Apps

Network Industry

SDN

The “Software-Defined Networking” (r)evolution

16

Network OS Network OS

Page 17: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Vertically integrated

Closed, proprietary

Slow innovation

Small industry

Specialized

Operating

System

Specialized

Hardware

AppAppAppAppAppAppAppAppAppAppApp

Specialized

Applications

Horizontal

Open interfaces

Rapid innovation

Huge industry

Microprocessor

Open Interface

LinuxMac

OSWindows

(OS)

or or

Open Interface

Computers evolution: from mainframes to microprocessors

From Nick McKeown’s talk “Making SDN Work” at the Open Networking Summit, April 2012

17

Page 18: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN: the role of the Network Operating System

18

Page 19: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Two examples uses

Scale-out router:

Abstract view is single router

Physical network is collection of interconnected switches

Allows routers to “scale out, not up”

Use standard routing protocols on top

Multi-tenant networks:

Each tenant has control over their “private” network

Network virtualization layer compiles all of these individual control requests into

a single physical configuration

Hard to do without SDN, easy (in principle) with SDN

19

Page 20: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Does SDN work?

Is it scalable? Yes

Is it less responsive? No

Does it create a single point of failure? No

Is it inherently less secure? No

Is it incrementally deployable? Yes

20

Page 21: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN: clean separation of concerns

Control program: specify behavior on abstract model

Driven by Operator Requirements

Network Virtualization: map abstract model to global view

Driven by Specification Abstraction

NOS: map global view to physical switches

API: driven by Distributed State Abstraction

Switch/fabric interface: driven by Forwarding Abstraction

21

Page 22: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Where SDN is and will be deployed

Multi-tenant “virtualized” data centers

Public and private clouds

WANs

Google WAN

Eventually, public WANs

Enterprise networks

Greater control, fewer middleboxes

22

Page 23: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Where SDN is and will be deployed (2)

Home networks

Outsourced management

Cellular Networks

Separation of service from physical infrastructure

Research and Education Networks

National backbones

College campus networks

23

Page 24: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Challenge: controller delay and overhead

Controller is much slower the the switch

Processing packets leads to delay and overhead

Need to keep most packets in the “fast path”

24

packets

Controller

24

Page 25: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDNs with distributed controllers25

Network OS

Controller Application

Network OS

Controller Application

For scalability and reliability

Partition and replicate state

25

Page 26: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Challenge: testing and debugging

OpenFlow makes programming possible

Network-wide view at controller

Direct control over data plane

Plenty of room for bugs

Still a complex, distributed system

Need for testing techniques

Controller applications

Controller and switches

Rules installed in the switches

26

26

Page 27: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

Challenge: programming abstractions

Controller APIs are low-level

Thin layer on top of the underlying hardware

Need better languages

Composition of modules

Managing concurrency

Querying network state

Network-wide abstractions

27

Controller

Switches

27

Page 28: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN use case: Dynamic Access Control

Inspect first packet of a connection

Consult the access control policy

Install rules to block or route traffic

Controller

28

Page 29: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN use case: Seamless Mobility/Migration

See host send traffic at new location

Modify rules to reroute the traffic

29

Controller

Page 30: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN use case: Server Load Balancing

Pre-install load-balancing policy

Split traffic based on source IP

30

src=0*

src=1*

30

Controller

Page 31: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN use case: Network Virtualization31

Partition the space of packet headers

Controller #1 Controller #2 Controller #3

31

Page 32: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN use case: multi-tenant datacenter

In a multi-tenant datacenter, the cloud provider has to implement and manage

mechanisms to isolate traffic of different tenants both in the network and in the

hypervisors

With SDN connectivity between VMs is controlled by network automation and

programming

SDN extends its action in the hypervisor through software v-switches

Corso di Cloud e Datacenter Networking – Prof. Roberto Canonico 32

vSwitchvSwitchvSwitch vSwitch

Page 33: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

SDN in Real World – Google’s Story

The industries were skeptical whether SDN was possible

Google had big problems:

High financial cost managing their datacenters: Hardware and software upgrade, over

provisioning (fault tolerant), manage large backup traffic, time to manage individual

switch, and a lot of men power to manage the infrastructure

Delay caused by rebuilding connections after link failure

Slow to rebuild the routing tables after link failure

Difficult to predict what the new network may perform

Google went ahead and implemented SDN

Built their hardware and wrote their own software for their internal datacenters

Surprised the industries when Google announced SDN was possible in production

How did they do it?

“B4: Experience with a Globally-Deployed Software Defined WAN”, ACM SIGCOMM 2013

33

Page 34: Cloud and Datacenter Networkingwpage.unina.it/rcanonic/didattica/dcn/lucidi/DCN-L08-SDN.pdf · Enables innovation in applications ... Fast timescales (per-packet) Control Plane: decision

References

OpenFlow: Enabling innovation in campus networks.

Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson,

Jennifer Rexford, Scott Shenker, and Jonathan Turner.

ACM SIGCOMM Computer Communication Review. Volume 38 Issue 2, April 2008

Origins and Evolution of OpenFlow/SDN.

Martin Casado.

Open Networking Summit, Stanford, CA, October 2011. (Video available on YouTube)

Software-Defined Networking: A Comprehensive Survey.

Diego Kreutz, Fernando M. V. Ramos, Paulo Esteves Verissimo, Christian Esteve Rothenberg,

Siamak Azodolmolky, Steve Uhlig.

Proceedings of the IEEE, vol.103, no.1, pp.14--76, Jan. 2015

B4: Experience with a Globally-Deployed Software Defined WAN.

Sushant Jain, Alok Kumar, Subhasree Mandal, Joon Ong, Leon Poutievski, Arjun Singh, Subbaiah

Venkata, Jim Wanderer, Junlan Zhou, Min Zhu, Jonathan Zolla, Urs Hölzle,

Stephen Stuart and Amin Vahdat.

ACM SIGCOMM Computer Communication Review. Volume 43 Issue 4, October 2013

Open Network Foundation.

http://opennetworking.org

IEEE SDN Technical Committee.

http://sdn.ieee.org/education

34/39

34Cloud and Datacenter Networking Course – Prof. Roberto Canonico – Università degli Studi di Napoli Federico II