Mudanças entre as edições de "IER-2010-2"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(New page: = Instalação de Equipamentos de Redes: Diário de Aula 2010-2 = '''Professor:''' Marcelo Maia Sobral (msobral@gmail.com) <br>'''Lista de email (forum):''' ier-ifsc@googlegroups.com <br>...)
 
 
(117 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 11: Linha 11:
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/ Antiga página da disciplina (2009-1 e 2009-2)]
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/ Antiga página da disciplina (2009-1 e 2009-2)]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs.html Links para outros materiais, normas, artigos, e apostilas do prof. Jorge Casagrande]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs.html Links para outros materiais, normas, artigos, e apostilas do prof. Jorge Casagrande]
 +
* [http://books.google.com/books?id=C9ZN-jYKHpMC&printsec=frontcover&dq=forouzan&hl=pt-BR&ei=fvt2TP3eCMH58Aa77cS1Bw&sa=X&oi=book_result&ct=result&resnum=3&ved=0CDMQ6AEwAg#v=onepage&q&f=false Comunicação de dados e Redes de Computadores, de Berhouz Forouzan (alguns capítulos no Google Books)]
  
 
== Curiosidades ==
 
== Curiosidades ==
Linha 18: Linha 19:
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ciberespaco.pdf O Ciberespaço e as Redes de Computadores na Construção de Novo Conhecimento]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ciberespaco.pdf O Ciberespaço e as Redes de Computadores na Construção de Novo Conhecimento]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/comp-net-history.pdf Uma história das Redes  de Computadores]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/comp-net-history.pdf Uma história das Redes  de Computadores]
 +
* [http://www.aiaa.org/spaceops2002archive/papers/SpaceOps02-P-T5-21.pdf Uso do HDLC em missões espaciais (artigo da Nasa)]
  
 
== Listas de exercícios ==
 
== Listas de exercícios ==
 +
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista1-2010-2.pdf 1a lista de exercícios]
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista3-2010-1.pdf 2a lista de exercícios]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista5.pdf 3a lista de exercícios]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista7.pdf 4a lista de exercícios]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista7.pdf 5a lista de exercícios]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista7.pdf 6a lista de exercícios]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista8.pdf 7a lista de exercícios]
  
 
== Avaliações ==
 
== Avaliações ==
  
 
== 29/07: Introdução e camada de enlace ==
 
== 29/07: Introdução e camada de enlace ==
 +
 +
* ''Capítulos 1, 11 e 12 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (há uma  cópia no xerox).''
 +
  
 
Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.
 
Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.
 +
  
 
Apresentou-se uma visão geral dos conceitos sobre comunicação de dados, amparada em [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula1.pdf transparências]. Nesta aula se planta a base para iniciar o estudo com maior profundidade da camada de enlace e da camada física.
 
Apresentou-se uma visão geral dos conceitos sobre comunicação de dados, amparada em [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula1.pdf transparências]. Nesta aula se planta a base para iniciar o estudo com maior profundidade da camada de enlace e da camada física.
 +
 +
Nosso ponto de partida serão pequenas redes compostas por uma ou mais redes locais (LANs) que se interligam, incluindo conexão para a Internet. Em cada rede investigaremos seu funcionamento, incluindo as configurações da subrede IP e os equipamentos usados.
 +
 +
[[Image:Rede1-IER.png]]
 +
<br>''Figura 1: uma  pequena  rede local (LAN) com conexão para Internet''
 +
 +
 +
[[Image:Rede2-IER.png]]
 +
<br>''Figura 2: duas redes locais (LAN) interligadas por um  enlace de longa distância (WAN)''
 +
 +
Será feito um experimento com base nas redes acima.
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab1-2010-2.pdf Roteiro do experimento]
 +
 +
=== Enlaces de dados (''Data Link'') ===
  
 
[[Image:Data-link.png]]
 
[[Image:Data-link.png]]
Linha 41: Linha 69:
 
* '''Gerenciamento de enlace''': funções para ativar, desativar e manter enlaces
 
* '''Gerenciamento de enlace''': funções para ativar, desativar e manter enlaces
  
== 03/08: Enquadramento ==
+
== 05/08: Enquadramento e Detecção de erros==
 +
 
 +
* Ver capítulo 11 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan.
 +
* Ver capítulo 3 do livro "Redes de Computadores", de Andrew Tanenbaum.
 +
* ver capítulo 2 do livro "Redes de Computadores: uma abordagem de sistemas", de Larry Peterson e Bruce Davie.
 +
 
 +
 
 +
* Resolver a [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista1-2010-2.pdf 1a lista de exercícios]
 +
 
 +
 
 +
Nesta aula será configurado um enlace ponto-a-ponto entre duas redes locais com protocolo [http://www.faqs.org/rfcs/rfc1661.html PPP], porém usando computadores como roteadores. O objetivo é observar os detalhes do protocolo de enlace quanto aos serviços da camada de enlace:
 +
 
 +
* [http://en.wikipedia.org/wiki/Frame_(telecommunications) Enquadramento (''framing'')]
 +
* [http://en.wikipedia.org/wiki/Error_detection_and_correction Detecção e controle de erros]
 +
* Controle de fluxo
 +
* Gerenciamento de enlace
 +
 
 +
[[imagem:Rede1-lab2.png]]
  
Nesta aula se criarão enlaces ponto-a-ponto entre computadores, usando o protocolo [http://en.wikipedia.org/wiki/Point-to-Point_Protocol PPP]. A partir de alguns experimentos se discutem os serviços da camada de enlace, em particular o [http://en.wikipedia.org/wiki/Frame_(telecommunications) '''''enquadramento'''''] e [http://en.wikipedia.org/wiki/Error_detection_and_correction '''''detecção de erros'''''].
+
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab2-2010-2.pdf Roteiro da experiência]
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula2.pdf Apresentação sobre camada de enlace]
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-ppp.pdf Apresentação sobre PPP]
  
[http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab1.pdf Roteiro do primeiro laboratório]
+
=== Enquadramento ===
  
Foi apresentado como funciona o enquadramento (ou sincronização de quadro) do tipo sentinela (usado pelo PPP e HDLC). Nesse caso, usa-se uma ''flag'' delimitadora para informar o início e fim de quadro. Há uma segunda ''flag'', chamada de escape (ESC), para evitar que um byte com o valor de ''flag'' delimitadora, o qual apareça em algum campo do quadro (ex: dados ou campos de controle) seja erroneamente interpretado como fim de quadro.
+
Funcionamento do enquadramento (ou sincronização de quadro) do tipo sentinela (usado pelo PPP e HDLC): usa-se uma ''flag'' delimitadora para informar o início e fim de quadro. Há uma segunda ''flag'', chamada de escape (ESC), para evitar que um byte com o valor de ''flag'' delimitadora, o qual apareça em algum campo do quadro (ex: dados ou campos de controle) seja erroneamente interpretado como fim de quadro. No caso do PPP e HDLC:
 +
* ''7E:'' flag delimitadora
 +
* ''7D:'' flag de escape
  
== 05/08: Detecção de erros ==
+
=== Detecção de erros ===  
  
 
Probabilidade de erros de transmissão (BER - Bit Error Rate), códigos de detecção de erro e CRC.
 
Probabilidade de erros de transmissão (BER - Bit Error Rate), códigos de detecção de erro e CRC.
Linha 78: Linha 127:
 
O código fonte do gerador de CRC-16 está no arquivo ''fcs-rfc.c'', o qual foi obtido diretamente da [http://tools.ietf.org/html/rfc1662 RFC 1662].
 
O código fonte do gerador de CRC-16 está no arquivo ''fcs-rfc.c'', o qual foi obtido diretamente da [http://tools.ietf.org/html/rfc1662 RFC 1662].
  
== 10/08: Enlaces ponto-a-ponto entre roteadores ==
+
=== Atividade extra-aula ===
  
Nesta aula serão configurados enlaces entre dois roteadores Cisco usando os protocolos PPP e HDLC. O objetivo é ter um contato com esse tipo de equipamento, e ver os protocolos em ação. Além disto, será feita uma medição de vazão (''throughput'') com cada um dos protocolos.  
+
Faça uma pesquisa sobre protocolos de enlace ponto-a-ponto usados em redes sem-fio. Tais enlaces podem ser feitos dentro de ou entre cidades (ex: entre o Morro da Cruz em Florianópolis e São José ou Palhoça), via satélite, ou mesmo entre pontos não tão distantes mas onde não existe infraestrutura cabeada prévia. Descreva as características dos protocolos encontrados (onde são melhor aplicados, e que serviços de enlace são contemplados), e forneça exemplos de onde estão sendo usados. Se conhecer empresas que os utilizem, e para que finalidade, informe em sua pesquisa.
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab1-2009-2.pdf Roteiro da experiência]
+
'''''Prazo de entrega: 12/08 (próxima aula).'''''
* [http://www.cisco.com/warp/cpropub/45/tutorial.htm Tutorial da interface de linha de comando Cisco (CLI)]
 
* [http://www.cisco.com/en/US/tech/tk713/tk507/technologies_tech_note09186a008019cfa7.shtml#ppp01 Resolução de problemas com PPP em roteadores Cisco]
 
  
== 12/08: Controle de erros e de fluxo: stop-and-wait ==
+
== 12/08: HDLC, PPP e PPPoE ==
  
Ver capítulo 11 do livro "Comunicação de Dados e Redes de Computadores", de Behrouz Forouzan (há uma cópia no xerox).
+
Detalhes sobre esses protocolos. Ver as transparências:
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-ppp.pdf PPP]: o protocolo de enlace ponto-a-ponto amplamente usado atualmente; faz detecção de erros mas não controle de erros nem de fluxo.
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-hdlc.pdf HDLC]: de certa forma, o antecessor do PPP. Implementa controle de erros e de fluxo com janela deslizante. Atualmente caindo em desuso. Usado ainda em links de satélite.
 +
** Curiosidade: [http://www.aiaa.org/spaceops2002archive/papers/SpaceOps02-P-T5-21.pdf Uso do HDLC em missões espaciais (artigo da Nasa)]
  
Resolver a [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista1.pdf 1a lista de exercícios].
+
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab3-2010-2.pdf Roteiro]
  
Controle de erros implica '''garantir a entrega de quadros''' no destino. Assim, quadros recebidos com erros (i.e., quadros identificados pela ''detecção de erros'' como corrompidos) ou quadros extraviados (não recebidos) devem ser retransmitidos. Serviço implementado com protocolos do tipo ARQ (''Automatic Repeat Request''), tais como:
+
=== PPPoE (PPP over Ethernet) ===
  
* '''Stop-and-Wait:'''  só transmite o próximo quadro quando receber uma confirmação (''ACK'') do último quadro enviado. Retransmite o último quadro enviado se um tempo máximo de espera pelo ACK (ou ''timeout'') for excedido.
+
* [http://updates.checkpoint.com/fileserver/SOURCE/direct/ID/9326/FILE/Introduction_to_PPPoE.pdf Introdução]
* '''Go-Back-N:''' transmite até ''N'' quadros sem receber confirmação, quando então espera os ACK antes de enviar mais quadros. Caso exceda o timeout de um dos quadros enviados, retransmite todos os quadros a partir desse quadro.
 
* '''Selective Repeat:''' transmite até ''N'' quadros sem receber confirmação, quando então espera os ACK antes de enviar mais quadros. Caso exceda o timeout de um dos quadros enviados, retransmite somente esse quadro.
 
  
A rigor '''Stop-and-Wait ARQ''' já provê controle de erros, porém tem o potencial de causar uma baixa utilização do meio de transmissão. Os outros mecanismos, '''Go-Back-N''' e '''Selective Repeat''', buscam melhorar o aproveitamento do meio, e assim estão também relacionados com o '''controle de fluxo'''. Esse serviço tem duas motivações principais:
+
PPPoE define um método para encapsular quadros PPP dentro de quadros Ethernet, e foi definido na [http://www.faqs.org/rfcs/rfc2516.html RFC 2516]. Ele foi criado para facilitar a integração de usuários discados e banda-larga em provedores de acesso (ISP - ''Internet Service Providers''). Além disso, torna mais fácil o controle de acesso, de uso da rede, e contabilização para usuários que a acessam via rede Ethernet. Assim, é possível implantar uma rede em que os usuários, para conseguirem acesso, precisam se autenticar como em um serviço discado. Uma vez obtido o acesso, pode-se também impor limitações de uso de banda de acordo com o usuário. Exemplos de infraestruturas que podem se beneficiar com essa técnica são redes de condomínios e de prédios comerciais. Finalmente, PPPoE é usado como protocolo de enlace em acessos aDSL, ilustrado na figura abaixo.
  
# Evitar que um transmissor mais rápido sobrecarregue um receptor
+
[[imagem:Pppoe_architecture.gif]]
# Melhorar o aproveitamento do meio de transmissão, quando há necessidade de confirmação de quadros e o meio apresentar um atraso de propagação significativo.
 
  
=== Desempenho do Stop-and-wait ===
 
  
O mecanismo Stop-and-wait apresenta desempenho que depende de seus parâmetros e de características físicas do enlace. Para avaliar seu desmepenho, deve-se determinar qual a taxa efetiva de transmissão que pode ser obtida. A taxa efetiva é definida com a razão entre quantidade de bits transmitidos (contidos em um ou mais quadros) e o tempo que foi necessário para que sejam entregues no destino. Quadros são considerados entregues somente quando o transmissor obtém uma confirmação do receptor. Isto não é a mesma coisa que a taxa de bits nominal do enlace, pois essa taxa informa o tempo que o transmissor leva para transmitir cada bit pelo meio de transmissão (ou melhor, o inverso de quanto tempo dura cada bit no meio). A taxa efetiva pode ser calculada descobrindo-se qual é a utilização do meio de transmissão. A utilização é um valor entre 0 e 1 que informa quanto tempo o meio foi de fato utilizado (i.e. quanto tempo o transmissor de fato precisou para transmitir um ou mais quadros), comparado com o tempo total necessário para fazer a entrega  desses quadros. Por exemplo, se o transmissor levou 1 segundo para transmitir um quadro, e depois ficou 1 segundo esperando até receber a confirmação do receptor, a utilização será de 0.5 (o transmissor usou o meio durante 1 segundo, mas o tempo total para entregar o quadro foi de 2 segundos). Assim, as informações necessárias para calcular o desempenho do Stop-and-wait são:
+
No PPPoE suas PDUs são encapsuladas em quadros Ethernet, usando o ''ethertype'' 8863H (estágio de descoberta) ou 8864H (estágio de sessão). Devido ao cabeçalho PPPoE (6 bytes) combinado ao identificador de protocolo do quadro PPP (2 bytes), a MTU em enlaces PPPoE não pode ser maior que 1492 bytes. O quadro PPP é simplificado, não possuindo as flags delimitadoras e os campos ''Address'', ''Control'' e ''FCS''. A PDU PPPoE é mostrada a seguir:
  
* '''Taxa nominal de transmissão, ou taxa de bits (''<math>B</math>''):''' razão entre quantidade de bits que saem do transmissor e o tempo que leva para que saiam.
 
* '''Tempo de transmissão (''<math>A_{t}</math>''):''' tempo gasto pelo transmissor para transmitir um quadro. É o tempo gasto desde quando o primeiro bit do quadro começa a sair do transmissor, até quando o último bit termina de sair. Esse tempo depende da quantidade de bits transmitidos (''F'') e da taxa de bits nominal do meio (''B''):  <math>A_{t} = F / B</math>
 
* '''Atraso de propagação (''<math>A_{p}</math>''):''' tempo gasto pelo sinal para se propagar desde o transmissor até o receptor. Independe da quantidade de bits transmitidos, pois é uma característica física do meio.
 
* '''Outros atrasos (<math>A_{o}</math>):''' outros atrasos envolvidos durante a entrega do quadro
 
* '''Tempo de envio (<math>A_{e}</math>):''' tempo necessário para que um quadro seja totalmente transmitido do transmissor até o receptor: <math>A_{e} = A_{t} + A_{p}</math>
 
* '''Tempo de entrega (''A''):''' tempo necessário para que um quadro seja entregue no receptor, i.e. desde o instante em que o quadro começa a ser transmitido até quando o reconhecimento chega ao transmissor: <br> <math>A = A_{t} + 2A_{p} + A_{t_{ACK}} + A_{o}</math>
 
* '''Utilização do meio (''U'')''': razão entre o tempo em que o meio foi de fato usado pelo transmissor para transmitir o quadro, e o tempo total necessário para que o quadro seja considerado entregue: <br><math>U = \frac {A_{t}}{A} = \frac{A_{t}}{A_{t} + 2A_{p} + A_{t_{ACK}}+ A_{o}}</math>
 
* '''Taxa efetiva de transmissão (''E''):''' a taxa de bits percebida pelo transmissor para fazer a entrega de quadros: <math>E = B \cdot U</math>
 
* '''Timeout (<math>T_{o}</math>):''' tempo máximo de espera por um reconhecimento.
 
  
[[Imagem:Stop-and-wait.png]]
+
[[imagem:Pppoe-pdu.png|800px]]
  
=== Simulações com Omnet++ ===
 
  
Na aula foi mostrada uma simulação de protocolo de enlace que usa Stop-and-Wait. Essas simulações foram criadas usando-se o simulador de redes [http://www.omnetpp.org Omnet++]. Abaixo segue um tutorial para instalar esse simulador em seu computador (assume-se que nele haja o Ubuntu Linux 9.04 ou superior):
 
  
* [[Omnetpp-Instalacao| Tutorial para instalação do Omnet++ 4.0p1]]
+
Em um enlace PPPoE um dos nodos é o ''host'' (cliente), e o outro o concentrador de acesso (AC, que tem papel de servidor). O estabelecimento do enlace é iniciado pelo ''host'', que procura um AC e em seguida solicita o início do enlace. Esse procedimento é composto por por dois estágios:
 +
* '''Descoberta (''Discovery''):''' o cliente descobre um concentrador de acesso (AC) para se conectar. Ocorre uma troca de 4 PDUs de controle:
 +
** ''PADI (PPPoE Active Discovery Indication):'' enviado em broadcast pelo cliente para descobrir os AC.
 +
** ''PADO (PPPoE Active Discovery Offer):'' resposta enviada por um ou mais AC, contendo seus identificadores e nomes de serviços disponíveis (no  âmbito do PPPoE).
 +
** ''PADR (PPPoE Active Discovery Request):'' enviado pelo cliente para o AC escolhido, requisitando o início de uma  sessão.
 +
** ''PADS (PPPoE Active  Discovery Session-Confirmation):'' resposta do AC escolhido.<br><br>[[imagem:Pppoe-discovery.png|300px]]<br><br>
 +
* '''Sessão (''Session''):''' nessa etapa são trocados quadros PPP como no estabelecimento de um enlace PPP usual. A sessão pode ser encerrada com a terminação PPP (i.e., via protocolo LCP), ou com a PDU PPPoE PADT (''PPPoE Active Discovery Terminate'').
  
== 17/08: Controle de erros e de fluxo: Go-back-N e Selective Repeat ==
+
=== Dicas vistas no laboratório ===
  
Ver capítulo 11 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan.
+
# Sempre que se usar um computador como gateway deve-se ativar essa função, com um desses comandos (no caso do Linux):
 +
#* echo 1 > /proc/sys/net/ipv4/ip_forward
 +
#* sysctl -w net.ipv4.ip_forward=1
 +
# Se for necessário usar NAT, uma forma rápida de fazê-lo é (mas existem outras ...):
 +
#* iptables -t nat -A POSTROUTING -o nome_interface_saída  -j MASQUERADE
 +
# Sempre observe as rotas existentes em suas redes ! Se necessário, rastreie os datagramas quando desconfiar que algo está errado:
 +
#* traceroute -n IP_destino
 +
#* Usando '''wireshark''' ou '''tcpdump''' para analisar tráfego
  
* Análise dos mecanismos ARQ Go-Back-N e Selective Repeat.
+
=== Atividade extra ===
* Demonstração da melhoria da utilização do meio usando esse mecanismo, comparado ao Stop-and-Wait.
 
* Uso do simulador Omnet++ 4.01 para avaliar esses os mecanismos ARQ.
 
  
Na aula anterior foi visto que o mecanismo ARQ Stop-and-wait é eficaz no controle de erros. Isto significa que ele garante que um quadro seja entregue no destino. Além disto, o Stop-and-wait não se atrapalha se ocorrerem os seguintes erros de transmissão:
+
No roteiro foi proposto um desafio: fazer controle de banda diferenciado por usuários que se conectam com PPPoE. Discutimos que para fazer isso é necessário:
 +
# Classificar os usuários nas categorias ''ouro'' e ''prata''
 +
# Poder executar um programa (ou ''script'') no momento em que o enlace PPP for estabelecido, de forma a configurar o controle de banda de acordo com a categoria de usuário. Deve-se passar a esse programa o IP que o usuário obteve em seu enlace PPPoE, ou o nome da interface PPP que foi criada no AC para esse enlace.
 +
# Usar um mecanismo que limite a banda de um enlace PPPoE. Uma sugestão foi usar [http://blog.edseek.com/~jasonb/articles/traffic_shaping/ ''traffic shaping''].
  
* Perda de quadro de dados (inclui quadro de dados recebido com erros e assim descartado).
+
Ficou como tarefa para a turma detalhar como resolver esse problema, e trazer uma solução. Quer dizer, que programas usar e que opções desses programas devem ser configuradas. Imaginem que a solução deve vir pronta para ser implantada.
* Perda de quadro ACK
 
* Quadro ACK atrasado, fazendo com que ocorra um ''timeout'' de espera por confirmação e consequente retransmissão
 
  
Ser eficaz no controle de erros não significa ser '''eficiente'''. Foi visto que se o atraso de propagação for da ordem de grandeza do atraso de transmissão, a utilização do meio se reduz significativamente. Por exemplo, se o atraso de propagação for metade do de transmissão:
+
Quem resolver esse desafio ficará em alta consideração (que se refletirá em seu conceito ;-).
  
<math>U = \frac {A_{t}}{A_{t} + 2A_{p} + A_{t_{ACK}}} = \frac{A_{t}}{A_{t} + 2A_{t}/2 + A_{t_{ACK}}} = \frac{A_{t}}{2A_{t} + A_{t_{ACK}}} < \frac{1}{2}</math>
+
== 19/08: A parte física do enlace ponto-a-ponto ==
  
Já se esses dois atrasos forem iguais:
+
Ver capítulos 3, 4 e 5 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (cópia no xerox).
  
<math>U = \frac {A_{t}}{A_{t} + 2A_{p} + A_{t_{ACK}}} = \frac{A_{t}}{A_{t} + 2A_{t} + A_{t_{ACK}}} = \frac{A_{t}}{3A_{t} + A_{t_{ACK}}} < \frac{1}{3}</math>
+
Introdução: ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-fisica.pdf transparências].
  
E assim, quanto maior for o atraso de propagação, pior será a utilização do meio de transmissão. A raiz do problema está no tempo em que o meio deixa de ser usado por causa do atraso de propagação. Isto também quer dizer que uma certa quantidade de quadros poderia ser transmitida enquanto não chega a confirmação do primeiro quadro. Essa melhoria no ARQ se chama controle de fluxo, pois visa regular a quantidade de quadros que podem ser enviados de acordo com a capacidade do meio de transmissão e do sistema destino. O ARQ mais simples que implementa uma forma de controle de fluxo se chama '''Go-back-N'''.
 
  
'''''Go-back-N''''' transmite até uma certa quantidade de quadros, sem ainda ter recebido uma confirmação do primeiro quadro enviado. À medida que as confirmações forem recebidas, novos quadros podem ser enviados. Esse mecanismo está ilustrado na figura abaixo:
+
'''Serviços da camada física:'''
  
[[Imagem:Go-back-N.png]]
+
[[Imagem:Servicos-Camada-Fisica.png|600px]]
<br>''Figura 1: uma possível sequência de transmissão com Go-back-N''
+
<br>''(Adaptado do livro "Comunicação de Dados e Redes de Computadores, 3a ed.", de Berhouz Forouzan)''
 
 
Para controlar a quantidade de quadros enviados usa-se a técnica de janela deslizante. A janela é o conjunto de quadros transmitidos e ainda não confirmados, e que precisam ser lembrados para caso seja necessário retransmiti-los. Assim, sempre que um novo quadro é transmitido aumenta-se o tamanho da janela em uma unidade, e quando um quadro é confirmado diminui-se o tamanho da janela em ao menos uma unidade. Há um tamanho máximo para a janela, que corresponde à quantidade máxima de quadros que podem ser transmitidos sem ter ainda uma confirmação de entrega. Esse tamanho máximo de janela é de grande importância para a eficiência do Go-back-N, pois tem influência direta na utilização máxima que pode ser obtida do meio de transmissão.
 
 
 
Um controle com janela deslizante precisa que se numerem os quadros sequencialmente, de forma a representar a ordem em que foram enviados. Assim, quadros fora de ordem não são aceitos no destino (ao menos no caso do Go-back-N). Por razões de praticidade, a quantidade de números de sequência necessária para o Go-back-N é igual ao tamanho máximo da janela + 1. Por exemplo, se o tamanho máximo da janela for 3, são necessários no mínimo 4 números de sequência (ex: 0 a 3). Se a quantidade de números de sequência for igual ao tamanho da janela, pode ocorrer um erro no controle de erros do mecanismo (tente descobrir que erro seria esse ...). A figura abaixo ilustra um exemplo em que se fazem transmissões de quadros com janela de tamanho máximo 3 (a janela a cada instante é destacada em amarelo, e os números correspondem aos números de sequência dos quadros):
 
 
 
[[Imagem:Sliding-window.png]]
 
 
 
Note que, assim como no Stop-and-wait, os quadros de reconhecimentos indicam qual o próximo quadro a ser aceito pelo destino. Além disso, o Go-back-N aceita reconhecimentos cumulativos. Quer dizer, se houver três quadros na janela de transmissão, e for recebido um reconhecimento relativo ao segundo quadro, o transmissor considera que tanto o primeiro quanto o segundo quadro foram recebidos com sucesso. Isto é possível pois nesse ARQ o receptor aceita apenas quadros em ordem.
 
 
 
=== Desempenho do Go-back-N ===
 
 
 
Mas qual deve ser a utilização do meio de transmissão com o Go-back-N ? Para responder a essa questão devem-se considerar duas situações:
 
 
 
# '''O atraso para receber o primeiro ACK é maior ou igual ao tempo de transmissão para enviar todos os quadros permitidos pelo tamanho máximo de janela:''' essa situação está mostrada na figura 1, que mostra uma sequência de transmissão. A utilização nesse caso será:<br><math>U = \frac{N \cdot A_{t}}{A_{t} + 2A_{p} + A_{t_{ACK}}}</math>
 
# '''O atraso para receber o primeiro ACK é menor que o tempo de transmissão de uma janela de tamanho máximo:''' nesse caso, a utilização é máxima (= 1), pois todo o atraso de propagação é aproveitado para enviar quadros.
 
 
 
Falta ainda ver o que acontece em situações de erro ...
 
 
 
Análise do mecanismo ARQ Selective Repeat. Análise de seu desempenho, comparado ao Stop-and-wait e Go-Back-N.
 
Análise do desempenho dos mecanismos ARQ na ocorrência de erros. Experiências com um simulador de um enlace ponto-a-ponto.
 
  
=== Selective Repeat ===
+
=== Laboratório ===
  
O ARQ Selective Repeat aceita receber quadros fora de ordem, pois o receptor mantém uma janela de recepção com o mesmo tamanho que a janela de transmissão. Assim, o receptor aceita um quadro se seu número de sequência estiver contido na janela de recepção atual. O limite inferior da janela de recepção avança quando chega um quadro com o primeiro número de sequência da janela. Quando o limite inferior da janela avança, os quadros correspondentes são passados para a camada superior.
+
Uma rede com enlaces WAN feitos com modems digitais SHDSL.
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab4-2010-2.pdf Roteiro da experiência]
  
[[Imagem:Sliding-window-sr.png|800px]]
+
[http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula5-modems.pdf Uma introdução a modems]
  
O desempenho do Selective Repeat, na ausência de erros, é o mesmo do Go-Back-N.
+
[[imagem:Rede-modems.png|600px]]
 
 
=== Utilização do meio com Go-Back-N sujeito a erros ===
 
 
 
Quando ocorrem erros, o Go-Back-N rpecisa reenviar todos os quadros da janela de transmissão. Interessa aqui analisar o desempenho resultante no pior caso, quando a janela de transmissão está cheia. Note que o timeout sempre vai se referir ao quadro mais antigo da janela. Assim, pode-se fazer a análise dividindo o problema em duas partes:
 
 
 
# ''A utilização na ausência de erros:'' é a utilização já calculada anteriormente, que será chamada de <math>U_{ok}</math>
 
# ''A utilização no caso da ocorrência de um erro:'' é a utilização resultante de uma sequência de transmissão (uma janela completa) em que ocorre um erro, e será chamada de <math>U_{E}</math>.
 
 
 
A utilização total depende da probabilidade de acontecerem ambas as situações acima. Denominando-se <math>P_{F}</math> a probabilidade da situação 1 acontecer, e <math>1 - P_{F}</math> a probabilidade de ocorrer a situação 2, a utilização total pode ser calculada assim:
 
 
 
<math>U = P_{F} \cdot U_{ok} + (1 - P_{F}) \cdot U_{E}</math>
 
 
 
O cálculo exato dessas probabilidades pode ser complicado. Desta forma, será adotada a seguinte simplificação: assume-se que ocorra apenas um erro por janela. Isto é razoável se a taxa de erro de bit (BER) for baixa. Por exemplo, se <math>BER= 10^{-6}</math>, a probabilidade de 1 ou nenhum erro para uma janela de tamanho 7 é aproximadamente 0.9971, como se pode ver pela tabela abaixo:
 
 
 
{| border="1" cellpadding="2"
 
!Erros
 
!Probabilidades
 
|-
 
|0 || 0.919431217477
 
|-
 
|1|| 0.0776975138337
 
|-
 
|2 || 0.00281396190905
 
|-
 
|3 || <math>5.66182968546 \cdot 10^{-5}</math>
 
|-
 
|4 || <math>6.83512778565 \cdot 10^{-7}</math>
 
|-
 
|5 || <math>4.95094071439 \cdot 10^{-9}</math>
 
|-
 
|6 || <math>1.99230721763 \cdot 10^{-11}</math>
 
|-
 
|7 || <math>3.43596004858 \cdot 10^{-14}</math>
 
|}
 
 
 
<br>Já se <math>BER = 10^{-10}</math>, a probabilidade de 1 ou nenhum erro é aproximadamente 0.99999999997, como se pode ver nesta tabela:
 
 
 
{| border="1" cellpadding="2"
 
!Erros
 
!Probabilidades
 
|-
 
|0 || 0.999991600035
 
|-
 
|1|| <math>8.39993517541 \cdot 10^{-6}</math>
 
|-
 
|2 || <math>3.02397872779 \cdot 10^{-11}</math>
 
|-
 
|3 || <math>6.04796158487 \cdot 10^{-17}</math>
 
|-
 
|4 || <math>7.25755885699 \cdot 10^{-23}</math>
 
|-
 
|5 || <math>5.22544594474 \cdot 10^{-29}</math>
 
|-
 
|6 || <math>2.09017980498 \cdot 10^{-35}</math>
 
|-
 
|7 || <math>3.5831678264 \cdot 10^{-42}</math>
 
|}
 
 
 
Isto mostra que, para BER suficientemente baixo, podem-se desprezar as ocorrências de dois ou mais erros por janela.
 
 
 
As probabilidades envolvidas na análise de utilização são:
 
 
 
<math>P_{F_{DATA}} = (1 - BER)^{n_{DATA}}</math>
 
 
 
<math>P_{F_{ACK}} = (1 - BER)^{n_{ACK}}</math>
 
 
 
<math>P_{F}(N) = (P_{F_{DATA}} \cdot P_{F_{ACK}})^{N}</math>
 
 
 
<br>
 
*<math>BER</math>: taxa de erro de bit (Bit Error Rate), ou probabilidade de que um bit sofra erro
 
*<math>P_{F_{DATA}}</math>: probabilidade de um quadro de dados ser enviado sem erros
 
*<math>n_{DATA}</math>: quantidade de bits em um quadro de dados
 
*<math>P_{F_{ACK}}</math>: probabilidade de um quadro de reconhecimento ser enviado sem erros
 
*<math>n_{ACK}</math>: quantidade de bits em um quadro de reconhecimento
 
*<math>P_{F}(N)</math>: probabilidade de uma janela de N quadros ser transmitida sem erros
 
 
 
<br>
 
Nos cálculos de utilização a seguir, está implícito que <math>P_{F} = P_{F}(N)</math>.
 
 
 
==== Quando a utilização na ausência de erros for < 1 ====
 
 
 
Isto acontece quando <math>N \cdot A_{t} < A_{t} + 2 \cdot A_{p} + A_{t_{ACK}}</math>.
 
 
 
<math>U = N \cdot A_{t} \cdot (\frac{P_{F}}{A_{t} + 2A_{p} + A_{t_{ACK}}} + \frac{1 - P_{F}}{T_{o} + A_{t} + 2A_{p} + A_{t_{ACK}}})</math>
 
 
 
<math>T_{o}:</math> timeout de espera por ACK
 
 
 
Lembrar que a fórmula acima somente pode ser usada quando a utilização sem erros for < 1 !
 
 
 
==== Quando a utilização na ausência de erros for 1 ====
 
 
 
Isto acontece quando <math>N \cdot A_{t} \geq A_{t} + 2 \cdot A_{p} + A_{t_{ACK}}</math>, e a análise muda um pouco. Essa situação ocorre quando o tempo para receber o primeiro ACK é menor ou igual ao tempo para transmitir todos os quadros de uma janela. O cálculo da utilização com erros deve ainda considerar dois casos:
 
 
 
# '''Timeout menor que o tempo para envio de uma janela completa (<math>T_{o} \leq N \cdot A_{t}</math>):'''<br><math>U = P_{F} + \frac{N \cdot (1 - P_{F})}{(N  + \lceil \frac{T_{o}}{A_{t}} \rceil)}</math><br>[[Imagem:Go-back-N-erro-caso2.png|600px]]<br>Obs: o operador ''teto (ceiling)'', representado por <math>\lceil x \rceil</math>, resulta no menor número inteiro que é maior ou igual que seu argumento. Quer dizer, ele arredonda o número para cima.<br><br>
 
# '''Timeout maior que o tempo de envio de uma janela completa:'''<br><math>U = P_{F} + \frac{N \cdot A_{t} \cdot (1 - P_{F})}{T_{o} + N \cdot A_{t}} </math><br>[[Imagem:Go-back-N-erro-caso3.png|600px]]
 
 
 
=== Utilização do meio com Selective Repeat sujeito a erros ===
 
 
 
Na presença de erros, o ARQ Selective Repeat proporciona uma utilização melhor que Go-Back-N. Abaixo segue a utilização obtida com Selective Repeat para os possíveis cenários de erros:
 
 
 
==== Quando a utilização na ausência de erros for < 1 ====
 
 
 
Quer dizer, <math>N \cdot A_{t} < A_{t} + 2 \cdot A_{p} + A_{t_{ACK}}</math>. Nesse caso a utilização é a mesma do Go-Back-N:
 
 
 
<math>U = N \cdot A_{t} \cdot (\frac{P_{F}}{A_{t} + 2 \cdot A_{p} + A_{t_{ACK}}} + \frac{1 - P_{F}}{T_{o} + A_{t} + 2 \cdot A_{p} + A_{t_{ACK}}})</math>
 
 
 
==== Quando a utilização na ausência de erros for = 1 ====
 
 
 
Quer dizer, <math>N \cdot A_{t} \geq A_{t} + 2 \cdot A_{p} + A_{t_{ACK}}</math>
 
 
 
Há dois casos a analisar:
 
 
 
# '''Timeout maior que o tempo para enviar uma janela completa:'''<br><math>U = P_{F} + \frac{N \cdot A_{t} \cdot (1 - P_{F})}{T_{o} + A_{t} + 2 \cdot A_{p} + A_{t_{ACK}}}</math>
 
# '''Timeout menor que o tempo para enviar uma janela completa:'''<br><math>U = P_{F} + \frac{N \cdot (1 - P_{F})}{N + 1}</math>
 
 
 
== 19/08: Protocolos PPP e HDLC ==
 
 
 
Detalhes sobre esses protocolos. Ver as transparências:
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-ppp.pdf PPP]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-hdlc.pdf HDLC]
 
 
 
Resolver a [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista2.pdf 2a lista de exercícios].
 
 
 
== 24/08: Introdução à camada física ==
 
 
 
Ver capítulos 3, 4 e 5 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (cópia no xerox).
 
 
 
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-fisica.pdf transparências].
 
 
 
 
 
'''Serviços da camada física:'''
 
 
 
[[Imagem:Servicos-Camada-Fisica.png|600px]]
 
<br>''(Adaptado do livro "Comunicação de Dados e Redes de Computadores, 3a ed.", de Berhouz Forouzan)''
 
  
 +
=== Leitura adicional ===
  
 
'''Transmissão digital:'''
 
'''Transmissão digital:'''
Linha 322: Linha 216:
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab3-2009-2.pdf Experiência para comparar esses dois tipos de transmissão serial]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab3-2009-2.pdf Experiência para comparar esses dois tipos de transmissão serial]
  
== 26/08: 1a avaliação ==
+
== 26/08: Modems e interfaces digitais ==
 
 
Engloba as listas de exercícios 1 e 2.
 
 
 
== 31/08: Modems ==
 
 
 
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula5-modems.pdf transparências] sobre modems.
 
 
 
Resolver a [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista3-2010-1.pdf 3a lista].
 
 
 
Hoje foi realizada a [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab3.pdf experiência com modems síncronos], em que se configuram modems SDSL.
 
 
 
== 02/09: Códigos de linha ==
 
 
 
Ver capítulos 3 e 4 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (cópia no xerox).
 
 
 
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula4-codigos.pdf transparências] sobre códigos de linha.
 
 
 
Curiosidade: [http://www.cpdee.ufmg.br/~elt/docs/DSP/Resumo_CAN.pdf resumo de Redes CAN] comentado em aula.
 
 
 
== 09/09: Enlaces de teste em modems ==
 
 
 
Publicados os [http://www.sj.ifsc.edu.br/~msobral/RCO2/avaliacoes/prova1-2010-1.pdf conceitos da 1a avaliação].
 
  
Resolver a [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista4-2010-1.pdf 4a lista de exercícios].
+
Resolver a [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista3-2010-1.pdf 2a lista].
  
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula6-modems-analogicos.pdf transparências].
+
Material de referência:
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula5-modems.pdf transparências] sobre modems.
 +
* Capítulos 3 e 4 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (cópia no xerox).
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula4-codigos.pdf transparências] sobre códigos de linha.
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/SHDSL_wp.pdf Tutorial sobre SHDSL]
  
[http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab4.pdf Roteiro do experimento]
+
Hoje foi realizada a [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab5-2010-2.pdf experiência com modems síncronos], em que se configuram modems SHDSL e se fazem enlaces de testes para localizar problemas em circuitos.
  
== 14/09: Modems analógicos e Interfaces digitais ==
+
Experimento adicional: visualização de códigos de linha e modulação.
  
Ver capítulo 5 e 6 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (cópia no xerox).
+
=== Modems analógicos e Interfaces digitais ===
  
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula6-modems-analogicos.pdf transparências sobre modems analógicos].
+
Material de referência:
 
+
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula6-modems-analogicos.pdf transparências].
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula5-modems.pdf transparências sobre interfaces digitais].
+
* Capítulos 5 e 6 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (cópia no xerox).
 
+
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula5-modems.pdf transparências sobre interfaces digitais].
No início da aula será feita a experiência sobre enlaces de teste em modems, que ficou incompleta na aula anterior.
+
* [http://www.jbmelectronics.com/product/signal.htm um tutorial sobre RS-232 e V.35]
 
 
=== Trabalho coletivo ===
 
 
 
Após ver um conjunto de tecnologias de enlace e de camada física, devem existir questões como "afinal, quais tecnologias são usadas de fato atualmente, e quais as apostas para o futuro próximo ?". Para responder a essa pergunta propõe-se um trabalho coletivo, em que a turma deve pesquisar (via sites de empresas ou consultas a pessoas a elas ligadas) essas tecnologias junto com algumas outras informações:
 
 
 
* Que protocolos de enlace estão envolvidos ?
 
* Qual a codificação ou modulação usada ?
 
* Em que tipo de circuito é usada (incluindo o tipo de meio de transmissão) ?
 
* Que equipamentos são necessários (incluindo os modelos) ?
 
* Quais as taxas de bits nominais e BER que proporcionam ?
 
* Qual o custo do enlace ?
 
* Empresa de onde obteve a informação ?
 
 
 
Os resultados da pesquisa devem ser colocados aqui mesmo na Wiki, em subseções abaixo; crie uma subseção com seu nome.
 
 
 
Prazo para conclusão: 25/04
 
 
 
==== Mariazinha ====
 
 
 
== 16/09: Redes locais ==
 
 
 
Revisão sobre camada fisica. E vejam a [http://www.sj.ifsc.edu.br/~msobral/RCO2/avaliacoes/prova2-2009-2.pdf avaliação de 2009-2].
 
  
 +
== 02/09: Redes locais ==
  
 
''Introdução a redes locais''
 
''Introdução a redes locais''
Linha 389: Linha 244:
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula7.pdf Introdução]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula7.pdf Introdução]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula8.pdf LANs e acesso ao meio]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula8.pdf LANs e acesso ao meio]
 +
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula9-ieee.pdf Arquitetura IEEE 802]
 
* Capítulo 13 do livro "''Comunicação de Dados e Redes de Computadores''", de Berhouz Forouzan (tem no xerox)
 
* Capítulo 13 do livro "''Comunicação de Dados e Redes de Computadores''", de Berhouz Forouzan (tem no xerox)
 
* Capítulo 4 do livro "''Redes de Computadores''", de Andrew Tanenbaum (tem na biblioteca)
 
* Capítulo 4 do livro "''Redes de Computadores''", de Andrew Tanenbaum (tem na biblioteca)
  
 +
[http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab6-2010-2.pdf Roteiro do experimento]
 +
 +
----
  
 
''Distinção entre WAN, MAN e LAN''
 
''Distinção entre WAN, MAN e LAN''
Linha 412: Linha 271:
 
* O problema do acesso ao meio
 
* O problema do acesso ao meio
  
== 21/09: Redes locais: experimento sobre desempenho do CSMA/CD ==
+
== 09/09: Redes locais: implantação com switches / 1a avaliação  ==
  
Realização de um experimento pra medir a utilização do meio de transmissão em uma rede local, com MAC do tipo CSMA/CD.
+
=== Conceitos da 1a avaliação ===
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab5.pdf Roteiro da experiência]
+
{| border="1" cellpadding="2"
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab5/emissor.c Programa emissor]: faça o download e compile com o comando: <syntaxhighlight lang=bash>
+
!Aluno
gcc -o emissor emissor.c
+
!Conceito
</syntaxhighlight>
+
|-
 
+
|Andreia || C
** A experiência pode ser feita também com o simulador Omnet++:
+
|-
*** [[Omnetpp-Instalacao|Intale o Omnet++ 4]]
+
|Cleidiane || C
*** Instale o modelo INET: <syntaxhighlight lang=bash>
+
|-
# Faz o download do INET Framework (aprox. 23 MB)
+
|Diony || C
wget http://github.com/downloads/inet-framework/inet/inet-20100323-src.tgz
+
|-
 
+
|Everton || C
# Descompacta o arquivo
+
|-
tar xzf inet-20100323-src.tgz
+
|José Tadeu || C
 
+
|-
# Compila o INET
+
|Karine || B
cd inet
+
|-
make makefiles
+
  |Leonardo || C
make
+
  |-
</syntaxhighlight>
+
|Lucas || A
*** Copie esses arquivos para dentro de ''inet/examples/ethernet/lans'':<br>[http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab5/mu.ini mu.ini]<br>[http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab5/mu2.ini mu2.ini]<br>[http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab5/Networks.ned Networks.ned]
+
  |-
*** Para executar uma simulação interativa, com animação, faça assim: <syntaxhighlight lang=bash>
+
  |Luis Francisco || B
cd inet/examples/ethernet/lans
+
  |-
./run mu.ini
+
  |Rafael || B
</syntaxhighlight>... e escolha um dos modelos para executar.
+
  |-
*** Para executar uma simulação não-interativa, com uma bateria de experimentos que variam a quantidade de estações (2 a 16) e tamanhos de quadros (256, 512 e 1480 bytes), faça assim: <syntaxhighlight lang=bash>
+
|}
cd inet/examples/ethernet/lans
 
./run -u Cmdenv -c Hub1 mu2.ini
 
</syntaxhighlight>
 
*** Os resultados das simulações estarão em arquivos dentro do subdiretório ''inet/examples/ethernet/lans/results''. Por exemplo, o arquivo ''Hub1-0.sca'' contém o resultado da primeira simulação, e parte de seu conteúdo é mostrada abaixo (cada linha contém algum resultado ou estatística da simulação, e o título é auto-explicativo): <syntaxhighlight lang=text>
 
version 2
 
run Hub1-1-20100423-09:38:33-7627
 
attr bytes 256
 
attr configname Hub1
 
attr datetime 20100423-09:38:33
 
attr experiment Hub1
 
attr inifile mu2.ini
 
attr iterationvars "$bytes=256, $stations=3"
 
attr iterationvars2 "$bytes=256, $stations=3, $repetition=0"
 
attr measurement "$bytes=256, $stations=3"
 
attr network HubLAN2
 
attr processid 7627
 
attr repetition 0
 
attr replication #0
 
attr resultdir results
 
attr runnumber 1
 
attr seedset 1
 
attr stations 3
 
 
 
scalar .        bytes  256
 
scalar .        stations        3
 
scalar HubLAN2.sta[0].cli      "packets sent" 0
 
scalar HubLAN2.sta[0].cli      "packets rcvd" 0
 
scalar HubLAN2.sta[0].cli      "end-to-end delay mean"        0
 
scalar HubLAN2.sta[0].cli      "end-to-end delay stddev"      nan
 
scalar HubLAN2.sta[0].cli      "end-to-end delay min" 0
 
scalar HubLAN2.sta[0].cli      "end-to-end delay max"  0
 
scalar HubLAN2.sta[0].srv      "packets sent" 0
 
scalar HubLAN2.sta[0].srv      "packets rcvd" 247453
 
scalar HubLAN2.sta[0].srv      "end-to-end delay mean"        1.6121223100944
 
scalar HubLAN2.sta[0].srv      "end-to-end delay stddev"      1.0596723502417
 
scalar HubLAN2.sta[0].srv      "end-to-end delay min" 0.0002378
 
scalar HubLAN2.sta[0].srv      "end-to-end delay max" 5.18103003756
 
scalar HubLAN2.sta[0].llc      "dsaps registered"      1
 
scalar HubLAN2.sta[0].llc      "packets from higher layer"    0
 
scalar HubLAN2.sta[0].llc      "frames from MAC"      247453
 
scalar HubLAN2.sta[0].llc      "packets passed up"    247453
 
scalar HubLAN2.sta[0].llc      "packets dropped - unknown DSAP"        0
 
scalar HubLAN2.sta[0].mac      "simulated time"        60.0001141233
 
scalar HubLAN2.sta[0].mac      "txrate (Mb)"  10
 
scalar HubLAN2.sta[0].mac      "full duplex"  0
 
scalar HubLAN2.sta[0].mac      "frames sent"  0
 
scalar HubLAN2.sta[0].mac      "frames rcvd"  247453
 
scalar HubLAN2.sta[0].mac      "bytes sent"    0
 
scalar HubLAN2.sta[0].mac      "bytes rcvd"    68544481
 
scalar HubLAN2.sta[0].mac      "frames from higher layer"      0
 
scalar HubLAN2.sta[0].mac      "frames from higher layer dropped (iface down)"        0
 
scalar HubLAN2.sta[0].mac      "frames dropped (bit error)"    0
 
scalar HubLAN2.sta[0].mac      "frames dropped (not for us)"  0
 
scalar HubLAN2.sta[0].mac      "frames passed up to HL"        247453
 
scalar HubLAN2.sta[0].mac      "PAUSE frames sent"    0
 
scalar HubLAN2.sta[0].mac      "PAUSE frames rcvd"    0
 
scalar HubLAN2.sta[0].mac      "frames/sec sent"      0
 
scalar HubLAN2.sta[0].mac      "frames/sec rcvd"      4124.2088221947
 
scalar HubLAN2.sta[0].mac      "bits/sec sent"        0
 
scalar HubLAN2.sta[0].mac      "bits/sec rcvd"        9139246.7499834
 
scalar HubLAN2.sta[0].mac      "rx channel idle (%)"  5.937858457565
 
scalar HubLAN2.sta[0].mac      "rx channel utilization (%)"    94.031961146038
 
scalar HubLAN2.sta[0].mac      "rx channel collision (%)"      0.030180396396893
 
scalar HubLAN2.sta[0].mac      collisions      4825
 
scalar HubLAN2.sta[0].mac      backoffs        0
 
</syntaxhighlight>
 
  
== 23/09: 2a avaliação ==
+
== 16/09: Redes locais: implantação com VLANs ==
  
Envolve o conteúdo sobre Camada Física, e se baseará nas listas de exercícios 3 e 4.
+
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula10.pdf Transparências sobre VLANs]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista5.pdf 3a lista de exercícios]
 +
* [http://fengnet.com/book/Layer%202%20VPN%20Architectures/ch04lev1sec6.html Livro sobre VLANs]
 +
* Ver capítulo 16 do livro ''Comunicação de Dados e Redes de Computadores", de Berhouz Forouzam (no xerox)
 +
* Ver capítulo 5 do livro ''Redes de Computadores e a Internet'', de James Kurose (na biblioteca)
 +
* Ver capítulo 4 do livro ''Redes de Computadores'', de Andrew Tanenbaum (na biblioteca).
  
== 28/09: Redes locais ==
+
LANs virtuais (VLANs – Virtual LANs) são formadas por estações que,  apesar de estarem em uma mesma LAN física, formam diferentes LANs lógicas isoladas umas das outras. A figura abaixo ilustra um exemplo com três VLANs implantadas em um único  switch. Necessariamente a implantação de VLANs depende de switches (ou pontes) com suporte ao padrão IEEE 802.1q (existem  outras tecnologias, como [http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094665.shtml ISL] e [http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094c52.shtml VTP] da Cisco, porém não padronizadas).
  
* Para fins de comparação, conectar os computadores da bancada no switch (tomadas verdes), e repetir parte das medições (apenas aquelas que envolvem todos os computadores da bancada).
+
[[imagem:Vlans.png]]
  
* Arquitetura IEEE 802 e Redes locais IEEE 802.3 (Ethernet)
+
O padrão IEEE 802.1q define, entre outras coisas, uma extensão ao quadro MAC para identificar a que VLAN este pertence. Essa extensão, denominada tag (etiqueta) e mostrada na figura 4,  é composta por 4 bytes, e situa-se entre os campos de endereço de destino e ethertype. O identificador de VLAN (VID) ocupa 12 bits, o que possibilita portanto 4096 diferentes VLANs.
  
[[Imagem:Ethernet.png|600px]]
+
[[imagem:8021q.png]]
  
''Desenho usado por Bob Metcalfe, um dos criadores da Ethernet, para apresentação em uma conferência em 1976.''
+
Na aula de hoje será criada uma rede composta por subredes implantadas com VLANs.
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab7-2010-2.pdf Roteiro do experimento]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/manual-des3526.pdf Manual do switch D-Link DES-3526]
  
=== Desempenho de um MAC CSMA/CD ===
+
== 23/09: Redes locais: implantação com VLANs e STP ==
  
Uma análise feita no capítulo 4 do livro "Redes de Computadores, 4a ed." de Andrew Tanenbaum fornece a seguinte previsão de desempenho para o CSMA/CD em uma rede Ethernet a 10 Mbps.
+
'''Tema extra: ''tecnologias de LAN switches'''''
 +
* [http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a00800a7af3.shtml#switchtechs Bom texto sobre switches]
 +
** [http://www.cisco.com/image/gif/paws/10607/lan-switch-transparent.swf Animação sobre o funcionamento de switches]
 +
* [http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9670/white_paper_c11-465436.html Texto sobre tecnologias de switches (store-and-forward e cut-through)]
 +
* Quais são as características dos switches do laboratório ?
 +
** D-Link DES-526 [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/manual-des3526.pdf (manual)]
 +
** Micronet SP 1658B [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/SP1658B_Manual.pdf (manual)]
 +
** 3Com 3224 [http://www.3com.com/prod/pt_la_amer/detail.jsp?tab=prodspec&sku=3C16479 (especificações)]
  
* ''Utilização do meio:''
 
  
<math>U = \frac{1}{1 + \frac{2BLe}{cF}}</math>
+
'''''Interligação de LANs e Spanning Tree Protocol '''''
 +
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula11.pdf Ver transparências]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab8-2010-2.pdf Roteiro do experimento]
 +
* [http://www.cisco.com/warp/public/473/spanning_tree1.swf Uma animação sobre STP]
  
* '''''B:''''' taxa de bits nominal
 
* '''''L:''''' comprimento do meio de transmissão
 
* '''''c: ''''' velocidade de propagação do sinal
 
* '''''F:''''' comprimento do quadro
 
 
[[Image:Csma-perf.png|400px]]
 
 
Essa figura mostra curvas para a utilização do meio em função da quantidade de estações prontas para transmitir, e para diferentes tamanhos de quadro. A conclusão é que quadros menores proporcionam desempenho inferior, assim como uma quantidade maior de estações resulta em uma provável menor utilização do meio. No entanto essa análise considera a rede numa situação de carga muito alta, o que não acontece normalmente. Há também algumas simplificações no desenvolvimento da análise, tal como considerar que a probabilidade de retransmissão constante em cada ''slot'', ao invés de analisar o algoritmo de recuo exponencial binário (''backoff''). Finalmente, esse resultado tem sentido para um meio de transmissão compartilhado, mas a atualmente as redes locais ethernet trabalham com meios de transmissão exclusivos (''ethernet comutada e full-duplex'', em que não há risco de colisão).
 
 
== 30/09: Redes locais: arquitetura IEEE 802 ==
 
 
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista5.pdf 5a lista de exercícios].
 
 
Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula9-ieee.pdf transparências].
 
 
Capítulo 4 do livro "Redes de Computadores", de Andrew Tanenbaum.
 
 
Capítulo 14 do livro "Comunicação de Dados e Redes de Computadores", de Behrouz Forouzan.
 
 
* Detalhamento da norma IEEE 802.3 (Ethernet)
 
* Visualização de quadros ethernet
 
* Teste de desempenho com switches, para comparar com os resultados obtidos com hubs
 
 
'''''Ver também:'''''
 
* [http://www.arandanet.com.br/midiaonline/rti/2010/abril/index.html Ethernet 40 Gbps e 100 Gbps]
 
 
== 05/10: Redes locais: interligação de LANs e VLANs IEEE 802.1q ==
 
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula10.pdf transparências].
 
 
* Capítulo 16 do livro "''Comunicação de Dados e Redes de Computadores, 3a ed.''", de Behrouz Forouzan.
 
* Capítulo 16 do livro "''Comunicação de Dados e Redes de Computadores, 3a ed.''", de Behrouz Forouzan.
 
* Capítulo 4 do livro "''Redes de Computadores, 4a ed.''", de Andrew Tanenbaum.
 
* Capítulo 4 do livro "''Redes de Computadores, 4a ed.''", de Andrew Tanenbaum.
  
* '''Interligação de LANs (norma IEEE802.1D):'''
+
... ver:
** Operação de pontes e switches
+
* timers do STP (hello e max-age), que influenciam o tempo de convergência do protocolo
*** Visualizar o aprendizado de endereços em um switch ou ponte (usando o switch D-Link).
+
* ver MSTP e PVST
*** Visualizar como um switch ou ponte propaga quadros em broadcast.
 
 
 
* '''VLANs'''
 
** Norma [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ieee/802.1Q-2005.pdf IEEE 802.1q]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab7.pdf Roteiro da experiência]
 
*** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/manual-des3526.pdf manual do switch D-Link DES-3526]
 
** Definição de VLANs
 
** Criação de VLANs no switch D-Link
 
** Visualização do tráfego de VLANs
 
 
 
 
 
== 07/10: Redes locais: VLANs IEEE 802.1q; interligação de LANs e protocolo Spanning Tree (STP) ==
 
 
 
[http://www.sj.ifsc.edu.br/~msobral/RCO2/avaliacoes/prova2-2010-1.pdf Conceitos da 2a avaliação]
 
 
 
Fazer a [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista6.pdf 6a lista de exercícios].
 
 
 
* Continuação da aula de 07/05 sobre VLANs
 
* Introdução a STP (ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula11.pdf transparências])
 
 
 
=== Atividades ===
 
 
 
* Um computador com Linux pode ser transformado em uma ponte ou switch, usando [https://help.ubuntu.com/community/NetworkConnectionBridge bridge-utils]. O utilitário [http://manpages.ubuntu.com/manpages/karmic/man8/brctl.8.html ''brctl''] possibilita configurar interfaces do tipo ''bridge'':
 
** Para criar uma ''bridge'': <syntaxhighlight lang=bash>
 
# Cria uma interface de rede do tipo bridge, chamada br0. O nome da interface
 
# pode ser qualquer coisa (ex: br0, ponte1, ...)
 
brctl addbr br0
 
</syntaxhighlight>
 
** Para adicionar interfaces de rede à ''bridge'' br0: <syntaxhighlight lang=bash>
 
brctl addif br0 eth0
 
brctl addif br0 eth1
 
</syntaxhighlight>
 
** Para ver as ''bridges existentes'': <syntaxhighlight lang=bash>
 
brctl show
 
</syntaxhighlight>
 
** Para ver os endereços MAC reconhecidos atualmente na bridge br0: <syntaxhighlight lang=bash>
 
brctl showmacs br0
 
</syntaxhighlight>
 
* No Linux é possível usar VLANs, configuradas com o utilitário [http://manpages.ubuntu.com/manpages/hardy/man8/vconfig.8.html vconfig] (contido no pacote ''vlan'', que pode ser instalado com ''sudo apt-get install vlan''). Cada VLAN configurada irá criar uma interface virtual correspondente. Ex: para configurar as VLANs 5 e 10 na interface eth0: <syntaxhighlight lang=bash>
 
vconfig add eth0 5
 
vconfig add eth0 10
 
</syntaxhighlight> Com isto serão criadas as interfaces ''eth0.5'' (interface virtual associada à VLAN 5) e ''eth0.10'' (interface virtual da VLAN 10). Essas interfaces podem ser configuradas com o utilitário ''ifconfig'', como qualquer outra interface de rede.
 
* Essas funcionalidades podem ser exploradas no [http://www.netkit.org Netkit].
 
 
 
==== Netkit ====
 
 
 
Um sistema para fazer experimentos com redes interligadas por pontes ou switches.
 
 
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/netkit.pdf Guia rápido de instalação]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/ Download]
 
* Para os experimentos abaixo:
 
** Fazer experimentos para visualizar como os quadros se propagam entre os segmentos através da ponte.
 
** Visualizar como a ponte aprende os endereços das estações de cada segmento.
 
** Testar o envio de quadros em broadcast, e observar como a ponte os propaga.
 
** Para os experimentos com VLAN, observar os quadros com ''tag'', nas interfaces que operam em modo ''tagged''. Teste também o isolamento entre VLANs.
 
* ''Exemplos de experimentos:'' faça o download e descompacte-os; em seguida entre no diretório do experimento, e execute '''lstart'''. Para terminar o experimento execute '''lhalt -q'''.
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/lan.tgz LAN simples]: uma LAN com quatro computadores (pc1, pc2, pc3, pc4). Os computadores virtuais têm IPs 192.168.1.X, sendo X o número computador (ex: pc1 tem IP 192.168.1.1). Use ping para fazer testes de comunicação.
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/bridge.tgz LAN com switch]: uma LAN com quatro computadores (pc1, pc2, pc3, pc4) interligados por um switch. O switch é implementado por um computador com Linux com 4 portas ethernet.
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/bridge1.tgz Switch e duas LANs]: duas LANs com quatro computadores cada (LAN1 tem IPs 192.168.1.0/24 e contém pc1, pc2, pc3, pc4; LAN2 tem IPs 192.168.2.0/24 e contém pc5, pc6, pc7, pc8). Um switch implementado por um computador com Linux com 9 portas ethernet interliga todos os computadores. No entanto, esse switch separa as duas LANs, como se fossem duas VLANs. O computador pc4 opera como gateway entre as LANs.
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/bridge2.tgz Switch e duas VLANs]: duas VLANs com quatro computadores cada. VLAN 5 tem IPs 192.168.1.0/24 e contém pc1, pc2, pc3, pc4; VLAN 10 tem IPs 192.168.2.0/24 e contém pc4, pc5, pc6, pc7. O switch Linux foi configurado para que a interface eth3 esteja nas VLANs 5 e 10 (i.e. em modo ''tagged''), as interfaces eth0, eth1, eth2 estejam na VLAN 5 em modo ''untagged'', e as interfaces eth4, eth5 e eth6 estejam na VLAN 10 em modo ''untagged''. O computador pc4 opera como gateway entre as VLANs, usando duas interfaces virtuais (i.e. a interface eth0 foi posta nas VLANs 5 e 10 em modo ''tagged'').
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/bridge3.tgz Dois switches e duas VLANs]: duas VLANs com quatro computadores cada. VLAN 5 tem IPs 192.168.1.0/24 e contém pc1, pc2, pc3, pc4; VLAN 10 tem IPs 192.168.2.0/24 e contém pc5, pc6, pc7, pc8. O switch Linux foi configurado para que a interface eth3 esteja nas VLANs 5 e 10 (i.e. em modo ''tagged''), as interfaces eth0, eth1, eth2 estejam na VLAN 5 em modo ''untagged'', e as interfaces eth4, eth5 e eth6 estejam na VLAN 10 em modo ''untagged''. O computador pc4 opera como gateway entre as VLANs, usando duas interfaces virtuais (i.e. a interface eth0 foi posta nas VLANs 5 e 10 em modo ''tagged''). O diagrama abaixo ilustra essa rede:
 
 
 
[[imagem:Bridge3.png]]
 
 
 
Leia os arquivos de inicialização ''switch1.startup'', ''switch2.startup'' e ''pc4.startup'' para entender como foram configuradas as VLANs.
 
 
 
== 14/10: Redes locais: interligação de LANs e protocolo Spanning Tree (STP) ==
 
 
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula11.pdf transparências].
 
* [http://www.cisco.com/warp/public/473/spanning_tree1.swf Uma animação sobre STP].
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/stp.pdf Um texto explicativo sobre  STP]
 
* [http://en.wikipedia.org/wiki/Spanning_tree_protocol STP na  Wikipedia]
 
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista7.pdf 7a Lista de exercícios]
+
== 30/09: Redes locais: implantação com VLANs e controle de acesso ==
 
 
=== Atividades ===
 
 
 
# Experimento com Spanning Tree:
 
#* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab8.pdf Usando os switches do laboratório]
 
#* [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/bridge4.tgz Usando o Netkit]. <br><br>Esse segundo experimento implementa esta rede:<br><br>[[Imagem:Stp_netkit.png]]<br><br>
 
#*# Iniciar o laboratório do Netkit, com comando '''lstart'''
 
#*# Rodar o '''tcpdump''' nas interfaces dos switches: <syntaxhighlight lang=bash>
 
tcpdump -i any -ln
 
</syntaxhighlight>
 
#*# Em qualquer um dos PC faça um ping para qualquer outro PC. Observe as respostas do ''ping'', e o tráfego mostrado pelo ''tcpdump''.
 
#*# Em cada um dos switches ative o protocolo STP: <syntaxhighlight lang=bash>
 
brctl stp br0 on
 
</syntaxhighlight>
 
#*# Observe as respostas do ping, e o tráfego  revelado pelo ''tcpdump''.
 
#*# Veja como  ficou a topologia lógica após a ativação do STP. Quer dizer, veja os estados das portas dos switches: <syntaxhighlight lang=bash>
 
brctl showstp br0
 
</syntaxhighlight>
 
#*# Modifique a prioridade STP dos switches (um número  entre 0 e 65535), e veja o resultado na topologia lógica criada pelo STP: <syntaxhighlight lang=bash>
 
brctl setbridgeprio br0 PRIORIDADE
 
</syntaxhighlight>
 
#*# Pare o ''ping'' e ''tcpdump''. Em seguida desative o STP nos switches: <syntaxhighlight lang=bash>
 
brctl stp br0 off
 
</syntaxhighlight>
 
#*# Execute novamente o tcpdump em todos os switches: <syntaxhighlight lang=bash>
 
# N é o número  do switch
 
tcpdump -i any -ln -w switchN.cap
 
</syntaxhighlight>
 
#*# Reative o STP nos switches: <syntaxhighlight lang=bash>
 
brctl stp br0 on
 
</syntaxhighlight>
 
#*# Pare o ''tcpdump'', e copie cada arquivo ''switchN.cap'' para o diretório /lab de cada switch. Esse diretório corresponde ao diretório do laboratório no  sistema Linux real.
 
#*# Execute o wireshark, e use-o para interpretar os arquivos ''switchN.cap''. Veja as PDUs STP trocadas entre os switches.
 
 
 
== 19/10: Redes locais: controle de acesso com IEEE 802.1x e VLANs dinâmicas ==
 
  
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula12.pdf transparências]
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula12.pdf transparências]
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab10.pdf Roteiro da experiência]
+
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/802.1x_book_c2.pdf Capítulo de um livro sobre IEEE 802.1x]
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab9-2010-2.pdf Roteiro da experiência]
 +
** [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/ier.conf Arquivo de configuração do wpa_supplicant (ier.conf)]
  
 
=== Norma IEEE 802.1x ===
 
=== Norma IEEE 802.1x ===
Linha 702: Linha 377:
 
* ... [http://freeradius.org/features/eap.html e muitos outros !]
 
* ... [http://freeradius.org/features/eap.html e muitos outros !]
  
== 21/10: IEEE 802.1x e VLANs dinâmicas ==
+
== 07/10: LANS: juntando (quase) tudo ... ==
  
A 3a avaliação foi adiada para 28/05.
+
* Resolver a [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista7.pdf 4a lista de exercícios]
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/avaliacoes/prova3-2009-2.pdf Avaliação do semestre 2009-2]
 
  
* Finalização do experimento sobre IEEE 802.1x:
+
'''''Obs: veja que há uma tarefa para casa ao final desta seção !'''''
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab10.pdf Roteiro da experiência sobre VLANs dinâmicas]
 
  
== 26/10: WAN: Introdução; Frame-Relay ==
+
Foi realizada uma  revisão do conteúdo sobre LANs.
  
Aula até 11:30 h (usaremos o horário do Pedro Armando).
 
  
* Introdução a WAN: conceitos básicos (ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula13.pdf transparências])
+
=== Tarefa ===
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab12.pdf Experimento sobre Frame-Relay]
+
Redes Ethernet se tornaram o padrão de fato para redes locais, e estão sendo estendendo a outros domínios. Um caso é o uso dessa tecnologia para redes metropolitanas, conhecido como MetroEthernet. Faça uma pesquisa sobre MetroEthernet, de forma a contemplar o seguinte:
 +
# Para que cenários ela foi criada ?
 +
# Que normas a definem ?
 +
# Que diferenças possui comparada com Ethernet para LANs ?
 +
# Quais as aplicações de QinQ nessas redes ?
 +
# Que equipamentos são utilizados (pesquise tipos de equipamentos, com exemplos de fabricantes e modelos) ?
  
'''Ver também:'''
+
Não esqueça de incluir as fontes bibliográficas em sua pesquisa ! E não se limite a copiar os textos dessas fontes ... interprete as informações sempre que possível e explique com suas palavras.
*Capítulo 18 do livro ''Comunicação de Dados e Redes de Computadores, 3a ed.'', de Behrouz Forouzan.
 
*Capítulos 12 a 15 do livro ''Comunicação entre Computadores e Tecnologias de Rede'', de Michael Gallo e William Hancock.
 
  
== 28/10: 3a avaliação ==
+
'''Prazo de entrega: 14/10/2010'''
  
Na sala de aula  ...
+
== XX/10: LANs: juntando (quase) tudo ==
  
=== Conceitos ===
+
Aproveitando que a audiência na [[IER-2010-2#30.2F09:_Redes_locais:_implanta.C3.A7.C3.A3o_com_VLANs_e_controle_de_acesso|aula de 30/09]] estava reduzida, hoje será feita uma revisão sobre LANs para sintetizar o uso das técnicas estudadas:
 +
* ''LANS interligadas por switches''
 +
* ''VLANs''
 +
* ''Controle de acesso com IEEE 802.1x''
  
== 04/11: WAN: Frame-Relay e MPLS ==
+
Durante a aula será implantada a seguinte rede:
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista8.pdf 8a lista de exercícios]
+
[[imagem:Lab10-rede1.png]]
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab12.pdf Experimento com Frame-Relay]
+
Esse cenário corresponde à rede de um ''hot spot'', que se trata de um estabelecimento que proporciona pontos de acesso à Internet. Esse ''hot spot'' atende pessoas que assinam um serviço para poderem acessar a Internet em uma federação de ''hot spots''. A rede desse ''hot spot'' em particular é dividida em três LANS: servidores, VIP e Premium. A LAN VIP dá acesso a usuários assinantes de acesso com 2 Mbps, e a LAN Premium atende usuários assinantes de acesso a 1 Mbps. A autenticação dos assinantes ocorre na própria infraestrutura da rede, de forma que cada ponto de acesso (porta de ''switch'') é colocada automaticamente em uma dessas LANs, de acordo com o resultado da autenticação. A LAN dos servidores contém um servidor Web, de uso interno pela empresa.
** [http://www.ciscopress.com/articles/article.asp?p=170741 Guia da Cisco sobre Frame Relay]
 
  
* '''''Referências sobre MPLS:'''''
+
A infraestrutura para implantar tal rede irá explorar switches com suporte a VLANs e controle de acesso IEEE 802.1x. Assim, a rede de fato ficará parecida com o diagrama abaixo:
** Capítulo 5 (seção 5.4.5) do livro ''Redes de Computadores, 4a ed.'', de Andrew Tanenbaum.
 
** [http://www.opalsoft.net/qos/MPLS.htm MPLS Related Notes]
 
** [http://www.netcraftsmen.net/resources/archived-articles/423-introduction-to-mpls.html MPLS Tutorial]
 
** [http://en.wikipedia.org/wiki/Multiprotocol_Label_Switching MPLS na Wikipedia]
 
** [http://www.ietf.org/rfc/rfc3031.txt RFC 3031: MPLS  Architecture]
 
** [http://www.ietf.org/rfc/rfc3032.txt MPLS Label Stack Encoding]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/mpls-linux Documentação sobre os experimentos com MPLS (tirados do projeto MPLS-Linux)]
 
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab13-mpls.pdf 1o Experimento com MPLS]
+
[[imagem:Lab10-rede2.png]]
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/netkit/testbed.tar.gz Lab do netkit com o experimento[]
 
  
== 09/11: WAN: MPLS ==
+
=== Atividade ===
  
'''''Para casa:'''''
+
A turma deve se dividir em quatro equipes. Cada equipe implantará a rede do ''hot spot'' usando os switches D-Link DES-3526. Para evitar confusão, duas equipes usarão o switch da esquerda, e as outras usarão o da direita. Cada equipe usará metade das portas do switch (1 a 12, e 13 a 24). As subredes das VLANs devem ser dividas de forma que a dos servidores comporte ao menos 10 IPs, e VIP e Premium comportem pelo menos 100 IPs cada. Assumam que exista uma subrede com 256 endereços a ser dividida entre essas VLANs.
* Ler [http://www.networkcomputing.com/1113/1113ws2.html texto sobre MPLS]
 
* Ler [http://www.alcatel-lucent.com/solutions/mpls4ips/docs/MPLS_EEI_wp.pdf este outro texto sobre MPLS], da Alcatel-Lucent.
 
  
 +
Não esqueçam de preparar o gateway (notem que ele possui duas interfaces ethernet), configurando NAT, DHCP e DNS.
  
'''''Exemplos de serviços baseados em MPLS em operadoras:'''''
+
== 14/10: Visão geral sobre WAN ==
* [http://www.gvt.com.br/portal/grandesempresas/solucoesdedados/vpnmpls/index.jsp GVT]
 
* [http://www.embratel.com.br/Embratel02/cda/portal/0,2997,MG_P_11340,00.html Embratel]
 
  
 +
* Introdução a WAN: conceitos básicos (ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula13.pdf transparências])
  
'''''Atividade de hoje: Labelspaces e túneis'''''
+
*[http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab10-2010-2.pdf Experimento com Frame-Relay]
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab14-mpls.pdf Roteiro sobre labelspaces e túneis MPLS]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab14/labelspaces.tgz Laboratório do netkit sobre labelspaces]
 
  
== 11/11: WAN: MPLS ==
 
  
'''Atenção: 4a avaliação'''
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/trabalhos/trab3-wan-2010-1.pdf Trabalho sobre WAN]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/trabalhos/wan-2010-1.tgz  Laboratório do Netkit necessário para o trabalho]
 
  
[[Imagem:Wan-2010-1.png|640px]]
+
== 21/10: Rede sem-fio IEEE 802.11 ==
  
 +
* Ver capítulo 15 do livro ''Comunicação de Dados e Redes de Computadores, 3a ed.'', de Behrouz Forouzan.
 +
* Ver capítulo 4 (seção 4.4) do livro ''Redes de Computadores, 4a ed.'', de Andrew Tanenbaum.
 +
* Ver este [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro on-line] sobre redes IEEE 802.11.
 +
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula15.pdf transparências]
  
'''''Atividade de hoje: túneis'''''
+
* Resolver a [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista8.pdf 7a lista de exercícios]
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab14-mpls.pdf Roteiro sobre labelspaces e túneis MPLS]
 
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab14/tuneis.tgz Laboratório do netkit sobre túneis]
 
  
''Questão: para que serviria um túnel  MPLS ?''
+
Será feito um  experimento para configurar, usar e verificar a vazão de uma rede local sem-fio, e como funciona a comunicação entre a rede sem-fio e a rede cabeada. Também será investigado o tráfego nessa rede, usando o analisador de protocolo '''wireshark'''. A rede do experimento será parecida com a da figura abaixo:
  
=== Operações MPLS no Linux ===
+
[[imagem:Lab11a.png]]
  
'''''CUIDADO:''''' Não use rótulos entre 0 e 15, pois são reservados (ver [http://www.networkers-online.com/blog/2009/01/mpls-labels/ detalhes]).'''
+
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab11-2010-2.pdf Roteiro do experimento]
  
As operações MPLS no Linux são definidas por sequências de comandos não muito claros à primeira vista. Assim segue abaixo um rápido guia sobre como realizá-las:
+
== 28/10: Revisão e 2a avaliação ==
  
* '''PUSH:''' da rede IP para a rede MPLS <syntaxhighlight lang=bash>
+
=== Conceitos da 2a avaliação ===
# Cria primeiro um NHLFE que adiciona o rótulo 100, e encaminha a PDU MPLS pela interface eth3. O endereço IP 10.0.1.5 corresponde
 
# ao próximo roteador.
 
var=`mpls nhlfe add key 0 instructions push gen 100 nexthop eth3 ipv4 10.0.1.5 |grep key | cut -c 17-26`
 
  
# Mapeia FEC (Forward Equivalence Class) e NHLFE. FEC é a classificação do tráfego que está entrando na rede MPLS (note
+
{| border="1" cellpadding="2"
# que nesse exemplo trata-se somente de um conceito).
+
!Aluno
ip route add 172.16.30.0/24 via 10.0.1.5 mpls $var
+
!Conceito
</syntaxhighlight>
+
|-
* '''POP:''' da rede MPLS para a rede IP <syntaxhighlight lang=bash>
+
|Andreia || B
# Adiciona a interface eth3 ao labelspace 0
+
|-
mpls labelspace set dev eth3 labelspace 0
+
|Cleidiane || D
 +
|-
 +
|Diony || B
 +
|-
 +
|Everton || D
 +
|-
 +
|Gabriel || B
 +
|-
 +
|José Tadeu || B
 +
|-
 +
|Karine || B
 +
|-
 +
|Leonardo || C
 +
|-
 +
|Lucas || D
 +
|-
 +
|Luis Francisco || C
 +
|-
 +
|Rafael || C
 +
|-
 +
|Ronaldo || C
 +
|-
 +
|}
  
# Cria um mapeamento de rótulo de entrada (ILM), para receber PDUs com determinado rótulo vindas do labelspace 0
+
== 04/11: Segurança em redes sem-fio IEEE 802.11 ==
# Esse comando sozinho faz o POP do rótulo
 
mpls ilm add label gen 300 labelspace 0
 
</syntaxhighlight>
 
* '''SWAP:''' comutando rótulos dentro da rede MPLS <syntaxhighlight lang=bash>
 
# Adiciona a interface eth0 ao labelspace 0
 
mpls labelspace set dev eth0 labelspace 0
 
  
# Cria um mapeamento de rótulo de entrada (ILM), para receber PDUs com determinado rótulo vindas do labelspace 0
+
* Ver [http://www.sj.ifsc.edu.br/~msobral/IER/slides/aula15.pdf transparências]
# Esse comando sozinho faz o POP do rótulo
+
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab11.pdf Roteiro do experimento]
mpls ilm add label gen 2000 labelspace 0
+
** [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/wpa Arquivos do wpa_supplicant]
  
# Cria NHLFE que adiciona o rótulo 3000, e encaminha a PDU MPLS pela interface eth1. O endereço IP 10.0.6.3 corresponde
+
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/802.1x_book_c2.pdf Capítulo de um livro  sobre IEEE 802.1x]
# ao próximo roteador.
+
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/WEP2SecurityAnalysis.ppt Uma análise sobre a segurança WEP]
var1=`mpls nhlfe add key 0 instructions push gen 3000 nexthop eth1  ipv4 10.0.6.3 |grep key | cut -c 17-26`
+
* Ver capítulos 5, 6 e 7 do [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro sobre IEEE 802.11]
 +
* Ver capítulo 8 (seção 8.6.4) do livro ''Redes de Computadores, 4a ed.'' de Anndrew Tanenbaum.
 +
[[imagem:Wifi_security.jpg]]
  
# Faz a comutação de fato: a PDU MPLS identificada pela ILM com rótulo 2000 e vinda pelo labelspace 0 deve ser encaminhada
+
Redes sem-fio oferecem muitos atrativos, como acesso ubíquo, ausência de cabeamento e suporte a usuários móveis. Mas também se sujeitaM a uso indevido, uma vez que pessoas não-autorizadas no alcance do sinal do ponto de acesso podem tentar usá-la para se comunicarem. Em geral três questões fundamentais aparecem no que diz respeito à segurança em redes sem-fio:
# de acordo com o que estiver determinado na NHLFE acima
 
mpls xc add ilm_label gen 2000 ilm_labelspace 0 nhlfe_key $var1
 
</syntaxhighlight>
 
* ''Caso especial: entrada em túnel, que se faz com '''SWAP''' e em seguida '''PUSH''':'' <syntaxhighlight lang=bash>
 
# Adiciona a interface eth1 ao labelspace 0
 
mpls labelspace set dev eth1 labelspace 0
 
  
# Cria um mapeamento de rótulo de entrada (ILM), para receber PDUs com determinado rótulo vindas do labelspace 0
+
# ''Acesso indevido:'' uso indevido da infraestrutura por pessoas não-autorizadas.
# Esse comando sozinho faz o POP do rótulo
+
# ''Monitoramento do tráfego da rede:'' os quadros na rede sem-fio podem ser coletados e interpretados, com possível roubo ou revelação de informação sensível.
mpls ilm add label gen 100 labelspace 0
+
# ''Infiltração de equipamentos na rede:'' um ou mais pontos de acesso podem ser infiltrados na rede sem-fio, fazendo com que pessoas os utilizem para se comunicarem. Assim, o tráfego dessas pessoas pode passar por outra rede, sendo passível de monitoramento.
  
# Cria NHLFE que adiciona o rótulo 2000, e encaminha a PDU MPLS pela interface eth0.
+
Por exemplo, redes em locais densamente ocupados (como edifícios) podem ser investigadas por alguém em busca de uma rede aberta ou fácil de ser invadida. Essa pessoa pode simplesmente querer usar o acesso à Internet disponível em alguma rede sem-fio, ou mesmo invadir os equipamentos existentes em tal rede. A figura abaixo mostra uma situação hipotética em que uma pessoa investiga a existência de redes sem-fio a partir de um carro que trafega pelas ruas.
var1=`mpls nhlfe add key 0 instructions push gen 2000  nexthop eth0 ipv4 10.0.4.4 |grep key | cut -c 17-26`
 
  
# Cria NHLFE que adiciona o rótulo 200, e encaminha a PDU MPLS de acordo com as instruções da NHLFE acima
+
[[imagem:View_from_Wardriver_Windshield.jpg]]
# Isto terá o efeito de empilhar o rótulo 2000 sobre o rótulo 200.
 
var2=`mpls nhlfe add key 0 instructions push gen 200 forward $var1 |grep key| cut -c 17-26`
 
  
# Faz a comutação de fato: a PDU MPLS identificada pela ILM com rótulo 100 e vinda pelo labelspace 0 deve ser encaminhada
+
Assim, uma rede sem-fio minimamente bem configurado deve usar mecanismos de segurança que impeçam ou dificultem seu uso indevido. Em um cenário usual, tal rede sem-fio poderia se apresentar como mostrado abaixo:
# de acordo com o que estiver determinado na NHLFE acima
 
mpls xc add ilm_label gen 100 ilm_labelspace 0 nhlfe_key $var2
 
</syntaxhighlight>
 
* ''Caso especial: saída do túnel MPLS, quando deve ser feito um '''POP''' e em seguida '''SWAP''''' (obs: se aplica somente ao caso em que a mensagem que sai do túnel deve ir a outro LSR. Se ao sair do túnel também for sair do LSP interno, então deve ser feito outro POP ao invés de SWAP).<syntaxhighlight lang=bash>
 
# Adiciona a interface eth1 ao labelspace 0
 
mpls labelspace set dev eth1 labelspace 0
 
  
# Cria um mapeamento de rótulo de entrada (ILM), para receber PDUs com determinado rótulo vindas do labelspace 0
+
[[imagem:Wifi-security1.png]]
# Esse comando sozinho faz o POP do rótulo 3000
 
mpls ilm add label gen 3000 labelspace 0
 
  
# Cria um mapeamento de rótulo de entrada (ILM), para receber PDUs com determinado rótulo vindas do labelspace 0
 
# Esse comando sozinho faz o POP do rótulo 200
 
mpls ilm add label gen 200 labelspace 0
 
  
# Cria NHLFE que adiciona o rótulo 300, e encaminha a PDU MPLS pela interface eth2
+
Para tratar essas questões, deve haver mecanismos de segurança que contemplem os seguintes requisitos:
key=`mpls nhlfe add key 0 instructions push gen 300 nexthop eth2 ipv4 10.0.5.1 |grep key |cut -c 17-26`
 
  
# Faz a comutação de fato: a PDU MPLS identificada pela ILM com rótulo 200 e vinda pelo labelspace 0 deve ser encaminhada
+
# ''Autenticação de usuários:'' usuários da rede sem-fio devem se identificar (ou ''autenticar'') na infra-estrutura dessa rede, de forma a se autorizarem ou não seus acessos.
# de acordo com o que estiver determinado na NHLFE acima.
+
# ''Sigilo das comunicações:'' o tráfego na rede sem-fio deve ser encriptado, para que não seja inteligível caso sejam capturados por usuários mal-intencionados que estejam monitorando a rede sem-fio.
# Repare que o comando abaixo irá atuar somente depois que a PDU tiver saído do túnel (i.e. depois que tiver feito o POP 3000)
+
# ''Autenticação dos pontos de acesso:'' pontos de acesso devem se identificar para os usuários, para evitar a infiltração de pontos de acesso indevidos na rede.
mpls xc add ilm_label gen 200 ilm_labelspace 0 nhlfe_key $key
 
</syntaxhighlight>
 
  
''Obs: cada interface precisa ser adicionada a um labelspace apenas uma vez''
+
Há mecanismos de segurança usados em redes IEEE 802.11 que contemplam todos os requisitos acima (WPA-EAP, WPA Enterprise), ou parcialmente (WPA-PSK ou WPA Personal). WPA-EAP aproveita a infraestrutura IEEE 802.1x, junto com técnicas de encriptação entre estações sem-fio, para atender esses requisitos. Já WPA-PSK usa apenas as técnicas de encriptação, não havendo um controle de acesso baseado em usuário. Na figura abaixo se mostra uma pequena rede sem-fio que usa WPA-EAP.
  
== 16/11: WAN: MPLS ==
+
[[imagem:Wifi-auth.jpeg]]
  
* ''Label merging:'' [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab15-mpls.pdf roteiro do experimento]
+
Além dos mecanismos WPA, definidos na norma [http://en.wikipedia.org/wiki/IEEE_802.11i-2004 IEEE 802.11i], outra forma de implantar controle de acesso em redes sem-fio se vale de um ''portal de captura''. Quando um usuário não identificado acessa a rede, o acesso ao ponto de acesso é concedido mas ao tentar navegar na Web seu acesso é desviado para uma página predefinida. Nessa página o usuário deve se identificar (ex: com ''login'' e senha), e em caso de sucesso seu acesso à Internet é liberado. Essa técnica se vale de uma combinação de mecanismos (firewall com filtro IP, serviço Web, uso de programas para autenticação) para controlar o acesso dos usuários. No entanto, não provê sigilo das comunicações nem autenticação de pontos de acesso ao usuário. Sua atratividade reside na simplicidade de implantação e uso (não necessita de ''supplicant''), sendo uma escolha comum em ''hot spots'' como aeroportos e ''cyber cafes''. No [[Projeto_Integrador_-_2009.2| Projeto Integrador 2009.2]] as equipes implantaram uma infra-estrutura que usava essa técnica.
  
Obs: não foi realizado esse experimento, pois aproveitou-se a aula para esclarecer o projeto sobre WAN.
+
== 11/11: Infraestrutura de rede sem-fio IEEE 802.11 e ''handover'' ==
  
== 18/11: Redes sem-fio: introdução ==
+
* Conclusão da [[IER-2010-2#04.2F11:_Seguran.C3.A7a_em_redes_sem-fio_IEEE_802.11|aula anterior]].
  
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula15.pdf transparências]
+
===  Transição de BSS (''Handover'') ===
* Ver capítulo 15 do livro ''Comunicação de Dados e Redes de Computadores, 3a ed.'', de Behrouz Forouzan.
 
* Ver este [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro on-line] sobre redes IEEE 802.11.
 
  
== 23/11: Redes sem-fio: padrão IEEE 802.11 ==
+
Em redes IEEE 802.11 com mais de um AP, para ampliar a área de cobertura, estações que se movimentam podem precisar migrar de um AP para outro. Essa operação se chama ''transição de BSS'' (também conhecida como ''handover'' ou ''roaming'').
  
* Resolver a [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista9.pdf 9a lista de exercícios]
+
[[imagem:Handover2.png]]
  
Será feito um experimento para configurar, usar e verificar a vazão de uma rede local sem-fio. Também será investigado o tráfego nessa rede, usando o analisador de protocolo wireshark.
+
A transição se desencadeia quando o sinal do enlace com o AP atual tem sua qualidade abaixo de um determinado limiar. Isso faz com que um novo AP seja procurado (varredura, ou ''scanning''). Ao escolher um novo AP, a estação precisa nele se autenticar e associar. A autenticação depende do método usado (WPA-PSK à esquerda, ou WPA-EAP à direita)
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab16-wlan.pdf Roteiro do experimento]
+
[[imagem:Auth-rsn1.png]]  [[imagem:Auth-eap.png|400px]]
  
Após a realização do experimento, obtiveram-se vazões da ordem de 20 Mbps (com um caso que chegou a 29 Mbps). Vale lembrar que o protocolo MAC da rede IEEE 802.11 faz controle de erros do tipo Stop-and-Wait, e comparar os resultados com a [[RCO2-2010-1#Desempenho_do_Stop-and-wait|análise de desempenho para um protocolo Stop-and-Wait na ausência de erros]], feita no início do semestre. Há inclusive a questão 19 da [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista1.pdf 1a lista de exercícios], que pede que se calcule a taxa efetiva de transmissão (em outras palavra, a vazão máxima possível) numa rede sem-fios IEEE 802.11. Essa questão foi resolvida em aula, e obteve-se uma taxa efetiva de aproximadamente 34 Mbps. Esse resultado é otimista, pois assume um tráfego unidirecional e com apenas uma estação transmitindo. Apesar disso, os valores obtidos no experimento são da mesma ordem de grandeza, não estando muito distantes do previsto.
+
A associação em si leva apenas dois quadros de controle, como se pode ver abaixo:
  
== 25/11: Redes sem-fio: redes ad hoc ==
+
[[imagem:Associacao.png]]
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab17-wlan.pdf Roteiro do experimento]
+
Como se pode deduzir, a transição feita dessa forma não é imediata. Na verdade, ela pode demorar muitos segundos ! Esse atraso de transição pode influenciar negativamente nas comunicações em andamento, uma vez que a transição costuma ocorrer quando o sinal está com baixa qualidade (causando perdas de quadros), além da demora para se completar. Esforços vêm sendo feitos atualmente para reduzir o atraso de transição, e dentre eles a norma [http://en.wikipedia.org/wiki/IEEE_802.11r-2008 IEEE 802.11r] propõe um mecanismo para acelerar a autenticação. Porém o atraso de varredura ainda está por melhorar ...
  
'''''Redes Ad Hoc'''''
 
* Ausência de uma estação base (ou ''Access Point'')
 
* Cada estação pode se comunicar diretamente com qualquer outra estação em seu alcance
 
* Problemas dos nodos  escondidos e expostos se manifestam intensamente
 
* Demandam roteamento especializado (ex: [http://en.wikipedia.org/wiki/Ad_hoc_On-Demand_Distance_Vector_Routing AODV], [http://en.wikipedia.org/wiki/OLSR OLSR])
 
  
 +
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab12-wlan.pdf Roteiro do experimento]
  
[[imagem:Adhoc1.jpg]]
+
== 18/11: Revisão e 3a avaliação ==
<br>''Podem  possibilitar a criação de uma rede local temporária em um ambiente previamente sem infraestrutura (AP)''
 
  
 +
== 25/11: Projeto Integrador ==
  
 +
[[Projeto_Integrador_-_2010.2#Instala.C3.A7.C3.A3o_de_Equipamentos_de_Rede|Projeto Integrador 2010-2]]
  
[[imagem:Adhocnet.gif|400px]]
+
=== Conceitos da 3a avaliação ===
<br>''Podem formar redes temporárias entre equipamentos móveis''
 
  
 +
{| border="1" cellpadding="2"
 +
!Aluno
 +
!Conceito
 +
|-
 +
|Andreia || C
 +
|-
 +
|Cleidiane || C
 +
|-
 +
|Diony || B
 +
|-
 +
|Everton || B
 +
|-
 +
|Gabriel || B
 +
|-
 +
|José Tadeu || B
 +
|-
 +
|Karine || D
 +
|-
 +
|Leonardo || B
 +
|-
 +
|Lucas || B
 +
|-
 +
|Rafael || C
 +
|-
 +
|Ronaldo || A
 +
|-
 +
|}
  
 +
== 02/12: Projeto Integrador ==
  
[[imagem:Vanet.gif|400px]]
+
[[Projeto_Integrador_-_2010.2#Instala.C3.A7.C3.A3o_de_Equipamentos_de_Rede|Projeto Integrador 2010-2]]
<br>''Podem  ser usadas como base para aplicações inovadoras, como  redes veiculares ''
 
  
=== Problemas sobre nodos escondidos e expostos ===
+
== 09/12: Projeto Integrador ==
  
# De acordo com a rede sem-fio em modo ad hoc mostrada na figura abaixo, identifique (assuma que o MAC  seja o CSMA/CA):
+
[[Projeto_Integrador_-_2010.2#Instala.C3.A7.C3.A3o_de_Equipamentos_de_Rede|Projeto Integrador 2010-2]]
#* Que estações não conseguem transmitir simultaneamente, devido ao problema dos nodos expostos
 
#* Para cada estação, identifique todas as estações que podem transmitir simultaneamente (independente da estação destino) <br><br>[[imagem:Rede-sem-fio1.png|600px]]<br>
 
# Faça a mesma análise para a rede mostrada abaixo: <br><br>[[imagem:Rede-sem-fio2.png|600px]]
 
  
== 30/11: Redes sem-fio: transição entre BSS em rede infra-estruturada (handover) ==
+
=== Conceitos parciais (incluindo recuperações) ===
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab17-wlan.pdf Roteiro do experimento]
+
{| border="1" cellpadding="2"
 
+
  !Aluno
== 02/12: Redes sem-fio: Segurança em redes IEEE 802.11 ==
+
!1a avaliação
 
+
!2a avaliação
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula16.pdf Transparências]
+
  !3a avaliação
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/802.1x_book_c2.pdf Capítulo de um livro sobre IEEE 802.1x]
+
!Proj. Int.
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/WEP2SecurityAnalysis.ppt Uma análise sobre a segurança WEP]
+
!Parcial
** Ver capítulos 5, 6 e 7 do [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro sobre IEEE 802.11]
+
|-
** Ver capítulo 8 (seção 8.6.4) do livro ''Redes de Computadores, 4a ed.'' de Anndrew Tanenbaum.
+
|Andreia || C || B || C || || C
 
+
|-
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab18-2009-2.pdf Roteiro do experimento]
+
|Cleidiane || C || D (D) || C || || D
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab18 Arquivos para o wpa_supplicant]
+
|-
** [http://www.aircrack-ng.org/ Aircrack-ng] (software para quebrar chaves WEP e WPA-PSK)
+
|Diony || C || B || B || || B
*** [http://www.aircrack-ng.org/doku.php?id=simple_wep_crack Um guia rápido para quebra de chaves WEP]
+
|-
 
+
  |Everton || C || D (D) || B || || D
== 07/12: Redes sem-fio: Segurança em redes IEEE 802.11 ==
+
  |-
 
+
|Gabriel || (C) || B || B || || B
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula16.pdf Transparências]
+
|-
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/802.1x_book_c2.pdf Capítulo de um livro sobre IEEE 802.1x]
+
|José Tadeu || C || B|| B || || B
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/WEP2SecurityAnalysis.ppt Uma análise sobre a segurança WEP]
+
|-
** Ver capítulos 5, 6 e 7 do [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro sobre IEEE 802.11]
+
|Karine || B || B || D (B) || || B
** Ver capítulo 8 (seção 8.6.4) do livro ''Redes de Computadores, 4a ed.'' de Anndrew Tanenbaum.
+
|-
 
+
|Leonardo || C || C || B || || C
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab18-2009-2.pdf Roteiro do experimento]
+
|-
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab18 Arquivos para o wpa_supplicant]
+
|Lucas || A || D (C) || B || || B
** [http://www.aircrack-ng.org/ Aircrack-ng] (software para quebrar chaves WEP e WPA-PSK)
+
|-
*** [http://www.aircrack-ng.org/doku.php?id=simple_wep_crack Um guia rápido para quebra de chaves WEP]
+
|Rafael || B || C || C || || C
 
+
|-
 
+
|Ronaldo || (B) || C || A || || B
* [[Media:Prova4.pdf|Avaliação final do semestre 2009-2]]
+
|-
 
+
|}
== 09/12: Outras tecnologias sem-fio ==
 
 
 
* Bluetooth (IEEE 802.15.3)
 
* Zigbee (IEEE 802.15.4)
 
 
 
== 14/12: 5a avaliação ==
 
 
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/avaliacoes/rec/ Provas de recuperação de semestres anteriores]
 
  
=== Conceitos ===
+
''Obs: entre parênteses é o conceito de recuperação''
  
=== Conceitos do semestre ===
+
== 16/12: Apresentação do projeto ==
  
== 16/12: Recuperação ==
+
[[Projeto_Integrador_-_2010.2#Instala.C3.A7.C3.A3o_de_Equipamentos_de_Rede|Projeto Integrador 2010-2]]

Edição atual tal como às 15h02min de 15 de dezembro de 2010

Instalação de Equipamentos de Redes: Diário de Aula 2010-2

Professor: Marcelo Maia Sobral (msobral@gmail.com)
Lista de email (forum): ier-ifsc@googlegroups.com
Atendimento paralelo: 2a e 3a de 10h às 11 h, 3a e 5a de 16h às 17h.

Bibliografia

Curiosidades

Listas de exercícios

Avaliações

29/07: Introdução e camada de enlace

  • Capítulos 1, 11 e 12 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (há uma cópia no xerox).


Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.


Apresentou-se uma visão geral dos conceitos sobre comunicação de dados, amparada em transparências. Nesta aula se planta a base para iniciar o estudo com maior profundidade da camada de enlace e da camada física.

Nosso ponto de partida serão pequenas redes compostas por uma ou mais redes locais (LANs) que se interligam, incluindo conexão para a Internet. Em cada rede investigaremos seu funcionamento, incluindo as configurações da subrede IP e os equipamentos usados.

Rede1-IER.png
Figura 1: uma pequena rede local (LAN) com conexão para Internet


Rede2-IER.png
Figura 2: duas redes locais (LAN) interligadas por um enlace de longa distância (WAN)

Será feito um experimento com base nas redes acima.

Enlaces de dados (Data Link)

Data-link.png

Os serviços identificados na figura acima estão descritos abaixo. A eles foram acrescentados outros dois:

  • Encapsulamento (ou enquadramento): identificação das PDUs (quadros) de enlace dentro de sequências de bits enviadas e recebidas da camada física
  • Controle de erros: garantir que quadros sejam entregues no destino
    • Detecção de erros: verificação da integridade do conteúdo de quadros (se foram recebidos sem erros de bits)
  • Controle de fluxo: ajuste da quantidade de quadros transmitidos, de acordo com a capacidade do meio de transmissão (incluindo o atraso de transmissão) e do receptor
  • Endereçamento: necessário quando o enlace for do tipo multi-ponto, em que vários equipamentos compartilham o meio de transmissão (ex: redes locais e redes sem-fio)
  • Controle de acesso ao meio (MAC): também necessário para meios compartilhados, para disciplinar as transmissões dos diversos equipamentos de forma a evitar ou reduzir a chance de haver colisões (transmissões sobrepostas)
  • Gerenciamento de enlace: funções para ativar, desativar e manter enlaces

05/08: Enquadramento e Detecção de erros

  • Ver capítulo 11 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan.
  • Ver capítulo 3 do livro "Redes de Computadores", de Andrew Tanenbaum.
  • ver capítulo 2 do livro "Redes de Computadores: uma abordagem de sistemas", de Larry Peterson e Bruce Davie.



Nesta aula será configurado um enlace ponto-a-ponto entre duas redes locais com protocolo PPP, porém usando computadores como roteadores. O objetivo é observar os detalhes do protocolo de enlace quanto aos serviços da camada de enlace:

Rede1-lab2.png

Enquadramento

Funcionamento do enquadramento (ou sincronização de quadro) do tipo sentinela (usado pelo PPP e HDLC): usa-se uma flag delimitadora para informar o início e fim de quadro. Há uma segunda flag, chamada de escape (ESC), para evitar que um byte com o valor de flag delimitadora, o qual apareça em algum campo do quadro (ex: dados ou campos de controle) seja erroneamente interpretado como fim de quadro. No caso do PPP e HDLC:

  • 7E: flag delimitadora
  • 7D: flag de escape

Detecção de erros

Probabilidade de erros de transmissão (BER - Bit Error Rate), códigos de detecção de erro e CRC.

Há um resumo nas transparências.

O experimento com o gerador de CRC-16 do PPP pode ser repetido em casa. Ele é capaz de verificar um quadro PPP, que pode ser conseguido usando-se a opção record do pppd. Essa opção grava em um arquivo de log os conteúdos dos quadros PPP enviados e recebidos, que podem depois serem visualizados (ou terem seu bytes extraídos) com o utilitário pppdump. Porém o gerador de CRC-16 fornecido inclui dois arquivos contendo quadros PPP previamente coletados: quadro_correto.raw e quadro_errado.raw. Eles podem ser verificados com o programa fcs (o verificador de CRC-16):

# descompacta o arquivo do gerador de CRC-16
tar czf fcs-rfc.tgz
cd fcs

# Testa o quadro correto
./fcs quadro_correto.raw

# Testa o quadro_errado
./fcs quadro_errado.raw

Há um testador que modifica aleatoriamente uma certa quantidade de bits do quadro_correto.raw, até que encontre um caso em que o erro não seja detectado. Para usá-lo deve-se executar o programa testa.py:

# executa testa.py com 4 erros de bit por quadro gerados aleatoriamente
./testa.py 4

O código fonte do gerador de CRC-16 está no arquivo fcs-rfc.c, o qual foi obtido diretamente da RFC 1662.

Atividade extra-aula

Faça uma pesquisa sobre protocolos de enlace ponto-a-ponto usados em redes sem-fio. Tais enlaces podem ser feitos dentro de ou entre cidades (ex: entre o Morro da Cruz em Florianópolis e São José ou Palhoça), via satélite, ou mesmo entre pontos não tão distantes mas onde não existe infraestrutura cabeada prévia. Descreva as características dos protocolos encontrados (onde são melhor aplicados, e que serviços de enlace são contemplados), e forneça exemplos de onde estão sendo usados. Se conhecer empresas que os utilizem, e para que finalidade, informe em sua pesquisa.

Prazo de entrega: 12/08 (próxima aula).

12/08: HDLC, PPP e PPPoE

Detalhes sobre esses protocolos. Ver as transparências:

  • PPP: o protocolo de enlace ponto-a-ponto amplamente usado atualmente; faz detecção de erros mas não controle de erros nem de fluxo.
  • HDLC: de certa forma, o antecessor do PPP. Implementa controle de erros e de fluxo com janela deslizante. Atualmente caindo em desuso. Usado ainda em links de satélite.

PPPoE (PPP over Ethernet)

PPPoE define um método para encapsular quadros PPP dentro de quadros Ethernet, e foi definido na RFC 2516. Ele foi criado para facilitar a integração de usuários discados e banda-larga em provedores de acesso (ISP - Internet Service Providers). Além disso, torna mais fácil o controle de acesso, de uso da rede, e contabilização para usuários que a acessam via rede Ethernet. Assim, é possível implantar uma rede em que os usuários, para conseguirem acesso, precisam se autenticar como em um serviço discado. Uma vez obtido o acesso, pode-se também impor limitações de uso de banda de acordo com o usuário. Exemplos de infraestruturas que podem se beneficiar com essa técnica são redes de condomínios e de prédios comerciais. Finalmente, PPPoE é usado como protocolo de enlace em acessos aDSL, ilustrado na figura abaixo.

Pppoe architecture.gif


No PPPoE suas PDUs são encapsuladas em quadros Ethernet, usando o ethertype 8863H (estágio de descoberta) ou 8864H (estágio de sessão). Devido ao cabeçalho PPPoE (6 bytes) combinado ao identificador de protocolo do quadro PPP (2 bytes), a MTU em enlaces PPPoE não pode ser maior que 1492 bytes. O quadro PPP é simplificado, não possuindo as flags delimitadoras e os campos Address, Control e FCS. A PDU PPPoE é mostrada a seguir:


Pppoe-pdu.png


Em um enlace PPPoE um dos nodos é o host (cliente), e o outro o concentrador de acesso (AC, que tem papel de servidor). O estabelecimento do enlace é iniciado pelo host, que procura um AC e em seguida solicita o início do enlace. Esse procedimento é composto por por dois estágios:

  • Descoberta (Discovery): o cliente descobre um concentrador de acesso (AC) para se conectar. Ocorre uma troca de 4 PDUs de controle:
    • PADI (PPPoE Active Discovery Indication): enviado em broadcast pelo cliente para descobrir os AC.
    • PADO (PPPoE Active Discovery Offer): resposta enviada por um ou mais AC, contendo seus identificadores e nomes de serviços disponíveis (no âmbito do PPPoE).
    • PADR (PPPoE Active Discovery Request): enviado pelo cliente para o AC escolhido, requisitando o início de uma sessão.
    • PADS (PPPoE Active Discovery Session-Confirmation): resposta do AC escolhido.

      Pppoe-discovery.png

  • Sessão (Session): nessa etapa são trocados quadros PPP como no estabelecimento de um enlace PPP usual. A sessão pode ser encerrada com a terminação PPP (i.e., via protocolo LCP), ou com a PDU PPPoE PADT (PPPoE Active Discovery Terminate).

Dicas vistas no laboratório

  1. Sempre que se usar um computador como gateway deve-se ativar essa função, com um desses comandos (no caso do Linux):
    • echo 1 > /proc/sys/net/ipv4/ip_forward
    • sysctl -w net.ipv4.ip_forward=1
  2. Se for necessário usar NAT, uma forma rápida de fazê-lo é (mas existem outras ...):
    • iptables -t nat -A POSTROUTING -o nome_interface_saída -j MASQUERADE
  3. Sempre observe as rotas existentes em suas redes ! Se necessário, rastreie os datagramas quando desconfiar que algo está errado:
    • traceroute -n IP_destino
    • Usando wireshark ou tcpdump para analisar tráfego

Atividade extra

No roteiro foi proposto um desafio: fazer controle de banda diferenciado por usuários que se conectam com PPPoE. Discutimos que para fazer isso é necessário:

  1. Classificar os usuários nas categorias ouro e prata
  2. Poder executar um programa (ou script) no momento em que o enlace PPP for estabelecido, de forma a configurar o controle de banda de acordo com a categoria de usuário. Deve-se passar a esse programa o IP que o usuário obteve em seu enlace PPPoE, ou o nome da interface PPP que foi criada no AC para esse enlace.
  3. Usar um mecanismo que limite a banda de um enlace PPPoE. Uma sugestão foi usar traffic shaping.

Ficou como tarefa para a turma detalhar como resolver esse problema, e trazer uma solução. Quer dizer, que programas usar e que opções desses programas devem ser configuradas. Imaginem que a solução deve vir pronta para ser implantada.

Quem resolver esse desafio ficará em alta consideração (que se refletirá em seu conceito ;-).

19/08: A parte física do enlace ponto-a-ponto

Ver capítulos 3, 4 e 5 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan (cópia no xerox).

Introdução: ver transparências.


Serviços da camada física:

Servicos-Camada-Fisica.png
(Adaptado do livro "Comunicação de Dados e Redes de Computadores, 3a ed.", de Berhouz Forouzan)

Laboratório

Uma rede com enlaces WAN feitos com modems digitais SHDSL.

Uma introdução a modems

Rede-modems.png

Leitura adicional

Transmissão digital:

26/08: Modems e interfaces digitais

Resolver a 2a lista.

Material de referência:

Hoje foi realizada a experiência com modems síncronos, em que se configuram modems SHDSL e se fazem enlaces de testes para localizar problemas em circuitos.

Experimento adicional: visualização de códigos de linha e modulação.

Modems analógicos e Interfaces digitais

Material de referência:

02/09: Redes locais

Introdução a redes locais

  • Transparências:
  • Capítulo 13 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan (tem no xerox)
  • Capítulo 4 do livro "Redes de Computadores", de Andrew Tanenbaum (tem na biblioteca)

Roteiro do experimento


Distinção entre WAN, MAN e LAN

  • Aplicações de cada um desses tipos de rede
  • Tecnologias envolvidas
  • "Backbones" da Internet Brasileira:
Brasil em 1996
RNP 1991,1992,1996,1998,2000,2001,2005,2006, 2007.
Embratel Mapa 1,Mapa 2
Eletronet Mapa Eletronet


LANs

  • Características
  • Topologias
  • O problema do acesso ao meio

09/09: Redes locais: implantação com switches / 1a avaliação

Conceitos da 1a avaliação

Aluno Conceito
Andreia C
Cleidiane C
Diony C
Everton C
José Tadeu C
Karine B
Leonardo C
Lucas A
Luis Francisco B
Rafael B

16/09: Redes locais: implantação com VLANs

  • Transparências sobre VLANs
  • 3a lista de exercícios
  • Livro sobre VLANs
  • Ver capítulo 16 do livro Comunicação de Dados e Redes de Computadores", de Berhouz Forouzam (no xerox)
  • Ver capítulo 5 do livro Redes de Computadores e a Internet, de James Kurose (na biblioteca)
  • Ver capítulo 4 do livro Redes de Computadores, de Andrew Tanenbaum (na biblioteca).

LANs virtuais (VLANs – Virtual LANs) são formadas por estações que, apesar de estarem em uma mesma LAN física, formam diferentes LANs lógicas isoladas umas das outras. A figura abaixo ilustra um exemplo com três VLANs implantadas em um único switch. Necessariamente a implantação de VLANs depende de switches (ou pontes) com suporte ao padrão IEEE 802.1q (existem outras tecnologias, como ISL e VTP da Cisco, porém não padronizadas).

Vlans.png

O padrão IEEE 802.1q define, entre outras coisas, uma extensão ao quadro MAC para identificar a que VLAN este pertence. Essa extensão, denominada tag (etiqueta) e mostrada na figura 4, é composta por 4 bytes, e situa-se entre os campos de endereço de destino e ethertype. O identificador de VLAN (VID) ocupa 12 bits, o que possibilita portanto 4096 diferentes VLANs.

8021q.png

Na aula de hoje será criada uma rede composta por subredes implantadas com VLANs.

23/09: Redes locais: implantação com VLANs e STP

Tema extra: tecnologias de LAN switches


Interligação de LANs e Spanning Tree Protocol

  • Capítulo 16 do livro "Comunicação de Dados e Redes de Computadores, 3a ed.", de Behrouz Forouzan.
  • Capítulo 4 do livro "Redes de Computadores, 4a ed.", de Andrew Tanenbaum.

... ver:

  • timers do STP (hello e max-age), que influenciam o tempo de convergência do protocolo
  • ver MSTP e PVST

30/09: Redes locais: implantação com VLANs e controle de acesso

Norma IEEE 802.1x

A norma IEEE 802.1x define um framework para controle de acesso a redes locais IEEE 802, sendo usado tanto em redes cabeadas quanto sem-fio. O propósito dessa norma é criar mecanismos para identificar e autorizar ou não o acesso de um usuário à infraestrutura da rede. Esses mecanismos são implementados em três componentes que forma a estrutura de controle de acesso IEEE 802.1x, mostrada na figura abaixo:

Ieee-8021x.png

  • Supplicant: o cliente que deseja se autenticar. Implementado com um software (ex: wpa_supplicant, xsupplicant).
  • Autenticador: o equipamento que dá acesso à rede para o cliente, e onde é feito o bloqueio ou liberação do uso da rede. Implementado em switches e Access Points (no caso de redes sem-fio).
  • Servidor de Autenticação: o equipamento que verifica as credenciais fornecidas pelo supplicant, e informa ao autenticador se ele pode ou não acessar a rede. Implementado comumente em um servidor Radius.

A autenticação se faz com protocolos específicos definidos na norma IEEE 802.1x:

  • EAP (Extensible Authentication Protocol): protocolo para intercâmbio de informações de autenticação entre supplicant e servidor de autenticação.
  • EAPOL (EAP over LAN): protocolo para transportar as PDUs EAP entre supplicant e autenticador.

Ieee-802x-eap.png

Existem vários métodos EAP, que correspondem a diferentes mecanismos de autenticação. Assim, o método de autenticação pode ser escolhido de acordo com as necessidades de uma rede.

  • EAP-MD5: baseado em login e senha, usa um desafio MD5 para autenticar o usuário.
  • EAP-TLS: baseado em certificados digitais X.509, usados para autenticar a rede para o supplicant, e o supplicant para a rede.
  • EAP-TTLS: também baseado em certificados digitais, mas somente para autenticar a rede pro supplicant. O supplicant se autentica com algum outro método EAP mais simples, como EAP-MD5.
  • ... e muitos outros !

07/10: LANS: juntando (quase) tudo ...

Obs: veja que há uma tarefa para casa ao final desta seção !

Foi realizada uma revisão do conteúdo sobre LANs.


Tarefa

Redes Ethernet se tornaram o padrão de fato para redes locais, e estão sendo estendendo a outros domínios. Um caso é o uso dessa tecnologia para redes metropolitanas, conhecido como MetroEthernet. Faça uma pesquisa sobre MetroEthernet, de forma a contemplar o seguinte:

  1. Para que cenários ela foi criada ?
  2. Que normas a definem ?
  3. Que diferenças possui comparada com Ethernet para LANs ?
  4. Quais as aplicações de QinQ nessas redes ?
  5. Que equipamentos são utilizados (pesquise tipos de equipamentos, com exemplos de fabricantes e modelos) ?

Não esqueça de incluir as fontes bibliográficas em sua pesquisa ! E não se limite a copiar os textos dessas fontes ... interprete as informações sempre que possível e explique com suas palavras.

Prazo de entrega: 14/10/2010

XX/10: LANs: juntando (quase) tudo

Aproveitando que a audiência na aula de 30/09 estava reduzida, hoje será feita uma revisão sobre LANs para sintetizar o uso das técnicas estudadas:

  • LANS interligadas por switches
  • VLANs
  • Controle de acesso com IEEE 802.1x

Durante a aula será implantada a seguinte rede:

Lab10-rede1.png

Esse cenário corresponde à rede de um hot spot, que se trata de um estabelecimento que proporciona pontos de acesso à Internet. Esse hot spot atende pessoas que assinam um serviço para poderem acessar a Internet em uma federação de hot spots. A rede desse hot spot em particular é dividida em três LANS: servidores, VIP e Premium. A LAN VIP dá acesso a usuários assinantes de acesso com 2 Mbps, e a LAN Premium atende usuários assinantes de acesso a 1 Mbps. A autenticação dos assinantes ocorre na própria infraestrutura da rede, de forma que cada ponto de acesso (porta de switch) é colocada automaticamente em uma dessas LANs, de acordo com o resultado da autenticação. A LAN dos servidores contém um servidor Web, de uso interno pela empresa.

A infraestrutura para implantar tal rede irá explorar switches com suporte a VLANs e controle de acesso IEEE 802.1x. Assim, a rede de fato ficará parecida com o diagrama abaixo:

Lab10-rede2.png

Atividade

A turma deve se dividir em quatro equipes. Cada equipe implantará a rede do hot spot usando os switches D-Link DES-3526. Para evitar confusão, duas equipes usarão o switch da esquerda, e as outras usarão o da direita. Cada equipe usará metade das portas do switch (1 a 12, e 13 a 24). As subredes das VLANs devem ser dividas de forma que a dos servidores comporte ao menos 10 IPs, e VIP e Premium comportem pelo menos 100 IPs cada. Assumam que exista uma subrede com 256 endereços a ser dividida entre essas VLANs.

Não esqueçam de preparar o gateway (notem que ele possui duas interfaces ethernet), configurando NAT, DHCP e DNS.

14/10: Visão geral sobre WAN


21/10: Rede sem-fio IEEE 802.11

  • Ver capítulo 15 do livro Comunicação de Dados e Redes de Computadores, 3a ed., de Behrouz Forouzan.
  • Ver capítulo 4 (seção 4.4) do livro Redes de Computadores, 4a ed., de Andrew Tanenbaum.
  • Ver este livro on-line sobre redes IEEE 802.11.
  • Ver transparências

Será feito um experimento para configurar, usar e verificar a vazão de uma rede local sem-fio, e como funciona a comunicação entre a rede sem-fio e a rede cabeada. Também será investigado o tráfego nessa rede, usando o analisador de protocolo wireshark. A rede do experimento será parecida com a da figura abaixo:

Lab11a.png

28/10: Revisão e 2a avaliação

Conceitos da 2a avaliação

Aluno Conceito
Andreia B
Cleidiane D
Diony B
Everton D
Gabriel B
José Tadeu B
Karine B
Leonardo C
Lucas D
Luis Francisco C
Rafael C
Ronaldo C

04/11: Segurança em redes sem-fio IEEE 802.11

Wifi security.jpg

Redes sem-fio oferecem muitos atrativos, como acesso ubíquo, ausência de cabeamento e suporte a usuários móveis. Mas também se sujeitaM a uso indevido, uma vez que pessoas não-autorizadas no alcance do sinal do ponto de acesso podem tentar usá-la para se comunicarem. Em geral três questões fundamentais aparecem no que diz respeito à segurança em redes sem-fio:

  1. Acesso indevido: uso indevido da infraestrutura por pessoas não-autorizadas.
  2. Monitoramento do tráfego da rede: os quadros na rede sem-fio podem ser coletados e interpretados, com possível roubo ou revelação de informação sensível.
  3. Infiltração de equipamentos na rede: um ou mais pontos de acesso podem ser infiltrados na rede sem-fio, fazendo com que pessoas os utilizem para se comunicarem. Assim, o tráfego dessas pessoas pode passar por outra rede, sendo passível de monitoramento.

Por exemplo, redes em locais densamente ocupados (como edifícios) podem ser investigadas por alguém em busca de uma rede aberta ou fácil de ser invadida. Essa pessoa pode simplesmente querer usar o acesso à Internet disponível em alguma rede sem-fio, ou mesmo invadir os equipamentos existentes em tal rede. A figura abaixo mostra uma situação hipotética em que uma pessoa investiga a existência de redes sem-fio a partir de um carro que trafega pelas ruas.

View from Wardriver Windshield.jpg

Assim, uma rede sem-fio minimamente bem configurado deve usar mecanismos de segurança que impeçam ou dificultem seu uso indevido. Em um cenário usual, tal rede sem-fio poderia se apresentar como mostrado abaixo:

Wifi-security1.png


Para tratar essas questões, deve haver mecanismos de segurança que contemplem os seguintes requisitos:

  1. Autenticação de usuários: usuários da rede sem-fio devem se identificar (ou autenticar) na infra-estrutura dessa rede, de forma a se autorizarem ou não seus acessos.
  2. Sigilo das comunicações: o tráfego na rede sem-fio deve ser encriptado, para que não seja inteligível caso sejam capturados por usuários mal-intencionados que estejam monitorando a rede sem-fio.
  3. Autenticação dos pontos de acesso: pontos de acesso devem se identificar para os usuários, para evitar a infiltração de pontos de acesso indevidos na rede.

Há mecanismos de segurança usados em redes IEEE 802.11 que contemplam todos os requisitos acima (WPA-EAP, WPA Enterprise), ou parcialmente (WPA-PSK ou WPA Personal). WPA-EAP aproveita a infraestrutura IEEE 802.1x, junto com técnicas de encriptação entre estações sem-fio, para atender esses requisitos. Já WPA-PSK usa apenas as técnicas de encriptação, não havendo um controle de acesso baseado em usuário. Na figura abaixo se mostra uma pequena rede sem-fio que usa WPA-EAP.

Wifi-auth.jpeg

Além dos mecanismos WPA, definidos na norma IEEE 802.11i, outra forma de implantar controle de acesso em redes sem-fio se vale de um portal de captura. Quando um usuário não identificado acessa a rede, o acesso ao ponto de acesso é concedido mas ao tentar navegar na Web seu acesso é desviado para uma página predefinida. Nessa página o usuário deve se identificar (ex: com login e senha), e em caso de sucesso seu acesso à Internet é liberado. Essa técnica se vale de uma combinação de mecanismos (firewall com filtro IP, serviço Web, uso de programas para autenticação) para controlar o acesso dos usuários. No entanto, não provê sigilo das comunicações nem autenticação de pontos de acesso ao usuário. Sua atratividade reside na simplicidade de implantação e uso (não necessita de supplicant), sendo uma escolha comum em hot spots como aeroportos e cyber cafes. No Projeto Integrador 2009.2 as equipes implantaram uma infra-estrutura que usava essa técnica.

11/11: Infraestrutura de rede sem-fio IEEE 802.11 e handover

Transição de BSS (Handover)

Em redes IEEE 802.11 com mais de um AP, para ampliar a área de cobertura, estações que se movimentam podem precisar migrar de um AP para outro. Essa operação se chama transição de BSS (também conhecida como handover ou roaming).

Handover2.png

A transição se desencadeia quando o sinal do enlace com o AP atual tem sua qualidade abaixo de um determinado limiar. Isso faz com que um novo AP seja procurado (varredura, ou scanning). Ao escolher um novo AP, a estação precisa nele se autenticar e associar. A autenticação depende do método usado (WPA-PSK à esquerda, ou WPA-EAP à direita)

Auth-rsn1.png Auth-eap.png

A associação em si leva apenas dois quadros de controle, como se pode ver abaixo:

Associacao.png

Como se pode deduzir, a transição feita dessa forma não é imediata. Na verdade, ela pode demorar muitos segundos ! Esse atraso de transição pode influenciar negativamente nas comunicações em andamento, uma vez que a transição costuma ocorrer quando o sinal está com baixa qualidade (causando perdas de quadros), além da demora para se completar. Esforços vêm sendo feitos atualmente para reduzir o atraso de transição, e dentre eles a norma IEEE 802.11r propõe um mecanismo para acelerar a autenticação. Porém o atraso de varredura ainda está por melhorar ...


18/11: Revisão e 3a avaliação

25/11: Projeto Integrador

Projeto Integrador 2010-2

Conceitos da 3a avaliação

Aluno Conceito
Andreia C
Cleidiane C
Diony B
Everton B
Gabriel B
José Tadeu B
Karine D
Leonardo B
Lucas B
Rafael C
Ronaldo A

02/12: Projeto Integrador

Projeto Integrador 2010-2

09/12: Projeto Integrador

Projeto Integrador 2010-2

Conceitos parciais (incluindo recuperações)

Aluno 1a avaliação 2a avaliação 3a avaliação Proj. Int. Parcial
Andreia C B C C
Cleidiane C D (D) C D
Diony C B B B
Everton C D (D) B D
Gabriel (C) B B B
José Tadeu C B B B
Karine B B D (B) B
Leonardo C C B C
Lucas A D (C) B B
Rafael B C C C
Ronaldo (B) C A B

Obs: entre parênteses é o conceito de recuperação

16/12: Apresentação do projeto

Projeto Integrador 2010-2