Software Defined Networking

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

Software Defined

Networking
Dr. Nick Feamster
Professor

In this course, you will learn about software defined networking and
how it is changing the way communications networks are
managed, maintained, and secured.

Software Defined Networking

Module 1: History of SDN


This lesson: Network Virtualization
What is network virtualization?
What is its history? (w/examples)
1990s (and before): Switchlets
Mid-2000s: VINI, Cabo
Looking forward

Network

virtualization and SDN


2

Software Defined Networking

Evolution of Supporting Technologies


(Three Lessons)

Central network control: Dates back (at least)


to AT&Ts network control point (1980s)

Programmability in networks: Active networks


(1990s)

Network virtualization: Switchlets (1990s),


VINI (2000s)
3

Software Defined Networking

What is Network Virtualization?


Representation

of one or more logical


network topologies on the same
infrastructure.
Many different instantiations
Virtual LANs (VLANs)
Various technologies and network testbeds
Today: VMWare, Nicira, etc.

Software Defined Networking

Benefits of Network Virtualization


Sharing

Multiple

logical routers on a single platform


Resource isolation in CPU, memory,
bandwidth, forwarding tables,

Customizability
Customizable rou/ng and forwarding so5ware
General-purpose CPUs for the control plane
Network processors and
FPGAs for data plane

Software Defined Networking

Fixed Physical Infrastructure

Software Defined Networking

Shared By Many Parties

Software Defined Networking

Arbitrary Virtual Topologies

Software Defined Networking

Three Examples of Virtual Networks


Tempest:

Switchlets (1998)

Separation of control framework from switches


Virtualization of the switch

VINI: A Virtual

Network Infrastructure (2006)

Virtualization of the network infrastructure

Cabo:

Separates infrastructure, services (2007)

Software Defined Networking

The Tempest Architecture: Switchlets


Multiple

control
architectures over ATM
Separation of switch
controller and fabric via
open signaling
Partitioning of switch
resources across
controllers
van der Merwe, Jacobus E., et al. "The tempest-a prac/cal framework for
network programmability." Network, IEEE 12.3 (1998): 20-28.

10

Software Defined Networking

Switch Divider

Partitions

port space,
bandwidth, buffers
Different controllers
control each switchlet

van der Merwe, Jacobus E., et al. "The tempest-a prac/cal framework for
network programmability." Network, IEEE 12.3 (1998): 20-28.

11

Software Defined Networking

VINI: Virtual Network Infrastructure


Bridge the gap between lab experiments and live experiments at scale.

Emula/on
Simula/on

?
VINI

Small-scale
experiment

Runs real routing software


Exposes realistic network conditions
Gives control over network events
Carries traffic on behalf of real users
Shared among many experiments

Bavier, Andy, et al. "In VINI veritas: realis/c and controlled network experimenta/on." ACM
SIGCOMM Computer Communica9on Review. Vol. 36. No. 4. ACM, 2006.

Live
deployment

12

Software Defined Networking

XORP: Control Plane


XORP

(rou9ng protocols)

BGP, OSPF, RIP, PIMSM, IGMP/MLD


Goal: run real routing
protocols on virtual
network topologies

13

Software Defined Networking

Click: Data Plane

UML

XORP

Avoid UML overhead

(rou9ng protocols)
eth0

eth1

eth2

Move to kernel, FPGA

eth3

Control


Packet
Forward
Engine

Click

Performance

Uml Switch
element

Tunnel table
Filters

Interfaces tunnels
Click UDP tunnels

Data

correspond to UML network


interfaces

Filters
Fail a link by blocking

packets at tunnel
14

Software Defined Networking

Concurrent Architectures are Better than One


Infrastructure Providers

Service Providers

Infrastructure providers: Maintain routers, links, data centers, and other


physical infrastructure
Service providers: Offer end-to-end services (e.g., layer 3 VPNs, SLAs,
etc.) to users
Today: ISPs try to play both roles,
and cannot offer end-to-end services

Feamster, Nick, Lixin Gao, and Jennifer Rexford. "How to lease the Internet in your spare /me."
ACM SIGCOMM Computer Communica9on Review 37.1 (2007): 61-64.

Software Defined Networking

Examples in Communications Networks


Two

commercial examples in IP networks

Packet Fabric: share routers at exchange points


FON: resells userswireless Internet connectivity

Broker

FON economic refactoring


Infrastructure providers: Buy upstream connectivity
Service provider: FON as the broker

Software Defined Networking

Summary
What is network virtualization?
Separate logical network from the infrastructure

What

is the history?

Virtual switches (1990s: Switchlets), networks

(2006: VINI), services (2007: Cabo)


What

is the legacy for SDN?

Separate service from infrastructure


Multiple controllers of a single switch
Logical network topologies
17

Software Defined Networking

Evolution of Supporting Technologies


(Three Lessons)

Central network control: Dates back (at least)


to AT&Ts network control point (1980s)

Programmability in networks: Active networks


(1990s)

Network virtualization: Switchlets (1990s),


VINI (2000s)
18

Software Defined Networking

Goal: Control and Realism

Topology
Arbitrary,
emulated

Synthe9c or
traces

Reproduce results

Actual
network

Trac

Methodically change or relax

constraints

Real clients,
servers

Network Events
Inject faults,
anomalies

Control

Realism
Long-running services
Connectivity to real Internet
Forward high traffic volumes (Gb/s)
Handle unexpected events

Observed in
opera9onal
network
19

Software Defined Networking

Similar Trends in Other Industries


Example: Commercial aviation
Infrastructure providers: Airports
Infrastructure: Gates, hands and eyes support
Service providers: Airlines
JFK
SFO
PEK

ATL

Software Defined Networking

Enabling End-to-End Services


Secure routing protocols
Multi-provider Virtual Private Networks
Paths with end-to-end performance guarantees
Today
Competing ISPs
with different goals
must coordinate

Cabo
Single service
provider controls
end-to-end path

You might also like