Loading repository data…
Loading repository data…
hhtomaswt11 / repository
Este repositório contém o conjunto de trabalhos práticos realizados para a UC Comunicações por Computador na licenciatura em Engenharia Informática
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
(Ano letivo 2024/2025)
Estes dois trabalhos foram desenvolvidos por Tomás Melo (A104529), José Vasconcelos (A100763) e João Serrão (A104444), durante o 1º semestre do 3º ano da licenciatura em Engenharia Informática.
Este trabalho foi dividido em três partes:
Este trabalho tem como objetivo o desenvolvimento de um sistema de gestão de redes (Network Monitoring System – NMS) capaz de fornecer informação detalhada sobre o estado dos links e dos dispositivos numa rede, bem como gerar alertas caso sejam detetadas anomalias. Este sistema deverá ser desenvolvido como uma aplicação distribuída com base num modelo cliente-servidor onde uma aplicação cliente (NMS_Agent) é responsável por recolher diferentes métricas de interesse e de as reportar a um servidor centralizado (NMS_Server). Dois protocolos aplicacionais deverão ser desenvolvidos para permitir uma eficiente troca de mensagens entre o NMS_Agent e o NSM_Server, nomeadamente:
Em suma, este trabalho visa familiarizar os alunos com o desenvolvimento de protocolos aplicacionais e a utilização de sockets para comunicação em rede, explorando a resiliência e robustez de soluções distribuídas. O NMS proposto é levemente inspirado no protocolo “NetFlow”.
Ecolher/criar uma topologia no emulador CORE 7.5 e abrir o terminal de cada um dos PCs (utilizar a topologia CC-Topo-2024 como padrão).
No terminal do PC visto como servidor, executar:
python3 server_main.py <storage_path> <json_file_path>
Neste terminal são impressas, em tempo real, mensagens que indicam a conclusão de tasks.
Nos restantes terminais, vistos como clientes, executar:
python3 client_main.py <device_number> <server_ip>
Assim, os clientes são capazes de executar tarefas recebidas do servidor, monitorar métricas e enviar os dados para o servidor.