Advanced Computer Networks (CS ZG525) : BITS Pilani
Advanced Computer Networks (CS ZG525) : BITS Pilani
Virendra S Shekhawat
Department of Computer Science and Information Systems
BITS Pilani
Pilani Campus
Agenda
Centralized and Distributed Control and Data Planes , SDN
Architecture
[CH-21]
Reading
Software-Defined Networking: The New Norm for Networks, ONF White
Paper, 2012
https://www.opennetworking.org/images/stories/downloads/sdnresources/white-papers/wp-sdn-newnorm.pdf
[CH-22]
Reading
OpenFlow: Enabling Innovation in Campus Networks, Nick McKeown, 2008
http://archive.openflow.org/documents/openflow-wp-latest.pdf
Web Reference: https://www.opennetworking.org/
3
First Sem 2015-16
Topics
Software Defined Networking (SDN)
Motivation
Architecture
OpenFlow Protocol
4
First Sem 2015-16
What is SDN.??????
5
First Sem 2015-16
Existing/Current Networks
6
First Sem 2015-16
Existing Networks
Feature
Feature
Million of lines
of source code
Operating
System
Specialized Packet
Forwarding Hardware
Billions of gates
7
First Sem 2015-16
Closed Systems
Stuck with interfaces
Hard to collaborate meaningfully
Vendors starting to open-up but not meaningfully!
8
First Sem 2015-16
Impact
Slower Innovation
Reduced flexibility once chips are fabricated
Firmware provides some programmability!
First Sem 2015-16
9
BITS Pilani, Pilani Campus
Impact
Closed software
Non-standard interfaces to H/W
11
First Sem 2015-16
App
App
Operating
System
App
Specialized Packet
Forwarding Hardware
App
App
App
App
Operating
System
Specialized Packet
Forwarding Hardware
App
Operating
System
App
Specialized Packet
Forwarding Hardware
App
App
Operating
System
App
App
App
Specialized Packet
Forwarding Hardware
Operating
System
Specialized Packet
Forwarding Hardware
12
First Sem 2015-16
App
App
App
Operating
System
App
Specialized Packet
Forwarding Hardware
App
App
App
App
Operating
System
Specialized Packet
Forwarding Hardware
App
Operating
System
App
Specialized Packet
Forwarding Hardware
App
App
Operating
System
App
App
App
Specialized Packet
Forwarding Hardware
Operating
System
Specialized Packet
Forwarding Hardware
13
First Sem 2015-16
An OS for Networks
Control Programs
Network Operating System
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
14
BITS Pilani, Pilani Campus
An OS for Networks
NOX: Towards an Operating System for
Networks
Control via
forwarding
interface
Protocols
Protocols
15
SDN Layers
Infrastructure Layer
Also called the data plane, comprises the forwarding network
elements.
Does Data forwarding, as well as monitoring local
information and gathering statistics
Control Layer
Also called the control plane, responsible for managing and
programming the forwarding plane, by using information by
the data plane.
Has software controllers that have a standardized interface
(south-bound) to the forwarding plane. E.g. OPENFLOW.
Application Layer
Contains apps that can introduce new network features like
security, management, forwarding schemes, network
policies etc.
Can be used to have an abstracted, global view of the
network.
Interface called as north-bound interface.
17
First Sem 2015-16
18
First Sem 2015-16
20
Open Flow
OpenFlow
OpenFlow Controller
OpenFlow Protocol (SSL/TCP)
Control Path
OpenFlow
23
OpenFlow Protocol
OpenFlow Switches have flow tables, and forward elements
based on its entries also known as flow-rules.
Header fields allow mapping of entries to packets. For fast
searching, TCAM (Ternary Content Addressable Memory) is
required for lookup of wildcard matches.
Counters store network statistics no of packets/bytes, duration
of flow etc.
Actions specify how packets are handled (modify, drop, forward
etc.)
HEADER
COUNTER
ACTION
Classes of Communications in
OpenFlow Control
Controller to Switch (Asynchronous)
Feature Detection/Information Retrieval
Programming and Configuration of Switch
25
Controller
PC
OpenFlow Client
OpenFlow Table
Hardware
Layer
MAC
src
MAC
dst
port 1
5.6.7.8
IP
Src
*
IP
Dst
TCP
TCP
sport dport
5.6.7.8
port 2
Action
port 1
port 3
port 4
1.2.3.4
26
BITS Pilani, Pilani Campus
OpenFlow Basics
Flow Table Entries
Rule
Action
Stats
MAC
dst
Eth
type
IP
Src
IP
Dst
IP
Prot
TCP
sport
TCP
dport
Examples
Switching
Switch MAC
Port src
*
MAC Eth
dst
type
00:1f:.. *
VLAN IP
ID
Src
IP
Dst
IP
Prot
TCP
TCP
Action
sport dport
IP
Dst
IP
Prot
TCP
TCP
Action
sport dport
port6
Flow Switching
Switch MAC
Port src
MAC Eth
dst
type
VLAN IP
ID
Src
17264 80
port6
Firewall
Switch MAC
Port src
*
MAC Eth
dst
type
*
VLAN IP
ID
Src
IP
Dst
IP
Prot
TCP
TCP
Forward
sport dport
22
drop
28
Examples
Routing
Switch MAC
Port src
*
MAC Eth
dst
type
*
VLAN IP
ID
Src
IP
Dst
5.6.7.8 *
VLAN IP
ID
Src
IP
Dst
IP
Prot
vlan1 *
TCP
TCP
Action
sport dport
port6,
port7,
*
*
port9
IP
Prot
TCP
TCP
Action
sport dport
*
port6
VLAN Switching
Switch MAC
Port src
*
MAC Eth
dst
type
00:1f.. *
29
First Sem 2015-16
Packet Arrives
Parse Header
Fields
Match Against
Flow Tables
Perform Actions
corresponding
to the flow
entry
30
First Sem 2015-16
OpenFlow Ports
OpenFlow ports are the network interfaces for passing
packets between OpenFlow processing and the rest of
the network
OpenFlow switches connect logically to each other via
their OpenFlow ports
The set of OpenFlow ports may not be identical to the
set of network interfaces provided by the switch
hardware
Some network interfaces may be disabled for OpenFlow,
OpenFlow switch may define additional OpenFlow ports
33
First Sem 2015-16
Logical Ports
Higher level abstractions and dont correspond directly to a
hardware interface of the switch
Logical port may have an extra metadata field called Tunnel-ID
associated with it
e.g. link aggregation groups, tunnels, loopback interfaces
Reserved Ports
Specify generic forwarding actions such as sending to the controller,
flooding, or forwarding using non-OpenFlow methods, such as
normal switch processing.
34
First Sem 2015-16
CONTROLLER
Represents the control channel with the OpenFlow controller
TABLE
Represents starts of the OpenFlow pipeline
ANY
Special value used in some OpenFlow commands when no port is
specified (wild card)
NORMAL
Non OpenFlow mode
FLOOD
To send the packet out all standard ports (except ingress port)
35
First Sem 2015-16
Pipeline Processing
36
First Sem 2015-16
Flow Table
Consists of Flow entries
Flow Table Example:
Match
Fields
Priority
Counters
Instructions
Timeouts
Cookie
37
First Sem 2015-16
Group Table
The ability for a flow entry to point to a group, enables
OpenFlow to represent additional methods of
forwarding
Group
Identifiers
Group Type
Counters
Action
Buckets
Group Types
ALL (Executes all buckets in the group) [Required]
Used for multicast or broadcast forwarding
The packet is cloned for each bucket; one packet is processed for each
bucket of the group.
38
Meter Table
A meter table consists of meter entries, defining per-flow meters
Per-flow meters enable OpenFlow to implement various simple
QoS operations:
Such as rate-limiting, and can be combined with per-port queues
Meter bands
Counters
Counters
Counters are maintained for each flow table, flow entry,
port, queue, group, group bucket, meter and meter band
41
First Sem 2015-16
Flow tables:
Contain flow entries
Packets matched against flow entries
Flow entry determines which packet matches and what action will
be taken
Group table
Set of group entries
Each group entry has: identifier, type, counters and action bucket
Allows for additional action to be set on a packet: actions common
for all packets of the same group
42
First Sem 2015-16
43
First Sem 2015-16
45
First Sem 2015-16
FlowVisor
FlowVisor runs multiple OpenFlow
controller, one for each slice
Talks OpenFlow to the 'Slice Controller
47
First Sem 2015-16
OpenFlow Challenges:
Controller Delay and Overhead
Controller is much slower than the switches
Processing packets leads to delay and
overhead
Need to keep most packets in fast path
48
First Sem 2015-16
OpenFlow Challenges:
Distributed Controller
Controller is single-point of failure and potential
bottleneck
Partition or replicate controller for scalability and
reliability
Problems: keeping state consistent
49
First Sem 2015-16
Thank You !
50
First Sem 2015-16