Software Defined Networks Flashcards
SDN
Software Defined Network
Goals of Configuring Networks
Load Balance, Security, Business Relationships
What cn go wrong during configuration
Oscillation, Loops, Partitions, “BlackHoles”
Why is configuration hard?
Defining correctness is hard, Interactions between protocols(unpredictability), Operators make mistakes
What does SDN provide operators
Network-wide views, Network level objectives, Direct Control
Examples of network wide views in SDN
Topology, Traffic
Examples of network level objectives
Load balance, Security
Examples of Direct Control
Direct Manipulation of data plane
What should routers do to make network operations easier
Forward Packets, collect measurement
What is SDN equivalent to
“Removing routes from the router”
What is the data plane
forward traffic
Routers have state called
routing tables
job of control plane
compute routing table
where does data and control run on conventional networks
on the distributed routers
How is the control and data plane handled in SDN
Logically centralized control, Network-wide control
SDN timeline
2004 RCP BGP only, 2005 4D (decision, dissmination/discovery, data) 2008, Openflow (cheap switches)
Advantages of sdn
Coordination, Evolve, Reasoning
What does separation of the control plane allow
Apply CS techniques to network problems
Infrastructure control plane
Software program
Data plane
programmable hardware
SDN Applications
Data Centers, Backbone networks, Enterprise networks, Internet Exchange Points (IXPs), Home networks
Examples of control plane operations
Compute a forwarding path that satisfies a high level policy, Compute shortest path routing tree, Authenticate a users device
Control Plane functions
Logic that controls forwarding behavior. Examples routing protocols configuration for network middle boxes
Data plane
forward traffic according to control plane logic Examples: forwarding switching
Why is separating data and control a good idea
Independent evaluation (software and hardware can evolve independently), Control from high level (debug check behavior more easily)
Opportunities when separating data and control
Data Centers (VM migration) Routing (more control over decision logic) Enterprise network (security) Research (coexist with production)
Data center problem SDN solves
Provisioning/migration in response to load Solution: program switch state from central database
How does SDN help Backbone Security
monitor traffic identify attack send to a null route
SDN Challenges
Scalability (hundreds to thousands of switches) Consistency (Ensuring different replicas see same view) Security/robustness (failure or compromise)
Some different SDN controllers
NOX, RYU, Floodlight, Pyretic, Frenetic, Procera, Routerflow, Trema
What are the two flavors in NOX
“classic”: c++/python, “new”: c++ only
NOX Protocol
openflow
How is flow defined in NOX
(header: counter, actions) 10-tuple. Actions could be forward, drop, send to controller
What is POX
python version of nox. it is slow, not used by industry due to speed
RYU (pro vs con)
python, openflow, openstack (poor performance)
Floodlight (pro vs con)
Java, good doc, rest app, (hard to learn)
Nox (pro vs con)
+ High performance (slow debugging/programming)
POX distro learning switch example (high level)
- Update address/port table 2. If multicast flood 3. If no table entry flood 4. If src=dst drop 5. install flow table entry
How is caching handled at switch
- Packet only reaches controller if no flow table entry at the switch 2. when controller decides on action installs in switch 3. Decision/flow table entry is cached