skip to main content
survey

Are We Ready to Drive Software-Defined Networks? A Comprehensive Survey on Management Tools and Techniques

Published:20 February 2018Publication History
Skip Abstract Section

Abstract

In the context of the emergent Software-Defined Networking (SDN) paradigm, the attention is mostly directed to the evolution of control protocols and networking functionalities. However, network professionals also need the right tools to reach the same level—and beyond—of monitoring and control they have in traditional networks. Current SDN tools are developed on an ad hoc basis, for specific SDN frameworks, while production environments demand standard platforms and easy integration. This survey aims to foster the definition of the next generation SDN management framework by providing the readers a thorough overview of existing SDN tools and main research directions.

References

  1. Dennis Abts, Michael R. Marty, Philip M. Wells, Peter Klausler, and Hong Liu. 2010. Energy proportional datacenter networks. In Proceedings of the 37th Annual International Symposium on Computer Architecture. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Kanak Agarwal, Eric Rozner, Colin Dixon, and John Carter. 2014. SDN traceroute: Tracing SDN forwarding without changing network behavior. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. B. Akers. 1978. Binary decision diagrams. IEEE Transactions on Computers 27, 6 (1978), 509--516. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Ali Al-Shabibi, Marc De Leenheer, Matteo Gerola, Ayaka Koshibe, Guru Parulkar, Elio Salvadori, and Bill Snow. 2014. OpenVirteX: Make your virtual SDNs programmable. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ehab Al-Shaer and Saeed Al-Haj. 2010. FlowChecker: Configuration analysis and verification of federated OpenFlow infrastructures. In Proceedings of the 3rd ACM Workshop on Assurable and Usable Security Configuration. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Amer Aljaedi and C. Edward Chow. 2016. Pathseer: A centralized tracer of packet trajectories in software-defined datacenter networks. In Proceedings of 2016 Principles, Systems and Applications of IP Telecommunications (IPTComm). 1--9.Google ScholarGoogle Scholar
  7. Rodolfo Alvizu, Guido Maier, Navin Kukreja, Achille Pattavina, Roberto Morro, Alessandro Capello, and Carlo Cavazzoni. 2017. Comprehensive survey on T-SDN: Software-defined networking for transport networks. IEEE Communications Surveys Tutorials PP, 99 (2017), 1--1.Google ScholarGoogle Scholar
  8. Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. 2014. NetKAT: Semantic foundations for networks. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Vitaly Antonenko and Ruslan Smelyanskiy. 2013. Global network modelling based on mininet approach. In Proceedings of the 2nd ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Aslan and A. Matrawy. 2016. On the impact of network state collection on the performance of SDN applications. IEEE Communications Letters 20, 1 (2016), 5--8.Google ScholarGoogle ScholarCross RefCross Ref
  11. Alvin AuYoung, Yadi Ma, Sujata Banerjee, Jeongkeun Lee, Puneet Sharma, Yoshio Turner, Chen Liang, and Jeffrey C. Mogul. 2014. Democratic resolution of resource conflicts between SDN control programs. In Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Thomas Ball, Nikolaj Bjørner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly Sagiv, Michael Schapira, and Asaf Valadarsky. 2014. VeriCon: Towards verifying controller programs in software-defined networks. In ACM SIGPLAN Notices 49, 6 (2014), 282--293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Banerjee and K. Kannan. 2014. Tag-in-tag: Efficient flow table management in SDN switches. In Proceedings of the 10th International Conference on Network and Service Management (CNSM’14).Google ScholarGoogle Scholar
  14. Ryan Beckett, Xuan Kelvin Zou, Shuyuan Zhang, Sharad Malik, Jennifer Rexford, and David Walker. 2014. An assertion language for debugging SDN applications. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Bemby, Hongbin Lu, K. H. Zadeh, H. Bannazadeh, and A. Leon-Garcia. 2015. ViNO: SDN overlay to allow seamless migration across heterogeneous infrastructure. In Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM’15).Google ScholarGoogle Scholar
  16. Theophilus Benson, Aditya Akella, and David A. Maltz. 2010. Network traffic characteristics of data centers in the wild. In Proceedings of the 10th ACM SIGCOMM Conference on Internet Measurement. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Pankaj Berde, Matteo Gerola, Jonathan Hart, Yuta Higuchi, Masayoshi Kobayashi, Toshio Koide, Bob Lantz, Brian O’Connor, Pavlin Radoslavov, William Snow, and Guru Parulkar. 2014. ONOS: Towards an open, distributed SDN OS. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Bjorklund. 2010. YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF). RFC 6020 (Proposed Standard). Retrieved Oct. 2010 from http://www.ietf.org/rfc/rfc6020.txt.Google ScholarGoogle Scholar
  19. Andreas Blenk, Arsany Basta, Martin Reisslein, and Wolfgang Kellerer. 2015. Survey on network virtualization hypervisors for software defined networking. CoRR (2015). http://arxiv.org/abs/1506.07275.Google ScholarGoogle Scholar
  20. Avrim Blum. 2001. Graphplan. Retrieved Nov. 2017 from https://www.cs.cmu.edu/∼avrim/graphplan.html.Google ScholarGoogle Scholar
  21. Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, and David Walker. 2014. P4: Programming protocol-independent packet processors. SIGCOMM Computer Communication Review 44, 3 (July 2014), 87--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Patrice Brmond-Grgoire, Insup Lee, and Richard Gerber. 1993. ACSR: An algebra of communicating shared resources with dense time and priorities. In Proceedings of CONCUR’93. Lecture Notes in Computer Science, Vol. 715. Springer, Berlin, 417--431. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. K. Bu, X. Wen, B. Yang, Y. Chen, L. E. Li, and X. Chen. 2016. Is every flow on the right track?: Inspect SDN forwarding with RuleScope. In Proceedings of IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications. 1--9.Google ScholarGoogle Scholar
  24. Peter Buneman, Sanjeev Khanna, and Tan Wang-Chiew. 2001. Why and Where: A Characterization of Data Provenance. Lecture Notes in Computer Science book series (LNCS), Vol. 1973. Springer, 316--330. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Marco Canini, Daniele Venzano, Peter Peresini, Dejan Kostic, Jennifer Rexford, et al. 2012. A NICE way to test openflow applications. In Proceedings of NSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Luciano Jerez Chaves. 2017. OpenFlow 1.3 module for ns-3. Retrieved Nov. 2017 from http://www.lrc.ic.unicamp.br/ofswitch13/ofswitch13.pdf.Google ScholarGoogle Scholar
  27. Shubhajit Roy Chowdhury, M. Faizul Bari, Rizwan Ahmed, and Raouf Boutaba. 2014. Payless: A low cost network monitoring framework for software defined networks. In Proceedings of the 2014 IEEE Network Operations and Management Symposium (NOMS’14).Google ScholarGoogle ScholarCross RefCross Ref
  28. Haim Cohen. 2004. The BuDDy Library 8 Boolean Expressions. Retrieved Dec. 2016 from http://www.drdobbs.com/the-buddy-library-boolean-expressions/184401847.Google ScholarGoogle Scholar
  29. Andrew R. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma, and Sujata Banerjee. 2011. DevoFlow: Scaling flow management for high-performance networks. In Proceedings of the ACM SIGCOMM 2011 Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Darabseh, M. Al-Ayyoub, Y. Jararweh, E. Benkhelifa, M. Vouk, and A. Rindos. 2015. SDDC: A software defined datacenter experimental framework. In Proceedings of the 3rd International Conference on Future Internet of Things and Cloud (FiCloud’15). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Tooska Dargahi, Alberto Caponi, Moreno Ambrosin, Giuseppe Bianchi, and Mauri Conti. 2017. A survey on the security of stateful SDN data planes. IEEE Communications Surveys Tutorials PP, 99 (2017), 1--1.Google ScholarGoogle Scholar
  32. Jeffrey Dean and Sanjay Ghemawat. 2008. MapReduce: Simplified data processing on large clusters. Communications of the ACM 51, 1 (Jan. 2008), 107--113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Abhishek Dixit, Kirill Kogan, and Patrick Eugster. 2014. Composing heterogeneous SDN controllers with flowbricks. In Proceedings of the 2014 IEEE 22nd International Conference on Network Protocols (ICNP’14). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. R. Doriguzzi-Corin, P. A. A. Gutierrez, E. Rojas, H. Karl, and E. Salvadori. 2016. Reusability of software-defined networking applications: A runtime, multi-controller approach. In Proceedings of the 2016 12th International Conference on Network and Service Management (CNSM’16). 209--215.Google ScholarGoogle Scholar
  35. Roberto Doriguzzi-Corin, Domenico Siracusa, Elio Salvadori, and Arne Schwabe. 2016. Empowering network operating systems with memory management techniques. In Proceedings of the IEEE/IFIP Network Operations and Management Symposium.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Ramakrishnan Durairajan, Joel Sommers, and Paul Barford. 2014. Controller-agnostic SDN debugging. In Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Ahmed El-Hassany, Jeremie Miserez, Pavol Bielik, Laurent Vanbever, and Martin Vechev. 2016. SDNRacer: Concurrency analysis for software-defined networks. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation. 402--415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Seyed K. Fayaz and Vyas Sekar. 2014. Testing stateful and dynamic data planes with FlowTest. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Seyed K. Fayaz, Tianlong Yu, Yoshiaki Tobioka, Sagar Chaki, and Vyas Sekar. 2016. BUZZ: Testing context-dependent policies in stateful networks. In Proceedings of the13th USENIX Symposium on Networked Systems Design and Implementation (NSDI’16). 275--289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Eder Leao Fernandes and Christian Esteve Rothenberg. 2014. OpenFlow 1.3 software switch. Salao de Ferramentas do XXXII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuıdos SBRC (2014), 1021--1028.Google ScholarGoogle Scholar
  41. Roy Thomas Fielding. 2000. Architectural Styles and the Design of Network-based Software Architectures. Ph.D. dissertation. University of California, Irvine.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Roy T. Fielding and Richard N. Taylor. 2000. Principled design of the modern web architecture. In Proceedings of the 22nd International Conference on Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Floodlight. 2016. Floodlight OpenFlow Controller. Retrieved Dec. 2016 from https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller.Google ScholarGoogle Scholar
  44. Floodlight. 2016. Indigo Virtual Switch. Retrieved from https://floodlight.atlassian.net/wiki/display/indigodocs/Indigo+Virtual+Switch+Documentation.Google ScholarGoogle Scholar
  45. Floodlight. 2016. OFTest. Retrieved from https://floodlight.atlassian.net/wiki/spaces/OFTest.Google ScholarGoogle Scholar
  46. ForwardNetworks. 2016. Forward Networks. Retrieved from https://www.forwardnetworks.com.Google ScholarGoogle Scholar
  47. Nate Foster, Michael J. Freedman, Rob Harrison, Jennifer Rexford, Matthew L. Meola, and David Walker. 2010. Frenetic: A high-level language for openflow networks. In Proceedings of the Workshop on Programmable Routers for Extensible Services of Tomorrow. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Apache Software Foundation. 1999. Apache JMeter. Retrieved from http://jmeter.apache.org/.Google ScholarGoogle Scholar
  49. Apache Software Foundation. 2014. Hadoop: Yarn Scheduler Load Simulator (SLS). Retrieved from https://hadoop.apache.org/docs/r2.4.1/hadoop-sls/SchedulerLoadSimulator.html.Google ScholarGoogle Scholar
  50. Free Software Foundation. 1986. GDB: The GNU Project Debugger. Retrieved from https://www.gnu.org/software/gdb/.Google ScholarGoogle Scholar
  51. Linux Foundation. 2016. OvS: Open vSwitch. Retrieved from http://openvswitch.org/.Google ScholarGoogle Scholar
  52. G. Gheorghe, T. Avanesov, M.-R. Palattella, T. Engel, and C. Popoviciu. 2015. SDN-RADAR: Network troubleshooting combining user experience and SDN capabilities. In Proceedings of the 2015 1st IEEE Conference on Network Softwarization (NetSoft’15).Google ScholarGoogle Scholar
  53. GitHub. 2011. POX Controller. Retrieved from https://github.com/noxrepo/pox.Google ScholarGoogle Scholar
  54. GitHub. 2012. Ripcord-Lite for POX: A simple network controller for OpenFlow-based data centers. Retrieved from https://github.com/brandonheller/riplpox.Google ScholarGoogle Scholar
  55. GitHub. 2016. NetIDE Profiler (GitHub). Retrieved from https://github.com/fp7-netide/Tools/tree/master/profiler.Google ScholarGoogle Scholar
  56. Ramesh Govindan, Ina Minei, Mahesh Kallahalla, Bikash Koley, and Amin Vahdat. 2016. Evolve or die: High-availability design principles drawn from Google’s network infrastructure. In Proceedings of the 2016 ACM SIGCOMM Conference (SIGCOMM’16). 58--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martín Casado, Nick McKeown, and Scott Shenker. 2008. NOX: Towards an operating system for networks. SIGCOMM Computer Communication Review 38, 3 (2008), 105--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Arpit Gupta, Rüdiger Birkner, Marco Canini, Nick Feamster, Chris Mac-Stoker, and Walter Willinger. 2016. Network monitoring as a streaming analytics problem. In Proceedings of the 15th ACM Workshop on Hot Topics in Networks (HotNets’16). 106--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Mukta Gupta, Joel Sommers, and Paul Barford. 2013. Fast, accurate simulation for SDN prototyping. In Proceedings of the 2nd ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Akram Hakiri, Aniruddha Gokhale, Pascal Berthou, Douglas C. Schmidt, and Thierry Gayraud. 2014. Software-defined networking: Challenges and research opportunities for future internet. Computer Networks 75 (2014), 453--471. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, Bob Lantz, and Nick McKeown. 2012. Reproducible network experiments using container-based emulation. In Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Maziéres, and Nick McKeown. 2012. Where is the debugger for my software-defined network? In Proceedings of the 1st Workshop on Hot Topics in Software Defined Networks. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazières, and Nick McKeown. 2014. I know what your packet did last hop: Using packet histories to troubleshoot networks. In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI’14). Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Pedro Heleno Isolani, Juliano Araujo Wickboldt, Cristiano Bonato Both, Juergen Rochol, and Lisandro Zambenedetti Granville. 2015. Interactive monitoring, visualization, and configuration of OpenFlow-based SDN. In Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM’15).Google ScholarGoogle ScholarCross RefCross Ref
  65. G. Holzmann. 2005. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Alex Horn, Ali Kheradmand, and Mukul Prasad. 2017. Delta-net: Real-time network verification using atoms. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI’17). 735--749. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. F. Hu, Q. Hao, and K. Bao. 2014. A survey on software-defined network and openflow: From concept to implementation. IEEE Communications Surveys Tutorials 16, 4 (2014), 2181--2206. 1553-877XGoogle ScholarGoogle ScholarCross RefCross Ref
  68. Hongxin Hu, Wonkyu Han, Gail-Joon Ahn, and Ziming Zhao. 2014. FLOWGUARD: Building robust firewalls for software-defined networks. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Shufeng Huang and J. Griffioen. 2013. Network hypervisors: Managing the emerging SDN chaos. In Proceedings of the 2013 22nd International Conference on Computer Communications and Networks (ICCCN’13).Google ScholarGoogle Scholar
  70. T. Huang, F. R. Yu, C. Zhang, J. Liu, J. Zhang, and Y. Liu. 2017. A survey on large-scale software defined networking (SDN) testbeds: Approaches and challenges. IEEE Communications Surveys Tutorials 19, 2 (2017), 891--917.Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. IETF. 2013. VeriSDN: Formal verification for software defined networking (SDN). Retrieved from https://www.ietf.org/proceedings/87/slides/slides-87-sdnrg-6.pdf.Google ScholarGoogle Scholar
  72. Internet2. 2016. Internet2 Home Page. (2016). Retrieved from http://www.internet2.edu.Google ScholarGoogle Scholar
  73. Y. Jarraya, T. Madi, and M. Debbabi. 2014. A survey and a layered taxonomy of software-defined networking. IEEE Communications Surveys Tutorials 16, 4 (2014), 1955--1980.Google ScholarGoogle ScholarCross RefCross Ref
  74. Michael Jarschel, Frank Lehrieder, Zsolt Magyari, and Rastin Pries. 2012. A flexible openflow-controller benchmark. In Proceedings of the 2012 European Workshop on Software Defined Networking (EWSDN’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. M. Jarschel, T. Zinner, T. Hossfeld, P. Tran-Gia, and W. Kellerer. 2014. Interfaces, attributes, and use cases: A compass for SDN. IEEE Communications Magazine 52, 6 (2014), 210--217.Google ScholarGoogle ScholarCross RefCross Ref
  76. J. D. Case et al.1990. Simple Network Management Protocol (SNMP). RFC 1157 (Historic). Retrieved May 1990 from http://www.ietf.org/rfc/rfc1157.txt.Google ScholarGoogle Scholar
  77. Xin Jin, Jennifer Gossels, Jennifer Rexford, and David Walker. 2015. CoVisor: A compositional hypervisor for software-defined networks. In Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI’15). Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. H. Kang, S. Lee, C. Lee, C. Yoon, and S. Shin. 2015. SPIRIT: A framework for profiling SDN. In Proceedings of the 2015 IEEE 23rd International Conference on Network Protocols (ICNP’15). 417--424.Google ScholarGoogle Scholar
  79. Murat Karakus and Arjan Durresi. 2017. A survey: Control plane scalability issues and approaches in software-defined networking (SDN). Computer Networks 112 (2017), 279--293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Naga Katta, Omid Alipourfard, Jennifer Rexford, and David Walker. 2014. Infinite cacheflow in software-defined networks. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Peyman Kazemian, Michael Chang, Hongyi Zeng, George Varghese, Nick McKeown, and Scott Whyte. 2013. Real time network policy checking using header space analysis. In Proceedings of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. Peyman Kazemian, George Varghese, and Nick McKeown. 2012. Header space analysis: Static checking for networks. In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Suleman Khan, Abdullah Gani, Ainuddin Wahid Abdul Wahab, Mohsen Guizani, and Muhammad Khurram Khan. 2017. Topology discovery in software defined networks: Threats, taxonomy, and state-of-the-art. IEEE Communications Surveys Tutorials 19, 1 (2017), 303--324.Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Suleman Khan, Abdullah Gani, Ainuddin Wahid Abdul Wahab, Ahmed Abdelaziz, Kwangman Ko, Muhammad Khurram Khan, and Mohsen Guizani. 2016. Software-defined network forensics: Motivation, potential locations, requirements, and challenges. IEEE Network 30, 6 (2016), 6--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Ahmed Khurshid, Wenxuan Zhou, Matthew Caesar, and P. Brighten Godfrey. 2012. VeriFlow: Verifying network-wide invariants in real time. SIGCOMM Computer Communication Review 42, 4 (2012), 467--472. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Hyojoon Kim and N. Feamster. 2013. Improving network management with software defined networking. IEEE Communications Magazine 51, 2 (2013), 114--119.Google ScholarGoogle ScholarCross RefCross Ref
  87. Hyojoon Kim, Joshua Reich, Arpit Gupta, Muhammad Shahbaz, Nick Feamster, and Russ Clark. 2015. Kinetic: Verifiable dynamic network control. In Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Dominik Klein and Michael Jarschel. 2013. An openflow extension for the OMNeT++ INET framework. In Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. D. Kreutz, F. M. V. Ramos, P. E. Verssimo, C. E. Rothenberg, S. Azodolmolky, and S. Uhlig. 2015. Software-defined networking: A comprehensive survey. Proceedings of the IEEE 103, 1 (2015), 14--76.Google ScholarGoogle ScholarCross RefCross Ref
  90. S. Kuklinski. 2014. Programmable management framework for evolved SDN. In Proceedings of the 2014 IEEE Network Operations and Management Symposium (NOMS’14).Google ScholarGoogle ScholarCross RefCross Ref
  91. Maciej Kuzniar, Peter Peresini, Marco Canini, Daniele Venzano, and Dejan Kostic. 2012. A SOFT way for openflow switch interoperability testing. In Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. M. Kwiatkowska, G. Norman, and D. Parker. 2011. PRISM 4.0: Verification of probabilistic real-time systems. In Proceedings of the 23rd International Conference on Computer Aided Verification. Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Bob Lantz, Brandon Heller, and Nick McKeown. 2010. A network in a laptop: Rapid prototyping for software-defined networks. In Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks (Hotnets-IX). Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Bob Lantz and Brian O’Connor. 2015. A mininet-based virtual testbed for distributed SDN development. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. David Lebrun, Stefano Vissicchio, and Olivier Bonaventure. 2014. Towards test-driven software defined networking. In Proceedings of the 2014 IEEE Network Operations and Management Symposium (NOMS’14).Google ScholarGoogle ScholarCross RefCross Ref
  96. M. Mahalingam, D. Dutt, K. Duda, P. Agarwal, L. Kreeger, T. Sridhar, M. Bursell, and C. Wright. 2014. Virtual Extensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks Over Layer 3 Networks. RFC 7348. RFC Editor. http://www.rfc-editor.org/rfc/rfc7348.txthttp://www.rfc-editor.org/rfc/rfc7348.txt.Google ScholarGoogle Scholar
  97. Rupak Majumdar, Sai Deep Tetali, and Zilong Wang. 2014. Kuai: A model checker for software-defined networks. In Proceedings of 2014 Formal Methods in Computer-Aided Design (FMCAD’14). 163--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  98. Antonio Marsico, Roberto Doriguzzi-Corin, and Domenico Siracusa. 2017. An effective swapping mechanism to overcome the memory limitation of SDN devices. In Proceedings of the IFIP/IEEE International Symposium on Integrated Network Management.Google ScholarGoogle ScholarCross RefCross Ref
  99. Rahim Masoudi and Ali Ghaffari. 2016. Software defined networks: A survey. Journal of Network and Computer Applications 67 (2016), 1--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner. 2008. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review 32, 2 (April 2008), 69--74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  101. J. Medved, R. Varga, A. Tkacik, and K. Gray. 2014. Opendaylight: Towards a model-driven SDN controller architecture. In Proceedings of the IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks 2014. 1--6.Google ScholarGoogle ScholarCross RefCross Ref
  102. A. Mendiola, J. Astorga, E. Jacob, and M. Higuero. 2017. A survey on the contributions of software-defined networking to traffic engineering. IEEE Communications Surveys Tutorials 19, 2 (2017), 918--953.Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. Oliver Michel and Eric Keller. 2017. SDN in wide-area networks: A survey. In Proceedings of the 2017 4th International Conference on Software Defined Systems (SDS’17). 37--42.Google ScholarGoogle ScholarCross RefCross Ref
  104. Jeffrey C. Mogul, Alvin AuYoung, Sujata Banerjee, Lucian Popa, Jeongkeun Lee, Jayaram Mudigonda, Puneet Sharma, and Yoshio Turner. 2013. Corybantic: Towards the modular composition of SDN control programs. In Proceedings of the 12th ACM Workshop on Hot Topics in Networks. Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker. 2013. Composing software defined networks. In Proceedings of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  106. G. N. Nde and R. Khondoker. 2016. SDN testing and debugging tools: A survey. In Proceedings of the 2016 5th International Conference on Informatics, Electronics and Vision (ICIEV’16). 631--635.Google ScholarGoogle Scholar
  107. NetIDE. 2016. An integrated development environment for portable network applications. Retrieved from http://www.netide.eu/.Google ScholarGoogle Scholar
  108. ns 3. 2011. ns-3 simulator. Retrieved from https://www.nsnam.org/.Google ScholarGoogle Scholar
  109. B. A. A. Nunes, M. Mendonca, X. N. Nguyen, K. Obraczka, and T. Turletti. 2014. A survey of software-defined networking: Past, present, and future of programmable networks. IEEE Communications Surveys Tutorials 16, 3 (2014), 1617--1634.Google ScholarGoogle ScholarCross RefCross Ref
  110. Yustus Eko Oktian, SangGon Lee, HoonJae Lee, and JunHuy Lam. 2017. Distributed SDN controller system: A survey on design choice. Computer Networks 121 (2017), 100--111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  111. ONF. 2013. OpenFlow Switch Specification 1.4.0. (2013). https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.4.0.pdf.Google ScholarGoogle Scholar
  112. ONF. 2014. OpenFlow Management and Configuration Protocol 1.2. (2014). https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow-config/of-config-1.2.pdf.Google ScholarGoogle Scholar
  113. ONF. 2016. SDN architecture - Issue 1.1. (2016). https://www.opennetworking.org/wp-content/uploads/2014/10/TR-521_SDN_Architecture_issue_1.1.pdf.Google ScholarGoogle Scholar
  114. ON.Lab. 2016. ONOS CLI Commands. (2016). https://wiki.onosproject.org/display/ONOS/The+ONOS+CLI.Google ScholarGoogle Scholar
  115. ON.Lab. 2016. ONOS Composition Mode. Retrieved from https://wiki.onosproject.org/display/ONOS/Composition+Mode.Google ScholarGoogle Scholar
  116. ON.Lab. 2016. ONOS Java API. Retrieved from http://api.onosproject.org/.Google ScholarGoogle Scholar
  117. ON.Lab. 2016. ONOS REST API. Retrieved from https://wiki.onosproject.org/display/ONOS/REST.Google ScholarGoogle Scholar
  118. OpenSim. 2001. OMNeT++ Home Page. Retrieved from https://omnetpp.org/.Google ScholarGoogle Scholar
  119. Peter Peresini, Maciej Kuzniar, and Dejan Kostic. 2015. Monocle: Dynamic, fine-grained data plane monitoring. In Proceedings of the 11th International on Conference on emerging Networking Experiments and Technologies. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. Chaithan Prakash, Jeongkeun Lee, Yoshio Turner, Joon-Myung Kang, Aditya Akella, Sujata Banerjee, Charles Clark, Yadi Ma, Puneet Sharma, and Ying Zhang. 2015. PGA: Using graphs to express and automatically reconcile network policies. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication. Google ScholarGoogle ScholarDigital LibraryDigital Library
  121. R. Enns et al. 2011. Network Configuration Protocol (NETCONF). RFC 6241 (Proposed Standard). Retrieved June 2011 from http://www.ietf.org/rfc/rfc6241.txt.Google ScholarGoogle Scholar
  122. RabbitMQ. 2007. RabbitMQ official website. Retrieved from https://www.rabbitmq.com/.Google ScholarGoogle Scholar
  123. D. B. Rawat and S. R. Reddy. 2017. Software defined networking architecture, security and energy efficiency: A survey. IEEE Communications Surveys Tutorials 19, 1 (2017), 325--346.Google ScholarGoogle ScholarDigital LibraryDigital Library
  124. Charalampos Rotsos, Nadi Sarrar, Steve Uhlig, Rob Sherwood, and Andrew W Moore. 2012. OFLOPS: An open framework for openflow switch evaluation. In Proceedings of Passive and Active Measurement. Google ScholarGoogle ScholarDigital LibraryDigital Library
  125. Margaret Rouse. 2016. Debugging definition. Retrieved from http://searchsoftwarequality.techtarget.com/definition/debugging.Google ScholarGoogle Scholar
  126. A. R. Roy, M. F. Bari, M. F. Zhani, R. Ahmed, and R. Boutaba. 2014. Design and management of DOT: A distributed openflow testbed. In Proceedings of the 2014 IEEE Network Operations and Management Symposium (NOMS’14).Google ScholarGoogle Scholar
  127. Ryu. 2012. OpenFlow Switch Test Tool. Retrieved from https://osrg.github.io/ryu-book/en/html/switch_test_tool.html.Google ScholarGoogle Scholar
  128. Ryu. 2012. Ryu SDN framework. Retrieved from http://osrg.github.com/ryu/.Google ScholarGoogle Scholar
  129. Arne Schwabe, Pedro A. Aranda Gutiérrez, and Holger Karl. 2016. Composition of SDN applications: Options/challenges for real implementations. In Proceedings of the 2016 Applied Networking Research Workshop (ANRW’16). 26--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  130. Colin Scott, Andreas Wundsam, Sam Whitlock, Andrew Or, Eugene Huang, Kyriakos Zarifis, and Scott Shenker. 2013. How Did We Get Into This Mess? Isolating Fault-Inducing Inputs to SDN Control Software. Technical Report UCB/EECS-2013-8. EECS Department, University of California, Berkeley. http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-8.html.Google ScholarGoogle Scholar
  131. Divjyot Sethi, Srinivas Narayana, and Sharad Malik. 2013. Abstractions for model checking SDN controllers. In Proceedings of Formal Methods in Computer-Aided Design (FMCAD’13).Google ScholarGoogle ScholarCross RefCross Ref
  132. Ganesh H. Shankar. 2016. OFNet. Retrieved from http://sdninsights.org/.Google ScholarGoogle Scholar
  133. Rob Sherwood, Michael Chan, Adam Covington, Glen Gibb, Mario Flajslik, Nikhil Handigol, Te-Yuan Huang, Peyman Kazemian, Masayoshi Kobayashi, Jad Naous, et al. 2010. Carving research slices out of your production networks with OpenFlow. ACM SIGCOMM Computer Communication Review 40, 1 (2010), 129--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  134. Rob Sherwood and K. K. Yap. 2011. Cbench controller benchmarker. Last accessed Nov. 2011.Google ScholarGoogle Scholar
  135. Seungwon Shin, Phillip A. Porras, Vinod Yegneswaran, Martin W. Fong, Guofei Gu, and Mabry Tyson. 2013. FRESCO: Modular composable security services for software-defined networks. In Proceedings of the ISOC Network and Distributed System Security Symposium (NDSS’13).Google ScholarGoogle Scholar
  136. Sanjeev Singh and Rakesh Kumar Jha. 2017. A survey on software defined networking: Architecture for next generation network. Journal of Network and Systems Management 25, 2 (2017), 321--374. Google ScholarGoogle ScholarDigital LibraryDigital Library
  137. Richard Skowyra, Andrei Lapets, Azer Bestavros, and Assaf Kfoury. 2014. A verification platform for SDN-enabled applications. In Proceedings of the 2014 IEEE International Conference on Cloud Engineering (IC2E’14). Google ScholarGoogle ScholarDigital LibraryDigital Library
  138. J. Sommers, R. Bowden, B. Eriksson, P. Barford, M. Roughan, and N. Duffield. 2011. Efficient network-wide flow record generation. In INFOCOM, 2011 Proceedings IEEE.Google ScholarGoogle Scholar
  139. Sejun Song, Sungmin Hong, Xinjie Guan, Baek-Young Choi, and Changho Choi. 2013. NEOD: Network embedded on-line disaster management framework for software defined networking. In Proceedings of IM.Google ScholarGoogle Scholar
  140. Peng Sun, Ratul Mahajan, Jennifer Rexford, Lihua Yuan, Ming Zhang, and Ahsan Arefin. 2014. A network-state management service. In Proceedings of the 2014 ACM Conference on SIGCOMM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  141. Veriflow Systems. 2016. Veriflow. Retrieved from http://www.veriflow.net/.Google ScholarGoogle Scholar
  142. J. Teixeira, G. Antichi, D. Adami, A. Del Chiaro, S. Giordano, and A. Santos. 2013. Datacenter in a box: Test your SDN cloud-datacenter controller at home. In Proceedings of the 2013 2nd European Workshop on Software Defined Networks (EWSDN’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  143. Fan-Hsun Tseng, Kai-Di Chang, Shang-Chuan Liao, Han-Chieh Chao, and Victor C. M. Leung. 2017. sPing: A user-centred debugging mechanism for software defined networks. IET Networks 6, 2 (March 2017), 39--46(7).Google ScholarGoogle ScholarCross RefCross Ref
  144. Mehmet Fatih Tuysuz, Zekiye Kubra Ankarali, and Didem Gzwpek. 2017. A survey on energy efficiency in software defined networks. Computer Networks 113 (2017), 188--204. Google ScholarGoogle ScholarDigital LibraryDigital Library
  145. N. L. M. van Adrichem, C. Doerr, and F. A. Kuipers. 2014. OpenNetMon: Network monitoring in openflow software-defined networks. In Proceedings of the 2014 IEEE Network Operations and Management Symposium (NOMS’14). 1--8.Google ScholarGoogle Scholar
  146. András Varga and Rudolf Hornig. 2008. An overview of the OMNeT++ simulation environment. In Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems 8 Workshops. Google ScholarGoogle ScholarDigital LibraryDigital Library
  147. S. Vinoski. 2006. Advanced message queuing protocol. IEEE Internet Computing 10, 6 (2006), 87--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  148. Anilkumar Vishnoi, Rishabh Poddar, Vijay Mann, and Suparna Bhattacharya. 2014. Effective switch memory management in openflow networks. In Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  149. Ming-Hung Wang, Shao-You Wu, Li-Hsing Yen, and Chien-Chao Tseng. 2016. PathMon: Path-specific traffic monitoring in OpenFlow-enabled networks. In Proceedings of the 2016 8th International Conference on Ubiquitous and Future Networks (ICUFN’16). 775--780.Google ScholarGoogle ScholarCross RefCross Ref
  150. Shie-Yuan Wang, Chih-Liang Chou, and Chun-Ming Yang. 2013. EstiNet openflow network simulator and emulator. IEEE Communications Magazine 51, 9 (Sept. 2013), 110--117.Google ScholarGoogle Scholar
  151. Wen Wang, Wenbo He, and Jinshu Su. 2016. Redactor: Reconcile network control with declarative control programs in SDN. In Proceedings of the 2016 IEEE 24th International Conference on Network Protocols (ICNP’16). 1--10.Google ScholarGoogle ScholarCross RefCross Ref
  152. Yangyang Wang, Jun Bi, and Keyao Zhang. 2016. A tool for tracing network data plane via SDN/OpenFlow. Science China Information Sciences 60, 2 (2016).Google ScholarGoogle Scholar
  153. G. Watson, N. McKeown, and M. Casado. 2006. NetFPGA: A tool for network research and education. In Proceedings of the Workshop on Architecture Research using FPGA Platforms.Google ScholarGoogle Scholar
  154. P. Wette, M. Draxler, A. Schwabe, F. Wallaschek, M. H. Zahraee, and H. Karl. 2014. MaxiNet: Distributed emulation of software-defined networks. In Proceedings of the 2014 IFIP Networking Conference.Google ScholarGoogle Scholar
  155. Philip Wette and Holger Karl. 2015. DCT2Gen: A traffic generator for data centers. Computer Communications 80 (2015), 45--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  156. Philip Wette, Arne Schwabe, Malte Splietker, and Holger Karl. 2015. Extending Hadoop’s yarn scheduler load simulator with a highly realistic network 8 traffic model. In Proceedings of the 2015 1st IEEE Conference on Network Softwarization (NetSoft’15). 1--2.Google ScholarGoogle ScholarCross RefCross Ref
  157. J. Wickboldt, W. De Jesus, P. Isolani, C. Both, J. Rochol, and L. Granville. 2015. Software-defined networking: Management requirements and challenges. IEEE Communications Magazine 53, 1 (2015), 278--285.Google ScholarGoogle ScholarDigital LibraryDigital Library
  158. Wireshark. 2016. Wireshark. Retrieved from http://wireshark.org.Google ScholarGoogle Scholar
  159. Yang Wu, Ang Chen, Andreas Haeberlen, Wenchao Zhou, and Boon Thau Loo. 2017. Automated bug removal for software-defined networks. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI’17). 719--733. Google ScholarGoogle ScholarDigital LibraryDigital Library
  160. Andreas Wundsam, Dan Levin, Srini Seetharaman, and Anja Feldmann. 2011. OFRewind: Enabling record and replay troubleshooting for networks. In Proceedings of the 2011 USENIX Conference on USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  161. W. Xia, Y. Wen, C. H. Foh, D. Niyato, and H. Xie. 2015. A survey on software-defined networking. IEEE Communications Surveys Tutorials 17, 1 (2015), 27--51.Google ScholarGoogle ScholarDigital LibraryDigital Library
  162. Yufan Yang, Xinlin Huang, Shang Cheng, Shiyun Chen, and Peijin Cong. 2016. SHSA: A method of network verification with stateful header space analysis. In Proceedings of the 2016 IEEE 22nd International Conference on Parallel and Distributed Systems (ICPADS’16). 232--238.Google ScholarGoogle ScholarCross RefCross Ref
  163. Curtis Yu, Cristian Lumezanu, Yueping Zhang, Vishal Singh, Guofei Jiang, and Harsha V. Madhyastha. 2013. Flowsense: Monitoring network utilization with zero measurement cost. In Proceedings of Passive and Active Measurement Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  164. Hongyi Zeng, Peyman Kazemian, George Varghese, and Nick McKeown. 2012. Automatic test packet generation. In Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies. Google ScholarGoogle ScholarDigital LibraryDigital Library
  165. Hongyi Zeng, Shidong Zhang, Fei Ye, Vimalkumar Jeyakumar, Mickey Ju, Junda Liu, Nick McKeown, and Amin Vahdat. 2014. Libra: Divide and conquer to verify forwarding tables in huge networks. In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI’14). 87--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  166. ZeroMQ. 2007. ZeroMQ official website. Retrieved from http://zeromq.org/.Google ScholarGoogle Scholar
  167. Hui Zhang, Cristian Lumezanu, Junghwan Rhee, Nipun Arora, Qiang Xu, and Guofei Jiang. 2014. Enabling layer 2 pathlet tracing through context encoding in software-defined networking. In Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking. Google ScholarGoogle ScholarDigital LibraryDigital Library
  168. Peng Zhang, Hao Li, Chengchen Hu, Liujia Hu, Lei Xiong, Ruilong Wang, and Yuemei Zhang. 2016. Mind the gap: Monitoring the control-data plane consistency in software defined networks. In Proceedings of the 12th International Conference on Emerging Networking Experiments and Technologies. ACM, 19--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  169. Ying Zhang. 2013. An adaptive flow counting method for anomaly detection in SDN. In Proceedings of the 9th ACM Conference on Emerging Networking Experiments and Technologies. Google ScholarGoogle ScholarDigital LibraryDigital Library
  170. Yusu Zhao, Pengfei Zhang, and Yaohui Jin. 2016. Netography: Troubleshoot your network with packet behavior in SDN. In Proceedings of NOMS 2016-2016 IEEE/IFIP Network Operations and Management Symposium. 878--882.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Are We Ready to Drive Software-Defined Networks? A Comprehensive Survey on Management Tools and Techniques

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Computing Surveys
            ACM Computing Surveys  Volume 51, Issue 2
            March 2019
            748 pages
            ISSN:0360-0300
            EISSN:1557-7341
            DOI:10.1145/3186333
            • Editor:
            • Sartaj Sahni
            Issue’s Table of Contents

            Copyright © 2018 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 20 February 2018
            • Accepted: 1 November 2017
            • Revised: 1 September 2017
            • Received: 1 December 2016
            Published in csur Volume 51, Issue 2

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • survey
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader