ANÁLISE DE DESEMPENHO DE UMA REDE DEFINIDA POR SOFTWARE

REGISTRO DOI: 10.69849/revistaft/cs10202502201616


Enoque Gumbe Horácio Felisberto


Resumo 

Atualmente, as redes de computadores se tornaram parte essencial da  infraestrutura de TI. Hoje, inúmeras aplicações “rodam” sobre a Internet, aplicações  essas que não foram imaginadas no projeto inicial das redes de computadores. Com  o objetivo de suportar o número crescente de aplicações e usuários, diversos  “remendos” foram sendo feitos ao longo dos anos. Entretanto, substancialmente, o  núcleo da rede se manteve o mesmo. Os softwares de switches e roteadores não  podem ser reprogramados e novas ideias e protocolos não podem ser testados em  uma rede em produção, fato esse sugerimos nas redes definidas por software. 

Este trabalho vem analisar o comportamento das principais métricas de  desempenho da rede neste novo paradigma. Uma rede SDN é emulada à  plataforma Mininet. A carga de trabalho é introduzida e as métricas de desempenho  de rede como vazão, latência e jitter foram colhidas e analisadas. Isto é muito  importante para a observação da qualidade de serviço. A pesquisa na Internet, o  método experimental e a abordagem qualitativa fizeram parte da metodologia  adotada. Verificou-se que as redes SDN apresentam valores das principais métricas  de desempenho equiparáveis às redes tradicionais e quando se toma em  consideração o controle central e programação, conseguem garantir um  desempenho geral da rede que pode constituir uma mais valia. 

Palavras-chave: análise e desempenho, Arquitetura de redes; Redes definidas por software. 

Abstract 

Nowadays, computer networks have become an essential part of IT  infrastructure. Today, countless applications “run” on the Internet, applications that  were not imagined in the initial design of computer networks. In order to support the  growing number of applications and users, several “patches” have been made over  the years. However, substantially, the core of the network remained the same.  Switch and router software cannot be reprogrammed and new ideas and protocols cannot be tested on a production network, which gives rise to software-defined  networks. 

This work analyzes the behavior of the main network performance metrics in  this new paradigm. An SDN network is emulated on the Mininet platform. The  workload is introduced and network performance metrics such as throughput,  latency and jitter were collected and analyzed. This is very important for observing  the quality of service. Internet research, the experimental method and the qualitative  approach were part of the methodology adopted. It was found that SDN networks  present values of the main performance metrics comparable to traditional networks  and when central control and programming are taken into account, they are able to  guarantee an overall network performance that can constitute an added value.  

Keywords: analysis and performance, Network architecture; Software defined networks. 

Introdução 

Redes Definidas por Software ou (SDN) representa um novo conceito para  pesquisa e implementação de redes de computadores e vem ganhando a atenção  da comunidade acadêmica e da indústria da área. É um paradigma relativamente  novo e visa aperfeiçoar a forma como as redes são construídas, proporcionando  facilidades de implementação e gerenciamento. Característica decisiva nesta rede  é o desacoplamento das funções de controlo da rede em relação às de  encaminhamento, ao contrário do que acontece em redes tradicionais (Androli,  2017). 

Este facto introduz uma realidade muito importante que é a visão de toda  rede a partir de um único ponto que se denomina como controlador. O controlador, em  posse desta versão privilegiada pode tomar decisões na base da natureza de cada  fluxo de rede e impor a execução destas decisões pelos elementos de  encaminhamento. Desta forma, consegue-se ter um controlo maior e melhor da  rede, o que permite gerir em tempo real grande parte dos problemas que possam  surgir. A interação entre o controlador de rede e os elementos ativos é feita com o  uso de protocolos OpenFlow e existem vários tipos de controladores de rede cuja interface de comunicação API pode aparecer em variadas linguagens de  programação como são o Python, Java, C++ e outros. 

O uso da Rede Definida por Software (DNS) vem atraindo cada vez mais  investimentos de empresas que buscam diminuir custos com instalação e  manutenção de redes e aumentar a qualidade da sua infraestrutura e dos seus  serviços. Por consequência, elas têm a necessidade de garantir que os seus  programas ou serviços sejam suportados por uma rede com os principais indicadores de  desempenho melhores ou superiores do que os habituais. Manter as condições de  desempenho e segurança passa por seguir os parâmetros que determinam a  qualidade de serviço como são a perda de pacotes, jiiter, latência e a vazão. A  monitoração destes parâmetros já ocorre em redes tradicionais, este trabalho  estuda o comportamento destas métricas quando se trata de uma estrutura onde as  funções de rede são implementadas em software. 

Desenvolvimento 

A rede de dados constitui a parte principal da infraestrutura de TI,  responsável por fornecer serviços de rede como suporte aos aplicativos. Esses serviços baseiam-se na garantia de atributos como são a vazão, latência, perdas de pacotes e jitter que decisivamente determinam o bom ou mau funcionamento do  aplicativo na rede. A arquitetura, o modelo de funcionamento estão determinam  consideravelmente as condições de rede. 

As redes atuais são compostas por equipamentos físicos como são os  switches, roteadores, firewalls e balanceadores de rede. Estes equipamentos são  caracterizados por utilizarem o suporte de hardware na execução de certas tarefas  como são a comutação de pacotes. 

Pacotes  

No contexto de rede de computadores, um pacote é uma unidade de informação  que é transmitida pela internet ou por uma rede de telecomunicações.

Pacotes de IP 

O IP (Protocolo de Internet) é um protocolo da camada de rede relacionado  ao roteamento. É usado para garantir que os pacotes cheguem ao destino correto.

Métrica de desempenho  

Os parâmetros que afetam o desempenho normalmente podem incluir taxa  de transferência, jitter, taxa de erros de bit e latência. 

Em redes comutadas por circuito, o desempenho da rede é sinônimo de grau  de serviço. O número de chamadas rejeitadas é uma medida de quão bem a rede  está funcionando sob cargas de tráfego pesadas. Outros tipos de medidas de  desempenho podem incluir o nível de ruído e eco. 

Virtualização de Rede 

A virtualização de rede é a transformação de uma rede que antes dependia de hardware em uma rede baseada em software. 

Rede definida por Software (SDN) 

SDN é um novo paradigma de redes que separa o plano de controle do plano  de encaminhamento. No modelo tradicional de redes, o plano de controle e o plano  de encaminhamento estão integrados em um único dispositivo: o roteador. Isso  torna difícil gerenciar e adaptar a rede às mudanças nas demandas de tráfego (Sakir,  2013). 

Em uma SDN, o plano de controlo é executado em um controlador SDN, que  é um software que gerencia a rede de forma centralizada. O plano de  encaminhamento é executado em switches de rede, que são dispositivos que  encaminham os pacotes de dados de acordo com as instruções do controlador SDN. 

Uma rede definida por software (SDN) é um enfoque de rede que usa controladores com base em software ou interfaces de programação de aplicativos (APIs, pela sigla em inglês) para direcionar o tráfego na rede e se comunicar com a infraestrutura de hardware subjacente (Casado, 2009). 

Do ponto de vista histórico, as redes definidas por software têm sua origem  na definição da arquitetura de redes Ethernet, que determinava uma forma de se  implementar políticas de controle de acesso, de forma distribuída, a partir de um  mecanismo de supervisão centralizado (Guedes, 2012).

O paradigma SDN é baseado em tecnologias abertas. Isso garante maior  interoperabilidade, inovação e flexibilidade na implementação em provedores de  serviços (ISP). Se a rede está em conformidade com os padrões SDN, ela pode ser  totalmente gerenciada por diversos controladores: (Olivera D. V., 2017) 

SDN e SD-WAN 

A SD-WAN é uma tecnologia que distribui tráfego de rede em WANs usando  conceitos SDN para determinar automaticamente a maneira mais eficaz de  direcionar o tráfego de e para filiais e locais de data center. 

SDN e SD-WAN compartilham semelhanças. Por exemplo, ambas separam  o plano de controle e o plano de dados, e ambas suportam a implementação de  funções adicionais de rede virtual. (www.computerweekly.com/br, 2024) 

No entanto, enquanto a SDN se concentra principalmente nas operações  internas dentro de uma rede local, a SD-WAN se concentra em conectar as  diferentes localizações geográficas de uma organização. Isso é feito por meio de  aplicativos de roteamento para o WAN. 

Outras diferenças entre SDN e SD-WAN incluem o seguinte: 

Os clientes podem programar a SDN, enquanto o fornecedor programa a SD WAN. 

Métrica de análise de SDN  

Para realizar uma análise de desempenho da SDN eficaz, é importante  monitorar e avaliar uma série de métricas-chave, como a taxa de transferência de  dados, a latência, o jitter, a perda de pacotes, a largura de banda disponível, entre outros. Essas métricas fornecem insights valiosos sobre o funcionamento da SDN  e ajudam a identificar possíveis problemas de desempenho que precisam ser  corrigidos. 

Latência 

Latência, simplesmente, é o tempo que uma mensagem leva para viajar de  uma extremidade à outra da rede.

Figura 1 Envio de pacote de um ponto ao outro.

Perda de Pacote 

A perda de pacotes ocorre quando um ou mais pacotes de dados não  conseguem chegar ao seu destino através de uma rede. Se a extremidade receptora  detectar dados faltantes, ela solicitará uma retransmissão dos pacotes perdidos com  base em seus números de sequência. 

Figura 2 Perda de Pacote.
Fonte: FiberMall 2023

Jitter 

Jitter na rede refere-se à variação no atraso entre a chegada dos pacotes, causada por congestionamento da rede, desvio de tempo ou mudanças de rota. Um jitter é usado para avaliar a estabilidade de uma rede; quanto menor o jitter, mais estável é a rede. 

Metodologia  

Durante a realização deste trabalho foi utilizado o método indutivo, é um  método responsável pela generalização, isto é, partimos de algo particular para uma  questão mais ampla, mais geral. Prodanov e Freitas (2013) 

Indução é um processo mental por intermédio do qual, partindo de dados particulares, suficientemente constatados, infere-se uma verdade geral ou  universal, não contida nas partes examinadas. Portanto, o objetivo dos argumentos  indutivos é levar a conclusões cujo conteúdo é muito mais amplo do que o das  premissas nas quais se basearam. Lakatos e Marconi (2007) 

Para responder ao problema do presente trabalho e atingir os objectivos  definidos, usou-se a pesquisa bibliográfica, que acontece quando elaborada a partir  de material já publicado, constituído principalmente de: livros, revistas, publicações  em periódicos e artigos científicos, jornais, boletins, monografias, dissertações,  teses, material cartográfico, internet, com o objetivo de colocar o pesquisador em  contato direto com todo material já escrito sobre o assunto da pesquisa. Prodanov  e Freitas (2013). 

Resultado  

Na elaboração dos testes usou-se as seguintes ferramentas  

Mininet 

Virtual Box 

Linux Ubuntu 22.10 

Para usarmos o Mininet iniciamos um terminal linux dentro do VirtualBox  clicando no ícone do terminal linux na barra de tarefas. 

Figura 3 ícone do terminal Linux
Fonte: Própria 

Nesta seção, usamos o aplicativo Mininet para a implementação da topologia  ilustrada. O terminal Linux é um programa que abre uma janela e permite que você  interaja com uma interface de linha de comando (CLI). Uma CLI é um programa que  recebe comandos do teclado e os envia ao sistema operacional para execução 

Para iniciar uma topologia mínima, insira o comando “sudo” mn mostrado abaixo.  

Figura 4 criação da topologia de rede.
Fonte: Própria

Quando solicitado a fornecer uma senha, digite password e pressione enter.  Observe que a senha não ficará visível conforme você a digita. 

O comando acima inicia o Mininet com uma topologia mínima, que consiste  em um switch conectado a dois hosts, conforme mostrado abaixo. 

Figura 5 Estrutura da topologia.
Fonte: Própria 
Figura 6 Topologia mínima padrão do Mininet.
Fonte: Criação de rede no Mininet  

Primeiramente foram verificados os ips de cada host com o comando “dump” onde encontramos hos1 (10.0.0.1) e host2(10.0.0.2) verificando o Switch e o  controlador de acordo com a imagem abaixo. 

Figura 7 verificação do IP de cada host.
Fonte: Fonte Própria 

Além de comando de destaque podemos criar tráfego na rede como por exemplo  utilizando comando “ping” para o teste devemos nos referir com alguns  identificador geralmente o mininet uma letra seguida de número S1 para Switch, h1  e h2 para host.  

Figura 8 ping h1 h2.
Fonte: Própria

Acima temos um teste de envio de 3 pacotes do host1 para o host2 e verifica se que não houve perda de pacote. 

Objetivo desse procedimento é verificar a perda de pacote e a latência dos erros intrínsecos de cada caminho, para que se tenha uma base de comparação  para os próximos procedimentos. 

A recolha dos dados de vazão foi feita com a execução por diversas vezes  do comando iperf -c , depois do servidor ajustado para o efeito. Desta forma se  conseguiu valores.

Parte-se de princípio que conhecemos a largura da banda. O que se pretende  é verificar o tamanho da janela, para o qual as métricas de desempenho da rede estarão sob valores aceitáveis e comparáveis com aquilo que se conhece nas redes  convencionais. Os testes foram executados trocando paulatinamente os valores da  janela do pacote 

Figura 9 : recolha de valores de vazão.
Fonte: Própria 

Pode-se verificar que o teste foi feito com valor de janela 85.3 Kbyte, durou  10 s e foi transferida a carga de 67.9 GBytes 

Figura 10: Recolha de dados perdas de pacote e jitter.
Fonte: Própria 

Conclusão 

Esse trabalho teve como objetivo introduzir um paradigma diferente da atual implementação de redes de computadores, modelo esse que pode vir a ser o predominante em poucos anos. O objetivo da SDN (Rede Definida por Software) é  reduzir custos por virtualização, automação e simplificação. 

Recomendações 

No trabalho futuro estaremos a aprofundar o estudo sobre os mecanismos de ajuste das métricas de desempenho sempre que se verificar a sua degradação. Como sugestões futuras, poderemos citar a implementação e avaliação de novas funções da rede SDN. Também será oportuna a realização de testes com a função em ambiente de experimentação em larga escala. 

Referências Bibliográficas 

Androli. (2017). Redes Definidas por Software .5ª ed. Rio de Janeiro: Elsevier Prodonov , F. (2013). metodologia do trabalho Científico Métodos e Técnicas da  Pesquisa e do Trabalho Acadêmico. Universidade Federal de Pernambuco, Lakatos, M. & (2001). Fundamentos de Metodologia Científica. Universidade Federal  Rural de Pernambuco 

Guedes, D. (2012). Redes Definidas por Software: uma abordagem sistêmica para o desenvolvimento das pesquisas em Redes de Computadores. Oliveira, D. v. (2017). Redes Definidas por Software: A evolução das arquiteturas de  redes. Serpro.