Arquitetura

Keep the good stuff; remove the tedious stuff

SR - Arquitetura:

  • Plano de serviços: a ideia é manter toda a diversidade de serviços.
  • Plano de controle (software): OSPF/IS-IS/BGP são usados para anunciar informações do segmento.
  • Plano de dados (hardware): reusa MPLS e IPv6.

Plano de Controle X Plano de dados:

  • Plano de controle é responsável pela inteligência da rede, ou seja, ele define as próximas rotas do fluxo de pacotes na rede, podendo rodar, por exemplo, um protocolo de roteamento ou algo parecido.
  • Plano de dados é responsável por encaminhar pacotes na rede, ou seja, ele simplesmente encaminha os pacotes para seu destino que é determinado pelo plano de controle.

Plano de dados

Redes MPLS com SR: utiliza o plano de encaminhamento de dados do MPLS.

Características Rede MPLS com SR Rede MPLS sem SR
Transporte MPLS básico IGP IGP + LDP
Túneis TE adicionais para suportar FRR Não precisa Precisa
Sincronismo entre o LDP/IGP Não se aplica Difícil de gerenciar
Estados apenas no head-end do TE Sim Não. No pior caso: complexidade O(N^2) nos pontos intermediários
Otimização de caminho de backup Sim Não.
Interoperabilidade com a rede MPLS tradicional Sim Não se aplica
Projetado para SDN Sim Não
Comutação FRR em 50ms IGP IGP + LDP
ECMP para criação de túneis TE Sim Não

O SR possui as seguintes funcionalidades:

  • PHP (penultimate Hop Popping): A função realiza um processo no qual o rótulo mais externo do pacote é removido por um LSR, antes que o pacote seja passado para um LER adjacente. Essa função é importante em ambientes VPN MPLS de camada 3. Uma das vantagens é reduzir a carga no LER.
    Caso essa função estivesse desabilitada o LER teria que realizar pelo menos duas pesquisas de rótulo:
    1 - O rótulo mais externo, identificando que o pacote estava destinado a ter esse rótulo removido nesse roteador;
    2 - O rótulo interno, para identificar qual instância de roteamento e encaminhamento virtual (VRF) a ser usada na pesquisa de roteamento IP subsequente.
  • Rótulos explicit-null: Um valor de 0 representa o rótulo Explicit NULL Label do IPv4. Essa etiqueta indica que a pilha de rótulos deve ser removida, e o encaminhamento de pacote deve ser baseado no cabeçalho do IPv4. Isso ajuda a manter os bits Exp seguros até o roteador de saída. É usado em QoS baseado em MPLS.

Exemplo - SR-Plano de dados MPLS: Na imagem podemos ver que o roteador 3 é o penúltimo salto (PHP), então uma operação de remoção do rótulo mais externo é efetuada e o pacote chega ao roteador 4, de destino, sem o rótulo baseado no endereço IP. E a opção explicit-null é configurável para um prefixo SID. No exemplo, a LIB do roteador 3, no rótulo de saída (Label Out) seria explicit null, sendo útil para repassar os EXP bits do LSR 3 para o LER 4.

Redes IPv6 com SR:

Benefícios do SRv6: O SRv6 oferece os seguintes benefícios aos usuários

  • Simplifica as configurações de rede para facilitar a implementação de VPNs;
  • O SRv6 não utiliza técnicas MPLS e é totalmente compatível com as redes IPv6 existentes. Os nós precisam apenas suportar o encaminhamento IPv6 em vez do encaminhamento MPLS. Os nós de trânsito poder ser incapazes de suportar o SRv6 e encaminhar pacotes IPv6 que transportam o SRH pelas rotas;
  • O SRv6, em combinação com o algoritmo RLFA, suporta qualquer topologia em teoria e supera os inconvenientes da proteção convencional em túneis;
  • Facilita a otimização do tráfego nos caminhos de encaminhamento IPv6;
  • Os SIDs com vários tipos de serviço são usados para planejar caminhos explícitos flexíveis na entrada para ajustar o tráfego do serviço.

Um pacote IPv6 consiste em um cabeçalho IPv6 normal, cabeçalhos extendidos (0..n), e o payload. Para implementar o Segment Routing IPv6 (SRv6) baseado no plano de encaminhamento IPv6, é necessário uma extensão do cabeçalho IPv6, chamada de Segment Routing Header (SRH), é adicionada. Um SRH especifica um caminho e armazena uma lista de informações de segmentos IPv6. O conteúdo da lista de segmentos IPv6 funciona da mesma forma que o SR MPLS. A entrada adiciona um SRH ao pacote IPv6, e cada nó de trânsito encaminha o pacote baseado nas informações de caminho carregadas no SRH.

  • A lista de segmentos está codificada na extensão do cabeçalho para roteamento pela fonte;
  • A lista de segmentos pode ser baseada no IGP ou BGP;
  • Não necessita de atualização de toda a rede, pode operar com ou sem SR, possibitando a adoção gradual da tecnologia.

Campos - cabeçalho do IPv6 (Segment Routing Header - SRH):

  • Next Header: é um seletor de 8 bits que identifica o tipo de cabeçalho imediatamente seguido pelo SRH;
  • Hdr Ext Len: define o tamanho do cabeçalho de SRH em octectos, descontando os primeiro oito octetos;
  • Routing Type: ainda depende de definição pelo IETF;
  • Segments Left: contém o índice da lista de segmentos, indicando o próximo a ser inspecionado. É decrementado a cada inspeção;
  • Last Entry: é um “offset” no SRH, não incluindo os 8 primeiros octetos. É expresso em múltiplos de 16 octetos apontando para o último elemento da lista de segmentos. Representa o primeiro segmento da lista;
  • Flags: 16 bits para flags. Os bits de 4 a 15 definem o tipo de codificação dos endereços IPv6 na lista de políticas (Policy List);
  • Segment List[n]: é o endereço IPv6 que representa cada segmento do caminho. A lista de segmentos é codificada de forma reversa, ou seja, o último segmento é o primeiro da lista.

Exemplo - SR-Plano de dados IPv6:

Bloco Global de Roteamento por Segmentos (SRGB)

SRGB é uma faixa de rótulos reservada para os segmentos de Nó (ou globais, pois possuem valor absoluto em um domínio de SR). O SRGB pode ser alocado com rótulos entre 16000 a 1048575. O rótulo é formado por: prefixo SID + base do SRGB. Por exemplo, um roteador com prefixo SID 83 e um SRGB igual a 16000, possui rótulo 16083.

Casos de uso Faixa de Rótulos
Reservada para uso especial 0 a 15
Reservada para rótulos MPLS estáticos 16 a 1599
Reservada para SR (Segment Routing) 16000 a 23999
Reservada para roteamento dinâmico 24000 a 1048575

Plano de Controle IGP do SR: IS-IS e OSPF

  • plano de controle IGP: é responsável pela configuração e distribuição dos segmentos, aplicando os segmentos em redes multi-área (OSPF) e multinível (IS-IS) e verificando os anúncios de rotas, através de extensões desses protocolos.
  • IS-IS: suporta o plano de controle IPv4 e IPv6, com roteamento considerando múltiplos níveis de rede (nível 1 e 2 do IS-IS). Utiliza o prefixo do SID para representar as interfaces loopback dos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacência para identificar as adjacências dos nós.
    O anúncio do prefixo para o SID é feito pelo servidor de mapeamento (Mapping Server). O Roteamento por Segmentos com IS-IS torna possível a introdução do suporte de sub-TLVs (Type-length-value) em extensões do protocolo ISIS.
  • OSPF: a versão que suporta as extensões para SR é o OSPFv2, com multi-área, no qual o prefixo de SID representa as interfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacência identificam as adjacências do nó conforme o “draft” do IETF draft-ietf-ospf-segment-routing-extensions-05. As extensões do OSPF para SR adicionam anúncios de estado de enlace opaco (Opaque LSA), que permitem a transmissão arbitrária de dados que o OSPF não necessariamente utilize.

SR e LDP: Como diferentes protocolos MPLS podem coexistir na mesma rede.

  • A arquitetura de redes IP/MPLS permite a coexistência de múltiplos protocolos para distribuição de rótulos como o LDP, RSVP-TE e o Roteamento por Segmentos;
  • Cada nó de rede reserva uma faixa de rótulos dentro do SRGB para o plano de controle do SR e rótulos fora do SRGB para alocação dinâmica pelo plano de controle MPLS tradicional;
  • As entradas dos rótulos provenientes do LDP e do SR são indexadas na FIB e LFIB dos roteadores.

Exemplo - SR e LD: Caso IP para MPLS:

Na figura abaixo temos o sentido do pacote da rede IP para a MPLS com SR + LDP coexistindo, o rótulo a ser inserido no pacote só pode ser recebido por um dos protocolos. Caso possua vários caminhos para o destino, a entrada da tabela deve definir se o caminho selecionado vai usar o protocolo SR ou LDP. Por padrão LDP é usado, para utilizar o SR é necessário ativar preferência pelo SR.

Servidor de Mapeamento (Mapping Server): Usado para prover Interoperabilidade entre nós que são habilitados ou não ao SR, ou seja, serve para prover interoperabilidade das redes IP/MPLS convencionais que usam o protocolo LDP com as redes que utilizam SR. É um mecanismo de controle, não necessita estar localizado no plano de dados, e deve ser redundante;

Modelos propostos para interoperabilidade:

  • SR para LDP
  • LDP para SR
  • SR sobre LDP
  • LDP sobre SR

Conclusão

Esperamos que este trabalho, envolvendo Redes de Computadores, tenha ajudado a ampliar o entendimento do leitor sobre Segment Routing. Apesar dos poucos exemplos e ser uma breve introdução, que esta pesquisa possa servir de ponto de partida para inspirar e propagar conhecimento.