SlideShare a Scribd company logo
NDI Communications - Engineering & Training
Software Defined Networking (SDN)
Chapter 3 – OpenFlow Protocols
Page 2
Chapter Content
Operation
Messages
Packet Structure
Switch Protocol
Features
Page 3
Controller
OpenFlow Usage
OpenFlow
Switch
OpenFlow
Switch
OpenFlow
Switch
Alice’s code
Decision?
OpenFlow
Protocol
Alice’s Rule
Alice’s Rule Alice’s Rule
Page 4
Controller
Communication in OpenFlow Network
Flow Table:
Match Field Action
empty empty
Host 1
MAC address
08-00-20-3A-00-4F
OpenFlow
Switch
Src: 08-00-20-3A-00-4F
Dst: 08-00-2A-0B-FE-FD
21
Packet-in: unmatched frame
with MAC 08-00-2A-0B-FE-FD
Packet-out: flood on all ports
except ingress port
Host 2
MAC address
08-00-2A-0B-FE-FD
MAC table:
MAC address Ingress port
08-00-20-3A-00-4F 1
Page 5
Communication in OpenFlow Network
Flow Table:
Match Field Action
Src: 08-00-2A-0B-FE-FD
Dst: 08-00-20-3A-00-4F
Forward on
port 1
Src: 08-00-20-3A-00-4F
Dst: 08-00-2A-0B-FE-FD
Forward on
port 2
Host 1
MAC address
08-00-20-3A-00-4F
OpenFlow
Switch
Controller
21
Packet-in: unmatched frame with
MAC 08-00-20-3A-00-4F
Packet-out: forward on port 1
MAC table:
MAC address Ingress port
08-00-20-3A-00-4F 1
08-00-2A-0B-FE-FD 2
Host 2
MAC address
08-00-2A-0B-FE-FD
Match Action
Src: 08-00-2A-0B-FE-FD
Dst: 08-00-20-3A-00-4F
Forward on
port 1
Match Action
Src: 08-00-20-3A-00-4F
Dst: 08-00-2A-0B-FE-FD
Forward on
port 2 Src: 08-00-2A-0B-FE-FD
Dst: 08-00-20-3A-00-4F
Flow-mod messages:
Page 6
Chapter Content
Operation
Messages
Packet Structure
Switch Protocol
Features
Page 7
Controller/Switch Messages
The OpenFlow switch protocol supports three message types:
controller-to-switch, asynchronous, and symmetric, each with
multiple sub-types.
Controller-to-switch messages are initiated by the controller and
used to directly manage or inspect the state of the switch.
Asynchronous messages are initiated by the switch and used to
update the controller of network events and changes to the switch
state.
Symmetric messages are initiated by either the switch or the
controller and sent without solicitation.
Page 8
Controller to Switch Messages
Controller to switch messages are initiated by the controller and may or may not require a
response from the switch.
Features: The controller may request the identity and the basic capabilities of a switch by sending a
features request
Configuration: The controller is able to set and query configuration parameters in the switch.
Modify-State: Modify-State messages are sent by the controller to manage state on the switches.
Read-State: Read-State messages are used by the controller to collect various information from the
switch, such as current configuration, statistics and capabilities.
Packet-out: These are used by the controller to send packets out of a specified port on the switch, and
to forward packets received via Packet-in messages.
Barrier: Barrier request/reply messages are used by the controller to ensure message dependencies have
been met or to receive notifications for completed operations.
Role-Request: Role-Request messages are used by the controller to set the role of its OpenFlow channel,
or query that role.
Asynchronous-Configuration: The Asynchronous-Configuration messages are used by the controller to set
an additional filter on the asynchronous messages that it wants to receive on its OpenFlow channel, or to
query that filter.
Page 9
Asynchronous Messages
Messages initiated by the switch, and sent to the controller:
Packet-in: Transfer the control of a packet to the controller.
Flow-Removed: Inform the controller about the removal of a flow
entry from a flow table.
Port-status: Inform the controller of a change on a port.
Error: The switch is able to notify controllers of problems using
error messages.
Page 10
Symmetric Messages
Symmetric messages are sent without solicitation, in either
direction.
Hello: Hello messages are exchanged between the switch and
controller upon connection startup.
Echo: Echo request/reply messages can be sent from either the
switch or the controller, and must return an echo reply.
Experimenter: Experimenter messages provide a standard way for
OpenFlow switches to offer additional functionality within the
OpenFlow message type space.
Page 11
OpenFlow Channel Connections
The OpenFlow channel is used to exchange OpenFlow message
between an OpenFlow switch and an OpenFlow controller.
A typical OpenFlow controller manages multiple OpenFlow
channels, each one to a different OpenFlow switch.
An OpenFlow switch may have one OpenFlow channel to a single
controller, or multiple channels for reliability, each to a
different controller.
The OpenFlow channel is usually instantiated as a single network
connection between the switch and the controller, using TLS or
plain TCP.
Page 12
Chapter Content
Operation
Messages
Packet Structure
Switch Protocol
Features
12
Page 13
Packet Example – Features Request/Reply
Message sent by the
controller on session
establishment
Message sent back
from the switch to
the controller
Page 14
Packet Example – Packet In / packet Out
Page 15
Packet Example – Port Statistics
Page 16
Packet Example – Port Modification
Page 17
Security
The switch and controller may communicate through a TLS
connection.
The TLS connection is initiated by the switch on startup to the
controller, which is listening either on a user-specified TCP port
or on the default TCP port 6653 .
The switch and controller mutually authenticate by exchanging
certificates signed by a site-specific private key.
The switch and controller may optionally communicate using plain
TCP.
Page 18
Multiple Controllers
The switch may establish communication with a single controller,
or may establish communication with multiple controllers.
Having multiple controllers improves reliability, as the switch
can continue to operate in OpenFlow mode if one controller or
controller connection fails.
The hand-over between controllers is entirely managed by the
controllers themselves, which enables fast recovery from failure
and also controller load balancing.
The controllers coordinate the management of the switch
amongst themselves via mechanisms outside the scope of the
present specification
Page 19
Summary
Yoram Orzach
yoram@ndi-com.com
Thank You!!!
Coming soon LIVE on our NEW
e-Learning portal

More Related Content

PDF
Ch 02 --- sdn and openflow architecture
PPT
Ports & sockets
PDF
TCP - Transmission Control Protocol
PDF
TCP Theory
PDF
Open Flow Tutorial Series - Set 1
PPTX
Openflow Protocol
PPTX
TCP/IP and UDP protocols
PPT
Features of tcp (part 2) .68
Ch 02 --- sdn and openflow architecture
Ports & sockets
TCP - Transmission Control Protocol
TCP Theory
Open Flow Tutorial Series - Set 1
Openflow Protocol
TCP/IP and UDP protocols
Features of tcp (part 2) .68

What's hot (20)

PPTX
PPTX
TCP/IP 3-way Handshake
PPT
Chap 12 tcp
PPTX
Transmission Control Protocol (TCP)
PPTX
Part 12 : Local Area Networks
PPTX
Packet Analysis - Course Technology Computing Conference
PPT
Tcp Udp
PDF
Transport layer services
PPTX
Part 7 : HTTP/2, UDP and TCP
PPTX
12 ethernet-wifi
PPTX
Tcp udp
PPT
TCP/IP(networking)
PPTX
10 routing-bgp
PPTX
Multipath TCP
PPT
An overview of TCP (Transmission Control Protocol)
PPTX
Transport Layer Part 1
PPT
User datagram protocol
DOC
Tcp Udp Notes
PPTX
Making our networking stack truly extensible
PPTX
Transport layer
TCP/IP 3-way Handshake
Chap 12 tcp
Transmission Control Protocol (TCP)
Part 12 : Local Area Networks
Packet Analysis - Course Technology Computing Conference
Tcp Udp
Transport layer services
Part 7 : HTTP/2, UDP and TCP
12 ethernet-wifi
Tcp udp
TCP/IP(networking)
10 routing-bgp
Multipath TCP
An overview of TCP (Transmission Control Protocol)
Transport Layer Part 1
User datagram protocol
Tcp Udp Notes
Making our networking stack truly extensible
Transport layer
Ad

Viewers also liked (20)

PDF
Ch 04 --- sdn deployment models
PDF
Ch 05 --- nfv basics
PDF
Network Analysis Using Wireshark 1
PPT
Wireshark Basics
PPT
OpenFlow Tutorial
PDF
Enhancing Security in OpenFlow
PPTX
On SDN Research Topics - Christian Esteve Rothenberg
PDF
Software Defined Networking/Openflow: A path to Programmable Networks
PPTX
Introduction To Cellular And Wireless Networks
PPTX
ECI OpenFlow 2.0 the Future of SDN
PPTX
Securing ARP in Software Defined Networks
PDF
Ch 07 -- The Expert System
PDF
Wireshark course, Ch 05: Advanced statistics tools
PDF
Wireshark course, Ch 03: Capture and display filters
PPTX
Open flow
PDF
SDN - OpenFlow protocol
PDF
Wireshark course, Ch 02: Introduction to wireshark
PDF
Ch 06 -- Bandwidth Delay and Jitter Issues
PDF
Ch 01 --- introduction to sdn-nfv
PPTX
Software defined networks and openflow protocol
Ch 04 --- sdn deployment models
Ch 05 --- nfv basics
Network Analysis Using Wireshark 1
Wireshark Basics
OpenFlow Tutorial
Enhancing Security in OpenFlow
On SDN Research Topics - Christian Esteve Rothenberg
Software Defined Networking/Openflow: A path to Programmable Networks
Introduction To Cellular And Wireless Networks
ECI OpenFlow 2.0 the Future of SDN
Securing ARP in Software Defined Networks
Ch 07 -- The Expert System
Wireshark course, Ch 05: Advanced statistics tools
Wireshark course, Ch 03: Capture and display filters
Open flow
SDN - OpenFlow protocol
Wireshark course, Ch 02: Introduction to wireshark
Ch 06 -- Bandwidth Delay and Jitter Issues
Ch 01 --- introduction to sdn-nfv
Software defined networks and openflow protocol
Ad

Similar to Ch 03 --- the OpenFlow protocols (20)

PDF
Looking at SDN with DDS Glasses
PDF
SDN Fundamentals - short presentation
PPTX
IT1634 – SDN Unit 2 Software Defined Nwtwork
PPTX
Software-Defined Networking (SDN) is a transformative networking paradigm
PPTX
Lecture14 1
PDF
Understanding OpenFlow
PDF
Evaluation of OpenFlow in RB750GL
PPTX
OpenFlow
PDF
Mr201304 open flow_security_eng
PPT
Firewall
PPTX
cCN UNIT4.pptxhomijo,k,ojik,m9uhgyh9ui,polo,0im
PPTX
What Are TCP and UDP protocols and how they work
PPT
CN_UNIT4.ppt ytutuim jykhjl fjghkhj gjjj
PPT
Point-to-Point Protocol(PPP) CCN ppt
PPT
CN_UNIT4.ppt notre knxckvj bjbDJKVHFL jb
PPTX
Vulnerability analysis of OpenFlow control channel
PPT
Transport Layer
PPT
Transport Layer [Autosaved]
PDF
Open VSwitch .. Use it for your day to day needs
PDF
Distributed systems short notes module 1
Looking at SDN with DDS Glasses
SDN Fundamentals - short presentation
IT1634 – SDN Unit 2 Software Defined Nwtwork
Software-Defined Networking (SDN) is a transformative networking paradigm
Lecture14 1
Understanding OpenFlow
Evaluation of OpenFlow in RB750GL
OpenFlow
Mr201304 open flow_security_eng
Firewall
cCN UNIT4.pptxhomijo,k,ojik,m9uhgyh9ui,polo,0im
What Are TCP and UDP protocols and how they work
CN_UNIT4.ppt ytutuim jykhjl fjghkhj gjjj
Point-to-Point Protocol(PPP) CCN ppt
CN_UNIT4.ppt notre knxckvj bjbDJKVHFL jb
Vulnerability analysis of OpenFlow control channel
Transport Layer
Transport Layer [Autosaved]
Open VSwitch .. Use it for your day to day needs
Distributed systems short notes module 1

More from Yoram Orzach (17)

PDF
Network analysis Using Wireshark Lesson 1- introduction to network troublesho...
PDF
Network analysis Using Wireshark Lesson 12 - bandwidth and delay issues
PDF
Network analysis Using Wireshark Lesson 11: TCP and UDP Analysis
PDF
Network Analysis Using Wireshark Jan 18- seminar
PDF
Network Analysis Using Wireshark -10- arp and ip analysis
PDF
Network Analysis Using Wireshark Chapter 09 ethernet and lan switching
PDF
Network Analysis Using Wireshark Chapter 08 the expert system
PDF
lesson 7- Network analysis Using Wireshark - advanced statistics tools
PDF
Network Analysis Using Wireshark -Chapter 6- basic statistics tools
PDF
Network analysis Using Wireshark Lesson 3: locating wireshark
PDF
lesson 2- Network analysis Using Wireshark introduction to cellular feb-2017
PDF
Network Analysis using Wireshark 5: display filters
PDF
Network analysis Using Wireshark 4: Capture Filters
PDF
Wireshark - Basics
PDF
Ch 09 -- ARP & IP Analysis
PDF
Ch 08 -- Ethernet & LAN Switching Troubleshooting
PDF
Introduction To Cellular Networks
Network analysis Using Wireshark Lesson 1- introduction to network troublesho...
Network analysis Using Wireshark Lesson 12 - bandwidth and delay issues
Network analysis Using Wireshark Lesson 11: TCP and UDP Analysis
Network Analysis Using Wireshark Jan 18- seminar
Network Analysis Using Wireshark -10- arp and ip analysis
Network Analysis Using Wireshark Chapter 09 ethernet and lan switching
Network Analysis Using Wireshark Chapter 08 the expert system
lesson 7- Network analysis Using Wireshark - advanced statistics tools
Network Analysis Using Wireshark -Chapter 6- basic statistics tools
Network analysis Using Wireshark Lesson 3: locating wireshark
lesson 2- Network analysis Using Wireshark introduction to cellular feb-2017
Network Analysis using Wireshark 5: display filters
Network analysis Using Wireshark 4: Capture Filters
Wireshark - Basics
Ch 09 -- ARP & IP Analysis
Ch 08 -- Ethernet & LAN Switching Troubleshooting
Introduction To Cellular Networks

Recently uploaded (20)

PPT
250152213-Excitation-SystemWERRT (1).ppt
PPTX
newyork.pptxirantrafgshenepalchinachinane
PPT
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
PPTX
Database Information System - Management Information System
PPT
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
DOC
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
PPTX
Mathew Digital SEO Checklist Guidlines 2025
PPTX
Funds Management Learning Material for Beg
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PPTX
Internet___Basics___Styled_ presentation
PDF
Smart Home Technology for Health Monitoring (www.kiu.ac.ug)
PPT
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PPTX
artificialintelligenceai1-copy-210604123353.pptx
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PDF
mera desh ae watn.(a source of motivation and patriotism to the youth of the ...
PPTX
t_and_OpenAI_Combined_two_pressentations
250152213-Excitation-SystemWERRT (1).ppt
newyork.pptxirantrafgshenepalchinachinane
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
Database Information System - Management Information System
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
Mathew Digital SEO Checklist Guidlines 2025
Funds Management Learning Material for Beg
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
Internet___Basics___Styled_ presentation
Smart Home Technology for Health Monitoring (www.kiu.ac.ug)
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt
presentation_pfe-universite-molay-seltan.pptx
Module 1 - Cyber Law and Ethics 101.pptx
artificialintelligenceai1-copy-210604123353.pptx
Unit-1 introduction to cyber security discuss about how to secure a system
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
mera desh ae watn.(a source of motivation and patriotism to the youth of the ...
t_and_OpenAI_Combined_two_pressentations

Ch 03 --- the OpenFlow protocols

  • 1. NDI Communications - Engineering & Training Software Defined Networking (SDN) Chapter 3 – OpenFlow Protocols
  • 2. Page 2 Chapter Content Operation Messages Packet Structure Switch Protocol Features
  • 3. Page 3 Controller OpenFlow Usage OpenFlow Switch OpenFlow Switch OpenFlow Switch Alice’s code Decision? OpenFlow Protocol Alice’s Rule Alice’s Rule Alice’s Rule
  • 4. Page 4 Controller Communication in OpenFlow Network Flow Table: Match Field Action empty empty Host 1 MAC address 08-00-20-3A-00-4F OpenFlow Switch Src: 08-00-20-3A-00-4F Dst: 08-00-2A-0B-FE-FD 21 Packet-in: unmatched frame with MAC 08-00-2A-0B-FE-FD Packet-out: flood on all ports except ingress port Host 2 MAC address 08-00-2A-0B-FE-FD MAC table: MAC address Ingress port 08-00-20-3A-00-4F 1
  • 5. Page 5 Communication in OpenFlow Network Flow Table: Match Field Action Src: 08-00-2A-0B-FE-FD Dst: 08-00-20-3A-00-4F Forward on port 1 Src: 08-00-20-3A-00-4F Dst: 08-00-2A-0B-FE-FD Forward on port 2 Host 1 MAC address 08-00-20-3A-00-4F OpenFlow Switch Controller 21 Packet-in: unmatched frame with MAC 08-00-20-3A-00-4F Packet-out: forward on port 1 MAC table: MAC address Ingress port 08-00-20-3A-00-4F 1 08-00-2A-0B-FE-FD 2 Host 2 MAC address 08-00-2A-0B-FE-FD Match Action Src: 08-00-2A-0B-FE-FD Dst: 08-00-20-3A-00-4F Forward on port 1 Match Action Src: 08-00-20-3A-00-4F Dst: 08-00-2A-0B-FE-FD Forward on port 2 Src: 08-00-2A-0B-FE-FD Dst: 08-00-20-3A-00-4F Flow-mod messages:
  • 6. Page 6 Chapter Content Operation Messages Packet Structure Switch Protocol Features
  • 7. Page 7 Controller/Switch Messages The OpenFlow switch protocol supports three message types: controller-to-switch, asynchronous, and symmetric, each with multiple sub-types. Controller-to-switch messages are initiated by the controller and used to directly manage or inspect the state of the switch. Asynchronous messages are initiated by the switch and used to update the controller of network events and changes to the switch state. Symmetric messages are initiated by either the switch or the controller and sent without solicitation.
  • 8. Page 8 Controller to Switch Messages Controller to switch messages are initiated by the controller and may or may not require a response from the switch. Features: The controller may request the identity and the basic capabilities of a switch by sending a features request Configuration: The controller is able to set and query configuration parameters in the switch. Modify-State: Modify-State messages are sent by the controller to manage state on the switches. Read-State: Read-State messages are used by the controller to collect various information from the switch, such as current configuration, statistics and capabilities. Packet-out: These are used by the controller to send packets out of a specified port on the switch, and to forward packets received via Packet-in messages. Barrier: Barrier request/reply messages are used by the controller to ensure message dependencies have been met or to receive notifications for completed operations. Role-Request: Role-Request messages are used by the controller to set the role of its OpenFlow channel, or query that role. Asynchronous-Configuration: The Asynchronous-Configuration messages are used by the controller to set an additional filter on the asynchronous messages that it wants to receive on its OpenFlow channel, or to query that filter.
  • 9. Page 9 Asynchronous Messages Messages initiated by the switch, and sent to the controller: Packet-in: Transfer the control of a packet to the controller. Flow-Removed: Inform the controller about the removal of a flow entry from a flow table. Port-status: Inform the controller of a change on a port. Error: The switch is able to notify controllers of problems using error messages.
  • 10. Page 10 Symmetric Messages Symmetric messages are sent without solicitation, in either direction. Hello: Hello messages are exchanged between the switch and controller upon connection startup. Echo: Echo request/reply messages can be sent from either the switch or the controller, and must return an echo reply. Experimenter: Experimenter messages provide a standard way for OpenFlow switches to offer additional functionality within the OpenFlow message type space.
  • 11. Page 11 OpenFlow Channel Connections The OpenFlow channel is used to exchange OpenFlow message between an OpenFlow switch and an OpenFlow controller. A typical OpenFlow controller manages multiple OpenFlow channels, each one to a different OpenFlow switch. An OpenFlow switch may have one OpenFlow channel to a single controller, or multiple channels for reliability, each to a different controller. The OpenFlow channel is usually instantiated as a single network connection between the switch and the controller, using TLS or plain TCP.
  • 12. Page 12 Chapter Content Operation Messages Packet Structure Switch Protocol Features 12
  • 13. Page 13 Packet Example – Features Request/Reply Message sent by the controller on session establishment Message sent back from the switch to the controller
  • 14. Page 14 Packet Example – Packet In / packet Out
  • 15. Page 15 Packet Example – Port Statistics
  • 16. Page 16 Packet Example – Port Modification
  • 17. Page 17 Security The switch and controller may communicate through a TLS connection. The TLS connection is initiated by the switch on startup to the controller, which is listening either on a user-specified TCP port or on the default TCP port 6653 . The switch and controller mutually authenticate by exchanging certificates signed by a site-specific private key. The switch and controller may optionally communicate using plain TCP.
  • 18. Page 18 Multiple Controllers The switch may establish communication with a single controller, or may establish communication with multiple controllers. Having multiple controllers improves reliability, as the switch can continue to operate in OpenFlow mode if one controller or controller connection fails. The hand-over between controllers is entirely managed by the controllers themselves, which enables fast recovery from failure and also controller load balancing. The controllers coordinate the management of the switch amongst themselves via mechanisms outside the scope of the present specification
  • 19. Page 19 Summary Yoram Orzach yoram@ndi-com.com Thank You!!! Coming soon LIVE on our NEW e-Learning portal