25
Encaminhamento interior – OSPF (terceiro trabalho laboratorial) FEUP/DEEC Redes de Banda Larga MIEEC – 2009/10 José Ruela

Encaminhamento interior – OSPFjruela/DOC/trab3_ospf_v0910_RBL.pdf · OSPF – aspectos de configuração • Cada grupo deve configurar em cada bancada duas subredes IP associadas

Embed Size (px)

Citation preview

Encaminhamento interior – OSPF (terceiro trabalho laboratorial)

FEUP/DEECRedes de Banda Larga

MIEEC – 2009/10José Ruela

Bancada de trabalho

Topologia genérica (OSPF e BGP)

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

Encaminhamento intra e inter domínio (IGP e EGP)

RR

R

RR

RR

R

AS A

AS B

AS C

IGPEGP IGP

IGP

EGP

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)

Anexo

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

Link State Request

Link-state type

Link-state ID

Advertising router

. . .

0 31

Link State Update e Link State Ack

Number of LSAs

LSA 1

. . .

0 31

LSA n

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