Problema e objetivo
Em palavras simples: a internet às vezes fica lenta ou instável, e o NetVision tenta perceber isso automaticamente. O projeto aborda a necessidade de detectar falhas de rede de forma independente da rota — uma resposta de 340 ms pode ser normal entre Brasil e África do Sul, mas grave entre duas cidades alemãs. Para isso, propõe-se um modelo capaz de classificar cada medição comparando-a com o comportamento típico do próprio caminho, com potencial para apoiar o monitoramento e a prevenção de falhas.
Como funciona
O sistema recebe medições de ping entre sensores espalhados pelo mundo, calcula o comportamento normal de cada caminho (a ficha de baseline) e aplica uma árvore de decisão para dizer se a rede está bem, em risco ou em falha.
Variação e desvio do RTT dentro dos limites do baseline.
2 ≤ z_robusto < 3,5, aumento de 30–80% ou jitter 3× maior, persistente.
Perda ≥ 10%, z_robusto ≥ 3,5 ou timeouts repetidos.
Pipeline do projeto
O pipeline apresenta as principais etapas do sistema, desde a entrada dos dados até a geração do resultado:
- 1Origem dos dados
API RIPE Atlas — medições ICMP ping (msm 1001)
↳ Probes e Anchors pelo mundo
- 2Coleta e organização
2.178.902 registros em 10 fluxos (probe → anchor)
↳ data/raw/
- 3Pré-processamento
Ficha de baseline por fluxo no Período A: mediana, MAD, jitter e perda típicos
↳ baseline_por_fluxo.csv
- 4Extração de atributos
z_robusto, aumento_pct, jitter_relativo, perda_pct, janelas n5
↳ Sem país, IP, rota ou RTT absoluto
- 5Treinamento e validação
Árvore de decisão (Gini, profundidade 6, folha ≥ 50, poda 0,001)
↳ Corte temporal dentro do Período B
- 6Predição
Classe por medição: OK, RISCO ou FALHA
↳ Teste medido uma única vez
- 7Apresentação do resultado
Matriz 3×3, F1 por classe e F1 macro
↳ Regras legíveis em português
Dados e avaliação
Foram utilizados 2.178.902 registros de medições do RIPE Atlas, coletados entre setembro e outubro de 2026, com as variáveis latência, perda de pacotes e jitter (e suas versões normalizadas). O modelo foi avaliado por meio de um corte temporal — treino com dados mais antigos e teste com os mais recentes — e métricas como F1 por classe e F1 macro.
Resultados
O modelo obteve F1 macro de 0,9241 e identificou 97,89% das falhas na validação, superando a árvore inicial (0,9064). Esses resultados indicam que o modelo detecta quase todas as falhas, com a maior confusão entre RISCO e FALHA, considerando as condições e os dados utilizados no estudo.
Escala a partir de 70%.
Limitações
As previsões dependem da qualidade e das características dos dados analisados. Por isso, devem ser interpretadas como estimativas do modelo, e não como garantias.
- O baseline é fixo e não acompanha trocas de rota.
- Rajadas curtas (3 pacotes) estimam mal o jitter.
- Anchors do RIPE Atlas não representam a rede do campus.
- O rótulo usa as mesmas métricas da árvore: ela aprende a política, funcionando como detector do estado atual.
- Fluxos sem ficha de baseline (menos de 1.500 RTT válidos) não são avaliados.
Vídeo pitch
Apresentação de 90 segundos do projeto, explicando o problema, a proposta, o funcionamento e os principais resultados.
Equipe e acesso
Aponte a câmera do celular para o QR Code e abra esta página.
- Integrantes: Guilherme Trajane da Silva, Leandro do Nascimento Lemes, Mariana Moreira Barbosa, Samara Fernandes Soares, Vitor Julião Diogo dos Santos
- Curso e instituição: Ciência da Computação · Centro Universitário Braz Cubas
- Orientadora: Profª. Andrea Ono Sakai
- Repositório: github.com/guilhermetrajanedasilva/Trabalho-Estruturas-de-Dados-II
- Referências: RIPE Atlas Docs, Zenodo — RTT latency in Europe, scikit-learn DecisionTreeClassifier
