Slide 1

Slide 1 text

PPJ #1 Virtualization & Software Defined Networking http://eueung.github.io/EL5244/ Dr.-Ing. Eueung Mulyana | 2015H2

Slide 2

Slide 2 text

This material is mainly a derivative and remix work. Most of the texts and illustrations are taken from the talks/lectures given by these networking professors/gurus/ninjas: Scott Shenker, Nick McKeown, Jennifer Rexford, Mike Freedman, Nick Feamster, Guido Appenzeller, Marco Cello, Li Erran Li.

Slide 3

Slide 3 text

The State of Networking

Slide 4

Slide 4 text

The Internet: A Remarkable Story • Tremendous success – From research experiment to global infrastructure • Brilliance of under-specifying – Network: best-effort packet delivery – Programmable hosts: arbitrary applications • Enables innovation – Apps: Web, P2P, VoIP, social networks, … – Links: Ethernet, fiber optics, WiFi, cellular, …

Slide 5

Slide 5 text

Key to Internet Success: Layers Applications …built on… …built on… …built on… …built on… Reliable (or unreliable) transport Best-effort global packet delivery Best-effort local packet delivery Physical transfer of bits

Slide 6

Slide 6 text

Why Is Layering So Important? • Decomposed delivery into fundamental components • Independent but compatible innovation at each layer • A practical success of unprecedented proportions… • …but (also) an academic failure

Slide 7

Slide 7 text

Inside the ‘Net: 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

Slide 8

Slide 8 text

Do We Need Innovation Inside?

Slide 9

Slide 9 text

Built an Artifact, Not a Discipline • Other fields in “systems”: OS, DB, DS, etc. – Teach basic principles – Are easily managed – Continue to evolve • Networking: – Teach big bag of protocols – Notoriously difficult to manage – Evolves very slowly

Slide 10

Slide 10 text

Do We Need Intellectual Progress? • Lots of domain details – Plethora of protocols – Heaps of header formats – Big bunch of boxes – Tons of tools • Teaching networking – Practitioners: certification courses, on the job – Undergraduates: how the Internet works

Slide 11

Slide 11 text

Why Does Networking Lag Behind? • Networks used to be simple: Ethernet, IP, TCP…. • New control requirements led to great complexity – Isolation  VLANs, ACLs – Traffic engineering  MPLS, ECMP, Weights – Packet processing  Firewalls, NATs, middleboxes – Payload analysis  Deep packet inspection (DPI) • Mechanisms designed and deployed independently – Complicated “control plane” design, primitive functionality – Stark contrast to the elegantly modular “data plane”

Slide 12

Slide 12 text

Infrastructure Still Works! • Only because of “our” ability to master complexity • This ability to master complexity is both a blessing… – …and a curse!

Slide 13

Slide 13 text

What Is the problem? • Networking still focused on mastering complexity – Little emphasis on extracting simplicity from control plane – No recognition that there’s a difference…. • Extracting simplicity builds intellectual foundations – Necessary for creating a discipline …. – That’s why networking lags behind

Slide 14

Slide 14 text

On the Other Side … • Machine languages: no abstractions – Mastering complexity was crucial – 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,… Abstractions  key to extracting simplicity

Slide 15

Slide 15 text

Problem & Solution Enter SDN

Slide 16

Slide 16 text

Why was a good Solution needed? • Networks are hard to manage • Networks are hard to evolve • Networks design not based on formal principles

Slide 17

Slide 17 text

Hard to Manage • Networks are still notoriously hard to manage – Network administrators large share of sysadmin staff • Computation and storage have been virtualized – Creating a more flexible and manageable infrastructure – Need skills to manage virtualized assets

Slide 18

Slide 18 text

Hard to Evolve • Ongoing innovation in systems software – New languages, operating systems, etc. • Networks are stuck in the past – Routing algorithms change very slowly – Network management extremely primitive

Slide 19

Slide 19 text

Lacking on Formal Principles • OS courses teach fundamental principles – Mutual exclusion and other synchronization primitives – Files, file systems, threads, and other building blocks • Networking courses teach a big bag of protocols • No formal principles, just general design guidelines

Slide 20

Slide 20 text

Lacking on Formal Principles • Networks used to be simple – Basic Ethernet/IP straightforward, easy to manage • New control requirements have led to complexity – ACLs, VLANs, TE, Middleboxes, DPI,… • The infrastructure still works... – Only because of our great ability to master complexity • Ability to master complexity both blessing and curse

Slide 21

Slide 21 text

On the Other Side … (again) • Machine languages: no abstractions • Higher-level languages: OS and other abstractions • Modern languages: even more abstractions Abstractions simplify programming Easier to write, maintain, reason about programs Abstractions are the way we extracted simplicity So, what role do abstractions play in networking?

Slide 22

Slide 22 text

The Two Networking Planes • Data plane: processing and delivery of packets with local forwarding state – Forwarding state + packet header  forwarding decision • Control plane: compute the state in routers (forwarding state) – Determines how and where packets are forwarded – Routing, traffic engineering, firewall state, … – Implemented with distributed protocols, manual configuration (and scripting) or centralized computation • These different planes require different abstractions

Slide 23

Slide 23 text

Remember … • Networks used to be simple: Ethernet, IP, TCP…. • New control requirements led to great complexity – Isolation  VLANs, ACLs – Traffic engineering  MPLS, ECMP, Weights – Packet processing  Firewalls, NATs, middleboxes – Payload analysis  Deep packet inspection (DPI) • Mechanisms designed and deployed independently – Complicated “control plane” design, primitive functionality – Stark contrast to the elegantly modular “data plane”

Slide 24

Slide 24 text

(Too) Many Control Plane Mechanisms • Variety of goals: – Routing: distributed routing algorithms – Isolation: ACLs, VLANs, Firewalls,… – Traffic engineering: adjusting weights, MPLS,… • No modularity, limited functionality • Control Plane: mechanism without abstraction – Too many mechanisms, not enough functionality

Slide 25

Slide 25 text

TL;DR • 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

Slide 26

Slide 26 text

Software Defined Networking: An Illustration

Slide 27

Slide 27 text

Software Defined Networks control plane: distributed algorithms data plane: packet processing

Slide 28

Slide 28 text

Software Defined Networks decouple control and data planes

Slide 29

Slide 29 text

Software Defined Networks decouple control and data planes by providing open standard API

Slide 30

Slide 30 text

Software Defined Networks Controller Platform

Slide 31

Slide 31 text

Software Defined Networks Controller Platform Controller Application

Slide 32

Slide 32 text

Why is SDN Happening? An Industry Perspective (Guido Appenzeller)

Slide 33

Slide 33 text

Closed & Proprietary Networking Equipment Vertically Integrated Systems Have Changed Little Over the Past 15 Years

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Contrast with Server Equipment Open Architecture – Choice of Vendors – Innovation Velocity – Low TCO

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

Evolution of Server Provisioning 1996-2013 Server provisioning has made huge gains through automation.

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

Evolution of Network Provisioning 1996-2013 Network provisioning has not evolved.

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

Compute Evolution Networking Evolution SSH

Slide 42

Slide 42 text

What do these switches have in common?

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

Virtual Infrastructure Networking, Services, Storage, Compute

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

Credit • Scott Shenker, The Future of Networking and the Past of Protocols • Nick McKeown, Stanford University, Many Talks/Articles • Jennifer Rexford, COS 597E, Princeton University • Mike Freedman, COS 461, Princeton University • Nick Feamster, https://www.coursera.org/course/sdn • Li Erran Li, COMS 6998-10, Univ. of Columbia • Marco Cello, SDN Talk @ CNR, Univ. Genova • Guido Appenzeller, Network Virtualization in Multi- tenant Datacenters, VMware