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 Figura 1, 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. 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 Figura 2 pelos valores 0/1 e 128/1.
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. Figura 4 mostra o ponto na árvore de radix que representa a rede 192.168.0.0/16. 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 Visão geral do walkup for Route Filters mais detalhes.
Para configurar um filtro de rota, inclua uma ou mais route-filter
ou source-address-filter
declarações:
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { actions; }
A opção route-filter
é 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.
O destination-prefix
endereço é o prefixo de endereço IP versão 4 (IPv4) ou IP versão 6 (IPv6) especificado como prefix/prefix-length
. Se você omitir prefix-length
um prefixo IPv4, o padrão é /32. Se você omitir prefix-length
um prefixo IPv6, o padrão é /128. Os prefixos especificados em uma from
declaração devem ser todos os endereços IPv4 ou todos os endereços IPv6.
A opção source-address-filter
é 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-prefix match-type { actions; }
source-prefix
endereço é o prefixo de endereço IPv4 ou IPv6 especificado como prefix/prefix-length
. Se você omitir prefix-length
um prefixo IPv4, o padrão é /32prefix-length
. Se você omitir prefix-length
um prefixo IPv6, o padrão é /128. Os prefixos especificados em uma from
declaração devem ser todos os endereços IPv4 ou todos os endereços IPv6.
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.
actions
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 route-filter
opção) ou para um prefixo de correspondência de origem (especificado como parte de uma destination-address-filter
opção). 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
source-address-filter
opçãoroute-filter
— Essas ações são tomadas imediatamente após a ocorrência de uma partida, e athen
declaração não é avaliada.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 ousource-address-filter
opçãoroute-filter
.
Os upto
tipos de correspondência prefix-length-range
são semelhantes na medida em que ambos especificam os bits mais significativos e fornecem uma variedade de comprimentos de prefixo que podem combinar. A diferença é que permite especificar upto
um limite superior apenas para a faixa de comprimento do prefixo, enquanto prefix-length-range
que permite especificar limites inferiores e superiores.
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 O Quando a pesquisa mais longa é realizada em um filtro de rota, a pesquisa avalia um 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 |
|
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 |
|
Todos os seguintes são verdadeiros:
|
Figura 5 mostra a árvore de radix detalhada para a rota 192.168.0.0/16.
Figura 6 e Tabela 2 demonstrar a operação dos vários tipos de correspondência de filtro de rota.
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 |
Fósforo |
– |
Fósforo |
Fósforo |
– |
Fósforo |
– |
192.168.0.0/17 |
– |
Fósforo |
Fósforo |
Fósforo |
– |
Fósforo |
– |
192.168.0.0/18 |
– |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
– |
192.168.0.0/19 |
– |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
192.168.4.0/24 |
– |
Fósforo |
Fósforo |
Fósforo |
– |
– |
– |
192.168.5.4/30 |
– |
Fósforo |
Fósforo |
– |
– |
– |
– |
192.168.12.4/30 |
– |
Fósforo |
Fósforo |
– |
– |
– |
– |
192.168.12.128/32 |
– |
Fósforo |
Fósforo |
– |
– |
– |
– |
192.168.16.0/20 |
– |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
– |
192.168.192.0/18 |
– |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
– |
– |
192.168.224.0/19 |
– |
Fósforo |
Fósforo |
Fósforo |
Fósforo |
– |
Fósforo |
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
prefix-length
osprefix
componentes do prefixo de correspondência configurado apenas, e não omatch-type
componente. 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 address-mask
tipo de correspondência, ambas as etapas da avaliação incluem o valor de massa líquida configurado. 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 then
declaração será tomada. 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 accept
medidas ou reject
especificadas pela política padrão. 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 accept
medidas ou reject
especificadas pela política padrão.
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 accept
ou reject
ações especificadas pela política padrão.
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 walkup recurso, veja Visã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 walkup recurso, veja Visã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 next-hop self
, e a rota 0.0.0.0/25 seria indeferida.
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 address-mask
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. Durante a avaliação do filtro de rota, um address-mask
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:
Quando uma busca mais longa avalia um
address-mask
tipo de correspondência de política de roteamento, oprefix-length
componente do prefixo de correspondência configurado não é considerado. 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
address-mask
tipo de correspondência da política de roteamento, a correspondência é bem sucedida se os seguintes valores forem idênticos: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 address-mask
tipos de correspondência, veja 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 accept
reject
ação especificada pela política padrão. (Para obter mais informações sobre as políticas de roteamento padrão, veja Políticas de roteamento padrão.) O prefixo mais curto de 192.168.0.0/16 ou mais longo que você queria combinar é inadvertidamente ignorado.
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 walkup recurso. Veja Visão geral do walkup for Route Filters mais detalhes.
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
accept
oureject
especificada pela política padrão. 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 through
configurações de políticas de roteamento. Você deve pensar through
como uma ferramenta para agrupar um conjunto contíguo de correspondências exatas. 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 export
comunicado. 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 route-filter 0.0.0.0/0 upto /24 accept
, os prefixos correspondentes seriam aceitos imediatamente e a próxima política de roteamento na export
declaração nunca seria avaliada.
Se você incluísse a then reject
declaração no termo acl20
, 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 à then reject
declaração.
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.
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 term_1
de política de roteamento corresponde aos seguintes endereços de rota IPv4 de entrada:
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 10.0.1.0/24 address-mask 255.0.255.0
de correspondência do filtro de rota correspondem a um endereço de rota IPv4 de entrada do formulário 10.*.1/24. O comprimento do prefixo da rota deve ter exatamente 24 bits de comprimento, e qualquer valor é aceitável no segundo byte.
Os critérios 10.0.1.0/32 address-mask 255.0.255.0
de correspondência do filtro de rota correspondem a um endereço de rota IPv4 de entrada do formulário 10.*.1.*/32. 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 address-mask
tipos de correspondência. Considere o filtro de rota configurado no termo term_3
da política de roteamento abaixo:
[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 term_3
da política:
A árvore de busca mais longa para o termo
term_3
de política de roteamento contém dois prefixos compatíveis: um prefixo e10.0.1.0/24 address-mask 255.0.255.0
um prefixo para10.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çãonetmask-value
em vez do comprimento da configuraçãodestination-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
10.0.2.0/24 address-mask 255.240.255.0
de correspondência do filtro de rota.Agora que o prefixo
term_3
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érios10.0.2.0/24 address-mask 255.240.255.0
de correspondência do filtro de rota: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
then
declaração, é tomada. O endereço de rota IPv4 de entrada não é avaliado em relação a nenhum outro critério de correspondência.