lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

index.md (1895B)


      1 +++
      2 title = 'Software defined networking'
      3 +++
      4 
      5 ## Software defined networking
      6 Software defined network:
      7 - control plane physically separate from data plane
      8 - single (logically centralized) control plane controls several forwarding devices
      9 
     10 Abstractions in SDN:
     11 
     12 ![Diagram of abstractions in SDN](abstractions-in-sdn-diagram.png)
     13 
     14 Forwarding abstraction: OpenFlow
     15 - intent, independent of implementation
     16 - standardized interface to switch
     17 - configuration using flow entries: `<header, action>`
     18     - match on any header, or new header
     19     - action: forward to port(s), drop, send to controller, change header, forward at specific bit-rate
     20       - but no support for payload-related functions
     21 
     22 Network state abstraction: "Network Operating Systems"
     23 - annotated network graph provided through API
     24 - runs on servers in network
     25 - information flows from router/switches to form view
     26 - configurations flow to routers/switches to control forwarding
     27 
     28 Specification abstraction
     29 - control mechanism express desired behavior
     30 - not responsible for implementing that behavior on physical network infrastructure
     31 - proposed: abstract view of the network
     32 
     33 ### Network testing (slicing)
     34 Hard to realistically test new network services.
     35 
     36 So, slice the network:
     37 - divide production network into logical slices
     38 - users pick which slice controls their traffic (testing is opt-in)
     39 - enforce strong isolation between slices
     40 
     41 Slicing policy specifies resource limit for each slice.
     42 - FlowVisor can be used to enforce network slicing, by checking policies
     43 
     44 ### Composing network control programs
     45 CoVisor is compositional hypervisor for SDN:
     46 - clean interface to compose multiple controllers on same network
     47 - provides operators: parallel (`+`), sequential (`>>`), override (`▷`)
     48 - constraints on individual controllers:
     49   - visibility (virtual topology for each controller)
     50   - capability (fine-grained access control)