Entendendo o roteamento de pacotes de origem em redes (SPRING)
Roteamento de pacotes de origem ou roteamento por segmentos é uma arquitetura de plano de controle que permite que um roteador de entrada guie um pacote através de um conjunto específico de nós e links na rede sem depender dos nós intermediários na rede para determinar o caminho real que deve tomar. Nesse contexto, o termo "fonte" significa "o ponto em que a rota explícita é imposta". Começando pelo Junos OS Release 17.2R1, o roteamento por segmentos para IS-IS e OSPFv2 é suportado em switches QFX5100 e QFX10000.
A partir do Junos OS Release 20.3R1, suporte a roteamento por segmentos para protocolos OSPF e IS-IS para fornecer funcionalidade básica com roteamento de pacotes de origem em redes (SPRING).
Essencialmente, o roteamento por segmentos envolve IGPs como IS-IS e OSPF para publicidade de dois tipos de segmentos ou túneis de rede:
-
Primeiro, um rigoroso túnel de salto único encaminhado que transporta pacotes por um link específico entre dois nós, independentemente do custo do enlace, conhecido como segmentos de adjacência.
-
Segundo, um túnel multihop usando links de caminho mais curtos entre dois nós específicos, conhecidos como segmentos de nós.
Os roteadores de entrada podem direcionar um pacote através de um conjunto desejado de nós e links, pré-anexando o pacote com uma combinação apropriada de túneis.
O roteamento por segmentos aproveita o paradigma de roteamento de fonte. Um nó direciona um pacote através de uma lista ordenada de instruções, chamadas segmentos. Um segmento pode representar qualquer instrução, topológica ou baseada em serviços. Um segmento pode ter um nó local semântico para um nó de roteamento por segmentos ou para um nó global dentro de um domínio de roteamento por segmentos. O roteamento por segmentos impõe um fluxo por qualquer caminho topológico e cadeia de serviços, mantendo o estado por fluxo apenas no nó de entrada para o domínio de roteamento por segmentos. O roteamento por segmentos pode ser aplicado diretamente à arquitetura MPLS sem alterações no plano de encaminhamento. Um segmento é codificado como um rótulo MPLS. Uma lista ordenada de segmentos é codificada como uma pilha de rótulos. O segmento a processar está no topo da pilha. Após a conclusão de um segmento, o rótulo relacionado é estourado da pilha. O roteamento por segmentos pode ser aplicado à arquitetura IPv6, com um novo tipo de cabeçalho de extensão de roteamento. Um segmento é codificado como um endereço IPv6. Uma lista ordenada de segmentos é codificada como uma lista ordenada de endereços IPv6 no cabeçalho de extensão de roteamento. O segmento a processar é indicado por um ponteiro no cabeçalho de extensão de roteamento. Após a conclusão de um segmento, o ponteiro é incrementado.
Os atalhos de engenharia de tráfego são habilitados para rotas de segmento IS-IS rotuladas, quando você configura shortcuts
nos seguintes níveis de hierarquia:
-
[edit protocols is-is traffic-engineering family inet]
para tráfego IPv4. -
[edit protocols is-is traffic-engineering family inet6]
para tráfego IPv6.
Quando o roteamento de pacotes de origem é implantado na rede, no data center, no backbone e nos dispositivos de peering, switch pacotes MPLS com uma pilha de rótulos construída pela fonte do tráfego; por exemplo, servidores de data center. No Junos OS Release 17.4R1, o tráfego roteado de origem coexiste com o tráfego tomando caminhos sinalizados pelo RSVP, e o roteamento de fonte é implementado como comutação de rótulos regular através da tabela mpls.0 usando as operações do rótulo – pop, swap (para o mesmo valor de rótulo) e swap-push (para proteção de interface). Em todos os casos, o tráfego pode ser equilibrado entre várias interfaces de Camada 3 ou dentro de uma interface agregada. A partir do Junos OS Release 17.4R1, as estatísticas de tráfego em uma rede de roteamento por segmentos podem ser registradas em um formato compatível com o OpenConfig para as interfaces de Camada 3. As estatísticas são registradas apenas para o roteamento de pacotes de origem em redes (SPRING), excluindo o tráfego sinalizado por RSVP e LDP, e as estatísticas MPLS por interface da família são contabilizadas separadamente. As estatísticas do SR também incluem estatísticas de tráfego SPRING por membro do grupo de agregação de enlaces (LAG) e por identificador de segmento (SID). Para permitir o registro de estatísticas de roteamento por segmentos, inclua sensor-based-stats
a declaração no nível de [edit protocol isis source-packet-routing]
hierarquia.
Antes do Junos OS Release 19.1R1, os sensores estavam disponíveis para coletar estatísticas de roteamento por segmentos apenas para tráfego de trânsito MPLS, que é de natureza MPLS para MPLS. A partir do Junos OS Release 19.1R1, em roteadores da Série MX com interfaces MPC e MIC e roteadores da Série PTX, sensores adicionais são introduzidos para coletar estatísticas de roteamento por segmentos para tráfego de entrada MPLS, que é de natureza IP-to-MPLS. Com esse recurso, você pode habilitar sensores para o tráfego de roteamento por segmentos IS-IS de rótulos apenas e transmitir as estatísticas para um cliente gRPC.
Você pode habilitar as estatísticas de roteamento por segmentos para tráfego de entrada MPLS usando a opção egress
na declaração de per-sid
configuração. O nome do recurso para a funcionalidade de saída por sid é:
/junos/services/segment-routing/sid/egress/usage/
Você pode visualizar a associação de rotas IS-IS do rótulo com os sensores usando a show isis spring sensor info
saída de comando. Este comando não exibe valores contrários dos sensores reais.
Os registros de estatísticas de roteamento por segmentos são exportados para um servidor. Você pode ver dados de estatísticas de roteamento por segmentos nos seguintes caminhos do OpenConfig:
-
/mpls/signalling-protocols/segment-routing/aggregate-sid-counters/aggregate-sid-counter[ip-addr='L-ISIS-10.1.1.1']/state/counters[name='oc-xxx']/out-pkts
-
/mpls/signalling-protocols/segment-routing/aggregate-sid-counters/aggregate-sid-counter[ip-addr='L-ISIS-10.1.1.1']/state/counters[name='oc-xxx']/out-pkts
-
O switchover gracioso do mecanismo de roteamento (GRES) não é compatível com estatísticas de roteamento por segmentos.
O roteamento ativo sem parar (NSR) não é compatível com o IS-IS do rótulo. Durante uma troca de mecanismo de roteamento, um novo sensor é criado no novo mecanismo de roteamento primário, substituindo o sensor criado pelo mecanismo de roteamento primário anterior. Como resultado, no momento de uma mudança de mecanismo de roteamento, as estatísticas de roteamento por segmentos começam a partir de zero.
-
A reinicialização graciosa não é suporte para o IS-IS do rótulo.
Em caso de reinício gracioso, o sensor existente é excluído e um novo sensor é criado durante a inicialização is-IS. O contador de estatísticas de roteamento por segmentos recomeça a partir de zero.
-
A atualização de software em serviço (ISSU) e a atualização ininterrupta de software (NSSU) não são suportadas. Nesses casos, o contador de estatísticas de roteamento por segmentos é reiniciado.
-
Os dados de roteamento por segmentos de estatística zero são suprimidos e não são transmitidos para os clientes gRPC.
Tabela de histórico de mudanças
O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.