Upload
tranquynh
View
225
Download
0
Embed Size (px)
Citation preview
Encaminhamento interior – OSPF (terceiro trabalho laboratorial)
FEUP/DEECRedes de Banda Larga
MIEEC – 2009/10José Ruela
Objectivo e descrição sumária
• Os dois trabalhos sobre encaminhamento têm como objectivo a familiarização com os conceitos de Sistema Autónomo (Autonomous System – AS), encaminhamento interior e exterior e utilização de protocolos representativos de cada tipo
• A topologia genérica é usada para estudar e analisar estes protocolos– Um protocolo de encaminhamento interior (IGP – Interior Gateway Protocol) é
necessário em cada AS – OSPF (Open Shortest Path First) é usado neste contexto– Um protocolo de encaminhamento exterior (EGP – Exterior Gateway Protocol) é
executado entre ASs – BGP-4 (Border Gateway Protocol version 4) é usado com este objectivo
• Neste trabalho apenas será analisado o protocolo OSPF e portanto apenas se consideram ASs isolados (cada bancada representa um AS e portanto os grupos trabalham de forma independente)
• No trabalho seguinte o estudo será estendido de modo a cobrir os protocolos OSPF e BGP-4 (pelo que as configurações de cada AS deverão ser mantidas, de acordo com o definido para o trabalho descrito neste guião)
Sistemas Autónomos
Interdomain level
Intradomain levelLAN level
Autonomoussystem ordomain
Border routers
Border routers
Internet service provider
Descrição genérica
• Deverão ser configurados seis Sistemas Autónomos – AS65001 a AS65006 (um por bancada )
OSPF (este trabalho)• A configuração de cada AS deve ser feita de acordo com os detalhes
apresentados na topologia genérica– Os servidores GNUyi devem ser configurados para desempenhar o papel de
routers (devendo também ser activado IP forwarding no GNUy2)
• Todos os routers no mesmo AS (C1841 e GNUyi) executam processos OSPF e estão na mesma área (OSPF 0)
OSPF e BGP (trabalho seguinte)• Os routers Cisco C1841 devem ser ligados por meio de interfaces série E1
(2 Mbit/s)• Os routers Cisco C1841 são Area Border Routers (ABR) e trocam informação
de encaminhamento com outros ASs por meio de BGP-4
OSPF – aspectos de configuração• Cada grupo deve configurar em cada bancada duas subredes IP associadas a duas
VLANs configuradas no comutador (CAT 2960)– Os endereços IP devem ser atribuídos às interfaces conforme representado na topologia
genérica
• O pacote de encaminhamento “Quagga” (“zebra” e daemon OSPF) deve ser instalado em cada servidor GNUyi
• O router Cisco (C1841) deve ser configurado como gateway para a default network e fazer os anúncios correspondentes por meio de OSPF
• Designated router (DR) e backup designated router (BDR)– O DR e o BDR são eleitos com base no parâmetro “router id”– É possível forçar a escolha do DR e do BDR alterando as prioridades e/ou atribuindo
endereços a interfaces loopback
• Os custos das ligações são calculados com base numa largura de banda de referência (“reference bandwidth”) – custo = ref_bw / bw
– A largura de banda de referência por omissão pode ser diferente no router Cisco e nos servidores GNU
Testes (1/2)
1. Com configurações por omissão (default)– Usar Wireshark para capturar tráfego OSPF– Verificar se existe conectividade entre máquinas na mesma subrede e em subredes
diferentes (executar ping para interfaces de rede relevantes)– Verificar se as vizinhanças / adjacências foram aprendidas pelos routers,
identificando o DR e o BDR eleitos em cada subrede (porquê estas escolhas?)• show ip ospf neighbor
– Verificar quais as rotas aprendidas e os custos correspondentes • zebra: show ip route; ospfd: show ip ospf route
2. Alterar as configurações (se necessário) para forçar o GNUy2 e o router C1841 a serem, respectivamente, o DR e o BDR (em ambas as redes)– Verificar se o DR e o BDR foram eleitos como pretendido
• Para os testes restantes, alterar (se necessário) as configurações de modo que a mesma largura de banda de referência seja usada pelo router Cisco e pelos GNUs
3. Com as novas configurações– Registar a informação relevante relativa às tabelas de encaminhamento (rotas
aprendidas e seleccionadas, custo de rotas, etc.) em todos os sistemas– Executar traceroute em cada servidor GNU usando como alvo os endereços IP de
todas as interfaces dos outros sistemas– Confirmar que os resultados obtidos com traceroute são coerentes com o
conteúdo das tabelas de encaminhamento previamente registado• Considerar em particular traceroute envolvendo o GNUy1 e o GNUy3 e verificar se
ocorre distribuição de carga (load balancing), em percursos com o mesmo custo
4. Interromper a ligação entre o GNUy1 e o GNUy2 (por exemplo, remover o cabo entre o GNUy2 e o comutador e desactivar a interface eth0)– Usar Wireshark para capturar tráfego OSPF (após a interrupção)– Repetir os testes anteriores e registar a informação relevante– Verificar quais as alterações que tiveram lugar (e explicar porquê)
• Todos os resultados devem ser analisados e explicados
Testes (2/2)
Relatório
• Deve ser produzido um relatório no prazo de dez dias após a conclusão do trabalho
– Deve ser enviada uma versão electrónica para [email protected]– A entrega de cópia em papel é opcional
• O relatório deve incluir, para cada teste– A(s) figura(s) correspondente(s) ao cenário de comunicação testado– As configurações dos sistemas (router, comutador, daemons OSPF com o
“Quagga” nos servidores GNU)– Testes de conectividade e rotas (ping, traceroute), documentados com a análise de
capturas de tráfego relevantes e o conteúdo de tabelas (e.g., informação OSPF, tabelas de encaminhamento, etc.) quando apropriado
– Interpretação e comentários dos resultados (para além das respostas às questões colocadas)
Quagga – instalação• Instalação do software nos servidores GNUyi
– apt-get update– apt-get install quagga
• Copiar os templates fornecidos pelo Quagga– cp /usr/share/doc/quagga/examples/ospfd.conf.sample /etc/quagga/ospfd.conf– cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf
• Editar o ficheiro onde são declarados os daemons (/etc/quagga/daemons)– Alterar parâmetros zebra e ospfd para yes
• Reiniciar o serviço– /etc/init.d/quagga restart
• Configuração do zebra– telnet localhost 2601
• Configurar interfaces (eth0 / eth1) e endereços IP
• Configuração do OSPF– telnet localhost 2604
• Configurar daemon OSPF (redes / área, prioridades, etc.)
Quagga – configuração de interfaces (zebra)• telnet localhost 2601
User Access VerificationPassword:Router> enablePassword:
Router# configure terminalRouter (config)# interface eth0Router (config-if)# ip address address / maskRouter (config-if)# no shutdownRouter (config-if)# end
Router# write(Configuration saved to /etc/quagga/zebra.conf)
Router# show ip route
Quagga – configuração de OSPF• telnet localhost 2604
Password:ospfd> enable
ospfd# configure terminalospfd (config)# router ospfospfd (config-router)# network network address / mask area 0.0.0.0ospfd (config-router)# end
ospfd (config)# interface eth0ospfd (config-if)# ip ospf priority priority value
ospfd# write(Configuration saved to /etc/quagga/ospfd.conf)
ospfd# show ip ospf / show ip ospf route / show ip ospf database ospfd# show ip ospf interface [interface] / show ip ospf neighbor [interface]
Router C1841 – configuração de OSPF • Criação de processo OSPF
rtr(config)#router ospf process-id• Configuração de rede
rtr(config-router)#network ip-address wildcard-mask area area-id• Anúncio de default route
rtr(config-router)#default-information originate always• Criação e configuração de interface de loopback
rtr(config)#interface loopback 0rtr(config-if)#ip address ip-address mask
• Alteração de largura de banda de referênciartr(config-router)#auto-cost reference-bandwidth ref-bw
• Alteração do parâmetro de prioridadertr(config-router)#interface interface type interface-number (e.g. fastethernet 0/0.x)rtr(config-if)#ip ospf priority value
• Display de informação geral sobre processos OSPFrtr#show ip ospf [process-id]rtr#show ip ospf neighborrtr#show ip ospf ………..
• Display da tabela de encaminhamentortr#show ip route
OSPF – divisão em áreas (exemplo)
R1
R2R4 R5
R7
N1
N2
N3
N4
N5
N6
N7
R8
R3 R6
Area 0.0.0.1 Area 0.0.0.2
Area 0.0.0.3
Link to other AS Area 0.0.0.0
ASBR – AS Boundary RouterABR – Area Border RouterIR – Internal RouterBBR – Backbone Router
ASBR: 4ABR: 3, 6, 8IR: 1, 2, 7BBR: 3, 4, 5, 6, 8
R – Router N – Network
OSPF – tipos de pacotes
• Hello
• Database Description
• Link State Request
• Link State Update
• Link State Ack
OSPF – cabeçalho dos pacotes
Version Type Packet length
Router ID
Area ID
Checksum Authentication type
Authentication
Authentication
0 8 16 31
OSPFcommonheader
OSPFpacketbody
Data
Hello
Network mask
Hello interval Options Priority
0 16 24 31
Dead interval
Designated router
Backup designated router
Neighbour 1
Neighbour n
. . . . .
Database Description
Interface MTU Options Zero I M
Database Description Sequence Number
0 16 24 29 31
LSA Header
MS
LSA – Link State Advertisement
Database Description – LSA Header
Link-state age Options Link-state type
Link-state ID
Advertising router
Link-state sequence number
Link-state checksum Length
0 16 24 31
Links úteis
• Documentação online dos routers Cisco http://cisco.com
• Cisco IOS IP Routing Protocols – Configuration Guidehttp://cisco.com/en/US/docs/ios/iproute/configuration/guide/12_4/irp_12_4_book.pdf
OSPF – configuração
http://www.cisco.com/en/US/docs/ios/iproute_ospf/configuration/guide/iro_cfg.pdf
• “Quagga” / “Zebra”http://www.quagga.nethttp://www.openmaniak.com/quagga.phphttp://www-106.ibm.com/developerworks/linux/library/l-emu/?ca=dgr-lnxw02Zebra