Código desenvolvido em Python para a cadeira de Redes de Computadores: Aplicação e Transporte (Redes de Computadores I no currículo antigo), da graduação de Ciência da Computação da Unisinos. Consiste na implementação do protocolo SCTP com comunicação entre cliente e servidor utilizando Socket e docker containers. Implementado também os protocolos TCP e UDP para avaliação e comparação do funcionamento, e exibição dos dados com gráficos utilizando a biblioteca Matplotlib.
- Python
- Docker
- Matplotlib
- UDP
- TCP
- SCTP
- Socket
Sistema Operacional no qual foi desenvolvido e executado foi Linux Ubuntu
# subir docker container
sudo docker run --rm -it \
--workdir=/app \
--volume="$PWD":/app \
gcc
# instalar as dependências
apt-get update
apt-get upgrade
apt-get install python3-dev
apt-get install libsctp-dev
apt-get install python3-setuptools
python3 setup.py install
apt-get install python3-matplotlib
# consultar o IP
hostname -i
# executar o código do servidor
python3 server.py
# executar o código do cliente
python3 client.py
# se quiser testar gerando tráfego para interferência para analisar os comportamentos
# abrir em outros prompts os containers do servidor e do cliente
# <container_id> é o ID do container, por exemplo 68e0a58b9033
sudo docker container exec -it <container_id> bash
# instalar o iperf no servidor e no cliente
apt-get install iperf3
# rodar o iperf no servidor
# <port> qualquer porta disponível
iperf3 -s -p <port>
# rodar o iperf no cliente
# <host_server> é o IP do servidor
# <port> é a porta que aparecerá no prompt do servidor ao rodar o comando anterior, exemplo:
# Server listening on 9000
iperf3 -f m -i 1 -t 10 -c <host_server> -p <port>