Mudanças entre as edições de "PJI11103-2016-2"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 407: Linha 407:
 
{{Collapse bottom | Aula 7}}
 
{{Collapse bottom | Aula 7}}
  
==01/09/16: Wi-Fi ==
+
==01/09/16: DHCP ==
  
 
{{Collapse top | Aula 8}}
 
{{Collapse top | Aula 8}}
  
 +
<!--
 
=== Padrão IEEE 802.11 ===
 
=== Padrão IEEE 802.11 ===
  
Linha 503: Linha 504:
 
Além dos mecanismos WPA, definidos na norma [http://en.wikipedia.org/wiki/IEEE_802.11i-2004 IEEE 802.11i], outra forma de implantar controle de acesso em redes sem-fio se vale de um ''portal de captura''. Quando um usuário não identificado acessa a rede, o acesso ao ponto de acesso é concedido mas ao tentar navegar na Web seu acesso é desviado para uma página predefinida. Nessa página o usuário deve se identificar (ex: com ''login'' e senha), e em caso de sucesso seu acesso à Internet é liberado. Essa técnica se vale de uma combinação de mecanismos (firewall com filtro IP, serviço Web, uso de programas para autenticação) para controlar o acesso dos usuários. No entanto, não provê sigilo das comunicações nem autenticação de pontos de acesso ao usuário. Sua atratividade reside na simplicidade de implantação e uso (não necessita de ''supplicant''), sendo uma escolha comum em ''hot spots'' como aeroportos e ''cyber cafes''. No [[Projeto_Integrador_-_2009.2| Projeto Integrador 2009.2]] as equipes implantaram uma infra-estrutura que usava essa técnica.
 
Além dos mecanismos WPA, definidos na norma [http://en.wikipedia.org/wiki/IEEE_802.11i-2004 IEEE 802.11i], outra forma de implantar controle de acesso em redes sem-fio se vale de um ''portal de captura''. Quando um usuário não identificado acessa a rede, o acesso ao ponto de acesso é concedido mas ao tentar navegar na Web seu acesso é desviado para uma página predefinida. Nessa página o usuário deve se identificar (ex: com ''login'' e senha), e em caso de sucesso seu acesso à Internet é liberado. Essa técnica se vale de uma combinação de mecanismos (firewall com filtro IP, serviço Web, uso de programas para autenticação) para controlar o acesso dos usuários. No entanto, não provê sigilo das comunicações nem autenticação de pontos de acesso ao usuário. Sua atratividade reside na simplicidade de implantação e uso (não necessita de ''supplicant''), sendo uma escolha comum em ''hot spots'' como aeroportos e ''cyber cafes''. No [[Projeto_Integrador_-_2009.2| Projeto Integrador 2009.2]] as equipes implantaram uma infra-estrutura que usava essa técnica.
  
 +
-->
 +
 +
===DHCP===
 +
 +
Ver capítulo 31 da [[Media:Gerencia_de_redes.pdf|apostila]].
 +
 +
Toda máquina que for participar de uma rede, deve primeiro, ter um endereço IP. Em uma rede pequena (até 20 máquinas), a tarefa de configurar IPs é relativamente simples. Mas em uma rede grande com centenas de máquinas, esta tarefa de endereçamento torna-se trabalhosa. Para facilitar as coisas, foi criado um mecanismo de endereçamento automático
 +
de IP para máquinas em uma rede TCP/IP: o DHCP (Dynamic Host Configuration Protocol – Protocolo de configuração de máquinas dinâmico). Um servidor DHCP pode facilitar muito a vida do administrador da rede.
 +
 +
Dentre as configurações de serviços que podem ser passadas ao ''host'' cliente por dhcp são:
 +
 +
#Endereçamento IP, máscara de subrede, Gateway, Servidor(es) DNS,
 +
#nome de host e/ou de domínio;
 +
#Servidores e domínio NIS (autenticação);
 +
#Servidores WINS (para redes Microsoft®);
 +
#Servidores NTP (Hora);
 +
#Imagens de boot para Terminais burros;
 +
 +
Como podemos observar, tudo o que é necessário para que uma máquina esteja em condições de ingressar em uma rede e usufruir de tudo o que ela possa oferecer, o DHCP se faz útil para sua configuração automática.
 +
 +
===Atividade===
 +
 +
Em nosso experimento será usado o [http://www.isc.org/software/dhcp servidor DHCP desenvolvido pelo ISC]. Para usá-lo devem-se seguir os passos descritos abaixo.
 +
 +
# Instalar o serviço: <syntaxhighlight lang=bash>
 +
apt-get install -y dhcp3-server
 +
</syntaxhighlight>
 +
# Configurar em ''/etc/dhcp/dhcpd.conf'', definindo as configurações globais e as redes onde o servidor DHCP irá ofertar endereços. Apague todo o conteúdo do arquivo original. '''X''' = 4, 5, 6 ou 7 a sua escolha, porém deve ser acordado entre os alunos quem usará cada faixa para não haver duplicação. <syntaxhighlight lang=text>
 +
default-lease-time 600;
 +
max-lease-time 7200;
 +
option subnet-mask 255.255.255.0;
 +
option broadcast-address 192.168.1.255;
 +
option routers 192.168.1.1;
 +
option domain-name-servers 200.135.37.65;
 +
 +
subnet 192.168.1.0 netmask 255.255.255.0 {
 +
  range 192.168.1.X1 192.168.1.X5;
 +
}
 +
</syntaxhighlight>
 +
# Editar a interface que vai atender ao DHCP, no exemplo abaixo eth0, se a sua máquina utilizar uma interface diferente de eth0 faça a devida correção, por exemplo, eth1, eth2...: <syntaxhighlight lang=text>
 +
vi /etc/default/isc-dhcp-server
 +
    INTERFACES="eth0" </syntaxhighlight>
 +
# Iniciar o servidor DHCP: <syntaxhighlight lang=text>
 +
service isc-dhcp-server restart
 +
</syntaxhighlight>
 +
# Verifique o log no servidor e observe a troca de mensagens entre o cliente e o servidor: <syntaxhighlight lang=text>
 +
tail -f /var/log/syslog </syntaxhighlight>
 +
# Intale e use o utilitário o '''dhclient''' de sua máquina virtual com ambiente gráfico como cliente para testes <syntaxhighlight lang=bash>
 +
apt-get install isc-dhcp-client
 +
dhclient -v eth0 </syntaxhighlight>
 +
# Verifique o log no servidor e observe a troca de mensagens entre o cliente e o servidor. <syntaxhighlight lang=text>
 +
tail -f /var/log/syslog </syntaxhighlight>
 +
# Verifique os aluguéis no seu servidor com: <syntaxhighlight lang=text>
 +
cat /var/lib/dhcp/dhcpd.leases </syntaxhighlight>
 +
# Desafio: fixe um IP para algum cliente seu (por exemplo seu vizinho).
 +
 +
Maiores detalhes sobre esse servidor DHCP:
 +
* [http://manpages.ubuntu.com/manpages/karmic/en/man8/dhcpd.8.html dhcpd - o servidor DHCP]
 +
* [http://manpages.ubuntu.com/manpages/dapper/en/man5/dhcpd.conf.5.html dhcpd.conf - o arquivo de configuração do DHCP]
 +
* [http://manpages.ubuntu.com/manpages/karmic/en/man5/dhcp-options.5.html Opções do protocolo DHCP]
 +
* [http://manpages.ubuntu.com/manpages/dapper/en/man8/dhclient.8.html dhclient - o cliente DHCP]
  
 
{{Collapse bottom | Aula 8}}
 
{{Collapse bottom | Aula 8}}

Edição das 19h36min de 1 de setembro de 2016

Endereço encurtado: http://bit.ly/pji320162

Link cronograma: https://drive.google.com/open?id=1NL4CXMEtKw81K5qVLZCydJ_UR832UxqT38THHOQ4TG4


Diário de aula de PJI - 2016-2 - Prof. Simara Sonaglio

Dados Importantes

Professora: Simara Sonaglio
Email: simara.sonaglio@ifsc.edu.br

Professor: Ederson Torresini
Email: etorresini@ifsc.edu.br

Encontros: quartas e quintas das 18:50 às 22:10 horas.

Diário de aulas

10/08/16: Apresentação da disciplina e discussão do projeto a ser desenvolvido

Aula 1


Itens sugeridos pelos alunos para possível implementação no projeto:

  1. Provimento com IP válido via fibra [[1]] [[2]] e redundância via rádio [[3]] [[4]]
  2. Controle de acesso [[5]] [[6]] [[7]]
  3. Wi-Fi [[8]] [[9]]
  4. Combate automatizado a incêndio
  5. Sistema de energia com nobreak
  6. Câmera de vigilância com acesso remoto
  7. Sistema de alarme
  8. Backup de dados
  9. Acesso remoto ao sistema da empresa
  10. Provimento via fibra e par metálico
  11. Dispositivos móveis para controle de estoque
  12. Acesso a visitantes e colaboradores
  13. Servidores de banco de dados
  14. Sensores de alarme e presença
  15. Identificação facial
  16. Serviço de domínio integrado com tag
  17. Portão com portal RFID [[10]]
  18. Servidor de email
  19. Servidor HTTP na nuvem
  20. Servidor DHCP
  21. Servidor DNS com cache
  22. Firewall
  23. Proxy com controle por usuário
  24. PABX IP com URA
  25. Registro na operadora VoIP
  26. Wi-Fi para visitantes e para colaboradores com controle de acesso [[11]] [[12]] [[13]] apostila
  27. Túnel MPLS com serviços integrados, como VoIP
  28. Sistema ERP [[14]] via Web integrado a RFID
  29. Câmeras sem fio
  30. Banco de baterias
  31. CFTV com acesso externo
  32. Notificação de recebimento/entrega de carga no galpão
  33. Rastreamento por GPS da entrega integrado ao site
  34. Antena repetidora GSM

11/08/16: Discussão sobre os itens levantados pelo alunos

Aula 2
Física/Enlace

Provimento com IP válido via fibra e redundância via rádio Wi-Fi
Sistema de energia com nobreak
Provimento via fibra e par metálico
Wi-Fi para visitantes e para colaboradores com controle de acesso
Banco de baterias
Antena repetidora GSM

Rede

Firewall
Túnel MPLS com serviços integrados, como VoIP

Aplicações

Controle de acesso
Combate automatizado a incêndio
Câmera de vigilância com acesso remoto
Sistema de alarme
Backup de dados
Acesso remoto ao sistema da empresa
Dispositivos móveis para controle de estoque
Acesso a visitantes e colaboradores
Servidores de banco de dados
Sensores de alarme e presença
Identificação facial
Serviço de domínio integrado com tag
Portão com portal RFID
Servidor de email
Servidor HTTP na nuvem
Servidor DHCP
Servidor DNS com cache
Proxy com controle por usuário
PABX IP com URA
Registro na operadora VoIP
Sistema ERP via Web integrado a RFID
Câmeras sem fio
CFTV com acesso externo
Notificação de recebimento/entrega de carga no galpão
Rastreamento por GPS da entrega integrado ao site


Levantamento de itens necessários para implantação das soluções propostas:

Provimento via fibra
  1. Conversores ópticos/elétricos em ambos os lados (OLT e ONT)
  2. Fibras


Enlace via rádio
  1. Antenas no cliente e na operadora
  2. Rádios no cliente e na operadora


ADSL
  1. Par metálico
  2. Modens em ambos os lados
  3. DSLAM na operadora
  4. Concentrador de acesso
  5. Servidor RADIUS


Wi-Fi com controle de acesso integrado
e com ampla área de cobertura
  1. APs
  2. Mapeamento de áreas de cobertura de cada AP
  3. Uso de canais diferentes nos APs
  4. Integração servidor RADIUS
  5. Integração com LDAP

17/08/16: Discussão sobre os itens levantados pelo alunos

Aula 3

Memória da aula será acrescentada posteriormente

18/08/16: ADSL

Aula 4


Na infraestrutura ADSL, cabem destacar alguns elementos:

  • modem ADSL:O Modem ADSL que temos em casa também é chamado por outro nome: tranceptor. Os engenheiros na companhia telefônica ou no provedor de internet (ISP) o chamam de ATU-R. Independentemente do nome pelo qual é chamado, ele é o ponto em que os dados do computador ou rede do usuário se conectam com a linha

DSL. O Modem pode operar basicamente de duas formas: como roteador ou como bridge. Quando funciona como roteador, o modem possui recursos internos para estabelecer a conexão lógica com o AC. Quando funciona como bridge, os recursos necessários para o estabelecimento de uma conexão lógica devem estar instalados no computador, como o protocolo PPPoE.

  • splitter: filtro que separa os sinais de voz e de dados. São usados tanto do lado do assinante quanto no DSLAM.
  • DSLAM (DSL Access Multiplexer): multiplexador de acesso ADSL, que recebe as linhas dos assinantes do lado da operadora. Esse componente faz a intermediação entre os assinantes e a rede de dados da operadora. Dentre suas atribuições, destacam-se a modulação do sinal das linhas dos assinantes, a limitação das taxas de downstream e upstream de acordo com o contratado pelos assinantes, e as conversões de protocolos de enlace (quando necessárias) para a rede da operadora.
  • AC (concentrador de acesso): equipamento que concentra as pontas dos enlaces de dados dos assinantes no lado da rede da operadora.

A parte da infraestrutura ADSL dentro da rede de dados da operadora inclui equipamentos DSLAM (muitos deles), um ou mais AC e as redes de comunicação para interligá-los. Note-se que quem dá acesso de fato à Internet é o AC. A figura abaixo ilustra esses componentes.

Dslam-infra.png

O enlace de dados entre o equipamento do assinante e a rede da operadora pode ser feita de diferentes formas. Esse enlace é visto pelo assinante como seu enlace para a Internet - i.e. ele obtém seu endereço IP fornecido pela operadora. Os tipos de enlace de dados ADSL mais usados são:

  • PPPoE (PPP over Ethernet): cria um enlace ponto-a-ponto com protocolo PPP, cujos quadros são encapsulados em quadros Ethernet. Esta é a forma mais utilizada para assinantes residenciais.
  • PPPoA (PPP over ATM): cria um enlace ponto-a-ponto com protocolo PPP, cujos quadros são encapsulados em mensagens AAL5 da arquitetura ATM.
  • EoA (Ethernet over ATM): cria um enlace Ethernet, cujos quadros são encapsulados em mensagens AAL5 da arquitetura ATM.


O enlace PPPoE funciona como se tivesse um link ponto-a-ponto entre o roteador ADSL e um concentrador de acesso (AC). Quer dizer, parece que existe um fio ligando diretamente esses dois equipamentos, apesar de na realidade existir toda uma infraestrutura entre os dois. Isso pode ser visualizado na figura abaixo. Em cada ponta desse link PPPoE há um endereço IP usado pelos respectivos equipamentos.

Enlace-pppoe.png


ATIVIDADE 1


Cada equipe deve estabelecer seu enlace WAN usando ADSL. O modem ADSL deve ser configurado para trabalhar em modo PPPoE. Em seguida, fazer as configurações de rede necessárias em uma máquina virtual e fazer testes diversos afim de testar a conectividade de sua rede.


Configurações ADSL

Cada link ADSL deve ter seu IP dinamicamente configurado, o qual deve ser um IP válido fornecido à equipe pelo provedor (professores).

Os seguintes parâmetros dos modems ADSL devem ter estes valores:

  • Port: 0
  • VPI: 8
  • VCI: 35
  • Encapsulamento: LLC/SNAP
  • Modo: PPPoE
  • User: usuario1
  • Password: senha1
  • NÃO ativar firewall.
  • Ativar NAT


ATIVIDADE 2


Nesta atividade o modem deve ser configurado para operar em modo Bridge e um computador Linux deve ser preparado para user PPPoE.


A seguir há uma explicação sobre como realizar as configurações necessárias para estabelecer o enlace PPPoE em computador Linux:

  1. Instale o software necessário:
    sudo apt-get install pppoe
    
  2. Edite o arquivo /etc/ppp/peers/adsl, que deve ficar com este conteúdo:
    pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452 -C pji"
    noipdefault
    usepeerdns
    defaultroute
    hide-password
    lcp-echo-interval 20
    lcp-echo-failure 3
    connect /bin/true
    noauth
    persist
    mtu 1492
    noaccomp
    user usuario1
    default-asyncmap
    
  3. Edite o arquivo /etc/ppp/chap-secrets e acrescente o seguinte:
    usuario1   *   senha1
    
  4. Ative o enlace PPPoE executando o seguinte comando:
    sudo pppd call adsl
    
  5. Faça testes de conectividade


PPPoE (PPP over Ethernet)


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

Pppoe architecture.gif


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


Pppoe-pdu.png


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

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

      Pppoe-discovery.png

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

ATIVIDADE 3


Na Atividade 3 os alunos deverão, em um único grupo, criar o AC da operadora ADSL que será utilizada no projeto. Para isso devem executar nesta máquina que será o AC os seguintes passos:

  1. Instalar o pacote no AC: sudo apt-get install pppoe</syntaxhighlight>
  2. No AC crie o arquivo /etc/ppp/pppoe-server-options com o seguinte conteúdo:

require-chap noauth login lcp-echo-interval 10 lcp-echo-failure 2 ms-dns 200.135.37.65 netmask 255.255.255.0 noipdefault debug kdebug 4 </syntaxhighlight>

  1. Crie no AC o arquivo /etc/ppp/chap-secrets com o seguinte conteúdo:

usuario1 * senha1 </syntaxhighlight>

  1. Crie o arquivo /etc/ppp/faixa-ip no AC com o seguinte conteúdo:

192.168.10X.10-50</syntaxhighlight>

  1. Ative o servidor PPPoE no AC:

pppoe-server -C pji -L 192.168.10X.200 -p /etc/ppp/faixa-ip -I eth1 </syntaxhighlight>

  1. Em máquinas virtuais, testar estabelecer os enlaces PPPoE conforme foi feito na Atividade 2.
  2. Veja no tcpdump o tráfego que foi criado durante o estabelecimento do enlace. Qual a sequência de quadros PPPoE trocada entre AC e computador?
  3. Observe se foi criada a interface ppp0. Confira o IP que ela está usando, o tipo de encapsulamento e a MTU. Confira também as interfaces ppp no AC, observando as mesmas informações.
  4. Tente usar a rede a partir do computador. Primeiro faça ping no AC, e em seguida tente acessar a rede externa. Foi possível?
  5. Coloque a máquina AC para rotear e mascarar pacotes.

Demais itens configurados

  1. A máquina onde foi feito o AC deve fazer a interface entre a rede da "Operadora" e a Internet. Sendo assim, esta máquina precisa rotear pacotes. O roteamento de pacotes nesta máquina pode ser ativado utilizando-se um dos dois comandos a seguir, sendo a primeira forma persistente e a segunda será perdida no boot: sudo sysctl -w net.ipv4.ip_forward=1

echo 1 > /proc/sys/net/ipv4/ip_forward</syntaxhighlight>

  1. Esta máquina também deve fazer NAT para trocar IPs privados por IPs públicos. Isto pode ser feito com o seguinte comando: sudo iptables -t nat -A POSTROUTING -o int_saida -j MASQUERADE </syntaxhighlight>
  2. Para que estas configurações não sejam perdidas quando a máquina for reiniciada, deve-se inserir estes comandos no arquivo /etc/rc.local

24/08/16: ADSL

Aula 5

Continuação da Aula 4.

25/08/16: LAN

Aula 6

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

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

VLAN

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


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

Arquivo:2960 pbr.pdf


Links úteis | Comandos Comandos

31/08/16: LAN

Aula 7

Agregação de enlace

Após implantada é natural que uma rede cresça ou tenha sua topologia alterada. Assim, seu dimensionamento, pensado (espera-se) cuidadosamente durante seu projeto, pode não ser mais o ideal ou mesmo tornar-se inadequado. Isso é particularmente observado nos equipamentos que interligam a rede, tais como switches de núcleo (core switches).

Num projeto de uma rede de médio ou grande porte, um ou mais switches de núcleo interligam os demais segmentos da rede. Desta forma, por esses switches potencialmente trafega uma grande quantidade de informação. Se os segmentos de rede forem ampliados, a quantidade de tráfego por esses switches possivelmente aumentará. Dependendo do caso, os enlaces entre esses switches e os segmentos de rede poderiam ficar saturados - isto é, não dariam mais conta da intensidade de tráfego que devem transportar. Nesse caso, uma saída poderia ser aumentar as capacidades desses enlaces.

As capacidades de enlaces Ethernet de um switch são determinadas pelas tecnologias por ele suportadas. Isso quer dizer que uma porta de switch tem sua capacidade predefinida, e não há como modificá-la. No entanto, uma forma barata de aumentar a capacidade de enlaces Ethernet é agregar duas ou mais portas de switches para que operem como se fossem uma única porta. Essa técnica tem tanta utilidade que o IEEE (órgão que padroniza diversas tecnologias de camada física e enlace de redes), criou para ele uma norma específica chamada IEEE 802.1AX.


Exemplo de uma LAN com agregação de enlaces - figura obtida do manual do switch D-Link DES-3526


A norma IEEE 802.1AX define como equipamentos devem implementar a agregação de enlaces (link aggregation). Graças a ela, switches de diferentes fabricantes podem interoperar. De acordo com essa norma, a agregação de enlaces implica agrupar portas do switch para operarem como uma única porta, como pode ser visto na figura abaixo. No entanto, cada porta individual mantém suas funções normalmente, com seu MAC trabalhando de forma independente. A agregação de enlaces faz com que os quadros sejam enviados de forma balanceada pelas portas agrupadas, assim distribuindo o tráfego entre elas. O interessante disso é que se uma porta perder comunicação (ex: o cabo for desconectado), o grupo de portas se ajusta para usar somente as portas que possuem comunicação. Assim, além de aumentar a capacidade de enlaces, essa técnica proporciona tolerância a falhas de portas ou enlaces individuais.

Localização da agregação de enlaces na arquitetura de redes IEEE 802 - figura obtida da norma IEEE 802.1AX


01/09/16: DHCP

Aula 8


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

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

Ess.png


Já existem vários padrões IEEE802.11, como pode ser visto em [15].


MAC CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

O CSMA/CA definido na norma IEEE 802.11 implementa um acesso ao meio visando reduzir a chance de colisões. Numa rede sem-fio como essa, não é possível detectar colisões, portanto uma vez iniciada uma transmissão não pode ser interrompida. A detecção de colisões, e de outros erros que impeçam um quadro de ser recebido pelo destinatário, se faz indiretamente com quadros de reconhecimento (ACK). Cada quadro transmitido deve ser reconhecido pelo destinatário, como mostrado abaixo, para que a transmissão seja considerada com sucesso.

Wlan-ack.png
Envio de um quadro de dados, com subsequente reconhecimento (ACK)


DIFS (Distributed Inter-frame Space) - período de tempo conhecido que se deve aguardar para transmitir um quadro quando canal ocioso;
SIFS (Short Inter-frame Space) - tempo antes do envio do reconhecimento.

O não recebimento de um ACK desencadeia uma retransmissão, de forma parecida com o procedimento de retransmissão do CSMA/CD ao detectar colisão. Antes de efetuar uma retransmissão, o MAC espera um tempo aleatório denominado backoff (recuo). Esse tempo é sorteado dentre um conjunto de possíveis valores que compõem a Janela de Contenção (Cw - Contention Window), representados no intervalo [0, Cw]. O valor de Cw varia de (15 para IEEE 802.11g e 31 para 802.11b) a (1023), e praticamente dobra a cada retransmissão de um mesmo quadro. A figura abaixo ilustra as janelas de contenção para retransmissões sucessivas.

Wlan-backoff.png
Backoff para retransmissões sucessivas

Uma diferença importante com relação ao CSMA/CD se refere ao caso em que uma estação tem um quadro para transmitir, mas encontra o meio ocupado. No CSMA/CD essa estação iria aguardar até que o meio se tornasse ocioso, e então transmitiria imediatamente o quadro. No CSMA/CA, porém, a estação faz obrigatoriamente um backoff assim que o meio se torna livre (usando como valor de Cw). Além disso, se durante a espera do backoff o meio voltar a ficar ocupado, o decremento do backoff é pausado até que o meio fique ocioso novamente. Esses procedimentos têm por objetivo reduzir a chance de colisão nessa situação. Se uma estação estiver aguardando o meio ficar ocioso, há uma boa chance de outra estação estar fazendo a mesma coisa. Se essas estações transmitissem assim que o meio se tornasse ocioso, fatalmente ocorreria uma colisão. Assim, com o CSMA/CA o acesso ao meio por um conjunto de estações ocorreria como mostrado na figura abaixo.

Csma-ca.png


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


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


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

Ifs-csma-ca.gif
Intervalos entre quadros

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


DHCP

Ver capítulo 31 da apostila.

Toda máquina que for participar de uma rede, deve primeiro, ter um endereço IP. Em uma rede pequena (até 20 máquinas), a tarefa de configurar IPs é relativamente simples. Mas em uma rede grande com centenas de máquinas, esta tarefa de endereçamento torna-se trabalhosa. Para facilitar as coisas, foi criado um mecanismo de endereçamento automático de IP para máquinas em uma rede TCP/IP: o DHCP (Dynamic Host Configuration Protocol – Protocolo de configuração de máquinas dinâmico). Um servidor DHCP pode facilitar muito a vida do administrador da rede.

Dentre as configurações de serviços que podem ser passadas ao host cliente por dhcp são:

  1. Endereçamento IP, máscara de subrede, Gateway, Servidor(es) DNS,
  2. nome de host e/ou de domínio;
  3. Servidores e domínio NIS (autenticação);
  4. Servidores WINS (para redes Microsoft®);
  5. Servidores NTP (Hora);
  6. Imagens de boot para Terminais burros;

Como podemos observar, tudo o que é necessário para que uma máquina esteja em condições de ingressar em uma rede e usufruir de tudo o que ela possa oferecer, o DHCP se faz útil para sua configuração automática.

Atividade

Em nosso experimento será usado o servidor DHCP desenvolvido pelo ISC. Para usá-lo devem-se seguir os passos descritos abaixo.

  1. Instalar o serviço:
    apt-get install -y dhcp3-server
    
  2. Configurar em /etc/dhcp/dhcpd.conf, definindo as configurações globais e as redes onde o servidor DHCP irá ofertar endereços. Apague todo o conteúdo do arquivo original. X = 4, 5, 6 ou 7 a sua escolha, porém deve ser acordado entre os alunos quem usará cada faixa para não haver duplicação.
    default-lease-time 600;
    max-lease-time 7200;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.1;
    option domain-name-servers 200.135.37.65;
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
       range 192.168.1.X1 192.168.1.X5;
    }
    
  3. Editar a interface que vai atender ao DHCP, no exemplo abaixo eth0, se a sua máquina utilizar uma interface diferente de eth0 faça a devida correção, por exemplo, eth1, eth2...:
    vi /etc/default/isc-dhcp-server
         INTERFACES="eth0"
    
  4. Iniciar o servidor DHCP:
    service isc-dhcp-server restart
    
  5. Verifique o log no servidor e observe a troca de mensagens entre o cliente e o servidor:
     tail -f /var/log/syslog
    
  6. Intale e use o utilitário o dhclient de sua máquina virtual com ambiente gráfico como cliente para testes
    apt-get install isc-dhcp-client
    dhclient -v eth0
    
  7. Verifique o log no servidor e observe a troca de mensagens entre o cliente e o servidor.
     tail -f /var/log/syslog
    
  8. Verifique os aluguéis no seu servidor com:
    cat /var/lib/dhcp/dhcpd.leases
    
  9. Desafio: fixe um IP para algum cliente seu (por exemplo seu vizinho).

Maiores detalhes sobre esse servidor DHCP: