Predefinição:Collapse botton
As atividades de hoje buscarão mostrar as características básicas de comunicações com protocolos de transporte.
Aplicações e protocolos de transporte
Faça uma rápida pesquisa e descubra que protocolos de transporte (e que ports) são usados por estas aplicações:
- SSH
- FTP
- BitTorrent
- emule
- WINS
- Compartilhamento de arquivos do Windows
- Windows Terminal Service
- NFS
- Openvpn
- RADIUS
- DHCP
- SNMP
- NTP
- LDAP
- Mysql
- Postgresql
- Oracle RDBMS
- Syslog
- CUPS
Que protocolo de transporte predomina nesse conjunto ?
Tipos de protocolos de transporte: TCP x UDP
Nestes experimentos, serão evidenciadas diferenças entre os protocolos TCP e UDP.
Experimento 1
Ambos protocolos de transporte podem ser usados por aplicações que precisem se comunicar. Porém cada um deles têm certas propriedades, então a escolha precisa ser feita dependendo do tipo de comunicação a ser feita pela aplicação. Por exemplo, o que aconteceria se um arquivo fosse transferido de um computador a outro com ambos protocolos ?
- Abra um terminal e execute o seguinte comando para fazer o download de um arquivo a ser usado no experimento:
wget http://tele.sj.ifsc.edu.br/~tisemp/RES/ubuntu.iso
- Observe o tamanho do arquivo transferido ... ele deve ter exatamente 832569344 bytes (cerca de 832 MB). Você pode fazer isso com o comando ls -l ubuntu.iso, ou executando o gerenciador de arquivos e visualizando as propriedades desse arquivo.
- Escolha um colega para fazer o experimento, em que o arquivo será transferido de um computador para o outro.
- A primeira transferência será feita usando o protocolo TCP da seguinte forma:
- No computador receptor execute:
nc -l 5555 > arquivo
- No computador transmissor execute (X é o número do seu computador, visível em sua etiqueta):
time nc 192.168.1.X 5555 < ubuntu.iso
- Quando completar a transferência, verifique o tamanho do arquivo recebido. Ele é igual ao arquivo original? E quanto tempo levou para transmiti-lo ?
- No computador receptor execute:
- A segunda transferência será feita usando o protocolo UDP:
- No computador receptor faça o download deste programa. Em seguida acrescente a ele permissão de execução (chmod +x receptor).
- No computador receptor execute:
./receptor 5555 > arquivo
- No computador transmissor faça o download deste programa. Em seguida acrescente a ele permissão de execução (chmod +x transmissor).
- No computador transmissor execute (X é o número do seu computador, visível em sua etiqueta):
./transmissor 192.168.1.X 5555 < ubuntu.iso
- Quando completar a transferência, verifique o tamanho do arquivo recebido. Ele é igual ao arquivo original ? E quanto tempo levou para transmiti-lo ?
- Compare as transferências feitas com TCP e UDP. O que eles têm em comum ? Que diferenças lhe pareceram mais pronunciadas ? Como isso deve afetar as aplicações que usam esses protocolos ?
Experimento 2
Transferências usando cada um desses protocolos podem apresentar características bem distintas. Neste segundo experimento, serão feitas transferências simultâneas de arquivos a partir de um mesmo servidor, comparando-se o resultado obtido com TCP e UDP. Essas transferência ocorrerão entre os computadores do laboratório e um servidor externo ao laboratório, como mostrado na figura abaixo:
- Abra um terminal em seu computador, e nele execute este comando:
wget http://tele.sj.ifsc.edu.br/~tisemp/RES/ubuntu.iso
- Observe a taxa de transferência (velocidade do download) obtida. Que valores ela apresenta ? Quanto tempo levou para o arquivo ser transferido ?
- Após todos terem copiado o arquivo, o professor irá se logar em um dos computadores do laboratório e repetir a transferência. Porém desta vez ele irá fazê-la sozinho. Que taxas ele obteve, e quanto tempo levou ?
- O professor irá repetir a transferência novamente, mas desta vez ele irá pedir que um aluno também a inicie logo em seguida. Qual foi a taxa obtida por ambos ?
- Finalmente, o professor irá repetir a transferência porém com mais dois alunos fazendo-a ao mesmo tempo. Que se pode concluir quanto a taxa de transferência obtida ?
- Para poder fazer uma comparação, as transferências serão feitas novamente porém usando UDP como protocolo de transporte. Para isso siga estes passos:
- Abra dois terminais. Em um deles execute este comando: ... e no outro execute:
watch -n 1 ls -l arquivo
./receptor 5555 > arquivo
- Como se comparam as transferências usando TCP e UDP?
- Abra dois terminais. Em um deles execute este comando: