Mudanças entre as edições de "RED2-EngTel (página)"

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
(Resultados das Avaliações)
(Resultados das Avaliações)
Linha 56: Linha 56:
 
|-
 
|-
 
|Tiago W./Leonan || Oi  
 
|Tiago W./Leonan || Oi  
 +
|-
 +
Elton/Flávia/Ernani ||
 
|-
 
|-
 
|}
 
|}

Edição das 17h16min de 25 de junho de 2014

Índice

Carga horária, Ementas, Bibliografia, Professores

Resultados das Avaliações

Aluno Lista 1 Lista 2 Resumo1 Individual PC A1 A2 REC A1 REC A2
Danilo 100 80 90 48
Elton 100 90 85 42
Ernani 100 90 - -
Flavia 100 90 85 42
Jean 100 80 90 36
Leonan 100 95 90 82
Letícia 100 90 80 -
Marcus 100 95 90 60
Tamara 100 90 80 38
Thiago Henrique 100 90 95 63
Thiago Werner 100 90 95 56
Atividades Extras
Listas de exercícios
Pesquisa de Campo
  • PC - prazos: 25/06 - formação das equipes e empresa alvo; 09/07/14 - Apresentação às 07:30Hs. Execução: em grupo. Como: Apresentação oral 15 minutos
Elton/Flávia/Ernani ||
Grupo Empresa pesquisada
Letícia/Tamara/Tiago B. RNP
Tiago W./Leonan Oi

COMPOSIÇÃO DA NOTA FINAL: NF = 0,8(média{MaiorNota{(A1,REC A1);MaiorNota(A21,REC A2)}}) + 0,1(AEs+avaliação individual) + 0,1(Pesquisa de campo)

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

Plano de Ensino 2014-1

Dados Importantes

Professor: Jorge Henrique B. Casagrande
Email: casagrande@ifsc.edu.br
Atendimento paralelo: 4a feira 11:35h - 12:30h 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/1446441625588108/
Link alternativo para Material de Apoio da disciplina: http://www.sj.ifsc.edu.br/~casagrande/RED
Quase todo o conteúdo da disciplina foi extraído do material do professor Marcelo Sobral o qual já registro aqui meus agradecimentos pela autorização e apoio. Alguns conteúdos 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 extra, significa que essa atividade será computada na avaliação individual. 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!

Recados Importantes

Conteúdos para a avaliação A2

10/06 A2 Os capítulos e seções de nosso livro texto (Forouzan) na tabela a seguir serão a base do conteúdo para a avaliação A2. Adicione a eles, os assuntos explicados em sala de aula e resumidos nos slides apresentados e todo o conteúdo da wiki com todos os seus roteiros. Os exercícios propostos na lista 3 também estão associados para fixação desses conteúdos. Lembrem-se que estou sempre à disposição para resolver suas dúvidas, mesmo fora da sala de aula:

Capítulo Inclui Seções Comentários
12 Só 12.1
13 Todas
14 Todas exceto 14.2 Bluetooth
15 Todas

Conteúdo do livro texto para a avaliação A1

24/04 A1 Os capítulos e seções de nosso livro texto (Forouzan) na tabela a seguir serão a base do conteúdo para a avaliação A1. Adicione a eles, os assuntos explicados em sala de aula e resumidos nos slides apresentados, em especial as partes que tratam do modelo básico de comunicação de dados e interfaces digitais, essenciais sobre a camada física bem como todo o conteúdo da wiki com todos os seus roteiros. Os exercícios propostos nas listas 1 e 2 também estão associados a fixação desses conteúdos embora muitos deles envolvam cálculos, que não será objeto desta primeira avaliação. Lembrem-se que estou sempre à disposição para resolver suas dúvidas, mesmo fora da sala de aula:

Capítulo Inclui Seções Comentários
3 Todas Somente conceitos - nada de cálculos
4 4.1 até "Métodos Multinível" (p.111) e 4.3 Não será cobrado a conversão
5 Só seção 5.1 Interpretação da largura de banda, ver padrões ITU nos slides
6 Só seção 6.1 Ver slides da aula de hoje 24/04
7 Só seção 7.1 Básico sobre meios guiados e seu desempenho
8 Nenhuma Oba!!!!
9 Somente 9.2 e 9.3 Ver padrões ITU nos slides
10 10.1 e 10.4 a partir de "Polinômios" (p.291) CRC com polinômio é mais simples. Vou fazer exercício em sala
11 11.1 à 11.3 e 11.6 e 11.7 Foco maior no conceito e estrutura dos frames, bit e byte stuffing.


21/02 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. Os planos de uso do Moodle que eu comentei para vocce serão adiados em função do projeto ampliado que o IFSC está construindo para usar esse ambiente.


20/02 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

Slides utilizados durante algumas aulas
Manuais e outros

Bibliografia

Para pesquisar o acervo das bibliotecas do IFSC:

Curiosidades

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-1 - Prof. Jorge H. B. Casagrande

Aula 1 - 12/02 - Parte1: Introdução a Comunicação de Dados

Aula 1 - 12/02 - Parte1: Introdução a Comunicação de Dados

Usando o quadro e slides, exploramos:

  • Apresentação da disciplina;
  • Conceitos importantes em comunicação de dados;
  • Componentes de uma infra-estrutura de telecomunicações;
  • Modelo Básico de comunicação de dados.
Aula 2 - 13/02 - Parte1: Componentes de Redes e Comunicação Serial

Aula 2 - 13/02 - Parte1: Componentes de Redes e Comunicação Serial

  • Componentes do modelo básico de comunicação de dados;
  • Comunicação Assíncrona e Síncrona e protocolos da camada de enlace;
Aula 3 - 19/02 - Parte1: Interfaces Digitais

Aula 3 - 19/02 - Parte1: Interfaces Digitais

  • Interfaces digitais RS232, V35, V36, RS485 e G703;
  • Protocolos da camada física usando os sinais de controle da ID e padronizações;
Aula 4 - 20/02 - Parte1: Meios de Transmissão e Modens Analógicos

Aula 4 - 20/02 - Parte1: Meios de Transmissão e Modens Analógicos e Redes Discadas

  • Par de fios como meio de transmissão;
  • Redes Privadas e Redes Discadas;
  • Modens analógicos: modulações, padronizações e facilidades adicionais;
  • Lista 1 - exercícios de revisão da parte 1.
Aula 5 - 26/02 - Parte1: Modens Digitais e Redes Privadas

Aula 5 - 26/02 - Parte1: Modens Digitais e Redes Privadas

  • Um pouco mais sobre modens Analógicos e redes privadas;
  • Modens Digitais
Aula 6 - 27/02 - Parte1: Laboratório de comunicação entre DTEs

Aula 6 - 27/02 - Parte1: Laboratório de comunicação entre DTEs

  • Laboratório - Circuito Básico de comunicação de dados, comunicação entre DTEs
Aula 7 - 20/03 - Parte1: Laboratório de Comunicação de Dados e Enlaces de Teste

Aula 7 - 20/03 - Parte1: Laboratório de Comunicação de Dados e Enlaces de Teste

  • Laboratório - Circuito Básico de comunicação de dados, comunicação entre modens digitais;
  • Identificação das interfaces digitais e dos cabos lógicos e adaptadores V35;
  • Uso do Teste Set e das facilidades de Enlaces de teste.
Aula 8 - 26/03 - Parte1: Laboratório de Interligação entre LANs com uso de roteadores - Conexões Físicas

Aula 8 - 26/03 - Parte1: Laboratório de Interligação entre LANs com uso de roteadores - Conexões Físicas

Para esta atividade será criada uma rede composta por três roteadores Cisco, que estarão interligados como mostrado abaixo:

Rede-modems.png

Criar os circuitos com modems operando a 2 Mbps. Os Modens da DIGITEL modelo DT2048SHDSL devem possuir a seguinte configuração: (chaves em ON)

  • Modens do rack central: DIP1-todas; DIP2-7,8; DIP3-todas OFF; DIP4-5
  • Modens do rack direito e esquerdo: DIP1-todas; DIP2-7,8; DIP3-todas OFF; DIP4-5
Aula 9 - 27/03 - Parte2: Laboratório de Interligação entre LANs com uso de roteadores - Configuração dos Roteadores e Introdução A camada de Enlace

Aula 9 - 27/03 - Parte2: Laboratório de Interligação entre LANs com uso de roteadores em modo físico - Configuração dos Roteadores e Introdução A camada de Enlace

Resumo da aula:

  • 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:

  • 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 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 (ver por exemplo este artigo sobre seu uso missões espaciais em um artigo da Nasa). 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.

Agora, usando os conceitos básicos sobre enlaces PPP e HDLC, continue o laboratório da aula anterior, realizando os seguintes passos:

  1. Acesse a interface de gerência (console) do seu roteador. O roteador R2 está no rack esquerdo, o roteador R1 está no rack do centro, 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 9600 bps, 8 bits de dados e 1 stop-bit (isso aparece descrito assim: 9600 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. Configure os roteadores da seguinte forma:
    • R1:
      > enable     (password "a")
      # configure terminal
      (conf)# interface fastethernet 0
      (conf-intf)# ip address 192.168.20.254 255.255.255.0
      (conf-intf)# no shutdown
      (conf-intf)# exit
      (conf)# interface serial 0
      (conf-intf)# encapsulation ppp
      (conf-intf)# ip address 10.1.1.2 255.255.255.252
      (conf-intf)# no shutdown
      (conf-intf)# exit
      (conf)# ip route 0.0.0.0 0.0.0.0 serial 0
      (conf)# exit
       # wr
      
    • R2:
      > enable
      # configure terminal
      (conf)# interface fastethernet 0
      (conf-intf)# ip address 192.168.10.254 255.255.255.0
      (conf-intf)# no shutdown
      (conf-intf)# exit
      (conf)# interface serial 0
      (conf-intf)# encapsulation ppp
      (conf-intf)# ip address 10.1.1.6 255.255.255.252
      (conf-intf)# no shutdown
      (conf-intf)# exit
      (conf)# ip route 0.0.0.0 0.0.0.0 serial 0
      (conf)# exit
       # wr
      
    • R3:
      > enable
      # configure terminal
      (conf)# interface ethernet 0
      (conf-intf)# ip address 192.168.1.231 255.255.255.0
      (conf-intf)# no shutdown
      (conf-intf)# exit
      (conf)# interface serial 0
      (conf-intf)# encapsulation ppp
      (conf-intf)# ip address 10.1.1.5 255.255.255.252
      (conf-intf)# no shutdown
      (conf-intf)# exit
      (conf)# interface serial 1
      (conf-intf)# encapsulation ppp
      (conf-intf)# ip address 10.1.1.1 255.255.255.252
      (conf-intf)# no shutdown
      (conf-intf)# exit
      (conf)# ip route 0.0.0.0 0.0.0.0 192.168.1.1
      (conf)# exit
       # wr
      
  1. Para conferir as configurações das interfaces, use o comando show interface (detalhado) ou show ip interface brief (resumidos configuração e status):
# show interface serial 0


Aula 10 - 27/03 - Parte2: Laboratório de Interligação entre LANs com uso de roteadores - Conectividade e Desempenho

Aula 10 - 27/03 - Parte2: Laboratório de Interligação entre LANs com uso de roteadores em modo físico - Conectividade e Desempenho

Para finalizar o laboratório das duas aulas anteriores, 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.

Roteiro

  1. Assim que os enlaces forem estabelecidos, o que pode ser conferido com o comando show interface aplicado às interaces seriais, conclua a configuração da rede (rotas nos pcs e roteadores). Ela deve ser configurada de forma 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
    E monte a tabela de roteamento com o comando (conf)# ip route x.x.x.x m.m.m.m y.y.y.y onde x é o endereço de rede com mask m a ser alcançado e y é o próximo salto (endereço da interface do próximo roteador). O y também pode ser o nome da interface.
  2. Solução para os roteadores:
    R1:
      > enable     (password "a")
      # configure terminal
      (conf)# ip route 192.168.20.0 255.255.255.0 fastethernet 0
      (conf)# ip route 192.168.10.0 255.255.255.0 10.1.1.1
      # wr
    
    R2:
      > enable     (password "a")
      # configure terminal
      (conf)# ip route 192.168.10.0 255.255.255.0 fastethernet 0
      (conf)# ip route 192.168.20.0 255.255.255.0 10.1.1.5
      # wr
    
    R3:
      > enable     (password "a")
      # configure terminal <
      (conf)# ip route 192.168.10.0 255.255.255.0 10.1.1.6
      (conf)# ip route 192.168.20.0 255.255.255.0 10.1.1.2
      (conf)# ip route 192.168.1.0 255.255.255.0 ethernet 0
      # wr
    
  3. Para o PC do professor
      $ sudo route add -net 192.168.10.0 netmask 255.255.255.0 eth0 
      $ sudo route add -net 192.168.20.0 netmask 255.255.255.0 eth0
    
  4. 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}
    
  5. Verificar e anotar todas as configurações dos componentes de redes, modens, cabos, adaptadores, manobras dos cabos, etc...
  6. Acessar as redes mutuamente qualquer computador de um subrede deve acessar qualquer outro da outra subrede;
  7. Acessar a internet em todos os PCs;
  8. Teste a vazão pelos enlaces ponto-a-ponto. Em algum computador da subrede esquerda execute:
    netperf -f k -H 192.168.1.1
    
    Realize pelo menos três medidas para cada teste e use a média desses valores como resultado final;
  9. Faça isso também usando um computador da subrede da direita e depois entre computadores das subredes direta e esquerda.
  10. Excute o netperf entre computadores da mesma subrede, anote os valores e compare com o anterior que atravessa a rede até atingir a rede 192.168.1.1.
  11. É possível usar o protocolo HDLC ao invés do PPP, bastando nos roteadores substituir o comando encapsulation ppp por encapsulation hdlc. Após fazer essa alteração, e se certificar de os enlaces foram reativados, repita e anote as mesmas medições de vazão acima agora com HDLC;
  12. Observe as informações fornecidas pelos roteadores sobre os enlaces ponto-a-ponto. Para isso, execute show interface nas interfaces seriais, e leia o sumário resultante.
Aula 11 - 02/04 - Parte2: Laboratório de Desempenho de LANs

Aula 11 - 02/04 - Parte2: Laboratório de Desempenho de LANs

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.

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

Roteiro

  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 ?
Aula 12 - 09/04 - Parte2: A Camada de Enlace na Prática

Aula 12 - 09/04 - Parte2: A camada de enlace na prática

  • Discussão sobre os resultados dos laboratórios;
  • Revisão sobre os serviços da camada de enlace;
  • Os protocolos HDLC e PPP como base das redes comerciais;
Aula 13 - 10/04 - Parte2: A Camada de Enlace na Prática

Aula 13 - 10/04 - Parte2: A Camada de Enlace na Prática

  • Finalização do Laboratório da aula 11 (!!!) :P
Aula 14 - 16/04 - Parte 2: Revisão de conteúdos das Camadas 1 e 2

Aula 14 - 16/04 - Parte2: Revisão de conteúdos das Camadas 1 e 2

  • Resolução de exercícios da lista 1 em sala;
Aula 15 - 17/04 - Parte 2: O uso do NETKIT

Aula 15 - 17/04 - Parte2: O uso do NETKIT

O uso do NETKIT

A partir de hoje iremos usar o Netkit para simular vários experimentos sem a necessidade de recorrer a complicadas instalações físicas que envolvem muitos componentes de rede e consequentemente muitos pontos de prováveis problemas de funcionamento. Para usar essa ferramente vá até o link Netkit e faça uma leitura até o item 4.1.5 para entender como se utiliza esta poderosa ferramenta. Após isso faça os experimentos seguintes.

LAN simples

Uma LAN com quatro computadores (pc1, pc2, pc3, pc4). Os computadores virtuais têm IPs 192.168.0.X, sendo X o número computador (ex: pc1 tem IP 192.168.0.1). Use ping para fazer testes de comunicação. Veja o arquivo Lab.conf (configuração da rede). A rede criada nesse experimento está mostrada abaixo:

Exemplo-Lan1-netkit.png

Ao executar esse experimento quatro abas dos computadores virtuais surgirão (um para cada pc virtual). Realize um ping entre os pcs para constatar a operação da LAN.

LAN com switch

Uma LAN com quatro computadores (pc1, pc2, pc3, pc4) interligados por um switch. O switch é implementado por um computador com Linux com 4 portas ethernet. Analise o arquivo Lab.conf. A rede do experimento está mostrada abaixo:

Exemplo-Bridge-netkit.png

LAN com 2 switches

Uma LAN com 6 computadores (pc1 a pc6) interligados por dois switches (switch1 e switch2). Ambos switches são implementados por computadores com Linux com 4 portas ethernet. Observe os valores de tempo de teste dos pings entre pcs de um mesmo switch e entre os dois switches. Compare com a LAN simples (com hub). A rede do experimento está mostrada abaixo:

Exemplo-lan2.png

Uplink para a rede real

O Netkit possibilita que se criem links para a rede real, e com isto as máquinas virtuais podem acessar a rede externa e mesmo a Internet. O link para a rede real funciona como um enlace ponto-a-ponto ethernet entre uma máquina virtual e a máquina real (o sistema hospedeiro), como pode ser visto neste exemplo:

Netkit-uplink.png

A criação do link para rede externa deve ser feita com o link especial uplink. Ele deve ter um endereço IP que será usado somente para criar o link entre a máquina virtual e o sistema hospedeiro. O IP no sistema hospedeiro é sempre o último endereço possível dentro da subrede especificada (no exemplo, seria o IP 10.0.0.2).

pc2[eth1]=uplink:ip=10.0.0.1/30

Se outras máquinas virtuais precisarem acessar a rede externa, devem ter rotas configuradas para usarem o gateway onde foi feito o uplink. Além disso, será necessário ativar o NAT nesse gateway. O NAT pode ser ativado em máquinas virtuais do tipo gateway. Em sua configuração deve-se informar qual a interface de saída onde será feito o NAT:

pc2[type]=gateway

pc2[nat]=eth1

Assim, todos datagramas que sairem pela interface eth1 do gateway pc2 terão seus endereços IP de origem substituídos pelo endereço IP dessa interface.

Por fim, a criaçao do uplink implica executar alguns comandos como root no sistema hospedeiro. Assim, ao ativar a rede o Netkit irá usar o sudo para executar esses comandos. Por isso é possível que a sua senha seja solicitada durante a inicialização da rede virtual.

Uplink em modo bridge

Às vezes uma interface de uma máquina virtual precisa ser exposta na rede real, como se ela pertencesse ao sistema hospedeiro. Neste caso, deve-se criar uma bridge entre a interface da máquina virtual e uma interface real do sistema hospedeiro (de forma semelhante ao que faz o Virtualbox e outros tipos de máquinas virtuais). Uma bridge é um mecanismo existente no Linux para interligar interfaces ethernet em nível de enlace, como se elas formassem um switch. O procedimento para criar uma bridge integrada a uma interface do tipo uplink do Netkit é um tanto trabalhoso, e por isso esse processo foi automatizado.

A criação de um uplink em modo bridge deve ser feita usando o parâmetro bridge ao se declarar uma interface de rede, como mostrado abaixo:

pc[eth0]=uplink:bridge=eth0:ip=192.168.1.100/24

Neste exemplo, será criada uma bridge entre a interface eth0 da máquina virtual pc e a interface eth0 do sistema hospedeiro. Como com isso a interface da máquina virtual estará exposta na rede real, seu endereço IP pode pertencer à subrede da rede real. Se esse endereço IP for de alguma outra subrede, a máquina virtual não conseguirá se comunicar com as máquinas reais, tampouco acessar a Internet. Mas isso pode ser desejável se a intenção for interligar redes virtuais que estejam sendo executadas em diferentes computadores.

Aula 16 - 23/04 - Parte 2: Comutação de Circuitos Virtuais

Aula 16 - 23/04 - Parte2: Comutação de Circuitos Virtuais

  • não compareci - aula será recuperada
Aula 17 - 24/04 - Parte 2: Comutação de Circuitos Virtuais

Aula 17 - 24/04 - Parte2: Comutação de Circuitos Virtuais

Conteúdos Relacionados com:

  • Capítulo 6 e 18 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan
  • Capítulo 2 do livro "Redes de Computadores", de Andrew Tanenbaum

Ferramenta de apoio para configuração de redes: O IPKIT

Como vimos na aula anterior, o Netkit é uma ótima opção para complementar o estudo. Ele funciona como um laboratório de redes, onde se pode criar redes como aquelas que exemplificamos em sala de aula ou mesmo inventar novas redes. Seu uso se destina a fixar conceitos, para que o eventual uso e configuração dos equipamentos reais seja facilitado.

Além do Netkit, o seguinte simulador de roteamento IP, que roda dentro do próprio navegador, pode ajudar a exercitar a divisão de sub redes e a criação de rotas estáticas.

Exercícios

1. Usando o Netkit crie as seguintes redes. Não esqueça de definir as rotas estáticas.

Rede1-1.png

Arquivo do experimento
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
r1[type]=gateway
r2[type]=gateway

pc1[eth0]=link0:ip=192.168.0.1/24
pc2[eth0]=link1:ip=192.168.1.2/24
pc3[eth0]=link2:ip=192.168.2.3/24

r1[eth0]=link0:ip=192.168.0.254/24
r1[eth1]=link1:ip=192.168.1.254/24

r2[eth0]=link0:ip=192.168.0.253/24
r2[eth1]=link2:ip=192.168.2.254/24

pc1[default_gateway]=192.168.0.254
pc2[default_gateway]=192.168.1.254
pc3[default_gateway]=192.168.2.254

r1[route]=192.168.2.0/24:gateway=192.168.0.253
r2[route]=192.168.1.0/24:gateway=192.168.0.254


Rco2-Rede-intro2.png

Arquivo do experimento
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
r1[type]=gateway
r2[type]=gateway
r3[type]=gateway
r4[type]=gateway

pc1[eth0]=lan1:ip=192.168.1.1/24
pc2[eth0]=lan2:ip=192.168.2.1/24
pc3[eth0]=lan3:ip=192.168.3.1/24
pc4[eth0]=lan4:ip=192.168.4.1/24

r1[eth0]=lan1:ip=192.168.1.254/24
r1[eth1]=lan2:ip=192.168.2.254/24

r2[eth0]=lan2:ip=192.168.2.254/24
r2[eth1]=lan3:ip=192.168.3.254/24

r3[eth0]=lan1:ip=192.168.1.254/24
r3[eth1]=lan4:ip=192.168.4.254/24

r4[eth0]=lan3:ip=192.168.3.254/24
r4[eth1]=lan4:ip=192.168.4.254/24


Rco2-Rede-intro3.png

Arquivo do experimento
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
r1[type]=gateway
r2[type]=gateway

pc1[eth0]=lan1:ip=10.0.1.1/26
pc2[eth0]=lan2:ip=192.168.1.1/24
pc3[eth0]=lan3:ip=192.168.2.129/26
pc4[eth0]=lan4:ip=192.168.2.193/26

r1[eth0]=lan1:ip=10.0.1.62/26
r1[eth1]=lan2:ip=192.168.1.254/24

r2[eth0]=lan2:ip=192.168.1.253/24
r2[eth1]=lan3:ip=192.168.2.190/26
r2[eth2]=lan4:ip=192.168.2.254/26

2. Teste a comunicação entre os computadores e roteadores usando o comando ping. Use também o tcpdump ou wireshark para monitorar as interfaces de rede.

  • Slides sobre multiplexadores Aulas 3 e 4 (a partir do item "Redes de Telecomunicações")
Aula 18 - 30/04 - Parte 2: Redes Locais

Aula 18 - 30/04 - Parte2: Redes Locais

  • Solução de exercícios sobre CRC polinomial e Checksum.

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


San.gif
Um tipo de LAN especial para interligar servidores de armazenamento (storage), chamada SAN (Storage Area Network)


Aula 19 - 07/05 - Parte 2: Redes Locais e Padrões IEEE

Aula 19 - 07/05 - Parte 2: Redes Locais e e Padrões IEEE

  • Bibliografia Associada:
    • Capítulos 12 e 13 do livro "Comunicação de Dados e Redes de Computadores", de Behrouz Forouzan.
    • Capítulo 5 do livro "Redes de Computadores e a Internet", de James Kurose.
    • Capítulo 4 do livro "Redes de Computadores", de Andrew Tanenbaum.

Veja abaixo o desenho usado por Bob Metcalfe, um dos criadores da Ethernet, para apresentação em uma conferência em 1976.

Ethernet.png

Até hoje esses conceitos se mantiveram. Atualmente temos os seguintes elementos em uma rede Ethernet:

  • Estações: equipamentos que se comunicam pela rede. Ex: computadores e roteadores.
  • Interface de rede (NIC): dispositivo embutido em cada estação com a finalidade de prover o acesso à rede. Implementa as camadas PHY e MAC.
  • Meio de transmissão: representado pelos cabos por onde os quadros ethernet são transmitidos. Esses cabos são conectados às interfaces de rede das estações.
  • Switch: equipamento de interconexão usado para interligar as estações. Cada estação é conectada a um switch por meio de um cabo. Um switch usualmente possui múltiplas interfaces de rede (12, 24 ou mais). Uma rede com switches apresenta uma topologia física em estrela.


Lan2-2011-1.png
Uma LAN com switches

... mas no início redes Ethernet não eram assim ! Leia o material de referência para ver como eram essas redes num passado não muito distante.

Arquitetura IEEE 802

Define um conjunto de normas e tecnologias no escopo das camadas física (PHY) e de enlace. A camada de enlace é dividida em duas subcamadas:

  • LLC (Logical Link Control): o equivalente a um protocolo de enlace de fato, porém na prática de uso restrito (pouco utilizada).
  • MAC (Medium Access Control): um protocolo de acesso ao meio de transmissão, que depende do tipo de meio físico e tecnologia de comunicação. Esse tipo de protocolo é necessário quando o meio de transmissão é compartilhado.


Arq-ieee.png

Protocolo de acesso ao meio (MAC)

Parte da camada de enlace na arquitetura IEEE 802, tem papel fundamental na comunicação entre estações. O MAC é responsável por:

  • Definir um formato de quadro onde deve ser encapsulada uma PDU de um protocolo de camada superior.


Quadro-ethernet.png
Quadro ethernet


  • Endereçar as estações, já que o meio de transmissão é multiponto (ver campos Endereço Destino (destination address) e Endereço de origem (source address) no quadro Ethenet).
  • Acessar o meio para efetuar a transmissão de quadros, resolvendo conflitos de acesso quando necessário. Um conflito de acesso (chamado de colisão) pode ocorrer em alguns casos quando mais de uma estação tenta transmitir ao mesmo tempo.


Csmacd-fluxograma.jpg
Fluxograma para o acesso ao meio com CSMA/CD.


O acesso ao meio 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.

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.

Atividade Extra: Artigo resumo sobre desempenho da ethernet

Atividade Resumo1

A arquitetura IEEE802

  • Arquitetura IEEE 802 e Redes locais IEEE 802.3 (Ethernet): slides.


Aula 20 - 08/05 - Avaliação A1

Aula 20 - 08/05 - Avaliação A1

  • Avaliação A1 - Parte1 e Parte2 (introdução camada 2)
Aula 21 - 14/05 - Correção em sala da avaliação A1

Aula 21 - 14/05 - Parte 2 - Arquitetura IEEE

  • Correção da Prova A1.
Aula 22 - 15/05 - Parte2 - Arquitetura IEEE

Aula 22 - 15/05 - Parte 2 - Arquitetura IEEE

Conteúdo Associado:

  • Capítulo 13 do livro "Comunicação de Dados e Redes de Computadores, 4a ed.", de Behrouz Forouzan.
  • Capítulo 5 do livro "Redes de Computadores e a Internet, 5a ed.", de James Kurose.
  • Capítulo 4 do livro "Redes de Computadores, 4a ed.", de Andrew Tanenbaum.

Início das atividades:

  • Continuação e finalização slides sobre arquitetura IEEE 802 e Redes locais IEEE 802.3 (Ethernet):
Aula 23 - 21/05 - Parte2 - Segmentação de redes e redes locais virtuais (VLANs)

Aula 23 - 21/05 - Parte 2 - Segmentação de redes e redes locais virtuais (VLANs)

Conteúdo Associado:

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

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)

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

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

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

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

Redes locais e VLANs

Atividade

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
    
  1. Criar a topologia lógica usando VLANs
    ... isso é com vocês!

A nova rede do IFC-SJ

Voltando à segmentação da rede do campus São José, vamos implantar 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


Aula 24 - 22/05 - Parte2: Protegendo a rede com Spannig Tree Protocol (STP) - IEEE802.3d

Aula 24 - 22/05 - Parte2: Protegendo a rede com Spannig Tree Protocol (STP) - IEEE802.3d

  • Explicações adicionais sobre VLANs e solução da rede Vlan-ex1.png da aula anterior:
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:vlan_untagged=1
sw1[eth1]=sw1-port1:vlan_untagged=3
sw1[eth2]=sw1-port2:vlan_untagged=2
sw1[eth3]=link-sw1-sw2:vlan_tagged=1,2,3
 
sw2[eth0]=sw2-port0:vlan_tagged=1,2,3
sw2[eth1]=sw2-port1:vlan_untagged=3
sw2[eth2]=sw2-port2:vlan_untagged=1
sw2[eth3]=link-sw1-sw2:vlan_tagged=1,2,3
 
pc1[eth0]=sw1-port0:ip=192.168.1.1/24
pc2[eth0]=sw1-port1:ip=192.168.3.2/24
pc6[eth0]=sw1-port2:ip=192.168.2.6/24

pc3[eth0]=sw2-port0:vlan_tagged=(1,ip=192.168.1.3/24),(2,ip=192.168.2.3/24),(3,ip=192.168.3.3/24)
pc4[eth0]=sw2-port1:ip=192.168.3.4/24
pc5[eth0]=sw2-port2:ip=192.168.1.5/24

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.


Aula 25 - 28/05 - Parte 2: Protegendo a rede com Spannig Tree Protocol (STP) - IEEE802.3d - continuação

Aula 25 - 28/05 - Parte 2: Protegendo a rede com Spannig Tree Protocol (STP) - IEEE802.3d - continuação

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.


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.


Aula 26 - 29/05 - Parte 2: Controle de Acesso com IEEE 802.1x e Trunking IEEE 802.1ax

Aula 26 - 29/05 - Parte 2: Controle de Acesso com IEEE 802.1x e Trunking IEEE 802.1ax

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.

Padrão IEEE 802.1x


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

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.


Aula 27 - 04/06 - Parte3: Redes sem Fio e o Padrão IEEE 802.11

Aula 27 - 04/06 - 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
Aula 28 - 05/06 - Parte 3: Desempenho de Redes IEEE 802.11

Aula 28 - 05/06 - Parte 3: 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. Também será investigado o tráfego nessa rede, usando o analisador de protocolo wireshark.

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

Dois APs têm endereços em suas LANs IP 192.168.1.250 e 192.168.1.251, e estão conectados à rede do laboratório. O experimento implica configurar alguns computadores para serem estações sem-fio na WLAN, e em seguida fazer uma série de experimentos quanto ao funcionamento da WLAN.

  1. Há interfaces de rede sem fio disponíveis do tipo USB do fabricante TP-linK. Conecte-a ao computador verifique se foi reconhecida (use “ifconfig -a” e procure por interfaces com nome ra).
  2. Para testar a interface, deve-se procurar os APs existentes. Use o Network Manager, que pode ser acessado a partir da barra de tarefas. A rede sem-fio a ser usada tem ESSID “REDES1”. Associe a interface de rede sem-fio a esse ESSID clicando em seu nome na listagem das redes sem-fio mostrada pelo Network Manager.
  3. Usando o comando sudo iwconfig, verifique se seu computador se associou ao AP. Observe também a intensidade do sinal e outras informações sobre o enlace sem-fio. Desative a interface de rede cabeada com comando sudo ifconfig eth0 down, e então teste a comunicação com ping 192.168.1.1. Se não funcionar, revise a configuração da interface sem-fio.
  4. Verifique a que AP sua estação se associou (use iwconfig). Identifique o BSSID, canal de comunicação, intensidade de sinal e taxa de dados obtidos. Confronte esses dados com a configuração e status na interface gráfica de configuração das APs. Para isso basta colocar o endereço IP da AP que voce está associado no browser e inserir o login "admin" (sem preencher o campo senha);
  5. 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 sua estação sem-fio e o computador 192.168.1.1, que está na rede cabeada. Você deve executar este comando:
    netperf -f k -H 192.168.1.1
    
    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;
  6. Repita a experiência, porém fazendo a medição entre sua 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?
  7. Para verificar o desempenho sob uma maior intensidade de tráfego, todas as equipes devem gerar tráfego intenso simultaneamente em direção à estação 192.168.1.1. Isto deve ser feito da seguinte forma: todas as equipes usam o netperf ao mesmo tempo para medir a capacidade do enlace sem-fio. Quer dizer, todos devem executar sincronizadamente o comando:
    netperf -f k -H 192.168.1.1
    
  8. O experimento do item anterior também pode ser repetido com uma situação mais próxima do real, como o download de um grande arquivo. Assim, todas as equipes devem fazer o download de um arquivo de grande tamanho, usando o comando:
    wget http://tele.sj.ifsc.edu.br/~msobral/rmu/videos/wsm-bonus4.avi
    
    Repare na taxa de transferência sustentável, e se ela oscila ao longo do tempo.
  9. Use o wireshark para investigar a comunicação pela rede sem-fio (na interface ra0). Repare nos endereços e demais informações dos quadros.
    sudo wireshark
    
  10. Repita a captura de quadros com o wireshark, porém antes execute os seguintes comandos:
    sudo ifconfig ra0 down
    sudo iwconfig ra0 mode monitor
    sudo ifconfig ra0 up
    sudo wireshark
    
    No wireshark selecione Capture → Options. Escolha a interface ra0, e clique em Start. Observe os quadros coletados, entre eles Beacon, Data, Associate Request. Compare as informações contidas nos quadros com aquelas descritas nos slides sobre redes sem-fio IEEE 802.11. Note também as semelhanças e diferenças com quadros Ethernet.

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


Aula 29 - 11/06 - parte 3 - Redes Ad-hoc, Redes Mesh e Redes Infraestruturadas

Aula 29 - 11/06 - 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


Aula 30 - 18/06 - parte 3 - Segurança em redes sem fio

Aula 30 - 18/06 - parte 3 - Segurança em Redes sem fio

Uma rede sem-fio para o IFSC-SJ

A rede sem-fio do campus Sao Jose do IFSC foi reformulada. A rede a ser implantada deve atender os seguintes requisitos:

  • Apresentar boa cobertura em toda a escola: em todas as localidades do campus, deve-se conseguir uma taxa nominal de ao menos 20 Mbps.
  • Os usuarios da rede sem-fio devem ter acesso via segmento Pedagogica.
  • Para acessar a rede sem-fio, os usuários devem ser autenticados individualmente.
  • Todas as comunicacões dos usuários devem ser encriptadas.

Para servir de piloto, foram instalados tres pontos de acesso na rede, como se pode ver abaixo:

Ifsc-sj-wlan.png

Requisitos e Mecanismos de Seguranca

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 (chamados de Rogue AP), 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.


Adicionalmente, este site lista 10 ameaças à segurança de redes sem-fio. E este outro apresenta 10 dicas para melhorar a segurança de uma rede sem-fio (apesar de ter sido escrito em 2007, isso ainda são válidas).


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 a técnica de WarDriving, 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

Existem inclusive símbolos (warchalking) usados para indicar em ruas e edifícios a existência de redes sem-fio abertas. Esta rápida explicação sobre warchalking foi obtida em um artigo sobre WarChalking:

 O warchalking foi criado pelo web designer Matt Jones que, enquanto almoçava com dois amigos, viu alguns estudantes
utilizando conexões wireless para trabalhar a partir de uma praça pública, como se fosse um escritório. Um dos amigos de 
Matt lembrou-se de uma “linguagem” de sinais utilizada por mendigos e viajantes com o objetivo de informar onde poderiam 
achar comida grátis, uma cama confortável ou até mesmo encrenca, e surgiu a idéia de demarcar a presença de redes wireless 
com sinais parecidos.


Os símbolos do warchalking são:

Warchalking2.jpg


Assim, uma rede sem-fio minimamente bem configurada 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.

O primeiro mecanismo de segurança para redes IEEE 802.11 foi WEP (Wired Equivalent Privacy), que foi projetado para prover um acesso com mesmo nível de segurança que acesso cabeado. O acesso à rede é concedido a quem conhecer uma senha compartilhada, sendo que as comunicações entre usuários e ponto de acesso são encriptadas (cada usuário obtém uma chave exclusiva, que é gerada durante a negociação inicial com o AP). Na prática, WEP procura prover somente o serviço de sigilo, e nem isso faz bem feito. O seguinte fragmento de texto obtido na Wikipedia explica porque atualmente WEP não deve ser usado em hipótese alguma:

WEP is one of the least secure forms of security. A network that is secured with WEP has been cracked in 3 minutes 
by the FBI.[1] WEP is an old IEEE 802.11 standard from 1999 which was outdated in 2003 by WPA or 
Wi-Fi Protected Access.

Há outros 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), e que estão definidos no padrão IEEE 802.11i. 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.

Atividade com WEP e WPA

  • configurar uma rede local sem-fio (WLAN)
  • ativar mecanismos de segurança WEP e WPA de uma WLAN

Introdução

O experimento de hoje diz respeito à criação de uma WLAN com um BSS baseado em AP, e à ativação de mecanismos de segurança WEP e WPA para o acesso à rede. WEP (Wired Equivalent Privacy) se baseia em chaves compartilhadas, e sabe-se passível de ser facilmente quebrado, sendo que o próprio IEEE faz anos recomenda fortemente que não seja usado (ver link que acompanha esse roteiro). WPA (Wifi Protected Access) define um framework para autenticação e privacidade, o qual possibilita o uso de diferentes métodos para efetuar se obter um acesso seguro à rede sem-fio – entre eles, uso de IEEE 802.1x com EAP. O WPA foi escrito a partir de uma versão prévia da norma IEEE 802.11i, sendo que posteriormente foi definido o WPA2, que corresponde em larga medida à versão final desse padrão.

Roteiro

  1. Configure um AP do laboratório com IP 192.168.1.250 e BSSID=REDES1, e capaz de trabalhar com WEP, WPA-PSK e WPA-EAP. A interface web do AP mostra as opções de configuração de segurança.
  2. Há interfaces de rede sem-fio USB a serem usadas nos computadores. Em cada um desses computadores o serviço do Ubuntu NetworkManager deve ser utilizado para editar a configuração da interface de rede sem-fio diretamente pela interface gráfica.
  3. Para fins de comparação, configure o AP inicialmente com modo de segurança desativado. Usando o Network Manager conecte seu computador à rede sem-fio REDES1, 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):
      • Se sua interface wifi é da Edimax (cinza):
        sudo iw dev wlan0 interface add mon0 type monitor
        sudo ifconfig mon0 up
        sudo iwconfig mon0 chan 6
        
      • Se sua interface wifi é da TP-Link (branca): nesse caso não será possível se comunicar pela rede sem-fio e monitorar o tráfego simultaneamente.
        sudo ifconfig ra0 up
        sudo iwconfig ra0 mode monitor
        sudo iwconfig ra0 chan 6
        
        ... 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. Agora o AP deve ser 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 mesma chave, quando via Network Manager se tentar conectar à rede sem-fio REDES1. 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. Deve aparecer um resultado semelhante a este:
    wlan0 IEEE 802.11g ESSID:"REDES1" 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
    
  5. Execute um ping 192.168.1.1, e deixe-o rodando.
  6. Usando o wireshark faça a captura de pacotes na interface mon0 (ou ra0). 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. Sendo o WEP inseguro, em ambiente corporativo ou doméstico recomenda-se o uso de WPA (WiFi Protected Access). 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 (dentre eles, PEAP e EAP-TTLS vêm tendo maior aceitação). Assim, para um primeiro experimento deve-se usar WPA-PSK, por ser mais simples. Configure então o AP para usar WPA-PSK, com a chave compartilhada fimdeano.
  8. Deixe o wireshark capturando pacotes na interface wlan0. Em seguida, usando o Network Manager conecte seu computador à rede REDES1. Observe os quadros inicialmente trocados entre seu computador e o AP. Repare que os primeiros quadros são de um protocolo chamado EAPOL, o qual é usado para fazer a negociação da chave de encriptação do WPA-PSK.
    • Quantas mensagens são trocadas entre seu computador e o AP até completar a autenticação?
    • Quanto tempo levou para fazer a autenticação?
    • Quais os protocolos envolvidos nessa mensagens?
  9. 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.
  10. 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. Assim, esse servidor Radius deve estar corretamente configurado em um computador com IP conhecido para aceitar a autenticação com EAP-TTLS.
Aula 31 - 25/06 - parte 4 - Redes de Telecomunicações Frame Relay e ATM

Aula 31 - 25/06 - Redes de Telecomunicações Frame Relay e ATM

  • Introdução a WAN: conceitos básicos (ver Slides)


Aula 32 - 26/06 - parte 4 - MPLS MultiProtcol Label Switching

Aula 32 - 26/06 - parte 4 - 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


Aula 33 - 02/07 - parte 4 - MPLS - Labelspaces e Tunels

Aula 33 - 02/07 - parte 4 - MPLS - Labelspaces e Tunels

Atividade

Questão: para que serve um túnel MPLS?


Aula 34 - 03/07 - Avaliação A2

Aula 34 - 03/07 - Avaliação A2

  • Avaliação A2 - Parte 2 e Parte 3
Aula 35 - 09/07 - parte 4 - Apresentação Pesquisa de Campo

Aula 35 - 09/07 - parte 4 - Apresentação Pesquisa de Campo

  • Tempo restante após apresentações usado para tira-dúvidas para a recuperação
Aula 36 - 10/07 - Parte 4: Encerramento da Disciplina

Aula 36 - 10/07: parte 4 - Encerramento da Disciplina

  • Avaliações de Recuperação A1 e A2


Curso de Engenharia de Telecomunicações