Software Defined Networking
with OpenFlow
Get hands-on with the platforms and development tools
used to build OpenFlow network applications
Siamak Azodolmolky
BIRMINGHAM - MUMBAI
Software Defined Networking with OpenFlow
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: October 2013
Production Reference: 1211013
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84969-872-6
www.packtpub.com
Cover Image by Mrunal Gawade (mrunal.gawade@gmail.com)
Credits
Author
Siamak Azodolmolky
Project Coordinator
Akash Poojary
Reviewers
Prof. Dr. Christian Esteve
Rothenberg
Seungwon Shin
Acquisition Editor
Julian Ursell
Commissioning Editor
Manasi Pandire
Technical Editors
Manan Badani
Nadeem Bagban
Tanvi Bhatt
Pankaj Kadam
Pramod Kumavat
Sonali Vernekar
Proofreader
Faye Coulman
Linda Morris
Indexer
Hemangini Bari
Graphics
Ronak Dhruv
Abhinash Sahu
Production Coordinator
Melwyn D’sa
Cover Work
Melwyn D’sa
About the Author
Siamak Azodolmolky received his Computer Engineering degree from Tehran
University and his first MSc. degree in Computer Architecture from Azad University
in 1994 and 1998 respectively. He was employed by Data Processing Iran Co. (IBM
in Iran) as a Software Developer, Systems Engineer, and as a Senior R&D Engineer
during 1992-2001. He received his second MSc. degree with distinction from Carnegie
Mellon University in 2006. He joined Athens Information Technology (AIT) as a
Research Scientist and Software Developer in 2007, while pursuing his PhD degree. In
August 2010, he joined the High Performance Networks research group of the School
of Computer Science and Electronic Engineering (CSEE) of the University of Essex as a
Senior Research Officer. He received his PhD (with ‘cum laude’) from the Universitat
Politécnica de Catalunya UPC in 2011. He has been the technical investigator of
various national and EU funded projects. Software Defined Networking (SDN) has
been one of his research interests since 2010, in which he has been investigating the
extension of OpenFlow towards its application in core transport (optical) networks.
He has published more than 50 scientific papers in international conferences, journals,
and books. Currently, he is with Gesellschaft für Wissenschaftliche Datenverarbeitung
mbH Göttingen (GWDG) as a Senior Researcher and has lead SDN related activities
since September 2012. He is a professional member of ACM and a senior member
of IEEE.
Whenever I reach the end of a book production, once again I realize
that nobody is perfect. I would like to thank the technical reviewers
for providing me with fruitful and constructive feedback. Any
remaining errors are, of course, my own. I would also like to thank
the Packt Publishing team who has been really supportive in getting
this book off the ground. The knowledge, support, and experience
of many colleagues in the SDN community have been instrumental
in filling the gaps in my understanding of SDN. This book was not
simply possible without them.
Finally, sincere and especially heartfelt thanks go out to my son,
Parsa Azodolmolky. His patience during writing time, while being
away from me is greatly appreciated. I love you Parsa.
About the Reviewers
Christian Esteve Rothenberg, has been an Assistant Professor at the University
of Campinas (UNICAMP) since August 2013, where he received his PhD in
Electrical and Computer Engineering in 2010. From 2010 to 2013, he worked as a
Senior Research Scientist in the areas of IP systems and networking at CPqD R&D
Center in Telecommunications, Campinas, Brazil. Christian was the technical lead
of OpenFlow/SDN activities that resulted in RouteFlow and the first open source
OpenFlow 1.2 and 1.3 software toolkits.
He holds a Telecommunication Engineering degree from the Technical University
of Madrid (ETSIT-UPM), Spain, and an M.Sc. (Dipl. Ing.) degree in Electrical
Engineering and Information Technology from the Darmstadt University of
Technology (TUD), Germany in 2006. Christian holds two international patents
and has published in scientific journals and top-tier networking conferences, such
as SIGCOMM and INFOCOM. Since April 2013, Christian has been working as a
Research Associate of the Open Networking Foundation (ONF).
Seungwon Shin has recently graduated in Computer Engineering from the
Texas A&M University. His research topic was Software Defined Networking
(SDN) Security. He has published more than 15 papers in academia and developed
open source SDN security tools, FRESCO and FortNOX (and also, SE-FloodLight).
Currently, he is working at Atto-Research, Korea, a startup company developing
robust and secure OpenFlow controllers.
www.PacktPub.com
Support files, eBooks, discount offers
and more
You might want to visit www.PacktPub.com for support files and downloads related to
your book.
Did you know that Packt offers eBook versions of every book published, with PDF and
ePub files available? You can upgrade to the eBook version at www.PacktPub.com and
as a print book customer, you are entitled to a discount on the eBook copy. Get in touch
with us at service@packtpub.com for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up
for a range of free newsletters and receive exclusive discounts and offers on Packt books
and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt’s online digital
book library. Here, you can access, read and search across Packt’s entire library of books.
Why Subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print and bookmark content
• On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view nine entirely free books. Simply use your login credentials for
immediate access.
Table of Contents
Preface
Chapter 1: Introducing OpenFlow
Understanding Software Defined Networking – OpenFlow flavor
Activities around SDN/OpenFlow
Building Blocks
OpenFlow messages
Controller-to-switch
Features
Configuration
Modify-State
Read-State
Send-Packet
Barrier
Symmetric messages
Hello
Echo
Vendor
Asynchronous messages
Packet-in
Flow-Removal
Port-status
Error
Northbound interface
Summary
Chapter 2: Implementing the OpenFlow Switch
OpenFlow reference switch
Asynchronous messages
Symmetric Messages
Hardware Implementations
Software-based switches
1
7
7
8
9
15
16
17
17
17
18
18
19
19
19
19
19
19
20
20
20
20
21
21
23
23
26
27
27
28