Mudanças entre as edições de "RED29004-2014-2"
(101 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 6: | Linha 6: | ||
<br>''Atendimento paralelo'': 3ª feira das 9h40 às 10h35 e 4ª das 14h25 às 15h20. Local: Lab. de Desenvolvimento. | <br>''Atendimento paralelo'': 3ª feira das 9h40 às 10h35 e 4ª das 14h25 às 15h20. Local: Lab. de Desenvolvimento. | ||
− | + | [http://www.sj.ifsc.edu.br/~odilson/RED29004/DIARIO%202014-2%20C290%20RED29004.pdf Conceitos finais] | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''IMPORTANTE:''' o direito de recuperar uma avaliação em que se faltou somente existe mediante justificativa reconhecida pela coordenação. Assim, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação e aguardar o parecer da coordenação. | '''IMPORTANTE:''' o direito de recuperar uma avaliação em que se faltou somente existe mediante justificativa reconhecida pela coordenação. Assim, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação e aguardar o parecer da coordenação. | ||
Linha 63: | Linha 55: | ||
= Material de apoio = | = Material de apoio = | ||
+ | |||
+ | ==''Applets'' do Kurose== | ||
+ | Vários [http://wps.aw.com/aw_kurose_network_4/63/16303/4173752.cw/index.html aplicativos] com representação dinâmica de características das redes de computadores. | ||
== Listas de exercícios == | == Listas de exercícios == | ||
Linha 106: | Linha 101: | ||
#Considere um site de comércio eletrônico que quer manter um registro de compras para cada um de seus clientes. Descreva como isso pode ser feito com cookies. | #Considere um site de comércio eletrônico que quer manter um registro de compras para cada um de seus clientes. Descreva como isso pode ser feito com cookies. | ||
#Imagine uma aplicação que requeira “não perda de dados” e seja também altamente sensível ao atraso. | #Imagine uma aplicação que requeira “não perda de dados” e seja também altamente sensível ao atraso. | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Lista de exercícios 4 - Camada de Transporte}} | ||
+ | #Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B. Suponha que os segmentos TCP que trafegam do hospedeiro A para o hospedeiro B tenham número de porta fonte x e número de porta destino y. Quais são os números de porta fonte e do destino para os segmentos que trafegam do hospedeiro B para o hospedeiro A? | ||
+ | #Descreva porque um desenvolvedor de aplicação pode escolher rodar uma aplicação sobre UDP em vez de sobre TCP. | ||
+ | #É possível que uma aplicação desfrute de transferência confiável de dados mesmo quando roda sobre UDP? Caso a resposta seja afirmativa, como isso acontece? | ||
+ | #Porque se diz que o TCP oferece comunicação lógica entre os processos de aplicação? | ||
+ | #Cite quais são os serviços oferecidos pelo protocolo TCP? | ||
+ | #O que são os serviços de multiplexação e demultiplexação implementados pela camada de transporte? | ||
+ | #Porque se diz que o UDP é um protocolo não orientado para conexão? | ||
+ | #Qual o papel das informações de porta origem e destino contidas nos segmentos TCP e UDP? | ||
+ | #Porque é dito que o TCP fornece transferência confiável de dados sobre um canal não confiável? | ||
+ | #Cite 3 diferenças entre os serviços oferecidos pelo TCP e UDP. | ||
+ | #O que é um ''timeout''? | ||
+ | #Como é estabelecido o valor de ''timeout'' em uma conexão TCP? É um valor fixo? | ||
+ | #O que é um ''round trip time'' (RTT)? Escreva e descreva a equação. | ||
+ | #Para que serve um ''checksum'' em um segmento TCP ou UDP? Como ele é formado? | ||
+ | #Cite uma vantagem da abordagem Volta-N com relação à retransmissão seletiva. | ||
+ | #Cite uma vantagem da abordagem Retransmissão Seletiva com relação ao Volta-N. | ||
+ | #Qual é a grande desvantagem de uma transmissão do tipo “para e espera” com relação a uma do tipo “janelas deslizantes”? | ||
+ | #O que é um PDU (também chamado de Segmento)? | ||
+ | #O TCP oferece garantias de banda e de tempo real? | ||
+ | #Cite um motivo para um protocolo de transmissão confiável adicionar um número de seqüência em cada pacote transmitido. Justifique o uso dessa informação explicando o problema que ocorreria caso ela não fosse usada. | ||
+ | #Para que serve um relógio temporizador em um protocolo de transmissão confiável? | ||
+ | #Cite um problema que pode ocorrer caso o tempo de um relógio temporizador seja muito pequeno. | ||
+ | #Cite um problema que pode ocorrer caso o tempo de um relógio temporizador seja muito grande. | ||
+ | #Por quê os tempos dos relógios temporizadores não são estabelecidos de forma estática, e sim de forma dinâmica, calculados conforme os ''round-trip times'' medidos? | ||
+ | #O que é uma reconhecimento cumulativo? | ||
+ | #Explique o que faz um receptor caso receba um pacote fora de ordem em um protocolo do tipo: | ||
+ | ##Volta-N e | ||
+ | ##Retransmissão Seletiva. | ||
+ | #O que é um “Tamanho de Janela” em um protocolo do tipo Janela Deslizante? O que se leva em consideração para calcular seu valor? | ||
+ | #Em um protocolo de janela deslizante qual é um problema que pode acontecer quando o maior número de Seqüência é muito próximo do “Tamanho de Janela”? | ||
+ | #Responda verdadeiro e falso as seguintes perguntas e justifique resumidamente sua resposta: | ||
+ | ##Com o protocolo SR, é possível o remetente receber um ACK para um pacote que caia fora de sua janela corrente. | ||
+ | ##Com o protocolo GBN, é possível o remetente receber um ACK para um pacote que caia fora de sua janela corrente. | ||
+ | ##O protocolo bit alternante é o mesmo que o protocolo SR com janela do remetente e destinatário de tamanho 1. | ||
+ | ##O protocolo bit alternante é o mesmo que o protocolo GBN com janela do remetente e destinatário de tamanho 1. | ||
+ | #Considere a transferência de um arquivo enorme de L bytes do hospedeiro A para o hospedeiro B. Suponha um MSS de 536 bytes. | ||
+ | ##Qual é o máximo valor de L tal que não sejam esgotados os números de sequência TCP? Lembre-se de que o campo de número de sequência TCP tem 4 bytes. | ||
+ | ##Para o L que obtiver no item anterior, descubra quanto tempo demora para transmitir o arquivo. Admita que um total de 66 bytes de cabeçalho de transporte, de rede e de enlace de dados seja adicionado a cada segmento antes que o pacote resultante seja enviado por um enlace de 155 Mbits/s. Ignore controle de fluxo e controle de congestionamento de modo que A possa enviar segementos um atrás do outro e continuamente. | ||
+ | #Considere um canal que pode perder pacotes, mas cujo atraso máximo é conhecido. Modifique o protocolo '''rdt2.1''' (livro ou transparências) para incluir esgotamento de temporização do remetente e retransmissão. Informalmente, argumente por que seu protocolo pode se comunicar de modo correto por esse canal. | ||
+ | #Dadas as máquinas de estado, figuras abaixo, de um transmissor e um receptor de um protocolo "qualquer". Faça um descrição do funcionamento de ambos. Monte pelo menos dois diagramas de mensagens, destacando e relacionando possíveis sequências temporais com as máquinas de estado dadas. [[Arquivo:MaqEstadosRdt2Remetente.png|thumb|500px|Transmissor]] [[Arquivo:MaqEstadosRdt2Destinatario.png|thumb|500px|Receptor]] | ||
+ | #O UDP e TCP usam o complemento de 1 para suas somas de verificação. Suponha que você tenha as seguintes três palavras de 8 bits: 01010011, 01100110 e 01110100. | ||
+ | ##Qual é o complemento de 1 para a soma dessas palavras? Mostre todo o trabalho. | ||
+ | ##Por que o UDP toma o complemento de 1 da soma, isto é, por que não toma apenas a soma? | ||
+ | ##Com o esquema de complemento de 1, como o destinatário detecta erros? | ||
+ | ##É possível que o erro de 1 bit passe desapercebido? | ||
+ | ##E um de 2 bits? | ||
+ | #Considere a figura abaixo (Variação do tamanho da janela). Admitindo-se que o TCP Reno é o protocolo que experimenta o comportamento mostrado no gráfico, responda às seguintes perguntas. Em todos os casos você deverá apresentar uma justificativa resumida para sua resposta. | ||
+ | ##Quais os intervalos de tempo em que a partida lenta do TCP está em execução? | ||
+ | ##Quais os intervalos de tempo em que a prevenção de congestionamento do TCP está em execução? | ||
+ | ##Após a 16a rodada de transmissão, a perda de segmento será detectada por três ACKs duplicados ou por um esgotamento de temporização? | ||
+ | ##Após a 22a rodada de transmissão, a perda de segmento será detectada por três ACKs duplicados ou por um esgotamento de temporização? | ||
+ | ##Qual é o valor inicial de ''sstrhresh'' na primeira rodada de transmissão? | ||
+ | ##Qual é o valor inicial de ''sstrhresh'' na 18a rodada de transmissão? | ||
+ | ##Qual é o valor inicial de ''sstrhresh'' na 24a rodada de transmissão? | ||
+ | ##Durante qual rodada de transmissão é enviado o 70o segmento? | ||
+ | ##Admitindo-se que uma perda de pacote será detectada após 26a rodada pelo recebimento de três ACKs duplicados, quais serão os valores do tamanho da janela de congestionamento e de ''sstrhresh''? | ||
+ | ##Suponha que o TCP Tahoe seja usado (em vez do TCP Reno) e que ACKs duplicados triplos sejam recebidos na 16a rodada. Quais são o ''sstrhresh'' e o tamanho da janela de congestionamento na 19a rodada? | ||
+ | ##Suponha novamente que o TCP Tahoe seja usado, e que exista um evento de esgotamento de temporização na 22a sessão. Quantos pacotes foram enviados da 17a sessão até a 22a, inclusive? | ||
+ | [[Arquivo:JanelaCongestionamento.png|thumb|500px|Variação do tamanho da janela]] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Lista de exercícios 5 - Camada de Rede}} | ||
+ | #Qual é o nome de um pacote da camada de rede? Os roteadores e comutadores da camada de enlace são denominados comutadores de pacotes. Qual é a diferença fundamental entre um roteador e um comutador de camada de enlace? Lembre-se de que usamos o termo roteadores tanto para redes de datagramas quanto para redes de circuitos virtuais. | ||
+ | #Quais são as principais características de uma rede de circuito virtual? | ||
+ | #Quais são as principais características de uma rede de datagramas? Porque os projetistas da Internet adoram este modelo de serviço em sua implementação? | ||
+ | #Porque se diz que a Internet implementa um serviço de melhor esforço? Que tipo de garantias são oferecidas neste modelo de serviço? | ||
+ | #Quais as principais diferenças entre os serviços oferecidos pelas redes de datagramas (Internet) e redes ATM? | ||
+ | #O que é um protocolo de roteamento? | ||
+ | #Como podem ser classificados os algoritmos de roteamento? | ||
+ | #Roteadores possuem endereços IP? Quantos endereços IP um roteador possui? | ||
+ | #Quais são as funções mais importantes da camada de rede em uma rede de datagramas? Quais são as três funções mais importantes de rede em uma rede de circuitos virtuais? | ||
+ | #Quantos hosts podem ser endereçados com um bloco IP 200.23.16.0/20? Como podemos montar 8 sub-redes a partir deste bloco de endereços IP? | ||
+ | #Um provedor de serviços ISP possui cerca de 2000 clientes cadastrados atualmente. Porém um levantamento realizado recentemente pelo administrador da rede constatou que nunca mais do que 450 clientes estão on-line ao mesmo tempo. Qual o bloco de endereços IP na forma CIDR (a.b.c.d/x) deve ser contratado pelo ISP, considerando o estudo realizado pelo administrador da rede? | ||
+ | #Um administrador precisa montar uma rede experimental conforme mostrada na figura. Na sub-rede 1 ele precisará instalar cerca 25 hosts, e nas sub-redes 2 e 3 ele precisará instalar cerca de 12 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 e 3)? | ||
+ | ##Qual o a máscara de rede de cada sub-rede (1, 2 e 3)? | ||
+ | ##Quais os endereços IP que serão atribuídos a cada interface de rede nos enlaces ponto-a-ponto dos roteadores (enlaces relativos as redes AB, AC e BC)[[Arquivo:CdrEx.png]] | ||
+ | #Suponha que um administrador de rede tenha recebido o bloco de endereços 200.40.8.0/21 e que deseja dividir este bloco em 8 blocos de endereços iguais, de menor tamanho, para ser alocado a 8 sub-redes administradas por ele. | ||
+ | ##Determine o tamanho total do bloco de endereços. | ||
+ | ##Determine o tamanho de cada sub-bloco. | ||
+ | ##Determine o endereço/máscara de rede de cada sub-rede. | ||
+ | #Um provedor de acesso a Internet possui o seguinte bloco de endereços IP: 12.17.192.0/18. Os endereços IP de 12.17.192.1 até 12.17.207.255 já estão alocados para clientes deste provedor. Este provedor precisa atender a quatro novos clientes, um deles necessita de rede com pelo menos 1000 endereços de IP válidos e os outros três necessitam de rede com pelo menos 30 IP válidos. Faça uma proposta para alocação de endereços IP para estes clientes. Os endereços reservados para estes novos clientes devem ser alocados a partir da numeração mais baixa disponível. Procure também responder as questões abaixo: | ||
+ | ##Qual o total de endereços que dispõe o provedor em questão? | ||
+ | ##Quantos endereços IP já estão utilizados? | ||
+ | ##Quantos endereços IP este provedor possui livres para alocar aos novos clientes? | ||
+ | ##Qual o endereço identificador de cada sub-rede dos novos clientes? | ||
+ | ##Qual o a máscara de rede de cada sub-rede dos novos clientes? | ||
+ | ##Qual o endereço de broadcast de cada sub-rede dos novos clientes? | ||
+ | ##Quantos endereços IP ainda sobrarão ao provedor após atender a estes clientes? | ||
+ | #Qual é a diferença básica entre protocolos de roteamento “Estado de Enlaces” e “Vetor de Distância”? | ||
+ | #Em uma rede largamente dispersa, com centenas de roteadores, você recomendaria a adoção de um protocolo de roteamento do tipo “Estado de Enlaces” ou “Vetor de Distâncias”? Justifique. | ||
+ | #Explique o funcionamento de um algoritmo de roteamento do tipo “Vetor de Distâncias”. | ||
+ | #A Internet usa o conceito de “roteamento hierárquico”. O que significa isso? | ||
+ | #Um roteador em uma rede de pacotes (como é o caso da Internet) pode eventualmente necessitar descartar um datagrama. Por que isso ocorre? | ||
+ | #Um roteador em uma rede de pacotes (como é o caso da Internet) pode eventualmente necessitar fragmentar um datagrama. Por que isso ocorre? | ||
+ | #Um datagrama de 4000 bytes precisa ser fragmentado para passar por um roteador cujo enlace tem MTU de 1500 bytes. Mostre esquematicamente como ficam os datagramas que são gerados a partir dessa fragmentação. | ||
+ | #Considere enviar um datagrama de 2400 bytes por um enlace que tenha um aMTU de 700 bytes. Suponha que o datagrama original esteja marcado com o número de identificação 422. Quantos fragmentos são gerados? Quais são os valores em vários campos dos datagramas IPs gerados em relação à fragmentação? | ||
+ | #Um datagrama enviado para uma estação da mesma rede precisa passar por um roteador? | ||
+ | #Suponha que entre o hospedeiro de origem A e o hospedeiro de destino B os datagramas estejam limitados a 1500 bytes (incluindo cabeçalho). Admitindo um cabeçalho IP de 20 bytes, quantos datagramas seriam necessários para enviar um arquivo MP3 de 5 milhões de bytes? Explique como você obteve a resposta. | ||
+ | #Qual é a diferença básica de um endereço IP baseado em classes cheias (classful) e um sem classes (classles – CIDR)? | ||
+ | #O que é um Sistema Autônomo (SA) ? | ||
+ | #Para que serve o protocolo ICMP? | ||
+ | #Para que serve o campo “Time to Live” (sobrevida) em um datagrama IP? | ||
+ | #Quantas estações uma rede 223.1.10.0/24 suporta? | ||
+ | #Uma rede com bloco de IPs 200.23.16.0/20 deseja montar 8 subredes. Mostre como isso é possível e como ficaria os endereços de cada uma dessas subredes. | ||
+ | #Descreva e detalhe o processo de obtenção de um endereço IP através do protocolo DHCP. | ||
+ | #Descreva e detalhe o processo de tradução de endereços de rede - NAT. Com o NAT é possível somente a conversão (troca) do número de portas? Explique. | ||
+ | #Compare os campos de cabeçalho do IPv4 e do IPv6e aponte suas diferenças. Eles tem algum campo em comum? | ||
+ | #Afirma-se que, quando o IPv6 implementa túneis via roteamento IPv4, o IPv6 trata os túneis IPv4 como protocolo de camada de enlace. Você concorda com essa afirmação? Explique sua resposta. | ||
+ | #Por que são usados protocolos inter-AS e intra-AS diferentes na Internet? | ||
+ | #Por que considerações políticas/econômicas não são tão importantes para protocolos intra-AS, como OSPF e RIP, quanto par um protocolo de roteamento inter-AS, como BGP? | ||
+ | #Cite as diferenças entre a execução da abstração de difusão por meio de múltiplas transmissões individuais e a de uma única difusão com suporte da rede (roteador). | ||
+ | #Considere uma rede de datagramas que utiliza endereços de hospedeiros de 8 bits. Suponha que um roteador utilize a correspondência do prefixo mais longo e tenha a seguinte tabela de repasse:<table border="1" cellpadding="2"> | ||
+ | <tr><th>Prefixo a comparar</th><th>Interface</th> | ||
+ | <tr><th>1</th><td>0</td> | ||
+ | <tr><th>10</th><td>1</td> | ||
+ | <tr><th>111</th><td>2</td> | ||
+ | <tr><th>senão</th><td>3</td> | ||
+ | </table> Para cada uma das quatro interfaces, forneça a faixa associada de endereços de hospedeiro de destino e o número de endereços na faixa. | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Lista de exercícios 6 - Camada de Enlace}} | ||
+ | #Quais são os serviços providos pela camada de enlace? | ||
+ | #Dentre os serviços de camada de enlace, quais obrigatoriamente precisam ser implementados por todos os protocolos de enlace? | ||
+ | #Porque é necessário sincronizar quadros (serviço de enquadramento)? | ||
+ | #Por que se faz necessário um protocolo de acesso ao meio (MAC), em redes com meio de transmissão compartilhado? | ||
+ | #Do ponto de vista do protocolo MAC CSMA/CD, qual a principal diferença entre hubs e switches? | ||
+ | #Se as redes Ethernet atualmente podem operar com switches (Ethernet comutada), e em modo fullduplex, porque ainda existe o protocolo MAC CSMA/CD? | ||
+ | #Switches Ethernet Gerenciáveis são equipamentos de comutação de pacotes que podem ser configurados e observados pelos administradores de redes. Entre as informações que um administrador de rede tem acesso em um switch destes está a relação de endereços MAC conectados em cada porta do equipamento. Um administrador de rede detectou que existe um computador inundando a rede com tráfego intenso (o que pode ser causado por um virus). No entanto, ao capturar alguns dos datagramas IP desse fluxo intenso, o administrador não conseguiu reconhecer o endereço IP do computador, uma vez que ele varia entre diferentes datagramas (uma técnica para camuflar sua origem). Porém ele notou que o endereço MAC de origem, contido nos respectivos quadros Ethernet, é sempre o mesmo, o que identifica o computador que emite este tráfego. Sabendo que a rede é composta de vários switches Ethernet gerenciáveis, como o administrador poderia, sem sair de sua sala, localizar rapidamente esse computador? | ||
+ | #Um pacote de uma camada superior de redes é dividido em 10 quadros, e cada quadro tem 80% de chances de chegar sem danos. Se o protocolo de enlace de dados não fizer qualquer controle de erros, quantas vezes em média a mensagem deverá ser enviada para que o processo inteiro seja concluído? | ||
+ | #Explique o que é colisão e como estas impactam o tráfego de uma rede Ethernet. Explique como a mesma é evitada em redes comutadas, explicando como o uso de switches limitam as colisões quando comparados com hubs ou barramentos. | ||
+ | #Por que uma pesquisa ARP é enviada dentro de um quadro ''broadcast''? Por que uma resposta ARP é enviada dentro de um quadro com endereço MAC específico? Qual é a diferença entre esses dois quadros? | ||
+ | #Compare as estruturas de quadros das redes Ethernet 10BaseT, 100BaseT e Gigabit Ethernet. Quais diferenças entre elas? | ||
+ | #Dois adaptadores, um com taxa nominal de 10001 bps e outro com taxa nominal de 9999 bps, estão conectados via par trançado, como eles conseguem trocar dados normalmente? | ||
+ | #Você comprou um notebook novo. Vai utilizar pela primeira vez no Câmpus São José do IFSC. Com um cabo de rede conectou seu computador à rede do IFSC e digitou no navegador de seu computador: www.polito.it. Cite todos os protocolos utilizados e todas a etapas cumpridas por seu computador, para que essa operação tenha exito. | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
Linha 118: | Linha 252: | ||
[http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides do Kurose referentes ao capítulo 3, 6a. Ed.] | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides do Kurose referentes ao capítulo 3, 6a. Ed.] | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%204%20A%20camada%20de%20REDE.pdf Slides do Kurose referentes ao capítulo 4, 6a. Ed.] | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%205%20Camada%20de%20enlace.pdf Slides do Kurose referentes ao capítulo 5, 6a. Ed.] | ||
== Roteiros para laboratório == | == Roteiros para laboratório == | ||
Linha 340: | Linha 478: | ||
{{Collapse top |Laboratório 5 - TCP x UDP}} | {{Collapse top |Laboratório 5 - TCP x UDP}} | ||
+ | |||
+ | Tempo aproximado: 1h | ||
+ | |||
+ | Problemas observados: No experimento 2 diminuir o tamanho do arquivo: máximo 200 MB. | ||
O objetivo desses experimentos é evidenciar as diferenças entre os protocolos TCP e UDP. | O objetivo desses experimentos é evidenciar as diferenças entre os protocolos TCP e UDP. | ||
Linha 356: | Linha 498: | ||
nc -l 5555 > arquivoTCP | nc -l 5555 > arquivoTCP | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | #* No computador transmissor execute (''X'' é o número do seu | + | #* No computador transmissor execute (''X'' é o número do computador do seu vizinho, visível na etiqueta): <syntaxhighlight lang=bash> |
time nc 192.168.2.X 5555 < ubuntu.iso | time nc 192.168.2.X 5555 < ubuntu.iso | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Linha 399: | Linha 541: | ||
## Em que valor o tamanho do arquivo parou de crescer? Quanto tempo isso levou, aproximadamente? E esse tamanho final é o mesmo do arquivo original? | ## Em que valor o tamanho do arquivo parou de crescer? Quanto tempo isso levou, aproximadamente? E esse tamanho final é o mesmo do arquivo original? | ||
## Como se comparam as transferências usando TCP e UDP? | ## Como se comparam as transferências usando TCP e UDP? | ||
+ | |||
+ | ==== Experimento 3 ==== | ||
+ | |||
+ | Repita os experimentos 1 e 3 mas agora com o arquivo [http://tele.sj.ifsc.edu.br/~odilson/RED29004/minimo.txt minimo.txt], anotando todos os tempos. | ||
+ | |||
+ | #Os resultados foram os esperados? Discuta sobre as possíveis diferenças de comportamento. | ||
+ | |||
+ | ==== Tarefa extra ==== | ||
+ | |||
+ | Use o aplicativo '''NetCat''' (nc) para fazer transferências UDP e responda: | ||
+ | #Qual o procedimento no lado transmissor e receptor? | ||
+ | #Consegue-se medir o tempo de maneira automática? | ||
+ | #Por que os processos não param ao final da transferência? | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | ==== Experimento 3 ==== | + | {{Collapse top |Laboratório 6 - Protocolos de roteamento}} |
+ | |||
+ | Analisar o funcionamento de protocolos de roteamento estático e dinâmico da Internet, em particular as tabelas estáticas de roteamento, o protocolo RIP e OSPF, a partir de uma estrutura física formada por roteadores e redes locais. Para isto utilizaremos o Netkit2. Leia [http://wiki.sj.ifsc.edu.br/index.php/Netkit2#Roteadores aqui] como o Netkit2 trabalha com roteadores. | ||
+ | |||
+ | Em todos os experimentos será utilizado como base a seguinte arquitetura de rede: | ||
+ | |||
+ | [[Arquivo:DynamicRoutingTriangle.png]] | ||
+ | |||
+ | ==Experimento 1: tabelas estáticas de roteamento== | ||
+ | |||
+ | Tempo aproximado para execução e conferência: 1h | ||
+ | |||
+ | #Crie em seu computador um arquivo com nome '''/home/aluno/exp1.conf''', com o seguinte conteúdo: <code> # Hosts definitions | ||
+ | pc1[type]=generic | ||
+ | pc2[type]=generic | ||
+ | pc3[type]=generic | ||
+ | |||
+ | # Routers definitions | ||
+ | r1[type]=gateway | ||
+ | r2[type]=gateway | ||
+ | r3[type]=gateway | ||
+ | |||
+ | # Hosts' interfaces to local routers | ||
+ | pc1[eth0]=link0:ip=192.168.0.1/24 | ||
+ | pc2[eth0]=link1:ip=192.168.1.1/24 | ||
+ | pc3[eth0]=link2:ip=192.168.2.1/24 | ||
+ | |||
+ | # Routers' interfaces to local networks | ||
+ | r1[eth0]=link0:ip=192.168.0.254/24 | ||
+ | r2[eth0]=link1:ip=192.168.1.254/24 | ||
+ | r3[eth0]=link2:ip=192.168.2.254/24 | ||
+ | |||
+ | # Network "backbone" links | ||
+ | r1[eth1]=backbone0:ip=10.0.0.1/30 | ||
+ | r1[eth2]=backbone1:ip=10.0.1.1/30 | ||
+ | |||
+ | r2[eth1]=backbone0:ip=10.0.0.2/30 | ||
+ | r2[eth2]=backbone2:ip=10.0.2.1/30 | ||
+ | |||
+ | r3[eth1]=backbone1:ip=10.0.1.2/30 | ||
+ | r3[eth2]=backbone2:ip=10.0.2.2/30 </syntaxhighlight> | ||
+ | #Rode o NetKit em seu computador. Em um terminal digite: <code> NetKit2 </syntaxhighlight> | ||
+ | #No menu '''File - Load and Run''', procure o arquivo '''/home/aluno/exp1.conf''' e clique em OK. Abrirá uma janela com 6 abas, onde cada uma delas é um terminal de configuração do respectivo equipamento: PC1-3 ou R1-3. | ||
+ | #Testes de conectividade de enlace | ||
+ | ##Por exemplo, no '''pc1''' execute o comando: <code> ping 192.168.0.254 </syntaxhighlight> Obteve sucesso? Sim ou não e por quê? | ||
+ | ##Por exemplo, no '''pc1''' execute o comando: <code> ping 10.0.0.2 </syntaxhighlight> Obteve sucesso? Sim ou não e por quê? | ||
+ | ##Configure o roteador padrão, por exemplo no '''pc1''': <code> route add -net default gw 192.168.0.254 </syntaxhighlight> | ||
+ | ##Teste novamente a conectividade, no '''pc1''' execute o comando: <code> ping 10.0.0.2 </syntaxhighlight> Obteve sucesso? O comportamento foi o mesmo do item 4.2? Sim ou não e por quê? | ||
+ | ##Com o ping do item anterior ativo rode o '''wireshark''' no '''r1''' (clique na aba '''r1''' e em seguida no menu '''wireshark any'''). Qual a origem e destino dos pacotes? Por quê? | ||
+ | ##Repita o procedimento 4.3 para todos os PCs. | ||
+ | #Iniciando o roteamento | ||
+ | ##Deixe o '''ping''' do item 4.4 e o ''wireshark'' do item 4.5 rodando e estabeleça uma rota no roteador '''r2''' com o comando: <code> route add -net 192.168.0.0/24 gw 10.0.0.1 </syntaxhighlight> O que ocorreu com o ping e o wireshark? Por quê? | ||
+ | ##Em todos os roteadores crie rotas para todas as redes. Se tudo estiver correto, todos os PCs devem pingar entre si. Teste! | ||
+ | #Testando a queda de enalce. | ||
+ | ##Com todas as rotas em perfeito funcionamento, gere um '''ping''' do '''pc1''' para o '''pc3''' e execute '''wireshark any''' no '''r1''' , em seguida "derrube" o enlace entre o '''r1''' e '''r3'''. Por exemplo, no '''r3''' execute o comando: <code> ifconfig eth1 down </syntaxhighlight> O que ocorreu com o '''ping''' e o '''wireshark'''? Por quê? Com este enlace comprometido qual seria a solução para a continuidade de funcionamento de toda a rede? | ||
+ | |||
+ | ==O Pacote Quagga == | ||
+ | |||
+ | O pacote Quagga fornece um conjunto de processos (''daemons'') com | ||
+ | facilidades para a construção da tabela de roteamento de um sistema. O projeto | ||
+ | Quagga é derivado do conhecido pacote Zebra. O esquema abaixo mostra a | ||
+ | estrutura do Quagga. | ||
+ | |||
+ | [[imagem:EstruturaZebra.png|300px]] | ||
+ | |||
+ | Acima do kernel se executam processos especializados para a configuração da | ||
+ | tabela de roteamento. Note que a tabela de roteamento é mantida pelo kernel do | ||
+ | Sistema Operacional Linux/Unix e qualquer modificação será realizada a partir | ||
+ | da API (Application Programming Interface) do sistema. O processo Zebra | ||
+ | centraliza todo o gerenciamento da tabela recebendo e repassando informações | ||
+ | para outros processos que executam um determinado protocolo de roteamento. Por | ||
+ | exemplo, no esquema mostrado existem 3 processos responsáveis pela execução dos | ||
+ | protocolos BGP, RIP e OSPF. Como será visto posteriormente, é possível executar | ||
+ | vários protocolos de roteamento dinâmico simultaneamente. | ||
+ | |||
+ | Cada processo do Quagga possui o seu próprio arquivo de configuração e um | ||
+ | terminal para receber comandos (um processo ''shell'' chamado ''vtysh''). Cada terminal | ||
+ | se comunica com seu ''deamon'' por uma porta específica. | ||
+ | No arquivo do Zebra deverão constar as configurações estáticas. | ||
+ | |||
+ | Os deamons do sistema são chamados pelos seguintes nomes: | ||
+ | * zebra (acesso pela porta 2601 no vty); | ||
+ | * ripd (acesso pela porta 2602 no vty); | ||
+ | * ospfd (acesso pela porta 2604 no vty); | ||
+ | * bgpd (acesso pela porta 2605 no vty); | ||
+ | |||
+ | Os ''deamons'' possuem arquivos de configuração por ''default'' | ||
+ | localizados normalmente no diretório ''/etc/quagga'' e possuindo a terminação | ||
+ | ''conf'': por exemplo: ''zebra.conf'' para o processo ''zebra''. | ||
+ | Entretanto será comum usarmos arquivos de configuração fornecidos na linha de | ||
+ | comando: | ||
+ | |||
+ | #zebra -d -f /hostlab/r1/zebra.conf. | ||
+ | |||
+ | Nos arquivos de configuração podemos colocar informações tais como senhas para | ||
+ | o terminal ''vty'', configurações de depuração, de roteamento e de ''log''. O que segue | ||
+ | aos pontos de exclamação (vale também \#) são comentários. | ||
+ | |||
+ | Através do Zebra (e seu arquivo de configuração) é possível ligar/desligar | ||
+ | interfaces e atribuir endereços as mesmas. Também pode-se acrescentar rotas. | ||
+ | |||
+ | ==Experimento 2: protocolo de roteamento RIP== | ||
+ | |||
+ | Tempo aproximado para execução e conferência: 40 min | ||
+ | |||
+ | Baseado no mesmo diagrama do experimento anterior, usaremos serviços para rodar os protocolos de roteamento RIP e OSPF a partir do Quagga, de tal modo que as tabelas estáticas de roteamento não mais serão necessárias e o sistema se auto recuperará da queda de um único enlace (nesse caso). | ||
+ | #Reinicie o NetKit2 e releia o arquivo de configuração. | ||
+ | #Repita o item 4.3 do experimento anterior para todos os PCs. | ||
+ | #Em cada roteador, configure o serviço RIP para que que os testes da próxima etapa possam ser executados. O Netkit cria no home do usuário uma pasta chamada "lab". Nesta pasta, há uma pasta para cada equipamento da rede em teste. Neste diretório podem ser colocados arquivos de configuração de serviços a serem executados nas máquinas virtuais do Netkit. É por ali que será configurado, primeiramente, o [http://www.nongnu.org/quagga/ Quagga], software de roteamento que implementa RIP, OSPF e BGP. O arquivo de configuração abaixo mostra a configuração do Quagga para o roteador '''r1'''. Salve este arquivo com o nome "zebra.conf" no diretório "lab/r1/". Em seguida, adapte o arquivo para os roteadores '''r2''' e '''r3'''.<syntaxhighlight lang=text> | ||
+ | hostname r1 | ||
+ | |||
+ | interface eth0 | ||
+ | ip address 192.168.0.254/24 | ||
+ | interface eth1 | ||
+ | ip address 10.0.0.1/30 | ||
+ | interface eth2 | ||
+ | ip address 10.0.1.1/30 | ||
+ | |||
+ | log stdout | ||
+ | </syntaxhighlight> | ||
+ | #Crie os arquivos de configuração para o RIP em cada roteador, colocando-os dentro dos diretórios dos mesmos. O nome destes arquivos deve ser ''ripd.conf'' e o conteúdo deve ser o abaixo.<syntaxhighlight lang=text> | ||
+ | router rip | ||
+ | redistribute connected | ||
+ | redistribute static | ||
+ | network eth1 | ||
+ | network eth2 | ||
+ | </syntaxhighlight> | ||
+ | #No '''pc1''' execute: <code> ping 192.168.2.1 </syntaxhighlight> O ping está funcionando? Por quê? Deixe o ping rodando! | ||
+ | #Inicie o ''daemon'' ''quagga'' em todos os roteadores (r1, r2 e r3). <code> service quagga start </syntaxhighlight> | ||
+ | #Execute o Quagga e o RIP a partir dos arquivos criados. Os arquivos que estão na pasta "/home/USUARIO/lab" são montados na pasta "/homelab/" de todas as máquinas virtuais do Netkit. Para iniciar os serviços no '''r1''', faça algo como o que está no exemplo abaixo. Repita o procedimento para '''r2''' e '''r3''' utilizando os arquivos corretos.<syntaxhighlight lang=bash> | ||
+ | $ zebra -d -f /hostlab/r1/zebra.conf | ||
+ | $ ripd -d -f /hostlab/r1/ripd.conf | ||
+ | </syntaxhighlight> | ||
+ | #Observando o estado do sistema. Vamos usar comandos para verificar o estado dos roteadores. | ||
+ | ##Solicitar uma sessão com o vtysh no ''zebrad'': <code> vtysh </syntaxhighlight> | ||
+ | ##Verifique o estado das interfaces usando o comando: <code> show interface </syntaxhighlight> | ||
+ | ##Verifique se o roteador está habilitado para roteamento: <code> show ip forwarding </syntaxhighlight> | ||
+ | ##Verifique o estado da '''tabela de roteamento''' usando o comando: <code> show ip route </syntaxhighlight> '''Interprete detalhadamente essa tabela'''! Você consegue visualizar o mapa da rede a partir dessa tabela? | ||
+ | ##Verifique a configuração atual do roteador: <code> show run </syntaxhighlight> | ||
+ | ##Sair do vtysh: <code>#exit | ||
+ | #exit </syntaxhighlight> | ||
+ | #Olhe o terminal do pc1, o que ocorreu com o ping? Por quê? | ||
+ | #Teste as demais conectividades entre os PCs com ping mútuos. Tudo funcionando? | ||
+ | #A partir de cada PC trace a rota ('''traceroute''') para os demais PC e anote-as. | ||
+ | # Com o ''route -n'' e/ou ''show ip route'' verifique a anote as rotas de cada roteador. | ||
+ | #Execute o WireShark (ou '''tcpdump -n -vvv -i any''') no '''r1''' por pelo menos 1 min e tente compreender as mensagens RIPv2 (UDP 17) trocadas. Olhe com atenção os IPs e as métricas apresentadas. O que dizem essas mensagens? | ||
+ | #Com o WireShark rodando em '''r1''', desative um dos enlaces entre os roteadores e acompanhe a troca de mensagens. Por questões de compatibilidade vamos desativar uma interface de um modo especial. Por exemplo, para "derrubar" o enlace r1-r2, execute no '''r1''': <code> | ||
+ | vtysh 2061 entra no zebrad | ||
+ | conf t entra no mode de configuração | ||
+ | interface eth1 entra na referida interface a ser operada | ||
+ | shutdown desativa a interface, se desejado | ||
+ | no shutdown restaura a interface, se desejado </syntaxhighlight> | ||
+ | #Permaneça monitorando o ping e o Wireshark, a recuperação das rotas leva em torno de 1 min. Quais as mensagens trocadas no WireShark? | ||
+ | #Teste as conectividades. O que aconteceu? | ||
+ | #Retrace as rotas com ''show ip route'' nos roteadores e com o ''traceroute'' a partir dos PCs. São diferentes do caso original (todos enlaces ativos)? Por quê? | ||
+ | |||
+ | ==Experimento 3: protocolos e roteamento OSPF== | ||
+ | |||
+ | Tempo aproximado para execução e conferência: 30 min | ||
+ | |||
+ | #Reinicie o NetKit2 para limpar todas as configurações. | ||
+ | #Crie em seu computador um arquivo com nome '''/home/aluno/exp2.conf'''. Observe que nessa configuração já está inserida a definição dos default gateway de cada pc. O conteúdo do arquivo é o seguinte: <code> | ||
+ | # Hosts definitions | ||
+ | pc1[type]=generic | ||
+ | pc2[type]=generic | ||
+ | pc3[type]=generic | ||
− | + | # Default gateways definitions | |
+ | pc1[default_gateway]=192.168.0.254 | ||
+ | pc2[default_gateway]=192.168.1.254 | ||
+ | pc3[default_gateway]=192.168.2.254 | ||
+ | # Routers definitions | ||
+ | r1[type]=gateway | ||
+ | r2[type]=gateway | ||
+ | r3[type]=gateway | ||
+ | |||
+ | # Hosts' interfaces to local routers | ||
+ | pc1[eth0]=link0:ip=192.168.0.1/24 | ||
+ | pc2[eth0]=link1:ip=192.168.1.1/24 | ||
+ | pc3[eth0]=link2:ip=192.168.2.1/24 | ||
+ | |||
+ | # Routers' interfaces to local networks | ||
+ | r1[eth0]=link0:ip=192.168.0.254/24 | ||
+ | r2[eth0]=link1:ip=192.168.1.254/24 | ||
+ | r3[eth0]=link2:ip=192.168.2.254/24 | ||
+ | |||
+ | # Network "backbone" links | ||
+ | r1[eth1]=backbone0:ip=10.0.0.1/30 | ||
+ | r1[eth2]=backbone1:ip=10.0.1.1/30 | ||
+ | |||
+ | r2[eth1]=backbone0:ip=10.0.0.2/30 | ||
+ | r2[eth2]=backbone2:ip=10.0.2.1/30 | ||
+ | |||
+ | r3[eth1]=backbone1:ip=10.0.1.2/30 | ||
+ | r3[eth2]=backbone2:ip=10.0.2.2/30 </syntaxhighlight> | ||
+ | #Crie os arquivos de configuração para o OSPF em cada roteador, colocando-os dentro dos diretórios dos mesmos (p. ex: /home/aluno/lab/r1). O nome destes arquivos deve ser '''ospfd.conf''' e o conteúdo deve ser conforme o modelo abaixo para o '''r1'''. Para o '''r2''' e '''r3''' faça as adaptações necessárias.<syntaxhighlight lang=text> | ||
+ | #Router r1 | ||
+ | # | ||
+ | hostname r1 | ||
+ | password r1 | ||
+ | enable password r1 | ||
+ | # | ||
+ | interface eth0 | ||
+ | interface eth1 | ||
+ | interface eth2 | ||
+ | !ip ospf network point-to-point | ||
+ | router ospf | ||
+ | passive-interface eth0 | ||
+ | network 192.168.0.0/24 area 0 | ||
+ | network 10.0.0.0/30 area 0 | ||
+ | network 10.0.1.0/30 area 0 | ||
+ | # | ||
+ | log stdout | ||
+ | </syntaxhighlight> | ||
+ | #Os arquivos '''zebra.conf''' são os mesmos utilizados no experimento 2. | ||
+ | #Inicie o ''daemon'' ''quagga'' em todos os roteadores (r1, r2 e r3). <code> service quagga start </syntaxhighlight> | ||
+ | #Execute o Quagga e o OSPF a partir dos arquivos criados. Os arquivos que estão na pasta "/home/USUARIO/lab" são montados na pasta "/homelab/" de todas as máquinas virtuais do NetKit. Para iniciar os serviços no '''r1''', faça algo como o que está no exemplo abaixo. Repita o procedimento para '''r2''' e '''r3''' utilizando os arquivos corretos.<code> | ||
+ | zebra -d -f /hostlab/r1/zebra.conf | ||
+ | ospfd -d -f /hostlab/r1/ospfd.conf </syntaxhighlight> | ||
+ | #Quais as conclusões? | ||
+ | #As mensagens trocadas pelos roteadores são distintas quando comparadas ao uso do RIP? | ||
+ | #Houve diferença no tempo de atualização das rotas quando comparado ao RIP? Por quê? | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
+ | {{Collapse top |Laboratório 7 - LANs: HUBs vs. Switches}} | ||
− | ==== Experimento 3 ==== | + | == Conceituação sobre Redes Locais (LAN) == |
+ | |||
+ | <!-- * O problema do acesso ao meio --> | ||
+ | |||
+ | === Características e pontos-chaves === | ||
+ | |||
+ | Obs: obtido de STALLINGS, 2005: | ||
+ | |||
+ | * Uma LAN consiste de um '''meio de transmissão compartilhado''' e um conjunto de hardware e software para servir de interface entre dispositivos e o meio de transmissão, além de regular o acesso ao meio de forma ordenada. | ||
+ | * As topologias usadas em LANs são anel (''ring''), barramento (''bus''), árvore (''tree'') e estrela (''star''). Uma LAN em anel consiste de um laço fechado formado por repetidores que possibilitam que dados circulem ao redor do anel. Um repetidor pode funcionar também como um ponto de acesso de um dispositivo. Transmissão geralmente se dá na forma de '''quadros''' (''frames''). As topologias barramento e árvore são segmentos de cabos passivos a que os dispositivos são acoplados. A transmissão de um quadro por um dispositivo (chamado de '''estação''') pode ser escutada por qualquer outra estação. Uma LAN em estrela inclui um nó central onde as estações são acopladas. | ||
+ | * Um conjunto de '''padrões''' definido para LANs especifica uma faixa de taxas de dados e abrange uma variedade de topologias e meios de transmissão. | ||
+ | * Na maioria dos casos, uma organização possui múltiplas LANs que precisam ser interconectadas. A abordagem mais simples para esse problema se vale de equipamentos chamados de '''pontes''' (''bridges''). Os conhecidos ''switches Ethernet'' são exemplos de pontes. | ||
+ | * [http://en.wikipedia.org/wiki/Network_switch Switches] formam os blocos de montagem básicos da maioria das LANs (não muito tempo atrás [http://en.wikipedia.org/wiki/Ethernet_hub hubs] também eram usados). | ||
+ | |||
+ | === Algumas tecnologias === | ||
+ | |||
+ | * [http://en.wikipedia.org/wiki/Ethernet Ethernet (IEEE 802.3)]: largamente utilizada hoje em dia, na prática domina amplamente o cenário de redes locais. | ||
+ | * [http://en.wikipedia.org/wiki/Token_ring Token Ring (IEEE 802.5)]: foi usada nos anos 80 e início dos anos 90, mas está em desuso ... muito difícil de encontrar uma rede local deste tipo hoje em dia. | ||
+ | * [http://en.wikipedia.org/wiki/Myrinet Myrinet]: criada especificamente para interligar servidores de alta capacidade de processamento em [http://en.wikipedia.org/wiki/Cluster_%28computing%29 clusters]. Atualmente pouco usada, pois redes ethernet as substituíram em clusters e data centers. | ||
+ | * [http://en.wikipedia.org/wiki/InfiniBand Infiniband]: especificamente criada para interligar equipamentos para fins de computação de alto-desempenho. Mantém-se na ativa nesse nicho específico. | ||
+ | |||
+ | === Topologias === | ||
+ | |||
+ | Uma ''topologia de rede'' diz respeito a como os equipamentos estão interligados. No caso da rede local, a topologia tem forte influência sobre seu funcionamento e sobre a tecnologia adotada. Dependendo de como se desenha a rede, diferentes mecanismos de comunicação são necessários (em particular o que se chama de ''acesso ao meio''). A eficiência da rede (aproveitamento da capacidade de canal, vazão) e sua escalabilidade (quantidade de computadores e equipamentos que podem se comunicar com qualidade aceitável) também possuem relação com a topologia. A tabela abaixo exemplifica topologias conhecidas de redes locais. | ||
+ | |||
+ | {| border="1" cellpadding="2" | ||
+ | !Topologia | ||
+ | !Exemplo | ||
+ | !Tecnologias | ||
+ | |- | ||
+ | |''Estrela''|| [[imagem:lan-Star.png|60px]] || Ethernet (IEEE 802.3) com hubs e switches | ||
+ | |- | ||
+ | |''Anel''<br>(em desuso) || [[imagem:lan-Ring.png|100px]] || Token-ring (IEEE 802.5), FDDI | ||
+ | |- | ||
+ | |''Barramento''<br>(em desuso)|| [[imagem:lan-Bus.png|80px]]|| Ethernet (IEEE 802.3) | ||
+ | |- | ||
+ | |''Árvore'' || [[imagem:lan-Tree.png|140px]] || Ethernet (IEEE 802.3) com hubs e switches | ||
+ | |- | ||
+ | |''Árvore-gorda (Fat-tree)'' ||[[imagem:lan-Fat-tree.png|140px]] || Ethernet (IEEE 802.3) com hubs e switches | ||
+ | |} | ||
+ | |||
+ | === Exemplos de uso de redes locais=== | ||
+ | |||
+ | Exemplos de redes locais são fáceis de apresentar. Praticamente toda rede que interconecta computadores de usuários é uma rede local - mesmo no caso de redes sem-fio, um caso especial a ser estudado mais a frente. A rede do laboratório de Redes 1, onde temos nossas aulas, é uma rede local. Os demais computadores da escola formam outra rede local. Quando em casa se instala um roteador ADSL e se conectam a ele um ou mais computadores, cria-se também uma rede local. Portanto, redes locais são extremamente comuns e largamente utilizadas. Ainda assim, cabem alguns outros exemplos de possíveis redes locais, mostrados abaixo: | ||
+ | |||
+ | |||
+ | [[imagem:Lan2-2011-1.png|600px]] | ||
+ | <br>''Uma LAN típica com um link para Internet'' | ||
+ | |||
+ | == Experimento 1: HUBs == | ||
+ | |||
+ | Tempo aproximado para execução e conferência: 30 min. | ||
+ | |||
+ | Neste experimento vamos testar a taxa de transferência simultânea entre várias máquinas interligadas por meio de um HUB. Para tal utilizaremos o '''NetKit''' como ferramenta base (formação da rede) e o [https://iperf.fr/ iperf] como gerador de tráfego. | ||
+ | #Salve em seu PC o arquivo abaixo com nome 10hostsHub.conf: <code> | ||
+ | # Hosts definitions | ||
+ | pc1[type]=generic | ||
+ | pc2[type]=generic | ||
+ | pc3[type]=generic | ||
+ | pc4[type]=generic | ||
+ | pc5[type]=generic | ||
+ | pc6[type]=generic | ||
+ | pc7[type]=generic | ||
+ | pc8[type]=generic | ||
+ | pc9[type]=generic | ||
+ | pc10[type]=generic | ||
+ | |||
+ | # Hosts' interfaces to HUB | ||
+ | pc1[eth0]=lan0:ip=192.168.0.1/24 | ||
+ | pc2[eth0]=lan0:ip=192.168.0.2/24 | ||
+ | pc3[eth0]=lan0:ip=192.168.0.3/24 | ||
+ | pc4[eth0]=lan0:ip=192.168.0.4/24 | ||
+ | pc5[eth0]=lan0:ip=192.168.0.5/24 | ||
+ | pc6[eth0]=lan0:ip=192.168.0.6/24 | ||
+ | pc7[eth0]=lan0:ip=192.168.0.7/24 | ||
+ | pc8[eth0]=lan0:ip=192.168.0.8/24 | ||
+ | pc9[eth0]=lan0:ip=192.168.0.9/24 | ||
+ | pc10[eth0]=lan0:ip=192.168.0.10/24</syntaxhighlight> | ||
+ | #Com o NetKit2 execute (''Load and Run'') a rede criada acima. Verifique o diagrama da rede formada (''Graph''). | ||
+ | #Ajuste o '''pc1''' para ser um servidor de rede e ficar ouvindo em uma determinada porta TCP: <code> iperf -s </syntaxhighlight> | ||
+ | #Use o '''pc2''' como cliente fazendo uma transmissão a taxa máxima durante 100 s: <code> iperf -c 192.168.0.1 -t 100 </syntaxhighlight> Fique monitorando o '''pc2''', quando terminar a transmissão pare o servidor ('''pc1'''). | ||
+ | #Qual a taxa média conseguida? Anote. | ||
+ | #Agora, inicie dois servidores, o '''pc1''' e '''pc3''', e, em seguida, dois clientes "simultaneamente" ('''pc2''' e '''pc4'''). | ||
+ | #Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote. | ||
+ | #Vá aumentando um a um os pares comunicantes até os 10 PCs (5 pares) estarem em uso. | ||
+ | #Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote. | ||
+ | #Faça um gráfico das taxas médias obtidas por par comunicante em relação a variação do número de pares comunicantes. | ||
− | + | == Experimento 2: Switchs == | |
+ | Tempo aproximado para execução e conferência: 20 min. | ||
+ | Vamos repetir o experimento 1 com a única diferença proporcionada pela troca de um HUB por um Switch. | ||
+ | #Salve em seu PC o arquivo abaixo com nome 10hostsSwitch.conf: <code> | ||
+ | # Hosts definitions | ||
+ | pc1[type]=generic | ||
+ | pc2[type]=generic | ||
+ | pc3[type]=generic | ||
+ | pc4[type]=generic | ||
+ | pc5[type]=generic | ||
+ | pc6[type]=generic | ||
+ | pc7[type]=generic | ||
+ | pc8[type]=generic | ||
+ | pc9[type]=generic | ||
+ | pc10[type]=generic | ||
+ | |||
+ | # Switch definitions | ||
+ | sw[type]=switch | ||
+ | sw[eth0]=port0 | ||
+ | sw[eth1]=port1 | ||
+ | sw[eth2]=port2 | ||
+ | sw[eth3]=port3 | ||
+ | sw[eth4]=port4 | ||
+ | sw[eth5]=port5 | ||
+ | sw[eth6]=port6 | ||
+ | sw[eth7]=port7 | ||
+ | sw[eth8]=port8 | ||
+ | sw[eth9]=port9 | ||
+ | |||
+ | # Hosts' interfaces to sw | ||
+ | pc1[eth0]=port0:ip=192.168.0.1/24 | ||
+ | pc2[eth0]=port1:ip=192.168.0.2/24 | ||
+ | pc3[eth0]=port2:ip=192.168.0.3/24 | ||
+ | pc4[eth0]=port3:ip=192.168.0.4/24 | ||
+ | pc5[eth0]=port4:ip=192.168.0.5/24 | ||
+ | pc6[eth0]=port5:ip=192.168.0.6/24 | ||
+ | pc7[eth0]=port6:ip=192.168.0.7/24 | ||
+ | pc8[eth0]=port7:ip=192.168.0.8/24 | ||
+ | pc9[eth0]=port8:ip=192.168.0.9/24 | ||
+ | pc10[eth0]=port9:ip=192.168.0.10/24 </syntaxhighlight> | ||
+ | #Com o NetKit2 execute (''Load and Run'') a rede criada acima. Verifique o diagrama da rede formada (''Graph''). | ||
+ | #Ajuste o '''pc1''' para ser um servidor de rede e ficar ouvindo em uma determinada porta TCP: <code> iperf -s </syntaxhighlight> | ||
+ | #Use o '''pc2''' como cliente fazendo uma transmissão a taxa máxima durante 100 s: <code> iperf -c 192.168.0.1 -t 100 </syntaxhighlight> Fique monitorando o '''pc2''', quando terminar a transmissão pare o servidor ('''pc1'''). | ||
+ | #Qual a taxa média conseguida? Anote. | ||
+ | #Agora, inicie dois servidores, o '''pc1''' e '''pc3''', e, em seguida, dois clientes "simultaneamente" ('''pc2''' e '''pc4'''). | ||
+ | #Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote. | ||
+ | #Vá aumentando um a um os pares comunicantes até os 10 PCs (5 pares) estarem em uso. | ||
+ | #Qual a taxa média conseguida em cada par comunicante? Explique a diferença. Anote. | ||
+ | #Faça um gráfico das taxas médias obtidas por par comunicante em relação a variação do número de pares comunicantes. | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
== Softwares == | == Softwares == | ||
− | * [[ | + | * [[Netkit2]]: possibilita criar experimentos com redes compostas por máquinas virtuais Linux |
+ | |||
+ | *[http://wiki.netkit.org/index.php/Labs_Official] Nesta página você pode encontrar vários laboratórios virtuais do NetKit, prontos para uso, que focam em serviços específicos de redes de computadores. | ||
= Curiosidades = | = Curiosidades = | ||
Linha 430: | Linha 941: | ||
* ''Grupos e Temas para 2014-2'': | * ''Grupos e Temas para 2014-2'': | ||
− | ** Gustavo e Walter: 4G | + | ** Gustavo e Walter: [[RED29004-2014-2-Seminario-4G|4G]] - 9/12 |
− | ** Gabriel e Lucas: WiMax | + | ** Gabriel e Lucas: [[RED29004-2014-2-Seminario-WiMax|WiMax]] - 9/12 |
− | ** Diego e Giulio: PLC | + | ** Diego e Giulio: [[RED29004-2014-2-Seminario-PLC|PLC]] - 9/12 |
− | ** Fernando e Stephany: Zigbee | + | ** Fernando e Stephany: [[RED29004-2014-2-Seminario-Zigbee|Zigbee]] - 5/12 |
− | ** Vinícius e Clarice: ADSL | + | ** Vinícius e Clarice: [[RED29004-2014-2-Seminario-ADSL|ADSL]] - 9/12 |
− | ** João e Marcos: | + | ** João e Marcos: [[RED29004-2014-2-Seminario-IoT|IoT]] - 5/12 |
− | ** Adalvir e Fabiano: NGN | + | ** Adalvir e Fabiano: [[RED29004-2014-2-Seminario-NGN|NGN]] - 5/12 |
− | ** Ronaldo: | + | ** Ronaldo: [[RED29004-2014-2-Seminario-IEEE_802.11n|IEEE_802.11n]] - 5/12 |
* Avaliação | * Avaliação | ||
** Nota: 0,5 x Documento + 0,5 x Seminário | ** Nota: 0,5 x Documento + 0,5 x Seminário | ||
** Nota final individual. Será dada uma nota por equipe (máximo = número_de_alunos_da_equipe * 10) e a equipe decide qual será a nota individual por aluno, sendo que a soma das notas dos alunos deverá ser igual a nota da equipe. O professor pode interferir na distribuição das notas dentro da equipe. | ** Nota final individual. Será dada uma nota por equipe (máximo = número_de_alunos_da_equipe * 10) e a equipe decide qual será a nota individual por aluno, sendo que a soma das notas dos alunos deverá ser igual a nota da equipe. O professor pode interferir na distribuição das notas dentro da equipe. | ||
+ | ** [http://www.sj.ifsc.edu.br/~odilson/RED29004/Avaliacao%20dos%20relatorios.pdf Avaliação final dos seminários]. | ||
* ''Instruções sobre o Seminário de Redes I'': | * ''Instruções sobre o Seminário de Redes I'': | ||
Linha 575: | Linha 1 087: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Aula 16 - 23/9/14: Camada de | + | {{Collapse top |Aula 16 - 23/9/14: Camada de transporte}} |
[http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | ||
Linha 604: | Linha 1 116: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Aula 17 - 26/9/14: Camada de | + | {{Collapse top |Aula 17 - 26/9/14: Camada de transporte - Princípios da comunicação confiável de dados}} |
[http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | ||
Linha 612: | Linha 1 124: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Aula 18 - 30/9/14: Camada de | + | {{Collapse top |Aula 18 - 30/9/14: Camada de transporte - Princípios da comunicação confiável de dados e TCP}} |
[http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | ||
Linha 618: | Linha 1 130: | ||
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Aula 19 - 3/10/14: Aula suspensa}} | + | {{Collapse top |Aula 19 - 3/10/14: Aula suspensa - Defesa de tese}} |
{{Collapse bottom}} | {{Collapse bottom}} | ||
− | {{Collapse top |Aula 20 - 7/10/14: Camada de | + | {{Collapse top |Aula 20 - 7/10/14: Camada de transporte - TCP e Laboratório TCP x UDP}} |
[http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | ||
[[RED29004-2014-2#Roteiros_para_laborat.C3.B3rio | Laboratório 5]] | [[RED29004-2014-2#Roteiros_para_laborat.C3.B3rio | Laboratório 5]] | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 21 - 10/10/14: Camada de transporte - Controle de fluxo e controle de congestionamento}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 22 - 14/10/14: Aulas suspensas - Seminário de avaliação do curso de Engenharia de Telecomunicações}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 23 - 17/10/14: Aulas de dúvidas e listas de exercício}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 3] | ||
+ | |||
+ | [[RED29004-2014-2#Listas_de_exerc.C3.ADcios | Listas de exercício]] | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 24 - 21/10/14: Avaliação 2: Camada de transporte}} | ||
+ | |||
+ | Sala 12 | ||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 25 - 24/10/14: Introdução a Camada de rede}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 4] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 26 - 31/10/14: Camada de rede}} | ||
+ | |||
+ | Reforço para preparação dos seminários | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 4] | ||
+ | |||
+ | [http://wps.aw.com/aw_kurose_network_4/63/16303/4173752.cw/index.html Applet IP Fragmentation] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 27 - 4/1/14: Camada de rede}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 4] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 28 - 7/11/14: Camada de rede - Protocolos de roteamento. Lab. tabelas estáticas de roteamento com NetKit2}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 4] | ||
+ | |||
+ | [[RED29004-2014-2#Roteiros_para_laborat.C3.B3rio | Laboratório 6]] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 29 - 11/11/14: Camada de rede - Protocolos de roteamento. Lab. protocolos de roteamento RIP e OSPF com NetKit2}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 4] | ||
+ | |||
+ | [[RED29004-2014-2#Roteiros_para_laborat.C3.B3rio | Laboratório 6]] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 30 - 14/11/14: Camada de rede - Protocolos de roteamento. Lab. protocolos de roteamento RIP e OSPF com NetKit2}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 4] | ||
+ | |||
+ | [[RED29004-2014-2#Roteiros_para_laborat.C3.B3rio | Laboratório 6]] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 31 - 18/11/14: Camada de rede - Protocolos de roteamento.}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%203%20Camada%20de%20transporte.pdf Slides Capitulo 4] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 32 - 21/11/14: Camada de Enlace}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%205%20Camada%20de%20enlace.pdf Slides Capitulo 5] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 33 - 25/11/14: Camada de Enlace}} | ||
+ | |||
+ | [http://tele.sj.ifsc.edu.br/~odilson/RED29004/PPTs%20-%20Cap%C3%ADtulo%205%20Camada%20de%20enlace.pdf Slides Capitulo 5] | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 34 - 28/11/14: Aula de dúvidas e recapitulação}} | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 35 - 2/12/14: Terceira avaliação}} | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 36 - 5/12/14: Seminários}} | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 37 - 9/12/14: Seminários}} | ||
+ | |||
+ | {{Collapse bottom}} | ||
+ | |||
+ | {{Collapse top |Aula 38 - 12/12/14: Reavaliação}} | ||
+ | |||
{{Collapse bottom}} | {{Collapse bottom}} |
Edição atual tal como às 08h39min de 15 de dezembro de 2014
Diário de aula de RED - 2014-2 - Prof. Odilson T. Valle
Dados Importantes
Professor: Odilson Tadeu Valle
Email: odilson@ifsc.edu.br
Atendimento paralelo: 3ª feira das 9h40 às 10h35 e 4ª das 14h25 às 15h20. Local: Lab. de Desenvolvimento.
IMPORTANTE: o direito de recuperar uma avaliação em que se faltou somente existe mediante justificativa reconhecida pela coordenação. Assim, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação e aguardar o parecer da coordenação.
Plano de Ensino
Plano de Ensino | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Material de apoio
Applets do Kurose
Vários aplicativos com representação dinâmica de características das redes de computadores.
Listas de exercícios
Lista de exercícios 1 |
---|
|
Lista de exercícios 2 - Camada de Aplicação |
---|
|
Lista de exercícios 3 - Camada de Aplicação |
---|
|
Lista de exercícios 4 - Camada de Transporte |
---|
|
Lista de exercícios 5 - Camada de Rede | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Lista de exercícios 6 - Camada de Enlace |
---|
|
Transparências utilizadas durante as aulas
Slides do Kurose referentes ao capítulo 1
Slides do Kurose referentes ao capítulo 2, 6a. Ed.
Slides do Kurose referentes ao capítulo 2, 5a. Ed.
Slides do Prof. Emerson - DNS, FTP, Web, Email...
Slides do Kurose referentes ao capítulo 3, 6a. Ed.
Slides do Kurose referentes ao capítulo 4, 6a. Ed.
Slides do Kurose referentes ao capítulo 5, 6a. Ed.
Roteiros para laboratório
Laboratório 1 -- Ping, traceroute, Web e HTTP
Laboratório 2 -- Wireshark e HTTP
Laboratório 3 - Serviço de Nomes (DNS) |
---|
|
Laboratório 4 - Programação de sockets |
---|
Material original: Slides do Kurose referentes ao capítulo 2, 6a. Ed., pags 54 à 58 Programação de sockets: criando aplicações de rede
Descrição da aplicação a ser desenvolvida em UDP e TCP
Programação de sockets com UDPA aplicação cliente-servidor usando UDP tem a estrutura apresentada na Figura baixo. Utilizamos a linguagem Python por expor com clareza os principais conceitos de sockets. Quem desejar pode implementar em outras linguagens, por exemplo um modelo para programação de sockets utilizando a API Posix encontra-se aqui. Como fica evidente na Figura acima, os processos cliente e servidor rodam em máquinas distintas e se comunicam justamente enviando mensagens vis sockets, que abstrai qualquer necessidade de conhecimento das camadas subjacentes. Um exemplo de código bem simples para o lado Cliente: UDPClient.py
|
Laboratório 5 - TCP x UDP |
---|
Tempo aproximado: 1h Problemas observados: No experimento 2 diminuir o tamanho do arquivo: máximo 200 MB. O objetivo desses experimentos é evidenciar as diferenças entre os protocolos TCP e UDP. Experimento 1Ambos 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 ?
Experimento 2Transferê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: 172.18.16.38
Experimento 3Repita os experimentos 1 e 3 mas agora com o arquivo minimo.txt, anotando todos os tempos.
Tarefa extraUse o aplicativo NetCat (nc) para fazer transferências UDP e responda:
|
Laboratório 6 - Protocolos de roteamento |
---|
Analisar o funcionamento de protocolos de roteamento estático e dinâmico da Internet, em particular as tabelas estáticas de roteamento, o protocolo RIP e OSPF, a partir de uma estrutura física formada por roteadores e redes locais. Para isto utilizaremos o Netkit2. Leia aqui como o Netkit2 trabalha com roteadores. Em todos os experimentos será utilizado como base a seguinte arquitetura de rede: Experimento 1: tabelas estáticas de roteamentoTempo aproximado para execução e conferência: 1h
|
Laboratório 7 - LANs: HUBs vs. Switches |
---|
Conceituação sobre Redes Locais (LAN)Características e pontos-chavesObs: obtido de STALLINGS, 2005:
Algumas tecnologias
TopologiasUma topologia de rede diz respeito a como os equipamentos estão interligados. No caso da rede local, a topologia tem forte influência sobre seu funcionamento e sobre a tecnologia adotada. Dependendo de como se desenha a rede, diferentes mecanismos de comunicação são necessários (em particular o que se chama de acesso ao meio). A eficiência da rede (aproveitamento da capacidade de canal, vazão) e sua escalabilidade (quantidade de computadores e equipamentos que podem se comunicar com qualidade aceitável) também possuem relação com a topologia. A tabela abaixo exemplifica topologias conhecidas de redes locais. Exemplos de uso de redes locaisExemplos de redes locais são fáceis de apresentar. Praticamente toda rede que interconecta computadores de usuários é uma rede local - mesmo no caso de redes sem-fio, um caso especial a ser estudado mais a frente. A rede do laboratório de Redes 1, onde temos nossas aulas, é uma rede local. Os demais computadores da escola formam outra rede local. Quando em casa se instala um roteador ADSL e se conectam a ele um ou mais computadores, cria-se também uma rede local. Portanto, redes locais são extremamente comuns e largamente utilizadas. Ainda assim, cabem alguns outros exemplos de possíveis redes locais, mostrados abaixo:
Experimento 1: HUBsTempo aproximado para execução e conferência: 30 min. Neste experimento vamos testar a taxa de transferência simultânea entre várias máquinas interligadas por meio de um HUB. Para tal utilizaremos o NetKit como ferramenta base (formação da rede) e o iperf como gerador de tráfego.
|
Softwares
- Netkit2: possibilita criar experimentos com redes compostas por máquinas virtuais Linux
- [1] Nesta página você pode encontrar vários laboratórios virtuais do NetKit, prontos para uso, que focam em serviços específicos de redes de computadores.
Curiosidades
- Telex
- O Ciberespaço e as Redes de Computadores na Construção de Novo Conhecimento
- Uma história das Redes de Computadores
- Breve História da Internet
Seminários
Recomenda-se a confecção do relatório na própria Wiki. O professor criará a página para cada projeto que assim o desejar. Na página do projeto, os membros da equipe podem editar a qualquer hora, sem preocupação com a versão do mesmo. Também facilita o acompanhamento por parte do professor. Utilizando ou não a Wiki, usem esse modelo de relatório.
- Grupos e Temas para 2014-2:
- Avaliação
- Nota: 0,5 x Documento + 0,5 x Seminário
- Nota final individual. Será dada uma nota por equipe (máximo = número_de_alunos_da_equipe * 10) e a equipe decide qual será a nota individual por aluno, sendo que a soma das notas dos alunos deverá ser igual a nota da equipe. O professor pode interferir na distribuição das notas dentro da equipe.
- Avaliação final dos seminários.
- Instruções sobre o Seminário de Redes I:
- Data para definição de grupos e temas: 8/8/14.
- 2 alunos por equipe.
- Os temas devem ser propostos pelas equipes em comum acordo com o professor ou então na data limite o professor apresenta alguns temas e as equipes escolhem.
- Data de entrega do documento: 21/11/14 (impreterivelmente).
- O relatório pode ser redigido como uma página da wiki.
- Duração da apresentação: 20 minutos + 5 minutos de perguntas.
- As apresentações podem ser realizadas seguindo o conteúdo do relatório (use bastante figuras no relatório, isto facilita a apresentação).
- Se preferirem usar slides, usem esse modelo.
Diário de aulas
Aula 1 - 1/8/14: Apresentação da disciplina |
---|
|
Aula 2 - 5/8/14: Introdução a Redes de Computadores |
---|
|
Aula 3 - 8/8/14: Introdução a Redes de Computadores |
---|
Aula 4 - 12/8/14: Comutação de circuitos vs comutação de pacotes |
---|
Aula 5 - 15/8/14: Modelo de serviços |
---|
Aula 6 - 19/8/14: Arquitetura em camadas - Exercícios |
---|
Aula 7 - 22/8/14: Laboratório 1: Uso de aplicações da Internet |
---|
Aula 8 - 26/8/14: Comunicação entre processos |
---|
Aula 9 - 29/8/14: Protocolos da camada de aplicação - Laboratório 2: Wireshark e HTTP |
---|
Slides do Kurose referentes ao capítulo 2, 6a. Ed. |
Aula 10 - 2/9/14: HTTP - FTP - SMTP |
---|
Aula 11 - 5/9/14: DNS - Laboratório 3: Serviço de nomes |
---|
Aula 12 - 9/9/14: Laboratório 3 (revisão) - P2P |
---|
Aula 13 - 12/9/14: Aulas de dúvidas e listas de exercício |
---|
Aula 14 - 16/9/14: Avaliação 1: conceitos básicos e camada de aplicação |
---|
Sala 12 |
Aula 15 - 19/9/14: Laboratório 4 - Programação de sockets |
---|
Aula 16 - 23/9/14: Camada de transporte |
---|
Faça uma rápida pesquisa e descubra que protocolos de transporte (e que portas) são usados por estas aplicações:
|
Aula 17 - 26/9/14: Camada de transporte - Princípios da comunicação confiável de dados |
---|
Execute o applet GbN no site do Kurose. Faça alguns testes e tente entender os processos envolvidos. |
Aula 18 - 30/9/14: Camada de transporte - Princípios da comunicação confiável de dados e TCP |
---|
Aula 19 - 3/10/14: Aula suspensa - Defesa de tese |
---|
Aula 20 - 7/10/14: Camada de transporte - TCP e Laboratório TCP x UDP |
---|
Aula 21 - 10/10/14: Camada de transporte - Controle de fluxo e controle de congestionamento |
---|
Aula 22 - 14/10/14: Aulas suspensas - Seminário de avaliação do curso de Engenharia de Telecomunicações |
---|
Aula 23 - 17/10/14: Aulas de dúvidas e listas de exercício |
---|
Aula 24 - 21/10/14: Avaliação 2: Camada de transporte |
---|
Sala 12 |
Aula 25 - 24/10/14: Introdução a Camada de rede |
---|
Aula 26 - 31/10/14: Camada de rede |
---|
Reforço para preparação dos seminários |
Aula 27 - 4/1/14: Camada de rede |
---|
Aula 28 - 7/11/14: Camada de rede - Protocolos de roteamento. Lab. tabelas estáticas de roteamento com NetKit2 |
---|
Aula 29 - 11/11/14: Camada de rede - Protocolos de roteamento. Lab. protocolos de roteamento RIP e OSPF com NetKit2 |
---|
Aula 30 - 14/11/14: Camada de rede - Protocolos de roteamento. Lab. protocolos de roteamento RIP e OSPF com NetKit2 |
---|
Aula 31 - 18/11/14: Camada de rede - Protocolos de roteamento. |
---|
Aula 32 - 21/11/14: Camada de Enlace |
---|
Aula 33 - 25/11/14: Camada de Enlace |
---|
Aula 34 - 28/11/14: Aula de dúvidas e recapitulação |
---|
Aula 35 - 2/12/14: Terceira avaliação |
---|
Aula 36 - 5/12/14: Seminários |
---|
Aula 37 - 9/12/14: Seminários |
---|
Aula 38 - 12/12/14: Reavaliação |
---|