Este tutorial explica a fórmula de cálculo do custo métrico do OSPF e o algoritmo do SPF passo a passo em detalhe com exemplos. Aprenda como o algoritmo SPF (Shortest Path First) calcula o custo cumulativo da rota para construir a árvore do caminho mais curto (SPT) e como a Fórmula métrica OSPF pode ser manipulada alterando o valor de referência da largura de banda.
Algoritmo do caminho mais curto First (SPF)
Como sabemos na inicialização ou devido a qualquer alteração na informação de roteamento um roteador OSPF gera um LSA. Este LSA (Link State Advertisement) contém a coleção de todos os link-states desse roteador. O roteador propaga este LSA em rede. Cada roteador que recebe este LSA armazenaria uma cópia do mesmo na sua base de dados do LSA e inundaria este LSA para outros roteadores.
Após a actualização da base de dados, o roteador selecciona uma única melhor rota para cada destino de todas as rotas disponíveis. O router usa o algoritmo SPF para seleccionar a melhor rota.
Just like other routing algorithm SPF also uses a metric component called cost to select the best route for routing table.
Este tutorial é a última parte do nosso artigo “OSPF Routing Protocol Explained with examples”. Você pode ler outras partes deste artigo aqui.
OSPF Fundamental Terminology Explained
Este tutorial é a primeira parte deste artigo. Nesta parte explicamos a terminologia básica da OSPF como Recurso, Vantagem e Desvantagem, Sistema Autônomo, Conceito de Área, ABR, IR, Link, Estado, LSA e LSDB com exemplo.
OSPF Neighborship Condition and Requirement
Este tutorial é a segunda parte deste artigo. Vizinhança OSPF é construída entre dois roteadores somente se o valor de configuração de Area ID, Authentication, Hello and Dead interval, Stub Area e MTU forem combinados. Esta parte explica estes parâmetros e a adjacência OSPF em detalhes com exemplos.
OSPF Neighbor States Explained with Example
Este tutorial é a terceira parte deste artigo. O processo de adjacência OSPF passa pelos sete estados; OSPF Estado para baixo, OSPF Estado Init, OSPF Estado de duas vias, OSPF Estado Exstart, OSPF Estado Exchange, OSPF Estado Loading e OSPF Estado cheio. Esta parte explica estes estados com o processo de seleção de DR BDR em detalhes com exemplos.
OSPF Configuration Step by Step Guide
Este tutorial é a quarta parte deste artigo. A parte de configuração do OSPF inclui o ID do processo, ID da área e máscara de wildcard, o que torna a sua configuração um pouco mais difícil. Esta parte explica estes parâmetros em detalhes com exemplos.
OSPF Custo métrico
Logicamente um pacote enfrentará mais overhead ao cruzar um link serial de 56Kbps do que ao cruzar um link Ethernet de 100Mbps. Respectivamente, levará menos tempo para cruzar um link de maior largura de banda do que para cruzar um link de menor largura de banda. OSPF usa esta lógica para calcular o custo. O custo é a proporção inversa da largura de banda. Largura de banda maior tem um custo menor. Largura de banda menor tem um custo maior.
OSPF usa a seguinte fórmula para calcular o custo
Custo = Largura de banda de referência / Largura de banda da interface em bps.
Largura de banda de referência foi definida como valor arbitrário na documentação OSPF (RFC 2338). Os fornecedores precisam usar sua própria largura de banda de referência. Cisco usa 100Mbps (108) de largura de banda como largura de banda de referência. Com esta largura de banda, nossa equação seria
Custo = 108/largura de banda da interface em bps
Pontos-chave
- Custo é um valor inteiro positivo.
- Um valor decimal seria arredondado de volta no inteiro positivo mais próximo.
- Um valor abaixo de 1 seria considerado como 1.
Agora conhecemos a equação, vamos fazer algumas contas e calcular o custo padrão de algumas interfaces essenciais.
Custo padrão de interfaces essenciais.
Interface Tipo | Largura de banda | Cálculo Métrico | Custo |
Ligação Ethernet | 10Mbps | 100000000/10000000 = 10 | 10 |
Ligação FastEthernet | 100Mbps | 100000000/100000000 = 1 | 1 |
Ligação serial | 1544Kbps(padrão) | 100000000/1544000 = 64.76 | 64 |
Custo das linhas comuns
Linha | Largura de banda | Cálculo métrico | Custo | |
56 Linha Kbps | 56Kbps | 100000000/56000 = 1785.71 | 1785 | |
64 Kbps linha | 64Kbps | 100000000/64000 = 1562,5 | 1562 | |
128 Kbps linha | 128Kbps | 100000000/128000 = 781.25 | 781 | |
512 Kbps linha | 512 Kbps | 100000000/512000 = 195.31 | 195 | |
1 Linha Mbps | 1Mbps | 100000000/1000000 = 100 | 100000000/10000000 = 10 | 10 |
100Mbps de linha | 100Mbps | 100000000/100000000 = 1 | 1 | |
1Gbps de linha | 1Gbps | 100000000/100000000 0= 0.1 | 1 | |
10 Linha Gbps | 10Gbps | 100000000/10000000000 = 0,01 | 1 |
SPT (Shortestest Path Tree)
RoteadorOSPF constrói uma árvore de caminhos mais curtos. SPT é como uma árvore genealógica onde o roteador é a raiz e as redes de destino são as folhas. O algoritmo SPF calcula o custo do ramo entre as folhas e a raiz. Ramo com o menor custo será usado para alcançar na folha. Em linguagem técnica o caminho com o menor valor de custo acumulado entre a origem e o destino será selecionado para a tabela de roteamento.
Custo cumulativo = Soma de todos os custos de interfaces de saída na rota
Melhor rota para tabela de roteamento = Rota que tem o menor custo cumulativo
Resumo
- OSPF usa a árvore SPT para calcular a melhor rota para a tabela de roteamento.
- Uma árvore SPT não pode crescer além da área. Assim, se um roteador tem interfaces em múltiplas áreas, ele precisa construir uma árvore separada para cada área.
- O algoritmo SPF calcula todas as rotas possíveis desde o roteador de origem até a rede de destino.
- Custo cumulativo é a soma de todos os custos das interfaces OSPF de saída no caminho.
- Embora calcule o custo cumulativo, OSPF considera apenas as interfaces de saída no caminho. Ele não adiciona o custo das interfaces de entrada no custo cumulativo.
- Se existirem múltiplas rotas, o SPF compara os custos cumulativos. A rota que tiver o menor custo cumulativo será escolhida para a tabela de roteamento.
Agora temos um entendimento básico do algoritmo SPF. Na parte restante deste tutorial aprenderemos como o algoritmo SPF seleciona a melhor rota de rotas disponíveis.
Criar um laboratório de prática como ilustrado na figura seguinte ou baixar este laboratório de prática pré-criado e carregar no traçador de prática.
Download da Topologia de Prática OSPF com configuração OSPF
Acesso ao prompt CLI do Roteador0.
Executar comando ospf da rota ip do modo privilégio para visualizar todas as rotas aprendidas através do protocolo OSPF.
Como a saída mostra, o Roteador0 tem seis rotas do OSPF na tabela de roteamento. Vamos percorrer cada rota e descobrir porque foi escolhida como a melhor rota para a tabela de roteamento pelo OSPF.
Route 20.0.0.0.0
Temos três rotas para obter a rede 20.0.0.0.0/8. Vamos calcular o custo cumulativo de cada rota.
Via Route R0-R1-R2-R6
Via route R0 – R3 – R4 – R6
Via route R0 – R5 – R6
Router | Interface de Saída | Largura de banda | Cálculo métrico | Custo |
R0 | Fa0/1 | 100Mbps | 100000000/100000000 = 1 | 1 |
R5 | Fa0/0 | 100Mbps | 100000000/100000000 = 1 | 1 |
R0 | Fa0/1 | 100Mbps | 100000000/100000000 = 1 | 1 |
Custo cumulativo da rota (1+ 1 + 1) =3 |
Dentre estas rotas, A rota R0-R5-R6 tem o menor custo cumulativo. Portanto, foi selecionada como a melhor rota para a tabela de roteamento.
Rote 192.168.0.4
Via Rota R0 – R1
R0’s Serial 0/0/0 custo (1562) + R1’s Serial 0/0/1 custo (1562) = 3124 (Custo cumulativo)
Via Rota R0 – R3 – R4 – R6 – R2
Via Rota R0 – R5 – R6 – R2
Dentre estas rotas, Rota R0 – R5 – R6 – R2 tem o menor custo, por isso foi escolhida para a tabela de rotas.
Route 192.168.0.8
Via Rota R0 – R1
R0’s Serial 0/0/0 custo (1562) + R1’s Serial 0/0/1 custo (1562) + R2’s Serial 0/0/0 (1562) = 4686 (Custo cumulativo)
Via Rota R0 – R3 – R4 – R6
R0’s Serial 0/0/1 custo (64) + R3’s Serial 0/0/0/0 custo (64) + R4’s Serial 0/0/1 custo (64) + R6’s Serial 0/0/0 custo (64) = 256 (Custo cumulativo)
Via Route R0 – R5 – R6
Ro’s FastEthernet 0/1 custo (1) + R5’s FastEthernet 0/0 custo (1) + R6’s Serial 0/0/0 custo (64) = 66 (Custo cumulativo)
Dentre estas rotas, Rota R0 – R5 – R6 tem o menor custo, por isso foi escolhida para tabela de roteamento.
Rote 192.168.1.4
Via Rota R0 – R1 – R2 – R6
R0’s Serial 0/0/0 custo (1562) + R1’s Serial 0/0/1 (1562) + R2’s Serial 0/0/0 (1562) + R6’s FastEthernet 0/0 (1) = 4687 (Custo cumulativo)
Via R0 – R3 – R4 – R6
R0’s Serial 0/0/1 custo (64) + Serial R3 0/0/0 custo (64) + Serial R4 0/0/1 custo (64) + FastEthernet R6 0/0 (1) = 193
Via R0 – R5
R0’s FastEthernet 0/1 custo (1) + FastEthernet R5 0/0 custo (1) = 2
Dentre estas rotas, Rota R0 – R5 tem o menor custo, por isso foi seleccionada como a melhor rota.
Rota 192.168.2.4
Via Route R0 – R1 – R2 – R6 – R4
Via Route R0 – R5 – R6 – R4
R0’s FastEthernet 0/1 custo (1) + R5’s FastEthernet 0/0 custo (1) + R6’s Serial 0/0/1 (64) + custo Serial R4 0/0/0 (64) = 130
Via Rota R0 – R3
custo Serial R0/0/1 (64) + custo Serial R3 0/0/0 (64) = 128
Dentre estas rotas, Rota R0 – R3 tem o menor custo para o destino 192.168.2.4.
Rota 192.168.2.8
Via Rota R0 – R3 – R4
R0’s Serial 0/0/1 custo (64) + R3’s Serial 0/0/0/0 custo (64) + R4’s Serial 0/0/1 custo (64) = 192
Via Rota R0 – R1 – R2 – R6
Ro’s Serial 0/0/0 custo (1562) + R1’s Serial 0/0/1 custo (1562) + R2’s Serial 0/0/0 custo (1562) + Serial R6 0/0/1 custo (64) = 4750
Via Route R0 – R5 – R6
R0’s FastEthernet 0/1 custo (1) + R5’s FastEthernet 0/0 custo (1) + Serial R6 0/0/1 custo (64) = 66
Route R0 – R5 – R6 tem o menor valor de custo.
Após selecionar a melhor rota para cada rede OSPF de destino, parece-se com a figura abaixo.
O custo da rota OSPF Manipulação
Podemos manipular o custo da rota OSPF de duas maneiras.
- Alterando a largura de banda da interface
- Alterando o valor da largura de banda de referência
Alterando a largura de banda da interface
O comando Modo de interface A largura de banda é usada para definir a largura de banda da interface suportada.
Se a largura de banda for definida através deste comando, OSPF irá usá-la. Se a largura de banda não for definida, ele usará a largura de banda padrão da interface.
Quando ativamos uma interface, o roteador atribui automaticamente um valor de largura de banda a ela com base no seu tipo. Por exemplo, a interface serial tem um valor de largura de banda padrão de 1544k. Até alterarmos este valor com o comando bandwidth, ele será usado onde for necessário.
Deixe-me esclarecer mais uma coisa sobre largura de banda. Alterar a largura de banda padrão com o comando largura de banda não altera a largura de banda real da interface. Nem a largura de banda padrão nem a largura de banda definida pelo comando bandwidth tem nada a ver com a largura de banda real da camada um link.
Então qual o propósito deste comando resolve?
Este comando só é usado para influenciar o protocolo de roteamento que usa largura de banda no processo de seleção de rotas como OSPF e EIGRP.
Já vimos um exemplo deste método no nosso exemplo. Nós mudamos a largura de banda padrão (1544Kbps) para largura de banda personalizada (64kbps) no R0 serial 0/0/0, R1 serial 0/0/1 e R2 serial 0/0/0/0. Devido a esta alteração R0 levou outro router para 192.168.0.4 network.
Vamos entender isto com mais detalhes.
Custo actual para o destino 192.168.0.4 de R0
Via Rota R0 – R1
R0’s Serial 0/0/0 custo (1562) + R1’s Serial 0/0/1 custo (1562) = 3124 (Custo cumulativo)
Via Rota R0 – R5 – R6 – R2
Via Rota R0 – R3 – R4 – R6 – R2
Dentre estas rotas, Rota R0 – R5 – R6 – R2 tem o menor custo, por isso foi escolhida para a tabela de rotas.
Bem … Que rota teria selecionado, se tivéssemos usado a largura de banda padrão?
Custo para destino 192.168.0.4 de R0 com largura de banda padrão.
Via Route R0 – R1
R0’s Serial 0/0/0 cost (64) + R1’s Serial 0/0/1 cost (64) = 128 (Custo cumulativo)
Via Route R0 – R5 – R6 – R2
Via Route R0 – R3 – R4 – R6 – R2
Dentre estas rotas, Rota R0 – R1 tem o valor de custo mais baixo, portanto seria selecionado para a tabela de roteamento. Assim, ao alterar a largura de banda da interface influenciamos o processo de selecção da rota.
Ao alterar o valor da largura de banda de referência
Como mencionei anteriormente, por defeito o OSPF usa 100Mbps de largura de banda como largura de banda de referência. Alterando este valor também mudaria o custo da rota. Se usarmos 1000Mbps como largura de banda de referência, o custo de 100Mbps de ligação tornar-se-ia 10. Isto parece ótimo, especialmente se tivermos links de maior largura de banda em nossa rede. Por exemplo, veja a seguinte figura.
Qual a rota que o R2 irá tomar para obter a rede de 10.0.0.0/8?
Route R2 – R3
Nesta rota temos dois pontos de saída. Ambos os pontos têm por defeito 1oo Mbps de velocidade.
R2’s FastEthernet cost (100000000/100000000) = 1
R3’s FastEthernet cost (100000000/100000000) = 1
Custo desta rota 1 + 1 = 2
Route R2 – R1 – R3
Nesta rota temos três pontos de saída. Dois pontos de saída (R2 e R1) têm 1 Gbps de link.
R2 custo FastEthernet (100000000/1000000000) = .1 (Qualquer coisa abaixo de 1 seria considerada como 1)
R3’s FastEthernet (100000000/1000000000) = .1 (Qualquer coisa abaixo de 1 seria considerada como 1)
Custo FastEthernet do R3 (100000000/100000000) = 1
Custo desta rota 1 + 1 + 1 = 3
Com a largura de banda de referência padrão R2 escolherá Rota R2 – R3, o que não é bom.
Podemos ajustar a largura de banda de referência com o comando ref-band de largura de banda de referência de custo automático.
Temos de ajustar a largura de banda de referência em todos os routers de rede. Largura de banda de referência não compatível pode fazer com que os roteadores executem o algoritmo SPF continuamente, o que poderia criar um sério problema de desempenho.
A largura de banda de referência é atribuída em Mbps. O intervalo válido é de 1 a 4294967. A largura de banda de referência padrão é 100Mbps.
Sadly packet tracer não inclui este comando. Para a prática deste comando use outro software simulador que suporte este comando ou use um roteador real.
Vamos alterar a largura de banda de referência para 1000Mbps nos três routers usando os seguintes comandos
Router# configure terminalEnter configuration commands, one per line. End with CNTL/Z.Router (config)#router ospf 1Router (config-router)#auto-cost reference-bandwidth 1000% OSPF: Reference bandwidth is changed. Please ensure reference bandwidth is consistent across all routers.Router (config-router)#exitRouter #
Custo do roteador com nova referência largura de banda
{módulo em_art_slot_10}
Route R2 – R3
R2’s FastEthernet cost (1000000000/100000000) = 10
R3’s FastEthernet cost (1000000000/100000000) = 10
Custo desta rota 10 + 10 = 20
Route R2 – R1 – R3
R2’s FastEthernet cost (1000000000/1000000000) = 1
R3’s FastEthernet (1000000000/1000000000) = 1
Custo da FastEthernet do R3 (1000000000/100000000) = 10
Custo desta rota 1 + 1 + 10 = 12
Neste caso Rota R2-R1-R3 será selecionado, que é o caminho mais curto para o destino.
É tudo para este artigo. Espero que agora você tenha um melhor entendimento do protocolo OSPF Routing. No próximo artigo vou explicar a Access List em detalhe com exemplos.