You are on page 1of 13

In this course, you will learn about software defined networking

and how it is changing the way communications networks are


managed, maintained, and secured.
School of Computer Science
Software Defined
Networking
Dr. Nick Feamster
Associate Professor
! Four Lessons
" Motivation for Programming SDNs
" Programming Languages for SDNs
" Composing SDN Control
! Pyretic
" Event-Driven SDN
! Programming Assignment
! Quiz
Module 6.5: Programming SDNs
2
Much of Network Configuration is
Really Just Event Processing!
! Rate limit all Bittorrent traffic between the
hours of 9 a.m. and 5 p.m.
! Do not use more than 100 GB of my monthly
allocation for Netflix traffic
! If a host becomes infected, re-direct it to a
captive portal with software patches
! "
3
Resonance: Event-Based Network Control
4
Maln ldea: Lxpress neLwork pollcles as evenL-
based programs.
!"#$%&%'"( *%+","%'"-.&#"/ 0''"## 1$%2,$3 +$, 4%2",5,6#" 7"28$,9#: nayak, 8elmers, leamsLer, Clark.
01; <*=1>;; ?$,9#@$5 $% 4%2",5,6#" 7"28$,9#. AugusL 2009.
Event-Driven Control Domains
5
Resonance: Finite State Machine
! State: A set of domain values represents a
state. Representation of network state.
! Events: Event-driven control domains invoke
events, which trigger state transitions in the
controllers finite state machine.
" Intrusions
" Traffic fluctuations
" Arrival/departure of hosts
6
Resonance: Dynamic Event Handler
! Reacts to domain
events
! Determines event
source
! Updates state
based on event type
! Can process both
internal and
external events
7
8
Example from Campus Network:
Access Control
3. vLAn wlLh rlvaLe l
6. vLAn wlLh ubllc l
La
1. new MAC Addr 2. vC
!" $%&''(
Web orLal
4. Web
AuLhenucauon
3. AuLhenucauon
8esulL
vMS
SwlLch
new PosL
8. vulnerablllLy Scan
Problems with Current Approach
! Access control is too coarse-grained
" Static, inflexible and prone to misconfigurations
" Need to rely on VLANs to isolate infected machines
! Cannot dynamically remap hosts to different
portions of the network
" Needs a DHCP request which for a windows user
would mean a reboot
! Monitoring is not continuous
9
%)*+,-- *./010,- 2342 051.+*.+42, 5,26.+7 8954:01-"
10
Policy: State Machine, OpenFlow Rules
unauLhenucaLed
AuLhenucaLed
Clean
Cuaranuned
Successful
AuLhenucauon
vulnerablllLy deLecLed
Clean aer updaLe
lalled AuLhenucauon
lnfecuon removed or manually xed
CompllcaLed, especlally as
Lhe number of lnpuLs
lncreases!
Simpler: Sequential Composition
11
unauLhenucaLed
AuLhenucaLed
Clean
Cuaranuned
Successful
AuLhenucauon
1lmeouL or
AuLhenucauon
lallure
Clean aer
Scan
vulnerablllLy
ueLecLed
AuLhlSM
luSlSM
>>
Slmpler: use yreuc Lo
sequenually compose
lSMs!
Resonance with Sequential Composition
! $ sudo mn --topo single,3 --mac arp
! Default: drop from unauthenticated MAC addresses or
vulnerable hosts
! Policy changes once host is authenticated
12
SwlLch
h3 h4 h2
yreuc ConLroller
;+,-.5451,<-0:*/,"*9=
AuLhenucauon
Module
!SCn LvenLs (e.g.,
auLhenucauon
Scannlng/ luS
Module
Summary
! Network configuration and policies must
often express what should happen
" In response to events (security, traffic, etc.)
" At different times of day
" For different groups of users
! State machines can help determine what
rules are appropriate to install
! Composition keeps FSMs simple
13

You might also like