Internet Paradigm Shift
6CCS3INS Internet Systems
2014-15 Toktam Mahmoodi, Department of Informatics, KCL
Tremendous success
From research experiment to global communications
infrastructure
The brilliance of under-specifying
Best-effort packet delivery service
Key functionality at programmable end hosts
Enabled massive growth and innovation
Ease of adding hosts and link technologies
Ease of adding services (Web, P2P, VoIP, …)
But, change is easy only at the edge!!
The Internet: A Remarkable Story
Innovations Constraints in the Internet
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation and SDN
Outline
How difficult is it to create/modify a computer
application?
How difficult is it to create/modify a network feature?
What is the difference?
What are the tools available for each?
Innovation – Computers vs. Networks
OS abstracts hardware substrate
Innovation in applications
Innovation in Applications
or or
Simple, common, stable, hardware substrate below
+ Programmability
+ Competition
Innovation in OS and applications
Innovation in OS and Applications
or or
Simple, common, stable, hardware substrate below
+ Programmability
+ Strong isolation model
+ Competition above
Innovation in infrastructure
Innovation in Infrastructure
7
Vertically integrated Horizontal
Closed, proprietary Open interfaces
Slow innovation Rapid innovation
Small industry Huge industry
Open Interface
or or
Open Interface
Routing, management, mobility management,
access control, VPNs, …
Million of lines 6,000 RFCs
of source code
Billions of Bloated Power Hungry
gates
• Vertically integrated, complex, closed,
proprietary
• Networking industry with “mainframe” mind-set
We Have Lost Our Way
Vertically integrated Horizontal
Closed, proprietary Open interfaces
Slow innovation Rapid innovation
Open Interface
or or
Open Interface
Innovations Constraints in the Internet
What we need …
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation and SDN
Outline
Operators, users, 3rd party developers, researchers, …
New function!
Separate Intelligence from Data path
Innovations Constraints in the Internet
What we need …
How can we do this …
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation and SDN
Outline
Feature Feature
Feature Feature
Feature Feature
Feature Feature
Today:
Closed Boxes,
Feature Feature Fully Distributed Protocols
3. Consistent, up-to-date global network view 2. At least one Network OS
probably many.
Open- and closed-source
1. Open interface to packet forwarding
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding
Packet
Forwarding
Software Defined Network (SDN)
More innovation in network services
Owners, operators, 3rd party developers, researchers can
improve the network
E.g. energy management, data center management, policy
routing, access control, denial of service, mobility
Lower barrier to entry for competition
Healthier market place, new players
Lower cost
Infrastructure
Management
Consequences
Innovations Constraints in the Internet
Introduction to Software-defined Networking
Virtualisation
Virtualisation and SDN
Outline
Global Network View
Packet
Forwarding Packet
Forwarding
Packet
Packet Forwarding
Forwarding
Packet
Forwarding
Software Defined Network (SDN)
Network OS
distributed system that creates a consistent, up-to-date network view
Runs on servers (controllers) in the network
NOX, ONIX, Floodlight, Trema, HyperFlow, Kandoo, Beehive, Beacon,
Maestro, … + more
Control program
Operates on view of network
Input: global network view (graph/database)
Output: configuration of each network device
is not a distributed system
Abstraction hides details of distributed state
Network OS & Control Program
Flow-based Forwarding
What is a flow? Types of action
Application flow Allow/deny flow
All http Route & re-route flow
Jim’s traffic Isolate flow
All packets to London Make flow private
… Remove flow
Forwarding
Innovations Constraints in the Internet
Introduction to Software-defined Networking (SDN)
OpenFlow Basics
Virtualisation
Virtualisation and SDN
Outline
Ethernet Switch
Traditional Switch
Control Path (Software)
Data Path (Hardware)
Traditional Switch
OpenFlow Protocol
Ethernet Switch
Control Path OpenFlow
Data Path (Hardware)
OpenFlow Switch
“If header = p, send to port 4”
Packet “If header = q, overwrite header with r,
Forwarding add header s, and send to ports 5,6”
“If header = ?, send to me”
Flow
Packet Table(s)
Forwarding Packet
Forwarding
OpenFlow Rules
Flow Table
Example
Innovations Constraints in the Internet
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation and SDN
Outline
Virtualisation was developed in the 1970s as a way to
run legacy software on newer mainframe hardware.
The new systems being developed did not have an identical
architecture to older ones, so they could not run applications
from older systems without modification.
Virtualisation tried to solve this problem by creating an interface
within the system that would mimic the behavior of the legacy
system being reproduced.
Virtualisation can be used to provide
isolated containers within which to run an application, or
a full “virtual machine” composed of an operating system and all
of its applications.
Virtualisation
A virtual machine is the software being run within the virtual
environment, and it is essentially a full virtual computer
composed of an operating system and software packages.
In general, the virtual machine is completely unaware that it is
running within a virtualisation environment, and thinks that it
has complete access to the system’s hardware.
In practice, the virtualisation environment must mediate
access between the virtual machine(s) and the real hardware.
Example: VMware
Virtual Machine
A hypervisor is the piece of software which provides the
virtualisation abstraction.
In many cases, the hypervisor is very similar to an operating
system.
it must manage how resources are allocated to each virtual machine;
it must provide protection and security between them;
each VM can be thought of as an application.
A Type 1 hypervisor is one that runs on “bare metal”.
This means that the hypervisor itself is the lowest level operating system,
and that it runs directly over the hardware.
A Type 2 hypervisor runs within a host OS.
This means that you could, for example, run Windows on your computer and
a hypervisor within it.
Hypervisor
Within the hypervisor you could start up a virtual
machine, perhaps running Linux.
In both Type 1 and Type 2, the hypervisor pretends to be
giving each virtual machine exclusive access to the
hardware.
In the Type 1 case, the hypervisor does have direct control over
the hardware,
In Type 2, the hypervisor must request access to hardware
devices from the host OS on behalf of its virtual machines
Hypervisor Cont’d
Innovations Constraints in the Internet
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation in Data Centres
Virtualisation and SDN
Outline
In a traditional data centre, each physical server typically
runs a single application, e.g. a web or database server.
In modern data centers, virtualisation is increasingly
being used to provide a way to cleanly subdivide a
single physical server into multiple virtual machines.
This allows for greater utilisation of server resources
without worrying that one application crashing will
impact others.
Virtualisation in Data Centres
One of the benefits of virtualisation is that the resources
(CPU, memory, and network bandwidth) allocated to a
virtual machine can be adjusted dynamically.
This means that a virtual data center can more efficiently
allocate resources and respond to changing resource
demands, such as when a website may have different
traffic loads at different times of the day.
Benefits of Virtualisation
Innovations Constraints in the Internet
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation in Data Centres
Cloud Computing
Virtualisation and SDN
Outline
Cloud Computing
a data center that rents resources to customers by providing
them virtual machines.
Cloud Computing services are able to do this by
exploiting the fact that multiple virtual machines can be
run on a single physical machine,
allowing them to divide each physical server up between several
customers.
Cloud Computing
Innovations Constraints in the Internet
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation in Data Centres
Cloud Computing
Virtualisation in the Networks
Virtualisation in SDN
Outline
Implementing Network Functions in Software – in VMs
Similar advantages of virtualisation in other domains:
Better utilisation of resources
Using network resource without worrying about where it is
physically located, how much it is, how it is organised, etc.
Programmability
Ability to change behaviour on the fly.
Dynamic Scaling
Ability to change size, quantity.
Performance
Optimising network device utilisation
Many others.
Virtualisation in the Networks
Network Function Virtualisation (NFV)
New ISG (Industry Specification Group) in ETSI
(European Telecom Standards Institute) set up in
November 2012.
Network Function Virtualisation (NFV)
Exploiting the new capabilities in routers
Separation of the physical from the logical
Ability to run multiple routers in parallel
Example: virtual router migration
Moving router from one physical node to another
E.g., for planned maintenance or service roll-out
Example: bug-tolerant routers
Running multiple instances of routing software
… and “voting” to protect the system from bugs
Example: Ways to Exploit Router Virtualisation
Internet architecture
End-to-end argument
Best-effort packet-delivery service
Narrow waist of IP
Separation of intradomain from interdomain
Virtualised programmable networks
Complete control within a virtual network
Programmable functionality inside the network
Different (virtual) networks for different services
Current Internet vs. Virtualised network
Innovations Constraints in the Internet
Introduction to Software-defined Networking (SDN)
Virtualisation
Virtualisation and SDN
Outline
SDN Stack
SDN empower network owners and operators
Customise networks to local needs
Eliminate unneeded features
Creation of virtual, isolated networks
Increase the pace of innovation
Innovation at software speed
Technology exchange with partners
Technology transfer from universities
Networks becoming
More programmable
Faster changing, to meet operator needs
Lower cost, power, etc.
Highlights
Domains:
Data centres
Public clouds
Cellular backhaul
Enterprise/ Enterprise WiFi
WANs
Home networks
Products:
Switches, routers: About 15 vendors
Software: 8-10 vendors and startups
Lots of hiring in Networking!
SDN in development
To check for tips and tutorials for practical works
[Link]
To check for new standards as they evolve
[Link]
To check for upcoming discussions
[Link]
Extra Reading