Mudanças entre as edições de "Curso Técnico Integrado de Telecomunicações - Redes de Computadores (RCO)"
Ir para navegação
Ir para pesquisar
(63 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | |||
− | |||
{{DivulgueEngtelecom}} | {{DivulgueEngtelecom}} | ||
==Informações Gerais== | ==Informações Gerais== | ||
*[[RCO-IntTel|Carga horária, Ementas, Bibliografia]] | *[[RCO-IntTel|Carga horária, Ementas, Bibliografia]] | ||
*[[RCO-IntTel (Plano de Ensino) | Plano de Ensino]] | *[[RCO-IntTel (Plano de Ensino) | Plano de Ensino]] | ||
− | |||
==Edições== | ==Edições== | ||
− | + | *[[RCO60807 2021-1|RCO60803 2021 em diante - Prof. Odilson Tadeu Valle - Roteiros de laboratórios]] | |
− | + | *[[RCO60803 2019-1|RCO60803 2019-1 - Trabalho dirigido - Prof. Odilson Tadeu Valle]] | |
+ | *[[RCO60803 2018-2|RCO60803 2018-2 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva]] | ||
*[[RCO60803 2018-1|RCO60803 2018-1 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva]] | *[[RCO60803 2018-1|RCO60803 2018-1 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva]] | ||
*[[RCO60803 2017-2|RCO60803 2017-2 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva]] | *[[RCO60803 2017-2|RCO60803 2017-2 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva]] | ||
Linha 24: | Linha 22: | ||
Vários [http://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/ aplicativos] com representação dinâmica de características das redes de computadores. | Vários [http://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/ aplicativos] com representação dinâmica de características das redes de computadores. | ||
==Transparências utilizadas durante as aulas== | ==Transparências utilizadas durante as aulas== | ||
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/slides-kurose-cap1.pdf Capítulo 1 - Introdução] |
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/slides-kurose-cap2.pdf Capítulo 2 - Camada de Aplicação] |
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/PPTs%20-%20Cap%C3%ADtulo%202%20-%20FTP%20-%20Email%20-%20P2P.pdf Capítulo 2 - Camada de Aplicação - FTP + EMAIL + P2P] |
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/slides-kurose-cap3.pdf Capítulo 3 - Camada de Transporte] |
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/PPTs%20-%20Cap%C3%ADtulo%204%20A%20camada%20de%20REDE.pdf Capítulo 4 - Camada de Rede] |
==Slides de Outras Universidades== | ==Slides de Outras Universidades== | ||
Linha 44: | Linha 42: | ||
* [http://www.pop-sc.rnp.br/publico/monitoramento.php Monitoramento do tráfego RNP - PoP-SC] | * [http://www.pop-sc.rnp.br/publico/monitoramento.php Monitoramento do tráfego RNP - PoP-SC] | ||
− | * [ | + | * [https://www.rnp.br/sistema-rnp/ferramentas/panorama-de-trafego Monitoramento do tráfego RNP - Nacional] |
* [http://www.redclara.net/index.php/pt/red/redclara/topologia-actual-de-la-red Rede Clara Internacional] | * [http://www.redclara.net/index.php/pt/red/redclara/topologia-actual-de-la-red Rede Clara Internacional] | ||
* [https://eventos.rnp.br/sites/default/files/activity/activity-presentation/apresentacao_wrnp_2017_eduardo_grizenid_v_1.2.pdf Futura infraestrutura de rede da RNP] | * [https://eventos.rnp.br/sites/default/files/activity/activity-presentation/apresentacao_wrnp_2017_eduardo_grizenid_v_1.2.pdf Futura infraestrutura de rede da RNP] | ||
+ | * [https://http2.akamai.com/demo Comparativo HTTP/1.1 vs HTTP/2] | ||
* [https://www.youtube.com/watch?v=IlAJJI-qG2k Animated map shows the undersea cables that power the internet] | * [https://www.youtube.com/watch?v=IlAJJI-qG2k Animated map shows the undersea cables that power the internet] | ||
− | * [ | + | * [https://submarine-cable-map-2019.telegeography.com/ Submarine Cable Map 2019] |
+ | * [https://www.bbc.com/portuguese/geral-50162526 A pré-história da internet] | ||
+ | * [https://www.youtube.com/watch?v=9hIQjrMHTv4 ''History of the Internet''] | ||
* [https://www.youtube.com/watch?v=A5dD2x2iQx8 ''History of the Internet'' - legendado] | * [https://www.youtube.com/watch?v=A5dD2x2iQx8 ''History of the Internet'' - legendado] | ||
+ | * [https://www.youtube.com/watch?v=PBWhzz_Gn10 ''Warriors of the Net''] | ||
* [https://www.youtube.com/watch?v=O_xG0ay5Vqs ''Warriors of the Net'' - legendado] | * [https://www.youtube.com/watch?v=O_xG0ay5Vqs ''Warriors of the Net'' - legendado] | ||
+ | * [https://www.youtube.com/watch?v=VANORrzKX50 ''Browser Wars''] | ||
* [https://www.youtube.com/watch?v=1G3SUTmioQE ''Browser Wars'' - legendado] | * [https://www.youtube.com/watch?v=1G3SUTmioQE ''Browser Wars'' - legendado] | ||
* [https://www.youtube.com/watch?v=0nz-lcuv3TM ''Browser Wars'' - dublado] | * [https://www.youtube.com/watch?v=0nz-lcuv3TM ''Browser Wars'' - dublado] | ||
* [https://db-ip.com/200.135.37.65 Localização geográfica de IPs] | * [https://db-ip.com/200.135.37.65 Localização geográfica de IPs] | ||
* [http://ipv6.br/ '''IPv6 no Brasil'''] | * [http://ipv6.br/ '''IPv6 no Brasil'''] | ||
+ | * [https://www.youtube.com/watch?v=5OtebbSnwoM Fragmentação no IPv4 e IPv6] | ||
* [http://ipv6.br/lab/ Laboratório de IPv6 - Livro didático contendo vários roteiros para entendimento do IPv6] | * [http://ipv6.br/lab/ Laboratório de IPv6 - Livro didático contendo vários roteiros para entendimento do IPv6] | ||
* [https://www.google.com/intl/pt-BR/ipv6/statistics.html#tab=per-country-ipv6-adoption&tab=per-country-ipv6-adoption Estatísticas Google sobre IPv6] | * [https://www.google.com/intl/pt-BR/ipv6/statistics.html#tab=per-country-ipv6-adoption&tab=per-country-ipv6-adoption Estatísticas Google sobre IPv6] | ||
+ | * [https://http2.github.io/faq/#will-http2-replace-http1x HTTP/2 Frequently Asked Questions] | ||
+ | * [https://www.youtube.com/watch?v=8XxeAw_d-BI Iniciação à máquinas de estados] | ||
+ | |||
+ | <!-- | ||
+ | =Laboratórios= | ||
− | |||
{{Collapse top |Laboratório 1 - Ferramentas de Rede e Conceitos Básicos}} | {{Collapse top |Laboratório 1 - Ferramentas de Rede e Conceitos Básicos}} | ||
Linha 75: | Linha 83: | ||
====Estrutura do Laboratório==== | ====Estrutura do Laboratório==== | ||
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/Ferramentas%20de%20rede%20e%20conceitos%20basicos.pdf Conceitos Básicos] |
[http://tele.sj.ifsc.edu.br/~eraldo/AULAS/2018-2/RCO-INTEGRADO/MACxIP.pdf Endereçamento MAC x Endereçamento IP] | [http://tele.sj.ifsc.edu.br/~eraldo/AULAS/2018-2/RCO-INTEGRADO/MACxIP.pdf Endereçamento MAC x Endereçamento IP] | ||
Linha 88: | Linha 96: | ||
====Parte 1: Observando interfaces do sistema com ifconfig==== | ====Parte 1: Observando interfaces do sistema com ifconfig==== | ||
O aplicativo '''ifconfig''' pode ser utilizado para visualizar a configuração ou configurar uma interface de host em redes TCP/IP. Se nenhum argumento for passado na chamada do '''ifconfig''', o comando mostra a configuração atual de cada interface de rede. | O aplicativo '''ifconfig''' pode ser utilizado para visualizar a configuração ou configurar uma interface de host em redes TCP/IP. Se nenhum argumento for passado na chamada do '''ifconfig''', o comando mostra a configuração atual de cada interface de rede. | ||
+ | |||
+ | NOTA: o ifconfig está sendo substituído pelo comando ip. A última versão do Uuntu já não traz mais o ifconfig por default. | ||
Consultar as páginas ''man ifconfig'' do Linux para maiores detalhes sobre o funcionamento deste aplicativo, o qual permite ativar/desativar a interface, configurar o endereço IP, definir o tamanho da MTU, redefinir o endereço de hardware se a interface suporta, redefinir a interrupção utilizada pelo dispositivo, entre outros. | Consultar as páginas ''man ifconfig'' do Linux para maiores detalhes sobre o funcionamento deste aplicativo, o qual permite ativar/desativar a interface, configurar o endereço IP, definir o tamanho da MTU, redefinir o endereço de hardware se a interface suporta, redefinir a interrupção utilizada pelo dispositivo, entre outros. | ||
Linha 137: | Linha 147: | ||
#Exemplo 1: <syntaxhighlight lang=bash> | #Exemplo 1: <syntaxhighlight lang=bash> | ||
− | PING | + | ping 191.36.0.94 |
− | 64 bytes from | + | PING 191.36.0.94 (191.36.0.94) 56(84) bytes of data. |
− | 64 bytes from | + | 64 bytes from 191.36.0.94: icmp_seq=1 ttl=60 time=2.46 ms |
− | 64 bytes from | + | 64 bytes from 191.36.0.94: icmp_seq=2 ttl=60 time=0.513 ms |
− | 64 bytes from | + | 64 bytes from 191.36.0.94: icmp_seq=3 ttl=60 time=0.573 ms |
+ | 64 bytes from 191.36.0.94: icmp_seq=4 ttl=60 time=0.558 ms | ||
^C | ^C | ||
− | --- | + | --- 191.36.0.94 ping statistics --- |
− | 4 packets transmitted, 4 received, 0% packet loss, time | + | 4 packets transmitted, 4 received, 0% packet loss, time 3001ms |
− | rtt min/avg/max/mdev = 0. | + | rtt min/avg/max/mdev = 0.513/1.026/2.463/0.830 ms </syntaxhighlight> |
+ | |||
##No exemplo foram enviados quatro pacotes ICMP, cada um com um número de seqüência (''icmp_seq''), os quais foram recebidos com sucesso com o tempo de viagem assinalado (''time'') | ##No exemplo foram enviados quatro pacotes ICMP, cada um com um número de seqüência (''icmp_seq''), os quais foram recebidos com sucesso com o tempo de viagem assinalado (''time'') | ||
##Cada pacote tem ainda um tempo de vida (''ttl'' – ''time to live''), o qual é decrementado em cada roteador, sendo o pacote descartado quando chegar a zero; isto evita pacotes perdidos na rede | ##Cada pacote tem ainda um tempo de vida (''ttl'' – ''time to live''), o qual é decrementado em cada roteador, sendo o pacote descartado quando chegar a zero; isto evita pacotes perdidos na rede | ||
Linha 204: | Linha 216: | ||
2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados | 2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados | ||
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/Wireshark%20e%20encapsulamento.pdf Wireshark e encapsulamento] |
*Introdução | *Introdução | ||
O entendimento de protocolos de redes pode ser bastante aprofundado através da “observação de protocolos funcionando” e “da manipulação de protocolos” - observando a sequência de mensagens trocadas entre duas entidades, entrando nos detalhes da operação do protocolo, e fazendo com que os protocolos realizem certas ações e então observando estas ações e as consequências. | O entendimento de protocolos de redes pode ser bastante aprofundado através da “observação de protocolos funcionando” e “da manipulação de protocolos” - observando a sequência de mensagens trocadas entre duas entidades, entrando nos detalhes da operação do protocolo, e fazendo com que os protocolos realizem certas ações e então observando estas ações e as consequências. | ||
Linha 272: | Linha 284: | ||
===Introdução=== | ===Introdução=== | ||
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/Conceituando%20protocolos.pdf Conceituando protocolos] |
O entendimento de protocolos de redes pode ser bastante aprofundado através da “observação de protocolos funcionando” e “da manipulação de protocolos” - observando a sequência de mensagens trocadas entre duas entidades, entrando nos detalhes da operação do protocolo, e fazendo com que os protocolos realizem certas ações e então observando estas ações e as consequências. | O entendimento de protocolos de redes pode ser bastante aprofundado através da “observação de protocolos funcionando” e “da manipulação de protocolos” - observando a sequência de mensagens trocadas entre duas entidades, entrando nos detalhes da operação do protocolo, e fazendo com que os protocolos realizem certas ações e então observando estas ações e as consequências. | ||
Linha 287: | Linha 299: | ||
[[Arquivo:AppRCO.png | 500px | Estrutura Applicação'']] | [[Arquivo:AppRCO.png | 500px | Estrutura Applicação'']] | ||
+ | ===Procedimento do Laboratório=== | ||
*Definição do protocolo a ser criado | *Definição do protocolo a ser criado | ||
Linha 327: | Linha 340: | ||
===Fonte base=== | ===Fonte base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/Desvendando%20o%20HTTP%20basico.pdf SLIDES DE APOIO: Desvendando o HTTP - Básico - Baseado na Pearson/Kurose] |
*[http://www.ebah.com.br/content/ABAAABZ6QAD/wireshark-http Wireshark - HTTP] | *[http://www.ebah.com.br/content/ABAAABZ6QAD/wireshark-http Wireshark - HTTP] | ||
*[https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol HTTP na Wikipedia] | *[https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol HTTP na Wikipedia] | ||
Linha 421: | Linha 434: | ||
===Fonte base=== | ===Fonte base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/Desvendando%20o%20HTTP%20avancado.pdf SLIDES DE APOIO: Desvendando o HTTP - Avançado - Baseado na Pearson/Kurose] |
*[http://www.ebah.com.br/content/ABAAABZ6QAD/wireshark-http Wireshark - HTTP] | *[http://www.ebah.com.br/content/ABAAABZ6QAD/wireshark-http Wireshark - HTTP] | ||
*[https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol HTTP na Wikipedia] | *[https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol HTTP na Wikipedia] | ||
Linha 485: | Linha 498: | ||
===Fonte base=== | ===Fonte base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/ServidorApache.pdf SLIDES DE APOIO: Introdução à Programação “para Web”]. Baseado no resumo destes material Introdução à Programação para Web de Carlos Bazilio: [http://www.ic.uff.br/~bazilio/cursos/java/slides/Introducao.pptm] |
*[https://www.apache.org/ Apache] | *[https://www.apache.org/ Apache] | ||
===Máquinas Virtuais UML / Netkit2=== | ===Máquinas Virtuais UML / Netkit2=== | ||
− | [http://docente.ifsc.edu.br/odilson/ | + | [http://docente.ifsc.edu.br/odilson/RDC60803/SlidesApoioMaquinaVirtual.pdf Conceitos de máquinas virtuais] |
Para esta aula de laboratório estaremos usando o [https://wiki.sj.ifsc.edu.br/index.php/Netkit2 netkit2] do Prof. Sobral, uma extensão do [http://wiki.netkit.org/index.php/Main_Page netkit] da '''Universidade Roma Tre'''. | Para esta aula de laboratório estaremos usando o [https://wiki.sj.ifsc.edu.br/index.php/Netkit2 netkit2] do Prof. Sobral, uma extensão do [http://wiki.netkit.org/index.php/Main_Page netkit] da '''Universidade Roma Tre'''. | ||
Linha 549: | Linha 562: | ||
chmod 555 /var/www/ET/index.html | chmod 555 /var/www/ET/index.html | ||
service apache2 restart </syntaxhighlight> | service apache2 restart </syntaxhighlight> | ||
− | #Em sua máquina hospedeira transforme o script em executável. Num terminal digite: <syntaxhighlight lang=bash> chmod +x /home/aluno/shared/config_apache.sh </syntaxhighlight> | + | #Em sua máquina hospedeira transforme o script em executável. Num terminal digite: <syntaxhighlight lang=bash> chmod +x /home/aluno/lab/shared/config_apache.sh </syntaxhighlight> |
#O shell script será executado na máquina virtual do apache, portanto, abra o terminal da mesma no Netkit e digite: <syntaxhighlight lang=bash> | #O shell script será executado na máquina virtual do apache, portanto, abra o terminal da mesma no Netkit e digite: <syntaxhighlight lang=bash> | ||
/hostlab/shared/config_apache.sh | /hostlab/shared/config_apache.sh | ||
Linha 573: | Linha 586: | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/Servico%20de%20Nomes%20DNS.pdf Serviço de Nomes - DNS] |
===PARTE 1: Consulta simples ao DNS gerada a partir de um comando ping=== | ===PARTE 1: Consulta simples ao DNS gerada a partir de um comando ping=== | ||
Linha 740: | Linha 753: | ||
*Entender o conceito de multiplexação | *Entender o conceito de multiplexação | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/UDP%20Basico.pdf Introdução a camada de transporte e UDP básico] |
===Parte 1 - Fluxo único UDP=== | ===Parte 1 - Fluxo único UDP=== | ||
Linha 790: | Linha 803: | ||
**Finalização da Conexão | **Finalização da Conexão | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/TCP%20Basico.pdf Camada de transporte: TCP básico] |
==Configuração do Laboratório== | ==Configuração do Laboratório== | ||
Linha 827: | Linha 840: | ||
#*O CTRL-D encerra a conexão no netcat | #*O CTRL-D encerra a conexão no netcat | ||
#Vá até o terminal do PC3 e encerre a captura de pacotes do '''tcpdump''' digitando CTRL+C. | #Vá até o terminal do PC3 e encerre a captura de pacotes do '''tcpdump''' digitando CTRL+C. | ||
− | #Abrir o arquivo | + | #Abrir o arquivo de captura gravado no PC3 com o Wireshark. Temos duas possibilidades para fazer isso, escolha uma das duas: |
− | # | + | ##Abrir o Wireshark e ir no menu File > Open > Pasta Pessoal > lab > shared > pc3.pcap |
− | # | + | ##Abrir o "navegador de arquivos" e encontrar procurar o arquivo na pasta aluno/lab/shared/pc3.pcap (/home/aluno/lab/shared/pc3.pcap). |
+ | #Todos pacotes TCP, desde o estabelecimento até a desconexão devem estar capturados. Um exemplo dessa captura encontra-se na Figura 1. | ||
[[Arquivo:WiresharkTCP.png |thumb | 600px| Fig.1 -- Protocolo TCP]] | [[Arquivo:WiresharkTCP.png |thumb | 600px| Fig.1 -- Protocolo TCP]] | ||
#O processo de conexão do TCP envolve a troca de 3 pacotes e é sempre iniciado pelo cliente. O cliente envia um pacote SYN, o servidor responde com um SYN-ACK e o cliente finalmente responde com ACK. Observe estes pacotes no wireshark. | #O processo de conexão do TCP envolve a troca de 3 pacotes e é sempre iniciado pelo cliente. O cliente envia um pacote SYN, o servidor responde com um SYN-ACK e o cliente finalmente responde com ACK. Observe estes pacotes no wireshark. | ||
Linha 846: | Linha 860: | ||
#*O servidor responde com um FIN-ACK. | #*O servidor responde com um FIN-ACK. | ||
#*Finalmente o cliente faz um ACK. | #*Finalmente o cliente faz um ACK. | ||
− | #*Veja se confere com a figura [http://www.tcpipguide.com/free/t_TCPConnectionTermination-2.htm Término de conexão TCP] | + | #*Veja se confere com a figura [http://www.tcpipguide.com/free/t_TCPConnectionTermination-2.htm Término de conexão TCP] ou com os [http://docente.ifsc.edu.br/odilson/RDC60803/TCP%20Basico.pdf slides] apresentados no início da aula. |
#Gere com o wireshark um diagrama da comunicação, ou diagrama de troca de mensagens, fazendo: Statistics > Flow Graph > OK | #Gere com o wireshark um diagrama da comunicação, ou diagrama de troca de mensagens, fazendo: Statistics > Flow Graph > OK | ||
#Analise esse diagrama, observando qual pacote contém os dados, ou seja, o texto que você digitou. | #Analise esse diagrama, observando qual pacote contém os dados, ou seja, o texto que você digitou. | ||
Linha 861: | Linha 875: | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/TCP%20controle%20de%20erros.pdf TCP - Controle de Erros] |
==Configuração do Laboratório== | ==Configuração do Laboratório== | ||
Linha 883: | Linha 897: | ||
ABCDEFGHIJKLMNOPQRSTUVXZW1234 </syntaxhighlight> | ABCDEFGHIJKLMNOPQRSTUVXZW1234 </syntaxhighlight> | ||
#Execute o tcpdump no PC3 <syntaxhighlight lang=bash> | #Execute o tcpdump no PC3 <syntaxhighlight lang=bash> | ||
− | tcpdump -i eth0 tcp port 5555 -s 1024 -U -w /hostlab/shared/pc3. | + | tcpdump -i eth0 tcp port 5555 -s 1024 -U -w /hostlab/shared/pc3.pcap </syntaxhighlight> |
− | #Execute | + | #Execute os comandos abaixo no PC2 (copie e cole). |
+ | ##O primeiro comando limita sua capacidade de recepção em cerca de 20 bytes (tamanho do ''buffer''). Isto permitirá ver a quebra do arquivo de 30 bytes em alguns segmentos TCP. | ||
+ | ##O segundo comando abre a porta 5555, através do netcat, e espera a chegada dos dados.<syntaxhighlight lang=bash> | ||
sysctl -w net.ipv4.tcp_rmem='20 20 20' | sysctl -w net.ipv4.tcp_rmem='20 20 20' | ||
netcat -l 5555 > arq.rx </syntaxhighlight> | netcat -l 5555 > arq.rx </syntaxhighlight> | ||
− | #Envie o arquivo arq.tx a partir do PC1 <syntaxhighlight lang=bash> | + | #Envie o arquivo arq.tx a partir do PC1 com o comando:<syntaxhighlight lang=bash> |
netcat 10.0.0.2 5555 < /hostlab/shared/arq.tx </syntaxhighlight> | netcat 10.0.0.2 5555 < /hostlab/shared/arq.tx </syntaxhighlight> | ||
− | #No PC3 faça CTRL | + | #No PC3 faça CTRL+C, para parar a captura de pacotes. |
− | #Abra o arquivo | + | #Abra o arquivo de captura gravado no PC3 (/home/aluno/lab/shared/pc3.pcap) com o Wireshark: |
+ | ##Abrir o Wireshark e ir no menu File > Open > Pasta Pessoal > lab > shared > pc3.pcap | ||
+ | #Você terá algo parecido com o apresentado na Figura 1.[[Arquivo:WiresharkTCPPerdaDePacotes.png |thumb | 600px| Fig.1 -- Protocolo TCP]] | ||
#Analise como os dados foram transmitidos e reconhecidos. | #Analise como os dados foram transmitidos e reconhecidos. | ||
− | Perguntas | + | ====Perguntas==== |
#Qual o número de sequência (normalizado pelo Wireshark) de cada segmento de dados transmitido (de PC1 para PC2) e qual o significado do número de reconhecimento em cada um deles? | #Qual o número de sequência (normalizado pelo Wireshark) de cada segmento de dados transmitido (de PC1 para PC2) e qual o significado do número de reconhecimento em cada um deles? | ||
#Como foi reconhecido cada segmento enviado? | #Como foi reconhecido cada segmento enviado? | ||
− | #*Relate esta análise por segmento usando os timestamps como referência. | + | #*Relate esta análise por segmento usando os timestamps (coluna Time) como referência. |
====Arquivo CAP deste experimento==== | ====Arquivo CAP deste experimento==== | ||
Linha 919: | Linha 937: | ||
===PARTE 3 - Testando a capacidade do TCP de enviar dados de forma duplex=== | ===PARTE 3 - Testando a capacidade do TCP de enviar dados de forma duplex=== | ||
− | *Agora vamos deixar de lado o netkit | + | *Agora vamos deixar de lado o netkit para fazer um pequeno teste de transmissão de arquivos entre dois colegas. |
*No experimento, o arquivo de um aluno será transmitido para outro e vice-versa. | *No experimento, o arquivo de um aluno será transmitido para outro e vice-versa. | ||
− | #Em um terminal, crie um diretório de trabalho e entre no mesmo <syntaxhighlight lang=bash> | + | #Em um terminal da máquina real, crie um diretório de trabalho e entre no mesmo <syntaxhighlight lang=bash> |
mkdir teste | mkdir teste | ||
cd teste </syntaxhighlight> | cd teste </syntaxhighlight> | ||
#Com o '''gedit''' construa um arquivo de cerca de 2000 bytes. Coloque neste arquivo o seu poema ou letra de canção preferida. Salve o arquivo com nome '''/home/aluno/teste/arq.tx'''. | #Com o '''gedit''' construa um arquivo de cerca de 2000 bytes. Coloque neste arquivo o seu poema ou letra de canção preferida. Salve o arquivo com nome '''/home/aluno/teste/arq.tx'''. | ||
− | #Escolha um colega para transferir o arquivo. Negocie quem será o servidor. | + | #Escolha um colega para transferir o arquivo. |
+ | ##Negocie quem será o servidor e quem será o cliente. | ||
+ | ##No processo, o arquivo criado por um aluno será enviado ao colega e vice-versa (tx, rx). | ||
#O servidor deve fazer <syntaxhighlight lang=bash> | #O servidor deve fazer <syntaxhighlight lang=bash> | ||
netcat -l 5555 < arq.tx > arq.rx </syntaxhighlight> | netcat -l 5555 < arq.tx > arq.rx </syntaxhighlight> | ||
− | #* | + | #*Ao término da transmissão, o arq.rx conterá os dados recebidos. |
#O cliente deve fazer, <span style="color: red;">lembre-se de adequar o IP_SERVIDOR<syntaxhighlight lang=bash> | #O cliente deve fazer, <span style="color: red;">lembre-se de adequar o IP_SERVIDOR<syntaxhighlight lang=bash> | ||
netcat IP_SERVIDOR 5555 < arq.tx > arq.rx </syntaxhighlight> | netcat IP_SERVIDOR 5555 < arq.tx > arq.rx </syntaxhighlight> | ||
+ | #*<span style="color: black;">Ao término da transmissão, o arq.rx conterá os dados recebidos. | ||
#Abra o arquivo recebido do colega (arq.rx) com o '''gedit''' e confira o conteúdo. | #Abra o arquivo recebido do colega (arq.rx) com o '''gedit''' e confira o conteúdo. | ||
Perguntas: | Perguntas: | ||
Linha 946: | Linha 967: | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/TCP%20controle%20de%20congestionbamento%20e%20equidade.pdf TCP - Controle de Congestionamento e Equidade] |
*[https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/tcp-congestion/index.html Animação do controle de congestinamento] | *[https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/tcp-congestion/index.html Animação do controle de congestinamento] | ||
Linha 1 046: | Linha 1 067: | ||
#Fique monitorando o PC3 a tela parar de ser atualizada, aproximadamente 90 s. | #Fique monitorando o PC3 a tela parar de ser atualizada, aproximadamente 90 s. | ||
#Pare os processos nos quatro PCs utilizando CTRL-C. | #Pare os processos nos quatro PCs utilizando CTRL-C. | ||
+ | #Rode o Wireshark e abra o arquivo /home/aluno/lab/shared/pc4.cap. | ||
#Baseado na Figura 3, no '''Graph 2''' altere o filtro para '''udp.port==2000''' e no '''Graph 3''' altere o filtro para '''tcp.port==2001'''. Salve o gráfico gerado. | #Baseado na Figura 3, no '''Graph 2''' altere o filtro para '''udp.port==2000''' e no '''Graph 3''' altere o filtro para '''tcp.port==2001'''. Salve o gráfico gerado. | ||
[[Arquivo:TCPxUDP_Wireshark.png |thumb | 400px| Figura 3 - Captura de 2 fluxos de dados TCP e UDP]] | [[Arquivo:TCPxUDP_Wireshark.png |thumb | 400px| Figura 3 - Captura de 2 fluxos de dados TCP e UDP]] | ||
Linha 1 110: | Linha 1 132: | ||
##Quanto tempo levou para transmiti-lo? | ##Quanto tempo levou para transmiti-lo? | ||
#Analisando a captura de pacotes do WireShark responda: | #Analisando a captura de pacotes do WireShark responda: | ||
− | ## Qual é o | + | ## Qual é o número de sequência do primeiro e do último pacote? Existe? |
## É possível calcular o tamanho do arquivo pela análise dos pacotes? É mais fácil ou difícil que no caso da transferência via TCP? | ## É possível calcular o tamanho do arquivo pela análise dos pacotes? É mais fácil ou difícil que no caso da transferência via TCP? | ||
## Há segmentos de controle ou somente segmentos de dados? | ## Há segmentos de controle ou somente segmentos de dados? | ||
Linha 1 130: | Linha 1 152: | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/IP%20Basico.pdf Introdução a Camada de Rede] |
+ | *[http://tele.sj.ifsc.edu.br/~eraldo/AULAS/2018-2/RCO-INTEGRADO/MACxIP.pdf Endereçamento MAC x Endereçamento IP] | ||
===Procedimento=== | ===Procedimento=== | ||
Linha 1 158: | Linha 1 181: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#Chamar o netkit2 (Aplicativos >> Educativo >> Netkit2) | #Chamar o netkit2 (Aplicativos >> Educativo >> Netkit2) | ||
− | #Carregar o arquivo lab.conf a partir do Netkit2:<syntaxhighlight lang=bash> | + | #Forçar a atualização do Netkit2: <syntaxhighlight lang=text> General >> Update </syntaxhighlight> |
+ | #Carregar o arquivo '''lab.conf''' a partir do Netkit2:<syntaxhighlight lang=bash> | ||
File >> Load Only | File >> Load Only | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Linha 1 167: | Linha 1 191: | ||
Network >> Start | Network >> Start | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | #Observar os endereços de hardware (ou MAC) e IP de cada dispositivo na rede. <syntaxhighlight lang=bash> | + | #Copie o diagrama da rede para o papel e, para todas interfaces de rede apresentadas no diagrama, anote, baseados nos comandos dos itens seguintes: |
+ | ##Endereço IP | ||
+ | ##Endereço MAC | ||
+ | ##Roteador padrão | ||
+ | #Observar os endereços de hardware (ou MAC) e IP de cada dispositivo na rede. No terminal de cada '''pc''' execute: <syntaxhighlight lang=bash> | ||
ifconfig </syntaxhighlight> | ifconfig </syntaxhighlight> | ||
− | #Observar e interpretar a tabela de roteamento nos hospedeiros pc1 e pc4. Identificar os default gateways em cada pc.<syntaxhighlight lang=bash> | + | #Observar e interpretar a tabela de roteamento nos hospedeiros '''pc1''' e '''pc4'''. Identificar os ''default gateways'' em cada '''pc'''.<syntaxhighlight lang=bash> |
route -n | route -n | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | #Observar e interpretar a tabela de roteamento no roteador<syntaxhighlight lang=bash> | + | #Observar e interpretar a tabela de roteamento no roteador ('''r1''')<syntaxhighlight lang=bash> |
exit | exit | ||
route -n | route -n | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | #Observar e "provar" que pacotes indo de '''pc1''' para '''pc4''' são encaminhados ao roteador e, em seguida, entregues ao destino, ou seja, entrega indireta. | |
− | + | #*Use o '''ping''', '''tcpdump''' e seu diagrama de rede como apoio. | |
− | + | #*Lembre-se que você pode verificar o fluxo de dados individualmente em cada interface de rede e, portanto, se certificar que se há ou não pacotes atravessando o roteador: | |
− | + | #**Num primeiro momento em '''r1''':<syntaxhighlight lang=bash> | |
− | #Observar e "provar" que pacotes indo de | ||
− | #*Use o ping, tcpdump e seu diagrama de rede como apoio. | ||
− | #* | ||
− | |||
− | #*Num primeiro momento em | ||
tcpdump -i eth0 -n -e</syntaxhighlight> | tcpdump -i eth0 -n -e</syntaxhighlight> | ||
− | #*Em seguida, ainda em | + | #**Em seguida, ainda em '''r1''': <syntaxhighlight lang=bash> |
tcpdump -i eth1 -n -e</syntaxhighlight> | tcpdump -i eth1 -n -e</syntaxhighlight> | ||
− | #*Ver: [http://www.tcpdump.org/tcpdump_man.html manpage do tcpdump] | + | #**Ver: [http://www.tcpdump.org/tcpdump_man.html manpage do tcpdump] |
− | #Observar e "provar" que pacotes indo de | + | #Observar e "provar" que pacotes indo de '''pc1''' para '''pc2''' na '''lan0''' são enviados diretamente para '''pc2''', ou seja, entrega direta. |
− | #*Use o ping e tcpdump como apoio, adequando os comandos apresentados no item anterior. | + | #*Use o '''ping''' e '''tcpdump''' como apoio, adequando os comandos apresentados no item anterior. |
===Configuração básica de interface de rede=== | ===Configuração básica de interface de rede=== | ||
− | #Configure a interface de rede no | + | #Configure a interface de rede no '''pc3'''. |
#*O mesmo deverá ser capaz de "pingar" para qualquer outro PC ou ser "pingado". | #*O mesmo deverá ser capaz de "pingar" para qualquer outro PC ou ser "pingado". | ||
− | #*Dica: observe a configuração de rede do | + | #*Dica: observe a configuração de rede do '''pc4''' e tente adaptá-la para o '''pc3'''. |
#*Dica de ferramentas de configuração: use os comandos '''ifconfig''' e '''route'''. Use o '''man''' ou procure na web como utilizar esses comandos. | #*Dica de ferramentas de configuração: use os comandos '''ifconfig''' e '''route'''. Use o '''man''' ou procure na web como utilizar esses comandos. | ||
− | #Execute o comando ping do | + | #Execute o comando ping do '''pc3''' para o '''pc4'''. Obteve sucesso? |
− | #Execute o comando ping do | + | #Execute o comando ping do '''pc3''' para o '''pc1'''. Obteve sucesso? |
− | #Execute o comando ping do | + | #Execute o comando ping do '''pc2''' para o '''pc3'''. Obteve sucesso? |
====Referências adicionais==== | ====Referências adicionais==== | ||
Linha 1 215: | Linha 1 238: | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/IP%20Roteamento.pdf Introdução ao Roteamento] |
====PARTE 1 - Rede com 3 roteadores==== | ====PARTE 1 - Rede com 3 roteadores==== | ||
Linha 1 232: | Linha 1 255: | ||
## SN7 : 200.10.7.0/24 | ## SN7 : 200.10.7.0/24 | ||
## SN8 : 200.10.8.0/24 | ## SN8 : 200.10.8.0/24 | ||
− | #Abaixo o arquivo de configuração para o NetKit. Copie e salve como '''/home/aluno/roteamento.conf'''.<syntaxhighlight lang= | + | #Abaixo o arquivo de configuração para o NetKit. Copie e salve como '''/home/aluno/roteamento.conf'''.<syntaxhighlight lang=text> |
H1[type]=generic | H1[type]=generic | ||
Linha 1 293: | Linha 1 316: | ||
====PARTE 2 - Desafio: Rede com 4 roteadores==== | ====PARTE 2 - Desafio: Rede com 4 roteadores==== | ||
− | + | #Crie um arquivo de configuração que descreva a rede abaixo no '''netkit'''. | |
+ | ##Observe que essa rede tem somente um roteador a mais que a rede apresentada anteriormente. | ||
+ | ##As rotas devem ser configuradas de forma que pacotes que trafegam de H1 para H2 passem por R1, R3, R4 e R2. | ||
+ | ##O retorno (H2 ==> H1) deve ser por R2, R4 e R1. | ||
+ | ##Cada sub-rede SN está em uma rede ethernet separada. | ||
+ | ##Chame o professor e mostre que os roteamentos estão sendo realizados corretamente, com o apoio do tcpdump e tracerotue. | ||
* SN1 : 200.10.1.0/24 | * SN1 : 200.10.1.0/24 | ||
Linha 1 308: | Linha 1 336: | ||
====PARTE 3 - Criando loop para verificar o campo TTL==== | ====PARTE 3 - Criando loop para verificar o campo TTL==== | ||
− | Crie um conjunto de rotas que façam que um pacote vindo de H1 para H2 entre em um loop entre R1, R3, R2, R1. Envie um pacote único com o ping de H1 para H2. | + | #Crie um conjunto de rotas que façam que um pacote vindo de H1 para H2 entre em um loop entre R1, R3, R2, R1. |
− | Rastreie com o tcpdump o pacote em loop e verifique o momento em que o pacote sai de circulação. | + | #Envie um pacote único com o ping de H1 para H2. |
+ | #Rastreie com o tcpdump o pacote em loop e verifique o momento em que o pacote sai de circulação. | ||
==Links de Referência== | ==Links de Referência== | ||
Linha 1 369: | Linha 1 398: | ||
===Fonte Básica=== | ===Fonte Básica=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/IP_DHCP_NAT.pdf DHCP e NAT] |
*[http://www.davidc.net/sites/default/subnets/subnets.html Cálculo de sub-redes] | *[http://www.davidc.net/sites/default/subnets/subnets.html Cálculo de sub-redes] | ||
===Roteiro=== | ===Roteiro=== | ||
− | #Um administrador precisa montar uma rede experimental conforme mostrada na Figura 1. Na sub-rede 1 ele precisará instalar cerca | + | #Um administrador precisa montar uma rede experimental conforme mostrada na Figura 1. Na sub-rede 1 ele precisará instalar cerca 50 ''hosts'', e nas sub-redes 2 e 3 ele precisará instalar cerca de 20 ''hosts''. O administrador dispõe do bloco de endereços IP 192.168.10.0/24 para ser utilizado no endereçamento da rede experimental. Faça uma proposta para alocação de endereços IP para cada sub-rede (rede 1, 2 e 3), incluindo também as sub-redes relativas aos enlaces ponto-a-ponto (rede AB, AC e BC). Responda ainda: |
##Qual o endereço identificador de rede de cada sub-rede (1, 2, 3, AB, AC e BC)? | ##Qual o endereço identificador de rede de cada sub-rede (1, 2, 3, AB, AC e BC)? | ||
##Qual o a máscara de rede de cada sub-rede (1, 2, 3, AB, AC e BC)? | ##Qual o a máscara de rede de cada sub-rede (1, 2, 3, AB, AC e BC)? | ||
Linha 1 433: | Linha 1 462: | ||
*[http://www.davidc.net/sites/default/subnets/subnets.html Link Calculador Online de Subnets] | *[http://www.davidc.net/sites/default/subnets/subnets.html Link Calculador Online de Subnets] | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Laboratório 17 - Tecnologia de Enlace Ethernet }} | ||
− | + | ===Objetivos=== | |
− | + | *Compreender que Ethernet não é Internet e que não é necessário o mundo IP para haver comunicação. | |
+ | *Diferenciar Hub de Switch | ||
+ | *Compreender o papel do protocolo ARP | ||
===Fonte Base=== | ===Fonte Base=== | ||
− | *[http://docente.ifsc.edu.br/odilson/ | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/Camada%20de%20enlace.pdf Camada de Enlace] |
− | + | ===Animação Pearson/Kurose=== | |
− | |||
− | |||
− | + | *[https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/csma-cd/index.html Animação CSMA/CD] | |
− | * | ||
− | |||
− | |||
− | === | + | ===PARTE 1=== |
− | |||
− | + | Neste experimento vamos conectar quatro computadores através de um Hub Ethernet. Este dispositivo faz com que todos os computadores se conectem tal como um cabo. Quando um PC envia uma mensagem para outro PC, TODOS os computadores podem ver esta mensagem. Para haver comunicação basta que um computador envie um frame ETHERNET direcionado para o endereço de hardware do computador destino. NÃO é necessário que as interfaces dos computadores estejam configuradas com endereços IP. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Arquivo:RCO-Animacao_HUB.gif | thumb | 400px| Figura 2 - Funcionamento de um Hub]] | |
− | |||
− | + | #Contruir um arquivo '''\home\aluno\hub.conf''' com a seguinte configuração <syntaxhighlight lang=bash> | |
− | |||
− | # | ||
− | |||
− | |||
− | |||
− | |||
pc1[type]=generic | pc1[type]=generic | ||
pc2[type]=generic | pc2[type]=generic | ||
pc3[type]=generic | pc3[type]=generic | ||
pc4[type]=generic | pc4[type]=generic | ||
− | + | ||
− | + | pc1[eth0]=lan0 | |
− | pc1[eth0]= | + | pc2[eth0]=lan0 |
− | pc2[eth0]= | + | pc3[eth0]=lan0 |
− | pc3[eth0]= | + | pc4[eth0]=lan0 |
− | pc4[eth0]= | + | </syntaxhighlight> |
− | + | #Carregar e executar a configuração no Netkit. | |
− | # | + | #Baixar o arquivo sendraw.py: [http://tele.sj.ifsc.edu.br/~eraldo/AULAS/2018/RCO-INTEGRADO/sendraw.py sendraw.py] para o diretório /home/aluno |
− | + | #Copiar o arquivo para a Máquina Virtual, no terminal da máquina real digite:<syntaxhighlight lang=bash> | |
− | + | cp /home/aluno/sendraw.py /home/aluno/lab/shared </syntaxhighlight> | |
− | + | #Identificar o endereço de Hardware (MAC) do PC2. Use o '''ifconfig'''. Note que NÃO existe endereço IPv4 configurado. | |
− | + | #Executar o tcpdump no PC2:<syntaxhighlight lang=bash> | |
− | # | + | tcpdump -i eth0 -e -X -vvv -s 50</syntaxhighlight> |
− | + | #Executar o tcpdump no PC3:<syntaxhighlight lang=bash> | |
− | + | tcpdump -i eth0 -e -X -vvv -s 50</syntaxhighlight> | |
− | + | #Executar o tcpdump no PC4:<syntaxhighlight lang=bash> | |
− | + | tcpdump -i eth0 -e -X -vvv -s 50</syntaxhighlight> | |
− | + | #No PC1 enviar uma mensagem para o PC2 usando o endereço de hardware identificado anteriormente, <span style="color: red;">lembre-se se substituir o ENDERECO_MAC pelo MAC adequado:<syntaxhighlight lang=bash> | |
− | + | python /hostlab/shared/sendraw.py -d ENDERECO_MAC -i Alo-Mundo</syntaxhighlight> <span style="color: black;"><blockquote style="background: lime; border: 1px solid black; padding: 1em;"> Observe que a mensagem chega a todos os PCs embora foi enviada somente para o PC2. </blockquote> | |
− | + | #O que explica o comportamento de broadcast para esse caso? | |
− | + | #Pode existir colisão em um sistema com HUBs simples como este do experimento? | |
− | + | ||
− | + | ===PARTE 2 - Explorando o SWITCH e o endereço de Broadcast Ethernet=== | |
− | + | ||
− | + | [[Arquivo:RCO-Animacao_SWITCH.gif | thumb | 370px| Figura 2 - Funcionamento de um Switch]] | |
− | + | ||
− | + | #Construir um arquivo '''/home/aluno/switch.conf''' com a seguinte configuração: <syntaxhighlight lang=bash> | |
− | + | switchA[type]=switch | |
− | + | ||
− | # | + | pc1[type]=generic |
− | # | + | pc2[type]=generic |
− | + | pc3[type]=generic | |
− | # | + | pc4[type]=generic |
− | + | ||
− | # | + | switchA[eth0]=port0 |
− | + | switchA[eth1]=port1 | |
− | + | switchA[eth2]=port2 | |
− | + | switchA[eth3]=port3 | |
− | #No | + | |
− | + | pc1[eth0]=port0 | |
− | + | pc2[eth0]=port1 | |
− | + | pc3[eth0]=port2 | |
− | + | pc4[eth0]=port3 | |
− | + | </syntaxhighlight> | |
− | + | #Carregar e executar a configuração no Netkit. | |
− | + | #Baixar o arquivo sendraw.py do site: [http://tele.sj.ifsc.edu.br/~eraldo/AULAS/2018/RCO-INTEGRADO/sendraw.py sendraw.py] para o /home/aluno. | |
− | + | #Copiar o arquivo para a Máquina Virtual. No terminal da máquina real digite:<syntaxhighlight lang=bash> | |
− | + | cp /home/aluno/sendraw.py /home/aluno/lab/shared/ </syntaxhighlight> | |
− | + | #Identificar o endereço de Hardware (MAC) do PC2. Use o ifconfig. Note que NÃO existe endereço IPv4 configurado | |
− | + | #Executar o tcpdump no PC2, PC3 e PC4 com o comando:<syntaxhighlight lang=bash> | |
− | # | + | tcpdump -i eth0 -e -X -vvv -s 50</syntaxhighlight> |
− | + | #No PC1 enviar uma mensagem para o PC2 usando o endereço de hardware identificado anteriormente, <span style="color: red;">Lembre-se se substituir o ENDERECO_MAC pelo MAC adequado:<syntaxhighlight lang=bash> | |
− | + | python /hostlab/shared/sendraw.py -d ENDERECO_MAC -i Alo-Mundo </syntaxhighlight> <span style="color: black;"><blockquote style="background: lime; border: 1px solid black; padding: 1em;"> Agora somente o PC2 deve receber pois o ''switch'' entrega o quadro somente para a porta de saída associada ao respectivo MAC destino. </blockquote><blockquote style="background: red; border: 1px solid black; padding: 1em;"> CASO todos tenham recebido, é devido ao fato que por algum motivo o switch ainda não aprendeu quem está conectado nas portas. Neste caso envie pacotes do PC2 para o PC1 e depois retome o experimento do item 4. </blockquote> | |
− | #Rode o wireshark no ''' | + | #No PC1 enviar uma mensagem em broadcast (endereço FF:FF:FF:FF:FF:FF)<syntaxhighlight lang=bash> |
− | ##Clique sobre a aba do ''' | + | python /hostlab/shared/sendraw.py -d FF:FF:FF:FF:FF:FF -i Mensagem_Broadcast </syntaxhighlight> |
+ | <blockquote style="background: lime; border: 1px solid black; padding: 1em;"> | ||
+ | Note que neste caso todos os computadores recebem a mensagem em ''broadcast'', mesmo sendo um '''switch'''. | ||
+ | </blockquote> | ||
+ | |||
+ | ===PARTE 3 - Explorando o ARP=== | ||
+ | |||
+ | O protocolo ARP serve como apoio para descoberta do endereço MAC dado que se sabe o endereço IP de uma máquina. Quando um PC deseja enviar um pacote IP para uma máquina na rede local, ele necessita descobrir o endereço MAC desta máquina. O protocolo ARP usa o broadcast ETHERNET para perguntar para todas as máquinas na rede QUEM tem o endereço IP em questão. A máquina que possui o endereço responderá informando o seu MAC. | ||
+ | |||
+ | #Configure endereços IP em todas as máquinas do laboratório anterior. Use exemplo a rede 10.10.10.0/24 | ||
+ | #Rode o wireshark no '''PC2''' com os procedimentos: | ||
+ | ##Clique sobre a aba do '''PC2'''. | ||
##Menu: Wireshark >> any | ##Menu: Wireshark >> any | ||
− | # | + | #Faça um ping do PC1 no PC2 e observe a sequência de pacotes trocados. Faça um diagrama no tempo mostrando a troca de pacotes até a realização do ECHO REQUEST do ping. Os resultados do Wireshark devem ser similares a: [[Arquivo:RCO-TelaARP.jpg | 700px| Troca de pacotes ARP e PING]] |
− | + | #Confira o cache do arp no PC1 fazendo:<syntaxhighlight lang=bash> | |
− | # | + | arp -a</syntaxhighlight> |
− | + | #Confira o cache do arp no PC2 fazendo:<syntaxhighlight lang=bash> | |
− | + | arp -a</syntaxhighlight> | |
− | # | + | #Faça um ping do PC1 no PC3. |
− | # | + | #Confira novamente o cache do arp no PC1 fazendo:<syntaxhighlight lang=bash> |
− | + | arp -a</syntaxhighlight> | |
− | + | ||
− | + | {{Collapse bottom}} | |
− | + | ||
− | + | {{Collapse top |Laboratório 18 - IPv6: Endereços e ''Neighbor Discovery''}} | |
− | + | ||
− | + | ===Fonte Base=== | |
− | + | *[http://docente.ifsc.edu.br/odilson/RDC60803/IPv6.pdf IPv6] | |
− | + | ||
− | + | Fontes Extras | |
− | + | *Este roteiro foi baseado no material disponível no Livro - [http://www.paulogurgel.com.br/ Laboratório de IPv6]. | |
− | + | *[http://docente.ifsc.edu.br/odilson/RED29004/enderec-v6.pdf Guia didático de endereçamento IPv6] obtido de http://ipv6.br/. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===Objetivos do laboratório:=== | |
+ | *Um primeiro contato com o protocolo [https://pt.wikipedia.org/wiki/IPv6 IPv6]. | ||
+ | *Compreender o funcionando do ''Neighbor Discovery'', o equivalente ao ARP (''Address Resolution Protocol'') do IPv4, que em resumo é uma tabela contendo a relação ente IPs e MACs. | ||
+ | *Aprender configurações básicas de interfaces IPv6 no Linux. | ||
− | === | + | ===Introdução teórica=== |
+ | Obs.: texto copiado literalmente de: [http://ipv6.br/lab/ Laboratório de IPv6]. | ||
− | * | + | A '''descoberta de vizinhança''' por meio do protocolo ''Neighbor Discovery'' no |
− | * | + | IPv6 é um procedimento realizado pelos nós de uma rede para descobrir endereços físicos dos dispositivos vizinhos presentes no mesmo enlace. A função deste protocolo se assemelha à função do ARP e do RARP no IPv4. |
− | + | *O procedimento é iniciado quando um dispositivo tenta enviar um pacote cujo endereço físico de destino é desconhecido. O nó solicitante envia uma mensagem ''Neighbor Solicitation'' (NS) para todos os nós do enlace pertencentes ao grupo ''multicast solicited-node'' (ff02::1:ffXX:XXXX), de modo que XX:XXXX são os últimos 24 bits do endereço IPv6 em que está interessado. | |
− | + | *É possível notar que, por uma coincidência dos últimos 24 bits, é bastante provável que apenas o nó de destino faça realmente parte deste grupo. Isto é um ''truque'' interessante do IPv6 para diminuir o tráfego deste tipo de pacote na rede. | |
− | + | *Na mensagem NS, o endereço IPv6 a ser resolvido é informado no campo ''Target''. O campo ''Source link-layer address'' informa ao nó de destino o endereço MAC do nó de origem, poupando-o de ter que fazer o mesmo procedimento no sentido inverso. | |
− | * | + | *O nó de destino, dono do IPv6 requisitado, ao receber este pacote, envia uma mensagem ''Neighbor Advertisement'' (NA) como resposta diretamente ao nó requisitante. O seu endereço físico será informado no campo ''Target link-layer address''. |
+ | *A informação de mapeamento entre endereços IP e endereços físicos é armazenada em uma tabela chamada ''neighbor cache''. Nela também fica registrado o ''status'' de cada destino, informando se o mesmo é alcançável ou não. | ||
− | === | + | ===Roteiro de atividades: ETAPA 1=== |
− | + | A figura abaixo apresenta o diagrama esquemático da rede a ser montada/analisada. Observe que todos os IPv6 ''Global Unicast'' já estão definidos na mesma, são esses IPs que utilizaremos em nosso experimento. | |
− | + | [[Arquivo:Diagrama_rede_IPv6.jpg]] | |
− | + | #Crie em seu computador um arquivo com nome '''/home/aluno/IPv6.conf''', com o seguinte conteúdo: <syntaxhighlight lang=bash> | |
− | + | #Ligacao das maquinas nos dominios de colisao | |
− | + | #Duas pequenas redes interligadas pelo backbone | |
− | + | ||
− | + | # Hosts definitions | |
pc1[type]=generic | pc1[type]=generic | ||
pc2[type]=generic | pc2[type]=generic | ||
pc3[type]=generic | pc3[type]=generic | ||
pc4[type]=generic | pc4[type]=generic | ||
+ | |||
+ | # Hosts' interfaces to local routers | ||
+ | pc1[eth0]=link0:ipv6=2001:bcc:faca:1::101/64 | ||
+ | pc2[eth0]=link1:ipv6=2001:bcc:cafe:1::102/64 | ||
+ | pc3[eth0]=HUB1:ipv6=2001:bcc:1f0:1::103/64 | ||
+ | pc4[eth0]=HUB1 | ||
+ | |||
+ | #Default Gateways definitions | ||
+ | pc1[route]=default6:gateway=2001:bcc:faca:1::1 | ||
+ | pc2[route]=default6:gateway=2001:bcc:cafe:1::1 | ||
+ | pc3[route]=default6:gateway=2001:bcc:1f0:1::1 | ||
+ | |||
+ | # Routers definitions | ||
+ | r1[type]=gateway | ||
+ | r2[type]=gateway | ||
+ | |||
+ | #Routers interfaces definitions | ||
+ | r1[eth0]=backbone0:ipv6=2001:db8:dead:1::1/64 | ||
+ | r1[eth1]=link0:ipv6=2001:bcc:faca:1::1/64 | ||
+ | r1[eth2]=link1:ipv6=2001:bcc:cafe:1::1/64 | ||
+ | |||
+ | r2[eth0]=backbone0:ipv6=2001:db8:dead:1::2/64 | ||
+ | r2[eth1]=HUB1:ipv6=2001:bcc:1f0:1::1/64 | ||
+ | |||
+ | #Routers definitions | ||
+ | r1[route]=2001:bcc:1f0:1::0/64:gateway=2001:db8:dead:1::2 | ||
+ | r2[route]=2001:bcc:faca:1::0/64:gateway=2001:db8:dead:1::1 | ||
+ | r2[route]=2001:bcc:cafe:1::0/64:gateway=2001:db8:dead:1::1 | ||
+ | </syntaxhighlight> | ||
+ | #Tenha certeza que o Netkit2 estja atualizado: General >> Update. | ||
+ | #Rode o NetKit em seu computador. Em um terminal digite: <syntaxhighlight lang=bash> | ||
+ | netkit2 & </syntaxhighlight> | ||
+ | #No menu '''File''' - '''Load and Run''', procure o arquivo '''/home/aluno/IPv6.conf''' e clique em OK. Abrirá uma janela com 6 abas, onde cada uma delas é um terminal de configuração do respectivo equipamento: '''pc1-4''' ou '''r1-2'''. | ||
+ | #Observe que o '''pc4''' não está com sua interface configurada. | ||
+ | #Ao clicar no menu '''File''' - '''Graph''', pode-se ter uma visão da rede a ser simulada e conferir se é equivalente ao diagrama proposto. | ||
+ | #Faça um '''ping6''' entre o '''pc1''' ao '''pc3''': <syntaxhighlight lang=bash> | ||
+ | ping6 -c4 2001:bcc:1f0:1::103 </syntaxhighlight> | ||
+ | #Faça um '''ping6''' entre o '''pc1''' e '''pc2'''. | ||
+ | #No '''pc4''' use o seguinte comando para adicionar o endereço IPv6 à interface de rede: <syntaxhighlight lang=bash> | ||
+ | ip addr add 2001:bcc:1f0:1::104/64 dev eth0 </syntaxhighlight> | ||
+ | #No '''pc4''', acrescente o ''default gateway'' com o seguinte comando: <syntaxhighlight lang=bash> | ||
+ | ip -6 route add default via 2001:bcc:1f0:1::1 dev eth0 </syntaxhighlight> | ||
+ | #No '''pc1''' use o seguinte comando para verificar como ficou a configuração dos endereços da interface de rede. O resultado é similar ao apresentado pelo comando '''ifconfig''': <syntaxhighlight lang=bash> | ||
+ | ip addr show dev eth0 </syntaxhighlight> | ||
+ | #Todo o roteamento está pronto, mas caso desejássemos poderíamos acrescentar rotas com comando similares aos já utilizados. Por exemplo, no '''r1''', para adicionar uma rota estática para a rede dos '''pc3''' e '''pc4''' utilizaríamos o seguinte comando: <syntaxhighlight lang=bash> | ||
+ | ip -6 route add 2001:bcc:1f0:1::/64 via 2001:db8:dead:1::2 dev eth0 </syntaxhighlight> | ||
+ | #Confira as rotas estabelecidas em todos os ''hosts'' com o comando abaixo. | ||
+ | ##São coerentes com os dados apresentados no diagrama acima?<syntaxhighlight lang=bash> | ||
+ | ip -6 route show </syntaxhighlight> | ||
+ | #No '''pc1''' use os seguintes comandos para ver a rota para alguns vizinhos: <syntaxhighlight lang=bash> | ||
+ | traceroute6 2001:bcc:1f0:1::103 | ||
+ | traceroute6 2001:bcc:1f0:1::104 </syntaxhighlight> | ||
+ | #*Anote as rotas. | ||
+ | #Deixe um '''ping6''' entre o '''pc1''' ao '''pc3''' rodando: <syntaxhighlight lang=bash> | ||
+ | ping6 2001:bcc:1f0:1::103 </syntaxhighlight> | ||
+ | #Rode o wireshark no '''r1''' com os procedimentos: | ||
+ | ##Clique sobre a aba do '''r1'''. | ||
+ | ##Menu: Wireshark >> any | ||
+ | #Analisando a captura do Wireshark, você verá os pacotes relativos ao ping6 e também pacotes parecidos com: <syntaxhighlight lang=bash> fe80::4cd6:19ff:fedc:2b52 2001:db8:dead:1::1 ICMPv6 86 Neighbor Solicitation for 2001:db8:dead:1::1 from 4e:d6:19:dc:2b:52 | ||
+ | 2001:db8:dead:1::1 fe80::4cd6:19ff:fedc:2b52 ICMPv6 78 Neighbor Advertisement 2001:db8:dead:1::1 (rtr, sol) </syntaxhighlight> | ||
+ | #Explique o processo de descoberta de vizinhança (''Neighbor Discovery'' / ''Neighbor Solicitation'' - '''NS''' e ''Neighbor Advertisement'' - '''NA'''), citando o endereço '''link local''' utilizado. | ||
+ | #*Alguns exemplos de campos visualizáveis para uma mensagem do tipo ''Neighbor Advertisement'': | ||
+ | ##Destination (camada Ethernet) | ||
+ | ##*O endereço MAC do nó requisitante que foi obtido por meio da mensagem NS enviada anteriormente. | ||
+ | ##Source (camada Ethernet) | ||
+ | ##*A origem é o endereço MAC da interface do dispositivo que enviou a resposta. | ||
+ | ##Type (camada Ethernet) | ||
+ | ##*Indica que a mensagem utiliza IPv6. | ||
+ | ##Next header (camada IPv6) | ||
+ | ##*Indica qual é o próximo cabeçalho. Neste caso, o valor 58 (0x3a) refere-se a uma mensagem ICMPv6. | ||
+ | ##Source (camada IPv6) | ||
+ | ##*A origem é o endereço IP da interface diretamente ligada ao enlace em que a requisição foi recebida. | ||
+ | ##Destination (camada IPv6) | ||
+ | ##*Diferentemente da mensagem NS, a mensagem NA possui como destino o endereço IPv6 global do nó requisitante. | ||
+ | ##Type (camada ICMPv6) | ||
+ | ##*Indica que a mensagem é do tipo 136 (Neighbor Advertisement). | ||
+ | ##Flags (camada ICMPv6) | ||
+ | ##*Uma mensagem NA possui três flags: | ||
+ | ###Indica se quem está enviando é um roteador. Neste caso, o valor marcado é 0, pois não é um roteador. | ||
+ | ###Indica se a mensagem é uma resposta a um NS. Neste caso, o valor marcado é 1, pois é uma resposta. | ||
+ | ###Indica se a informação carregada na mensagem é uma atualização de endereço de algum nó da rede. Neste caso, o valor marcado é 1, pois está informando o endereço pela primeira vez. | ||
+ | ##Target Address (camada ICMPv6) | ||
+ | ##*Indica o endereço IP associado às informações das flags. Neste caso, é o próprio endereço da interface do dispositivo em questão. | ||
+ | ##ICMPv6 option (camada ICMPv6) | ||
+ | ##*Indica as opções do pacote ICMPv6: | ||
+ | ###Target link-layer address | ||
+ | ##Type | ||
+ | ##*Indica o tipo de opção. Neste caso, Target link-layer address. | ||
+ | ##Link-layer address | ||
+ | ##*Indica o endereço MAC da interface do dispositivo em questão. | ||
+ | #Em todos os ''hosts'' rode o comando <syntaxhighlight lang=bash> ip -6 neighbor show </syntaxhighlight> | ||
+ | ##Qual é a funcionalidade desse comando? | ||
+ | ##Qual é o significado do conteúdo dessa tabela? | ||
+ | ##A tabela mostrada em cada um dos casos é compatível com o diagrama da rede montado? | ||
+ | ##Por que, por exemplo, na tabela do '''pc3''' não há uma referência explícita ao '''pc1'''? | ||
− | + | ===Roteiro de atividades: ETAPA 2 - DESAFIO=== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Acrescentar um terceiro roteador ligado a R1 e R2 (backbone0). Acrescentar uma rede ethernet ligada a este roteador. Configure a rede com endereços IPv6 colocando pelo menos um PC adicional. Acrescente os roteamentos necessários para que este PC seja pingável a partir de PC1. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Collapse bottom}} | {{Collapse bottom}} | ||
Linha 1 747: | Linha 1 783: | ||
#Fazer um desenho da '''topologia''' do domínio com todos IPs alocados e apresentar os cálculos das subredes conforme restrições abaixo. | #Fazer um desenho da '''topologia''' do domínio com todos IPs alocados e apresentar os cálculos das subredes conforme restrições abaixo. | ||
##Construir as tabelas de roteamento para que a rede fique plenamente operacional. Apresentar as '''tabelas de roteamento na página WEB do projeto'''; | ##Construir as tabelas de roteamento para que a rede fique plenamente operacional. Apresentar as '''tabelas de roteamento na página WEB do projeto'''; | ||
− | ##Apresentar o desenho da '''topologia na página WEB do projeto'''; | + | ##Apresentar o desenho da '''topologia na página WEB do projeto'''. Utilize o modelo ao lado. Observe que o modelo está propositalmente incompleto; [[Image:Modelo_de_diagrama_do_projeto.png|300px]] |
##Enlaces ponto-a-ponto devem obrigatoriamente ter máscara /30; | ##Enlaces ponto-a-ponto devem obrigatoriamente ter máscara /30; | ||
+ | ##Enlaces multiponto devem obrigatoriamente comportar no mínimo 50 hospedeiros; | ||
##Todas as rotas devem ser colocadas no arquivo '''projeto.conf''' do netkit. Apresentar esse arquivo na '''página WEB do projeto'''; | ##Todas as rotas devem ser colocadas no arquivo '''projeto.conf''' do netkit. Apresentar esse arquivo na '''página WEB do projeto'''; | ||
#Na sub-rede onde existe um cliente (notebook) acrescentar um servidor '''[[Netkit2#Usando_DHCP | DHCP]]''' (máquina adicional) com os seguintes requisitos: | #Na sub-rede onde existe um cliente (notebook) acrescentar um servidor '''[[Netkit2#Usando_DHCP | DHCP]]''' (máquina adicional) com os seguintes requisitos: | ||
Linha 1 755: | Linha 1 792: | ||
#Estabelecer o serviço '''Apache''' no servidor previsto no domínio com os seguintes requisitos: | #Estabelecer o serviço '''Apache''' no servidor previsto no domínio com os seguintes requisitos: | ||
##uma página WEB com a descrição integral do projeto; | ##uma página WEB com a descrição integral do projeto; | ||
− | ##uma página WEB com conteúdo de sua preferência com os seguintes requisitos: | + | ##uma segunda página WEB com conteúdo de sua preferência com os seguintes requisitos: |
###a página deve ser em inglês ou espanhol; | ###a página deve ser em inglês ou espanhol; | ||
###texto com no mínimo 500 palavras; | ###texto com no mínimo 500 palavras; | ||
Linha 1 762: | Linha 1 799: | ||
##Todas as páginas devem devem ser mantidas em um diretório de nome ''/home/aluno/lab/shared/WEB''. | ##Todas as páginas devem devem ser mantidas em um diretório de nome ''/home/aluno/lab/shared/WEB''. | ||
##Elaborar um ''shell script'' para automação do serviço WEB. Sítio para treinamento de [http://www.compileonline.com/execute_bash_online.php shell script]. | ##Elaborar um ''shell script'' para automação do serviço WEB. Sítio para treinamento de [http://www.compileonline.com/execute_bash_online.php shell script]. | ||
− | #O '''roteamento global''' deve permitir conectividade entre todas as equipes. | + | #O '''roteamento global''' deve permitir conectividade entre todas as equipes. Para evitar possíveis erros advindos de filtros do Netkit2, execute os seguintes comandos em todos os seus roteadores (copie e cole): <syntaxhighlight lang=bash> |
+ | echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter | ||
+ | echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter | ||
+ | echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter | ||
+ | echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter | ||
+ | echo 0 > /proc/sys/net/ipv4/conf/eth3/rp_filter </syntaxhighlight> | ||
* Exemplo de arquivo '''projeto.conf'''. | * Exemplo de arquivo '''projeto.conf'''. | ||
Linha 1 802: | Linha 1 844: | ||
#O shell script será executado na máquina virtual do apache, e portanto deverá ser copiado para o /home/aluno/shared/lab/config_apache.sh | #O shell script será executado na máquina virtual do apache, e portanto deverá ser copiado para o /home/aluno/shared/lab/config_apache.sh | ||
##Na máquina virtual do apache deve-se tornar o arquivo do script executável e em seguida executá-lo:<syntaxhighlight lang=bash> | ##Na máquina virtual do apache deve-se tornar o arquivo do script executável e em seguida executá-lo:<syntaxhighlight lang=bash> | ||
− | chmod +x /hostlab/shared | + | chmod +x /hostlab/shared/config_apache.sh |
− | /hostlab/shared | + | /hostlab/shared/config_apache.sh |
</syntaxhighlight> | </syntaxhighlight> | ||
Linha 1 856: | Linha 1 898: | ||
</syntaxhighlight>onde Y.Y.Y.Y é uma interface do roteador de borda ligado a Rx ou, caso não esteja diretamente ligado a este, deve ser um endereço de roteador vizinho que tenha rota para o roteador de borda. | </syntaxhighlight>onde Y.Y.Y.Y é uma interface do roteador de borda ligado a Rx ou, caso não esteja diretamente ligado a este, deve ser um endereço de roteador vizinho que tenha rota para o roteador de borda. | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
+ | --> | ||
==Listas de Exercícios== | ==Listas de Exercícios== |
Edição atual tal como às 13h05min de 15 de fevereiro de 2024
MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES
Informações Gerais
Edições
- RCO60803 2021 em diante - Prof. Odilson Tadeu Valle - Roteiros de laboratórios
- RCO60803 2019-1 - Trabalho dirigido - Prof. Odilson Tadeu Valle
- RCO60803 2018-2 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva
- RCO60803 2018-1 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva
- RCO60803 2017-2 - Prof. Odilson Tadeu Valle / Prof. Eraldo Silveira e Silva
- RCO60803 2017-1 - Prof. Juliano de Souza / Prof. Eraldo Silveira e Silva
- RCO60803 2016-2 - Prof. Juliano de Souza / Prof. Luciano Barreto
- RCO60803 2016-1 - Prof. Fernando Rodrigues Santos / Prof. Juliano de Souza
- RCO60803 2015-2 - Prof. Simara Sonaglio
- RCO60803 2015-1 - Prof. Arliones Hoeller / Prof. Túlio Ribeiro
- RCO60803 2014-2 - Prof. Arliones Hoeller / Prof. Tomás Grimm / Prof. José Clair
Material de apoio
Applets do Kurose
Vários aplicativos com representação dinâmica de características das redes de computadores.
Transparências utilizadas durante as aulas
Capítulo 2 - Camada de Aplicação
Capítulo 2 - Camada de Aplicação - FTP + EMAIL + P2P
Capítulo 3 - Camada de Transporte
Slides de Outras Universidades
- TCP Error Control- EECS - LASSONDE
- TCP- Flow and Error Control - LASSONDE
- Congestion Control - LASSONDE
- Slides/Aula Faculty of Engineering, Kasetsart University
Curiosidades
- Monitoramento do tráfego RNP - PoP-SC
- Monitoramento do tráfego RNP - Nacional
- Rede Clara Internacional
- Futura infraestrutura de rede da RNP
- Comparativo HTTP/1.1 vs HTTP/2
- Animated map shows the undersea cables that power the internet
- Submarine Cable Map 2019
- A pré-história da internet
- History of the Internet
- History of the Internet - legendado
- Warriors of the Net
- Warriors of the Net - legendado
- Browser Wars
- Browser Wars - legendado
- Browser Wars - dublado
- Localização geográfica de IPs
- IPv6 no Brasil
- Fragmentação no IPv4 e IPv6
- Laboratório de IPv6 - Livro didático contendo vários roteiros para entendimento do IPv6
- Estatísticas Google sobre IPv6
- HTTP/2 Frequently Asked Questions
- Iniciação à máquinas de estados
Listas de Exercícios
Lista de exercícios 1 - Introdução |
---|
|
Lista de exercícios 2 - Camada de Aplicação |
---|
ADICIONAIS PARTE 2- HTTP
ADICIONAIS PARTE 3- DNS
|
Lista de exercícios 3 - Camada de Transporte |
---|
|