Mudanças entre as edições de "IER-2014-1-integrado"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(99 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Instalação de Equipamentos de Redes: Diário de Aula 2014-1-Integrado =
+
= Diário de Aula 2014-1 (Integrado - Turma 60808) =
  
 
=Instrutor=
 
=Instrutor=
Linha 9: Linha 9:
 
* [[Instalação_de_Equipamentos_de_Rede_(técnico)|Ementa]]
 
* [[Instalação_de_Equipamentos_de_Rede_(técnico)|Ementa]]
  
== Bibliografia ==
+
= Bibliografia =
  
 
* ''Comunicação de Dados e Redes de Computadores, 4a edição'', de Behrouz Forouzan.
 
* ''Comunicação de Dados e Redes de Computadores, 4a edição'', de Behrouz Forouzan.
 
* ''Redes de Computadores e a Internet, 5a edição'', de James Kurose.
 
* ''Redes de Computadores e a Internet, 5a edição'', de James Kurose.
* ''Redes de Computadores: uma abordagem de sistemas", de Larry Peterson e Bruce Davie.
+
* ''Redes de Computadores: uma abordagem de sistemas'', de Larry Peterson e Bruce Davie.
 
* ''Redes de Computadores, 4a edição'', de Andrew Tanenbaum.
 
* ''Redes de Computadores, 4a edição'', de Andrew Tanenbaum.
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/ Antiga página da disciplina (2009-1 e 2009-2)]
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/ Antiga página da disciplina (2009-1 e 2009-2)]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs.html Links para outros materiais, normas, artigos, e apostilas do prof. Jorge Casagrande]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs.html Links para outros materiais, normas, artigos, e apostilas do prof. Jorge Casagrande]
* [http://books.google.com/books?id=C9ZN-jYKHpMC&printsec=frontcover&dq=forouzan&hl=pt-BR&ei=fvt2TP3eCMH58Aa77cS1Bw&sa=X&oi=book_result&ct=result&resnum=3&ved=0CDMQ6AEwAg#v=onepage&q&f=false Comunicação de dados e Redes de Computadores, de Berhouz Forouzan (alguns capítulos no Google Books)]
 
  
 
Para pesquisar o acervo das bibliotecas do IFSC:
 
Para pesquisar o acervo das bibliotecas do IFSC:
* [http://biblioteca.ifsc.edu.br/sophia/ Acesso ao acervo da Biblioteca do IFSC]
+
* [[Portal_da_Biblioteca| Portal da Biblioteca]]
  
== Curiosidades ==
+
= Avaliações =
 +
 
 +
Os conhecimentos serão analisados através de provas e trabalhos. As provas terão peso de 70% da nota final, enquanto os trabalhos terão 30%. Dentre os trabalhos, pode ser pedida a realização de listas de exercícios, apresentações em grupo, atividades em grupo e participação em sala de aula.
 +
 
 +
= Curiosidades =
  
 
* [http://en.wikipedia.org/wiki/Telegraphy#Telex Telex]: um serviço já extinto (?!)
 
* [http://en.wikipedia.org/wiki/Telegraphy#Telex Telex]: um serviço já extinto (?!)
Linha 28: Linha 31:
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ciberespaco.pdf O Ciberespaço e as Redes de Computadores na Construção de Novo Conhecimento]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ciberespaco.pdf O Ciberespaço e as Redes de Computadores na Construção de Novo Conhecimento]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/comp-net-history.pdf Uma história das Redes  de Computadores]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/comp-net-history.pdf Uma história das Redes  de Computadores]
* [http://www.aiaa.org/spaceops2002archive/papers/SpaceOps02-P-T5-21.pdf Uso do HDLC em missões espaciais (artigo da Nasa)]
 
* [http://www.cisco.com/warp/cpropub/45/tutorial.htm Tutorial sobre a interface CLI de roteadores Cisco]
 
 
* [http://www.cisco.com/en/US/tech/tk713/tk507/technologies_tech_note09186a008019cfa7.shtml#ppp01 Resolução de problemas com PPP em roteadores Cisco]
 
* [http://www.cisco.com/en/US/tech/tk713/tk507/technologies_tech_note09186a008019cfa7.shtml#ppp01 Resolução de problemas com PPP em roteadores Cisco]
 
* [http://www.cisco.com/en/US/products/hw/routers/ps221/products_password_recovery09186a0080094773.shtml Recuperação de senha em roteadores Cisco 1700 e 1800]
 
* [http://www.cisco.com/en/US/products/hw/routers/ps221/products_password_recovery09186a0080094773.shtml Recuperação de senha em roteadores Cisco 1700 e 1800]
 
* [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/dlink Alguns procedimentos para o switch D-Link DES-3526 em português]
 
* [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/dlink Alguns procedimentos para o switch D-Link DES-3526 em português]
  
== Listas de exercícios ==
+
= Softwares =
 
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista1-2012-1.pdf 1a lista de exercícios (redes locais)]
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista2-2012-1.pdf 2a lista de exercícios (redes locais)]
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista3-2012-1.pdf 3a lista de exercícios (redes sem-fio)]
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista4-2012-1.pdf 4a lista de exercícios (enlaces ponto-a-ponto)]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista3-2010-1.pdf 5a lista de exercícios (enlaces físicos: modems e interfaces digitais)]
 
<!--
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/listas/lista3-2010-1.pdf 2a lista de exercícios]
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista3-2011-1.pdf 3a lista de exercícios]
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista7.pdf 4a lista de exercícios]
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista7.pdf 5a lista de exercícios]
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista7.pdf 6a lista de exercícios]
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista8.pdf 7a lista de exercícios]
 
-->
 
 
 
== RECUPERAÇÕES APÓS A GREVE !!! ==
 
 
 
Inicialmente pensei em fazermos as avaliações de recuperação no nosso horário normal de aula.
 
 
 
=== CONFIRMADA DATA DE RECUPERAÇÃO ===
 
 
 
Uma revisão será feita na 3a feira (18/9) entre 18:30 e 20:30h, no lab. de Redes.
 
 
 
A recuperação ocorrerá na 5a feira (20/9), a partir de 18:30h, na sala de aula (sala 12 ou 13).
 
 
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/avaliacoes/prova1-2012-1.odt Prova 1]
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/avaliacoes/prova2-2012-1-simulado.pdf Prova 2 - simulado]
 
 
 
== Avaliações ==
 
 
 
{| border="1" cellpadding="2"
 
!Aluno
 
!1a prova
 
!2a prova
 
!P.I.
 
!FINAL
 
|-
 
|Anderson || B||C || A||B
 
|-
 
|Andrei || D|| C|| D||D
 
|-
 
|Cleidiane || C|| D||D ||D
 
|-
 
|Fernando || C|| C|| A||C
 
|-
 
|Filipe || D||D* || D|| D
 
|-
 
|Gabriel || C||B || A|| B
 
|-
 
|Guilherme || D|| D*|| D|| D
 
|-
 
|Ismael || B|| C|| A|| B
 
|-
 
|Kleiton || B||B || A|| B
 
|-
 
|Leonardo ||C || C|| A||C
 
|-
 
|Marcos ||D||D* || D|| D
 
|-
 
|Mauricio ||D*/C || B|| A||B
 
|-
 
|Michel || B||B || A|| A
 
|-
 
|Rafael ||D/C || D/C|| A||C
 
|-
 
|Robson || C|| C|| A|| C
 
|-
 
|Rodrigo || C|| D/C|| C||C
 
|-
 
|Sarah || C|| D|| D||D
 
|-
 
|Tiago || B||C || A|| B
 
|-
 
|Vinicio || C|| D/B|| A||C
 
|-
 
|Vinicius || B|| C|| A||B
 
|}
 
 
 
'''Legenda:'''
 
* ''X+'': conceito pode ser promovido, dependendo de entrevista com professor.
 
* ''D*:'' não fez avaliação.
 
 
 
'''OBS:''' Projeto Integrador (P.I) será usado para aumentar conceitos de quem se destacar em sua execução.
 
 
 
== Softwares ==
 
  
 
* [[Netkit]]: possibilita criar experimentos com redes compostas por máquinas virtuais Linux
 
* [[Netkit]]: possibilita criar experimentos com redes compostas por máquinas virtuais Linux
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/ipkit/ IPKit]: um simulador de encaminhamento IP (roda direto dentro do navegador)
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/ipkit/ IPKit]: um simulador de encaminhamento IP (roda direto dentro do navegador)
  
== 28/02: Introdução ==
 
  
* Capítulo 13 do livro "''Comunicação de Dados e Redes de Computadores''", de Berhouz Forouzan
+
=Instalação de Equipamentos de Redes=
* 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
 
  
Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.
+
==Material de Apoio==
 +
* Transparências utilizadas durante as aulas:
 +
** [[media:Aula1.pdf|Comunicação de Dados]]
 +
** [[media:Aula2-sobral.pdf|Enlaces ponto a ponto e a Camada de Enlace]] (Retirado das aulas do Prof. [[Marcelo Maia Sobral]])
 +
** [[media:Aula2.pdf|Framing]]
 +
** [[media:Aula4.pdf|HDLC e PPP]]
 +
** [[media:Ch07_pt_BR.pdf|Meios de Transmissão]]
 +
**  [http://www.sj.ifsc.edu.br/~casagrande/RED/slides/fundamentos1.pdf Fundamentos de telecomunicações, protocolos e interfaces digitais] (Retirado das aulas do Prof. Jorge Casagrande)
 +
** Modems [http://www.sj.ifsc.edu.br/~msobral/IER/slides/aula5-modems.pdf Digitais] (Prof. Sobral) e [[media:Aula6-modems-analogicos.pdf| Analógicos]] (Prof. Casagrande)
 +
** [[media:Ch12-CSMACA.pdf|CSMA/CA]]
 +
** [[media:Ch14-WLAN.pdf|Wireless LANs]]
 +
** [[media:Ch18-ATM_FrameRelay.pdf|Frame Relay e ATM]]
  
=== Lembrando Redes de Computadores da 2a fase ... ===
 
  
Em RCO foi estudado o assunto ''Arquitetura de Redes'' com ênfase na Internet. A figura abaixo resume a ''arquitetura em camadas'' usada para representar o funcionamento de sistemas em uma rede de computadores. Cada camada representa uma certa funcionalidade necessária para a comunicação, e apresenta um ou mais protocolos que participam dessa tarefa.
+
* Listas de Exercícios:
 +
** [[media:Lista1-Exercicios-IER.odt|Lista 1]]
 +
** [[media:Lista2-Exercicios.doc|Lista 2]] 
 +
** [[media:Lista3-Exercicios.doc|Lista 3]] ([[media:Lista3-Exercicios-resolvida.doc|onde encontrar as respostas no livro]])
 +
** [[media:Lista4-IER-2014-Exercicios.doc|Lista 4]]
  
[[imagem:Osi-tcpip-ier.png]]
+
==Aula 1==
 +
(Aula de 07/03)
 +
* Apresentação da disciplina
 +
* Comunicação de dados
 +
* Redes
 +
* Topologia
  
 +
Confira transparências sobre [[media:Aula1.pdf|Comunicação de Dados]].
  
O foco da disciplina IER é a '''infra-estrutura de rede''', representada pelas camadas ''Internet'' e ''Acesso a rede'' no modelo TCP/IP (ou camadas ''Rede'' e inferiores no modelo OSI). Ela diz respeito ao conjunto de ''equipamentos, links, protocolos e tecnologias'' empregados para construir uma rede de computadores. Essa rede pode ser assim usada para que sistemas finais consigam se comunicar, tais como computadores de usuários, servidores, smartphones, e quaisquer outros dispositivos que produzam ou consumam dados. Desta forma, em IER estudaremos como escolher tecnologias, selecionar e configurar equipamentos, e interligá-los para construir redes de computadores.
+
==Aula 2==
 +
(Aula de 11/03)
  
Nosso ponto de partida serão pequenas redes compostas por uma ou mais redes locais (LANs) que se interligam, incluindo conexão para a Internet. Em cada rede investigaremos seu funcionamento, incluindo as configurações da subrede IP e os equipamentos usados.
+
* Enlaces ponto a ponto
 +
* O papel da camada de Enlace
 +
* O papel da camada física
  
 +
Confira transparências sobre [[media:Aula2-sobral.pdf|Enlaces ponto a ponto e a Camada de Enlace]].
  
[[Image:Rede1-IER.png]]
+
Curiosidade: [[media:Cisco_flaws_put_routers_back_in_the_dock_-_SC_Magazine_UK.pdf|Falha de segurança em roteadores Cisco]]
<br>''Figura 1: uma  pequena  rede local (LAN) com conexão para Internet''
 
  
 +
==Aula 3==
 +
(Aula de 14/03)
 +
* Enquadramento (framing)
 +
* Preenchimento de bit (bit-stuffing)
 +
* Preenchimento de caractere (byte-stuffing)
  
[[Image:Rede2-IER.png]]
+
Confira transparências sobre [[media:Aula2.pdf|Framing]].
<br>''Figura 2: duas redes locais (LAN) interligadas por um  enlace de longa distância (WAN)''
 
  
 +
===Atividade 1===
  
 +
Aula de laboratório: esse experimento será feito usando o [[Netkit|Netkit]], que deve ser instalado e atualizado nos computadores.
  
Conceitos necessários para realizar os exercícios:
+
Três roteadores estarão interligados por enlaces PPP. A interface mostrada no Netkit para os roteadores é muito parecida com a CLI de roteadores Cisco reais (graças ao software [http://www.quagga.net/ Quagga], que é usado em máquinas virtuais do Netkit que agem como roteadores). No entanto, as interfaces seriais de enlaces ponto-a-ponto no Quagga são identificadas pelos nomes ''ppp0'', ''ppp1'' e assim por diante (ao contrário de ''Serial 0'' e ''Serial 1'' usados em Cisco).
* Endereços IP e máscaras de rede
 
* Rotas estáticas
 
* Interfaces de rede
 
  
=== Ferramentas de apoio ao estudo ===
+
[[imagem:Ppp-exp1.png|thumb|Rede do experimento|alt=Rede do experimento|centro|480px]]
  
Uma limitação que temos está na pouca quantidade de equipamentos para as atividades em laboratório. Para atenuar esse problema, podem-se usar softwares que simulem redes. Existe um  software desses em particular, chamado Netkit, que possibilita criar redes virtuais. Essas nada mais são que máquinas virtuais interligadas com switches e links seriais virtuais (isso é, tudo feito por software mas funciona como se fosse de verdade). Com ele se podem criar redes compostas por máquinas virtuais Linux, que são conectadas por links ethernet e PPP. Todos os cenários que usaremos em nosso estudo (com  exceção das configurações de modems), poderiam ser reproduzidos com esse software. Existe um guia de instalação e uso publicado na wiki:
+
Copie a configuração, abaixo, do Netkit. Salve num arquivo chamado lab.conf. O arquivo deverá descrever a topologia ilustrada acima.
  
* [[Netkit]]
+
{{collapse top|Configuração do experimento para o Netkit}}
 +
<syntaxhighlight lang=text>
 +
# Os três roteadores
 +
r1[type]=router
 +
r2[type]=router
 +
r3[type]=router
  
Esse guia contém uma [[Netkit#Uma_biblioteca_de_exemplos_de_experimentos|coleção de exemplos]], para que tenham ideia do que se pode fazer com o Netkit.
+
# O computador que fica na subrede da esquerda
 +
pc1[type]=generic
  
O Netkit fica assim como opção para complementar o estudo. Ele funciona como um laboratório de redes, em que se podem criar redes como aquelas que vemos em aula  e mesmo inventar novas redes.  Seu uso se destina a fixar conceitos, para que o uso dos equipamentos reais seja facilitado.
+
# O computador que fica na subrede da direita
 +
pc2[type]=generic
  
Além  do Netkit, este simulador de roteamento IP, que roda dentro do próprio navegador, pode ajudá-los a exercitar a divisão de subredes e a criação de rotas estáticas.
+
# Um computador que representa a Internet
* [http://tele.sj.ifsc.edu.br/~msobral/IER/ipkit/ Ipkit: Simulador de encaminhamento IP]
+
internet[type]=generic
  
==== Exercícios ====
+
# Os enlaces ponto-a-ponto entre os roteadores
 +
r1[ppp0]=linkEsquerdo:ip=10.0.0.1/30:debug=1
 +
r1[ppp1]=linkDireito:ip=10.0.0.5/30:debug=1
 +
r2[ppp0]=linkEsquerdo:ip=10.0.0.2/30:debug=1
 +
r3[ppp0]=linkDireito:ip=10.0.0.6/30:debug=1
  
1. Usando o [http://tele.sj.ifsc.edu.br/~msobral/IER/ipkit/ Ipkit] crie as seguintes redes. Não esqueça de definir as rotas estáticas.
+
# a subrede do laboratório, que representa a Internet
 +
r1[eth0]=lanExterna:ip=192.168.1.230/24
 +
internet[eth0]=lanExterna:ip=192.168.1.1/24
  
[[imagem:Rede1-1.png|400px]]
+
# A subrede do lado esquerdo
 +
r2[eth0]=lanEsquerda:ip=172.18.0.30/28
 +
pc1[eth0]=lanEsquerda:ip=172.18.0.17/28
  
 +
# A subrede do lado direito
 +
r3[eth0]=lanDireita:ip=172.18.10.110/28
 +
pc2[eth0]=lanDireita:ip=172.18.10.97/28
  
[[imagem:Rede1-2.png|400px]]
+
# As rotas ...
 +
pc1[default_gateway]=172.18.0.30
 +
pc2[default_gateway]=172.18.10.110
 +
r2[default_gateway]=10.0.0.1
 +
r3[default_gateway]=10.0.0.5
 +
r1[route]=172.18.0.16/28:gateway=10.0.0.2
 +
r1[route]=172.18.10.96/28:gateway=10.0.0.6
 +
internet[route]=172.18.0.0/16:gateway=192.168.1.230
 +
</syntaxhighlight>
 +
{{collapse bottom}}
  
 +
Com base nessa rede, as seguintes atividades serão realizadas:
 +
# Observe as informações sobre as interfaces PPP nos roteadores, e compare com o que é mostrado para interfaces ethernet: <syntaxhighlight lang=bash>
 +
r1# show interface ppp0
 +
</syntaxhighlight> ... ou ... <syntaxhighlight lang=bash>
 +
r1# start-shell
 +
# ifconfig ppp0
 +
# ifconfig eth0
 +
</syntaxhighlight>
 +
# Teste a comunicação pelos enlaces PPP. Por exemplo, no roteador ''r1'' pode ser feito o seguinte: <syntaxhighlight lang=bash>
 +
r1# ping 10.0.0.2
 +
r1# ping 10.0.0.6
 +
</syntaxhighlight>
 +
# Adicione rotas nos roteadores, de forma que as redes fiquem totalmente alcançáveis:
 +
#* '''r1:''' <syntaxhighlight lang=bash>
 +
# configure terminal
 +
(conf)# ip route 172.18.0.16/28 ppp0
 +
(conf)# ip route 172.18.10.96/28 ppp1
 +
(conf)# exit
 +
</syntaxhighlight>
 +
#* '''r2:''' <syntaxhighlight lang=bash>
 +
# configure terminal
 +
(conf)# ip route 0.0.0.0/0 ppp0
 +
(conf)# exit
 +
</syntaxhighlight>
 +
#* '''r3:''' <syntaxhighlight lang=bash>
 +
# configure terminal
 +
(conf)# ip route 0.0.0.0/0 ppp0
 +
(conf)# exit
 +
</syntaxhighlight>
 +
# Compare o encapsulamento de datagramas IP na rede ethernet e no enlace PPP. Para isso use o wireshark, executando-o para a interface eth0 do roteador ''r1'' e também para a interface ''ppp0''. Para haver datagramas passando pelo roteador, deixe um ping em execução entre os computadores ''pc1'' e ''internet''.
  
[[imagem:Rede1-3.png|400px]]
+
==Aula 4==
 +
(Aula de 18/03)
  
2. Reproduza as redes do exercício 1 usando o [[Netkit]]. Teste a comunicação entre os computadores e roteadores usando o comando ping. Use também o tcpdump para monitorar as interfaces de rede.
+
* Continuação da aula de laboratório
 +
* Verificar se as configurações de lab.conf estão corretamente implementadas no Netkit.
  
== 06/03: Redes locais ==
+
==Aula 5==
 +
(Aula de 21/03)
  
''Referências bibliográficas:''
+
* HDLC (High-level Data Link Control)
* Capítulo 13 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan
+
* PPP (Point-to-Point Protocol)
* Capítulo 5 do livro "Redes de Computadores e a Internet, 5a edição", de James Kurose
+
* Enquadramento
* Capítulo 4 do livro "Redes de Computadores", de Andrew Tanenbaum
+
* Protocolos para detecção de erros, controle de fluxo, controle de erros e gerenciamento de enlace
  
 +
Confira transparências sobre [[media:Aula4.pdf|HDLC e PPP]].
  
'''Início do Projeto 1:'''
+
==Aula 6==
# Entender a estrutura, funcionamento e tecnologias utilizadas na rede do IFSC - SJ
+
(Aula de 25/03)
# Propor e testar melhorias nessa rede com respeito a:
+
* Fazer a [[media:Lista1-Exercicios-IER.odt|Lista de Exercícios 1]]
#* Organização da estrutura
 
#* Desempenho
 
#* Tolerância a falhas
 
#* Segurança
 
  
=== Etapa 1: entendendo a rede do IFSC-SJ ===
+
==Aula 7==
 +
(Aula de 28/03)
  
A rede do IF-SC é composta pelas redes dos campi, sendo que o campus Mauro Ramos centraliza os links para os demais campi. Dentre eles, o link para a rede do campus São José tem a capacidade de 1 Gbps. Além disso, o link para a Internet se localiza também no campus Mauro Ramos. A figura abaixo mostra um diagrama simplificado da rede do IF-SC, destacando apenas os campis Mauro Ramos, São José e Continente.
+
* Requisitos e objetivos da camada fisica
 +
** Fundamentos de comunicação de dados
 +
*** Meios físicos de transmissão
 +
*** Códigos de comunicação de dados
  
 +
Veja as apresentações sobre [[media:Ch07_pt_BR.pdf|meios de transmissão]] e também aquelas disponibilizadas pelo Prof. Jorge Casagrande sobre [http://www.sj.ifsc.edu.br/~casagrande/RED/slides/fundamentos1.pdf códigos e comunicação serial].
  
[[imagem:Ifsc.png|600px]]
+
==Aula 8==
 +
(Aula de 01/04)
  
 +
* Requisitos e objetivos da camada física
 +
** Fundamentos de comunicação de dados
 +
*** Comunicação serial síncrona e assíncrona
 +
** Interfaces digitais
 +
*** Interfaces assíncronas RS-232 e RS-485
 +
*** Interfaces síncronas V.35, V.36 e G.703
  
Como se pode ver, os campi são interligados por enlaces (links) de longa-distância com alta capacidade de transmissão (1 Gbps). O link para a Internet, provido pelo [http://www.pop-sc.rnp.br/ POP-SC] (Ponto de Presença da [http://www.rnp.br RNP] em SC, mantido pela UFSC) é também de 1 Gbps. Esses links de longa distância asseguram que não existam gargalos entre os campi, possibilitando uma boa vazão entre as redes.  
+
Veja as apresentações disponibilizadas pelo Prof. Jorge Casagrande sobre [http://www.sj.ifsc.edu.br/~casagrande/RED/slides/fundamentos1.pdf interfaces digitaisl].
  
No nosso primeiro projeto, vamos iniciar estudando a estrutura e funcionamento da rede do campus São José. Essa rede é formada por três redes locais, compostas por switches ethernet, servidores, gateways e firewall. O diagrama abaixo apresenta a estrutura geral da rede do nosso campus.
+
==Aula 9==
 +
(Aula de 04/04)
  
 +
Laboratório sobre enlaces PPP e HDLC com roteadores.
  
[[imagem:Rede-ifsc-sj.png|600px]]
+
Para esta atividade será criada uma rede composta por três roteadores Cisco, que estarão interligados como mostrado abaixo:
  
  
Para entender seu funcionamento, precisaremos fazer algumas atividades:
+
[[imagem:Rede-modems.png|thumb|Rede com modems|alt=Rede com modems|centro|600px]]
* '''Criar um modelo reduzido dessa rede:''' criaremos um modelo usando o [[Netkit]], de forma a representar as subredes existentes no campus. Com isso entenderemos como opera o roteamento IP dentro do campus.<br><syntaxhighlight lang=text>
 
pc-ifsc[type]=generic
 
pc-redes1[type]=generic
 
pc-redes2[type]=generic
 
  
gw-redes1[type]=gateway
 
gw-redes2[type]=gateway
 
gw-ifsc[type]=gateway
 
  
pc-redes1[eth0]=linkredes1
+
Criar os circuitos com modems operando a 2 Mbps.
gw-redes1[eth0]=linkredes1
 
  
pc-redes2[eth0]=linkredes2
 
gw-redes2[eth0]=linkredes2
 
  
gw-redes1[eth1]=linkifsc
+
O experimento deve ser realizado com os seguintes passos:
gw-redes2[eth1]=linkifsc
+
# Acesse a interface de gerência (console) do seu roteador. O roteador R1 está no rack esquerdo, o roteador R3 está no rack do centro, e R2 está no rack direito. Para acessar a console, faça o seguinte:
gw-ifsc[eth0]=linkifsc
+
## 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.
pc-ifsc[eth0]=linkifsc</syntaxhighlight>
+
## 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). <syntaxhighlight lang=bash>
* '''Observar os equipamentos in-loco:''' veremos que tipos de equipamentos são usados para manter a estrutura, como são conectados, seus fabricantes e modelos.
+
sudo minicom -s
* '''Criar um modelo reduzido dessa rede usando equipamentos reais:''' criaremos um modelo usando switches e computadores do laboratório, de forma a reproduzir o modelo feito com o Netkit.
+
</syntaxhighlight>
* '''Investigar as tecnologias empregadas na rede:''' identificaremos as tecnologias usadas e testaremos sua capacidade de transmissão.
+
## 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.
** [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula9-ieee.pdf Slides sobre arquitetura IEEE 802]
+
# Configure os roteadores da seguinte forma:
 +
#* '''R1:''' <syntaxhighlight lang=text>
 +
> 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
 +
</syntaxhighlight>
 +
#* '''R2:''' <syntaxhighlight lang=text>
 +
> 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
 +
</syntaxhighlight>
 +
#* '''R3:''' <syntaxhighlight lang=text>
 +
> 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
 +
</syntaxhighlight>
 +
# Para conferir as configurações das interfaces, use o comando ''show interface'' (detalhado) ou ''show ip interface brief'' (resumidos configuração e status): <syntaxhighlight lang=text>
 +
# show interface serial 0
 +
</syntaxhighlight>
 +
# 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.
  
=== Tarefa ===
+
Solução para os roteadores:
 
+
#* '''R1:''' <syntaxhighlight lang=text>
Faça uma pesquisa sobre recursos e funcionalidades que podem ser encontrados em switches atualmente encontrados no mercado. Identifique os modelos e fabricantes de switches que foram investigados. Entregue o resultado de sua pesquisa via email (msobral@gmail.com).
+
  > enable    (password "a")
 
+
  # configure terminal
== 13/03: Segmentando redes locais (NÃO HOUVE AULA) ==
+
  (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
Não houve aula por falta de energia elétrica.
+
</syntaxhighlight>
 
+
#* '''R2:''' <syntaxhighlight lang=text>
== 20/03: Segmentando redes locais ==
+
  > enable    (password "a")
 
+
  # configure terminal
'''ATENÇÃO:''' a [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista1-2012-1.pdf 1a lista de exercícios] foi publicada !
+
  (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
 
+
</syntaxhighlight>
'''Bibliografia:'''
+
#* '''R3:''' <syntaxhighlight lang=text>
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula10.pdf Transparências sobre VLANs]
+
  > enable    (password "a")
* [http://fengnet.com/book/Layer%202%20VPN%20Architectures/ch04lev1sec6.html Livro sobre VLANs]
+
  # configure terminal
* Ver capítulo 16 do livro ''Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan
+
  (conf)# ip route 192.168.10.0 255.255.255.0 10.1.1.6
* Ver capítulo 5 do livro ''Redes de Computadores e a Internet'', de James Kurose
+
  (conf)# ip route 192.168.20.0 255.255.255.0 10.1.1.2
* Ver capítulo 4 do livro ''Redes de Computadores'', de Andrew Tanenbaum
+
  (conf)# ip route 192.168.1.0 255.255.255.0 ethernet 0
 
 
 
 
Na [[IER-2012-1#06.2F03:_Redes_locais|aula anterior]] ficamos de criar um modelo reduzido da rede do IF-SC SJ:
 
* '''Criar um modelo reduzido dessa rede usando equipamentos reais:''' criaremos um modelo usando switches e computadores do laboratório, de forma a reproduzir o modelo feito com o Netkit.  
 
 
 
Assim, no início da aula de hoje faremos essa atividade. Em seguida iremos voltar a investigar as tecnologias empregadas na construção dessa rede.
 
 
 
=== Tecnologias de LAN switches ===
 
 
 
* [http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a00800a7af3.shtml#switchtechs Bom texto sobre switches]
 
* [http://www.cisco.com/image/gif/paws/10607/lan-switch-transparent.swf Animação sobre o funcionamento de switches]
 
* [http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9670/white_paper_c11-465436.html Texto sobre tecnologias de switches (store-and-forward e cut-through)]
 
 
 
 
 
Algumas animações mostrando o funcionamento de switches ''store-and-forward'' e ''cut-through'':
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/videos/q0142.mov Animacão sobre switches cut-through]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/videos/q0141.mov Animacão sobre switches store-and-forward]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/videos/q0143.mov Animacão sobre switches simétricos (todas portas com mesma taxa de bits)]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/videos/q0144.mov Animacão sobre switches assimétricos (portas com diferentes taxas de bits)]
 
  
 +
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
 +
Para os PCs das subredes direita e esquerda
 +
  $ sudo ifconfg eth0 192.168.x.y netmask 255.255.255.0 up  - x={10,20}; y={1,2,3,4}
 +
  $ sudo route add default gw 192.168.x.254 - x={10,20}
 +
</syntaxhighlight>
 +
# Verificar e anotar todas as configurações dos componentes de redes, modens, cabos, adaptadores, manobras dos cabos, etc...
 +
# Acessar as redes mutuamente qualquer computador de um subrede deve acessar qualquer outro da outra subrede;
 +
# Acessar a internet em todos os PCs;
 +
# Teste a vazão pelos enlaces ponto-a-ponto. Em algum computador da subrede esquerda execute: <syntaxhighlight lang=bash>
 +
netperf -f k -H 192.168.1.1
 +
</syntaxhighlight> Realize pelo menos três medidas para cada teste e use a média desses valores como resultado final;
 +
# Faça isso também usando um computador da subrede da direita e depois entre computadores das subredes direta e esquerda.
 +
# 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.
 +
# É 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;
 +
# 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.
  
'''Quais são as características dos switches do laboratório ?'''
+
==Aula 10==
* D-Link DES-526 [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/manual-des3526.pdf (manual)]
+
* Requisitos e objetivos da camada física
* Micronet SP 1658B [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/SP1658B_Manual.pdf (manual)]
+
** Modems
* 3Com 3224 [http://www.3com.com/prod/pt_la_amer/detail.jsp?tab=prodspec&sku=3C16479 (especificações)]
+
*** [[media:Aula5-modems.pdf|Modems Digitais]]
 +
*** [[media:Aula6-modems-analogicos.pdf|Modems analógicos]]
  
=== Segmentando redes ===
+
==Prova 1==
 +
A primeira prova foi aplicada no dia 22/04, com base nos conteúdos apresentados e também nas aulas de laboratório.
  
A equipe que administra a rede do campus São José vem estudando 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:
+
==Prova substitutiva==
 +
Excepcionalmente, será feita uma prova substitutiva à Prova 1 com base nos conteúdos apresentados e nas aulas de laboratório. Todos os alunos que desejam fazer a prova substitutiva devem comparecer à sala 09, no dia 06/05. As turmas serão divididas entre A e B. Portanto, haverá uma turma que fará a prova às 7h30 e outra às 9h40.
  
{| border="1" cellpadding="2"
+
==Trabalho em grupo==
!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
 
|}
 
  
 +
Em grupos de até 3 pessoas, os alunos devem preparar apresentações sobre os conceitos abaixo. Essas apresentações deverão ser elaboradas para aproveitar os recursos de multimídia do Laboratório. As apresentações devem ter duração de 20 a 30 minutos. Procure utilizar exemplos da sua experiência para enfatizar aquilo que será apresentado.
  
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).
+
Os grupos devem se subdividir em:
  
 +
# Acesso randômico (seção 12.1 do Forouzan)
 +
## CSMA
 +
## CSMA/CD
 +
# Ethernet (seções 13.2 e 13.3 do Forouzan)
 +
## Ethernet padrão
 +
## Evolução do padrão (bridges e switches)
 +
# Fast ethernet e gigabit ethernet (seções 13.4 e 13.5 do Forouzan)
 +
# Conexão de LANs (seção 15.1 do Forouzan)
 +
## Hubs passivos e ativos
 +
## Repetidores
 +
## Bridge
 +
## Spanning-tree
 +
## Roteadores
 +
# Redes Backbone  (seção 15.2 do Forouzan) e LANs virtuais  (seção 15.3 do Forouzan)
  
[[imagem:Nova-rede-ifsc-sj.png|600px]]
 
  
 
+
== Segmentação com VLANs ==
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:
 
 
 
[[imagem:Rede-ifsc-sj.png|600px]]
 
 
 
 
 
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:
 
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:
Linha 333: Linha 381:
 
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.
 
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.
  
'''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 ?.
+
'''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?
  
 
{| border="0" cellpadding="2"
 
{| border="0" cellpadding="2"
Linha 359: Linha 407:
  
  
''Exercício:'' acrescente dois computadores a uma nova VLAN, e use um gateway para interligar as três VLANs.
+
=== Exercício: acrescente um gateway para interligar as duas VLANs ===
 +
{{Collapse top  | Apresentação da configuração}}
 +
 
 +
Abaixo está uma possível solução. Percebe-se que foram necessários criar segmentos de rede para possibilitar a comunicação com o gateway.
  
 
<syntaxhighlight lang=text>
 
<syntaxhighlight lang=text>
Linha 370: Linha 421:
 
pc3[type]=generic
 
pc3[type]=generic
 
pc4[type]=generic
 
pc4[type]=generic
pc5[type]=generic
 
pc6[type]=generic
 
 
   
 
   
 
# As portas do switch
 
# As portas do switch
Linha 378: Linha 427:
 
sw[eth2]=port2:vlan_untagged=10
 
sw[eth2]=port2:vlan_untagged=10
 
sw[eth3]=port3:vlan_untagged=5
 
sw[eth3]=port3:vlan_untagged=5
sw[eth4]=port4:vlan_untagged=20
+
sw[eth4]=port4:vlan_untagged=5
sw[eth5]=port5:vlan_untagged=20
+
sw[eth5]=port5:vlan_untagged=10
sw[eth6]=port6:vlan_untagged=5
 
sw[eth7]=port7:vlan_untagged=10
 
sw[eth8]=port8:vlan_untagged=20
 
 
   
 
   
 
# Ligando os computadores ao switch
 
# Ligando os computadores ao switch
Linha 389: Linha 435:
 
pc3[eth0]=port2:ip=192.168.10.3/24
 
pc3[eth0]=port2:ip=192.168.10.3/24
 
pc4[eth0]=port3:ip=192.168.5.4/24
 
pc4[eth0]=port3:ip=192.168.5.4/24
pc5[eth0]=port4:ip=192.168.20.5/24
 
pc6[eth0]=port5:ip=192.168.20.6/24
 
  
gw[eth0]=port6:ip=192.168.5.254/24
+
gw[eth0]=port4:ip=192.168.5.254/24
gw[eth1]=port7:ip=192.168.10.254/24
+
gw[eth1]=port5:ip=192.168.10.254/24
gw[eth2]=port8:ip=192.168.20.254/24
 
  
 
pc1[default_gateway]=192.168.5.254
 
pc1[default_gateway]=192.168.5.254
Linha 400: Linha 443:
 
pc3[default_gateway]=192.168.10.254
 
pc3[default_gateway]=192.168.10.254
 
pc4[default_gateway]=192.168.5.254
 
pc4[default_gateway]=192.168.5.254
pc5[default_gateway]=192.168.20.254
 
pc6[default_gateway]=192.168.20.254
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
[[imagem:Ier-vlan1.png]]
  
[[imagem:Vlan-ex2.png]]
+
{{Collapse bottom}}
  
==== Padrão IEEE 802.1q ====
+
== O uso do Netkit para LANs ==
  
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 [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/ieee/802.1Q-2005.pdf IEEE 802.1q]. Os fabricantes de equipamentos de rede o adoataram largamente, suplantando outras tecnologias legadas (ex: [http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094665.shtml ISL] e [http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094c52.shtml VTP] da Cisco). Com isso, VLANs IEEE 802.1q podem ser criadas usando switches de fabricantes diferentes.
+
Utilizaremos o Netkit para simular LANs. Abaixo estão alguns experimentos elaborados pelo Prof. Jorge Casagrande.
  
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:
+
Caso necessite de mais informações sobre o Netkit, por favor, consulte a http://wiki.netkit.org/. Os laboratórios oficiais do Netkit estão em http://wiki.netkit.org/index.php/Labs_Official.
* D-Link DES-526 [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/manual-des3526.pdf (manual)]
 
* Micronet SP 1658B [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/SP1658B_Manual.pdf (manual)]
 
* 3Com 2824 [http://tele.sj.ifsc.edu.br/~msobral/IER/roteiros/3Com-2824.pdf (especificações)]
 
  
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:
+
===[http://tele.sj.ifsc.edu.br/~casagrande/RED/labs/netkit/lan.tar.gz 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:
  
{| border="0" cellpadding="2"
+
[[imagem:Exemplo-Lan1-netkit.png]]
|-
 
|[[imagem:Bridge3.png]] || <syntaxhighlight lang=text>
 
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
+
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.
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
+
Observe no desenho acima que a rede ethernet é um domínio de colisão de pacotes para essa rede interligada através de hub. O domínio de colisão é a rede 192.168.0.0/24. Para Ethernet-padrão, o método de acesso ao meio é o CSMA/CD 1-persistent.
switch1[eth1]=sw1-port1:vlan_untagged=5
 
switch1[eth2]=sw1-port2:vlan_untagged=10
 
switch1[eth3]=link-sw1-sw2:vlans_tagged=5,10
 
  
switch2[eth0]=sw2-port0:vlans_tagged=5,10
+
Vamos observar esse domínio de colisão. Para tanto, efetue um ping do pc1 para o pc2. No pc3, execute o comando
switch2[eth1]=sw2-port1:vlan_untagged=10
 
switch2[eth2]=sw2-port2:vlan_untagged=5
 
switch2[eth3]=link-sw1-sw2:vlans_tagged=5,10
 
  
pc1[eth0]=sw1-port0:ip=192.168.0.1/24
+
<code>
pc2[eth0]=sw1-port1:ip=192.168.0.2/24
+
tcpdump -i eth0
pc3[eth0]=sw1-port2:ip=192.168.1.3/24
 
pc4[eth0]=sw2-port0:vlans_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
 
 
</syntaxhighlight>
 
</syntaxhighlight>
|}
 
  
Além do VID, a configuração da porta de um switch deve especificar o modo de operação da VLAN:
+
Observe agora utilizando o Wireshark do pc4.
* '''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.
 
  
 +
===[http://tele.sj.ifsc.edu.br/~casagrande/RED/labs/netkit/bridge.tar.gz  LAN com switch]===
  
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.  
+
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:
  
 +
[[imagem:Exemplo-Bridge-netkit.png]]
  
O padrão IEEE 802.1q define, entre outras coisas, uma extensão ao quadro MAC para identificar a que VLAN este pertence. Essa extensão, denominada tag (etiqueta) e mostrada na figura 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.
+
Repita os testes feitos acima para verificar o domínio de colisão usando ping, tcpdump e wireshark. O que foi observado?
  
 +
Execute o comando tcpdump para as interfaces eth0, eth1, eth2 e eth3 do switch. O que foi observado?
  
[[imagem:Quadro-8021q.png]]
+
===[http://tele.sj.ifsc.edu.br/~casagrande/RED/labs/netkit/lan2.tar.gz LAN com 2 switches]===
<br>''Quadro ethernet com a TAG IEEE 802.1q''
 
  
 +
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:
  
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).
+
[[imagem:Exemplo-lan2.png]]
  
 +
===[http://tele.sj.ifsc.edu.br/~casagrande/RED/labs/netkit/lan-ext.tar.gz  Uplink para a rede real]===
  
'''Exemplo: simulador de switch com VLAN:'''
+
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:
<br>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).
 
  
[[imagem:Simulador-vlan.png|link=http://www2.rad.com/networks/2006/vlan/demo.htm|Um simulador de VLANs]]
+
[[imagem:Netkit-uplink.png]]
  
== 27/03: VLANs ==
+
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).
  
Hoje faremos mais exercícios para reforçar o entendimento sobre como funcionam VLANs IEEE 802.1q, e como podem ser utilizadas.
+
<syntaxhighlight lang=text>
 +
pc2[eth1]=uplink:ip=10.0.0.1/30
 +
</syntaxhighlight>
  
=== Atividade 1: usando VLANs para implantar uma rede real  ===
+
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:
 
 
Imagine que a rede do laboratório esteja fisicamente organizada como mostrado a seguir:
 
 
 
 
 
[[imagem:Rede-vlan-real.png]]
 
 
 
 
 
No entanto, deseja-se reestruturá-la para que os computadores pares e os ímpares fiquem em redes locais separadas. Cada rede local deve possuir sua própria subrede IP. Para realizar essa tarefa devem-se usar VLANs, e a rede a ser criada deve funcionar como se tivesse a seguinte topologia:
 
 
 
 
 
[[imagem:Rede-vlan-virtual.png]]
 
 
 
 
 
* '''Computadores pares:''' subrede 10.0.1.32/28
 
* '''Computadores ímpares:''' subrede 10.0.1.192/28
 
* '''Rede do laboratório:''' subrede 192.168.1.0/24
 
 
 
 
 
A turma deve implantar essa nova rede usando os switches [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/manual-des3526.pdf D-Link DES-3526], que ficam nos racks esquerdo e direito no laboratório. Esses switches podem ser gerenciados via interface web, telnet, ou console serial. Seus endereços IP são estes:
 
* '''Switch direito:''' 192.168.1.240
 
* '''Switch esquerdo:''' 192.168.1.241
 
 
 
== 05/04: Protegendo redes contra ''loops'' e rompimentos de enlaces ==
 
 
 
* Capítulo 16 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.
 
 
 
'''ATENÇÃO:'''
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista2-2012-1.pdf 2a lista de exercícios]
 
 
 
Outros materiais:
 
* Introdução a STP (ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula11.pdf transparências])
 
* [http://www.cisco.com/warp/public/473/spanning_tree1.swf Uma animação sobre STP].
 
* [http://www.visualland.net/protocol.overview.php?p=Spanning%20Tree&protocol=Spanning%20Tree&title=Spanning%20Tree%20Overview ... e várias animações sobre STP]
 
 
 
* [http://en.wikipedia.org/wiki/Spanning_tree_protocol STP na  Wikipedia]
 
 
 
=== A nova rede do IF-SC SJ ===
 
 
 
Após implantar a [[RCO2-2012-1#Atividade_3|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:
 
  
 +
<syntaxhighlight lang=text>
 +
pc2[type]=gateway
  
[[imagem:Curto-lan.png]]
+
pc2[nat]=eth1
 
 
 
 
Para ver a consequência dessa ação aparentemente inocente, experimente reproduzi-la em uma rede feita com o [[Netkit]]:
 
 
 
{| border="0" cellpadding="2"
 
|-
 
|[[imagem:Stp-ex1.png]] || <syntaxhighlight lang=text>
 
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
 
 
</syntaxhighlight>
 
</syntaxhighlight>
|}
 
  
 +
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.
  
'''O que ocorreu ao tentar pingar de pc1 para pc2 ?'''
+
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.
  
=== O problema dos ciclos (caminhos fechados) em uma rede local ethernet ===
+
==== Uplink em modo ''bridge'' ====
  
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:
+
À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.
  
[[imagem:LAN-anel-stp.png]]
+
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:
  
 
<syntaxhighlight lang=text>
 
<syntaxhighlight lang=text>
sw1[type]=switch
+
pc[eth0]=uplink:bridge=eth0:ip=192.168.1.100/24
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
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
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 [http://en.wikipedia.org/wiki/Spanning_Tree_Protocol STP] (''Spanning Tree Protocol'', definido na norma IEEE 802.1d) para realizar automaticamente essa tarefa.
+
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.
  
=== Atividade ===
 
  
Vamos realizar um experimento para entender melhor como funciona o STP. Isso nos dará base para aplicá-lo no caso da rede da escola.
+
=== STP (Spanning Tree Protocol) ===
  
[[Netkit#STP_.28Spanning_Tree_Protocol.29|Switches e STP (Spanning Tree Protocol) no Netkit]]
+
Switches reais usualmente possuem suporte a [[IER-2011-1#Interliga.C3.A7.C3.A3o_de_LANs_e_Spanning_Tree_Protocol_.28STP.29|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. Um exemplo de rede em que o STP se torna necessário é mostrada na figura abaixo:
  
* [http://tele.sj.ifsc.edu.br/~msobral/IER/roteiros/lab9-2011-1.pdf Roteiro do experimento]
+
[[imagem:LAN-anel-stp.png]]
  
Uma outra rede com caminhos fechados:
+
Para criar essa rede no Netkit pode-se usar a seguinte configuração:
  
{| border="0" cellpadding="2"
+
<syntaxhighlight lang=text>
|-
 
| <syntaxhighlight lang=text>
 
 
sw1[type]=switch
 
sw1[type]=switch
 
sw2[type]=switch
 
sw2[type]=switch
 
sw3[type]=switch
 
sw3[type]=switch
sw4[type]=switch
 
 
pc1[type]=generic
 
pc1[type]=generic
 
pc2[type]=generic
 
pc2[type]=generic
Linha 615: Linha 544:
 
# Ativação do STP nos switches
 
# Ativação do STP nos switches
 
sw1[stp]=on:bridge_priority=1024
 
sw1[stp]=on:bridge_priority=1024
sw2[stp]=on:bridge_priority=512
+
sw2[stp]=on:bridge_priority=128
sw3[stp]=on:bridge_priority=1024
+
sw3[stp]=on:bridge_priority=500
sw4[stp]=on:bridge_priority=256
+
 
 
 
sw1[eth0]=sw1-sw2
 
sw1[eth0]=sw1-sw2
 
sw1[eth1]=sw1-port1
 
sw1[eth1]=sw1-port1
 
sw1[eth2]=sw1-sw3
 
sw1[eth2]=sw1-sw3
sw1[eth3]=sw1-sw4
 
 
   
 
   
 
sw2[eth0]=sw1-sw2
 
sw2[eth0]=sw1-sw2
 
sw2[eth1]=sw2-port1
 
sw2[eth1]=sw2-port1
sw2[eth2]=sw2-sw4
+
sw2[eth2]=sw2-sw3
 
   
 
   
 
sw3[eth0]=sw1-sw3
 
sw3[eth0]=sw1-sw3
 
sw3[eth1]=sw3-port1
 
sw3[eth1]=sw3-port1
sw3[eth2]=sw3-sw4
+
sw3[eth2]=sw2-sw3
 
   
 
   
sw4[eth0]=sw1-sw4
 
sw4[eth1]=sw2-sw4
 
sw4[eth2]=sw3-sw4
 
 
 
pc1[eth0]=sw1-port1:ip=192.168.0.1/24
 
pc1[eth0]=sw1-port1:ip=192.168.0.1/24
 
pc2[eth0]=sw2-port1:ip=192.168.0.2/24
 
pc2[eth0]=sw2-port1:ip=192.168.0.2/24
 
pc3[eth0]=sw3-port1:ip=192.168.0.3/24
 
pc3[eth0]=sw3-port1:ip=192.168.0.3/24
</syntaxhighlight> || [[imagem:STP-rede2.png]]
 
|}
 
 
== 10/04: Controlando o acesso aos pontos de rede ==
 
 
=== Atividade ===
 
 
Para iniciar a aula, vamos implantar a nova rede do campus São José de forma que:
 
# A segmentação proposta seja feita usando VLANs.
 
# Exista proteção contra ''loops'' acidentais entre portas de switches.
 
# Existam links redundantes, de forma a minimizar quedas da rede se houver rompimento de cabos ou desligamento de switches.
 
 
Como se pode notar, será necessário aplicar as técnicas vistas até a aula passada ...
 
 
 
{| border="0" cellpadding="2"
 
|-
 
|[[imagem:Ifsc-sj-simples.png|400px]] || [[imagem:Ier-seta.png]]|| [[imagem:Nova-rede-ifsc-sj.png|400px]]
 
|}
 
 
 
{| border="1" cellpadding="2"
 
!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
 
|}
 
 
 
Isso será realizado usando o [[Netkit]], e em uma aula futura será reproduzidos com equipamentos reais no laboratório. Para simplificar a rede, vamos assumir que a topologia física esteja implantada como mostrado na figura acima, à esquerda. A configuração do Netkit necessária para criar essa topologia física segue abaixo.
 
 
{{collapse top|Configuração da rede IF-SC São José}}
 
<syntaxhighlight lang=text>
 
# 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
 
</syntaxhighlight>
 
{{collapse bottom}}
 
 
{{collapse top|Configuração da NOVA REDE IF-SC São José}}
 
<syntaxhighlight lang=text>
 
# 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:vlan_tagged=1,10,20,30,40
 
sw-rnp[eth1]=rnp-port1:vlan_untagged=30
 
sw-rnp[eth2]=rnp-port2:vlan_untagged=20
 
sw-rnp[eth3]=rnp-port3:vlan_untagged=10
 
sw-rnp[eth4]=rnp-port4:vlan_untagged=1
 
sw-rnp[eth5]=rnp-port5:vlan_tagged=10,20,40,1
 
sw-rnp[eth6]=link-redundante:vlan_tagged=10,20,40,1
 
 
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:vlan_untagged=20
 
sw-coinf[eth1]=coinf-port1:vlan_untagged=10
 
sw-coinf[eth2]=coinf-port2:vlan_untagged=40
 
# Ligações entre switches
 
sw-coinf[eth3]=rnp-port5:vlan_tagged=10,20,40,1
 
sw-coinf[eth4]=labdes-port3:vlan_tagged=10,20,40,1
 
 
sw-labdes[eth0]=labdes-port0:vlan_untagged=10
 
sw-labdes[eth1]=labdes-port1:vlan_untagged=40
 
sw-labdes[eth2]=labdes-port2:vlan_untagged=1
 
sw-labdes[eth3]=labdes-port3:vlan_tagged=10,20,40,1
 
sw-labdes[eth4]=link-redundante:vlan_tagged=10,20,40,1
 
 
# Ligações dos computadores aos switches
 
asa5510[eth0]=rnp-port0:vlan_tagged=(1,ip=172.18.15.254/20),(10,ip=172.18.31.254/20),(20,ip=200.135.37.126/26),(30,ip=172.18.240.254/24),(40,ip=172.18.47.254/20)
 
 
bd[eth0]=rnp-port1:ip=172.18.240.1/24
 
dmz1[eth0]=rnp-port2:ip=200.135.37.65/26
 
adm1[eth0]=rnp-port3:ip=172.18.16.1/20
 
gw-redes1[eth1]=rnp-port4:ip=172.18.0.100/20
 
 
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=200.135.37.66/26
 
adm2[eth0]=coinf-port1:ip=172.18.16.2/20
 
pedag1[eth0]=coinf-port2:ip=172.18.32.1/20
 
 
adm3[eth0]=labdes-port0:ip=172.18.16.3/20
 
pedag2[eth0]=labdes-port1:ip=172.18.32.2/20
 
gw-redes2[eth1]=labdes-port2:ip=172.18.0.101/20
 
 
# Gateways default dos computadores que usam IP fixo
 
gw-redes1[default_gateway]=172.18.15.254
 
gw-redes2[default_gateway]=172.18.15.254
 
pc-redes1[default_gateway]=192.168.1.1
 
pc-redes2[default_gateway]=192.168.2.1
 
bd[default_gateway]=172.18.240.254
 
dmz1[default_gateway]=200.135.37.126
 
dmz2[default_gateway]=200.135.37.126
 
adm1[default_gateway]=172.18.31.254
 
adm2[default_gateway]=172.18.31.254
 
adm3[default_gateway]=172.18.31.254
 
pedag1[default_gateway]=172.18.47.254
 
pedag2[default_gateway]=172.18.47.254
 
 
asa5510[route]=192.168.1.0/24:gateway=172.18.0.100
 
asa5510[route]=192.168.2.0/24:gateway=172.18.0.101
 
 
# STP
 
sw-rnp[stp]=on:vlan=1
 
sw-rnp[stp]=on:vlan=10
 
sw-rnp[stp]=on:vlan=20
 
sw-rnp[stp]=on:vlan=40
 
 
sw-coinf[stp]=on:vlan=1
 
sw-coinf[stp]=on:vlan=10
 
sw-coinf[stp]=on:vlan=20
 
sw-coinf[stp]=on:vlan=40
 
 
sw-labdes[stp]=on:vlan=1
 
sw-labdes[stp]=on:vlan=10
 
sw-labdes[stp]=on:vlan=20
 
sw-labdes[stp]=on:vlan=40
 
</syntaxhighlight>
 
{{collapse bottom}}
 
 
 
== 17/04: Controlando o acesso aos pontos de rede ==
 
 
=== Controle de acesso e padrão IEEE 802.1x ===
 
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula12.pdf transparências]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/802.1x_book_c2.pdf Capítulo de um livro sobre IEEE 802.1x]
 
 
Na rede da escola existem muitos pontos de acesso em locais com livre acesso das pessoas. Por exemplo, as salas de aula e os laboratórios podem ser acessados por alunos, professores e funcionários (e talvez mesmo pessoas de fora da escola). Pontos de acesso em recintos de uso restrito, tais como setores administrativos, também estão sujeitos a serem usados por outras pessoas. Em uma rede como essa, é importante haver uma forma de controlar o acesso de usuários aos pontos de acesso da rede. Isso significa usar algum mecanismo que possibilite bloquear portas de switch, e liberá-las somente após a identificação de um usuário autorizado.
 
 
O padrão [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ieee/802.1X-2004.pdf 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 desse padrão é definir mecanismos para identificar e autorizar ou não o acesso de um usuário à infraestrutura da rede. Assim, um computador que se conecte a uma porta de um switch terá seu acesso à rede liberado somente após ser autenticado e autorizado.
 
 
[[imagem:8021x.png]]
 
 
 
Os mecanismos são implementados em três componentes que forma a estrutura de controle de acesso IEEE 802.1x, mostrada na figura abaixo:
 
 
[[imagem:Ieee-8021x.png]]
 
 
 
* '''Supplicant:''' o cliente que deseja se autenticar. Implementado com um software (ex: [http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant], [http://open1x.sourceforge.net/ 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 [http://en.wikipedia.org/wiki/RADIUS 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.
 
 
[[imagem: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.
 
* ... [http://freeradius.org/features/eap.html e muitos outros !]
 
 
=== Atividade 1 ===
 
 
Para um primeiro contato com IEEE 802.1x, vamos usar o Netkit.
 
 
<syntaxhighlight lang=text>
 
pc1[type]=generic
 
gw[type]=gateway
 
sw[type]=switch
 
 
sw[8021x]=1:users=aluno/aluno
 
sw[eth0]=port0:8021x_authenticator=1
 
sw[eth1]=port1
 
 
gw[eth0]=port1:ip=192.168.0.254/24
 
gw[eth1]=uplink:ip=10.0.0.1/30
 
gw[nat]=eth1
 
 
pc1[eth0]=port0:8021x_user=aluno/aluno:ip=192.168.0.1/24
 
pc1[default_gateway]=192.168.0.254
 
</syntaxhighlight>
 
 
Obs: maiores detalhes no manual do [[Netkit#Controle_de_acesso_IEEE_802.1x|Netkit]].
 
 
=== Atividade 2 ===
 
 
Para entendermos como funciona o controle de acesso IEEE 802.1x, vamos trabalhar inicialmente com um cenário simplificado. Assim, deve ser criada uma infraestrutura no laboratório em que os computadores terão acesso à rede somente após autenticarem-se frente aos switches.
 
 
[[imagem:Lab9.png]]
 
 
 
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab9-2010-2.pdf Roteiro da experiência]
 
** [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/ier.conf Arquivo de configuração do wpa_supplicant (ier.conf)]
 
 
== 24/04: 1a avaliação ==
 
 
Será feita uma revisão na 1a aula, e após o intervalo teremos a 1a avaliação.
 
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/avaliacoes/prova2-2011-2.pdf Prova de 2011-2]
 
 
== 08/05: Redes sem-fio IEEE 802.11 ==
 
 
* Ver capítulo 15 do livro ''Comunicação de Dados e Redes de Computadores, 3a ed.'', de Behrouz Forouzan.
 
* Ver capítulo 4 (seção 4.4) do livro ''Redes de Computadores, 4a ed.'', de Andrew Tanenbaum.
 
* Ver este [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro on-line] sobre redes IEEE 802.11.
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula15.pdf transparências]
 
 
* Resolver a [http://www.sj.ifsc.edu.br/~msobral/IER/listas/lista8.pdf 3a lista de exercícios]
 
 
== 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.
 
 
 
[[imagem:Wlan1.png|300px]]
 
 
 
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.
 
 
[[imagem:Wlan2.png|800px]]
 
 
 
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.
 
 
[[imagem:Wlan-canais.png]]
 
 
 
=== O MAC CSMA/CA ===
 
 
O protocolo MAC usado em redes IEEE 802.11 se chama CSMA/CA (''Carrier Sense Multiple Access/Collision Avoidance''). Ele foi desenhado para prover um acesso justo e equitativo entre as WSTA, de forma que em média todas tenhas as mesmas oportunidades de acesso ao meio (entenda isso por "oportunidades de transmitirem seus quadros"). Além disso, em seu projeto foram incluídos cuidados para quue colisões sejam difíceis de ocorrer, mas isso não impede que elas aconteçam. Os procedimentos e cuidados do MAC para evitar e tratar colisões apresentam um certo custo (''overhead''), que impedem que as WSTA aproveitem plenamente a capacidade do canal sem-fio. Consequentemente, a vazão pela rede sem-fio que pode de fato ser obtida é menor que a taxa de bits nominal (por exemplo, com IEE 802.11g e taxa de 54 Mbps, efetivamente pode se obter no máximo em torno de 29 MBps).
 
 
O protocolo MAC usa basicamente dois mecanismos principais para fazer o acesso ao meio:
 
* Antes de uma transmissão, verifica-se se o canal está livre. Caso não esteja, deve-se primeiro aguardar que fique livre.
 
* Cada quadro transmitido deve ser confirmado pelo receptor. Isso quer dizer que o receptor deve enviar um quadro de confirmação para o transmissor (ACK). Se esse quadro ACK não for recebido, o transmissor assume que houve um erro. Nesse caso, o transmissor faz uma retransmissão.
 
* Antes de uma retransmissão o transmissor se impõem um tempo de espera aleatório chamado de ''backoff''. A duração máxima do ''backoff'' depende de quantas retransmissões do mesmo quadro já foram feitas.
 
 
A figura abaixo ilustra um cenário em que cinco WSTA disputam o acesso ao meio. Repare os ''backoff'' feitos pelas WSTA antes de iniciarem suas transmissões. Esse ''backoff'' sempre precede uma transmissão quando a WSTA for verificar o canal sem-fio e o encontra ocupado (pense em por que o MAC deve fazer isso ...).
 
 
[[imagem:Wlan-csmaca.png|600px]]
 
 
 
A figura abaixo mostra como varia a duração máxima possível de ''backoff'' em função da quantidade de retransmissões de um mesmo quadro:
 
 
[[imagem:Wlan-retransmissions.png|400px]]
 
 
 
Por fim, o MAC CSMA/CA usado nas redes IEEE 802.11 define uma formato de quadros, mostrado na figura abaixo. Note que ele é diferente do quadro ethernet, e portanto o AP precisa traduzir os cabeçalhos de quadros que viajam da rede cabeada para a WLAN, e vice-versa. Note também que os endereços MAC do CSMA/CA são os mesmos que em redes ethernet.
 
 
 
[[imagem:Wlan-frame.png|500px]]
 
 
=== Atividade 1 ===
 
 
Será feito um  experimento para configurar, usar e verificar a vazão de uma rede local sem-fio, e como funciona a comunicação entre a rede sem-fio e a rede cabeada. Também será investigado o tráfego nessa rede, usando o analisador de protocolo '''wireshark'''. A rede do experimento será parecida com a da figura abaixo:
 
 
[[imagem:Lab11a.png]]
 
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/roteiros/lab11-2011-1.pdf Roteiro do experimento]
 
 
<!-- Em aula foi discutido o MAC CSMA/CA, que usa quadros de confirmação (ACK) para se certificar de que um quadro foi corretamente recebido no destino. Assim, o CSMA/CA implementa uma forma de controle de erros do tipo pare-e-espere (stop-and-wait). Respondendo a uma questão sobre links de rádio de distâncias médias (11 km, como exemplificado por um aluno), levantou-se a questão sobre o ajuste de constantes de tempo do CSMA/CA para se adaptar a essas distâncias. Isso pode ser necessário porque o CSMA/CA foi definido para comunicação de curo alcance, então seus timeouts e demais constantes de tempo foram calculados para distâncias em torno de 100 m ou pouco mais. O artigo abaixo apresenta algumas recomendações sobre o ajuste desses valores:
 
 
[http://www.air-stream.org.au/ACK_Timeouts ACK Timeouts]
 
-->
 
 
== 15/05: Redes sem-fio IEEE 802.11 ==
 
 
* Ver capítulo 15 do livro ''Comunicação de Dados e Redes de Computadores, 4a ed.'', de Behrouz Forouzan.
 
* Ver capítulo 6 do livro ''Redes de Computadores e a Internet, 5a ed.'', de James Kurose.
 
* Ver capítulo 4 (seção 4.4) do livro ''Redes de Computadores, 4a ed.'', de Andrew Tanenbaum.
 
* Ver este [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro on-line] sobre redes IEEE 802.11.
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula15.pdf transparências]
 
 
=== Uma rede sem-fio para o IFSC-SJ ===
 
 
A rede sem-fio do campus Sao Jose do IFSC esta sendo reformulada. A nova 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 ''Pegadogica''.
 
* Para acessar a rede sem-fio, os usuarios devem ser autenticados individualmente.
 
* Todas as comunicacoes dos usuarios devem ser encriptadas.
 
 
Para servir de piloto, foram instalados tres pontos de acesso na rede, como se pode ver abaixo:
 
 
[[imagem:Ifsc-sj-wlan.png|600px]]
 
 
Com o que ja estudamos, o que pode ser feito para atender os requisitos dessa rede sem-fio ?
 
 
=== Passo 1: escolhendo uma estrutura para a rede sem-fio ===
 
 
Para se implantar uma rede sem-fio IEEE 802.11, deve-se escolher uma estrutura e ajustar as funções da rede de forma apropriada. Por estrutura entenda-se o tipo de AP a ser adotado, a forma com que diferentes AP serão interligados, o grau de integração entre os AP e seu gerenciamento.
 
 
Atualmente, entende-se que uma WLAN IEEE 802.11 pode ser estruturada de três formas:
 
# '''Autônoma:''' Cada BSS é independente, não possuindo nenhuma relação ou dependência com outros BSS. O AP de cada BSS cuida de todas as operações e funções da rede sem-fio (ex: segurança, gerência, ponte com a rede cabeada). Por não haver integração entre os BSS, não há um gerenciamento conjunto da rede sem-fio.<br>[[imagem:Wlan-Autonoma.jpg]]
 
# '''Distribuída:''' de forma semelhante á estrutura autônoma, cada AP é plenamente capazz de executar todas as funções da rede sem-fio em seu BSS. Porém os AP de diferentes BSS se coordenam de alguma maneira para que seus BSS possam operar de forma combinada. Por exemplo, os AP podem:
 
#* Compartilhar o suporte à segurança.
 
#* Coordenarem-se para balancear estações entre si, evitando APs sobrecarregados e outros ociosos.
 
#* Cooperar para que estações móveis consigam fazer transições rápidas de um BSS a outro.
 
#* Cooperar para alocar canais e calibrar as potências de transmissão de seus rádios para minimizar interferências porém provendo cobertura na área a ser atendida pela rede sem-fio.
 
#* ... e outras possibilidades.
 
# '''Centralizada:''' O grau de integração e gerenciamento que se ambiciona obter em uma estrutura distribuída pode ser obtido com o uso de um tipo de equipamento especial chamado ''WLAN Controller'' ou ''WLAN Switch''. Nessa estruturam os AP têm funções limitadas, pois a maior parte das funções da rede sem-fio são realizadas pelo ''WLAN Controller''. Apesar de maior facilidade de gerenciamento, essa solução é tipicamente fechada, o que significa que sua adoção cria uma dependência com o fabricante do ''WLAN Controller''. Usada somente em redes corporativas de médio e grande porte (i.e. com dezenas de AP). <br>[[imagem:Wlan-Centralizada.jpg]]
 
 
Uma boa descrição (do ponto de vista da Cisco) pode ser lida [http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-3/wireless_lan_switches.html neste artigo].
 
 
==== Atividade 1: uma WLAN autônoma ====
 
 
Nessa atividade, vamos implantar dois BSS autônomos porém integrados à rede local do laboratório. Usando essas redes sem-fio faremos algumas investigações com respeito a:
 
* Qual a vazão que se consegue obter em cada um dos BSS ?
 
* Quantas estações fazem parte de cada BSS ?
 
* Migração de uma estação de um BSS para outro.
 
 
 
[[imagem:Wlan-autonoma2.png|600px]]
 
 
'''Curiosidade:''' é possível impedir uma WSTA se comunicar com outra WSTA, mesmo que pertençam ao mesmo BSS ?
 
 
=== Sistemas de Distribuição ===
 
 
Uma típica WLAN com estrutura distribuída pode ser criada explorando-se o conceito de ''Sistema de Distribuição'' (DS - ''Distribution System'').
 
 
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:
 
 
 
[[imagem:80211-ds.png|400px]]
 
 
 
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.
 
 
 
[[imagem:80211-ds2.png|400px]]
 
 
=== Atividade ===
 
 
Deve-se criar uma rede sem-fio composta por dois BSS, que formam o ESS "ier". Essa rede sem-fio deve ficar em uma subrede separada da rede do laboratório, havendo um computador com papel de gateway. Duas configurações devem ser testadas:
 
# Os AP estarão interligados por um DS via rede cabeada<br><br>[[imagem:Lab-ds-1.png|400px]]<br><br>
 
# Os AP estarão interligados por um WDS. <br><br>[[imagem:Lab-ds-2.png|400px]]<br><br>
 
Em ambos os casos, devem-se fazer downloads de arquivos longos para estimar a vazão que pode ser obtida.
 
 
== 22/05: Redes sem-fio (NÃO HOUVE AULA) ==
 
 
== 29/05: Redes sem-fio ==
 
 
* Ver [http://www.sj.ifsc.edu.br/~msobral/IER/slides/aula15.pdf transparências]
 
<!--* [http://tele.sj.ifsc.edu.br/~msobral/IER/roteiros/lab12-2011-1.pdf Roteiro do experimento]
 
** [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/wpa Arquivos do wpa_supplicant]
 
-->
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/802.1x_book_c2.pdf Capítulo de um livro  sobre IEEE 802.1x]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/WEP2SecurityAnalysis.ppt Uma análise sobre a segurança WEP]
 
* Ver capítulos 5, 6 e 7 do [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro sobre IEEE 802.11]
 
* Ver capítulo 8 (seção 8.6.4) do livro ''Redes de Computadores, 4a ed.'' de Anndrew Tanenbaum.
 
 
=== Uma rede sem-fio para o IFSC-SJ ===
 
 
A rede sem-fio do campus Sao Jose do IFSC esta sendo reformulada. A nova 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 ''Pegadogica''.
 
* Para acessar a rede sem-fio, os usuarios devem ser autenticados individualmente.
 
* Todas as comunicacoes dos usuarios devem ser encriptadas.
 
 
Para servir de piloto, foram instalados tres pontos de acesso na rede, como se pode ver abaixo:
 
 
[[imagem:Ifsc-sj-wlan.png|600px]]
 
 
Com o que ja estudamos, o que pode ser feito para atender os requisitos dessa rede sem-fio ?
 
 
=== Segurança em redes sem-fio IEEE 802.11 ===
 
 
[[imagem:Wifi_security.jpg]]
 
 
 
Redes sem-fio oferecem muitos atrativos, como acesso ubíquo, ausência de cabeamento e suporte a usuários móveis. Mas também se sujeitam a uso indevido, uma vez que pessoas não-autorizadas no alcance do sinal do ponto de acesso podem tentar usá-la para se comunicarem. Em geral três questões fundamentais aparecem no que diz respeito à segurança em redes sem-fio:
 
 
# ''Acesso indevido:'' uso indevido da infraestrutura por pessoas não-autorizadas.
 
# ''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.
 
# ''Infiltração de equipamentos na rede:'' um ou mais pontos de acesso podem ser infiltrados na rede sem-fio, fazendo com que pessoas os utilizem para se comunicarem. Assim, o tráfego dessas pessoas pode passar por outra rede, sendo passível de monitoramento.
 
 
Por exemplo, redes em locais densamente ocupados (como edifícios) podem ser investigadas por alguém em busca de uma rede aberta ou fácil de ser invadida. Essa pessoa pode simplesmente querer usar o acesso à Internet disponível em alguma rede sem-fio, ou mesmo invadir os equipamentos existentes em tal rede. A figura abaixo mostra uma situação hipotética em que uma pessoa investiga a existência de redes sem-fio a partir de um carro que trafega pelas ruas.
 
 
[[imagem:View_from_Wardriver_Windshield.jpg]]
 
 
Assim, uma rede sem-fio minimamente bem configurado deve usar mecanismos de segurança que impeçam ou dificultem seu uso indevido. Em um cenário usual, tal rede sem-fio poderia se apresentar como mostrado abaixo:
 
 
[[imagem:Wifi-security1.png]]
 
 
 
Para tratar essas questões, deve haver mecanismos de segurança que contemplem os seguintes requisitos:
 
 
# ''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.
 
# ''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.
 
# ''Autenticação dos pontos de acesso:'' pontos de acesso devem se identificar para os usuários, para evitar a infiltração de pontos de acesso indevidos na rede.
 
 
Há mecanismos de segurança usados em redes IEEE 802.11 que contemplam todos os requisitos acima (WPA-EAP, WPA Enterprise), ou parcialmente (WPA-PSK ou WPA Personal). WPA-EAP aproveita a infraestrutura IEEE 802.1x, junto com técnicas de encriptação entre estações sem-fio, para atender esses requisitos. Já WPA-PSK usa apenas as técnicas de encriptação, não havendo um controle de acesso baseado em usuário. Na figura abaixo se mostra uma pequena rede sem-fio que usa WPA-EAP.
 
 
[[imagem:Wifi-auth.jpeg]]
 
 
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.
 
 
=== Atividade 1: conhecendo os mecanismos de segurança ===
 
 
A implantação da rede sem-fio do IFSC-SJ será feita por meio de um protótipo no laboratório. Três pontos de acesso serão ativados, sendo configurados para fornecerem acesso conforme os requisitos listados. Um detalhe importante diz respeito ao mecanismo de segurança a ser adotado, e para compreender quais os adequados faremos alguns experimentos com WEP, WPA-PSK e WPA-EAP.
 
 
# Os AP evem ser instalados com endereços IP 192.168.2.1, 192.168.2.2 e 192.168.2.3. Eles são capazes de trabalharem com WEP, WPA-PSK e WPA-EAP. A interface web de cada AP mostra as opções de configuração de segurança, como será mostrado pelo professor.
 
# Há 7 interfaces de rede sem-fio disponíveis no laboratório. A turma deve se dividir em 7 equipes para a realização dos experimentos. Em cada computador onde houver uma interface sem-fio deve ser executado este comando: <syntaxhighlight lang=bash>
 
ifconfig eth0 down
 
</syntaxhighlight>... para que a comunicação ocorra somente pela rede sem-fio.
 
# Numa primeira configuração o AP estará configurado para proporcionar o modo de segurança com WEP, usando a chave ''mreth''. Assim, as interfaces de rede sem-fio devem ser configuradas para usarem essa chave, o que deve ser feito diretamente na applet do NetworkManager (ver canto direito do menu superior da área de trabalho). Após fornecer o valor da chave, abra um terminal e monitore o status da interface usando o comando:<syntaxhighlight lang=bash>sudo iwconfig wlan0
 
</syntaxhighlight> Rapidamente deve aparecer a informação de que ela está associada ao AP, o que indica que a chave WEP estava correta. O ''iwconfig'' deve mostrar um resultado semelhante a este:<syntaxhighlight lang=bash>
 
$ sudo iwconfig wlan0
 
wlan0 IEEE 802.11g ESSID:"IER" Nickname:""
 
  Mode:Managed Frequency:2.437 GHz Access Point: 00:1B:11:1C:E3:7D
 
  Bit Rate:36 Mb/s Tx-Power:16 dBm Sensitivity=1/1
 
  Retry:off RTS thr:off Fragment thr:off
 
  Encryption key: 6D72-6574-68
 
  Power Management:off
 
  Link Quality=59/70 Signal level=-37 dBm Noise level=-96 dBm
 
  Rx invalid nwid:3064 Rx invalid crypt:0 Rx invalid frag:0
 
  Tx excessive retries:0 Invalid misc:0 Missed beacon:0
 
</syntaxhighlight> OBS: a interface de rede sem-fio pode aparecer com um nome diferente no seu computador. Ex: wlan1, wlan2, ...
 
# A interface de rede sem-fio deve ter conseguido obter um endereço IP isto porque no laboratório o AP possui um servidor DHCP). Isto pode ser verificado com o comando ''ifconfig wlan0''. Teste a comunicação pela rede sem-fio, fazendo um píng para o computador 1922.168.1.1.
 
# 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 introdução deste roteiro se afirmou que o WEP é um modo de segurança com graves falhas, e que não deve ser usado em instalações reais (nem em sua rede doméstica !). Para demonstrar isto será usado o software aircrack-ng (ver detalhes em http://www.aircrack-ng.org), que faz a descoberta da chave WEP. Esse software está instalado no computador do professor, de onde será feita uma demonstração. Esta se baseia no tutorial “Simple WEP Crack Tutorial”, descrito no site oficial do aircrack-ng, e resumidamente segue abaixo:
 
## Executar este comando para ativar o monitoramento na interface sem-fio: <syntaxhighlight lang=bash>
 
airmon-ng start wlan0 11
 
</syntaxhighlight> ... sendo ''11'' o canal onde está operando o AP alvo.
 
## Executar este comando para coletar quadros vindos do AP (substitua o MAC do AP no local indicado): <syntaxhighlight lang=bash>
 
airodump-ng -c 11 --bssid MAC_do_AP -w output mon0
 
</syntaxhighlight> Deixar esse programa executando em um terminal em separado.
 
## Executar este comando para forjar um registro no AP, para que ele aceite quadros em broadcast vindos do seu computador: <syntaxhighlight lang=bash>
 
aireplay-ng -1 0 -e IER mon0
 
</syntaxhighlight>
 
## Executar por fim um comando para injetar quadros em broadcast na rede sem-fio, de forma a forçar o AP a respondê-los e assim aumentar a taxa de coleta de quadros para análise: <syntaxhighlight lang=bash>
 
aireplay-ng -3 -b MAC_do_AP mon0
 
</syntaxhighlight>Deixar esse programa executando em um terminal em separado. No terminal onde roda o airdump-ng a contagem  e quadros coletados deve aumentar rapidamente.
 
## Após alguns segundos, deve-se executar este comando para tentar descobrir a chave WEP com base nos quadros coletados: <syntaxhighlight lang=bash>
 
aircrack-ng -z -b MAC_do_AP output*.cap
 
</syntaxhighlight>Este último passo deve revelar a chave WEP em uso !
 
## O aircrack-ng pode ser instalado no Ubuntu, e existem versões para outros sistemas operacionais (inclusive  indows). Existem outros softwares que quebram chaves WEP, mas basta existir um (e de fácil obtenção !) para  escartar o WEP como um modo de proteção de redes sem-fio a ser considerado.
 
# Sendo o WEP inseguro, em ambiente corporativo ou doméstico recomenda-se o uso de WPA. WPA possui basicamente dois modos de autenticação e encriptação: um baseado em chave compartilhada, chamado de WPA-PSK (semelhante ao WEP), e outro baseado em IEEE 802.1x/EAP. No primeiro caso, o uso da chave foi modificado para que cada quadro use uma chave distinta, e de uma forma que seja muito difícil deduzir a próxima chave. No segundo caso, usa-se o framework IEEE 802.1x, porém limitando os métodos EAP possíveis (ex: EAP-TTLS). Assim, para um primeiro experimento deve-se usar WPA-PSK, por ser mais simples. Configure o AP para usar WPA-PSK, definindo uma chave compartilhada.
 
# Faça com que seu computador novamente se associe à rede sem-fio. Note que agora o ''supplicant'' mostra que o mecanismo é WPA-PSK.
 
# 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 um  discussão sobre isto na página do aircrack-ng. Com isto, concluímos que WPA-PSK, com chaves grandes e aleatórias, pode ser usado com boa margem de segurança. Porém existem outras questões a serem levadas em conta ...
 
# 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 no computador do professor para aceitar a  autenticação com EAP-TTLS.
 
# Para finalizar o experimento, criaremos uma infraestrutura de rede sem-fio com três AP. A autenticação dos usuários será feita com WPA-EAP, usando um servidor RADIUS mantido no computador do professor (192.168.1.1). Os três AP devem ser integrados por um sistema de distribuição cabeado (DS).
 
 
=== Atividade 2: implantando o protótipo da rede sem-fio do IFSC-SJ ===
 
 
A rede sem-fio do IFSC São José deve ser composta de um número apropriado de pontos de acesso, que formem um único ESS. Os usuários, representados por alunos, professores e funcionários, devem se autenticar usando algum mecanismo de segurança para poder usar essa rede sem-fio. Ao obterem acesso, esses usuários devem ser colocados na subrede ''Pedagogica'', estando sujeitos assim às restrições a ela definidas.
 
 
Nesta atividade, vamos implantar essa rede sem-fio no laboratório. Usaremos uma VLAN específica para representar o segmento ''Pedagogica'', onde ficarão os usuários sem-fio.
 
 
== 05/06: Enlaces WAN ==
 
 
* 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.
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/listas/lista1-2011-2.pdf 4a lista de exercícios]
 
 
Um típico enlace WAN, do ponto de vista de uma rede de computadores de usuário, é representado por um enlace ponto-a-ponto, como pode ser visto na figura abaixo. Nele, dois roteadores se comunicam por um meio físico dedicado, usando um protocolo de enlace especializado. Como o meio é dedicado, não existem colisões, e por isso não é necessário um controle de acesso ao meio (MAC). Além disso, como somente esses dois roteadores estão envolvidos, não há necessidade de endereçamento no protocolo de enlace.
 
 
[[imagem:Rede-ier-wan.png]]
 
 
=== Enlaces lógicos ===
 
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/slides/aula1-2012-1.pdf Transparências]
 
 
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.
 
 
[[imagem:Datalink-phy.png|600px]]
 
 
 
Inicialmente vamos estudar a parte lógica do enlace. Apesar disso, deve ficar claro que existe uma dependência 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.
 
 
[[Image: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:
 
* '''[http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-ppp.pdf PPP] (''Point-to-Point Protocol''):''' proposto no início dos anos 90 pelo IETF (ver [http://www.ietf.org/rfc/rfc1661.txt 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.
 
* '''[http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-hdlc.pdf 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 [[Desempenho_ARQ|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 [http://www.spaceops.org/2002/papers/SpaceOps02-P-T5-21.pdf 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 <math>7E_H</math>, serve para delimitar quadros, assim o receptor sabe quando inicia e termina cada quadro.
 
 
[[imagem:Ppp-frame.png|400px]]
 
<br>''Quadro PPP ou HDLC (tamanho de campos dados em bytes)''<br>
 
 
 
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 [http://pt.wikipedia.org/wiki/Comunica%C3%A7%C3%A3o_serial_ass%C3%ADncrona comunicação serial assíncrona].
 
 
=== Atividade 1: enlaces PPP ===
 
 
<!-- * [http://tele.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab3-2011-1.pdf Roteiro da experiência]
 
* [http://www.cisco.com/warp/cpropub/45/tutorial.htm Tutorial da interface de linha de comando Cisco (CLI)]
 
* [http://www.cisco.com/en/US/tech/tk713/tk507/technologies_tech_note09186a008019cfa7.shtml#ppp01 Resolução de problemas com PPP em roteadores Cisco]-->
 
 
[[imagem:Ppp-exp1.png|480px]]
 
<br>''Rede do experimento''
 
 
 
Esse experimento será feito usando o Netkit. Três roteadores estarão interligados por enlaces PPP. A interface mostrada no Netkit para os roteadores é muito parecida com a CLI de roteadores Cisco reais (graças ao software [http://www.quagga.net/ Quagga], que é usado em máquinas virtuais do Netkit que agem como roteadores). No entanto, as interfaces seriais de enlaces ponto-a-ponto no Quagga são identificadas pelos nomes ''ppp0'', ''ppp1'' e assim por diante (ao contrário de ''Serial 0'' e ''Serial 1'' usados no Cisco). Abaixo segue a configuração do Netkit que reproduz o experimento:
 
 
{{collapse top|Configuração do experimento para o Netkit}}
 
<syntaxhighlight lang=text>
 
# Os três roteadores
 
r1[type]=router
 
r2[type]=router
 
r3[type]=router
 
 
# O computador que fica na subrede da esquerda
 
pc1[type]=generic
 
 
# O computador que fica na subrede da direita
 
pc2[type]=generic
 
 
# Um computador que representa a Internet
 
internet[type]=generic
 
 
# Os enlaces ponto-a-ponto entre os roteadores
 
r1[ppp0]=linkEsquerdo:ip=10.0.0.1/30:debug=1
 
r1[ppp1]=linkDireito:ip=10.0.0.5/30:debug=1
 
r2[ppp0]=linkEsquerdo:ip=10.0.0.2/30:debug=1
 
r3[ppp0]=linkDireito:ip=10.0.0.6/30:debug=1
 
 
# a subrede do laboratório, que representa a Internet
 
r1[eth0]=lanExterna:ip=192.168.1.230/24
 
internet[eth0]=lanExterna:ip=192.168.1.1/24
 
 
# A subrede do lado esquerdo
 
r2[eth0]=lanEsquerda:ip=172.18.0.30/28
 
pc1[eth0]=lanEsquerda:ip=172.18.0.17/28
 
 
# A subrede do lado direito
 
r3[eth0]=lanDireita:ip=172.18.10.110/28
 
pc2[eth0]=lanDireita:ip=172.18.10.97/28
 
 
# As rotas ...
 
pc1[default_gateway]=172.18.0.30
 
pc2[default_gateway]=172.18.10.110
 
r2[default_gateway]=10.0.0.1
 
r3[default_gateway]=10.0.0.5
 
r1[route]=172.18.0.16/28:gateway=10.0.0.2
 
r1[route]=172.18.10.96/28:gateway=10.0.0.6
 
internet[route]=172.18.0.0/16:gateway=192.168.1.230
 
</syntaxhighlight>
 
{{collapse bottom}}
 
 
Com base nessa rede, as seguintes atividades serão realizadas:
 
# Observe as informações sobre as interfaces PPP nos roteadores, e compare com o que é mostrado para interfaces ethernet: <syntaxhighlight lang=bash>
 
r1# show interfaces ppp0
 
</syntaxhighlight> ... ou ... <syntaxhighlight lang=bash>
 
r1# start-shell
 
# ifconfig ppp0
 
# ifconfig eth0
 
 
</syntaxhighlight>
 
</syntaxhighlight>
# Teste a comunicação pelos enlaces PPP. Por exemplo, no roteador ''r1'' pode ser feito o seguinte: <syntaxhighlight lang=bash>
 
r1# ping 10.0.0.2
 
r1# ping 10.0.0.6
 
</syntaxhighlight>
 
# Adicione rotas nos roteadores, de forma que as redes fiquem totalmente alcançáveis:
 
#* '''r1:''' <syntaxhighlight lang=bash>
 
# configure terminal
 
(conf)# ip route 172.18.0.16/28 ppp0
 
(conf)# ip route 172.18.10.96/28 ppp1
 
(conf)# exit
 
</syntaxhighlight>
 
#* '''r2:''' <syntaxhighlight lang=bash>
 
# configure terminal
 
(conf)# ip route 0.0.0.0/0 ppp0
 
(conf)# exit
 
</syntaxhighlight>
 
#* '''r3:''' <syntaxhighlight lang=bash>
 
# configure terminal
 
(conf)# ip route 0.0.0.0/0 ppp0
 
(conf)# exit
 
</syntaxhighlight>
 
# Compare o encapsulamento de datagramas IP na rede ethernet e no enlace PPP. Para isso use o wireshark, executando-o para a interface eth0 do roteador ''r1'' e também para a interface ''ppp0''. Para haver datagramas passando pelo roteador, deixe um ping em execução entre os computadores ''pc1'' e ''internet''.
 
 
=== Atividade 2: enlaces PPP e HDLC com roteadores ===
 
 
Para esta atividade será criada uma rede composta por três roteadores Cisco, que estarão interligados como mostrado abaixo:
 
 
 
[[imagem:Rede-modems.png|600px]]
 
 
 
Os circuitos com modems já estão configurados e funcionais, e estão operando a 2 Mbps.
 
 
 
O experimento deve ser realizado com os seguintes passos:
 
# 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:
 
## 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.
 
## 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). <syntaxhighlight lang=bash>
 
sudo minicom -s
 
</syntaxhighlight>
 
## 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.
 
# Configure os roteadores da seguinte forma:
 
#* '''R1:''' <syntaxhighlight lang=text>
 
> enable
 
# configure terminal
 
(conf)# interface ethernet 0
 
(conf-intf)# ip address 192.168.20.254 255.255.255.0
 
(conf-intf)# exit
 
(conf)# interface serial 0
 
(conf-intf)# encapsulation ppp
 
(conf-intf)# ip address 10.0.0.1 255.255.255.255
 
(conf-intf)# exit
 
(conf)# ip route 0.0.0.0 0.0.0.0 serial 0
 
(conf)# exit
 
</syntaxhighlight>
 
#* '''R2:''' <syntaxhighlight lang=text>
 
> enable
 
# configure terminal
 
(conf)# interface fastethernet 0
 
(conf-intf)# ip address 192.168.10.254 255.255.255.0
 
(conf-intf)# exit
 
(conf)# interface serial 0
 
(conf-intf)# encapsulation ppp
 
(conf-intf)# ip address 10.0.0.5 255.255.255.255
 
(conf-intf)# exit
 
(conf)# ip route 0.0.0.0 0.0.0.0 serial 0
 
(conf)# exit
 
</syntaxhighlight>
 
#* '''R3:''' <syntaxhighlight lang=text>
 
> enable
 
# configure terminal
 
(conf)# interface fastethernet 0
 
(conf-intf)# ip address 192.168.1.231 255.255.255.0
 
(conf-intf)# exit
 
(conf)# interface serial 0
 
(conf-intf)# encapsulation ppp
 
(conf-intf)# ip address 10.0.0.2 255.255.255.255
 
(conf-intf)# exit
 
(conf)# interface serial 1
 
(conf-intf)# encapsulation ppp
 
(conf-intf)# ip address 10.0.0.6 255.255.255.255
 
(conf-intf)# exit
 
(conf)# ip route 0.0.0.0 0.0.0.0 192.168.1.1
 
(conf)# exit
 
</syntaxhighlight>
 
# Para conferir as configurações das interfaces, use o comando ''show interface'': <syntaxhighlight lang=text>
 
# show interface serial 0
 
</syntaxhighlight>
 
# Assim que os enlaces forem estabelecidos, o que pode ser conferido com o comando ''show interface'' aplicado às interaces seriais, termine a configuração da rede. 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.
 
# Teste a vazão pelos enlaces ponto-a-ponto. Em algum computador da subrede esquerda execute: <syntaxhighlight lang=bash>
 
netperf -f k -H 192.168.1.1
 
</syntaxhighlight>Faça isso também usando um computador da subrede da direita.
 
# É 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 a medição de vazão. Há alguma diferença ?
 
# 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.
 
 
== 12/06: Enlaces WAN: a parte física do enlace ponto-a-ponto ==
 
 
* Ver capítulos 3, 4 e 5 do livro "Comunicação de dados e Redes de Computadores", de Berhouz Forouzan.
 
* Introdução: ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-fisica.pdf transparências].
 
 
 
A parte física do enlace ponto-a-ponto, usualmente chamada de ''circuito'', corresponde à '''camada física''' da arquitetura de redes. Ele se compõe de equipamentos e técnicas criados para fazer a ''transmissão de dados'' por meio de sinais elétricos.
 
 
[[imagem:Enlace-fisico.png]]
 
 
Dentro da arquitetura de redes estudada em Redes na 2a fase, a camada física se situa no nível mais baixo. Ela deve portanto transmitir de fato a informação, através de um meio de transmissão, a qual deve ser representada por algum sinal. Essa representação implica algum tipo de modulação ou codificação.
 
 
[[imagem:Osi-tcpip.png]]
 
 
 
==== Serviços da camada física ====
 
 
[[Imagem:Servicos-Camada-Fisica.png|600px]]
 
<br>''(Adaptado do livro "Comunicação de Dados e Redes de Computadores, 3a ed.", de Berhouz Forouzan)''
 
 
==== Modems e Interfaces Digitais ====
 
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula5-modems.pdf Uma introdução a modems e interfaces digitais]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/SHDSL_wp.pdf Tutorial sobre SHDSL]
 
 
Modems são equipamentos que realizam a modulação ou codificação de um sinal digital, de forma a pode ser transmitido apropriadamente por um meio de transmissão. Essa transformação é nececssária para que a informação possa viajar por uma distância maior no meio, e possa ser recuperada pelo equipamento receptor (o modem do outro lado da linha).
 
 
Em nossa aula serão usados modems síncronos [http://en.wikipedia.org/wiki/Single-pair_high-speed_digital_subscriber_line SHDSL], que são bastante comuns de serem encontrados em instalações reais. Esses modems operam com um meio de transmissão composto por um ou dois pares metálicos padrão telefonia. Com eles podem-se estabelecer enlaces físicos com taxas de 64 kbps a 2.304 Mbps (com incrementos de 64 kbps), usando uma codificação do tipo [http://en.wikipedia.org/wiki/TC-PAM TC-PAM]. Se forem usados quatro pares metálicos, a taxa máxima chega a 4.608 Mbps. Modems SHDSL versão BIS podem obter taxas ainda maiores (5.6 Mbps ou 11.2 Mbps), como por exemplo alguns [http://www.datacom.ind.br/new/en/taxonomy/term/51 modems Datacom]. Alguns modelos chegam a 22.8 Mbps, como [http://www.shdslmodem.com/radproducts.htm estes da RAD].
 
  
Para instalar modems síncronos, deve-se observar o seguinte:
+
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.
* '''Qual modem é a fonte de sincronismo:''' um dos modems deve gerar o sincronismo do circuito. Assim, um dos modems deve usar seu relógio interno, e o outro deve usar relógio regenerado.
 
* '''Qual modem comanda (inicia) o circuito:''' o modem que inicia o circuito toma a inciativa de estabelecer o enlace físico com o modem remoto. Esse modem dever ser configurado como NTU (Network Termination Unit), e o modem remoto deve ser LTU (Local Termination Unit).
 
* '''A taxa de bits a ser usada:''' ambos modems devem ser configurados com a mesma taxa de bits.
 
* '''A quantidade de pares metálicos:''' ambos modems devem usar a mesma quantidade de pares metálicos.
 
* '''O tipo de interface digital:''' a interface  digital comunica modem e DTE (ex: roteador), portanto o mdoem deve ser configurado para usar a mesma interface digitak que o DTE. Por exemplo, uma escolha bastante comum é a interface [http://encyclopedia2.thefreedictionary.com/V.35 V.35]. Outro tipo de interface de interface digital é [http://ckp.made-it.com/g703.html G.703], usada em linhas do tipo [http://en.wikipedia.org/wiki/E-carrier E1].
 
  
Existem muitas interfaces digitais normatizadas e proprietárias, que foram criadas para serem usadas com diferentes meios de transmissão e equipamentos. A turma de IER de 2011-1 fez uma pesquisa sobre interfaces digitais usadas em equipamentos de comunicação, incluindo suas características. O resultado dessa investigação pode ser vista em:
+
==Prova 2==
 +
A segunda prova será aplicada no dia 03/06, com base nos conteúdos apresentados pelos alunos (capítulos 12, 13 e 15 do Forouzan) e também nas aulas de laboratório.
  
[[Interfaces_Digitais_IER|Catálogo de interfaces digitais]]
+
==Aula 11==
 +
(Aula de 06/06)
  
=== Laboratório ===
+
Na aula de hoje falaremos sobre [[media:Ch12-CSMACA.pdf|CSMA/CA]] e [[media:Ch14-WLAN.pdf|Wireless LANs]].
  
Uma rede com enlaces WAN feitos com modems digitais SHDSL.
+
==Aula 12==
* [http://www.sj.ifsc.edu.br/~msobral/IER/roteiros/lab4-2010-2.pdf Roteiro da experiência]
+
(Aula de 10/06)
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/manuais/Guia_DT2048_SHDSL_T_E_S_VG_210.5088.00-1.pdf Manual do modem Digitel DT2048 SHDSL]
 
  
[[imagem:Rede-modems.png|600px]]
+
Continuação da aula anterior e correção da prova 2.
  
== 19/06: [[Projeto_Integrador_-_2012.1|Projeto Integrador]] ==
+
==Aula 13==
 +
(Aula de 13/06)
  
== 26/06: [[Projeto_Integrador_-_2012.1|Projeto Integrador]] ==
+
Falaremos sobre e [[media:Ch18-ATM_FrameRelay.pdf|Frame Relay e ATM]].
  
== 03/07: [[Projeto_Integrador_-_2012.1|Projeto Integrador]] ==
+
==Prova 3==
 +
A terceira prova será aplicada no dia 27/06, com base nos conteúdos sobre [[media:Ch12-CSMACA.pdf|CSMA/CA]], [[media:Ch14-WLAN.pdf|Wireless LANs]], [[media:Ch18-ATM_FrameRelay.pdf|Frame Relay e ATM]] e também na aula de laboratório. A turma B realizará a prova antes da turma A.
  
== 10/07: [[Projeto_Integrador_-_2012.1|Projeto Integrador]] ==
+
==Prova de Recuperação==
 +
Para aqueles que precisarem de prova de recuperação, ela será realizada no dia 08/07. A matéria a ser pedida englobará todo o conteúdo. A ordem de realização das provas será normal: turma A, às 7h30, e turma B, às 9h40.

Edição atual tal como às 10h56min de 8 de setembro de 2014

Diário de Aula 2014-1 (Integrado - Turma 60808)

Instrutor

Professor: Fábio Grezele
Email: fabio.grezele (arroba) ifsc.edu.br
Atendimento paralelo: 3a feira 19:40h - 20:40h (Lab. de Desenvolvimento de Tele)

Bibliografia

Para pesquisar o acervo das bibliotecas do IFSC:

Avaliações

Os conhecimentos serão analisados através de provas e trabalhos. As provas terão peso de 70% da nota final, enquanto os trabalhos terão 30%. Dentre os trabalhos, pode ser pedida a realização de listas de exercícios, apresentações em grupo, atividades em grupo e participação em sala de aula.

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)


Instalação de Equipamentos de Redes

Material de Apoio


Aula 1

(Aula de 07/03)

  • Apresentação da disciplina
  • Comunicação de dados
  • Redes
  • Topologia

Confira transparências sobre Comunicação de Dados.

Aula 2

(Aula de 11/03)

  • Enlaces ponto a ponto
  • O papel da camada de Enlace
  • O papel da camada física

Confira transparências sobre Enlaces ponto a ponto e a Camada de Enlace.

Curiosidade: Falha de segurança em roteadores Cisco

Aula 3

(Aula de 14/03)

  • Enquadramento (framing)
  • Preenchimento de bit (bit-stuffing)
  • Preenchimento de caractere (byte-stuffing)

Confira transparências sobre Framing.

Atividade 1

Aula de laboratório: esse experimento será feito usando o Netkit, que deve ser instalado e atualizado nos computadores.

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

Rede do experimento
Rede do experimento

Copie a configuração, abaixo, do Netkit. Salve num arquivo chamado lab.conf. O arquivo deverá descrever a topologia ilustrada acima.

Configuração do experimento para o Netkit
# Os três roteadores
r1[type]=router
r2[type]=router
r3[type]=router

# O computador que fica na subrede da esquerda
pc1[type]=generic

# O computador que fica na subrede da direita
pc2[type]=generic

# Um computador que representa a Internet
internet[type]=generic

# Os enlaces ponto-a-ponto entre os roteadores
r1[ppp0]=linkEsquerdo:ip=10.0.0.1/30:debug=1
r1[ppp1]=linkDireito:ip=10.0.0.5/30:debug=1
r2[ppp0]=linkEsquerdo:ip=10.0.0.2/30:debug=1
r3[ppp0]=linkDireito:ip=10.0.0.6/30:debug=1

# a subrede do laboratório, que representa a Internet
r1[eth0]=lanExterna:ip=192.168.1.230/24
internet[eth0]=lanExterna:ip=192.168.1.1/24

# A subrede do lado esquerdo
r2[eth0]=lanEsquerda:ip=172.18.0.30/28
pc1[eth0]=lanEsquerda:ip=172.18.0.17/28

# A subrede do lado direito
r3[eth0]=lanDireita:ip=172.18.10.110/28
pc2[eth0]=lanDireita:ip=172.18.10.97/28

# As rotas ...
pc1[default_gateway]=172.18.0.30
pc2[default_gateway]=172.18.10.110
r2[default_gateway]=10.0.0.1
r3[default_gateway]=10.0.0.5
r1[route]=172.18.0.16/28:gateway=10.0.0.2
r1[route]=172.18.10.96/28:gateway=10.0.0.6
internet[route]=172.18.0.0/16:gateway=192.168.1.230

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

  1. Observe as informações sobre as interfaces PPP nos roteadores, e compare com o que é mostrado para interfaces ethernet:
    r1# show interface ppp0
    
    ... ou ...
    r1# start-shell
    # ifconfig ppp0
    # ifconfig eth0
    
  2. Teste a comunicação pelos enlaces PPP. Por exemplo, no roteador r1 pode ser feito o seguinte:
    r1# ping 10.0.0.2
    r1# ping 10.0.0.6
    
  3. Adicione rotas nos roteadores, de forma que as redes fiquem totalmente alcançáveis:
    • r1:
      # configure terminal
      (conf)# ip route 172.18.0.16/28 ppp0
      (conf)# ip route 172.18.10.96/28 ppp1
      (conf)# exit
      
    • r2:
      # configure terminal
      (conf)# ip route 0.0.0.0/0 ppp0
      (conf)# exit
      
    • r3:
      # configure terminal
      (conf)# ip route 0.0.0.0/0 ppp0
      (conf)# exit
      
  4. Compare o encapsulamento de datagramas IP na rede ethernet e no enlace PPP. Para isso use o wireshark, executando-o para a interface eth0 do roteador r1 e também para a interface ppp0. Para haver datagramas passando pelo roteador, deixe um ping em execução entre os computadores pc1 e internet.

Aula 4

(Aula de 18/03)

  • Continuação da aula de laboratório
  • Verificar se as configurações de lab.conf estão corretamente implementadas no Netkit.

Aula 5

(Aula de 21/03)

  • HDLC (High-level Data Link Control)
  • PPP (Point-to-Point Protocol)
  • Enquadramento
  • Protocolos para detecção de erros, controle de fluxo, controle de erros e gerenciamento de enlace

Confira transparências sobre HDLC e PPP.

Aula 6

(Aula de 25/03)

Aula 7

(Aula de 28/03)

  • Requisitos e objetivos da camada fisica
    • Fundamentos de comunicação de dados
      • Meios físicos de transmissão
      • Códigos de comunicação de dados

Veja as apresentações sobre meios de transmissão e também aquelas disponibilizadas pelo Prof. Jorge Casagrande sobre códigos e comunicação serial.

Aula 8

(Aula de 01/04)

  • Requisitos e objetivos da camada física
    • Fundamentos de comunicação de dados
      • Comunicação serial síncrona e assíncrona
    • Interfaces digitais
      • Interfaces assíncronas RS-232 e RS-485
      • Interfaces síncronas V.35, V.36 e G.703

Veja as apresentações disponibilizadas pelo Prof. Jorge Casagrande sobre interfaces digitaisl.

Aula 9

(Aula de 04/04)

Laboratório sobre enlaces PPP e HDLC com roteadores.

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


Rede com modems
Rede com modems


Criar os circuitos com modems operando a 2 Mbps.


O experimento deve ser realizado com os seguintes passos:

  1. Acesse a interface de gerência (console) do seu roteador. O roteador R1 está no rack esquerdo, o roteador R3 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
      
    • 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
      
    • 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
      
  3. 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
    
  4. 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.

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
      
    • 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
      
    • 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
      
      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 
      Para os PCs das subredes direita e esquerda
        $ sudo ifconfg eth0 192.168.x.y netmask 255.255.255.0 up  - x={10,20}; y={1,2,3,4}
        $ sudo route add default gw 192.168.x.254 - x={10,20}
      
  1. Verificar e anotar todas as configurações dos componentes de redes, modens, cabos, adaptadores, manobras dos cabos, etc...
  2. Acessar as redes mutuamente qualquer computador de um subrede deve acessar qualquer outro da outra subrede;
  3. Acessar a internet em todos os PCs;
  4. 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;
  5. Faça isso também usando um computador da subrede da direita e depois entre computadores das subredes direta e esquerda.
  6. 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.
  7. É 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;
  8. 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 10

Prova 1

A primeira prova foi aplicada no dia 22/04, com base nos conteúdos apresentados e também nas aulas de laboratório.

Prova substitutiva

Excepcionalmente, será feita uma prova substitutiva à Prova 1 com base nos conteúdos apresentados e nas aulas de laboratório. Todos os alunos que desejam fazer a prova substitutiva devem comparecer à sala 09, no dia 06/05. As turmas serão divididas entre A e B. Portanto, haverá uma turma que fará a prova às 7h30 e outra às 9h40.

Trabalho em grupo

Em grupos de até 3 pessoas, os alunos devem preparar apresentações sobre os conceitos abaixo. Essas apresentações deverão ser elaboradas para aproveitar os recursos de multimídia do Laboratório. As apresentações devem ter duração de 20 a 30 minutos. Procure utilizar exemplos da sua experiência para enfatizar aquilo que será apresentado.

Os grupos devem se subdividir em:

  1. Acesso randômico (seção 12.1 do Forouzan)
    1. CSMA
    2. CSMA/CD
  2. Ethernet (seções 13.2 e 13.3 do Forouzan)
    1. Ethernet padrão
    2. Evolução do padrão (bridges e switches)
  3. Fast ethernet e gigabit ethernet (seções 13.4 e 13.5 do Forouzan)
  4. Conexão de LANs (seção 15.1 do Forouzan)
    1. Hubs passivos e ativos
    2. Repetidores
    3. Bridge
    4. Spanning-tree
    5. Roteadores
  5. Redes Backbone (seção 15.2 do Forouzan) e LANs virtuais (seção 15.3 do Forouzan)


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.

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


Exercício: acrescente um gateway para interligar as duas VLANs

Apresentação da configuração

Abaixo está uma possível solução. Percebe-se que foram necessários criar segmentos de rede para possibilitar a comunicação com o gateway.

sw[type]=switch

gw[type]=gateway

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
sw[eth4]=port4:vlan_untagged=5
sw[eth5]=port5:vlan_untagged=10
 
# Ligando os computadores ao switch
pc1[eth0]=port0:ip=192.168.5.1/24
pc2[eth0]=port1:ip=192.168.10.2/24
pc3[eth0]=port2:ip=192.168.10.3/24
pc4[eth0]=port3:ip=192.168.5.4/24

gw[eth0]=port4:ip=192.168.5.254/24
gw[eth1]=port5:ip=192.168.10.254/24

pc1[default_gateway]=192.168.5.254
pc2[default_gateway]=192.168.10.254
pc3[default_gateway]=192.168.10.254
pc4[default_gateway]=192.168.5.254

Ier-vlan1.png

O uso do Netkit para LANs

Utilizaremos o Netkit para simular LANs. Abaixo estão alguns experimentos elaborados pelo Prof. Jorge Casagrande.

Caso necessite de mais informações sobre o Netkit, por favor, consulte a http://wiki.netkit.org/. Os laboratórios oficiais do Netkit estão em http://wiki.netkit.org/index.php/Labs_Official.

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.

Observe no desenho acima que a rede ethernet é um domínio de colisão de pacotes para essa rede interligada através de hub. O domínio de colisão é a rede 192.168.0.0/24. Para Ethernet-padrão, o método de acesso ao meio é o CSMA/CD 1-persistent.

Vamos observar esse domínio de colisão. Para tanto, efetue um ping do pc1 para o pc2. No pc3, execute o comando

tcpdump -i eth0 </syntaxhighlight>

Observe agora utilizando o Wireshark do pc4.

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

Repita os testes feitos acima para verificar o domínio de colisão usando ping, tcpdump e wireshark. O que foi observado?

Execute o comando tcpdump para as interfaces eth0, eth1, eth2 e eth3 do switch. O que foi observado?

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.


STP (Spanning Tree Protocol)

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. Um exemplo de rede em que o STP se torna necessário é mostrada na figura abaixo:

LAN-anel-stp.png

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.

Prova 2

A segunda prova será aplicada no dia 03/06, com base nos conteúdos apresentados pelos alunos (capítulos 12, 13 e 15 do Forouzan) e também nas aulas de laboratório.

Aula 11

(Aula de 06/06)

Na aula de hoje falaremos sobre CSMA/CA e Wireless LANs.

Aula 12

(Aula de 10/06)

Continuação da aula anterior e correção da prova 2.

Aula 13

(Aula de 13/06)

Falaremos sobre e Frame Relay e ATM.

Prova 3

A terceira prova será aplicada no dia 27/06, com base nos conteúdos sobre CSMA/CA, Wireless LANs, Frame Relay e ATM e também na aula de laboratório. A turma B realizará a prova antes da turma A.

Prova de Recuperação

Para aqueles que precisarem de prova de recuperação, ela será realizada no dia 08/07. A matéria a ser pedida englobará todo o conteúdo. A ordem de realização das provas será normal: turma A, às 7h30, e turma B, às 9h40.