Este repositório tem por objetivo apresentar a equipe e compartilhar os códigos utilizados no experimento descrito no trabalho submetido no SBRC (2025), cujo o título é "Explorando o overhead de telemetria em redes programáveis na estimativa de QoS com aprendizado de máquina"
- Introdução
- Execução dos códigos
- 2.1. run.sh
- 2.2. send.sh
- 2.3. receive.sh
Sob coordenação do prof. Dr. Leandro Almeida, o projeto tem como objetivo compreender o overhead da telemetria em redes programáveis para estimar o QoS (Qualidade de Serviço) em transmissões de vídeo.
Esta pesquisa contou com o apoio do programa de fomento à pesquisa "Interconecta", do Instituto Federal da Paraíba (IFPB).
O desenvolvimento do projeto foi realizado por pesquisadores do Laboratório de Redes Inteligentes (LARIN) do IFPB e do Laboratório de Estudos em Redes, Inovação e Software (LERIS) da UFSCar.
A equipe responsável por este trabalho é composta por:
- Prof. Dr. Leandro Almeida, IFPB, (orcid)
- Prof. Dr. Fábio L. Verdi, UFSCar, (orcid)
- Prof. Msc. Pedro Filho, IFPB, (orcid)
- Rebeca Dantas, aluna, IFPB, (orcid)
- Gabriel Santos, aluno, IFPB, (orcid)
- Luis Kilmer, aluno, IFPB, (orcid)
As avaliacões experimentais foram conduzidas em um ambiente virtualizado, utilizando um servidor Dell EMC PowerEdge equipado com 2 processadores Intel Xeon® E5-2609 0 @ 2.40GHz (8 vCPUs), 32 GB de RAM e 1 TB de HDD, operando com o sistema Debian GNU/Linux 11 (bullseye). A infraestrutura foi provisionada por meio das ferramentas VirtualBox (6.1.8), Vagrant (2.2.13) e Ansible (2.9.15).
Tomando como base a figura acima, a seguir é apresentado os principais scripts e como utilizá-los.
O script run.sh automatiza a execução dos scripts send.py e receive.py, garantindo a sincronização entre as tarefas. Ele é executado no host local e dispara os comandos necessários em cada máquina virtual.
- Inicia o receive.py no host "Cliente" para capturar pacotes INT.
- Executa o send.py no host "Servidor de Vídeos" para enviar pacotes ao host "Cliente".
- Reproduz o vídeo DASH no host "Cliente" com o VLC.
- Gera tráfego adicional no host "Gerador de carga" com o sinusoid.py.
O script send.py é responsável por enviar pacotes INT do host "Servidor de Vídeos" para o host "Cliente", simulando tráfego de rede com metadados de telemetria gerados pelos switches programáveis.
Inicialmente, gera pacotes com metadados INT, configurados no código P4 dos switches. Os pacotes são enviados para o host "Cliente" em intervalos que podem ser ajustados diretamente no código.
O script receive.py captura, processa e armazena os pacotes INT recebidos no host "Cliente", extraindo informações importantes para análise.
Após o recebimento dos pacotes INT enviados pelo host "Servidor de Vídeos", os pacotes são processados para obter o cabeçalho do pacote juntamente com seus respectivos valores. Esses dados são salvos para posterior análise.