Programmable, Expressive, Scalable, and Agile Service Function Chaining for Edge Data Centers
Edge computing transfers processing power from large remote data centers (DCs) to distributed DCs at the edge of the network. This shift requires the ability to provide network functions virtualization (NFV) solutions that can efficiently manage and combine a large number of dynamic services in a resource-constrained DC. However, the routing mechanisms of traditional data center networks are not adequate for the dynamic composition of these services, because they are complex, rigid, subject to large delays in the propagation of control information, and limited by the size of switches' routing tables. In addition, traditional service function chaining (SFC) solutions in the service overlay are often decoupled from routing decisions in the network underlay, and restrict path selection options by traffic engineering. In this way, the NFV orchestrator cannot explore the full capacity of the network to provide composite services. To tackle these issues, this thesis investigated a programmable, expressive, scalable, and agile SFC proposal that allows dynamic and efficient orchestration of the network infrastructure of edge DCs with commodity network equipment. The proposal exploits virtualization and programmability technologies of DC networks, server-centric DCs, fabric networks, and a source routing mechanism based on the residue number system (RNS). As proof-of-concept, we developed prototypes with production DC technologies, such as OpenFlow, OpenStack, Open vSwitch and P4. The results of functional and performance tests showed that the proposed SFC scheme provides mechanisms to the NFV orchestrator that allow traffic engineering to make optimized decisions in the selection of network paths. This thesis also paves the way for exploring RNS-based source routing properties in SFC schemes, which can provide features such as fast failure reaction and forwarding without packet rewrite. In a broader analysis, the student published 22 papers in journals and conferences, contributed to funding initiatives, worked on international and national research projects, supervised undergraduate students, and leaded initiatives with innovation impacts.
Casado, M. et al. (2012). Fabric: a retrospective on evolving sdn. In Proceedings of the first workshop on Hot topics in software defined networks, pages 85–90. ACM.
Dominicini, C. K. et al. (2017). Virtphy: Fully programmable nfv orchestration architecture for edge data centers. IEEE TNSM, 14(4):817–830.
Dominicini, C. K. et al. (2020). KeySFC: Traffic steering using strict source routing for dynamic and efficient network orchestration. Computer Networks, 167:106975.
Gomes, R. R. et al. (2016). Kar: Key-for-any-route, a resilient routing system. In 2016 IEEE/IFIP International Conference on DSN-W, pages 120–127.
Hantouti, H., Benamar, N., Taleb, T., and Laghrissi, A. (2018). Traffic steering for service function chaining. IEEE Communications Surveys Tutorials, pages 1–1.
Jin, X. et al. (2016). Your data center switch is trying too hard. In Proceedings of the ACM SOSR, pages 12:1–12:6, New York, NY, USA. ACM.
Jyothi, S. A. et al. (2015). Towards a flexible data center fabric with source routing. In Proceedings of the ACM SOSR, pages 10:1–10:8, New York, NY, USA. ACM.
Liberato, A. et al. (2018). RDNA: Residue-Defined Networking Architecture Enabling Ultra-Reliable Low-Latency Datacenters. IEEE TNSM.
Mao, Y. et al. (2017). A Survey on Mobile Edge Computing: The Communication Perspective. IEEE Communications Surveys & Tutorials, 19(4):2322–2358.
Martinello, M. et al. (2014). Keyflow: a prototype for evolving sdn toward core network fabrics. IEEE Network, 28(2):12–19.
McCauley, J. et al. (2019). Thoughts on load distribution and the role of programmable switches. SIGCOMM Comput. Commun. Rev., 49(1):18–23.
Medhat, A. M. et al. (2017). Service Function Chaining in Next Generation Networks: State of the Art and Research Challenges. IEEE Communications Magazine, 55(2):216–223.
Mijumbi, R., , et al. (2016). Management and orchestration challenges in network functions virtualization. IEEE Communications Magazine, 54:98–105.
Quinn, P., Elzur, U., and Pignataro, C. (2018). Network service header (nsh). RFC 8300, RFC Editor.
Ren, Y., Huang, T., Lin, K. C., and Tseng, Y. (2018). On scalable service function chaining with O(1) flowtable entries. In 2018 IEEE INFOCOM, pages 702–710.
Shoup, V. (2009). A computational introduction to number theory and algebra. Cambridge university press.