Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

O que é roteamento por segmentos e roteamento de pacotes de origem em redes?

Em uma rede roteada por segmentos, os dispositivos geram uma série de instruções que representam as maneiras pelas quais um pacote pode ser encaminhado ou processado. Essas instruções são chamadas de segmentos. Ao empilhar os segmentos, os operadores podem criar caminhos precisos entre dois dispositivos quaisquer. Isso permite recursos como um núcleo sem BGP, engenharia de tráfego (TE), caminhos de backup, caminhos de vários domínios e redes de várias topologias. No plano de dados, os segmentos podem ser representados usando rótulos MPLS ou endereços IPv6.

Conhecimento de pré-requisito

Presumimos que os leitores entendam os princípios gerais de roteamento IP e comutação de rótulos MPLS e tenham um forte conhecimento prático de IS-IS ou OSPF. Abordamos esses conceitos em outros recursos em nossa Documentação técnica.

O roteamento por segmentos (SR) é um método de geração de uma série de instruções que indicam como um pacote pode ser encaminhado ou processado em uma topologia. Essas instruções são chamadas de segmentos. Essas instruções podem então ser escritas em um pacote para que os dispositivos de trânsito encaminhem e processem o pacote conforme pretendido. Vários segmentos podem ser empilhados juntos para definir um caminho de ponta a ponta entre dois dispositivos quaisquer.

Os segmentos são anunciados diretamente dentro de protocolos de roteamento, como IS-IS, OSPF e BGP. Isso significa que não há necessidade de executar um protocolo adicional para anunciar esses segmentos em toda a rede. Esta seção define o conceito de um segmento. Esta seção também aborda como os segmentos são anunciados e como eles podem ser usados para criar um caminho preciso em uma rede. Exploramos ainda mais como esses segmentos podem ser representados no plano de dados usando rótulos MPLS ou endereços IPv6 especiais chamados endereços SRv6. Essas opções são chamadas de SR-MPLS e SRv6, respectivamente.

Exemplos de instruções representadas por segmentos

Um segmento é o nome dado a uma construção que representa uma única instrução. Isso pode ser uma instrução relacionada ao encaminhamento ou pode ser uma instrução relacionada a como o pacote deve ser processado localmente no roteador receptor. No roteamento por segmentos, essas instruções são anunciadas por toda a rede — por exemplo, em um nível de IS-IS ou uma área de OSPF. O resultado é que qualquer dispositivo compatível com SR pode empilhar essas instruções para criar um caminho preciso através da rede para qualquer dispositivo remoto arbitrário.

Aqui estão alguns exemplos de instruções que um segmento pode representar:

  • Encaminhe um pacote pelo caminho mais curto do Interior Gateway Protocol (IGP) para um roteador remoto específico.

  • Instrua um roteador de trânsito a enviar o pacote diretamente para um vizinho de próximo salto e, portanto, para fora de uma interface local específica.

  • Instrua um roteador de borda de sistema autônomo (AS) a enviar o pacote para um peer BGP externo (EBGP) específico, substituindo a decisão de melhor caminho do BGP.

  • Balanceamento de carga de um pacote entre dois ou mais roteadores de trânsito ou de endpoint.

  • Envie um pacote para o roteador de borda mais próximo de vários pontos de saída potenciais.

  • Instrua um roteador de trânsito a redirecionar o pacote para um túnel específico de engenharia de tráfego (TE).

  • Defina uma topologia restrita menor em sua topologia principal e, em seguida, encaminhe um pacote pelo caminho mais curto dentro dessa topologia restrita.

  • Remova todas as instruções de segmento que foram enviadas para o pacote e, em seguida, processe o próprio pacote em uma tabela de encaminhamento específica de Camada 2 ou Camada 3.

Os segmentos são anunciados dentro dos protocolos de roteamento existentes

Em uma rede SR, cada dispositivo gera uma variedade de segmentos que representam como ele pode encaminhar ou processar um pacote. A maioria desses segmentos é então anunciada para todos os outros roteadores dentro do mesmo domínio de roteamento, como a mesma área de OSPF ou nível de IS-IS, ou entre pares BGP.

Em vez de usar um protocolo dedicado, o roteamento por segmentos anuncia segmentos diretamente no IS-IS, OSPF e BGP por meio de extensões de protocolo. Você não precisa habilitar novos protocolos para roteamento por segmentos. Você pode simplesmente confiar nos protocolos que já usa.

Como resultado, todos os dispositivos habilitados para SR em seu domínio de roteamento têm visibilidade total de todas as instruções de segmento que foram anunciadas por todos os outros nós habilitados para SR na rede. Em outras palavras, cada dispositivo aprende sobre cada segmento anunciado que todos os outros dispositivos podem receber.

A Figura 1 demonstra essa ideia e mostra um exemplo de alto nível de como são os segmentos em uma rede SR-MPLS. O conceito é semelhante no SRv6.

Figura 1: Cada roteador gera um OSPF LSA ou IS-IS TLV contendo suas informações de topologia. Esse objeto também anuncia informações de instrução de segmento. Each router generates an OSPF LSA or IS-IS TLV containing their topology information. This object also advertises segment instruction information.We recommend that you shorten the figure title. You can add additional information to the paragraph describing the image. Suggested figure titles styled in title case: 1. Router-Generated OSPF LSA or IS-IS TLV Containing Segment Instructions. 2. OSPF LSA or IS-IS TLV, Showing Router Topology and Segment Instructions. 3. Router Topology and Segment Instructions Within OSPF LSA or IS-IS TLV.

A Figura 1 mostra uma topologia de 10 roteadores, numerados de R1 a R10. Em uma rede de estado de enlace, cada roteador gera um objeto que descreve seu lugar na rede. O OSPF chama esse objeto de anúncio de estado de enlace (LSA), enquanto o IS-IS o chama de unidade de dados de protocolo de estado de enlace (LSP). Em ambos os casos, o SR pode anexar informações adicionais a este LSA ou LSP.

Por exemplo, na Figura 1, R5 anunciou que tem adjacências para R4 e R10. O roteamento por segmentos pode marcar essas informações no LSA ou LSP com uma instrução de segmento que diz que R5 pode usar o roteamento por segmentos para enviar tráfego diretamente a esses vizinhos, juntamente com um número chamado identificador de segmento (SID). Eles são chamados de segmentos de adjacência no SR-MPLS. A construção equivalente no SRv6 é chamada de SID End.X.

O R5 também marcou seu próprio prefixo de endereço IPv4 de loopback com uma instrução que indica que o R5 está disposto a aceitar o tráfego que foi enviado pelo caminho mais curto do IGP. Isso é chamado de segmento de nó no SR-MPLS.

O LSA ou LSP é inundado em todo o domínio de roteamento, o que significa que cada roteador na área de OSPF ou nível IS-IS aprende sobre cada segmento que foi anunciado usando esses protocolos. Usando essas informações de segmento, os roteadores habilitados para SR podem empilhar uma ou mais instruções de segmento diretamente em um pacote para indicar o caminho que o pacote deve seguir para um roteador remoto específico, juntamente com informações sobre a maneira como o pacote deve ser processado.

Combine segmentos para criar um caminho preciso em uma rede

Depois que cada roteador tiver anunciado os vários segmentos que representam as instruções que ele gerou, qualquer roteador na rede pode combinar esses segmentos para criar qualquer caminho arbitrário de sua escolha. Isso pode envolver a criação de uma pilha de segmentos, ou pode ser tão simples quanto usar um único segmento de caminho mais curto para o roteador de destino.

O roteamento por segmentos consegue isso sem a necessidade de sinalizar ou solicitar ativamente o caminho, porque todas as instruções do segmento já foram anunciadas e aprendidas pelos protocolos de roteamento existentes. Qualquer roteador pode simplesmente calcular o caminho necessário, extrair os segmentos necessários associados a esse caminho e anexar essas instruções ao pacote no plano de dados.

A Figura 2 mostra um exemplo legível de como esses segmentos podem ser combinados.

Figura 2: O roteamento por segmentos cria instruções para enviar tráfego pela topologia. Segment routing builds instructions to send traffic over the topology.Suggested rephrases for figure title: 1. Segment Routing Instructions for Traffic Flow 2. Traffic Direction Using Segment Routing 3. Segment Routing: Traffic Path Assembly

A partir de R1, a figura mostra uma série de três instruções que enviam um pacote para R7. O primeiro segmento segue o caminho mais curto até R4. O segundo segmento vai diretamente de R4 para R9. A instrução final segue o caminho mais curto para R7.

R4 gerou e anunciou os dois primeiros segmentos. R7 gerou o terceiro segmento. Qualquer roteador na rede pode então aproveitar esses segmentos para criar um caminho preciso em uma topologia.

Você não precisa usar uma pilha de segmentos. Por exemplo, se seu único requisito é que o tráfego siga o caminho mais curto para um dispositivo remoto, o pacote exigirá apenas um segmento. Isso é mostrado na Figura 3, onde apenas um segmento é necessário para descrever o caminho mais curto entre R1 e R5.

Figura 3: Apenas um segmento é necessário para descrever o caminho mais curto entre dois dispositivos. Only one segment is required to describe the shortest path between any two devices.Suggested figure title: One Segment for Shortest Path

Isso é suficiente para permitir um projeto de núcleo clássico sem BGP sem engenharia de tráfego, onde os pacotes simplesmente seguem o caminho mais curto do IGP até o roteador de borda de destino.

Uso de MPLS ou IPv6 para representar segmentos no plano de dados

No plano de dados, os segmentos podem ser representados usando rótulos MPLS ou endereços IPv6. Esses métodos são chamados de SR-MPLS e SRv6, respectivamente.

A Figura 4 mostra uma visão geral de alto nível da aparência de cada protocolo no plano de dados. O SR-MPLS usa um rótulo MPLS para representar um único segmento, enquanto o SRv6 pode codificar um ou mais segmentos dentro de um único endereço IPv6. Quando vários endereços IPv6 são necessários para descrever o caminho completo, esses endereços são armazenados dentro de um cabeçalho de extensão IPv6 chamado SRH (Cabeçalho de Roteamento por segmentos).

Figura 4: Uma comparação de alto nível da criação de uma pilha de segmentos SR-MPLS e SRv6 clássico para criar um caminho de engenharia de tráfego. A high-level comparison of creating a stack of SR-MPLS and classic SRv6 segments to create a traffic-engineered path.Suggested rephrase to shorten caption: SR-MPLS Versus SRv6: Traffic-Engineered Path Creation

A Figura 4 demonstra uma pilha de segmentos em cada protocolo de plano de dados. No entanto, se um pacote simplesmente precisar seguir o caminho mais curto para um dispositivo remoto, não será necessário usar uma pilha de segmentos. Em vez disso, essa instrução pode ser codificada dentro de um único rótulo MPLS ou endereço IPv6.

SR-MPLS e SRv6 usam uma construção numérica chamada identificador de segmento (SID). O SID é usado para comunicar o rótulo MPLS ou o endereço IPv6 que deve ser usado no plano de dados. O valor SID é usado de maneiras diferentes, dependendo do tipo de segmento que está sendo anunciado.

Por exemplo, no SR-MPLS, o valor SID às vezes é o rótulo MPLS exato que um roteador espera receber para esse segmento. No entanto, outros tipos de segmento usam o valor SID como um índice que pode ser combinado com um conjunto pré-alocado de rótulos MPLS para calcular o rótulo MPLS correto que um roteador espera receber para um segmento.

Por outro lado, as implantações SRv6 tendem a alocar uma sub-rede exclusiva inteira de endereços IPv6 para cada roteador individual na rede. Os roteadores então alocam segmentos individuais desse prefixo maior. Os segmentos e o prefixo são anunciados pela rede de tal forma que qualquer roteador pode, no mínimo, seguir o caminho metricamente mais curto em direção a esse segmento.

O IS-IS e o OSPF criam e anunciam o mesmo tipo de segmentos, e ambos usam o valor do ID do segmento da mesma maneira. No entanto, cada protocolo tem sua própria maneira exclusiva de anunciar essas informações.

Consulte nossa documentação que explora o SR-MPLS e o SRv6 separadamente e com mais detalhes, juntamente com a configuração IS-IS e OSPF que permite esses protocolos de plano de dados e os tipos de segmento exclusivos oferecidos pelo SR-MPLS e SRv6. Antes de ler esta documentação detalhada, os leitores são fortemente aconselhados a ler primeiro os documentos mencionados na seção abaixo para obter uma ampla compreensão do roteamento por segmentos em geral.