Nessa disciplina foram propostos 3 projetos:
- Sockets TCP
- Sockets UDP
- Analise de trafego de rede
A proposta do projeto era criar um sistema cliente/servidor, no qual o servidor armazenaria dados de músicas e o cliente faria requisições sobre os dados dessas músicas, tendo ainda um cliente com mais privilégios que seria capaz de, através de requisições ao servidor, cadastrar e remover músicas que estão cadastradas no banco de dados.
O projeto proposto era criar um cliente e servidor que fariam a comunicação através de
sockets, utilizando-se da linguagem C, e realizando todo o desenvolvimento em um ambiente
Linux devido às funcionalidades e bibliotecas já existentes, realizando o envio e recebimento
de mensagens sob o protocolo de transmissão TCP(Transmission Control Protocol).
O projeto proposto era criar um cliente e servidor que fariam a comunicação através de sockets, utilizando-se da linguagem C, e realizando todo o desenvolvimento em um ambiente Linux devido às funcionalidades e bibliotecas já existentes. O o envio e recebimento de mensagens deveria ser realizado sob o protocolo de transmissão TCP(Transmission Control Protocol) e UDP(User Datagram Protocol).
Haviam duas possibilidades de desenvolvimento e a opção escolhida foi a que implementaria 2 consultas sob o protocolo TCP e 1 função de transmissão de arquivo sob UDP. Diferentemente do projeto 1 no projeto 2 seria necessário apenas 2 funções de listagem dos dados que haviam sido salvos no projeto 1, utilizando o protocolo TCP e mais uma função de download das músicas que foram cadastradas no projeto 1, o download do arquivo .mp3 utilizando o protocolo UDP.
A proposta do projeto era emular uma rede contendo 4 hosts e 1 switch, os pacotes fluíram de um host para o outro, passando através do switch. Essa rede é criada através do Mininet, que é um emulador de redes capaz de criar redes com switches, hosts, servidores, etc. Com a rede criada, utilizamos outro programa, o Wireshark, que é um programa de análise de pacotes, que é capaz de capturar os pacotes de forma muito detalhada. Após capturar os pacotes, os analisamos com auxílio de algoritmos em python.