Entender os filtros de rota para uso em condições de correspondência da política de roteamento
Um filtro de rota é uma coleção de prefixos compatíveis. Ao especificar um prefixo compatível, você pode especificar uma correspondência exata com uma rota específica ou uma correspondência menos precisa. Você pode configurar uma ação comum que se aplica a toda a lista ou uma ação associada a cada prefixo.
Como a configuração dos filtros de rota inclui a configuração de prefixos e comprimentos de prefixo, antes de prosseguir com a configuração, você deve ter uma compreensão completa do endereço IP, incluindo a super-rede e como os filtros de rota são avaliados (explicado aqui: Como os filtros de rota são avaliados em condições de correspondência da política de roteamento).
Esta seção discute os seguintes tópicos:
Radix Trees
Para entender a operação de um filtro de rota, você precisa estar familiarizado com um dispositivo usado para correspondência de números binários conhecido como radix tree (às vezes chamado de patricia trie ou radix trie). Uma árvore radix usa pesquisas binárias para identificar endereços IP (rotas). Lembre-se que um endereço IP é um número de 32 bits representado em um formato decimais pontilhado para fácil compreensão por humanos. Esses agrupamentos de 8 bits podem cada um ter um valor entre 0 e 255. Um radix tree pode ser uma representação gráfica desses números binários.
In , o radix tree começa sem valor configurado (começa em 0) e está na posição mais à esquerda do endereço IP binário.Figura 1 Isso é mostrado como 0/0, que é muitas vezes referido como a rota padrão.
Como isso é binário, cada bit pode ter apenas um dos dois valores possíveis — um 0 ou um 1. Mover-se para baixo da filial esquerda representa um valor de 0, enquanto mover-se para a direita representa um valor de 1. A primeira etapa é mostrada em .Figura 2 Na primeira posição, o primeiro octet do endereço IP tem um valor de 0000000 ou 10000000 — um 0 ou 128, respectivamente. Isso é representado pelos valores 0/1 e 128/1.Figura 2
A segunda etapa é mostrada em .Figura 3 Este segundo nível da árvore tem quatro possíveis valores binários para o primeiro octet: 00000000, 01000000, 1000000 e 11000000. Esses valores decimais de 0, 64, 128 e 192 são representados pelos endereços IP de 0/2, 64/2, 128/2 e 192/2 no radix tree.
Esse processo passo a passo continua para que 33 níveis totais representem todos os endereços IP possíveis.
A estrutura do radix tree é útil ao localizar um grupo de rotas que compartilham os mesmos bits mais significativos. mostra o ponto na árvore de radix que representa a rede 192.168.0.0/16.Figura 4 Todas as rotas que são mais específicas do que 192.168.0.0/16 são mostradas na seção destacada.
Configuração de filtros de rota
O tópico, Configurando filtros de rota, descreve o comportamento padrão do Junos OS. O recurso walkup, que não é abordado neste tópico, altera os resultados de avaliação discutidos neste tópico, permitindo que o roteador considere condições de correspondência mais curtas configuradas no mesmo prazo. Veja mais detalhes.Visão geral do walkup for Route Filters
Para configurar um filtro de rota, inclua uma ou mais ou declarações:route-filter
source-address-filter
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { actions; }
A opção é normalmente usada para combinar um endereço de rota de entrada com prefixos de correspondência de destino de qualquer tipo, exceto para endereços de origem unicast.route-filter
O endereço é o prefixo de endereço IP versão 4 (IPv4) ou IP versão 6 (IPv6) especificado como .destination-prefix
prefix/prefix-length
Se você omitir um prefixo IPv4, o padrão é /32.prefix-length
Se você omitir um prefixo IPv6, o padrão é /128.prefix-length
Os prefixos especificados em uma declaração devem ser todos os endereços IPv4 ou todos os endereços IPv6.from
A opção é normalmente usada para combinar um endereço de rota de entrada com endereços de origem unicast em ambientes multiprotocol BGP (MBGP) e Multicast Source Discovery Protocol (MSDP).source-address-filter
source-address-filter source-prefix match-type { actions; }
endereço é o prefixo de endereço IPv4 ou IPv6 especificado como .source-prefix
prefix/prefix-length
Se você omitir um prefixo IPv4, o padrão é /32.prefix-length
prefix-length
Se você omitir um prefixo IPv6, o padrão é /128.prefix-length
Os prefixos especificados em uma declaração devem ser todos os endereços IPv4 ou todos os endereços IPv6.from
match-type
é o tipo de correspondência a ser aplicada ao prefixo de origem ou destino. Pode ser um dos tipos de correspondência listados em .Tabela 1 Para exemplos dos tipos de correspondência e dos resultados quando apresentados com várias rotas, veja .Tabela 2
são as ações a serem tomadas se um endereço de rota corresponder aos critérios especificados para um prefixo de correspondência de destino (especificado como parte de uma opção) ou para um prefixo de correspondência de origem (especificado como parte de uma opção).actions
route-filter
destination-address-filter
As ações podem consistir em uma ou mais das ações descritas em .Ações em termos de política de roteamento
Em um filtro de rota, você pode especificar ações de duas maneiras:
Na opção ou opção — Essas ações são tomadas imediatamente após a ocorrência de uma partida, e a declaração não é avaliada.
route-filter
source-address-filter
then
Na declaração — essas ações são tomadas após a ocorrência de uma correspondência, mas nenhuma ação é especificada para a opção ou opção.
then
route-filter
source-address-filter
Os tipos de correspondência são semelhantes na medida em que ambos especificam os bits mais significativos e fornecem uma variedade de comprimentos de prefixo que podem combinar.upto
prefix-length-range
A diferença é que permite especificar um limite superior apenas para a faixa de comprimento do prefixo, enquanto que permite especificar limites inferiores e superiores.upto
prefix-length-range
Para ver mais exemplos desses tipos de correspondência de filtro de rota, veja .Exemplos de filtro de rota
Tipo de correspondência |
Critérios de correspondência |
---|---|
|
Todos os seguintes são verdadeiros:
Nota:
O tipo de correspondência da política de roteamento é válido apenas para combinar um endereço de rota IPv4 () ou IPv6 () de entrada a uma lista de prefixos de correspondência de destino especificados em uma declaração. O tipo de correspondência de política de roteamento permite combinar um endereço de rota IPv4 ou IPv6 de entrada em um endereço de massa de rede configurado, além do comprimento de um prefixo de correspondência de destino configurado. Quando a pesquisa mais longa é realizada em um filtro de rota, a pesquisa avalia um tipo de correspondência de forma diferente de outros tipos de correspondência de política de roteamento. Para obter mais informações sobre este tipo de correspondência de filtro de rota, veja .Como um tipo de correspondência de máscara de endereço é avaliado Por exemplo, configurações que mostram filtros de rota que contêm o tipo de correspondência, veja os seguintes tópicos: |
|
Todos os seguintes são verdadeiros:
|
|
Todos os seguintes são verdadeiros:
|
|
Todos os seguintes são verdadeiros:
|
|
Todos os seguintes são verdadeiros:
|
|
Todos os seguintes são verdadeiros:
Você não usa o tipo de correspondência na maioria das configurações de políticas de roteamento. |
|
Todos os seguintes são verdadeiros:
|
Figura 5 mostra a árvore de radix detalhada para a rota 192.168.0.0/16.
e demonstrar a operação dos vários tipos de correspondência de filtro de rota.Figura 6Tabela 2
Prefixo |
Exatos 192.168/16 |
192.168/16 mais longo |
192.168/16 ou mais |
192.168/16 até /24 |
Intervalo de comprimento de prefixo/192.168/16 – /20 |
192.168/16 through192.168.16/20 |
192.168/19 endereço-mask255.255.0.0 |
---|---|---|---|---|---|---|---|
10.0.0.0/8 |
– |
– |
– |
– |
– |
– |
– |
192.168.0.0/16 |
Jogo |
– |
Jogo |
Jogo |
– |
Jogo |
– |
192.168.0.0/17 |
– |
Jogo |
Jogo |
Jogo |
– |
Jogo |
– |
192.168.0.0/18 |
– |
Jogo |
Jogo |
Jogo |
Jogo |
Jogo |
– |
192.168.0.0/19 |
– |
Jogo |
Jogo |
Jogo |
Jogo |
Jogo |
Jogo |
192.168.4.0/24 |
– |
Jogo |
Jogo |
Jogo |
– |
– |
– |
192.168.5.4/30 |
– |
Jogo |
Jogo |
– |
– |
– |
– |
192.168.12.4/30 |
– |
Jogo |
Jogo |
– |
– |
– |
– |
192.168.12.128/32 |
– |
Jogo |
Jogo |
– |
– |
– |
– |
192.168.16.0/20 |
– |
Jogo |
Jogo |
Jogo |
Jogo |
Jogo |
– |
192.168.192.0/18 |
– |
Jogo |
Jogo |
Jogo |
Jogo |
– |
– |
192.168.224.0/19 |
– |
Jogo |
Jogo |
Jogo |
Jogo |
– |
Jogo |
10.169.1.0/24 |
– |
– |
– |
– |
– |
– |
– |
10.170.0.0/16 |
– |
– |
– |
– |
– |
– |
– |
Como os filtros de rota são avaliados em condições de correspondência da política de roteamento
Durante a avaliação do filtro de rota, o software da estrutura de política compara o endereço de origem de cada rota com os prefixos de destino no filtro de rota. A avaliação ocorre em duas etapas:
O software de estrutura de políticas realiza uma pesquisa de correspondência mais longa, o que significa que o software busca o prefixo na lista com o comprimento mais longo.
A busca mais longa considera o e os componentes do prefixo de correspondência configurado apenas, e não o componente.
prefix
prefix-length
match-type
O filtro de rota de amostra a seguir ilustra este ponto:from { route-filter 192.168.0.0/14 upto /24 reject; route-filter 192.168.0.0/15 exact; } then accept;
A correspondência mais longa para a rota do candidato 192.168.1.0/24 é o segundo filtro de rota, 192.168.0.0/15, que é baseado apenas no comprimento do prefixo e do prefixo.
Quando uma rota de entrada corresponde a um prefixo (o primeiro mais longo), as seguintes ações ocorrem:
O filtro de rota para de avaliar outros prefixos, mesmo se o tipo de correspondência falhar.
O software examina o tipo e a ação da correspondência associados a esse prefixo.
Quando um endereço de origem de rota é avaliado em relação a um critério de correspondência que usa o tipo de correspondência, ambas as etapas da avaliação incluem o valor de massa líquida configurado.address-mask
Para obter mais informações, veja .Como um tipo de correspondência de máscara de endereço é avaliado
Na Etapa 1, se a rota 192.168.1.0/24 fosse avaliada, ela não corresponderia. Ele corresponde ao prefixo mais longo de 192.168.0.0/15, mas não corresponde .exact
O filtro de rota está concluído porque combina com um prefixo, mas o resultado é uma correspondência fracassada porque o tipo de correspondência falhou.
Se ocorrer uma correspondência, a ação especificada com o prefixo é tomada. Se uma ação não for especificada com o prefixo, a ação na declaração será tomada.then
Se nenhuma das ações for especificada, o software avalia o próximo termo ou a política de roteamento, se estiver presente, ou tomar as medidas ou especificadas pela política padrão.accept
reject
Para obter mais informações sobre as políticas de roteamento padrão, veja .Políticas de roteamento padrão
Se você especificar vários prefixos no filtro de rota, apenas um prefixo precisa combinar para que uma correspondência ocorra. A correspondência do filtro de rota é efetivamente uma operação ou lógica.
Se uma correspondência não ocorrer, o software avalia o próximo termo ou política de roteamento, se estiver presente, ou tomar as medidas ou especificadas pela política padrão.accept
reject
Por exemplo, compare o prefixo 192.168.254.0/24 com o seguinte filtro de rota:
route-filter 192.168.0.0/16 orlonger; route-filter 192.168.254.0/23 exact;
O prefixo 192.168.254.0/23 é determinado como o prefixo mais longo. Quando o software avalia 192.168.254.0/24 em relação ao prefixo mais longo, ocorre uma correspondência (192.168.254.0/24 é um subconjunto de 192.168.254,0/23). Devido à combinação entre 192.168.254.0/24 e o prefixo mais longo, a avaliação continua. No entanto, quando o software avalia o tipo de correspondência, uma correspondência não ocorre entre 192.168.254.0/24 e 192.168.254.0/23 exatos. O software conclui que o termo não corresponde e vai para o próximo termo ou política de roteamento, se presente, ou toma as ou ações especificadas pela política padrão.accept
reject
O recurso walkup permite que termos com vários filtros de rota "walk-up" do processo de avaliação incluam rotas menos específicas, bem como a correspondência mais longa. Em outras palavras, permitir o walkup altera o comportamento padrão de "se um falhar, então o termo falha" para "se um corresponde, então o termo corresponde". Para obter mais informações sobre o recurso, veja .walkupVisão geral do walkup for Route Filters
- Como a ordem de prefixo afeta a avaliação do filtro de rota
- Como um tipo de correspondência de máscara de endereço é avaliado
- Problema de configuração comum com a aparência mais longa
Como a ordem de prefixo afeta a avaliação do filtro de rota
A ordem em que os prefixos são especificados (de cima para baixo) normalmente não importa, porque o software da estrutura de políticas verifica o filtro de rota procurando o prefixo mais longo durante a avaliação. Uma exceção a essa regra é quando você usa o mesmo prefixo de destino várias vezes em uma lista. Neste caso, a ordem dos prefixos é importante, pois a lista de prefixos idênticos é digitalizada de cima para baixo, e o primeiro tipo de correspondência que corresponde à rota se aplica.
O recurso walkup permite que termos com vários filtros de rota "walk-up" do processo de avaliação incluam rotas menos específicas, bem como a correspondência mais longa. Em outras palavras, permitir o walkup altera o comportamento padrão de "se um falhar, então o termo falha" para "se um corresponde, então o termo corresponde". Para obter mais informações sobre o recurso, veja .walkupVisão geral do walkup for Route Filters
No exemplo a seguir, diferentes tipos de correspondência são especificados para o mesmo prefixo. A rota 0.0.0.0/0 seria indeferida, a rota 0.0.0.0/8 seria marcada com , e a rota 0.0.0.0/25 seria indeferida.next-hop self
route-filter 0.0.0.0/0 upto /7 reject; route-filter 0.0.0.0/0 upto /24 next-hop self; route-filter 0.0.0.0/0 orlonger reject;
Como um tipo de correspondência de máscara de endereço é avaliado
O tipo de correspondência de política de roteamento permite combinar endereços de rota IPv4 ou IPv6 de entrada em um valor de massa líquida configurado, além do comprimento de um prefixo de correspondência de destino configurado.address-mask
Durante a avaliação do filtro de rota, um tipo de correspondência é processado de forma diferente de outros tipos de correspondência de política de roteamento, levando em consideração o valor de massa líquida configurado:address-mask
Quando uma busca mais longa avalia um tipo de correspondência de política de roteamento, o componente do prefixo de correspondência configurado não é considerado.
address-mask
prefix-length
Em vez disso, a busca considera o número de bits de alta ordem contíguos definidos no valor de massa líquida configurado.Quando um endereço de rota IPv4 ou IPv6 de entrada é avaliado em relação a critérios de correspondência de filtro de rota que utilizam o tipo de correspondência da política de roteamento, a correspondência é bem sucedida se os seguintes valores forem idênticos:
address-mask
A lógica bit-wise E do valor de massa de rede configurado e o endereço de rota IPv4 ou IPv6 de entrada
A lógica bit-wise e do valor de massa de rede configurado e o prefixo de correspondência de destino configurado
Para um exemplo de configuração de um filtro de rota que contém dois tipos de correspondência, veja .address-mask
Avaliação de um tipo de correspondência de máscara de endereço com uma pesquisa mais longa
Problema de configuração comum com a aparência mais longa
Um problema comum ao definir um filtro de rota é incluir um prefixo mais curto que você deseja combinar com um prefixo mais longo e semelhante na mesma lista. Por exemplo, imagine que o prefixo 192.168.254.0/24 seja comparado com o seguinte filtro de rota:
route-filter 192.168.0.0/16 orlonger; route-filter 192.168.254.0/23 exact;
Como o software de estrutura de políticas realiza uma busca mais longa, o prefixo 192.168.254.0/23 está determinado como o prefixo mais longo. Uma correspondência exata não ocorre entre 192.168.254.0/24 e 192.168.254.0/23 exatos. O software determina que o termo não corresponde e vai para o próximo termo ou política de roteamento, se presente, ou toma a ou ação especificada pela política padrão.accept
reject
(Para obter mais informações sobre as políticas de roteamento padrão, veja .) O prefixo mais curto de 192.168.0.0/16 ou mais longo que você queria combinar é inadvertidamente ignorado.Políticas de roteamento padrão
Uma solução para este problema é remover o prefixo 192.168.0.0/16 ou mais longo do filtro de rota neste termo e movê-lo para outro termo onde ele é o único prefixo ou o prefixo mais longo da lista.
Outra solução é habilitar o recurso.walkup Veja mais detalhes.Visão geral do walkup for Route Filters
Exemplos de filtro de rota
Os exemplos nesta seção mostram apenas fragmentos de políticas de roteamento. Normalmente, você combinaria esses fragmentos com outros termos ou políticas de roteamento.
Em todos os exemplos, lembre-se que as seguintes ações se aplicam a rotas incomparáveis:
Avalie o próximo termo, se estiver presente.
Avalie a próxima política, se estiver presente.
Faça a ação ou especificada pela política padrão.
accept
reject
Para obter mais informações sobre as políticas de roteamento padrão, veja .Políticas de roteamento padrão
Os exemplos a seguir mostram como configurar filtros de rota para várias finalidades:
- Rejeitar rotas com prefixos de destino específicos e comprimentos de máscara
- Rejeitar rotas com comprimento de máscara maior que oito
- Rejeitar rotas com comprimento de máscara entre 26 e 29
- Rejeitando rotas de hosts específicos
- Aceitando rotas com um conjunto definido de prefixos
- Rejeitando rotas com um conjunto definido de prefixos
- Rejeitando rotas com prefixos maiores que 24 bits
- A rejeição do tráfego multicast do PIM se junta
- Rejeitar o tráfego PIM
- Aceitando rotas IPv4 de entrada aplicando uma máscara de endereço no endereço de rota e no prefixo de correspondência de destino
- Aceitando rotas IPv4 de entrada com padrões semelhantes, mas diferentes comprimentos de prefixo
- Avaliação de um tipo de correspondência de máscara de endereço com uma pesquisa mais longa
Rejeitar rotas com prefixos de destino específicos e comprimentos de máscara
Rejeite rotas com um prefixo de destino de 0,0.0.0 e comprimento de máscara de 0 a 8, e aceite todas as outras rotas:
[edit] policy-options { policy-statement policy-statement from-hall2 { term 1 { from { route-filter 0.0.0.0/0 upto /8 reject; } } then accept; } }
Rejeitar rotas com comprimento de máscara maior que oito
Rejeitar rotas com uma máscara de /8 e maior (ou seja, /8, /9, /10 e assim por diante) que tenham os primeiros 8 bits definidos para 0 e aceitem rotas com menos de 8 bits de comprimento:
[edit] policy-options { policy-statement from-hall3 { term term1 { from { route-filter 0/0 upto /7 accept; route-filter 0/8 orlonger; } then reject; } } }
Rejeitar rotas com comprimento de máscara entre 26 e 29
Rejeitar rotas com o prefixo de destino de 192.168.10/24 e uma máscara entre /26 e /29 e aceitar todas as outras rotas:
[edit] policy-options { policy-statement from-customer-a { term term1 { from { route-filter 192.168.10/24 prefix-length-range /26–/29 reject; } then accept; } } }
Rejeitando rotas de hosts específicos
Rejeite uma variedade de rotas de hosts específicos e aceite todas as outras rotas:
[edit] policy-options { policy-statement hosts-only { from { route-filter 10.125.0.0/16 upto /31 reject; route-filter 0/0; } then accept; } }
Você não usa o tipo de correspondência na maioria das configurações de políticas de roteamento.through
Você deve pensar como uma ferramenta para agrupar um conjunto contíguo de correspondências exatas.through
Por exemplo, em vez de especificar quatro correspondências exatas:
from route-filter 0.0.0.0/1 exact from route-filter 0.0.0.0/2 exact from route-filter 0.0.0.0/3 exact from route-filter 0.0.0.0/4 exact
Você pode representá-los com o seguinte jogo único:
from route-filter 0.0.0.0/1 through 0.0.0.0/4
Aceitando rotas com um conjunto definido de prefixos
Aceite explicitamente um conjunto limitado de prefixos (no primeiro mandato) e rejeite todos os outros (no segundo mandato):
policy-options { policy-statement internet-in { term 1 { from { route-filter 192.168.231.0/24 exact accept; route-filter 192.168.244.0/24 exact accept; route-filter 192.168.198.0/24 exact accept; route-filter 192.168.160.0/24 exact accept; route-filter 192.168.59.0/24 exact accept; } } term 2 { then { reject; } } }
Rejeitando rotas com um conjunto definido de prefixos
Rejeite alguns grupos de prefixos e aceite os prefixos restantes:
[edit policy-options] policy-statement drop-routes { term 1{ from { # first, reject a number of prefixes: route-filter default exact reject; # reject 0.0.0.0/0 exact route-filter 0.0.0.0/8 orlonger reject; # reject prefix 0, mask /8 or longer route-filter 10.0.0.0/8 orlonger reject; # reject loopback addresses } route-filter 10.105.0.0/16 exact { # accept 10.105.0.0/16 as-path-prepend “1 2 3”; accept; } route-filter 192.0.2.0/24 orlonger reject; # reject test network packets route-filter 172.16.233.0/3 orlonger reject; # reject multicast and higher route-filter 0.0.0.0/0 upto /24 accept; # accept everything up to /24 route-filter 0.0.0.0/0 orlonger accept; # accept everything else } } } }
Rejeitando rotas com prefixos maiores que 24 bits
Rejeite todos os prefixos com mais de 24 bits. Você instalaria essa política de roteamento em uma sequência de políticas de roteamento em um comunicado.export
O primeiro termo neste filtro passa em todas as rotas com um comprimento de prefixo de até 24 bits. O segundo termo, sem nome, rejeita todo o resto.
[edit policy-options] policy-statement 24bit-filter { term acl20 { from { route-filter 0.0.0.0/0 upto /24; } then next policy; } then reject; }
Se, neste exemplo, você especificasse , os prefixos correspondentes seriam aceitos imediatamente e a próxima política de roteamento na declaração nunca seria avaliada.route-filter 0.0.0.0/0 upto /24 accept
export
Se você incluísse a declaração no termo , prefixos maiores que 24 bits nunca seriam rejeitados porque o software de estrutura de políticas, ao avaliar o termo, passaria a avaliar a próxima declaração antes de chegar à declaração.then reject
acl20
then reject
A rejeição do tráfego multicast do PIM se junta
Configure uma política de roteamento para rejeitar o tráfego multicast independente de protocolo (PIM) que se junta para um prefixo de destino fonte de um vizinho:
[edit] policy-options { policy-statement join-filter { from { neighbor 10.14.12.20; source-address-filter 10.83.0.0/16 orlonger; } then reject; } }
Rejeitar o tráfego PIM
Configure uma política de roteamento para rejeitar o tráfego PIM para um prefixo de destino de origem a partir de uma interface:
[edit] policy-options { policy-statement join-filter { from { interface so-1/0/0.0; source-address-filter 10.83.0.0/16 orlonger; } then reject; } }
As seguintes qualificações de política de roteamento aplicam-se ao PIM:
interface
— Interface sobre a qual uma participação é recebidaneighbor
— Fonte da qual uma junção se originaroute-filter
— Endereço em gruposource-address-filter
— Endereço fonte para o qual rejeitar uma participação
Para obter mais informações sobre a importação de um PIM, junte-se ao filtro em uma definição de protocolo PIM, consulte o Guia de usuário de protocolos multicast do Junos OS.https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/config-guide-multicast/config-guide-multicast.html
Aceitando rotas IPv4 de entrada aplicando uma máscara de endereço no endereço de rota e no prefixo de correspondência de destino
Aceite rotas IPv4 de entrada com um prefixo de destino de 10,1,0/24 e o terceiro byte um número uniforme de 0 a 14, incluindo:
[edit] policy-options { policy-statement from_customer_a { term term_1 { from { route-filter 10.1.0.0/24 address-mask 255.255.241.0; } then { ... reject; } } } }
O filtro de rota no termo de política de roteamento corresponde aos seguintes endereços de rota IPv4 de entrada:term_1
10.1.0.0/24
10.1.2.0/24
10.1.4.0/24
10.1.6.0/24
10.1.8.0/24
10.1.10.0/24
10.1.12.0/24
10.1.14.0/24
A lógica bit-wise E do valor de massa líquida e o endereço de rota do candidato devem combinar com a lógica bit-wise E do valor de massa líquida e o endereço de prefixo da correspondência. Ou seja, quando o padrão de bit de massa líquida 255.255.241.0 contém um bit definido, o endereço de rota IPv4 que está sendo avaliado deve corresponder ao valor da bit correspondente no endereço de prefixo de destino 10.1.0.0/24.
Os dois primeiros bytes do valor de massa líquida são binários 1111 1111 1111 1111, o que significa que um endereço de rota do candidato falhará no jogo se os dois primeiros bytes não forem 10.1.
O terceiro byte do valor de massa líquida é binário 1111 0001, o que significa que um endereço de rota do candidato falhará no jogo se o terceiro byte for maior que 15 (decimais), um número ímpar, ou ambos.
O comprimento do prefixo do endereço de prefixo da correspondência é de 24 (decimal), o que significa que um endereço de rota do candidato falhará na correspondência se seu comprimento de prefixo não for exatamente 24.
Como exemplo, suponha que o endereço de rota do candidato que está sendo testado na política seja 10.1.8.0/24 (binário 0000 1010 0000 0001 0000 1000).
Quando o valor de massa líquida é aplicado a este endereço de rota do candidato, o resultado é binário 0000 1010 0000 0001 0000 0000.
Quando o valor de massa líquida é aplicado ao endereço de prefixo de destino configurado, o resultado também é binário 0000 1010 0000 0001 0000 00000.
Como os resultados de ambas as operações E são os mesmos, a partida continua com os critérios da segunda partida.
Como os comprimentos de prefixo do endereço do candidato e o endereço de prefixo de destino configurado são os mesmos (24 bits), a correspondência é bem-sucedida.
Como outro exemplo, suponha que o endereço de rota do candidato que está sendo testado na política seja 10.1.3.0/24 (binário 0000 1010 0000 0001 0000 0011).
Quando o valor de massa líquida é aplicado a este endereço de rota do candidato, o resultado é binário 0000 1010 0000 0001 0000 0001.
No entanto, quando o valor de massa líquida é aplicado ao endereço de prefixo de destino configurado, o resultado é binário 0000 1010 0000 0001 0000 00000.
Como os resultados das duas operações E são diferentes (no terceiro byte), a partida falha.
Aceitando rotas IPv4 de entrada com padrões semelhantes, mas diferentes comprimentos de prefixo
Aceite endereços de rota IPv4 de entrada do formulário 10.*.1/24 ou 10.*.1.*/32:
[edit] policy-options { policy-statement from_customer_b { term term_2 { from { route-filter 10.0.1.0/24 address-mask 255.0.255.0; route-filter 10.0.1.0/32 address-mask 255.0.255.0; } then { ... reject; } } } }
Os critérios de correspondência do filtro de rota correspondem a um endereço de rota IPv4 de entrada do formulário 10.*.1/24.10.0.1.0/24 address-mask 255.0.255.0
O comprimento do prefixo da rota deve ter exatamente 24 bits de comprimento, e qualquer valor é aceitável no segundo byte.
Os critérios de correspondência do filtro de rota correspondem a um endereço de rota IPv4 de entrada do formulário 10.*.1.*/32.10.0.1.0/32 address-mask 255.0.255.0
O comprimento do prefixo da rota deve ter exatamente 32 bits de comprimento, e qualquer valor é aceitável no segundo byte e no quarto byte.
Avaliação de um tipo de correspondência de máscara de endereço com uma pesquisa mais longa
Este exemplo ilustra como uma pesquisa de correspondência mais longa avalia um filtro de rota que contém dois tipos de correspondência.address-mask
Considere o filtro de rota configurado no termo da política de roteamento abaixo:term_3
[edit] policy-options { policy-statement from_customer_c { term term_3 { from { route-filter 10.0.1.0/24 address-mask 255.0.255.0; route-filter 10.0.2.0/24 address-mask 255.240.255.0; } then { ... } } } }
Suponha que o endereço fonte de rota IPv4 de entrada 10.1.1.0/24 seja testado em relação ao filtro de rota configurado no termo da política:term_3
A árvore de busca mais longa para o termo de política de roteamento contém dois prefixos compatíveis:
term_3
um prefixo e um prefixo para .10.0.1.0/24 address-mask 255.0.255.0
10.0.2.0/24 address-mask 255.240.255.0
Ao procurar na árvore a correspondência de prefixo mais longa para um candidato, a pesquisa mais longa considera o número de bits de alta ordem contíguos na configuração em vez do comprimento da configuração :netmask-value
destination-prefix
Para os critérios de correspondência do primeiro filtro de rota, a entrada de pesquisa mais longa é de 10.0.0.0/8 porque o valor de massa líquida contém 8 bits contíguos de alta ordem.
Para critérios de correspondência de filtro de segunda rota, a entrada de pesquisa mais longa é de 10.0.0.0/12 porque o valor de massa líquida contém 12 bits contíguos de alta ordem.
Para o endereço de rota do candidato 10.1.1.0/24, a busca mais longa retorna a entrada da árvore 10.0.0.0/12, que corresponde aos critérios de correspondência do filtro de rota.
10.0.2.0/24 address-mask 255.240.255.0
Agora que o prefixo de correspondência mais longo foi identificado para o endereço de rota do candidato, o endereço de rota do candidato é avaliado em relação aos critérios de correspondência do filtro de rota:
term_3
10.0.2.0/24 address-mask 255.240.255.0
Para testar o endereço de rota IPv4 de entrada 10.1.1.0/24, o valor de massa líquida 255.240.255.0 é aplicado a 10.1.1.0/24. O resultado é 10,0,1,0.
Para testar o endereço prefixo de destino configurado 10.0.2.0/24, o valor de massa líquida 255.240.255.0 é aplicado a 10.0.2.0/24. O resultado é 10,0,2,0.
Como os resultados são diferentes, a correspondência do filtro de rota falha. Nenhuma ação, seja especificada com os critérios de correspondência ou com a declaração, é tomada.
then
O endereço de rota IPv4 de entrada não é avaliado em relação a nenhum outro critério de correspondência.