OpenFlow — the key standard of Software-Defined Networks


Published on

Dmitry Orekhov «OpenFlow — the key standard of Software-Defined Networks»

Доклад на апрельской линуксовке MLUG 2013

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

OpenFlow — the key standard of Software-Defined Networks

  1. 1. OpenFlow - the key standard of Software-Defined Networks Dmitry Orekhov, Epam Systems
  2. 2. 2011 © EPAM Systems Software-defined network 2 The Need for a New Network Architecture Limitations of Current Networking Technologies • Changing traffic patterns • The rise of cloud services • “Big data” means more bandwidth • The “consumerization of IT” • Complexity that leads to stasis • Inconsistent policies • Inability to scale • Vendor dependenc The key idea of SDN Network control is decoupled from forwarding and is directly programmable.
  3. 3. 2011 © EPAM Systems OpenFlow and Software-Defined Network 3 Application Level Control Layer Infrastructure Level Business application API SDN Control Software Network Device Network DeviceNetwork Device Network Device Control Data Plane interface SDN OpenFlow OpenFlow Controller OpenFlow-enabeld Device OpenFlow-enabeld Device OpenFlow-enabeld Device OpenFlow protocol OpenFlow is the first standard communications interface defined between the control and forwarding layers of an SDN architecture.
  4. 4. 2011 © EPAM Systems OpenFlow switch and Controller 4 OF Switch OF Switch OF Controller OF Switch Secure channel Flow Table 0 Flow Table N OF Protocol PORTS OpenFlow Resource OpenFlow Resource Group Table
  5. 5. 2011 © EPAM Systems Packet forwarding inside OpenFlow switch 5 OpenFlow Switch Flow Table 0 Flow Table 1 Flow Table N Match, Instruction; ...... Match, Instruction; ...... Match, Instruction; ...... In-Packet Out-Packe • Packet may transferred to other table • Packet header may be modified • Packet may be forwarded to given port or just dropped • Packet may be applied to given QoS Out-PacketOut-Packet
  6. 6. 2011 © EPAM Systems OpenFlow Switch: key elements 6 OpenFlow tables Pipeline Ports OpenFlow Channel
  7. 7. 2011 © EPAM Systems Flow table entry: key elements 7 Match criteria: Ingress-port Ethernet MAC ARP IPv4 and IPv6 TCP ports VLAN, MPLS etc. Instruction: Go-To Table Modify Metadata Action Set {forward, apply QoS, drop, Apply to Group} Match Fields Priority Counters Instruction setTimeout Cookies
  8. 8. 2011 © EPAM Systems OpenFlow examples 8 OpenFlow can be compared to the instruction set of a CPU. It specifies basic primitives that can be used by an external software application to program the forwarding plane of network devices, just like the instruction set of a CPU would program a computer system.
  9. 9. 2011 © EPAM Systems Matching 9
  10. 10. 2011 © EPAM Systems OpenFlow Protocol: key messages 10 • Handshake • Configuration • Modify • Statistics • Error • Asynchronous messages: Packet-In • Symmetric messages: Echo Request-Responce
  11. 11. 2011 © EPAM Systems OF Controller – Switch: Feedback 11 • Packet-In – Packet-Out: Controller learns Switch based on information about incoming packets sent by Switch • Error messages: Switch sends to controller messages about malformed or inappropriate packets.
  12. 12. 2011 © EPAM Systems Group Table: “Aspects” of OpenFlow 12 Groups represent sets of actions for flooding, as well as more complex forwarding semantics (e.g. multipath, fast reroute, and link aggregation). As a general layer of indirection, groups also enable multiple flows to forward to a single identifier (e.g. IP forwarding to a common next hop). This abstraction allows common output actions across flows to be changed efficiently. Group Identifier Group Type Counters Action bucket All Select Indirect Fast Failover
  13. 13. 2011 © EPAM Systems OpenFlow-Capable Switch OF Config 13 OF Switch OF Switch OF Controller OF Logical Switch Secure channel Flow Table 0 Flow Table N OF Protocol OF Switch OF Switch OF Controller OF Logical Switch Secure channel OF Protocol OF Configuration Point OF-Config Port 0 Port N OF Resources
  14. 14. 2011 © EPAM Systems NETCONF 14
  15. 15. 2011 © EPAM Systems 15 <capable-switch> <id>CapableSwitch0</id> <configuration-points> ... </configuration-points> <resources> ... </resources> <logical-switches> ... </logical-switches> </capable-switch>
  16. 16. 2011 © EPAM Systems LINC switch 16 OF ControllerOF Configuration Point LINCLINCLINC OF-Config OF Protocol Userspace implementation API (gen-switch) HW Kernel mode implementation
  17. 17. 2011 © EPAM Systems Reference 17  OpenNetworking Foundation (OpenFlow documents)  FlowForwarding (LINC Switch)  Floodlight OpenFlow controller  Apache Avro  And me, Dmitry Orekhov (