RED29005 2014-2

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Índice

Carga horária, Ementas, Bibliografia

Plano de Ensino

Dados Importantes

Professor: Jorge Henrique B. Casagrande
Email: casagrande@ifsc.edu.br
Atendimento paralelo: 3a feira 17:35h - 18:30 e 4a feira 16:35h - 17:30h (Sala dos professores de TELE - ao lado da reprografia)
Endereço do grupo: https://www.facebook.com/groups/266436156880584/
Link alternativo para Material de Apoio da disciplina: http://www.sj.ifsc.edu.br/~casagrande/RED
Muitos conteúdos da disciplina estão sendo extraídos do material do professor Marcelo Sobral o qual já registro aqui meus agradecimentos pela autorização e apoio. Alguns deles foram inseridos ou adaptados para se ajustar ao planejamento ou perfil da turma.

Toda vez que voce encontrar a marcação ao lado de alguma atividade, significa que essa atividade estará sendo computada na avaliação como AE ou AI. O prazo estabelecido para entrega estará destacado ao lado da atividade. Portanto, não perca o prazo limite para entrega. Atividades entregues fora do prazo não serão aceitas!

Avaliações

Resultados das Avaliações

Aluno AE1 [AE2] [AI] A1 A2 A3 A4 A5 REC A1 REC A2 REC A3 REC A4 REC A5 NF CONCEITO
Ana 90 100 100 50 55 96 78 100 65 40 82 B
Guilherme 90 100 100 55 55 86 74 100 80 55 83 B
Karoline 90 100 100 45 55 75 83 100 75 50 82 B
Mathias 90 100 100 60 70 94 83 100 85 B
Matuzalém 90 100 100 65 60 82 73 100 81 B

LEGENDA E DETALHES

AE = Atividades Extras
10% da Avaliação - abrange uma ou mais tarefas a serem divulgadas ao longo do semestre;
AI = Avaliação Individual
10% da Avaliação final - abrange desempenho, assiduidade, cumprimento de tarefas em sala ou de listas de exercícios;
An = Avaliação n
20% da Avaliação (n=4) - Programadas para cada parte do programa;
REC An = Recuperação da Avaliação An
A recuperação de todas An serão em data única e o aluno só tem a obrigação de recuperar An<60;
NF = Nota Final com critério de arredondamento de +/-5 pontos considerando a fórmula abaixo
NF = 0,16(soma{MaiorNota{An,REC An}}) + 0,1(médiaAE) + 0,1(AI)

Se NF < 6,0 = D --> Reprovado
Se 60 =< NF < 75 = C --> Aprovado
Se 75 =< NF < 90 = B --> Aprovado
Se NF >= 90 = A --> Aprovado

Recados Importantes


25/08 Lista 1: Já está disponível a LISTA1 de exercícios para a avaliação A1 de exercícios com questões chave para nossa avaliação A1!


30/07 Uso da Wiki: A partir dessa data,todo o repositório de material de apoio e referências de nossas aulas passam a usar a Wiki de tele. Para interação fora da sala de aula, acessem nosso grupo do facebook.


30/07 ATENÇÃO: Uma avaliação só pode ser recuperada somente se existir justificativa reconhecida pela coordenação. Desse modo, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação, e aguardar o parecer da coordenação. O não cumprimento desse procedimento implica a impossibilidade de fazer a recuperação, e assim a reprovação na disciplina.

Material de Apoio

Atividades extra sala de aula
  • LISTA1 de exercícios para a avaliação A1
  • LISTA2 de exercícios para a avaliação A2
  • LISTA3 de exercícios para a avaliação A3
  • LISTA4 de exercícios para a avaliação A4
Slides utilizados durante algumas aulas


Manuais e outros


Bibliografia

  • Redes de Computadores e a Internet, 5a edição, de James Kurose.
  • Redes de Computadores, 4a edição, de Andrew Tanenbaum.
  • Comunicação de Dados e Redes de Computadores, 4a edição, de Behrouz Forouzan.

Para pesquisar o acervo das bibliotecas do IFSC:

Softwares

  • Netkit: possibilita criar experimentos com redes compostas por máquinas virtuais Linux
  • IPKit: um simulador de encaminhamento IP (roda direto dentro do navegador)

Diário de aulas RED29005 - 2014-2 - Prof. Jorge H. B. Casagrande

30/07 - Redes de Longa Distância - WAN

30/07 - Redes de Longa Distância - WAN

  • Apresentação da disciplina;
  • Visão geral de uma WAN;
  • Componentes de uma infra-estrutura de telecomunicações;
  • A banda passante e os meios de transmissão
05/08 - Redes de Telecomunicações

05/08 - Redes de Telecomunicações

  • Evolução das Redes Locais baseadas em hospedeiros para as Redes Privativas de longa distância;
  • Da Unidade de Derivação Digital (UDD) para os ServerSwitches;
  • O Serviço de Linha Dedicada Digital (SLDD) como base na formação de Redes Privativas;
  • A Linha Privativa de Comunicação de Dados (LPCD).
06/08 - Redes de Circuitos Virtuais

06/08 - Redes de Circuitos Virtuais

  • A Multiplexação como solução no compartilhamento e otimização do uso de enlaces de transmissão
  • Das redes baseadas comutação de circuitos para as redes baseadas em comutação de pacotes.
  • Redes de Circuitos Virtuais - Frame Relay e ATM;
  • O exemplo da evolução do backbone da RNP;
  • Redes virtuais com MPLS.
12/08 - Redes MPLS (MultiProtcol Label Switching)

12/08 - REDES MPLS (MultiProtcol Label Switching)

MPLS é um mecanismo para redes de telecomunicações de alto desempenho que encaminha e transporta dados de um nó da rede a outro. Isso se faz por meio de links virtuais entre nós distantes um do outro, semelhante ao conceito de circuitos virtuais. Diversos protocolos podem ser transportados por MPLS, tais como IP e Ethernet (note que o primeiro é um protocolo de rede, mas o segundo é um "protocolo" de enlace). Assim, MPLS se apresenta como uma tecnologia de transporte de dados em redes de longa distância, como ilustrado na figura abaixo.

Mpls-network.jpg

Simplificadamente, um cabeçalho (shim header) é adicionado a cada PDU a ser transportada pela rede MPLS. O rótulo contém um número identificador chamado de rótulo (label, e similar ao VCI visto em circuitos virtuais), junto com alguns bits de controle. Os roteadores dentro da rede MPLS encaminham essas PDUs com base somente no conteúdo desse cabeçalho, comutando-os de acordo com os valores de rótulo (label switching). Note que MPLS não faz roteamento, e sim comutação de circuitos virtuais: os circuitos devem ser previamente estabelecidos para que o encaminhamento de PDUs entre origem e destino possa ser realizada. Desta forma, MPLS parece ser um protocolo que fica entre as camadas de rede e de enlace, como mostrado na figura a seguir.

Mpls protocolstack.jpg ----> MPLS D2.gif


O cabeçalho MPLS possui apenas 32 bits, como mostrado abaixo. O valor de rótulo ocupa 20 bits, o que possibilita pouco mais de 1 milhão de diferentes rótulos (). Há um campo Time To Live (ou simplesmente TTL) com 8 bits, com mesma finalidade que o campo homônimo existente em PDUS IPv4: evitar que um erro de configuração em um roteador faça com que PDUs fiquem circulando eternamente em um loop na rede. O valor desse campo TTL é decrementado por cada roteador que encaminhe a PDU e, se o valor chegar a 0, a PDU é descartada. O campo Exp com 3 bits foi pensado para codificar a classe de serviço da PDU, a qual pode ser usada por mecanismos de qualidade de serviço (QoS) existentes na rede. Por exemplo, o valor de Exp pode ser usado como prioridade da PDU em um determinado roteador dentro da rede MPLS. Por fim, o bit S (bottom of stack) informa se esse é o último cabeçalho MPLS na PDU, uma vez que podem-se empilhar dois ou mais desses cabeçalhos.


Mpls-label.png


A terminologia MPLS possui nomes próprios para diversos componentes da arquitetura. Como ocorre em outras tecnologias, existem conceitos conhecidos apresentados porém com nomes diferentes. A tabela abaixo descreve alguns termos importantes existentes no MPLS:


Termo Descrição
LSP Label Switching Path, o análogo a circuito virtual.
LSR Label Switching Router, ou roteador capaz de comutar PDUs MPLS.
LER Label Edge Router, ou roteador que faz a interface entre a rede MPLS (onde se encaminham PDUs exclusivamente com base nos rótulos), e a rede externa (onde não se usa MPLS). A rede externa pode ser qualquer outra rede, como IPv4, IPv6 ou mesmo LAN Ethernet. Note que LER é um tipo especial de LSR, e podem ser denominados também como LSR ingress (LSR de entrada na rede MPLS) e LSR egress (LSR de saída da rede MPLS).
LFIB Label Forwarding Information Base, ou o conjunto de informações existentes nos LSR usadas para fazer o encaminhamento das PDUS MPLS. Pode ser entendida como uma estrutura análoga à tabela de comutação de circuitos virtuais.


Usando os termos acima, podem-se descrever redes MPLS demonstrativas como mostrado a seguir. Na primeira rede há dois LSP: um vai do Host X ao Host Z e está identificado com PDUS em amarelo, e outro vai de Host X ao Host Y e tem PDUs em azul. O número dentro de cada PDU informa os valores de rótulo usados ao longo dos LSP. Assim como em circuitos virtuais em geral (e como em Frame Relay e ATM), os valores de rótulo podem ser modificados por cada roteador que os comute.

Mplsrouters.gif

Conceitos básicos sobre comutação de rótulos

A comutação de rótulos feita nos LSR é muito parecida com comutação de circuitos virtuais. Ao receber uma PDU MPLS, um LSR decide o que fazer com ela com base no número do rótulo e na interface de rede de onde ela foi recebida. Porém há um detalhe específico do MPLS: uma ou mais interfaces podem ser associadas em um labelspace MPLS, sendo esse labelspace usado para identificar de onde foi recebida uma PDU. Desta forma, um LSR na verdade decide o que fazer com uma PDU com base em seu rótulo e no seu labelspace. Dentro do LSR essa operação se chama ILM (Input Label Mapping).

ILM é a função que identifica uma PDU recebida e mapeia seu rótulo para um labelspace

Um caso especial trata de PDUs que entram na rede MPLS. Por exemplo, uma PDU IPv4, originada de uma rede externa, deve ser transportada pela rede MPLS. Nesse caso, o LER (roteador de borda) deve associar essa PDU a um rótulo MPLS e encaminhá-lo pela rede MPLS. A identificação de uma PDU externa à rede MPLS, com base nas informações dessa PDU, se chama FEC (Forwarding Equivalence Class).

Uma vez identificada uma PDU recebida, o LSR deve encaminhá-la de acordo com instruções predefinidas em sua LFIB. Dentro de sua LFIB essas instruções são chamadas de NHLFE (Next-Hop Label Forwarding Entry), e contêm a operação MPLS a ser realizada e a interface de saída por onde encaminhar a PDU. As operações MPLS possíveis estão descritas na tabela abaixo:


Operação Descrição
SWAP Troca o valor de rótulo. Essa operação deve ser usada para comutação dentro da rede MPLS. Mesmo quando o novo valor de rótulo for idêntico ao anterior essa operação deve ser realizada.
PUSH Adiciona um cabeçalho MPLS com um determinado valor de rótulo. Essa operação deve ser usada principalmente nos LER, quando uma PDU entra na rede MPLS.
POP Remove o cabeçalho MPLS. Essa operação deve ser usada principalmente nos LER, quando uma PDU sai da rede MPLS.


A comutação fica completa ao se juntarem o mapeamento de entrada (ILM) com as NHLFE, no caso de comutação dentro da rede MPLS. No caso de entrada de PDUs na rede MPLS, a operação se chama FTN (Fec-To-Nhlfe), que nada mais é que regras para associar os rótulos MPLS a essas PDUS. No exemplo da PDU IPv4, pode-se usar o endereço IPv4 de destino dessa PDU para escolher que rótulo MPLS deve ser usado. Isso está sumarizado na figura abaixo.

Mpls-lfib.png

Atividade com MPLS

O exercício proposto em aula - fazer o LSP entre A2 e A1 passar por E5 ao invés de E3 - implica modificar a configuração dos roteadores E2, E3, E4 e E5:

Exercicio-mpls-1.png

  • E4: mudar a NHLFE para que o LSP A2->A1 vá para E5.
  • E5: fazer a comutação A2->A1 que antes ficava em E3.
  • E2: modificar o labelspace 0 para que contenha a interface eth3.
  • E3: removida a configuração da comutação A2->A1

Solução:

e2[type]=mpls e3[type]=mpls e4[type]=mpls e5[type]=mpls a1[type]=generic a2[type]=generic

  1. FEC: mapeia subrede destino para nhlfe

e2[fec]=172.16.20.0/24:nhlfe=1 e4[fec]=172.16.10.0/24:nhlfe=1

  1. NHLFE: como encaminhar PDUs MPLS

e2[nhlfe]=1:interface=eth0:label=1000:ip=10.0.2.3 e3[nhlfe]=1:interface=eth1:label=1001:ip=10.0.6.4 e4[nhlfe]=1:interface=eth0:label=2000:ip=10.0.4.5 e5[nhlfe]=1:interface=eth1:label=2001:ip=10.0.1.2

  1. ILM: como identificar PDUs MPLS recebidas

e2[ilm]=2001:labelspace=0 e3[ilm]=1000:labelspace=0:nhlfe=1 e4[ilm]=1001:labelspace=0 e5[ilm]=2000:labelspace=0:nhlfe=1


  1. Labelspace: os mapeamentos de labelspaces a interfaces

e2[labelspace]=0:interfaces=eth0,eth3 e3[labelspace]=0:interfaces=eth0,eth1 e4[labelspace]=0:interfaces=eth0,eth1 e5[labelspace]=0:interfaces=eth0,eth1


e2[eth0]=link2:ip=10.0.2.2/24 e2[eth1]=link8:ip=172.16.10.2/24 e2[eth3]=link1:ip=10.0.1.2/24 e3[eth0]=link2:ip=10.0.2.3/24 e3[eth1]=link6:ip=10.0.6.3/24 e4[eth0]=link4:ip=10.0.4.4/24 e4[eth1]=link6:ip=10.0.6.4/24 e4[eth2]=link7:ip=172.16.20.4/24 e5[eth0]=link4:ip=10.0.4.5/24 e5[eth1]=link1:ip=10.0.1.5/24

a1[eth2]=link8:ip=172.16.10.10/24 a2[eth2]=link7:ip=172.16.20.20/24

a1[default_gateway]=172.16.10.2 a2[default_gateway]=172.16.20.4

</syntaxhighlight>


13/08 - Protocolos de Enlace Ponto à Ponto

13/08 - Protocolos de Enlace Ponto à Ponto

Resumo da aula:

  • Slides sobre Protocolos Ponto à Ponto
  • Serviços da Camada de enlace
  • Laboratório - Continuação da Interligação entre LANs com uso de roteadores em modo físico

Bibliografia relacionada:

  • Seção 5.7 do livro "Redes de Computadores" do Kurose 5a ed.
  • Parte III e capítulos 10 e 11 do livro "Comunicação de Dados e Redes de Computadores, 4a ed.", de Behrouz Forouzan
  • Capítulo 3 do livro "Redes de Computadores" de Andrew Tanenbaum.

Fundamentos Teóricos

Enlaces lógicos

Equipamentos de rede se comunicam por meio de enlaces (links). Um enlace é composto por uma parte física, composta pelo meio de transmissão e o hardware necessário para transmitir e receber um sinal que transporta a informação, e uma parte lógica, responsável por empacotar os dados a serem transmitidos. O diagrama abaixo ilustra um enlace entre dois equipamentos, realçando as formas com que a informação é representada durante a transmissão e recepção. Nesse diagrama, a parte lógica está representada no bloco Enlace, e a parte física está no bloco Física; a informação transmitida, representada por Dados, pode ser, por exemplo, um datagrama IP.

Datalink-phy.png

O enlace lógico tem uma dependência total em relação à parte física. Isso quer dizer que o tipo de tecnologia de transmissão existente na parte física traz requisitos para o projeto da parte lógica.

Deste ponto em diante, a parte lógica será chamada simplesmente de Camada de Enlace, e a parte física de Camada Física.

Em nosso estudo vamos investigar enlaces ponto-a-ponto, os quais necessitam de protocolos específicos. Para ficar mais claro o que deve fazer um protocolo de enlace ponto-a-ponto, vamos listar os serviços típicos existentes na camada de enlace.

Serviços da camada de enlace

Data-link.png

Os serviços identificados na figura acima estão descritos a seguir. 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

Protocolos de enlace ponto-a-ponto

Dois protocolos de enlace ponto-a-ponto muito utilizados são:

  • PPP (Point-to-Point Protocol): proposto no início dos anos 90 pelo IETF (ver RFC 1661), e amplamente utilizado desde então. Este protocolo não faz controle de erros nem de fluxo, portanto se quadros sofrerem erros de transmissão serão sumariamente descartados no receptor. Originalmente muito usado em acesso discado, recentemente sua aplicação se concentra em enlaces por linhas dedicadas, enlaces sem-fio 3G, e uma versão modificada para acesso doméstico ADSL (PPPoE). Ver mais detalhes na seção 5.7 do livro do Kurose e na seção 11.7 do livro Comunicação de Dados e Redes de Computadores, de Behrouz Forouzan.
  • HDLC (High-level Data Link Control): criado nos anos 70, foi largamente utilizado em enlaces ponto-a-ponto, porém atualmente foi substituído pelo PPP na maioria dos cenários em que era usado. Este protocolo faz controle de erros e de fluxo usando um mecanismo ARQ do tipo Go-Back-N (com janela de tamanho 7 ou 127). Ainda se aplica a enlaces ponto-a-ponto em linhas dedicadas, enlaces por satélite e aplicações específicas onde a presença de ruídos no meio de transmissão é relevante ou se deseja confiabilidade na entrega de pacotes na camada 2. Ver mais detalhes na seção 11.6 do livro Comunicação de Dados e Redes de Computadores, de Behrouz Forouzan.


Ambos protocolos possuem o mesmo formato de quadro. Na verdade, o PPP copiou o formato de quadro do HDLC, apesar de não utilizar os campos Address e Control. O campo Flag, que tem o valor predefinido , serve para delimitar quadros, assim o receptor sabe quando inicia e termina cada quadro.

Ppp-frame.png
Quadro PPP ou HDLC (tamanho de campos dados em bytes)


Esses protocolos foram criados para uso com comunicação serial síncrona (ver capítulo 4, seção 4.3 do livro Comunicação de Dados e Redes de Computadores, de Behrouz Forouzan). O PPP funciona também com comunicação serial assíncrona.


19/08 - MPLS - Labelspaces e Tunels

19/08 - MPLS - Labelspaces e Tunels

Atividade

20/08 - Protocolos de Enlace Ponto à Ponto

20/08 - Protocolos de Enlace Ponto à Ponto

Resumo da aula:

26/08 - Interligação de LANs com Rede Real de Roteadores

26/08 - Interligação de LANs com Rede Real de Roteadores

Atenção: liberada a LISTA1 de exercícios para a avaliação A1

Resumo da aula:

  • Laboratório usando roteadores reais: Comparativo de desempenho com Frame Relay, PPP e HDLC.

Para esta atividade já está implementada uma rede composta por três roteadores da Digitel, que estarão interligados como mostrado abaixo:

Rede-modems.png

A rede contém dois enlaces dedicados ponto-à-ponto (simulando duas SLDDs) com modems digitais operando a 2 Mbps. Os Modens da DIGITEL modelo DT2048SHDSL estão configurados da seguinte forma: (chaves em ON)

  • Modens do rack central: DIP1-todas; DIP2-7,8; DIP3-todas OFF; DIP4-5 - Modo NTU (terminação de rede), relógio interno, 2048Kbps, e interface V.35 padrão ISO2110;
  • Modens do rack direito e esquerdo: DIP1-todas; DIP2-7,8; DIP3-todas OFF; DIP4-5 - Modo LTU (terminação de linha), relógio regenerado, 2048Kbps, e interface V.35 padrão ISO2110;

Todos os roteadores estão configurados com protocolos HDLC em suas interfaces serias WAN e rodando o algoritmo de roteamento RIP em sua forma mais básica para evitar a configuração de rotas estáticas na interligação das LANs do switch direito e esquerdo.

Iniciando o experimento
  1. Acesse a interface de gerência (console) do roteador R1 ou R2. O roteador R1 está no rack esquerdo, o roteador R3 está no rack central, e R2 está no rack direito. Para acessar a console, faça o seguinte:
    1. Conecte um cabo serial cross na interface serial RS-232 do seu computador. Conecte esse cabo também na interface console do roteador, que fica no painel traseiro. Como os roteadores estão distantes das bancadas, será necessário usar as tomadas azuis, que conectam as bancadas aos racks.
    2. Execute o programa minicom, que abre um terminal de texto via porta serial. Ele deve ser configurado para se comunicar pela porta serial /dev/ttyS0, com 57600 bps, 8 bits de dados e 1 stop-bit (isso aparece descrito assim: 57600 8N1).
      sudo minicom -s
      
    3. Se o minicom estiver correto, você deverá ver a interface CLI do roteador (Command Line Interface). Caso contrário, confira se o cabo serial está bem encaixado, e se os parâmetros do minicom estão certos.
  2. O login e senha para acessar a configuração dos routers é "nr2g" e "digitel" respectivamente. Ao entrar na CLI avalie a configuração dos routers com o comando DUMP ALL;
  3. Voce pode acessar qualquer router usando a facilidade do protocolo telnet. Para tanto, dentro da CLI do router aplique o comando EXEC TELNET [IP da WAN ou LAN]. Voce também podem acessa-los por qualquer computador das redes direita ou esquerda, desde que esses estejam na mesma subrede das interfaces LAN dos routers. Uma vez estando na CLI de um dos routers, voce pode acessar os demais com Telnet;
  4. Agora vamos analisar a conectividade de todas as subredes, incluindo o acesso à internet. Após isso vamos fazer uma avaliação sobre o desempenho dessa conectividade comparando os links com PPP e HDLC entre os roteadores.
  5. Veja se o status das interfaces e protocolos da WAN e LAN de todos os routers estão em UP. Anote e avalie a configuração de todos os routers e os PCs das duas LANs direita e esquerda. Abaixo segue alguns comandos úteis para auxiliar na configuração das LANs. Os comandos são necessaŕios para que um computador possa se comunicar com qualquer outro computador da outra rede, e também acessar a Internet. Para isso, use os comandos nos PCs como:
    • sudo ifconfg eth0 x.x.x.x netmask m.m.m.m up - para atribuir outro endereço na placa de rede
    • sudo route add default gw x.x.x.x - para atribuir um novo gateway para a placa de rede
    • sudo route add -net x.x.x.x netmask m.m.m.m eth0 - para associar uma nova rede a interface eth0
    • route -n - para ver a tabela atual de roteamento
  6. Para o PC do professor também é necessário ajustar a taela de roteamento para que todos tenham acesso à internet:
      $ sudo route add -net 192.168.10.0 netmask 255.255.255.0 eth0 
      $ sudo route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.231
      $ sudo route add -net 192.168.20.0 netmask 255.255.255.0 eth0
      $ sudo route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.1.231
    
  1. Para os PCs das subredes direita e esquerda
      $ sudo ifconfg eth0 192.168.x.y netmask 255.255.255.0 up  onde x={10,20}; y={1,2,3,4}
      $ sudo route add default gw 192.168.x.254 onde x={10,20}
    
  2. Verificar e anotar todas as configurações e instalações dos componentes de redes, modens, cabos, adaptadores, manobras dos cabos, etc...
  3. Verificar e anotar todas as configurações lógicas dos modens, routers e PCs.
  4. Acessar as redes mutuamente qualquer computador de um subrede deve acessar qualquer outro da outra subrede;
  5. Acessar a internet em todos os PCs;
  6. Teste a vazão pelos enlaces ponto-a-ponto SOMENTE COM UM ÚNICO PC. Em algum computador da subrede esquerda ou direita execute:
     netperf -f k -H 192.168.1.1
    
  7. Teste o delay médio da comunicação usando PING aplicado em algum PC da outra subrede.
  8. Teste a vazão pelos enlaces ponto-a-ponto SOMENTE COM TODOS OS PCs SIMULTANEAMENTE (solicite ao professor para sincronizar o teste de todos). Em todos os computadores das subredes esquerda e direita execute:
     netperf -f k -H 192.168.1.1
    
  9. Realize pelo menos três medidas para cada teste e use a média desses valores como resultado final;
  10. Excute o netperf entre computadores da mesma subrede, anote os valores e compare com as medidas anteriores.
  11. Agora troque o protocolo HDLC dos enlaces por PPPS (protocolo PPP Síncrono). Faça isso primeiramente no router R3 (central) pois será perdido enlace com ele quando mudar o protocolo. Como exemplo, para trocar a configuração na interface WAN0 execute o comando SET WAN WAN0 PROTO PPPS IP 10.1.1.5 MASK 255.255.255.252 PEER 10.1.1.6 UP. Faça o mesmo para a WAN1 do router central e WAN0s dos routers esquerdo e direito. Não esqueça de aplicar o comando CONFIG SAVE para salvar a configuração atual. Observe o estado dos leds que indicam a presença de dados protocolados entre routers, tanto no frontal dos modens quanto no frontal dos routers. Eles ficaram apagados por um tempo mas devem retornar a acender depois de uns dois ou tres minutos. O led ST no frontal dos routers deve ficar na cor laranja indicando a queda dos links e depois de um tempo devem retornar a cor verde quano tudo estiver ok.
  12. Repita e anote as mesmas medições de vazão anteriores agora com PPPS;
27/08 - Comunicação Serial

27/08 - Comunicação Serial

Resumo da aula:

  • Finalização de Mecanismos de detecção de erros: CRC;
  • Slides sobre Interfaces Digitais
  • A turma segue fazendo uma atividade sobre Interfaces Digitais a partir das 14:30Hs em função da participação do professor em banca de TCC.
02/09 - Comunicação Serial usando PPP e link ruidoso

02/09 - Comunicação Serial usando PPP e link ruidoso

Atividade em Laboratório: Enlaces PPP com Netkit

Ppp-exp1.png
Rede do experimento


Esse experimento será feito usando o Netkit. Três roteadores estarão interligados por enlaces PPP. A interface mostrada no Netkit para os roteadores é muito parecida com a CLI de roteadores Cisco reais (graças ao software Quagga, que é usado em máquinas virtuais do Netkit que agem como roteadores). No entanto, as interfaces seriais de enlaces ponto-a-ponto no Quagga são identificadas pelos nomes ppp0, ppp1 e assim por diante (ao contrário de Serial 0 e Serial 1 usados no Cisco). Abaixo segue a configuração do Netkit que reproduz o experimento:

Configuração do experimento para o Netkit
# Os três roteadores
r1[type]=router
r2[type]=router
r3[type]=router
 
# O computador que fica na subrede da esquerda
pc1[type]=generic
 
# O computador que fica na subrede da direita
pc2[type]=generic
 
# Um computador que representa a Internet
internet[type]=generic
 
# Os enlaces ponto-a-ponto entre os roteadores
r1[ppp0]=linkEsquerdo:ip=10.1.1.1/30
r1[ppp1]=linkDireito:ip=10.1.1.5/30
r2[ppp0]=linkEsquerdo:ip=10.1.1.2/30
r3[ppp0]=linkDireito:ip=10.1.1.6/30
 
# a subrede do laboratório, que representa a Internet
r1[eth0]=lanExterna:ip=192.168.1.231/24
internet[eth0]=lanExterna:ip=192.168.1.1/24
 
# A subrede do lado esquerdo
r2[eth0]=lanEsquerda:ip=192.168.20.1/24
pc1[eth0]=lanEsquerda:ip=192.168.20.2/24
 
# A subrede do lado direito
r3[eth0]=lanDireita:ip=192.168.10.1/24
pc2[eth0]=lanDireita:ip=192.168.10.2/24
 
# As rotas default e estáticas...
pc1[default_gateway]=192.168.20.1
pc2[default_gateway]=192.168.10.1
internet[default_gateway]=192.168.1.231
r1[default_gateway]=192.168.1.1
r2[route]=default:dev=ppp0
r3[route]=default:dev=ppp0
r1[route]=192.168.20.0/24:dev=ppp0
r1[route]=192.168.10.0/24:dev=ppp1
internet[route]=192.168.10.0/24:gateway=192.168.1.231
internet[route]=192.168.20.0/24:gateway=192.168.1.231

Com base nessa rede, as seguintes atividades serão realizadas:

  1. Observe as informações sobre as interfaces PPP nos roteadores, e compare com o que é mostrado para interfaces ethernet. No roteador r1 execute:
    # show interface ppp0
    
    ... ou ...
    # start-shell
    sh-3.2# ifconfig ppp0
    sh-3.2# ifconfig eth0
    
  2. Teste a comunicação pelos enlaces PPP. Por exemplo, no roteador r1 pode ser feito o seguinte:
    # ping 10.1.1.2
    # ping 10.1.1.6
    
  3. Compare o encapsulamento de datagramas IP na rede ethernet e no enlace PPP. Para isso use o wireshark, executando-o para a interface eth0 do roteador r1 e também para a interface ppp0. Para haver datagramas passando pelo roteador, deixe um ping em execução entre os computadores pc1 e internet.
  4. Encerre o ping do pc1 e a monitoração do wireshark e agora vamos simular um erro de transmissão pelo enlace PPP da seguinte forma:
    1. Na máquina real faça o download dos arquivos que contêm quadros PPP especialmente criados para esse experimento. Descompacte esse arquivo dentro de lab/shared.
    2. Nos roteadores r1 e r2 execute o comando start-shell. Com esse comando se obtém acesso ao shell, visto que nos roteadores a interface é inicialmente fornecida por um software especial chamado Quagga.
    3. Note que existe um enlace PPP entre os roteadores virtuais. No roteador r1 deixe o wireshark monitorando a interface ppp0 (ou o tcpdump através do comando abaixo):
      sh-3.2# tcpdump -i ppp0 -ln
      
    4. No roteador r2 será feita a injeção de quadros PPP no enlace. A ideia é transmitir quadros corretos e em seguida quadros com erros (i.e. com bits propositalmente modificados), e observar como o PPP no roteador r1 através da interface ppp0 trata esses quadros.
    5. Injete o quadro correto em r2, observando o que mostra o wireshark em r1:
      sh-3.2# cd /hostlab/shared
      sh-3.2# cat quadro.ok > /dev/ttyS0
      
    6. Agora injete o quadro com erros e veja o que acontece:
      sh-3.2# cat quadro.erro > /dev/ttyS0
      
    7. O que se pode concluir quanto à recepção pelo PPP de quadros com erros de transmissão?
  5. Como o PPP se comporta em um circuito sujeito a erros de transmissão? Isso pode ser simulado no Netkit, bastando especificar a taxa de erro de bits (BER - Bit Error Rate) do enlace serial. Assim, mude o link entre os roteadores r1 e r2 para que fique da seguinte forma (i.e. com BER=):
    r1[ppp0]=linkEsquerdo:ip=10.1.1.1/30:debug=1:ber=0.00001
    r2[ppp0]=linkEsquerdo:ip=10.1.1.2/30:debug=1:ber=0.00001
    
    ... Reinicie a rede. Agora vamos simular um download através desse enlace que está com uma taxa de erros pré-configurada. Isso pode ser feito assim:
    1. Copie este arquivo para dentro da pasta lab/shared.
    2. No pc internet, execute o seguinte:
      # cd /hostlab/shared
      # nc -l -p 8080 < demo.asis
      
    3. Em pc1 execute:
      # wget http://192.168.1.1:8080/demo.asis
      
      ... e observe a taxa de transmissão obtida.
    4. Repita o comando no pc internet para fazer um novo teste, agora sem erros pelo outro link com o pc2:
      # cd /hostlab/shared
      # nc -l -p 8080 < demo.asis
      
    5. Em pc2 execute:
      # wget http://192.168.1.1:8080/demo.asis
      
      ... e observe a taxa de transmissão obtida. O que você notou quanto a taxa de bits pelo link?
03/09 - Interfaces Digitais

03/09 - Interfaces Digitais

Resumo da aula:

09/09 - Laboratório de Modens Digitais

09/09 - Laboratório de Modens Digitais

Resumo da aula:

  • Conclusão da atividade em Laboratório da aula prevista em 02/09: Enlaces PPP com Netkit e link ruidoso.


10/09 - Tecnologia de Modens

10/09 - Tecnologia de Modens

16/09 - Laboratório de Modens e Interfaces Digitais

16/09 - Laboratório de Modens e Interfaces Digitais

  • Uma breve explicação sobre a arquitetura interna de modens analógicos e digitais ;
  • Identificar tipos de modens e sinalizações frontais;
  • Configurar modens e identificar suas interfaces digitais;
  • Testar enlaces de modens com Test-set.


17/09 - Tecnologia de Modens

17/09 - Tecnologia de Modens

23/09 - Características Especiais e Configurações de Modens

23/09 - Características Especiais e Configurações de Modens

  • Correção da avaliação A1;
  • Finalização dos slides sobre Tecnologias de Modens
  • Prática com Modens Digitais:
Configurações e testes em bancada de enlaces de 64Kbps à 2Mbps com IDs V.35 e G703 com modens codirecionais e SHDSL;
Influência da configuração de clock de sincronismo no enlace ponto a ponto.

Questões sobre a prática de Interfaces Digitais e Tecnologias de Modens (Fazem parte da Lista 2):

ATENÇÃO A questão 1 é obrigatória e será considera a AE1 prevista nas avaliações.

AE1 - Setup de teste para modem analógico em linha discada.

  1. Considere a disponibilidade de dois computadores com o aplicativo MINICOM e um PABX analógico com dois ramais para que voce possa realizar a simulação de uma conexão de dados usando modens analógicos para linha Discada. Escolha um modem de qualquer fabricante e consulte seu manual. Os modens devem operar na máxima velocidade prevista na norma V.34 na Interface Analógica e na velocidade de 115,2Kbps na Interface Digital (com padrão RS232 assíncrono 8N1). Considere uma conexão com reposta automática entre os dois ramais. Desenvolva as seguintes tarefas:
    1. Faça um diagrama do setup de testes e destaque as conexões físicas envolvidas e configurações necessárias para cada modem;
    2. Explique brevemente o porquê das configurações propostas especialmente no que se refere as facilidades especiais ativadas para esta situação.
    3. Faça um breve guia que oriente os passos básicos para estabelecer com sucesso a comunicação de dados entre os DTEs. O sucesso nesse caso significa trocar informações de texto sem erros entre os terminais burro.
    4. Como é possível a ID operar com velocidade diferente da IA (Interface Analógica)?


  1. Em que situações os modens analógicos são melhor indicados no lugar de modens digitais em Linhas Privativas? Explique!
  2. Qual limitação é observada na configuração de modens digitais quando esses são configurados para operar em velocidades maiores?
  3. Quais soluções de tecnologias de modens são possíveis de serem adotadas em aplicações que exigem taxas de ID elevadas. Qual é o limite dessas taxas para uso em LPs?
  4. Explique porque é necessário usar adaptadores nas interfaces digitais para se concluir uma instalação física entre IDs de DCE e DTE. O que há "dentro" desses adaptadores?

Complemento da Lista 2 de exercícios:

Atividade para pesquisar em casa

Vamos criar uma tabela com informações resumidas sobre os códigos de linha/modulações usados em diversas tecnologias. Devemos descobrir a técnica de modulação ou codificação, as taxas de bit suportadas, frequências de portadoras, níveis de sinal (amplitude), alcance de transmissão e tipo de meio de transmissão suportados. Além disso, deve-se identificar a aplicação de cada uma dessas tecnologias.

Alguns tópicos de pesquisa:

  • Interface digital V.35
  • Interface digital RS-232
  • PHY Ethernet 10 Mbps, 100 Mbps, 1 Gbps e 10 Gbps
  • Modems SHDSL
  • Modems aDSL
  • Modems VDSL
  • PLC (Power Line Communication)
  • CATV (links de dados via TV a cabo)
  • Modems V.92 (acesso discado)

Obs: veja os modems de alguns fabricantes:


Tecnologia Modulação/Codificação Taxa de bits Alcance (m) Meio físico Interface Digital Aplicação
CATV (Docsis 3.0)
SHDSL/SHDSL.bis
HDSL
ADSL2+
PLC/BPL
V.92
24/09 - Aplicações dos Modens Analógicos e Digitais

24/09 - Aplicações dos Modens Analógicos e Digitais

  • Finalização do conteúdo sobre Modens Analógicos e Digitais;
  • Liberada a LISTA2 - ATENÇÃO: fazer os exercícios complementares da aula anterior bem como a tarefa para casa!
30/09 - Aplicações dos Modens Analógicos e Digitais

30/09 - Aplicações dos Modens Analógicos e Digitais

  • Finalização da prática sobre Modens Analógicos e Digitais;
07/10 - Aula de exercícios - Preparação para a avaliação A2

07/10 - Aula de exercícios - Preparação para a avaliação A2

08/10 - Redes Locais - Princípios

08/10 - Redes Locais - Princípios

  • Avaliação A2 - na segunda hora-aula.

Conceituação sobre Redes Locais (LAN)

Características e pontos-chaves

Obs: obtido de STALLINGS, 2005:

  • Uma LAN consiste de um meio de transmissão compartilhado e um conjunto de hardware e software para servir de interface entre dispositivos e o meio de transmissão, além de regular o acesso ao meio de forma ordenada.
  • As topologias usadas em LANs são anel (ring), barramento (bus), árvore (tree) e estrela (star). Uma LAN em anel consiste de um laço fechado formado por repetidores que possibilitam que dados circulem ao redor do anel. Um repetidor pode funcionar também como um ponto de acesso de um dispositivo. Transmissão geralmente se dá na forma de quadros (frames). As topologias barramento e árvore são segmentos de cabos passivos a que os dispositivos são acoplados. A transmissão de um quadro por um dispositivo (chamado de estação) pode ser escutada por qualquer outra estação. Uma LAN em estrela inclui um nó central onde as estações são acopladas.
  • Um conjunto de padrões definido para LANs especifica uma faixa de taxas de dados e abrange uma variedade de topologias e meios de transmissão.
  • Na maioria dos casos, uma organização possui múltiplas LANs que precisam ser interconectadas. A abordagem mais simples para esse problema se vale de equipamentos chamados de pontes (bridges). Os conhecidos switches Ethernet são exemplos de pontes.
  • Switches formam os blocos de montagem básicos da maioria das LANs (não muito tempo atrás hubs também eram usados).

Algumas tecnologias

  • Ethernet (IEEE 802.3): largamente utilizada hoje em dia, na prática domina amplamente o cenário de redes locais.
  • Token Ring (IEEE 802.5): foi usada nos anos 80 e início dos anos 90, mas está em desuso ... muito difícil de encontrar uma rede local deste tipo hoje em dia.
  • Myrinet: criada especificamente para interligar servidores de alta capacidade de processamento em clusters. Atualmente pouco usada, pois redes ethernet as substituíram em clusters e data centers.
  • Infiniband: especificamente criada para interligar equipamentos para fins de computação de alto-desempenho. Mantém-se na ativa nesse nicho específico.

Topologias

Uma topologia de rede diz respeito a como os equipamentos estão interligados. No caso da rede local, a topologia tem forte influência sobre seu funcionamento e sobre a tecnologia adotada. Dependendo de como se desenha a rede, diferentes mecanismos de comunicação são necessários (em particular o que se chama de acesso ao meio). A eficiência da rede (aproveitamento da capacidade de canal, vazão) e sua escalabilidade (quantidade de computadores e equipamentos que podem se comunicar com qualidade aceitável) também possuem relação com a topologia. A tabela abaixo exemplifica topologias conhecidas de redes locais.

Topologia Exemplo Tecnologias
Estrela Lan-Star.png Ethernet (IEEE 802.3) com hubs e switches
Anel
(em desuso)
Lan-Ring.png Token-ring (IEEE 802.5), FDDI
Barramento
(em desuso)
Lan-Bus.png Ethernet (IEEE 802.3)
Árvore Lan-Tree.png Ethernet (IEEE 802.3) com hubs e switches
Árvore-gorda (Fat-tree) Lan-Fat-tree.png Ethernet (IEEE 802.3) com hubs e switches

Exemplos de uso de redes locais

Exemplos de redes locais são fáceis de apresentar. Praticamente toda rede que interconecta computadores de usuários é uma rede local - mesmo no caso de redes sem-fio, um caso especial a ser estudado mais a frente. A rede do laboratório de Redes 1, onde temos nossas aulas, é uma rede local. Os demais computadores da escola formam outra rede local. Quando em casa se instala um roteador ADSL e se conectam a ele um ou mais computadores, cria-se também uma rede local. Portanto, redes locais são extremamente comuns e largamente utilizadas. Ainda assim, cabem alguns outros exemplos de possíveis redes locais, mostrados abaixo:


Lan2-2011-1.png
Uma LAN típica com um link para Internet


Cisco-datacenter.jpg
Uma LAN que integra servidores em um datacenter

14/10 - Desempenho de Redes Locais

14/10 - Desempenho de Redes Locais

Objetivos

  • Conhecer os equipamentos típicos de uma rede local Ethernet
  • Estimar o desempenho de uma LAN Ethernet comutada (com switch)

Introdução

Redes locais Ethernet (padrão IEEE 802.3 e extensões) são compostas de equipamentos que se comunicam, denominados estações (STA na norma IEEE 802.3), de equipamentos que os interligam (hubs e switches), e do meio de transmissão. A figura abaixo ilustra uma rede local hipotética com seus vários componentes.

Lab1-lan-demo.png


De forma geral, uma estação possui um ou mais adaptadores de rede (placas de rede, ou NIC – Network Interface Card), como na figura abaixo à esquerda. Os adaptadores de rede das estações são conectados a um switch por meio de cabos de rede TP (par trançado) com conectores RJ-45, mostrado na figura abaixo à direita.


Lab1-nic-switch.png


Originalmente LANs Ethernet foram construídas usando um cabo único para interligar as estações (cabo coaxial). Posteriormente surgiram as redes baseadas em hubs, equipamentos que interligavam as estações em nível da camada física (funcionavam como repetidores). Atualmente essas redes são construídas usando switches, equipamentos que interligam as estacões em nível da camada de enlace (na verdade, da subcamada MAC). Um switch apresenta como benefícios, se comparado com hubs:

  1. atuação em nível de MAC: o switch faz o acesso ao meio com CSMA/CD ao encaminhar um quadro, quebrando o domínio de colisão; além disto, um switch pode operar em modo full-duplex, quando então inexiste a possibilidade de colisão.
  2. preservação da capacidade do canal: para quadros unicast, o switch encaminha um quadro somente pela porta onde reside o destinatário.

Essas características importantes devem fazer com que uma LAN com switches tenha um desempenho superior a uma LAN com hubs. Por desempenho entenda-se um número menor de colisões sob tráfego intenso (ou mesmo ausência total de colisões), e maior capacidade de canal vista por cada equipamento conectado ao switch.

Utilização do meio de transmissão em uma rede local com MAC do tipo CSMA/CD

Nesta seção mostra-se como estimar o desempenho do CSMA/CD por meio de experimentos para medir a utilização máxima do meio. Esses experimentos podem ser feitos usando uma rede real, com computadores interligados por hubs, ou com um simulador. Em ambos os casos deve-se fazer com que vários computadores gerem tráfego intenso na rede, e calcular ao final a utilização do meio da seguinte forma:

O total de quadros recebidos pode ser obtido em qualquer um dos computadores.

Experiência com uma rede real

Para fazer com uma rede real:

Resultados:

64 53046660
128 61992856
256 67413192
512 70684436
756 71989464
1024 77967480
1500 73797088

Com esses dados deve-se plotar um gráfico da quantidade de bytes recebidos X tamanho dos quadros. Na tabela acima, os tamanhos de quadros estão na 1a coluna, e a quantidade de bytes recebidos está na 2a coluna.

Csma-cd.png


Desempenho do MAC CSMA/CD (Carrier Sense Multiple Access/Collision Detection): o gráfico acima mostra o resultado de um experimento feito em laboratório com 6 computadores transmitindo quadros intensamente e simultaneamente para um único computador. A cada transmissão simultânea variou-se o tamanho dos quadros transmitidos (mostrado no eixo X), e anotou-se quantos bytes foram recebidos no computador receptor (eixo Y). Os computadores foram interligados por um hub.

Experiência com uma rede simulada

Para fazer a experiência pode-se usar também o simulador Omnet++ (veja em: Instale o Omnet++ 4)

O gráfico abaixo foi obtido com uma simulação via Omnet++:

Csma-perf-sim.png

As simulações tiveram os seguintes parâmetros:

  • Quadros de 256, 512 e 1480 bytes
  • 2 a 45 estações
  • Geração de tráfego por estação com intervalos entre quadros dados por uma distribuição exponencial com média 15*tamanho_quadro_em_bits*0.11us (0.11us é o tempo aproximado de um bit)
Análise de desempenho do CSMA/CD

Uma análise feita no capítulo 4 do livro "Redes de Computadores, 4a ed." de Andrew Tanenbaum fornece a seguinte previsão aproximada de desempenho para o CSMA/CD em uma rede Ethernet a 10 Mbps.

  • Utilização do meio:

  • B: taxa de bits nominal
  • L: comprimento do meio de transmissão
  • c: velocidade de propagação do sinal
  • F: comprimento do quadro

Csma-perf.png

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).

Para fins de comparação, veja os resultados obtidos com as redes simuladas anteriormente.

Roteiro

A rede de teste para o experimento será composta de computadores ligados a um switch Ethernet a 100 Mbps em modos half ou full-duplex. Serão sintetizados tráfegos intensos, de forma a poder comparar o desempenho das transmissões nos dois casos.

Lab1.png

  1. Observe a placa de rede de seu computador e sua conexão à rede por meio do cabo TP. Os computadores do laboratório estão conectados ao switch Microtec, que reside no rack central. O número da porta onde está conectado seu computador na bancada corresponde à porta do switch. Desconecte o cabo do seu computador e observe o status da porta correspondente no switch (o status é informado por um led, que aceso significa que há equipamento ativo conectado àquela porta). Questão: como será que o switch sabe que um equipamento foi conectado a uma porta ?
  2. Veja que informações o Linux provê a respeito de seu adaptador Ethernet. Usando os comandos administrativos do Linux, descubra:
    • o modelo do adaptador, e seu endereço MAC: ver comandos lspci e ifconfig.
    • seu modo de operação (velocidade, modo duplex, se o enlace está ativo): ver comando ethtool
    • suas estatísticas de operação (quadros transmitidos e recebidos, colisões e erros em geral): ver comandos netstat e ifconfig.
      Após obter essas informações, experimente desconectar o cabo da placa de rede e repetir a execução dos comandos.
  3. Anote os valores dos contadores de quadros e bytes recebidos e enviados pela interface ethernet em seu computador. Use o comando ifconfig para visualizar esses contadores. Anote também o horário em que se fez essa medição.
  4. Os computadores se comunicarão aos pares, usando-se o programa netperf para gerar o tráfego e medir a capacidade do canal:
    netperf -f k -H endereço_IP
    
    (Obs: endereço_IP é o endereço IP computador alvo).
  5. Execute o netperf de forma sincronizada: os computadores devem iniciá-lo simultaneamente. Repita esse procedimento 3 vezes, anotando a taxa de transmissão obtida em cada computador.
  6. Carga de tráfego na rede durante o experimento: anote novamente os valores dos contadores de quadros e bytes recebidos e enviados pela interface ethernet em seu computador. Usando os valores medidos previamente, calcule:
    1. Quantos bytes e quadros foram enviados e recebidos durante o experimento
    2. As taxas médias de transmissão e recepção pela sua interface ethernet
    3. A utilização do seu link ethernet. Obs: a utilização é a razão entre quantos bytes foram enviados, e quantos bytes poderiam ser enviados ininterruptamente durante o experimento. O mesmo vale para os bytes recebidos.
  7. Repita os passos 4 a 6, mas antes configure os computadores para operarem em modo 100baseT half-fuplex:
    sudo ethtool -s eth0 speed 100 duplex half autoneg off
    
    Houve diferença nas taxas de bits obtidas ? Caso sim, qual deve ser a explicação ?
  8. As interfaces de rede dos computadores podem operar a 1000 Mbps (gigabit), mas o switch do laboratório opera a 100 Mbps. Pode-se medir a capacidade de transmissão do computador através dessas interfaces se os computadores forem conectados aos pares. Assim, conecte o cabo da interface de rede de seu computador à interface do computador ao seu lado. Em seguida faça os seguintes experimentos:
    1. Em cada computador deve-se gerar um arquivo de nome “teste”, com 1GB de conteúdo aleatório:
      dd if=/dev/urandom of=teste bs=65536 count=16384
      
    2. O arquivo deve ser transferido de um computador a outro. No computador que irá receber o arquivo execute:
      nc -l 10000 > recebido
      
      .. e no que irá transmitir execute:
      date +%s.%N; nc IP_do_outro_computador 10000 < teste; date +%s.%N
      
    3. No computador transmissor aparecerão dois números, que correspondem aos instantes de início e fim de transmissão. Calcule quanto tempo demorou a transmissão, e em seguida a taxa de bits obtida. Compare essa taxa com a capacidade nominal da interface de rede (1000 Mbps).
    4. Repita duas vezes os passos ii e iii , e anote os valores de taxa de bits obtidos. Houve variação nas medições ?
    5. Repita os passos 2 a 4, porém executando o seguinte comando no receptor:
      nc -l 10000 > /dev/null
      
      Houve diferença nos valores obtidos para a taxa de bits ? Caso afirmativo, qual deve ser explicação ?
15/10 - Atividade Extra: da Colisão à Comutação

15/10 - Atividade Extra: da Colisão à Comutação

O acesso ao meio ethernet com CSMA/CD é probabilístico: uma estação verifica se o meio está está livre antes de iniciar uma transmissão, mas isso não impede que ocorra uma colisão (apenas reduz sua chance). Se acontecer uma colisão, cada estação envolvida usa esperas de duração aleatória para desempate, chamadas de backoff. A ideia é que as estações sorteiem valores de espera diferentes, e assim a que tiver escolhido um valor menor consiga transmitir seu quadro. Veja o fluxograma acima para entender como isso é feito. As colisões e esperas (backoffs) impedem que esse protocolo de acesso ao meio aproveite totalmente a capacidade do meio de transmissão.

No entanto, nas gerações atuais do padrão IEEE 802.3 (Gigabit Ethernet e posteriores) o CSMA/CD não é mais utilizado. Nessas atualizações do padrão, o modo de comunicação é full-duplex (nas versões anteriores, que operavam a 10 e 100 Mbps, há a possibilidade de ser half ou full-duplex). Se as comunicações são full-duplex, então conceitualmente não existem colisões. Isso se deve ao fato de que nessas novas versões cada estação possui uma via exclusiva para transmitir e outra para receber, portanto não existe mais um meio compartilhado.

Atividade em TURMA: Relatório único realizado POR TODA A TURMA que deve ser publicado AE15102014] Prazo: 21/10.

  • Além dos resultados coletados no laboratório da aula do dia 14/10, leia o conteúdo sobre LAN postados aqui e procure em nossa bibliografia ou internet, nos temas correspondentes, respostas e ilustrações sobre as seguintes perguntas:
  1. Como um switch identifica e sinaliza através de um led em seu frontal, que um equipamento foi conectado a uma de suas portas?
  2. Considerando os números médios coletados por TODOS no experimento, quais foram os valores de taxa média de Tx e Rx (em bps) na interface ethernet? e a taxa de utilização do link (em %)?
  3. O que acontece com o desempenho da rede quando as placas de rede são configuradas em modo Half-duplex?
  4. A conexão entre computadores na última parte do experimento, é direta, ou seja, sem switch entre eles. Voces devem ter observado que quando os dados recebidos por um pc não são encaminhados para lugar algum (> /dev/null) o desempenho da transmissão é melhor. Qual a explicação disso? Diante desses resultados, até que ponto vale à pena ter interfaces ethernet com velocidades maiores, como por exemplo 10Gbps?
  5. Porque razão as medidas de vazão (Throughput) nunca alcançaram 100% da taxa configurada na placa de rede?
  6. Em algum momento do experimento houve uso do algorítimo CSMA/CD? onde ocorre a execução dele?
21/10 - Tecnologias de LAN switches

21/10 -Tecnologias de LAN switches

Switches store-and-forward X cut-through

Algumas animações mostrando o funcionamento de switches store-and-forward e cut-through:

Laboratório sobre LANs

Interligando redes locais

Interligação de LANs (norma IEEE802.1D)

22/10 - LANs Virtuais

22/10 - LANs Virtuais

  • Ver slides sobre introdução à VLANs.

A equipe que administra a rede do campus São José estudou uma reestruturação dessa rede. Como diferentes setores e públicos a utilizam, e para diferentes propósitos, concluiu-se que seria apropriado segmentá-la em algumas subredes. Isso possibilitaria facilitar o controle de quem usa a rede, além do policiamento do tráfego. Para isso, a subrede geral do campus precisaria ser segmentada inicialmente em cinco novas subredes, denominadas:

Segmento Descrição Subrede IP
Pedagogica Pontos das salas de aula e laboratórios de informática 172.18.32.0/20
Administrativa Pontos de setores administrativos 172.18.16.0/20
DMZ Servidores acessíveis de fora da escola (ex: Wiki, WWW) 200.135.37.64/26
BD Servidores que hospedam bancos de dados (ex: LDAP, MySQL) 172.18.240.0/24
LAN Demais pontos de rede 172.18.0.0/20


A figura abaixo mostra a estrutura proposta para a rede do campus São José, composta pelas cinco novas subredes e as subredes dos laboratórios de Redes 1 e Redes 2. Como se pode observar, o roteador/firewall Cisco ASA 5510 se torna um nó central da rede, pois interliga todas suas subredes (com exceção dos laboratórios de Redes 1 e Redes 2).


Nova-rede-ifsc-sj.png


Existe mais de uma forma de implantar uma estrutura como essa, as quais serão apresentadas nas próximas subseções.

Segmentação física

A segmentação física é uma solução aparentemente simples e direta. Cada subrede deve ser composta de uma estrutura exclusiva, contendo seus switches e cabeamentos. No entanto, para adotar esse tipo de segmentação, algumas modificações precisarão ser feitas na infraestrutura de rede existente. Observe a estrutura física da rede do campus:

Rede-ifsc-sj.png


O que seria necessário fazer para implantar uma segmentação física ?

Segmentação com VLANs

Se a reestruturação pudesse ser efetuada com mínimas modificações na estrutura física (incluindo cabeamento), a implantação da nova rede seria mais rápida e menos custosa. Para isso ser possível, seria necessário que a infraestrutura de rede existente tivesse a capacidade de agrupar portas de switches, separando-as em segmentos lógicos. Quer dizer, deveria ser possível criar redes locais virtuais, como mostrado na seguinte figura:

Vlans.png

No exemplo acima, três redes locais virtuais (VLAN) foram implantadas nos switches. Cada rede local virtual é composta por um certo número de computadores, que podem estar conectados a diferentes switches. Assim, uma rede local pode ter uma estrutura lógica diferente da estrutura física (a forma como seus computadores estão fisicamente interligados). Uma facilidade como essa funcionaria, de certa forma, como um patch panel virtual, que seria implementado diretamente nos switches.

Redes locais virtuais são técnicas para implantar duas ou mais redes locais com topologias arbitrárias, usando como base uma infraestrutura de rede local física. Isso é semelhante a máquinas virtuais, em que se criam computadores virtuais sobre um computador real.


Padrão IEEE 802.1q

Os primeiros switches com suporte a VLANs as implementavam de forma legada (i.e. não seguiam um padrão da indústria). Isso impedia que houvesse interoperabilidade entre equipamentos de diferentes fabricantes. Logo a IEEE formou um grupo de trabalho para propor mecanismos padronizados para implantar VLANs, dando origem ao padrão IEEE 802.1q. Os fabricantes de equipamentos de rede o adataram largamente, suplantando outras tecnologias legadas (ex: ISL e VTP da Cisco). Com isso, VLANs IEEE 802.1q podem ser criadas usando switches de fabricantes diferentes.

Atualmente, a implantação de VLANs depende de switches com suporte ao padrão IEEE 802.1q. Assim, verifique quais dos switches do laboratório possuem suporte a VLAN:

Uma VLAN é identificada por um número, chamado VID (VLAN Identifier), sendo que a VLAN com VID 1 é considerada a VLAN default (configuração de fábrica). Em um switch com suporte a VLAN IEEE 802.1q, cada porta possui um (ou mais ...) VID, o que define a que VLAN pertence. Assim, para criar uma VLAN, devem-se modificar os VID das portas de switches que dela farão parte.

Além do VID, a configuração da porta de um switch deve especificar o modo de operação da VLAN:

  • tagged: cada quadro transmitido ou recebido por essa porta deve conter o número da VLAN a que pertence. Esse modo é usado normalmente em portas que interligam switches.
  • untagged: quadros que entram e saem pela porta não possuem informação sobre a VLAN a que pertencem. Usado normalmente para conectar computadores e servidores a switches.


Esses modos tagged e untagged implicam haver uma forma de um quadro Ethernet informar a que VLAN pertence. Isso é usado para restringir a propagação de quadros, fazendo com que sejam recebidos e transmitidos somente por portas de switches que fazem parte de suas VLANs.


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 abaixo, compõe-se de 4 bytes situados entre os campos de endereço de origem e Type. O identificador de VLAN (VID) ocupa 12 bits, o que possibilita portanto 4096 diferentes VLANs.


Quadro-8021q.png
Quadro ethernet com a TAG IEEE 802.1q


A tag de VLAN, inserida em quadros Ethernet, está diretamente relacionada com os modos tagged e untagged de portas de switches. Portas em modo tagged transmitem e recebem quadros que possuem tag, e portas em modo untagged recebem e transmitem quadros que não possuem tag. Isso foi pensado para tornar a implantação de VLANs transparente para os usuários finais, pois seus computadores não precisarão saber que existem VLANs (i.e. não precisarão interpretar tags). Por isso equipamentos que não interpretam tags são denominados VLAN-unaware (desconhecem VLAN), e equipamentos que recebem e transmitem quadros com tag são referidos como VLAN-aware (conhecem VLAN).


Exemplo: simulador de switch com VLAN:
Esta animação possibilita simular a configuração de VLANs em um switch, e efetuar testes de transmissão. Experimente criar diferentes VLANs e observar o efeito em transmissões unicast e broadcast (clique na figura para acessar o simulador).

Um simulador de VLANs


29/10 - Redes locais e VLANs

29/10 - Redes locais e VLANs

Exemplo: a configuração do Netkit mostrada abaixo cria uma pequena rede composta por um switch e quatro computadores. Além disso, foram definidas duas VLANs (VLAN 5 e VLAN 10). Com isso, os computadores pc1 e pc4 pertencem a VLAN 5, e os computadores pc2 e pc3 estão na VLAN 10. Execute a rede abaixo e teste a comunicação entre os computadores - quais computadores conseguem se comunicar ?.

sw[type]=switch
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic

# As portas do switch
sw[eth0]=port0:vlan_untagged=5
sw[eth1]=port1:vlan_untagged=10
sw[eth2]=port2:vlan_untagged=10
sw[eth3]=port3:vlan_untagged=5

# Ligando os computadores ao switch
pc1[eth0]=port0:ip=192.168.0.1/24
pc2[eth0]=port1:ip=192.168.0.2/24
pc3[eth0]=port2:ip=192.168.0.3/24
pc4[eth0]=port3:ip=192.168.0.4/24
Vlans-ex1.png

Por exemplo, em uma pequena rede com duas VLANs as portas dos switches podem estar configuradas da seguinte forma:


Bridge3.png
switch1[type]=switch
switch2[type]=switch
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=gateway
pc5[type]=generic
pc6[type]=generic

pc1[default_gateway]=192.168.0.4
pc2[default_gateway]=192.168.0.4
pc3[default_gateway]=192.168.1.4
pc5[default_gateway]=192.168.1.4
pc6[default_gateway]=192.168.0.4

switch1[eth0]=sw1-port0:vlan_untagged=5
switch1[eth1]=sw1-port1:vlan_untagged=5
switch1[eth2]=sw1-port2:vlan_untagged=10
switch1[eth3]=link-sw1-sw2:vlan_tagged=5,10

switch2[eth0]=sw2-port0:vlan_tagged=5,10
switch2[eth1]=sw2-port1:vlan_untagged=10
switch2[eth2]=sw2-port2:vlan_untagged=5
switch2[eth3]=link-sw1-sw2:vlan_tagged=5,10

pc1[eth0]=sw1-port0:ip=192.168.0.1/24
pc2[eth0]=sw1-port1:ip=192.168.0.2/24
pc3[eth0]=sw1-port2:ip=192.168.1.3/24
pc4[eth0]=sw2-port0:vlan_tagged=(5,ip=192.168.0.4/24),(10,ip=192.168.1.4/24)
pc5[eth0]=sw2-port1:ip=192.168.1.5/24
pc6[eth0]=sw2-port2:ip=192.168.0.6/24

Exercício: Redesenhe a topologia LÓGICA para essa rede!


Atividade 1

Na figura abaixo, a rede da esquerda está fisicamente implantada em uma pequena empresa. No entanto, uma reestruturação tem como objetivo modificá-la de acordo com o diagrama mostrado à direita. Essa alteração da rede deve ser feita sem adicionar switches ou modificar o cabeamento (tampouco devem-se mudar as conexões de pontos de rede às portas de switches). Faça essa modificação usando o Netkit.

Vlan-ex1.png

  1. Criar a topologia física:
    sw1[type]=switch
    sw2[type]=switch
    pc1[type]=generic
    pc2[type]=generic
    pc3[type]=generic
    pc4[type]=generic
    pc5[type]=generic
    pc6[type]=generic
     
    sw1[eth0]=sw1-port0
    sw1[eth1]=sw1-port1
    sw1[eth2]=sw1-port2
    sw1[eth3]=link-sw1-sw2
     
    sw2[eth0]=sw2-port0
    sw2[eth1]=sw2-port1
    sw2[eth2]=sw2-port2
    sw2[eth3]=link-sw1-sw2
     
    pc1[eth0]=sw1-port0
    pc2[eth0]=sw1-port1
    pc6[eth0]=sw1-port2
    
    pc3[eth0]=sw2-port0
    pc4[eth0]=sw2-port1
    pc5[eth0]=sw2-port2
    
  2. Exercício: Criar a topologia lógica usando VLANs
    ... isso é com vocês!

A nova rede do IFSC-SJ

Desafio: Voltando à segmentação da rede do campus São José, implemente a nova rede usando VLANs!


Ifsc-sj-simples.png Ier-seta.png Nova-rede-ifsc-sj.png

Primeiro isso será realizado usando o Netkit, e em seguida será implantado no laboratório. Para simplificar a rede, vamos assumir que a topologia física está implantada como mostrado na figura acima, à esquerda.

Configuração da rede do IFSC-SJ
# switches
sw-rnp[type]=switch
sw-redes1[type]=switch
sw-redes2[type]=switch
sw-coinf[type]=switch
sw-labdes[type]=switch
 
# gateways
asa5510[type]=gateway
gw-redes1[type]=gateway
gw-redes2[type]=gateway
 
# computadores e servidores
bd[type]=generic
dmz1[type]=generic
dmz2[type]=generic
adm1[type]=generic
adm2[type]=generic
adm3[type]=generic
pedag1[type]=generic
pedag2[type]=generic
pc-redes1[type]=generic
pc-redes2[type]=generic
 
# Portas dos switches
sw-rnp[eth0]=rnp-port0
sw-rnp[eth1]=rnp-port1
sw-rnp[eth2]=rnp-port2
sw-rnp[eth3]=rnp-port3
sw-rnp[eth4]=rnp-port4
sw-rnp[eth5]=rnp-port5
 
sw-redes1[eth0]=redes1-port0
sw-redes1[eth1]=redes1-port1
 
sw-redes2[eth0]=redes2-port0
sw-redes2[eth1]=redes2-port1
 
sw-coinf[eth0]=coinf-port0
sw-coinf[eth1]=coinf-port1
sw-coinf[eth2]=coinf-port2
# Ligações entre switches
sw-coinf[eth3]=rnp-port5
sw-coinf[eth4]=labdes-port3
 
sw-labdes[eth0]=labdes-port0
sw-labdes[eth1]=labdes-port1
sw-labdes[eth2]=labdes-port2
sw-labdes[eth3]=labdes-port3
 
# Ligações dos computadores aos switches
asa5510[eth0]=rnp-port0:ip=172.18.0.254/16
bd[eth0]=rnp-port1:ip=172.18.0.10/16
dmz1[eth0]=rnp-port2:ip=172.18.0.11/16
adm1[eth0]=rnp-port3:ip=dhcp
gw-redes1[eth1]=rnp-port4:ip=172.18.0.100/16
 
pc-redes1[eth0]=redes1-port1:ip=192.168.1.2/24
gw-redes1[eth0]=redes1-port0:ip=192.168.1.1/24
 
pc-redes2[eth0]=redes2-port1:ip=192.168.2.2/24
gw-redes2[eth0]=redes2-port0:ip=192.168.2.1/24
 
dmz2[eth0]=coinf-port0:ip=172.18.0.13/16
adm2[eth0]=coinf-port1:ip=dhcp
pedag1[eth0]=coinf-port2:ip=dhcp
 
adm3[eth0]=labdes-port0:ip=dhcp
pedag2[eth0]=labdes-port1:ip=dhcp
gw-redes2[eth1]=labdes-port2:ip=172.18.0.101/16
 
# ASA 5510 é servidor dhcp da LAN ...
asa5510[dhcp]=eth0:range=172.18.100.1,172.18.100.250:gateway=172.18.0.254
 
# Gateways default dos computadores que usam IP fixo
gw-redes1[default_gateway]=172.18.0.254
gw-redes2[default_gateway]=172.18.0.254
pc-redes1[default_gateway]=192.168.1.1
pc-redes2[default_gateway]=192.168.2.1
bd[default_gateway]=172.18.0.254
dmz1[default_gateway]=172.18.0.254
dmz2[default_gateway]=172.18.0.254


04/11 - Protegendo a rede com Spannig Tree Protocol (STP) - IEEE802.3d

04/11 - Protegendo a rede com Spannig Tree Protocol (STP) - IEEE802.3d

O problema dos ciclos (caminhos fechados) em uma rede local ethernet

Bibliografia associada:

  • Capítulo 15 do livro "Comunicação de Dados e Redes de Computadores, 3a ed.", de Behrouz Forouzan.
  • Capítulo 5 do livro "Redes de computadores e a Internet, Uma abordagem Top-Down. 5a edição, de James Kurose.
  • Capítulo 4 do livro "Redes de Computadores, 4a ed.", de Andrew Tanenbaum.

Outros materiais:

Após implantar a nova rede do IF-SC SJ, a equipe da gerência de rede passou a acompanhar seu uso pela comunidade escolar. E um certo dia um aluno acidentalmente pegou um cabo e ligou em duas tomadas de rede em um laboratório (que está na Subrede Pedagógica). Quer dizer, ele fez algo assim com um dos switches da rede:


Curto-lan.png


A interligação acidental de duas portas de um switch cria um ciclo na rede local (loop). Mas isso pode ser feito também de forma intencional, pois em LANs grandes pode ser desejável ter enlaces redundantes, para evitar que a interrupção de um enlace isole parte da rede. A existência de interligações alternativas portanto é algo que pode ocorrer em uma rede local, seja por acidente ou com a finalidade de conferir algum grau de tolerância a falhas na infraestrutura da rede. Um caso em que uma rede possui um ciclo intencionalmente colocado pode ser visto na LAN abaixo:

LAN-anel-stp.png

Apesar de desejável em algumas situações, uma topologia de rede com caminhos fechados, como visto na figura acima, não pode ser instalada sem alguns cuidados. Uma rede como essa ficaria travada devido a um efeito chamado de tempestade de broadcasts (broadcast storm). Isso acontece porque, ao receber um quadro em broadcast, um switch sempre o retransmite por todas as demais portas. Para que a rede acima funcione como esperado, uma ou mais portas de switches precisarão ser desativadas de forma que o caminho fechado seja removido. Ter que fazer isso manualmente tira o sentido de ter tal configuração para tolerância a falhas (e não impede um "acidente" como aquele descrito no início desta secão), por isso foi criado o protocolo STP (Spanning Tree Protocol, definido na norma IEEE 802.1d) para realizar automaticamente essa tarefa.


Voltando ao problema do loop acidental (ou proposital...) colocado entre portas de um mesmo switch, vamos avaliar o que ocorreria na prática sem um protocolo STP.


Curto-lan.png


Para ver a consequência dessa ação aparentemente inocente, experimente reproduzi-la em uma rede feita com o Netkit:

Stp-ex1.png
pc1[type]=generic
pc2[type]=generic
sw[type]=switch

sw[eth0]=port0
sw[eth1]=port1

pc1[eth0]=port0:ip=192.168.0.1/24
pc2[eth0]=port1:ip=192.168.0.2/24

# ... a barbeiragem do usuário da rede no switch !
sw[eth2]=link-barbeiragem
sw[eth3]=link-barbeiragem


O que ocorreu ao tentar pingar de pc1 para pc2 ?

  • Abra a ferramenta "monitor do sistema" do UBUNTU para constatar a carga de processamento do processador de seu PC e conclua o que está acontecendo.

Agora vamos observar o STP em ação na rede abaixo

LAN-anel-stp.png

  • Configuração para o Netkit:
sw1[type]=switch
sw2[type]=switch
sw3[type]=switch
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic

# Ativação do STP nos switches
sw1[stp]=on
sw2[stp]=on
sw3[stp]=on

sw1[eth0]=sw1-sw2
sw1[eth1]=sw1-port1
sw1[eth2]=sw1-sw3

sw2[eth0]=sw1-sw2
sw2[eth1]=sw2-port1
sw2[eth2]=sw2-sw3

sw3[eth0]=sw1-sw3
sw3[eth1]=sw3-port1
sw3[eth2]=sw2-sw3

pc1[eth0]=sw1-port1:ip=192.168.0.1/24
pc2[eth0]=sw2-port1:ip=192.168.0.2/24
pc3[eth0]=sw3-port1:ip=192.168.0.3/24

Abra o wireshark ou tcpdump em qualquer interface da rede e observe todos os parâmetros do pacote BPDU trocados entre Switches. Neste momento o algorítimo do STP já executou todas as suas etapas e convergiu bloqueando portas para tornar a rede em uma topologia tipo árvore. Os pacotes BPDU irão aparecer periodicamente nessa rede até que exista uma falha ou mudança na topologia física para que exista uma nova etapa do algorítimo STP.

Atividade 1

Vamos realizar um experimento para entender melhor como funciona o STP.


Switches reais usualmente possuem suporte a STP (Spanning Tree Protocol) para possibilitar haver enlaces redundantes em uma rede local. No Netkit podem-se criar redes em que se usa o STP, que deve ser ativado no switches.


Para criar essa rede no Netkit pode-se usar a seguinte configuração:

sw1[type]=switch
sw2[type]=switch
sw3[type]=switch
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
 
# Ativação do STP nos switches
sw1[stp]=on:bridge_priority=1024
sw2[stp]=on:bridge_priority=128
sw3[stp]=on:bridge_priority=500

sw1[eth0]=sw1-sw2
sw1[eth1]=sw1-port1
sw1[eth2]=sw1-sw3
 
sw2[eth0]=sw1-sw2
sw2[eth1]=sw2-port1
sw2[eth2]=sw2-sw3
 
sw3[eth0]=sw1-sw3
sw3[eth1]=sw3-port1
sw3[eth2]=sw2-sw3
 
pc1[eth0]=sw1-port1:ip=192.168.0.1/24
pc2[eth0]=sw2-port1:ip=192.168.0.2/24
pc3[eth0]=sw3-port1:ip=192.168.0.3/24

A configuração do STP se faz pelo atributo especial stp a ser especificado para cada switch. A opção on ativa o STP, e bridge_priority define a prioridade do switch no escopo do STP.

Como os switches podem ser configurados com múltiplas vlans, o STP deve ser ativado apropriadamente. Isso significa que cada vlan deve ter o STP rodando de forma independente. A configuração do Netkit para especificar o STP para cada vlan segue abaixo:

sw1[type]=switch

# Ativação do STP nos switches
sw1[stp]=on:bridge_priority=1024:vlan=5
sw1[stp]=on:bridge_priority=512:vlan=10

Nesse exemplo, o switch sw1 tem o STP ativado na vlans 5 e 10. Os parâmetros do STP inclusive podem ser diferentes em cada vlan, já que ele opera em cada uma de forma independente (i.e. o STP em uma vlan não interfere com o STP em outra vlan). Vlans em que o stp não foi explicitamente ativado usarão a configuração default do stp, a qual é definida omitindo-se informação sobre vlan:

# Configuração default do STP em um switch ... vale para todas as vlans em que 
# o stp não foi configurado individualmente.
sw1[stp]=on

# A configuração default pode conter quaisquer opções do stp, menos vlan:
sw2[stp]=on:bridge_priority=2000

Um último detalhe sobre o STP diz respeito ao custo e prioridade de cada porta do switch. No STP usado em switches reais, o custo de uma porta é dado pela sua velocidade. Assim, portas mais velozes têm custo menor que portas mais lentas, como por exemplo portas 1 Gbps comparadas a 100 Mbps. No Netkit não existe essa diferenciação entre as interfaces ethernet por serem emuladas, mas pode-se especificar manualmente o custo de cada interface a ser usado pelo STP. A configuração necessária deve ser colocada em cada porta da seguinte forma:

sw1[type]=switch

# Ativação do STP nos switches
sw1[stp]=on:bridge_priority=1024

sw1[eth0]=port0:stp_cost=10
sw1[eth1]=port1:stp_cost=100

Assim, nesse exemplo a interface eth0 do switch sw1 tem custo STP 10, e a interface eth1 tem custo 100. Os custos de interfaces de acordo com a norma IEEE 802.1d pode ser visto na seguinte tabela:

Stp-custos.png


A lista completa de opções que podem ser usadas na configuração do STP no Netkit segue abaixo:

# STP no switch:
# bridge_priority: prioridade do switch no STP
# hello_time: intervalo entre envios de BPDU
# max_age: tempo máximo que o STP pode ficar sem receber uma atualização de BPDU de outro switch
# forward_delay: atraso para enviar uma BPDU notificando uma mudança de configuração do STP
# on: ativa o STP
# off: inicia com STP desativado

sw1[stp]=on:vlan=10:bridge_priority=100:hello_time=2:max_age=10:forward_delay=1

# Porta do switch: pode ter as opções stp_cost (custo da porta) e stp_prio (prioridade da porta)
sw1[eth0]=port0:stp_cost=10:stp_prio=1
  • Faça o exercício proposto pelo professor envolvendo agora, VLANs e o STP na mesma rede.


Exercício Desafio: Acrescentando enlaces redundantes na rede da escola.

  1. Voltando à segmentação da rede do campus São José, Acrescente alguns enlaces para conferir um grau de tolerância a falhas.
  2. Dada a dimensão da rede, isso será realizado usando o Netkit. Sendo assim, implante a rede acima e ative o STP para tratar os caminhos fechados. Em seguida, experimente modificar alguns links para verificar se a rede continua funcionando.
Modelo da rede do IFSC-SJ para o Netkit
# switches
sw-rnp[type]=switch
sw-redes1[type]=switch
sw-redes2[type]=switch
sw-coinf[type]=switch
sw-labdes[type]=switch
 
# gateways
asa5510[type]=gateway
gw-redes1[type]=gateway
gw-redes2[type]=gateway
 
# computadores e servidores
bd[type]=generic
dmz1[type]=generic
dmz2[type]=generic
adm1[type]=generic
adm2[type]=generic
adm3[type]=generic
pedag1[type]=generic
pedag2[type]=generic
pc-redes1[type]=generic
pc-redes2[type]=generic
 
# Portas dos switches
sw-rnp[eth0]=rnp-port0
sw-rnp[eth1]=rnp-port1
sw-rnp[eth2]=rnp-port2
sw-rnp[eth3]=rnp-port3
sw-rnp[eth4]=rnp-port4
sw-rnp[eth5]=rnp-port5
 
sw-redes1[eth0]=redes1-port0
sw-redes1[eth1]=redes1-port1
 
sw-redes2[eth0]=redes2-port0
sw-redes2[eth1]=redes2-port1
 
sw-coinf[eth0]=coinf-port0
sw-coinf[eth1]=coinf-port1
sw-coinf[eth2]=coinf-port2
# Ligações entre switches
sw-coinf[eth3]=rnp-port5
sw-coinf[eth4]=labdes-port3
 
sw-labdes[eth0]=labdes-port0
sw-labdes[eth1]=labdes-port1
sw-labdes[eth2]=labdes-port2
sw-labdes[eth3]=labdes-port3
 
# Ligações dos computadores aos switches
asa5510[eth0]=rnp-port0:ip=172.18.0.254/16
bd[eth0]=rnp-port1:ip=172.18.0.10/16
dmz1[eth0]=rnp-port2:ip=172.18.0.11/16
adm1[eth0]=rnp-port3:ip=dhcp
gw-redes1[eth1]=rnp-port4:ip=172.18.0.100/16
 
pc-redes1[eth0]=redes1-port1:ip=192.168.1.2/24
gw-redes1[eth0]=redes1-port0:ip=192.168.1.1/24
 
pc-redes2[eth0]=redes2-port1:ip=192.168.2.2/24
gw-redes2[eth0]=redes2-port0:ip=192.168.2.1/24
 
dmz2[eth0]=coinf-port0:ip=172.18.0.13/16
adm2[eth0]=coinf-port1:ip=dhcp
pedag1[eth0]=coinf-port2:ip=dhcp
 
adm3[eth0]=labdes-port0:ip=dhcp
pedag2[eth0]=labdes-port1:ip=dhcp
gw-redes2[eth1]=labdes-port2:ip=172.18.0.101/16
 
# ASA 5510 é servidor dhcp da LAN ...
asa5510[dhcp]=eth0:range=172.18.100.1,172.18.100.250:gateway=172.18.0.254
 
# Gateways default dos computadores que usam IP fixo
gw-redes1[default_gateway]=172.18.0.254
gw-redes2[default_gateway]=172.18.0.254
pc-redes1[default_gateway]=192.168.1.1
pc-redes2[default_gateway]=192.168.2.1
bd[default_gateway]=172.18.0.254
dmz1[default_gateway]=172.18.0.254
dmz2[default_gateway]=172.18.0.254
05/11 - Arquitetura IEEE802.3

05/11 - Arquitetura IEEE802.3

  • Exercícios sobre a LISTA3 de exercícios para a avaliação A3;
  • Abordagem completa sobre Arquitetura IEEE802.3;
  • Atividade - Resumo 1 prazo: 12/11/14 às 12:00Hs. Execução: em dupla. Como: Manuscrita, impressa ou via email
11/11 - Trunking IEEE 802.1ax e Controle de Acesso com IEEE 802.1x

11/11 - Trunking IEEE 802.1ax e Controle de Acesso com IEEE 802.1x

Padrão IEEE802.1ax (anterior IEEE802.1ad) Agregamento de enlaces

Agregação de enlace (bonding ou trunking)

O Linux possui suporte a agregação de enlaces, em que se agrupam interfaces ethernet de forma a parecerem uma única interface (chamado de Linux Channel Bonding). A interface agregada tem prefixo bond, e assim deve ser identificada como bond0, bond1 e assim por diante. Para criar um enlace agregado no Netkit basta declarar em um switch uma interface desse tipo. A sintaxe da declaração é praticamente idêntica a de interfaces ethernet, como se pode ver abaixo:

pc1[type]=generic
pc2[type]=generic
sw1[type]=switch
sw2[type]=switch

pc1[eth0]=sw1-port0:ip=192.168.0.1/24
pc2[eth0]=sw2-port0:ip=192.168.0.2/24

sw1[eth0]=sw1-port0
sw2[eth0]=sw2-port0

# Define em cada switch uma interface bond0 que agrega dois enlaces.
# O enlace agregado deve ser composto por uma ou mais interfaces ethernet.
# O nome do enlace agregado é sw1-sw2 no exemplo.

sw1[bond0]=sw1-sw2:interfaces=eth1,eth2
sw2[bond0]=sw1-sw2:interfaces=eth1,eth2

Nesse exemplo o enlace agregado foi criado entre os switches sw1 e sw2. Como se pode notar, existe uma opção de configuração adicional interfaces, usada para listar as interfaces ethernet a serem agrupadas. Essas interfaces não devem ser declaradas explicitamente. Além disso, não se podem configurar VLANs na interface agregada (bond0 no exemplo). Por fim, mais de um enlace agregado pode ser criado no mesmo switch, bastando identificá-los por interfaces bond diferentes (bond1, bond2, ...).

O exemplo acima cria a seguinte rede:

Bond.png

Cascateamento versus Empilhamento

Os switches ainda possuem uma facilidade em nível físico chamada empilhamento (ou stack) que tem a função de ampliar as capacidades de portas sem comprometer significativamente a latência de pacotes em trânsito (fase forwarding). O mais eficiente, porém com mais custo, é o empilhamento por backplane onde um cabo proprietário de comprimento não maior que 1 metro, é conectado entre portas de entrada e saída específicas para este fim, geralmente na trazeira do switch, formando um anel dos swicthes empilhados. Os switches empilhados se comportam como um só e a gerência deles é muito mais facilitada com um único endereço IP. Já o cascateamento usando portas comuns ou portas específicas de altas taxas (fibra) chamadas UPLINK, mesmo usando o agregamento de link exposto na seção anterior, resolve a questão do congestionamento de toda a transferência de dados oriundas/destinadas aos ramos descendentes destas portas mas torna-se difícil a gerência de cada switch e a latência além de reduzir o desempenho da rede pode impedir até o funcionamento de algorítimos como o STP.


Padrão IEEE 802.1x


Fazendo controle de acesso em redes locais

Vamos usar como exemplo o cenário da rede do IFSC-SJ: A gerência de rede concluiu que deve-se controlar os acessos aos pontos da rede da escola. Com isso, somente usuários devidamente autenticados e autorizados poderão se comunicar usando os pontos de rede. A forma com que isso deve ser feito deve impedir inclusive que uma pessoa conecte um laptop a uma tomada de rede, e consiga acessar a rede. Além disso, o acesso pode ser negado ou concedido dependendo do tipo de usuário (aluno, funcionário, professor, visitante) e da localização do ponto de rede. O mecanismo de segurança capaz de fazer isso deve agir portanto diretamente nas portas de switches, habilitando-as ou bloqueando-as dependendo do usuário que tentar usar o equipamento nela conectado.

O padrão 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 !

Controle de acesso IEEE 802.1x

O controle de acesso IEEE 802.1x possibilita liberar ou bloquear portas de switches mediante a identificação de usuários válidos. Para usá-lo no Netkit deve-se fazer o seguinte:

  1. Nos switches ativa-se a autenticação com IEEE 802.1x, fornecendo-se uma lista de usuários e respectivas senhas. Além disso, identificam-se quais portas dos switches que exigirão que usuários se autentiquem (portas autenticadoras).
    sw[type]=switch
    
    # Podem-se definir quantos usuários e senhas forem desejados.
    sw[8021x]=1:users=usuario1/senha1,usuario2/senha2
    
    # A interface eth0 do switch é uma porta autenticadora, mas a interface eth1 não.
    sw[eth0]=port0:8021x_authenticator=1
    sw[eth1]=port1
    
  2. Nos computadores que se conectarão aos switches deve-se informar o usuário e senha para fins de autenticação.
    pc[type]=generic
    
    pc[eth0]=port0:8021x_user=usuario1/senha1:ip=10.0.0.1/24
    

Juntando os dois exemplos acima, pode-se definir uma pequena rede para fins de demonstração do controle de acesso:

sw[type]=switch
pc1[type]=generic
pc2[type]=generic

# Podem-se definir quantos usuários e senhas forem desejados.
sw[8021x]=1:users=usuario1/senha1,usuario2/senha2

# Necessário um endereço IP para fins de gerenciamento do switch
sw[management_ip]=10.0.0.10/24:vlan=1

# A interface eth0 do switch é uma porta autenticadora, mas a interface eth1 não.
sw[eth0]=port0:8021x_authenticator=1
sw[eth1]=port1

pc1[eth0]=port0:8021x_user=usuario1/senha1:ip=10.0.0.1/24
pc2[eth0]=port1:ip=10.0.0.2/24

Ao executar a rede acima, deve-se conseguir fazer um ping entre pc1 e pc2. Se quiser testar com maiores detalhes o controle de acesso e vê-lo em ação, experimente fazer o seguinte:

  1. No pc2 deixe o ping em execução (ping 10.0.0.1)
  2. No pc1 execute o utilitário wpa_cli. Esse programa permite controlar o supplicant, que vem a ser o programa responsável por realizar a autenticação com IEEE 8021x. Ao iniciar o wpa_cli mostra um prompt (>), onde se podem executar comandos de consulta ou modificacão do supplicant.
    1. Execute status, e veja as informações sobre a autenticação mantidas pelo supplicant.
    2. Execute logoff, e em seguida observe como estão as resposta do ping no pc2. As respostas devem etr parado ...
    3. Execute logon, e novamente observe o ping no pc2. Após alguns segundos as respostas devem voltar a ser recebidas.

Definindo um IP de gerenciamento

Um switch pode possuir um endereço IP para fins de gerenciamento. No momento, isso é usado somente para que um switch consiga rodar um servidor Radius e atender pedidos de acesso vindos de outros switches. O IP de gerenciamento precisa estar vinculado a uma das VLANs do switch:

sw[management_ip]=192.168.0.10/24:vlan=5

No exemplo acima, o switch sw possui o IP de gerenciamento 192.168.0.10, que está vinculado a VLAN 5. Apenas um IP por switch hpode ser definido.

Como o tipo switch especializa o tipo generic, é possível definir rotas em um switch que possui um IP de gerenciamento. Isso pode ser feito da mesma forma que em máquinas virtuais genéricas (i.e. usando os atributos default_gateway ou route).

Usando um servidor Radius

Em uma infraestrutura de controle de acesso IEEE 8021.X, usualmente o servidor de autenticação reside em um equipamento em separado. Desta forma, os autenticadores (switches e access points) podem efetuar a autenticação usando uma base de usuários comum. Apesar do padrão IEEE 8021.X não definir como deve ser implementado o servidor de autenticação, os fabricantes de equipamentos adotaram o serviço Radius para assumir esse papel. Com isso, para implantar o servidor de autenticação deve-se instalar um servidor Radius em algum equipamento, e fazer com que os autenticadores o utilizem para para autenticar os acessos.

No Netkit a implantação de um servidor Radius foi simplificada e integrada à configuração do controle de acesso descrita no início desta seção. Por questão de simplicidade, o servidor Radius deve ser implantado em um switch. assim, a configuração de um switch que deve operar como servidor Radius é:

sw2[8021x]=1:users=u1/p1,u2/p2:radius_clients=10.0.0.10,10.0.0.254

O parâmetro users lista os usuários e senhas autenticados pelo Radius, e radius_clients lista os endereços IP dos clientes Radius (que são os demais switches). Em ambos os casos, as informações devem ser escritas como listas separadas por vírgulas.

Os clientes Radius precisam definir que servidor Radius irão utilizar. A configuração de um switch que é cliente Radius poderia ser esta:

sw[8021x]=1:radius_server=10.0.0.5

Note que os clientes Radius devem ser capazes de alcançarem o servidor Radius. Quer dizer, se clientes e servidor Radius estiverem em subredes IP diferentes, devem existir rotas para que eles possam se comunicar.

Um exemplo de uma rede com dois switches, sendo um deles um servidor Radius, está mostrada a seguir:

pc1[type]=generic
pc2[type]=generic
sw[type]=switch
sw2[type]=switch

sw[8021x]=1:radius_server=10.0.0.5
sw2[8021x]=1:users=aluno/teste:radius_clients=10.0.0.10

sw[management_ip]=10.0.0.10/24:vlan=1
sw2[management_ip]=10.0.0.5/24:vlan=1

pc1[eth0]=sw-port0:ip=10.0.0.1/24:8021x_user=aluno/teste
pc2[eth0]=sw-port1:ip=10.0.0.2/24:8021x_user=aluno/teste
sw[eth0]=sw-port0:8021x_authenticator=1
sw[eth1]=sw-port1:8021x_authenticator=1
sw[eth2]=sw-port2

sw2[eth0]=sw-port2
Ex-radius.png


12/11 - Algorítimos de múltiplo acesso

12/11 - Algorítimos de múltiplo acesso

  • Revisão sobre o padrão ethernet
  • Algorítimos MA - do Aloha ao CSMA/CD.
18/11 - Redes sem fio e o padrão IEEE 802.11

18/11 - Redes sem fio e o Padrão IEEE 802.11 =

  • Ver slides
  • Ver capítulo 15 do livro Comunicação de Dados e Redes de Computadores, 3a ed., de Behrouz Forouzan.
  • Ver capítulo 6 do livro Redes de Computadores e a Internet, 3a ed., de James Kurose.
  • 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. (precisa do gnochm ou chmsee para ser lido)

Introdução

Redes sem-fio se tornaram uma tecnologia largamente difundida e de uso corriqueiro, principalmente em sua versão para redes locais. Graças a ela, as pessoas não precisam usar cabos para ter acesso à rede, e podem se comunicar em qualquer localização dentro do alcance da rede sem-fio. Mesmo usuários em movimento podem se manter em comunicação pela rede sem-fio. Essas características atraentes da tecnologia fazem com que ela seja naturalmente desejável nas LANs

A implantação de uma rede sem-fio deve atender alguns requisitos levantados pelo administrador de uma rede, os quais serão discutidos ao longo desta seção. Antes de pensar nos detalhes a serem observados, devem-se conhecer as características de comunicação de dados por um canal sem-fio e os mecanismos inventados para efetuar esse tipo de comunicação.

Alguns usos de redes sem-fio

WLAN-comum.gif
Redes locais sem-fio


Wireless point to point.jpg
Enlaces ponto-a-ponto de média/longa distância


Wlan-train.png
Prover conectividade em ferrovias


Body-network.jpg
Redes de dispositivos acoplados ao corpo de uma pessoa


SensorWebImageForEnewsJuly2.jpg
Redes de sensores


V2v.jpg
Redes entre veículos (experimental)

O Padrão IEEE 802.11

Dentre as várias tecnologias de comunicação sem-fio existentes, o padrão IEEE 802.11 para redes locais tem ampla utilização. Conhecido popularmente como Wi-Fi (um trocadilho com Hi-Fi, uma qualidade atribuída a aparelhos de som e que significa High-Fidelity), está presente praticamente em todos os lugares hoje em dia - desde escolas, empresas, aeroportos, supermercados, restaurantes, cafés e residências, e até mesmo em espaços abertos de cidades (ver Cidades Digitais). Muitos dos problemas existentes nesse tipo de rede (alguns resolvidos e outros não), e características de funcionamento, são comuns a outras tecnologias menos conhecidas, porém também importantes em suas áreas de aplicação. Por isso nosso estudo se concentrará nesse padrão de redes sem-fio, para conhecê-lo com razoável profundidade. Como consequência, além de entender como funciona uma rede IEEE 802.11, os conhecimentos obtidos habilitarão a compreensão de outras tecnologias de redes sem-fio.

  • Apresentaram-se as possíveis formas de organização de uma rede IEEE 802.11:
    • Rede infraestruturada: uso de uma estação central, que intermedia as transmissões das demais estações.

      Infrastructure-bss.png
    • Rede Ad-Hoc: estações se comunicam livremente com suas estações vizinhas.

      Adhoc-bss.png
    • Rede Mesh: estações se comunicam livremente, mesmo que existam múltiplos saltos (multihop).

      Mesh topology.gif
19/11 - Desempenho de Redes IEEE 802.11

19/11 - Desempenho de Redes IEEE 802.11

Teste de desempenho de uma rede IEEE 802.11

Será feito um experimento para configurar, usar e verificar a vazão de uma rede local sem-fio IEEE 802.11.

Objetivos

  • configurar uma rede local sem-fio (WLAN)
  • investigar o funcionamento e desempenho da WLAN

Introdução

As WLANs IEEE 802.11 podem ser implantadas com ou sem um ponto de acesso (AP – Access Point), que funciona como uma estação-base. O AP auxilia na coordenação do acesso ao meio, e usualmente funciona como uma ponte entre a WLAN e uma LAN cabeada. A figura abaixo mostra WLANs com AP.

WLAN-comum.gif


Um conjunto de estações que se comunica via rede sem-fio é chamado de BSS (Basic Service Set) na terminologia IEEE 802.11. Um conjunto de dois ou mais BSS se chama ESS (Extended Service Set), como pode ser visto na figura abaixo:


80211-ds.png


O experimento de hoje diz respeito tanto à criação de uma WLAN com um BSS baseado em AP, quanto à investigação da influência de diversos fatores na comunicação entre as estações. Entre esses fatores citam-se a distância para o AP, a existência de obstáculos, a localização espacial, a interferência entre diferentes estações, e a existência de mais de um AP.

Roteiro

Configure dois APs com endereços em suas LANs IP 192.168.1.250 e 192.168.1.251 isoladamente em Switches independentes no rack direito e esquerdo da rede do laboratório, associando mais dois PCs do laboratório para cada switch. O experimento implica em testar o desempenho da comunicação entre computadores de dois segmentos de rede separados pelos APs.

  1. Há APs WOM5000 da Intelbrás disponíveis no laboratório que podem operar em modo bridge. Monte a rede e configure conforme orientações do professor;
  2. Teste a comunicação com ping 192.168.1.x onde x é o IP do computador em outro segmento da rede. Se não funcionar, revise a configuração dos APs.
  3. Verifique o status de associação nas abas correspondentes das APs. Identifique o BSSID, canal de comunicação, intensidade de sinal e taxa de dados obtidos. Para isso basta colocar o endereço IP da AP que voce está associado no browser e inserir o login e senha "admin";
  4. Pode-se medir a vazão entre uma estação sem-fio e uma cabeada (quer dizer, entre a WLAN e a LAN, passando pelo AP), e também entre duas estações sem-fio. Use o aplicativo netperf para medir a taxa de transmissão entre uma estação sem-fio e um computador da rede montada, que está na rede cabeada. Você deve executar este comando:
    netperf -f k -H 192.168.1.x
    
    Repita a medição várias vezes, anotando os valores obtidos. Qual a média da vazão em Mbps obtida em suas medições? compare com a taxa atual da associação;
  5. Repita a experiência, porém fazendo a medição entre uma estação sem-fio e a de outra equipe. Qual a vazão obtida nesse caso? Foi melhor ou pior do que no caso da estação cabeada? Qual seria a explicação?

Leia o conteúdo da seção abaixo e com os dados observados no experimento responda as questões a seguir:

Questões para Avaliar o experimento, tipo... pra prova!!!

  • Quais os equipamentos envolvidos na rede sem-fio experimentada? Faça um esboço da rede usada!
  • Como um dispositivo WSTA entra na rede sem-fio? Existe um procedimento para que isso ocorra?
  • Como ocorrem as transmissões nessa rede sem-fio? Compare a transmissão de quadros nesse tipo de rede com transmissões em rede ethernet com CSMA/CD.
  • Qual a taxa de transmissão por quadro ? Existe mais de uma taxa possível? Como isso funciona em uma rede com muitos dispositivos ?

Componentes de uma rede sem-fio IEEE 802.11

Uma rede local sem-fio (WLAN) IEEE 802.11 é implantada por um equipamento especial chamado de ponto de acesso (AP - Access Point). Esse equipamento estabelece uma WLAN, de forma que computadores, smartphones, PDAs, laptops, tablets (e outros dispositivos possíveis) possam se comunicar pelo canal sem-fio. Esses dispositivos são denominados estações sem-fio (WSTA - Wireless Station), e se comunicam usando o AP como intermediário. Isso significa que todas as transmissões na WLAN são intermediadas pelo AP: ou estão indo para o AP, ou vindo dele. Além disso, uma WSTA somente pode se comunicar na WLAN se primeiro se associar ao AP - isto é, se registrar no AP, sujeitando-se a um procedimento de autenticação.

Do ponto de vista da organização da WLAN, a menor estrutura possível é o BSS (Basic Service Set), mostrado na figura abaixo. Um BSS é formado por um AP e as WSTA a ele associadas. O BSS possui um nome, identificado pela sigla SSID (Service Set Identifier), que deve ser definido pelo gerente de rede. O BSS opera em um único canal, porém as transmissões podem ocorrer com diferentes taxas de bits (cada quadro pode ser transmitido com uma taxa, dependendo da qualidade do canal sem-fio conforme medida pela WSTA que faz a transmissão). Por fim, apenas uma transmissão pode ocorrer a cada vez, o que implica o uso de um protocolo de acesso ao meio (MAC) pelas WSTA e AP.


Wlan1.png


O AP opera em nível de enlace, de forma parecida com um switch ethernet (porém sua tarefa é um pouco mais complexa ...). Isso quer dizer que o AP não usa o protocolo IP para decidir como encaminhar os quadros das WSTA, e assim não faz roteamento. Uma consequência desse modo de operação do AP é que a junção de dois ou mais AP por meio de um switch ethernet, com seus respectivos BSS, faz com que WSTAs em diferentes BSS possa se comunicar como se fizessem parte da mesma rede local. A união de dois ou mais BSS, mostrada na figura a seguir, se chama ESS (Extended Service Set). Em um ESS, todos os BSS possuem o mesmo SSID. No entanto, ao se criar um ESS deve-se cuidar para evitar que BSS vizinhos usem o mesmo canal.

Wlan2.png


As redes IEEE 802.11b e IEEE 802.11g usam a frequência 2.4 GHz para seus canais, que são espaçados a cada 5 MHz. As redes IEEE 802.11a e IEEE 802.11n usam a frequência de 5 GHz. No caso de IEEE 802.11g, ainda a mais comum de ser usada, os canais são numerados de 1 a 11. Apesar de haver 11 canais, apenas três deles (no máximo) não apresentam sobreposição. Isso se deve à modulação OFDM usada nessa rede, que na prática ocupa uma largura de banda de pouco mais de 20 MHz. A tabela abaixo mostra os canais usados em IEEE 802.11g, indicando a lista de canais interferentes de cada canal.

Wlan-canais.png

Sistemas de Distribuição

Em uma rede IEEE 802.11, vários BSS podem se combinar para formarem um ESS (Extended Station Set). A interligação entre os AP deve ser feita em nível de enlace, seja por uma rede cabeada ou por links sem-fio. Essa interligação é denominada Sistema de Distribuição, estando exemplificada na figura abaixo:


80211-ds.png


O sistema de distribuição funciona como uma ponte entre as WSTA, como mostrado na figura abaixo. Assim, se dois AP forem interligados, as WSTA que pertencem a seus BSS poderão se comunicar como se estivessem na mesma rede local.


80211-ds2.png


A cobertura de uma área envolve um planejamento que leve em conta as taxas mínimas desejáveis e as características dos equipamentos (potências de transmissão e ganhos de antenas) e do ambiente (existência de obstáculos, reflexões, e fontes de ruído). Além disso, deve-se minimzar a interferência entre BSS vizinhos, o que pode ser feito escolhendo-se canais que não se sobreponham. A figura abaixo mostra conceitualmente como se podem escolher os canais dos AP para atingir esse objetivo.

80211-freq-planning.png


Desta forma, podem-se criar BSS para cobrir uma área e aproveitar melhor a capacidade do meio de transmissão.

80211-cobertura.png

Deve-se levar em conta que a qualidade do sinal tem relação com a modulação usada (e da taxa de dados), assim o limiar entre um BSS e outro depende de como as estações medem a qualidade de sinal e quais as taxas mínimas aceitáveis. A figura abaixo ilustra possíveis alcances para diferentes taxas de dados.

80211-ranges-rates.png
Taxas em função da distância do AP (exemplo, pois depende das condições do ambiente e dos equipamentos)

Autenticação e associação

Originalmente foi definido na norma IEEE 802.11 que uma estação precisa se autenticar e associar a um BSS para poder transmitir dados. Em sua forma mais simples, esses procedimentos demandam apenas quatro quadros de controle no total, sendo dois para cada operação. A sequência de autenticação em sua forma mais simples é denominada Autenticação aberta, mostrada abaixo:

80211-auth.png
Autenticação aberta


Como se pode ver, chamar essa operação de autenticação é forçar o uso desse termo porque o AP (que controla o BSS) não confere a identidade informada pela estação. Assim, outra forma de autenticação foi criada para conferir a informação passada pela estação, além de negociar chave de encriptação para ter o sigilo das comunicações. Esse novo método se chama Autenticação com chave compartilhada, sendo implementado pelo WEP (e lembre que isso é inseguro e não deve ser usado em redes reais ;-):

80211-shared-key-auth.png
Autenticação com chave compartilhada

Uma vez estando a estação em estado autenticado, deve ocorrer a associação com o AP. Na associação o AP registra a existência da estação de forma que o sistema de distribuição (DS, que interliga os AP) saiba em que AP se encontra essa estação e possa assim lhe encaminhar quadros. A norma IEEE 802.11 proíbe explicitamente a associação a mais de um AP simultaneamente.

80211-associate.png
Associação com AP

Transição de BSS

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 (aberto, WPA-PSK à esquerda, ou WPA-EAP à direita)

Auth-rsn1.png Auth-eap.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 ...

Medição da qualidade de enlace

Em um forum encontrou-se o seguinte questionamento:

Hello,


the 802.11 standard specifies that link quality should be (for DSSS modulation) calculated from the correlation value obtained 
when code lock is achieved between the local PN code and the incoming PN codes.

In practice however I am convinced that Wi-Fi cards' producers do not calculate it in this way but rather by the percentage of 
correctly recieved bits or as the difference between signal strength and noise level.

I am currently doing some research on the possibility of using a 802.11 signal in a Wi-Fi LAN for locational purposes and I 
would like to consider all the information available to estimate a terminal's position. That includes, signal strength, noise 
level and link quality. However I cannot use link quality if I am not sure of how it is calculated.

Does anyone know how I can find a Wi-Fi card whose vendors specify their method of determining the link quality? Or a card from 
which I can extract a link quality according to the definition of the standard?

Há também um outro bom texto, com explicações sobre muitos termos usados quando se trata da qualidade do link (tais como RSSI e SNR).

O texto acima questiona como se faz a medição de qualidade de enlace em uma rede sem-fio IEEE 802.11. Nele se observa que a norma define como se deve fazer isso, mas os fabricantes provavelmente não seguem isso à risca. Partindo desse texto, pesquise como um determinado fabricante ou modelo de interface de rede faz essa medição (ex: Atheros, D-Link, Ralink, Intel, Broadcom, ...).

Melhorias no padrão IEEE 802.11n

Ver este artigo da WiFi Alliance. A tabela abaixo sumariza as melhorias criadas nesse padrão.

80211n-melhorias.png


Simulações (animações) sobre CSMA/CA


25/11 - Redes Ad-hoc, Redes Mesh e Redes Infraestruturadas

25/11 - Redes Ad-hoc, Redes Mesh e Redes Infraestruturadas

As redes Ad Hoc e Mesh não dependem a rigor de existir uma infraestrutura (a presença de APs no caso das Redes Infraestruturadas) prestabelecida para que as estações possam se comunicar. Nessas formas de organização de redes sem-fio, as estações podem transmitir quadros diretamente entre si, e mesmo entre estações fora do alcance direto. Nesse caso, a transmissão de quadros ocorre em múltiplos saltos (multihop), e depende de mecanismos para descobrir caminhos dentro da rede sem-fio. A principal diferença entre redes ad hoc e mesh reside justamente em como se faz a descoberta de caminhos.


Redes Ad Hoc

Características:

  • 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 para a descoberta de caminhos, quando necessário fazer encaminhamento em múltiplos saltos.
    • Descoberta de caminhos: no caso de redes IEEE 802.11, depende de uso de tecnologia adicional e fora do escopo da rede sem-fio. Por exemplo, se as estações se comunicarem com IPv4 ou IPv6, podem-se usar protocolos de roteamento IP (ex: AODV, OLSR). Isso demanda a configuração adicional desses protocolos, e não garante uma integração plena com a rede sem-fio - quer dizer, esses protocolos de roteamento podem não conseguir escolher os melhores caminhos, pois podem não ter acesso a todas as informações sobre as qualidades de links entre as estações.

Adhoc1.jpg
Podem possibilitar a criação de uma rede local temporária em um ambiente previamente sem infraestrutura (AP)


Adhocnet.gif
Podem formar redes temporárias entre equipamentos móveis


Vanet.gif
Podem ser usadas como base para aplicações inovadoras, como redes veiculares

Redes Mesh

De forma geral, redes mesh são compostas por um conjunto de nodos capazes de descobrir caminhos dentro da rede, os quais são usados pelos demais nodos da rede para que possam se comunicar. Assim, os nodos roteadores formam uma malha cujos caminhos idealmente são compostos pelos enlaces de melhor qualidade. Apesar de não existirem estações base (i.e. pontos de acesso), essa rede provê uma certa infraestrutura para que nodos acessem a rede e se comuniquem. Além disso, assume-se que os nodos roteadores sejam estáticos ou possuam baixo grau de mobilidade, de forma que seus enlaces sejam duradouros. Essa forma de organização se apresenta em diferentes redes sem-fio, tais como redes metropolitanas e redes industriais. Recentemente, uma extensão ao padrão IEEE 802.11 vem sendo discutida para possibilitar a formação de redes mesh com esse tipo de rede.

O padrão IEEE 802.11s propõe mecanismos para o estabelecimento de redes mesh. No escopo de redes IEEE 802.11, estações capazes de formarem redes mesh (chamadas de mesh points) descobrem automaticamente suas estações vizinhas e as utilizam para estabelecerem caminhos para outras estações que estejam fora de alcance direto. Para isso, dois componentes importantes da tecnologia foram definidos:

  • Um estimador de qualidade de enlace para avaliar os enlaces entre estações, e assim poder estabelecer e usar os melhores caminhos dentro da rede.
  • Um ou mais protocolos de descoberta de caminhos (evita-se o termo roteamento, por estar associado uma função da camada de rede), sendo mandatório o HWMP. Há também o OLSR, que é opcional.

O kernel Linux possui uma implementação do IEEE 802.11s feita em software, explorando a capacidade de muitas interfaces de rede de delegarem as funções de gerenciamento do MAC para o device driver (isso é conhecido como SoftMAC). Assim, pode-se estabelecer e experimentar uma rede mesh IEEE 802.11s usando-se algumas ferramentas do Linux.

Experimento sobre redes ad hoc e infraestruturadas

O experimento de hoje diz respeito tanto à criação de uma WLAN com um BSS baseado em AP ou não (ad hoc), quanto à investigação da influência de diversos fatores na comunicação entre as estações. Entre esses fatores citam-se a distância para o AP, a existência de obstáculos, a localização espacial, a interferência entre diferentes estações, e a existência de mais de um AP. O experimento implica configurar um computador para ser uma estação sem-fio na WLAN, e em seguida fazer uma série de experimentos quanto ao funcionamento da WLAN.

Roteiro

  1. Configure um AP com IP da mesma rede do laboratório (ex.:192.168.2.254) com BSSID "AP1", e conecte-o à rede.
  2. Criem pelo menos 4 equipes para criar WSTAs usando interfaces de rede USB sem-fio ou mesmo APs. As Estações podem se comunicar sem a intermediação de um AP. Neste caso, tem-se uma rede sem-fio ad hoc. Isto pode ser útil para criar enlaces temporários entre computadores em ambientes desprovidos de AP. Outra utilidade é a criação de enlaces sem-fio ponto-a-ponto com antenas direcionais. Para criar uma rede ad hoc devem-se configurar as interfaces de rede com os seguintes comandos:
     ifconfig wlan0 down 
    iwconfig wlan0 essid REDES2 mode Ad-hoc channel 6
    ifconfig wlan0 10.0.0.X netmask 255.255.255.248 // sendo X um número entre 1 e 6
    
  3. Em seguida teste a comunicação entre os computadores, tentando ping entre eles. Caso não funcione, revise a configuração da interface de rede sem-fio com os comandos do passo anterior.
  4. Faça testes de comunicação com as demais estações sem-fio, usando o netperf:
     netperf -f k -H IP_de_outra_WSTA
    
  5. Após os testes de transmissão com netperf, verifique os contadores de erros de transmissão da interface sem-fio. Em particular, observe “TX excessive retries” (iwconfig), “errors” e “collisions” (ifconfig).
  6. Repita as medições do passo anterior, mas agora operando em modo gerenciado (com AP, infraestruturado). Use:
     ifconfig wlan0 down
    iwconfig wlan0 essid REDES2 mode Managed
    ifconfig wlan0 up
    
    Em qual modo se obteve o melhor desempenho?
  7. Para aproveitar a rede ad hoc recém criada, deve-se usá-la como parte da seguinte rede: Adhoc.png
  8. Nessa rede existem três LANs:
    • LAN do laboratório (192.168.x.0/24): possui acesso à Internet pela rede cabeada. Provê acesso às LANs esquerda e direita por meio de um gateway com interface de rede sem-fio;
    • LAN esquerda (192.168.100.0/24: composta pelos computadores da bancada da esquerda. O acesso a Internet se faz pelo enlace sem-fio até o gateway existente na LAN do laboratório;
    • LAN direita (192.168.200.0/24): composta pelos computadores da bancada da direita. O acesso a Internet se faz pelo enlace sem-fio até o gateway existente na LAN do laboratório.
      Note que para as LANs esquerda e direita poderem acessar a Internet, o gateway da LAN do laboratório deve prover NAT a suas respectivas subredes;
  9. Um ESS tem dois ou mais BSS. Até o momento apenas um BSS foi usado. Vamos ativar outro AP em um lado oposto da sala, agora com endereço IP 192.168.x.253 e com mesmo BSSID “AP2” mas com uma potencia de transmissão de 0dBm (1mW). Verifique em qual AP as estações, que estão nesse momento em modo infraestruturado se associam.
  10. Faça uma varredura da rede, para listar as redes existentes com:
     sudo iwlist wlan0 scan
    
  11. Verifique se ambos os APs constam na listagem, e em caso afirmativo, quais suas intensidades de sinal. Configure sua interface de rede para se associar à rede sem-fio, de forma que escolha um dos APs:
     sudo iwconfig wlan0 essid REDES2 mode Managed 
    #ou voce pode forçar a associação com ou outro AP usando:
    sudo iwconfig wlan0 essid REDES2 ap AP2 mode Managed
    
  12. Confira qual dos APs foi escolhido. Qual a relação entre intensidade de sinal e a escolha do AP?
  13. Quando uma estação se movimenta, saindo do alcance do seu AP e entrando no alcance de outro AP, ocorre sua migração. Essa operação, chamada de handover implica na associação com o novo AP. Vamos usar um notebook (seu ou do professor) para observar a ocorrência do handover. Movimente o notebook de forma a se distanciar de um AP para o outro, monitorando constantemente o sinal com iwlist. Em que momento ocorreu o handover? Quanto tempo levou para se efetuar?
  14. Um bom teste do impacto do handover para estações móveis é observar o handover ocorrer durante um download longo. Voce irá observar este momento quando a taxa de transmissão paralisar ou diminuir drasticamente por alguns segundos.
Alguns comandos úteis para ajudar na configuração da rede:
#Comandos para visualização e edição do NAT: Para fazer o NAT do tráfego que sai pela interface iface_saida (ex: eth0):
iptables -t nat -A POSTROUTING -o iface_saida -j MASQUERADE

#Para visualizar as regras do NAT existentes:
iptables -t nat –L -n -v

#Comandos para visualização e edição de rotas:
#Adicionar a rota default:
route add default gw IP_gateway

#Remover a rota default:
route delete default

#Adicionar uma rota estática:
route add -net IP_rede/mascara gw IP_gateway

#Remover uma rota estática:
route delete -net IP_rede/mascara gw IP_gateway

#Visualizar as rotas:
netstat -rn
26/11 - Redes sem fio - Protocolo CSMA/CA e Arquitetura IEEE802.11

26/11 - Redes sem fio - Protocolo CSMA/CA e Arquitetura IEEE802.11

  • LISTA4 de exercícios para a avaliação A4
  • Finalização sobre os conceitos básicos da arquitetura IEEE802.11 - * Ver slides


Pode-se descrever em alto-nível o algoritmo do CSMA/CA (simplificando alguns detalhes) com o fluxograma abaixo:


Fluxograma-csma-ca.png
Fluxograma para MAC CSMA/CA em modo contenção (função DCF). Esse fluxograma não mostra as esperas de intervalos entre quadros (IFS). Cw significa Janela de Contenção (Contention Window), e Cwmin é seu valor mínimo definido na norma (15 no caso do IEEE 802.11g, e 31 para IEEE 802.11b).


Um último detalhe sobre o CSMA/CA trata dos intervalos entre quadros (IFS - Inter Frame Space), que são tempos mínimos que um nodo deve esperar antes de transmitir um quadro, após o meio se tornar ocioso. Sua finalidade é priorizar o acesso ao meio para certos tipos de quadros, que têm urgência para serem enviados. Esse é o caso de quadros de confirmação (ACK) e CTS (Clear To Send). Um IFS menor corresponde a uma maior prioridade de transmissão de quadro. A figura abaixo ilustra os tipos de IFS:

Ifs-csma-ca.gif
Intervalos entre quadros

  • SIFS (Short Interframe Space): intervalo mais curto, usado antes do envio de quadros ACK e CTS.
  • PIFS (PCF Interframe Space): intervalo intermediário, usado quando em modo PCF (Point Coordination Function). O modo PCF implementa um tipo de acesso ao meio mestre-escravo. Raramente encontrado em equipamentos.
  • DIFS (Distributed Interframe Space): intervalo usual, aplicado no início de transmissões em geral (quadros de dados, associação, autenticação, RTS).


02/12 - Segurança em Redes sem fio

02/12 - Segurança em Redes sem fio


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.

Atividade em laboratório: conhecendo os mecanismos de segurança

A implantação da rede sem-fio do IFSC-SJ será feita por meio de um protótipo no laboratório. Dois pontos de acesso serão ativados, sendo configurados para fornecerem acesso conforme os requisitos listados. Um detalhe importante diz respeito ao mecanismo de segurança a ser adotado, e para compreender quais os adequados faremos alguns experimentos com WEP, WPA-PSK e WPA-EAP.

  1. Os AP devem ser instalados com endereços IP 192.168.1.250 e 192.168.1.251. Eles são capazes de trabalharem com WEP, WPA-PSK e WPA-EAP. A interface web de cada AP mostra as opções de configuração de segurança.
  2. Há interfaces de rede sem-fio disponíveis no laboratório. A turma deve se dividir em equipes para a realização dos experimentos. Em cada computador onde houver uma interface sem-fio deve ser executado este comando:
    ifconfig eth0 down
    
    ... para que a comunicação ocorra somente pela rede sem-fio.
  3. Para fins de comparação, o AP será configurado inicialmente com modo de segurança desativado. Usando o Network Manager conecte seu computador à rede sem-fio REDES2, e em seguida desative a interface de rede cabeada com o comando:
    sudo ifconfig eth0 down
    
    • Execute um ping 192.168.1.1, e deixe-o rodando.
    • Monitore o tráfego pela interface de rede sem-fio, usando o wireshark (sudo wireshark). O que você consegue visualizar do tráfego que circula na rede ? É possível ver o tráfego de outros computadores ?
    • Na verdade, a interface de rede não mostra os quadros de outras estações. Mas se for criada uma interface de rede do tipo monitor, todo o tráfego da rede sem-fio que chegar até sua interface de rede pode ser capturado. Para criar esse tipo de interface faça o seguinte (substitua wlan0 pelo nome da sua interface):
      sudo iw dev wlan0 interface add mon0 type monitor
      sudo ifconfig mon0 up
      
      ... e em seguida no wireshark faça a captura de pacotes nessa interface. Procure quadros do tipo Data, e veja se é possível ver seu conteúdo (se é inteligível). O que se pode concluir sobre os quadros de dados na rede sem-fio, se não há um mecanismo de segurança ativado ?
  4. Após esse teste, o AP estará configurado para proporcionar o modo de segurança com WEP, usando a chave mreth. Assim, as interfaces de rede sem-fio devem ser configuradas para usarem essa chave, o que deve ser feito diretamente na applet do NetworkManager (ver canto direito do menu superior da área de trabalho). Após fornecer o valor da chave, abra um terminal e monitore o status da interface usando o comando:
    sudo iwconfig wlan0
    
    Rapidamente deve aparecer a informação de que ela está associada ao AP, o que indica que a chave WEP estava correta. O iwconfig deve mostrar um resultado semelhante a este:
    $ sudo iwconfig wlan0
    wlan0 IEEE 802.11g ESSID:"IER" Nickname:""
      Mode:Managed Frequency:2.437 GHz Access Point: 00:1B:11:1C:E3:7D
      Bit Rate:36 Mb/s Tx-Power:16 dBm Sensitivity=1/1
      Retry:off RTS thr:off Fragment thr:off
      Encryption key: 6D72-6574-68
      Power Management:off
      Link Quality=59/70 Signal level=-37 dBm Noise level=-96 dBm
      Rx invalid nwid:3064 Rx invalid crypt:0 Rx invalid frag:0
      Tx excessive retries:0 Invalid misc:0 Missed beacon:0
    
    OBS: a interface de rede sem-fio pode aparecer com um nome diferente no seu computador. Ex: wlan1, wlan2, ...
  5. A interface de rede sem-fio deve ter conseguido obter um endereço IP isto porque no laboratório o AP possui um servidor DHCP). Isto pode ser verificado com o comando ifconfig wlan0. Teste a comunicação pela rede sem-fio, fazendo um ping para o computador 192.168.1.1.
  6. Usando o wireshark faça a captura de pacotes na interface mon0. Procure quadros do tipo Data, e veja se é possível ver seu conteúdo (se é inteligível). O que se pode concluir sobre os quadros de dados com WEP na rede sem-fio ?
  7. Nos slides apresentados sobre segurança se afirmou que o WEP é um modo de segurança com graves falhas, e que não deve ser usado em instalações reais (nem em sua rede doméstica!). Para demonstrar isto será usado o software aircrack-ng (maiores detalhes), que faz a descoberta da chave WEP. Esse software está instalado no computador do professor, de onde será feita uma demonstração. Esta se baseiano tutorial Simple WEP Crack Tutorial, descrito no site oficial do aircrack-ng, e resumidamente segue abaixo:
    • Executar este comando para por a interface de rede sem-fio em modo monitor (11 é o canal onde está operando o AP do laboratório):
      sudo airmon-ng start wlan0 11
      
    • Descubra o endereço MAC do AP, e em um terminal em separado execute este comando para fazer a captura de quadros e salvá-los em arquivos:
      sudo airodump-ng -c 11 --bssid MAC_do_AP -w output mon0
      
    • A interface de rede precisa fazer uma autenticação falsa no AP para poder enviar a ele quadros forjados, que servirão para acelerar a captura de quadros e assim o processo de quebra da chave WEP. O comando a seguir faz essa autenticação:
      sudo aireplay-ng -1 0 -e REDES2 mon0
      
    • O próximo passo é injetar quadros na rede sem-fio, para forçar o AP a respondê-los e assim acelerar a taxa de de quadros capturados. Isso se faz capturando alguma mensagem ARP, e em seguida reinjetando-a na rede. O AP vai retransmiti-la, e com isso pode-se obter um novo quadro encriptado para análise. O comando abaixo executa esse procedimento, e deve ser executado em um terminal em separado:
      sudo aireplay-ng -3 -b MAC_do_AP mon0
      
      Observe que no terminal onde roda o airdump-ng a contagem de quadros coletados deve aumentar rapidamente.
    • Após alguns segundos, deve-se executar este comando:
      aircrack-ng -z -b MAC_do_AP output*.cap
      
      Este último passo deve revelar a chave WEP em uso !

      O aircrack-ng pode ser instalado no Ubuntu, e existem versões para outros sistemas operacionais (inclusive Windows). Existem outros softwares que quebram chaves WEP, mas basta existir um (e de fácil obtenção !) para descartar o WEP como um modo de proteção de redes sem-fio a ser considerado.
  8. Sendo o WEP inseguro, em ambiente corporativo ou doméstico recomenda-se o uso de WPA. WPA possui basicamente dois modos de autenticação e encriptação: um baseado em chave compartilhada, chamado de WPA-PSK (semelhante ao WEP), e outro baseado em IEEE 802.1x/EAP. No primeiro caso, o uso da chave foi modificado para que cada quadro use uma chave distinta, e de uma forma que seja muito difícil deduzir a próxima chave. No segundo caso, usa-se o framework IEEE 802.1x, porém limitando os métodos EAP possíveis (ex: EAP-TTLS). Assim, para um primeiro experimento deve-se usar WPA-PSK, por ser mais simples. Configure o AP para usar WPA-PSK, definindo uma chave compartilhada.
  9. Faça com que seu computador novamente se associe à rede sem-fio. Note que agora o supplicant mostra que o mecanismo é WPA-PSK.
  10. A quebra da chave WPA-PSK não pode ser feita de forma tão simples (?!) quanto no caso do WEP. Isto porque no WPA-PSK a chave somente pode ser descoberta por métodos de força bruta: testando diferentes chaves até descobrir a verdadeira. Isto se chama de ataque de força bruta ou, em uma versão um pouco melhorada, ataque baseado em dicionário. O uso de dicionários, que são conjuntos de palavras, pode acelerar a descoberta da chave, se quem a configurou usou uma palavra contida no dicionário de ataque. Isto não é tarefa fácil, e ataques deste tipo usualmente demoram bastante (a não ser que a chave seja trivial !). Para chaves grandes, com muitos caracteres aleatórios (chaves PSK podem ter entre 8 e 63 caracteres), a descoberta é virtualmente impossível. Veja uma discussão sobre isto na página do aircrack-ng. Com isto, concluímos que WPA-PSK, com chaves grandes e aleatórias, pode ser usado com boa margem de segurança. Porém existem outras questões a serem levadas em conta (assunto da próxima aula).
  11. Em uma rede com muitos usuários, ou com usuários temporários (ambos casos típicos de empresas), ter uma chave compartilhada como no caso do WPA-PSK não é uma boa estratégia. O melhor é autenticar os usuários individualmente, para que seja fácil identificar quem usou a rede, e para revogar o acesso quando necessário. Assim, o método final de acesso à rede sem-fio se chama WPA-EAP e baseia-se no IEEE 802.1x com EAP, que proporciona a autenticação individual de usuários. Para testá-lo será usado o EAP-TTLS, que primeiro estabelece uma conexão encriptada para em seguida fazer a autenticação com login e senha (com EAP-MD5). A proteção do login e senha com encriptação é fundamental para elevar a segurança do método de acesso (na verdade, a autenticação em redes sem-fio exige que exista encriptação para a transmissão de credenciais). Como visto anteriormente em controle de acesso com IEEE 802.1x em redes cabeadas, há a necessidade de um servidor Radius para a autenticação.



Curso de Engenharia de Telecomunicações