Mudanças entre as edições de "PJI3 20192"
Linha 677: | Linha 677: | ||
## Crie rotas estáticas nos ''hosts'' para que ''pc1, pc2'' e ''pc3'' consigam se comunicar | ## Crie rotas estáticas nos ''hosts'' para que ''pc1, pc2'' e ''pc3'' consigam se comunicar | ||
# Note que ''r3'' possui um link para a rede externa por meio da interface ''eth4''. Essa interface deve usar o endereço 192.168.1.10X/24. Configure as rotas necessárias para que os hosts de sua rede consigam se comunicar com os hosts das redes de seus colegas. | # Note que ''r3'' possui um link para a rede externa por meio da interface ''eth4''. Essa interface deve usar o endereço 192.168.1.10X/24. Configure as rotas necessárias para que os hosts de sua rede consigam se comunicar com os hosts das redes de seus colegas. | ||
+ | |||
+ | |||
+ | == Roteamento dinâmico ('''com o RIP''')== | ||
+ | |||
+ | |||
+ | |||
+ | [[Arquivo:Rip_netkit.jpg|400px]] | ||
+ | |||
+ | Baseado no diagrama da Figura, usaremos serviços para rodar os protocolos de roteamento RIP, de tal modo que as tabelas estáticas de roteamento não mais serão necessárias e o sistema se auto recuperará da queda de um único enlace (nesse caso). Em cada roteador o software [https://www.quagga.net/ Quagga] é responsável por executar o protocolo de roteamento. | ||
+ | #Reinicie o NetKit2 para limpar todas as configurações. | ||
+ | #Transfira o [http://tele.sj.ifsc.edu.br/~msobral/pji3/exp2.conf arquivo exp2.conf] para seu computador, gravando-o para um arquivo em seu diretório pessoal. O arquivo ''exp2.conf'' possui a configuração da rede a ser executada com o Netkit2. Observe que nessa configuração já está inserida a definição dos default gateway de cada pc. | ||
+ | # Carregue o arquivo ''exp2.conf'' no Netkit2 usando o menu ''File->Load Only''. Em seguida, use o menu ''File->Graph'' para visualizar a topologia da rede a ser executada (compare-a com a figura no início desta atividade). Por fim, inicie a execução da rede usando o menu ''Network->Start''. | ||
+ | #Para testar o ambiente criado no '''pc1''' execute: <code> ping 192.168.2.1 </syntaxhighlight> <span style="color: #FF2400;">O ping está funcionando? Por quê? | ||
+ | #Deixe o ping rodando! | ||
+ | #Agora em cada roteador, configure o serviço RIP para que os testes da próxima etapa possam ser executados. No terminal de cada um dos roteadores, execute estes comandos:<syntaxhighlight lang=text> | ||
+ | configure terminal | ||
+ | router rip | ||
+ | redistribute connected | ||
+ | redistribute static | ||
+ | network eth1 | ||
+ | network eth2 | ||
+ | end | ||
+ | </syntaxhighlight> | ||
+ | #<span style="color: #FF2400;">Olhe o terminal do pc1, o que ocorreu com o ping? Por quê? | ||
+ | #Observando o estado do sistema. Vamos usar comandos para verificar o estado dos roteadores. | ||
+ | ##Verifique o estado das interfaces usando o comando: <code> show interface </syntaxhighlight> | ||
+ | ##Verifique se o roteador está habilitado para roteamento: <code> show ip forwarding </syntaxhighlight> | ||
+ | ##Verifique o estado da '''tabela de roteamento''' usando o comando: <code> show ip route </syntaxhighlight> '''Interprete detalhadamente essa tabela'''! Você consegue visualizar o mapa da rede a partir dessa tabela? | ||
+ | ##Verifique a configuração atual do roteador: <code> show running-config </syntaxhighlight> | ||
+ | #Teste as demais conectividades entre os PCs com pings mútuos. Tudo funcionando? | ||
+ | #A partir de cada PC trace a rota ('''traceroute''') para os demais PC e anote-as. | ||
+ | #Com o '''route -n''' e/ou '''netstat -r''' verifique a anote as rotas para cada rede a partir dos pcs. | ||
+ | #Pare todos os pings. | ||
+ | #Inicie o shell para utilizar o TCPDUMP.<code>start-shell</syntaxhighlight> | ||
+ | #Execute no '''r1'''.<code>tcpdump -i any -w /hostlab/ripr1.pcap</syntaxhighlight> | ||
+ | # Aguarde uns 2 minutos para capturar pacotes específicos do protocolo de roteamento RIP. | ||
+ | #Com o navegador de arquivos entre na pasta '''/home/aluno/lab/''' e dê um duplo click no arquivo '''ripr1.pcap''' e tente compreender as mensagens RIPv2 (UDP 17) trocadas. As mensagens são trocadas aproximadamente a cada minuto, se não aparecer nenhuma no Wireshark faça um ''reload'': <Ctrl+r> até surgir alguma mensagem. Olhe com atenção os IPs e as métricas apresentadas. | ||
+ | ##O que dizem essas mensagens? | ||
+ | ##Pesquise o significado do endereço 224.0.0.9. | ||
+ | #A partir do '''pc1''' deixe rodando o ping <code> ping 192.168.2.1</syntaxhighlight> | ||
+ | #Com o tcpdump rodando em '''r1''', desative um dos enlaces entre os roteadores e acompanhe a troca de mensagens no Wireshark (dê um ''reload''). Por questões de compatibilidade vamos desativar uma interface de um modo especial. Por exemplo, para "derrubar" o enlace r3-r1, execute no '''r3''': <code> | ||
+ | configure t entra no mode de configuração | ||
+ | interface eth1 entra na referida interface a ser operada | ||
+ | shutdown desativa a interface, se desejado </syntaxhighlight> | ||
+ | #Permaneça monitorando o ping e o Wireshark (''reload'': <Ctrl+r>), a recuperação das rotas leva em torno de 1-3 min: | ||
+ | ##Quais as mensagens trocadas pelo protocolo RIP observadas no WireShark? Observe o trecho de mensagens onde não houve respostas ao ping. | ||
+ | ##Qual o tempo aproximado para a total recuperação das rotas? (Isso seja observável pela diferença de tempos (''timestamp'') na sequência de mensagens observadas no Wireshark). | ||
+ | #Teste as conectividades. O que aconteceu? | ||
+ | #Retrace as rotas com nos roteadores <code> show ip route </syntaxhighlight> e com o <code> traceroute </syntaxhighlight> a partir dos PCs. | ||
+ | ##São diferentes do caso original (todos enlaces ativos)? Por quê? | ||
+ | ##Quais os caminhos/rotas que foram reescritos? Por quê? | ||
+ | #Reative a interface r3-r1.<code>no shutdown</syntaxhighlight> | ||
+ | ##Com o Wireshark, identifique as mensagens trocadas entre os roteadores envolvidos na mudança. | ||
+ | ##Qual a sua interpretação da mensagem? Qual o motivo da troca dessa mensagem em particular? | ||
+ | |||
+ | === Revisitando o roteamento entre equipes ... mas dinâmico === | ||
+ | |||
+ | # Cada aluno deve obter o [http://tele.sj.ifsc.edu.br/~msobral/pji3/exp2x.conf arquivo de configuração exp2x.conf]. Transfira-o para seu computador. | ||
+ | # Abra um terminal em seu computador, e execute este comando: <syntaxhighlight lang=bash> | ||
+ | sed s/X/seu_numero/ exp2x.conf > redex.conf | ||
+ | </syntaxhighlight>... para preparar esse arquivo com os endereços IP da sua subrede. Seu número deve ser aquele informado pelo professor. | ||
+ | # Carregue o arquivo ''redex.conf'' no netkir2, o qual foi criado com o comando do ítem 2. | ||
+ | # Repita a configuração para ativar o RIP vistas anteriormente. | ||
+ | # Confira as rotas criadas nos roteadores (em especial no roteador ''r3''). | ||
+ | # Teste a comunicação com os hosts de seus colegas. | ||
+ | |||
</font> | </font> | ||
{{Collapse bottom | Aula 4}} | {{Collapse bottom | Aula 4}} |
Edição das 14h49min de 7 de agosto de 2019
Projeto Integrador III
Professora: Juliana Camilo (juliana.camilo@ifsc.edu.br)
Encontros: 3a feira/19:00, 5a feira/19:00
Atendimento paralelo Profa. Juliana: 3a e 6a feira 17:30 hrs às 18:30 hrs
Coordenadoria pedagógica (Graciane): graciane@ifsc.edu.br (3381-2890, 3381-2842)
PPC Curso Técnico Subsequente de Telecomunicações
30/07/2019: Apresentação da disciplina.
Aula 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apresentação da disciplinaIntrodução ao problema de estudoA disciplina de Projeto Integrador 3 tem como assunto principal as tecnologias de enlace e rede que podem ser usadas para implantar redes locais e redes de acesso. Além disso, uma introdução à redes WAN faz parte do programa da disciplina.
AtividadeNesta primeira aula o objetivo é descrever as características do serviço a ser oferecido pelo provedor, e pensar na infraestrutura necessária para que seja implantado. Isso inclui investigar o que os provedores que já existem tem oferecido para seus clientes, e que tecnologias eles utilizam. Ao final da aula, deveremos ter:
Tabela de provedores existentes (Grande Florianópolis)
|
01/08/2019: Endereçamento IPv4. Configuração Estática e Dinâmica
Aula 2 |
---|
Configuração de endereçosO endereço IP de um host pode ser configurado de forma estática ou dinâmica. No primeiro caso, o usuário predefine o endereço IP no próprio equipamento. No segundo, o equipamento usa um protocolo especial de configuração para obter sua configuração de rede.
Configuração estáticaA configuração estática envolve um usuário gravar a configuração de rede de forma persistente na memória do host. Cada tipo de equipamento apresenta um procedimento diferente para armazenar a configuração de rede estática. Por exemplo, em computadores com sistema operacional Linux da família Debian (tais como Debian, Ubuntu, Mint e muitos outros), a configuração de rede fica armazenada no arquivo /etc/network/interfaces: iface eth0 inet static
address 10.1.23.19
netmask 255.255.255.0
gateway 10.1.23.254
router# configure terminal
router(config)# interface e0
router(config-if)# ip address 10.1.23.19 255.255.255.0
router(config-if)# exit
router(config)# ip route 0.0.0.0 0.0.0.0 10.1.23.254
router(config)# exit
router# write memory
router# write terminal
Building configuration...
Current configuration : 472 bytes
!
version 12.3
!
hostname Router
!
interface Ethernet0
ip address 10.1.23.19 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.23.254
Configuração dinâmicaUm host pode obter suas informações de rede dinamicamente por meio do protocolo DHCP (Dynamic Host Configuration Protocol). Desta forma, não há necessidade de o usuário saber as informações de rede necessárias para configurar corretamente seu equipamento. Isso torna possível também centralizar e automatizar a distribuição de endereços de rede para hosts. Se alguma das informações precisar ser modificada (ex: o roteador default), basta alterá-las no serviço DHCP para que toda a rede seja eventualmente reconfigurada. A maioria dos equipamentos de usuários vem de fábrica com configuração de rede dinâmica. Isso vale para computadores pessoais, em que os sistemas operacionais detectam as interfaces de rede e as configuram com DHCP, smartphones, tablets, câmeras IP, ATA e telefones IP, impressoras, e possivelmente outros equipamentos. Em computadores pessoais com sistemas operacionais Linux da família Debian, uma interface pode ser configurada dinamicamente se for declarada em /etc/network/interfaces desta forma: iface eth0 inet dhcp
Protocolo DHCPDHCP (Dynamic Host Configuration Protocol) é um protocolo para obtenção automática de configuração de rede, usado por computadores que acessam fisicamente uma rede. Esses computadores são tipicamente máquinas de usuários, que podem usar a rede esporadicamente (ex: usuários ocm seus laptops, com acesso via rede cabeada ou sem-fio), ou mesmo computadores fixos da rede. O principal objetivo do DHCP é fornecer um endereço IP, a máscara de rede, o endereço IP do roteador default e um ou mais endereços de servidores DNS. Assim, um novo computador que acesse a rede pode obter essa configuração sem a intervenção do usuário. Para esse serviço pode haver um ou mais servidores DHCP. Um computador que precise obter sua configuração de rede envia mensagens DHCPDISCOVER em broadcast para o port UDP 67. Um servidor DHCP, ao receber tais mensagens, responde com uma mensagem DHCPOFFER também em broadcast, contendo uma configuração de rede ofertada. O computador então envia novamente em broadcast uma mensagem DHCPREQUEST, requisitando o endereço IP ofertado pelo servidor. Finalmente, o servidor responde com uma mensagem DHCPACK, completando a configuração do computador cliente. Como a configuração tem um tempo de validade (chamado de lease time), o cliente deve periodicamente renová-la junto ao servidor DHCP, para poder continuar usando-a. O diagrama abaixo mostra simplificadamente esse comportamento:
O servidor DHCP identifica cada cliente pelo seu endereço MAC. Assim, o DHCP está fortemente relacionado a redes locais IEEE 802.3 (Ethernet) e IEEE 802.11 (WiFi). Servidor DHCPEm uma rede local em que hosts devem obter sua configuração de rede dinamicamente, deve haver ao menos um servidor DHCP. Esse serviço costuma estar disponibilizado em equipamentos de rede, tais como pontos de acesso sem-fio e roteadores. Por exemplo, o roteador sem-fio TP-Link WDR 4300 oferece esse serviço, que pode ser configurado e ativado por meio de sua interface de gerenciamento.
# tempos de concessão, em segundos
default-lease-time 600;
max-lease-time 7200;
# Algumas opções de uso comum
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 191.36.8.2, 191.36.8.3;
option domain-name "sj.ifsc.edu.br";
# subrede 192.168.1.0/24 com duas faixas de endereços a serem concedidos:
# 192.168.1.100 a 192.168.1.150
# 192.168.1.190 a 192.168.1.240
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.2.150;
range 192.168.1.190 192.168.2.240;
}
AtividadeObjetivo
Roteiro 01: configuração de endereçosTomando como base a rede do laboratório mostrada na figura, realize estes procedimentos em a máquina virtual "Gráfico-3":
|
06/08/2019: Endereçamento IPv4. Configuração Estática e Dinâmica (continuação)
Aula 3 |
---|
|
08/08/2019: Roteamento Estático e Dinâmico
Aula 4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Subredes IPUma subrede IP é representada por um prefixo de rede e uma máscara. O prefixo são os N bits mais significativos comuns a todos os endereços IP contidos em uma subrede (lembre que um endereço IP tem 32 bits). A máscara informa quantos bits tem o prefixo. A combinação de prefixo de rede e máscara funciona da seguinte forma: Imagine que exista uma subrede contendo os endereços de 192.168.2.0 até 192.168.2.255. Se representarmos esses endereços em binário, podemos ver que os 24 bits mais significativos são os mesmos para todos os endereços:
Encaminhamento IPTodo host é capaz de realizar uma função da camada de rede chamada de encaminhamento IP (IP forwarding). O encaminhamento é feito quando um host recebe um datagrama IP, e precisa decidir o que fazer com ele. O destino do datagrama depende do endereço de destino contido em seu cabeçalho IP.
A tabela de rotas a seguir foi obtida em um computador com sistema operacional Linux. aluno@M1:~$ route -n
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
0.0.0.0 191.36.9.254 0.0.0.0 UG 0 0 0 enp0s25
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s25
191.36.9.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s25
192.168.2.64 191.36.9.1 255.255.255.192 U 0 0 0 enp0s25
Supondo que esse host tenha que encaminhar um datagrama com endereço de destino 8.8.8.8, a busca por uma rota adequada seria esta:
Roteamento estáticoCada host ligado a Internet possui uma tabela de rotas. É pelo conteúdo dessa tabela que ele sabe como transmitir os pacotes para cada destino. Em seu computador, você pode visualizar essa tabela da seguinte forma: # Isto funciona em qualquer *nix que se preze ...
netstat -rn
aluno@M1:~> ifconfig eth1 192.168.10.1 netmask 255.255.255.0
aluno@M1::~> netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
Obs: ao menos próximo roteador ou interface de rede precisam ser especificados.
# adiciona a rota default, que passa pelo roteador 192.168.10.100
route add default gw 192.168.10.100
# este comando tem o mesmo efeito que o anterior ...
route add -net 0.0.0.0/0 gw 192.168.10.100
Roteamento dinâmicoRoteamento dinâmico é definido como a capacidade de roteamento automático por uma rede. No roteamento estático, como visto, as possibilidades de rota são definidas por meio de uma tabela de roteamento fixa definida manualmente. No entanto, no roteamento dinâmico as tabelas de roteamento são construídas automaticamente pelo sistema, e mantidas constantemente atualizadas devido a comunicação entre os roteadores participantes da rede. Sendo assim, uma rede que utilize algum protocolo de roteamento dinâmico é sensível a qualquer mudança de topologia da rede, sendo capaz de adaptar-se rapidamente a um novo padrão de rotas. Em outras palavras, um protocolo de roteamento dinâmico pode ser definido como uma maneira que um roteador fala com seus vizinhos a fim de compartilhar informações sobre rotas disponíveis na rede. A partir da capacidade de auto organização, o roteamento dinâmico deve ser capaz de procurar a melhor rota alternativa para um fluxo de dados, quando determinados roteadores se tornam inacessíveis ou estejam congestionados. O roteamento dinâmico dentro de uma rede pertencente a uma organização é chamado de roteamento interno', e o roteamento entre redes de diferentes oragnizações é denominado roteamento externo. O roteamento externo acontece no núcleo da Internet, e envolve um número muito grande de roteadores e hosts. Um dos protocolos clássicos de roteamento interno é o protocolo RIP. Por apresentar tempo convergência relativamente longo, o RIP se aplica a pequenas redes. Outro protocolo de roteamento interno se chama OSPF, o qual apresenta rápida convergência e é usado em redes maiores. Protocolo RIPO protocolo RIP (Routing Information Protocol) é um protocolo baseado na técnica vetor de distância, pois compartilha tabelas de distâncias entre roteadores vizinhos, para que cada roteador possa atualizar sua tabela de roteamento. O protocolo RIP foi um dos primeiros protocolos de roteamento baseado em vetor de distância aplicado a uma grande variedade de sistemas. O RIP possui as seguintes características principais de funcionamento:
A lógica de funcionamento do RIP é baseada em roteadores ativos, configurados como roteadores que realizam comunicação das rotas aos demais, e roteadores passivos que não disseminam mensagens porém atualizam suas rotas quando recebem informações atualizadas.
Um roteador ativo mantém uma tabela de roteamento que possui os identificadores e IPs dos roteadores vizinhos, a rota de acesso, e um número inteiro que representa a distância do roteador até determinada rede. As tabelas são anunciadas para todos os roteadores da rede. O envio das tabelas de roteamento pelos roteadores acontece por broadcast em intervalos de tempo geralmente definidos para 30 segundos. Quando um nó recebe uma informação atualizada de determinado roteador vizinho, substitui sua tabela pela tabela atualizada. Para indicar a distância até uma determinada rede, o protocolo RIP utiliza uma métrica baseada em contagem de saltos, ou seja, quantos roteadores existem entre o roteador de origem e a rede de destino.
Exemplo RIP (De A para F)Neste exemplo um determinado nó A deseja se comunicar com o nó E.
Agora B e C enviam suas tabelas atualizadas para A, E e D respectivamente. Logo A, E, D atualizam suas tabelas e enviam por broadcast para todos os roteadores.
E envia sua tabela atualizada para F, que atualiza sua tabela.
F atualiza sua tabela e envia para todos.
Quando A recebe a tabela atualizada de F, atualiza sua própria tabela. A seguir temos a tabela do A depois da atualização.
AtividadesRoteiro 02: Subredes e roteamento estáticoEstes experimentos devem ser realizados no Netkit2, que deve ser executado na máquina real. Para esquentar: uma rede mais simples:
Praticamente a mesma rede, mas com um roteador a mais:
Roteamento estático entre redes das equipes
Roteamento dinâmico (com o RIP)Baseado no diagrama da Figura, usaremos serviços para rodar os protocolos de roteamento RIP, de tal modo que as tabelas estáticas de roteamento não mais serão necessárias e o sistema se auto recuperará da queda de um único enlace (nesse caso). Em cada roteador o software Quagga é responsável por executar o protocolo de roteamento.
|