Software-defined networking with services oriented by domain names

Abstract

Software-defined networking (SDN) has provided a new paradigm for network management by allowing a central controller to program the underlying switches directly. However, OpenFlow, the de facto standard API for communicating with the switches, has limited visibility into the network headers, hindering innovations in the data plane and overloading the controller when a more sophisticated network application is needed. In this work, we leverage existing capabilities of modern switches to increase the abstraction power of OpenFlow and enrich the functionalities performed on the data plane of a network. We present an architecture that extends OpenFlow to support matching rules with domain names and provides data-plane operations that are only supported by the controller in existing approaches. Our architecture provides a better abstraction for programming the network and enables more concise policy specifications by requiring fewer rules in the switch flow table. To realize our architecture, we developed a prototype of a switch and a controller to handle the domain name extensions. We presented an application use case for blocking unwanted traffic required for Telecom companies. Our experimental results show that our solution reduces latency, number of rules in the switch, and number of packets sent to the controller. We also show that the new abstraction we provide can significantly reduce the code size of a network application.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Notes

  1. 1.

    https://github.com/lucasmaiasilva/DN-pox.

  2. 2.

    https://github.com/noxrepo/pox.

  3. 3.

    http://mininet.org.

  4. 4.

    https://github.com/mininet/mininet/wiki/Mininet-VM-Images.

  5. 5.

    https://blog.whatsapp.com/616/One-billion?.

  6. 6.

    https://www.whatsapp.com/cidr.txt.

  7. 7.

    https://github.com/ukanth/afwall/wiki/HOWTO-blocking-WhatsApp.

  8. 8.

    http://www.hping.org/hping3.html.

  9. 9.

    http://www.cisco.com/c/en/us/products/collateral/switches/nexus-6000-series-switches/datasheet-c78-732277.html.

  10. 10.

    http://i.dell.com/sites/doccontent/shared-content/data-sheets/en/Documents/Dell-Networking-S4048-ON-Spec-Sheet.pdf.

  11. 11.

    http://tcpreplay.synfin.net/tcpreplay.html.

  12. 12.

    https://docs.python.org/2/library/simplehttpserver.html.

References

  1. 1.

    Andreolini, M., Colajanni, M., & Nuccio, M. (2003). Kernel-based web switches providing content-aware routing. In Second IEEE international symposium on network computing and applications. NCA 2003 (pp. 25–32). https://doi.org/10.1109/NCA.2003.1201134.

  2. 2.

    Apostolopoulos, G., Aubespin, D., Peris, V., Pradham, P., & Saha, D. (2000). Design, implementation and performance of a content-based switch. In INFOCOM 2000. Nineteenth annual joint conference of the IEEE computer and communications societies. Proceedings (Vol. 3, pp. 1117–1126). IEEE. https://doi.org/10.1109/INFCOM.2000.832470.

  3. 3.

    Arashloo, M. T., Koral, Y., Greenberg, M., Rexford, J., & Walker, D. (2016). Snap: Stateful network-wide abstractions for packet processing. In Proceedings of the 2016 ACM SIGCOMM conference, SIGCOMM ’16 (pp. 29–43). ACM, New York, NY. https://doi.org/10.1145/2934872.2934892.

  4. 4.

    Barefoot. (2016). Barefoot: The world’s fastest and most programmable networks. Retrieved January 28, 2018, from https://barefootnetworks.com/resources/worlds-fastest-most-programmable-networks/.

  5. 5.

    Bezahaf, M., Alim, A., & Mathy, L. (2013). Flowos: A flow-based platform for middleboxes. In Proceedings of the 2013 workshop on hot topics in middleboxes and network function virtualization, HotMiddlebox ’13 (pp. 19–24). ACM, New York, NY. https://doi.org/10.1145/2535828.2535836.

  6. 6.

    Bianchi, G., Bonola, M., Capone, A., & Cascone, C. (2014). Openstate: Programming platform-independent stateful openflow applications inside the switch. SIGCOMM Computer Communication Review, 44(2), 44–51. https://doi.org/10.1145/2602204.2602211.

    Article  Google Scholar 

  7. 7.

    Bosshart, P., Daly, D., Gibb, G., Izzard, M., McKeown, N., Rexford, J., et al. (2014). P4: Programming protocol-independent packet processors. SIGCOMM Computer Communication Review, 44(3), 87–95.

    Article  Google Scholar 

  8. 8.

    Bosshart, P., Gibb, G., Kim, H. S., Varghese, G., McKeown, N., Izzard, M., et al. (2013). Forwarding metamorphosis: Fast programmable match-action processing in hardware for sdn. In Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM, SIGCOMM ’13 (pp. 99–110). ACM, New York, NY. https://doi.org/10.1145/2486001.2486011.

  9. 9.

    CAIDA. (2018). Caida—center for applied internet data analysis. Retrieved October 2019, from https://www.caida.org/home/.

  10. 10.

    Cavium. (2016). Xpliant ethernet switch product family. Retrieved January 28, 2018, from http://www.cavium.com/XPliant-Ethernet-Switch-Product-Family.html.

  11. 11.

    Constine, J. (2017). Whatsapp blocked in china, though past bans proved temporary. Retrieved October 2019, from https://techcrunch.com/2017/09/25/whatsapp-blocked-in-china/.

  12. 12.

    Dang, H. T., Sciascia, D., Canini, M., Pedone, F., & Soulé, R. (2015). Netpaxos: consensus at network speed. In Proceedings of the 1st ACM SIGCOMM symposium on software defined networking research, SOSR ’15 (pp. 5:1–5:7). ACM, New York, NY. https://doi.org/10.1145/2774993.2774999.

  13. 13.

    Dilley, J., Maggs, B., Parikh, J., Prokop, H., Sitaraman, R., & Weihl, B. (2002). Globally distributed content delivery. IEEE Internet Computing, 6(5), 50–58. https://doi.org/10.1109/MIC.2002.1036038.

    Article  Google Scholar 

  14. 14.

    Ferguson, P., & Huston, G. (1998). Quality of Service: Delivering QoS on the internet and in corporate networks. New York, NY: Wiley.

    Google Scholar 

  15. 15.

    Fernández, M., Florescu, D., Kang, J., Levy, A., & Suciu, D. (1998). Catching the boat with strudel: Experiences with a web-site management system. SIGMOD Record, 27(2), 414–425. https://doi.org/10.1145/276305.276341.

    Article  Google Scholar 

  16. 16.

    Foster, N., Harrison, R., Freedman, M. J., Monsanto, C., Rexford, J., Story, A., et al. (2011). Frenetic: A network programming language. In Proceedings of the 16th ACM SIGPLAN international conference on functional programming, ICFP ’11 (pp. 279–291). ACM, New York, NY. https://doi.org/10.1145/2034773.2034812.

  17. 17.

    Gibbs, S. (2015). Whatsapp blocked in brazil for 48 hours by court. Retrieved October 2019, from https://www.theguardian.com/technology/2015/dec/17/whatsapp-blocked-brazil-48-hours-facebook.

  18. 18.

    Goransson, P., & Black, C. (2016). Software defined networks: A comprehensive approach (2nd ed.). San Francisco, CA: Morgan Kaufmann.

    Google Scholar 

  19. 19.

    Gupta, A., Harrison, R., Canini, M., Feamster, N., Rexford, J., & Willinger, W. (2018). Sonata: Query-driven streaming network telemetry. In Proceedings of the 2018 conference of the ACM special interest group on data communication, SIGCOMM ’18 (pp. 357–371). ACM, New York, NY. https://doi.org/10.1145/3230543.3230555.

  20. 20.

    Halpern, J. M., & Pignataro, C. (2015). Service function chaining (SFC) architecture. RFC 7665. Retrieved October 2019, from https://doi.org/10.17487/RFC7665. https://rfc-editor.org/rfc/rfc7665.txt.

  21. 21.

    Handigol, N., Heller, B., Jeyakumar, V., Lantz, B., & McKeown, N. (2012). Reproducible network experiments using container-based emulation. In Proceedings of the 8th international conference on emerging networking experiments and technologies, CoNEXT ’12 (pp. 253–264). ACM, New York, NY. https://doi.org/10.1145/2413176.2413206.

  22. 22.

    Intel. (2014). Service-aware network architecture based on sdn, nfv, and network intelligence. Retrieved October 2019, from http://www.qosmos.com/wp-content/uploads/2014/01/Intel_Qosmos_SDN_NFV_329290-002US-secured.pdf.

  23. 23.

    Jacobson, V., Smetters, D. K., Thornton, J. D., Plass, M. F., Briggs, N. H., & Braynard, R. L. (2009). Networking named content. In Proceedings of the 5th international conference on emerging networking experiments and technologies, CoNEXT ’09 (pp. 1–12). ACM, New York, NY. https://doi.org/10.1145/1658939.1658941.

  24. 24.

    Jin, X., Li, X., Zhang, H., Soulé, R., Lee, J., Foster, N., et al. (2017). Netcache: Balancing key-value stores with fast in-network caching. In Proceedings of the 26th symposium on operating systems principles, SOSP ’17, (pp. 121–136). ACM, New York, NY. https://doi.org/10.1145/3132747.3132764.

  25. 25.

    Jouet, S., & Pezaros, D. P. (2017). Bpfabric: Data plane programmability for software defined networks. In Proceedings of the symposium on architectures for networking and communications systems, ANCS ’17 (pp. 38–48). IEEE Press, Piscataway, NJ. https://doi.org/10.1109/ANCS.2017.14.

  26. 26.

    Kachris, C., & Vassiliadis, S. (2006). Design of a web switch in a reconfigurable platform. In Proceedings of the 2006 ACM/IEEE symposium on architecture for networking and communications systems, ANCS ’06 (pp. 31–40). ACM, New York, NY. https://doi.org/10.1145/1185347.1185352.

  27. 27.

    Kim, C., Sivaraman, A., Katta, N., Bas, A., Dixit, A., & Wobker, L. J. (2015). In-band network telemetry via programmable dataplanes. In Proceedings of ACM SIGCOMM symposium on SDN research, SOSR ’15, New York, NY (pp. 1–2).

  28. 28.

    Koponen, T., Amidon, K., Balland, P., Casado, M., Chanda, A., Fulton, B., et al. (2014). Network virtualization in multi-tenant datacenters. In 11th USENIX symposium on networked systems design and implementation (NSDI 14) (pp. 203–216). USENIX Association, Seattle, WA.

  29. 29.

    Lantz, B., Heller, B., & McKeown, N. (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 (pp. 19:1–19:6). ACM, New York, NY. https://doi.org/10.1145/1868447.1868466.

  30. 30.

    Li, H., Hu, C., Hong, J., Chen, X., & Jiang, Y. (2015). Parsing application layer protocol with commodity hardware for sdn. In Proceedings of the eleventh ACM/IEEE symposium on architectures for networking and communications systems, ANCS ’15 (pp. 51–61). IEEE Computer Society, Washington, DC. http://dl.acm.org/citation.cfm?id=2772722.2772732

  31. 31.

    Liu, M., Luo, L., Nelson, J., Ceze, L., Krishnamurthy, A., & Atreya, K. (2017). Incbricks: Toward in-network computation with an in-network cache. In Proceedings of the twenty-second international conference on architectural support for programming languages and operating systems, ASPLOS ’17 (pp. 795–809). ACM, New York, NY. https://doi.org/10.1145/3037697.3037731.

  32. 32.

    Macedo, D. F., Guedes, D., Vieira, L. F. M., Vieira, M. A. M., & Nogueira, M. (2015). Programmable networks: From software-defined radio to software-defined networking. IEEE Communications Surveys Tutorials, 17(2), 1102–1125. https://doi.org/10.1109/COMST.2015.2402617.

    Article  Google Scholar 

  33. 33.

    McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., et al. (2008). Openflow: Enabling innovation in campus networks. SIGCOMM Computer Communication Review, 38(2), 69–74. https://doi.org/10.1145/1355734.1355746.

    Article  Google Scholar 

  34. 34.

    Mockapetris, P. (1987). RFC 1035 domain names—implementation and specification. Internet Engineering Task Force. Retrieved October 2019, from http://tools.ietf.org/html/rfc1035.

  35. 35.

    Mogul, J. C., Tourrilhes, J., Yalagandula, P., Sharma, P., Curtis, A. R., & Banerjee, S. (2010). DevoFlow: Cost-effective flow management for high performance enterprise networks. In Proceedings of the 9th ACM SIGCOMM workshop on hot topics in networks, Hotnets-IX (pp. 1:1–1:6). ACM, New York, NY. https://doi.org/10.1145/1868447.1868448.

  36. 36.

    Monsanto, C., Reich, J., Foster, N., Rexford, J., & Walker, D. (2013). Composing software-defined networks. In Proceedings of the 10th USENIX conference on networked systems design and implementation, nsdi’13 (pp. 1–14). USENIX Association, Berkeley, CA. Retrieved October 2019, from http://dl.acm.org/citation.cfm?id=2482626.2482629.

  37. 37.

    Moraes, H., Vieira, M. A. M., Cunha, I., & Guedes, D. (2016). Efficient virtual network isolation in multi-tenant data centers on commodity ethernet switches. In 2016 IFIP networking conference (IFIP Networking) (pp. 100–108). https://doi.org/10.1109/IFIPNetworking.2016.7497251.

  38. 38.

    Nygren, A., Pfaff, B., Lantaz, B., Heller, B., Barker, C., Beckmann, C., et al. (2015). OpenFlow Switch Specification 1.5.1. https://www.opennetworking.org/wp-content/uploads/2014/10/openflow-switch-v1.5.1.pdf.

  39. 39.

    Ozdag, R. (2012). Ethernet switch fm6000 series—software defined networking.intel corporation.

  40. 40.

    Pfaff, B., Heller, B., Talayco, D., Erickson, D., Gibb, G., Appenzeller, G., et al. (2009). OpenFlow Switch Specification 1.0. Retrieved October 2019, from https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.0.0.pdf.

  41. 41.

    Quinn, P., Elzur, U., & Pignataro, C. (2018). Network service header (NSH). RFC8300. Retrieved October 2019, from https://doi.org/10.17487/RFC8300. https://rfc-editor.org/rfc/rfc8300.txt.

  42. 42.

    Radcliffe, D. (2017). Skype banned, whatsapp blocked: What’s middle east’s problem with messenger apps? Retrieved October 2019, from http://www.zdnet.com/article/skype-banned-whatsapp-blocked-whats-middle-easts-problem-with-messenger-apps/.

  43. 43.

    Ram, K. K., Mudigonda, J., Cox, A. L., Rixner, S., Ranganathan, P., & Santos, J. R. (2010). sNICh: Efficient last hop networking in the data center. In Proceedings of the 6th ACM/IEEE symposium on architectures for networking and communications, ANCS ’10 (pp. 26:1–26:12). ACM, New York, NY.

  44. 44.

    Sapio, A., Abdelaziz, I., Aldilaijan, A., Canini, M., & Kalnis, P. (2017). In-network computation is a dumb idea whose time has come. In Proceedings of the 16th ACM workshop on hot topics in networks, HotNets-XVI (pp. 150–156). ACM, New York, NY. https://doi.org/10.1145/3152434.3152461.

  45. 45.

    Sekar, V., Ratnasamy, S., Reiter, M. K., Egi, N., & Shi, G. (2011). The middlebox manifesto: Enabling innovation in middlebox deployment. In Proceedings of the 10th ACM workshop on hot topics in networks, HotNets-X (pp. 21:1–21:6). ACM, New York, NY. https://doi.org/10.1145/2070562.2070583.

  46. 46.

    Song, H. (2013). Protocol-oblivious forwarding: Unleash the power of sdn through a future-proof forwarding plane. In Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking (pp. 127–132). ACM.

  47. 47.

    Udechukwu, R., & Dutta, R. (2014). Extending openflow for service insertion and payload inspection. In 2014 IEEE 22nd international conference on network protocols (ICNP) (pp. 589–595). IEEE.

  48. 48.

    Wool, A. (2004). A quantitative study of firewall configuration errors. Computer, 37(6), 62–67. https://doi.org/10.1109/MC.2004.2.

    Article  Google Scholar 

  49. 49.

    Yiakoumis, Y., Katti, S., & McKeown, N. (2016). Neutral net neutrality. In Proceedings of the 2016 conference on ACM SIGCOMM 2016 conference, SIGCOMM ’16 (pp. 483–496). ACM, New York, NY. https://doi.org/10.1145/2934872.2934896.

Download references

Acknowledgements

The authors would like to thank the research agencies CNPq, CAPES and FAPEMIG for their financial support.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Marcos A. M. Vieira.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Silva, L.A.M., Vieira, M.A.M., Guedes, D. et al. Software-defined networking with services oriented by domain names. Telecommun Syst 74, 67–82 (2020). https://doi.org/10.1007/s11235-019-00635-y

Download citation

Keywords

  • Computer networks
  • Software-defined networking
  • OpenFlow
  • DNS
  • Telecom