Avaliação da Robustez do Open vSwitch: Módulo do Kernel Linux
Resumo
O Open vSwitch é uma implementação em software de um switch de rede multicamada projetado para o contexto de virtualização. Sua arquitetura engloba componentes nos espaços de usuário e kernel. Integrado ao kernel Linux desde 2012, o Open vSwitch é hoje um projeto maduro e amplamente adotado em ambientes virtualizados. Contudo, apesar do Open vSwitch ser objeto de estudo de diversos trabalhos com foco no desempenho, sua robustez ainda é uma incógnita. Este trabalho propõe uma abordagem para a avaliação da robustez de um componente fundamental do Open vSwitch, o módulo de kernel. A abordagem é baseada na injeção de falhas na interface Netlink do módulo de kernel. A avaliação de robustez conduzida revela falhas de diversas naturezas e indica uma inconsistência ao lidar com as adversidades impostas pelos testes.
Referências
Arlat, J., Fabre, J.-C., Rodríguez, M., and Salles, F. (2003). MAFALDA: A Series of Prototype Tools for the Assessment of Real Time COTS Microkernel-Based Systems, pages 141–156. Springer US.
Avizienis, A., Laprie, J.-C., Randell, B., and Landwehr, C. (2004). Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11–33.
Cámara, J., De Lemos, R., Laranjeiro, N., Ventura, R., and Vieira, M. (2015). Robustness-driven resilience evaluation of self-adaptive software systems. IEEE Transactions on Dependable and Secure Computing, 14(1):50–64.
Cavalli, A., Martins, E., and Morais, A. (2008). Use of invariant properties to evaluate the results of fault-injection-based robustness testing of protocol implementations. In Proceedings of the 1st IEEE International Conference on Software Testing Verification and Validation Workshop (ICST’2008), pages 21–30.
Foundation, T. L. (2025). Open vSwitch. [link]. Acessado em abril de 2025.
Fulber-Garcia, V., Duarte Jr, E. P., Huff, A., and dos Santos, C. R. (2020). Network service topology: Formalization, taxonomy and the custom specification model. Computer Networks, 178:107337.
Hutchison, C., Zizyte, M., Lanigan, P. E., Guttendorf, D., Wagner, M., Le Goues, C., and Koopman, P. (2018). Robustness Testing of Autonomy Software. In Proceedings of the 40th IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP’2018), pages 276–285.
IEEE. (2001). IEEE Standard for IEEE Information Technology - Portable Operating System Interface (POSIX). Standard 1003.1-2001.
IEEE. (2017). Systems and Software Engineering–Vocabulary. Standard 24765:2017.
Jackson, E. J., Walls, M., Panda, A., Pettit, J., Pfaff, B., Rajahalme, J., Koponen, T., and Shenker, S. (2016). SoftFlow: A Middlebox Architecture for Open vSwitch. In 2016 Usenix Annual Technical Conference (USENIX ATC 16), pages 15–28.
Kernel (2025a). Introduction to Netlink – The Linux Kernel Documentation. [link]. Acessado em abril de 2025.
Kernel (2025b). Netlink Family Specifications. [link]. Acessado em abril de 2025.
Koopman, P. and DeVale, J. (1999). Comparing the robustness of POSIX operating systems. In Proceedings of the 29th IEEE International Symposium on Fault-Tolerant Computing (FTCS’1999), pages 30–37. IEEE.
Laranjeiro, N., Agnelo, J., and Bernardino, J. (2021). A systematic review on software robustness assessment. ACM Computing Surveys (CSUR), 54(4):1–65.
Laranjeiro, N., Canelas, S., and Vieira, M. (2008a). wsrbench: An On-Line Tool for Robustness Benchmarking. In Proceedings of the 5th IEEE International Conference on Services Computing (SCC’2008), volume 2, pages 187–194. IEEE.
Laranjeiro, N., Vieira, M., and Madeira, H. (2008b). Experimental Robustness Evaluation of JMS Middleware. In Proceedings of the 5th IEEE International Conference on Services Computing (SCC’2008), volume 1, pages 119–126. IEEE.
Neira-Ayuso, P., Gasca, R. M., and Lefevre, L. (2010). Communicating between the kernel and user-space in Linux using Netlink sockets. Software: Practice and Experience, 40(9):797–810.
Pfaff, B. and Davie, B. (2013). The Open vSwitch Database Management Protocol. RFC 7047.
Pfaff, B. et al. (2015). The Design and Implementation of Open vSwitch. In Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI’2015), pages 117–130. USENIX.
Ruchel, L. V., Turchetti, R. C., and de Camargo, E. T. (2022). Evaluation of the robustness of SDN controllers ONOS and ODL. Computer Networks, 219:109403.
Sans, F. and Gamess, E. (2013). Analytical performance evaluation of different switch solutions. Journal of Computer Networks and Communications, 2013(1):953797.
Scott-Hayward, S. (2015). Design and deployment of secure, robust, and resilient SDN controllers. In Proceedings of the 2015 1st IEEE Conference on Network Softwarization (NetSoft), pages 1–5. IEEE.
Shanmugalingam, S., Ksentini, A., and Bertin, P. (2016). DPDK Open vSwitch performance validation with mirroring feature. In 2016 23rd International Conference on Telecommunications (ICT), pages 1–6. IEEE.
Tseng, J., Wang, R., Tsai, J., Wang, Y., and Tai, T.-Y. C. (2017). Accelerating Open vSwitch with integrated GPU. In Proceedings of the Workshop on Kernel-Bypass Networks, pages 7–12.
Turner, J. S. and Taylor, D. E. (2005). Diversifying the Internet. In Proceedings of the 17th IEEE Global Telecommunications Conference (GLOBECOM’2005), volume 2, pages 6–pp. IEEE.
Venâncio, G., Fulber-Garcia, V., Flauzino, J., Alchieri, E. A., and Duarte, E. P. (2024). Dependable Virtual Network Services: An Architecture for Fault-and Intrusion-tolerant SFCs. In 2024 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), pages 1–6. IEEE.
Yan, Y. and Wang, H. (2016). Open vSwitch VXLAN performance acceleration in cloud computing data center. In 2016 5th International Conference on Computer Science and Network Technology (ICCSNT), pages 567–571. IEEE.
