NFVinc: Disponibilizando Serviços Inovadores na Rede com Tecnologia NFV
Resumo
A Virtualização de Funções de Rede (Network Function Virtualization - NFV) permite a substituição de funções de rede tradicionalmente implementadas em hardware dedicado por software. Apesar de que a maioria das VNFs implementa funcionalidades de middleboxes clássicas, como firewall ou detector de intrusão, a tecnologia NFV pode ser utilizada para disponibilizar serviços oferecidos pela própria rede que são utilizados por aplicações de usuários finais. Desta forma, aplicações e sistemas normalmente executados pelos usuários em hosts da borda, passam a ser inteiramente executados dentro da rede, no paradigma que tem sido chamado de In-Network Computing (INC). Implementar INC em NFV tem diversas vantagens, incluindo aumento da flexibilidade e diminuição de custos. Neste trabalho descrevemos a arquitetura NFVinc que permite, de forma compatível com a arquitetura de referência NFV-MANO, a disponibilização tanto de serviços INC pelos desenvolvedores como a exportação de APIs que são usadas por aplicações de usuários finais para o acesso a estes serviços INC. São apresentados três estudos de caso demonstrando a flexibilidade e eficácia da arquitetura NFVinc.
Referências
Bosshart, P., Daly, D., Gibb, G., Izzard, M., McKeown, N., Rexford, J., Schlesinger, C., Talayco, D., Vahdat, A., Varghese, G., et al. (2014). P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review, 44(3):87–95.
Bressana, P., Zilberman, N., Vucinic, D., and Soulé, R. (2020). Trading latency for compute in the network. In Proceedings of the 2020 Workshop on Network Application Integration/CoDesign, NAI@SIGCOMM 2020, Virtual Event, USA, August 14, 2020, pages 35–40. ACM.
Canini, M., Kuznetsov, P., Levin, D., and Schmid, S. (2015). A distributed and robust SDN control plane for transactional network updates. In IEEE Conference on Computer Communications (INFOCOM).
Chandra, T. D. and Toueg, S. (1996). Unreliable failure detectors for reliable distributed systems. Journal of ACM, 43(2).
Dang, H. T., Bressana, P., Wang, H., Lee, K. S., Zilberman, N., Weatherspoon, H., Canini, M., Pedone, F., and Soulé, R. (2020). P4xos: Consensus as a network service. IEEE/ACM Transactions on Networking.
Dang, H. T., Canini, M., Pedone, F., and Soulé, R. (2016). Paxos made switch-y. ACM SIGCOMM Computer Communication Review, 46(2):18–24.
Dang, H. T., Sciascia, D., Canini, M., Pedone, F., and Soulé, R. (2015). Netpaxos: Consensus at network speed. In Symposium on Software Defined Networking Research, (SOSR’15/SIGCOMM).
Dean, J. and Ghemawat, S. (2008). Mapreduce: simplified data processing on large clusters. Communications of the ACM, 51(1):107–113.
Défago, X., Schiper, A., and Urbán, P. (2004). Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Comput. Surv., 36(4):372–421.
Fischer, M. J., Lynch, N. A., and Paterson, M. S. (1985). Impossibility of distributed consensus with one faulty process. Journal of ACM, 32(2).
Ho, C. C., Wang, K., and Hsu, Y. H. (2016). A fast consensus algorithm for multiple controllers in software-defined networks. In 18th International Conference on Advanced Communication Technology (ICACT).
Lamport, L. (1998). The part-time parliament. ACM Transactions on Computer Systems (TOCS), 16(2).
Liu, M., Luo, L., Nelson, J., Ceze, L., Krishnamurthy, A., and Atreya, K. (2017).
Incbricks: Toward in-network computation with an in-network cache. In ACM ASPLOS, pages 795–809.
McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., Shenker, S., and Turner, J. (2008). Openow: Enabling innovation in campus networks. SIGCOMM Comput. Commun. Rev., 38(2):69–74.
Mijumbi, R., Serrat, J., Gorricho, J. L., Bouten, N., Turck, F. D., and Boutaba, R. (2016). Network Function IEEE Communications Surveys Tutorials, Virtualization: State-of-the-Art and Research Challenges. 18(1).
Quittek, J., Bauskar, P., BenMeriem, T., Bennett, A., Besson, M., and et al (2014). Network Functions Virtualisation (NFV); Management and Orchestration. GS NFV-MAN 001 V1.1.1. Technical report, ETSI.
Sapio, A., Abdelaziz, I., Aldilaijan, A., Canini, M., and 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, pages 150–156.
Tokusashi, Y., Dang, H. T., Pedone, F., Soulé, R., and Zilberman, N. (2019). The case for in-network computing on demand. In Proceedings of the Fourteenth EuroSys Conference 2019, pages 1–16.
Turchetti, R. C. and Duarte, E. P. (2015). Implementation of a failure detector based on network function virtualization. In IEEE DSNWorkshops, pages 19–25.
Turchetti, R. C. and Duarte Jr, E. P. (2017). Nfv-fd: Implementation of a failure detector using network virtualization technology. International Journal of Network Management, 27(6):e1988.
Venâncio, G., Turchetti, R. C., de Camargo, E. T., and Jr., E. P. D. (2019). Vnf-consensus: A virtual network function for maintaining a consistent distributed SDN control plane. In IFIP IEEE LANOMS.
Venâncio, G., Turchetti, R. C., and Duarte, E. P. (2019). Nfv-rbcast: Enabling the network to offer reliable and ordered broadcast services. In IEEE LADC.