CEC354
CEC354
                MAHESH MARINA
                mahesh@ed.ac.uk
                               Routing
                              Algorithm
                           Routing algorithm                                                              control
     Control plane                                                                                         plane
     Data plane
         Values in arriving
         packet’s header
                                              1
                         1101
                                                 2
                                          3
Remote Controller
                                                                  control
                                                                   plane
                                                                  data
                                                                  plane
             CA
                        CA     CA          CA     CA
                            5
                                    3
                        2   v               w   5
                u               2
                                        3
                                            1        z
                    1
                                                2
                            x       1       y
           u               2
                                   3
                                       1        z
               1
                                           2
                       x       1       y
                                                      zz
             u               2                1
                                     3
                 1
                                                  2
                         xx              yy
                                 1
                                                                                       control
                                                                                        plane
                                                                                       data
                                                                                       plane
                    CA                                                               2. control,
                                                                                        data plane
                                      CA   CA         CA               CA               separation
1: generalized“ flow-
  based” forwarding
  (e.g., OpenFlow)
                                                                     Network Layer: Control Plane 5-10
Generalized Forwarding and SDN
  Each router contains a flow table that is computed and
   distributed by a logically centralized routing controller
                                    logically-centralized routing controller
control plane
    data plane
                             local flow table
                      headers counters actions
                                           1
                 0100 1101
                                       3 2
            values in arriving
            packet s header
OpenFlow data plane abstraction
§ flow: defined by header fields
§ generalized forwarding: simple packet-handling rules
   • Pattern: match values in packet header fields
   • Actions: for matched packet: drop, forward, modify,
     matched packet or send matched packet to controller
   • Priority: disambiguate overlapping patterns
   • Counters: #bytes and #packets
                                                 * : wildcard
      1. src=1.2.*.*, dest=3.4.5.* à drop
      2. src = *.*.*.*, dest=3.4.*.* à forward(2)
      3. src=10.1.2.3, dest=*.*.*.* à send to controller
OpenFlow: Flow Table Entries
3 4
                      Host h5
                      10.3.0.5
                                     1       s1                   1         s2
                                 2                                                       Host h4
                                                  4               2              4
                      Host h1                                                            10.2.0.4
                                     3                                  3
                      10.1.0.1
                                              Host h2
                                              10.1.0.2                          match            action
    match             action                                 Host h3
                                                                            ingress port = 2
                                                             10.2.0.3                         forward(3)
ingress port = 1                                                            IP Dst = 10.2.0.3
IP Src = 10.3.*.*   forward(4)                                              ingress port = 2
                                                                                              forward(4)
IP Dst = 10.2.*.*                                                           IP Dst = 10.2.0.4
     SDN perspective: data plane switches
 Data plane switches                             network-control applications
                                                SDN-controlled switches
Network Layer: Control Plane 5-19
OpenFlow protocol
                       § operates between
 OpenFlow Controller     controller, switch
                       § TCP used to exchange
                         messages
                         • optional encryption
                       § three classes of
                         OpenFlow messages:
                         • controller-to-switch
                         • asynchronous (switch
                           to controller)
                         • symmetric (misc)
      scalability, fault-tolerance,
      robustness                                                         data
                                                                         plane
                                         SDN-controlled switches
Network Layer: Control Plane 5-23
     SDN perspective: control applications
    network-control apps:                    network-control applications
    § “brains” of control:
                                         routing
                                                             …
      implement control functions
      using lower-level services, API              access         load
                                                   control       balance
      provided by SDN controller
    § unbundled: can be provided by                       northbound API
                                                                            control
                                                                             plane
      3rd party: distinct from routing
      vendor, or SDN controller                SDN Controller
                                          (network operating system)
southbound API
                                                                            data
                                                                            plane
                                            SDN-controlled switches
Network Layer: Control Plane 5-24
   Components of SDN controller
Network-wide state
management layer:                       statistics   …       flow tables
state of networks
                          Network-wide distributed, robust state management
                                                                                            SDN
links, switches,
                                                                                          controller
services: a distributed
database
                            Link-state info     host info   …     switch info
                              s2
       s1
                                     s4
                         s3
                                                                   Network Layer: Control Plane 5-27
OpenDaylight (ODL) controller
          Traffic       …
        Engineering                                     § ODL Lithium
                                                          controller
                   REST API
                                                        § network apps may
   Network            Basic Network Service Functions
                                                          be contained within,
 service apps                                             or be external to
  Access
                  topology
                  manager
                                 switch
                                manager
                                               stats
                                              manager
                                                          SDN controller
  Control
                        forwarding      host
                                                        § Service Abstraction
                         manager       manager            Layer: interconnects
                                                          internal, external
            Service Abstraction Layer (SAL)               applications and
                                                          services
        OpenFlow 1.0
                         …       SNMP      OVSDB
                                      agent data
            agent data
                                     managed device
                    managed device
          managing                     managing
          entity                       entity
request
                                        trap msg
          response
    PDU                          Trap
    type    Enterprise Agent     Type
                                           Specific    Time
                                                               Name Value ….
    4                  Addr                code        stamp
                                 (0-7)
                               Trap header                        Trap info
SNMP PDU