← Back to RC/4.4 Generalized Forward and SDN
  • Each router contains a flow table(forwarding table in tradicional forwarding) that is computed and distributed by a logically centralized routing controller (control plane)
  • In SDN tables are generated from the routing algorithm computation
  • In tradicional forwarding we have prefix and link interface in the second collumn
  • In SDN, flow tables have actions are more general, not just forwarding. Flows are entries/rows in the table. Packets that have matching headers take a certain action (drop, copy, modify, log packet)

2025-05-28_01:55:43.png

generalized forwarding: simple packet-handling rules

  • Pattern: match values in packet header fields
  • Actions for matched packet: drop, forward, modify, or send to controller
  • Priority: disambiguate overlapping patterns (a header might have more than one match, so more than one action)
  • Counters: # bytes and # packets
  • Router's flow table define router's match + action rules

OpenFlow Abstraction

OpenFlow - protocol between controller and flow table

2025-05-28_02:30:35.png

MiddleBoxes

  • initially: proprietary (closed) hardware solutions
  • move towards “whitebox” hardware implementing open API -> move away from proprietary hardware solutions -> programmable local actions via match+action -> move towards innovation/differentiation in software
  • SDN: (logically) centralized control and configuration management often in private/public cloud
  • network functions virtualization (NFV): programmable services over white box networking, computation, storage