Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo—As operadoras de telecomunicações fixas e móveis, APIs, APIs Northbound, Código Aberto, Rede Definida por Software,
operadoras de rede corporativa e provedores de nuvem se esforçam SDN, Encadeamento de Funções de Serviço, SFC, Padrões
para enfrentar as demandas desafiadoras da evolução das redes IP (por
exemplo, enormes requisitos de largura de banda, integração de bilhões
de dispositivos e milhões de serviços na nuvem). Proposta no início de I. INTRODUÇÃO
2010, a arquitetura Segment Routing (SR) ajuda a enfrentar essas
Egment Routing (SR) é baseado na fonte solta
demandas desafiadoras e está sendo adotada e implantada atualmente.
A arquitetura SR é baseada no conceito de roteamento de origem e
possui propriedades de escalabilidade interessantes, pois reduz
S
Conceito de roteamento. Um nó pode incluir uma lista ordenada de
instruções nos cabeçalhos dos pacotes. Essas instruções orientam o
drasticamente a quantidade de informações de estado a serem
encaminhamento e o processamento do pacote ao longo de seu caminho
configuradas nos nós principais para oferecer suporte a serviços
na rede.
complexos. A arquitetura SR foi implementada primeiro com o plano de
dados MPLS e depois, muito recentemente, com o plano de dados IPv6 As instruções únicas são chamadas de segmentos, uma sequência de
(SRv6). A arquitetura IPv6 SR (SRv6) foi estendida do simples instruções pode ser referida como uma lista de segmentos ou como uma
direcionamento de pacotes entre nós para uma abordagem geral de política SR. Cada segmento pode impor um requisito topológico (por
programação de rede, tornando-a muito adequada para casos de uso
exemplo, passar por um nó) ou um requisito de serviço (por exemplo,
como encadeamento de funções de serviço e virtualização de funções
de rede. Neste artigo apresentamos um tutorial e uma pesquisa executar uma operação no pacote). O termo segmento refere-se ao fato de
abrangente sobre a tecnologia SR, analisando os esforços de que um caminho de rede para um destino pode ser dividido em segmentos
padronização, patentes, atividades de pesquisa e resultados de adicionando waypoints intermediários. A lista de segmentos pode ser
implementação. Começamos com uma introdução sobre as motivações incluída pela fonte original do pacote ou por um nó intermediário. Quando
do Roteamento de Segmentos e uma visão geral de sua evolução e
a lista de segmentos é inserida por um nó intermediário, ela pode ser
padronização. Em seguida, fornecemos um tutorial sobre a tecnologia Segment Routing, com foco na nova solução SRv6.
Discutimos os esforços de padronização e as patentes detalhando os removida por outro nó ao longo do caminho do pacote, suportando o
documentos mais importantes e mencionando outras atividades em conceito de tunelamento através de um domínio SR de um nó de entrada
andamento. Em seguida, analisamos minuciosamente as atividades de para um nó de saída.
pesquisa de acordo com uma taxonomia. Identificamos 8 categorias
principais durante nossa análise da situação atual: Monitoramento,
A implementação da Arquitetura de Roteamento de Segmentos requer
Engenharia de Tráfego, Recuperação de Falhas, Arquiteturas
Centralmente Controladas, Codificação de Caminho, Programação de um plano de dados que seja capaz de transportar as listas de segmentos
Rede, Avaliação de Desempenho e Diversos. Relatamos o status atual nos cabeçalhos dos pacotes e processá-los adequadamente. As operações
das implantações de SR em redes de produção e de implementações de do plano de controle complementam a funcionalidade do plano de dados,
SR (incluindo vários projetos de código aberto). Por fim, relatamos permitindo a alocação de segmentos (ou seja, associando um identificador
nossa experiência com este trabalho de pesquisa e identificamos um
de segmento a uma instrução específica em um nó) e a distribuição dos
conjunto de direções de pesquisa futuras relacionadas ao Roteamento de Segmentos.
identificadores de segmento dentro de um domínio SR.
Termos de indexação—Roteamento de segmento, MPLS, IPv6, SR-MPLS, Quanto ao plano de dados, duas instâncias da Arquitetura SR foram
SRv6, Roteamento de Origem, Monitoramento, Engenharia de Tráfego, Falha
projetadas e implementadas, SR sobre MPLS (SR-MPLS) e SR sobre IPv6
Recuperação, Codificação de Caminho, Programação de Rede,
Desempenho, Linux, VPP, Plano de Dados, Plano de Controle, Southbound (SRv6). Com SR-MPLS, nenhuma mudança no plano de encaminhamento
MPLS é necessária [1]. O SRv6 é baseado em um novo tipo de cabeçalho
PL Ventre está no Departamento de Engenharia Eletrônica da Universidade de roteamento IPv6 chamado SR Header (SRH) [2].
de Roma Tor Vergata - Roma, Itália, E-mail: pier.luigi.ventre@uniroma2.it. Temporariamente, o SR-MPLS tem sido a primeira instância da
S. Salsano é do Departamento de Engenharia Eletrônica da Universidade Arquitetura SR, enquanto o interesse e os desenvolvimentos recentes
de Roma Tor Vergata e do Consórcio Interuniversitário Nacional de estão se concentrando no SRv6. Em particular, o plano de dados IPv6 para
Telecomunicações (CNIT) - Roma, Itália, E-mail: stefano.salsano@uniroma2.it. SR está sendo estendido para suportar o chamado Modelo de Programação
M. Polverini e A. Cianfrani são do Departamento de Engenharia da de Rede SRv6 [3]. De acordo com esse modelo, as funções de roteamento
Informação, Eletrônica e Telecomunicações da Universidade de Roma de segmento podem ser combinadas para atingir um objetivo de rede de
Sapienza - Roma, Itália, E-mail: {marco.polverini, anto nio.cianfrani} ponta a ponta (ou ponta a ponta) que pode ser arbitrariamente complexo.
@uniroma1.it.
A. Abdelsalam, C. Filsfils, P. Camarillo e F. Clad são da Cisco Systems, E- Isso é atraente para a implementação de serviços complexos, como o
mail: {ahabdels, cfilsfil, pcamaril, fclad}@cisco.com encadeamento de funções de serviço. SRv6 pode ser usado como um
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 2
mecanismo de encapsulamento de sobreposição diretamente exposto e superar alguns problemas de escalabilidade e limitações [6], que foram
usado por servidores (semelhante ao encapsulamento VXLAN) e como um identificadas nas soluções de tráfego de engenharia de Multi Protocol Label
mecanismo de transporte de subjacência em backbones de rede (suportando Switching (MPLS-TE) usadas para backbones IP.
serviços de Engenharia de Tráfego e Resiliência). Diante disso, o SRv6 Em particular, observou-se que o MPLS-TE requer que o estado explícito
pode simplificar as arquiteturas de rede evitando o uso de diferentes seja mantido em todos os saltos ao longo de um caminho MPLS; isso pode
camadas de protocolo. levar a problemas de escalabilidade no plano de controle e no plano de
Já as operações do SR Control Plane podem ser baseadas em uma dados. Além disso, o modelo de direcionamento de tráfego por conexão do
arquitetura distribuída, centralizada ou híbrida. Na abordagem distribuída, MPLS-TE não explora facilmente o balanceamento de carga oferecido pelo
os protocolos de roteamento são usados para sinalizar a alocação de roteamento Equal Cost MultiPath (ECMP). Por outro lado, o Segment
segmentos, e os nós tomam decisões independentes para vincular pacotes Routing pode orientar os fluxos de tráfego ao longo de caminhos projetados
às listas de segmentos. Na abordagem centralizada, um controlador SR de tráfego sem estado por fluxo nos nós ao longo do caminho e explorar o
aloca os segmentos, toma a decisão sobre quais pacotes precisam ser roteamento ECMP em cada segmento.
associados a qual política SR e configura os nós de acordo. Muitas vezes, No início de 2010, o IETF iniciou o Grupo de Trabalho “Roteamento de
é utilizada uma abordagem híbrida que consiste na combinação das Pacotes de Origem em Rede” (SPRING WG) para lidar com roteamento de
estratégias anteriores (ver por exemplo [4]). segmentos. A atividade do SPRING WG incluiu a identificação de Casos de
Uso e Requisitos para Roteamento de Segmentos (por exemplo, [7], [8] e
O objetivo deste artigo é fornecer uma pesquisa abrangente sobre a [9] tornaram-se IETF RFCs). Em julho de 2018, o SPRING WG emitiu o
tecnologia de Segment Routing, incluindo todos os resultados alcançados e documento “Segment Routing Architecture” (RFC 8402 [10]) juntamente
o trabalho em andamento. A seguir (seção IA), começamos com o contexto com outra RFC informativa sobre monitoramento de casos de uso [11]. Mais
histórico por trás do desenvolvimento do Segment Routing. Na seção II, recentemente (dezembro de 2019) outras 3 RFCs foram emitidas, enquanto
fornecemos uma introdução aos principais conceitos da arquitetura de muitos outros documentos ainda estão em discussão pelo GT, conforme
Roteamento de Segmentos. Consideramos os planos de dados SR-MPLS e será analisado posteriormente neste trabalho.
SRv6, mas focamos mais profundamente no SRv6, que atualmente está
atraindo muito interesse. Olhando para a bibliografia científica, o artigo seminal sobre a Arquitetura
Na seção III, fornecemos uma classificação e uma discussão dos esforços de Roteamento de Segmentos é [12]. Publicado em 2014, fornece uma
de padronização juntamente com uma análise das patentes mais relevantes. visão geral das motivações para SR, descreve um conjunto de casos de uso
Fornecemos uma revisão abrangente das atividades de pesquisa na seção importantes e ilustra a arquitetura.
IV, abrangendo 88 artigos científicos. Os conceitos básicos propostos em [12] foram elaborados e refinados na
Os resultados de implementação mais relevantes e o status das RFC 8402 [10].
implementações em andamento são relatados na seção V. Na seção VI, Atualmente, o Segment Routing está recebendo muito interesse das
relatamos as lições aprendidas e nossa experiência. Destacamos futuras operadoras por suas aplicações em diferentes tipos de redes (backbones
direções de pesquisa e questões em aberto na seção VII. de transporte, redes de acesso, datacenters e redes 5G).
Três operações básicas em SIDs e listas de segmentos foram definidas para Os segmentos podem ser classificados em Segmentos Globais e Segmentos
um plano de dados SR genérico: PUSH, NEXT e CONTINUE. Nos exemplos da Locais. Segmentos Globais correspondem a instruções que são globalmente
Fig. 1 e Fig. 2, assumimos por simplicidade que S1 e S2 representam instruções válidas em um domínio SR. Segmentos locais correspondem a instruções que
topológicas e S3 é o nó de destino da política SR P, de modo que a política P são válidas dentro de um único nó.
instrui o pacote a cruzar dois nós identificados pelo SIDs S1 e S2 (nesta ordem) O exemplo típico de um segmento global é uma instrução para encaminhar
e depois chegar ao nó identificado pelo SID S3. pacotes para uma determinada rede IP de destino ou para um nó IP de destino.
Considerando que um protocolo de roteamento IGP (Interior Gateway Protocol)
(por exemplo, OSPF ou ISIS) é usado no domínio SR, essas instruções são
A operação PUSH consiste na inserção de um segmento no topo da lista de chamadas de segmento de prefixo IGP e segmento de nó IGP (ou simplesmente
segmentos, ou seja, como o novo primeiro segmento da política SR. Para segmento de prefixo e segmento de nó). Todos os nós no domínio SR podem
construir a política SR P descrita acima, o nó headend executa as operações executar as instruções de segmento de prefixo ou segmento de nó considerando
PUSH nesta ordem: PUSH(S3), PUSH(S2), PUSH(S1). Em um pacote SR, o o caminho para a rede de destino ou nó de destino em sua tabela de roteamento.
segmento que especifica a instrução a ser executada é chamado de segmento
ativo. No exemplo considerado com a política SR P, o nó headend enviará o
pacote com o segmento S1 ativo. O exemplo mais importante de segmento local é a instrução para encaminhar
um pacote para um nó identificado como adjacente pelo protocolo de roteamento
IGP. Isso corresponde ao envio do pacote em uma interface de saída específica
A operação NEXT é executada por um nó que processou o segmento ativo e pode ser executado apenas por um nó específico. Esta instrução é chamada
e considera o próximo segmento da política SR a ser executado. Em nosso de Segmento de Adjacência IGP. Graças ao uso de segmentos de Adjacência
exemplo, o nó identificado com SID S1 recebe o pacote e realiza a operação IGP, é possível provar que qualquer caminho através de um domínio SR pode
NEXT. O próximo segmento é S2, que se torna o segmento ativo para que o ser expresso por uma Política SR (que pode incluir uma combinação de
pacote seja encaminhado para S2. A operação NEXT também abrange o caso segmentos globais e locais) [15]. Segmentos locais também podem ser usados
do último nó de um para representar instruções de serviço a serem executadas em um
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 4
TABELA I
dado nó. O mapeamento de segmentos globais e locais em identificadores
MAPEAMENTO DE CONCEITOS DE SR EM SR-MPLS E SRV6
de segmento (SIDs) e a distribuição dos SIDs em um domínio SR são
diferentes para SR-MPLS e SRv6 e serão discutidos nas próximas
SR genérico SR-MPLS SRv6
subseções.
Lista de segmentos (de
Política de SR Pilha de Etiquetas
O segmento IGP-Anycast é um segmento de prefixo IGP que endereços IPv6) no cabeçalho SR
Endereço IPv6 indicado no
corresponde a um prefixo anycast, ou seja, um prefixo anunciado por um Rótulo superior do segmento ativo
endereço de destino IPv6
conjunto de roteadores que pode ser usado para fins de alta EMPURRE Adicionando um IPv6 no segmento
Empurrar etiqueta
disponibilidade ou balanceamento de carga. Operação Listar no cabeçalho SR
Decrementando o campo Segment Left,
O Segmento de Ligação é usado para associar uma política SR (ou PRÓXIMO
Etiqueta POP copiando o segmento ativo no IPv6 Destination
seja, uma Lista de Segmentos) a um SID (chamado SID ou BSID de Operação
Address
Ligação) em um determinado nó. Isso significa que o nó que processa o PROSSEGUIR Encaminhamento de acordo com IPv6
Troca de rótulo
Operação Endereço de destino
Binding SID substitui este segmento por uma Lista de Segmentos: um
pacote recebido com o BSID como segmento ativo será direcionado de
acordo com a política SR associada. Desta forma, a classificação do
usado apenas como um mecanismo de tunelamento (aprimorado com
pacote pode ser executada por um nó X que adiciona o Binding SID no
recursos de Engenharia de Tráfego). Por outro lado, o NSH pode ser
SR Header. O nó X não precisa conhecer os detalhes da política SR a
visto como uma alternativa ao Segment Routing para implementar a
ser aplicada (ou seja, a Lista de Segmentos). Graças ao BSID, o pacote
funcionalidade Service Function Chaining. A este respeito, [20] e [21]
será encaminhado para um nó Y, que é capaz de aplicar a Política SR.
elaboram cenários de Service Function Chaining onde o SRv6 permitiria
uma substituição completa da camada NSH, levando a uma simplificação
Como exemplo, o nó X pode classificar o tráfego para uma determinada
da infraestrutura e uma redução na carga sobre os dispositivos.
rede de destino N que requer “baixa latência” e tráfego para a mesma
rede de destino N que requer “baixa perda”.
O nó Y é um nó de entrada de um backbone que fornece conectividade
para a rede N. Duas políticas SR (“baixa latência” e “baixa perda”) são A. Plano de dados MPLS (SR-MPLS)
usadas para encaminhar o tráfego para a rede N através do backbone. O plano de dados MPLS (SR-MPLS) é especificado em [1]. Para SR-
As respectivas listas de segmentos podem mudar ao longo do tempo, MPLS, o Segment Routing não requer nenhuma alteração no plano de
com base nas considerações da Engenharia de Tráfego. encaminhamento MPLS. Uma política SR é instanciada através da pilha
Após essas alterações, o nó Y é reconfigurado para aplicar a política SR de rótulos MPLS: os IDs de segmento (SIDs) de uma lista de segmentos
atual aos pacotes identificados pelo SID de ligação. O nó X não precisa são inseridos como rótulos MPLS. As funções clássicas de warding
ser reconfigurado, pois os SIDs de ligação permanecem constantes ao disponíveis para redes MPLS permitem implementar as operações de
longo do tempo. Esta abordagem melhora a escalabilidade, resiliência e SR. A operação PUSH corresponde à função Label Push, ou seja, enviar
independência de serviço das soluções baseadas em Segment Routing. um rótulo MPLS em um pacote. A operação NEXT corresponde à função
Label Pop, ou seja, remover o rótulo mais alto. A operação CONTINUE
A Tabela I resume o mapeamento dos conceitos de SR nos dois corresponde à função Label Swap, ou seja, associa um rótulo de entrada
planos de dados (MPLS e IPv6) e será discutida nas próximas duas com uma interface de saída e um rótulo de saída e encaminha o pacote
subseções. na interface de saída.
É interessante notar como alguns requisitos que levaram à definição
das soluções de SR são atualmente atendidos por provedores “Over the O encapsulamento de um pacote IP em um pacote SR-MPLS é realizado
top” (OTT) para entregar serviços com menor grau de flexibilidade, na borda de um domínio SR-MPLS, reutilizando o conceito MPLS
utilizando tecnologias de tunelamento como GRE (Generic Routing Forwarding Equivalent Class (FEC). Uma classe equivalente de
Encapsulation ) [16] e VXLAN (Virtual eXtensible LAN) [17]. Essas encaminhamento (FEC) pode ser associada a uma política SR.
tecnologias permitem encapsular o tráfego e encaminhar pacotes para
nós remotos de acordo com uma topologia lógica de sobreposição. O mapeamento de segmentos para etiquetas MPLS (SIDs) é um
Infelizmente, eles vêm com uma penalidade, por exemplo, um protocolo processo crítico no plano de dados SR-MPLS. Em casos gerais, diferentes
como VXLAN precisa de um underlay L3 para transportar tráfego e perde roteadores no domínio SR podem ter diferentes intervalos de rótulos
recursos completos de encaminhamento L3, como encaminhamento disponíveis para serem usados para roteamento de segmento.
ECMP [18]. Eles não são realmente formas de roteamento de origem e Portanto, cada roteador pode anunciar seu próprio espaço de rótulo
não permitem que o usuário defina pontos de passagem para os quais o disponível para ser utilizado para Segmentos Globais denominados
tráfego pode ser direcionado. Para elaborar ainda mais, em [18] é SRGB - Segment Routing Global Block (em geral, esse espaço de rótulo
relatado um caso de uso interessante onde multi-tenancy em uma malha pode até ser composto por um conjunto de blocos não contíguos). Por
de datacenter foi implementado usando SRv6 como overlay/underlay em esta razão, no domínio SR, os Segmentos Globais são identificados por
vez das tecnologias comumente usadas, como VXLAN, com uma um índice, que deve ser re-mapeado em um rótulo, levando em
simplificação drástica da arquitetura. consideração o nó que processará o rótulo. Esta metodologia também foi
coberta pela patente [22] e define o seguinte.
Em cenários de Service Function Chaining (SFC), o Network Service Supondo que o SRGB de um nó seja um intervalo de rótulos a partir
Header (NSH) [19] é uma solução que funciona em cima das tecnologias de 10.000, para um Segmento Global com índice X, o nó precisa receber
de encapsulamento. Portanto, o NSH pode ser usado em conjunto com o rótulo 10.000+X. Como exemplo, na Fig. 3 A, consideramos como
o Segment Routing, quando o SR é implementar a política de SR descrita em
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 5
Headend
IP 1003 S3 no cabeçalho IPv6 externo. O pacote encapsulado é indicado como Payload
1003 IP
1002
Nó
1003 IP
na Fig. 5. A Lista de Segmentos no SRH é composta por S1, S2 e S3 que são
S2
N6 IP
N7 armazenados em ordem inversa (o primeiro SID é S3, o último segmento na
domínio SR
política SR). O campo Segment Left é definido como 2, para que o segmento
ativo seja S1, representado em vermelho na figura.
Fig. 3: Plano de dados SR-MPLS: mapeamento de segmentos para rótulos
usando o SRGB
Política de SR
O modelo de programação de rede SRv6 é definido em [3].
PRÓXIMO PROSSEGUIR
P=<S1,S2,S3>
S1 N4 N5
Consiste em combinar funções que podem residir em diferentes nós para
EMPURRE atingir um objetivo de rede que vai além do mero roteamento de pacotes.
S3
As funções descritas em [3] podem suportar serviços e recursos valiosos,
como VPNs de camada 3 e camada 2, engenharia de tráfego e
Nó de reencaminhamento rápido. O modelo de programação de rede oferece a
origem SR domínio SR
Nó de N6 S2 possibilidade de implementar praticamente qualquer serviço combinando
N7
trânsito
Nó de ponto de as funções básicas em um programa de rede que está embutido no
DA : Endereço de destino SL : Segmentos à esquerda extremidade SR
cabeçalho do pacote.
Fig. 5: Operações do plano de dados SRv6 Conforme mostrado na Fig. 4, o SRH pode incluir uma seção opcional
que carrega objetos Type Length Value (TLV). Esses objetos TLV podem
TINUE), o modelo de Programação de Rede SRv6 [3] descreve um conjunto ser definidos para transportar informações que precisam ser elaboradas
de funções que podem ser associadas a segmentos e executadas em um por um ou mais segmentos de uma política SR (Lista de Segmentos). Por
determinado nó SRv6. Exemplos de tais funções são: diferentes tipos de exemplo, o chamado HMAC TLV pode ser adicionado e usado para verificar
encapsulamento de pacotes (por exemplo, IPv6 em IPv6, IPv4 em IPv6, se um cabeçalho SRH foi criado por um nó autorizado e se a lista de
Ethernet em IPv6), decapsulação correspondente, operação de pesquisa segmentos não foi modificada em trânsito. Outro uso potencial de objetos
em uma tabela de roteamento específica (por exemplo, para suportar TLV é para trocar informações de Operação e Manutenção (OAM) entre os
VPNs). A lista de funções descritas em [3] (discutido na seção II-C) não nós do domínio SR.
pretende ser exaustiva, pois qualquer função pode ser associada a um
identificador de segmento em um nó. Obviamente, a definição de um O rascunho [3] define dois conjuntos diferentes de comportamentos
conjunto padronizado de funções de roteamento de segmento facilita a SRv6, conhecidos como SR policy headend e endpoints. Com referência à
implantação de domínios SR com equipamentos interoperáveis de vários Fig. 5, os comportamentos de headend de política SR são executados nos
fornecedores. nós de origem SR, enquanto os comportamentos de endpoint nos nós de
De acordo com [3], podemos revisitar a noção de Segment IDentifier endpoint SR (por exemplo, S1, S2, S3). Os comportamentos de headend
(SID) levando em consideração que endereços IPv6 são usados como SIDs da política SR direcionam os pacotes recebidos para a política SRv6,
em SRv6. Um SID de 128 bits pode ser dividido logicamente em três correspondendo aos atributos do pacote. Cada política SRv6 tem uma lista
campos e interpretado como LOCATOR:FUNCTION:ARGS (em resumo de SIDs a serem anexados aos pacotes correspondentes. Observe que em
LOC:FUNCT:ARG) onde LOC inclui os L bits mais significativos, FUNCT os uma versão anterior de [3], os comportamentos de headend da política SR
seguintes bits F e ARG os bits A restantes, onde 128=L+F+A. eram chamados de comportamentos de trânsito, o que era enganoso
porque o mesmo atributo (trânsito) era aplicado aos nós de origem SR e
O LOC corresponde a um prefixo IPv6 (por exemplo com comprimento aos nós de trânsito que não cumpriam nenhuma operação. Por outro lado,
de 48, 56 ou 64 bits) que pode ser distribuído pelos protocolos de um comportamento de endpoint SRv6, também conhecido como
roteamento e fornece a acessibilidade de um nó que hospeda várias comportamento associado a um SID, representa uma função a ser
funções. O comprimento L do localizador não é fixo e pode ser escolhido executada em pacotes em um local específico da rede. Essa função pode
por cada operador para seu próprio domínio SR (também independentemente ser uma simples instrução de roteamento, mas também qualquer função de
para nós diferentes). Todos rede avançada (por exemplo, firewall, NAT).
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 7
TABELA III
foco em uma abordagem híbrida na qual protocolos de roteamento
CLASSIFICAÇÃO DAS ATIVIDADES DE NORMALIZAÇÃO
distribuídos coexistem com um controlador SR. Essa abordagem híbrida
DOCUMENTOS
está alinhada com a visão de Software Defined Networking, que visa
remover a complexidade dos dispositivos e centralizar a função do plano
Arquitetura [1], [3], [10], [23], [33]–[36] [7]–[9],
de controle em controladores SDN. Caso de uso e requisitos [24], [37]–[44] [45]–[47] [ 11], [48],
À luz disso, a arquitetura Segment Routing pode ser implantada Reencaminhamento rápido (FRR) [49], [49]–[51] [52]–[56]
OAM
buscando o equilíbrio certo entre controle distribuído e centralizado. O
Medição de desempenho
controle distribuído é utilizado pelos roteadores para trocar informações
SR-MPLS [57]–[61]
Plano de dados
de acessibilidade e avaliar os caminhos mais curtos de forma tradicional; SRv6 [2], [62], [63]
sem necessidade de interagir com o controlador centralizado. BGP [64]–[66]
Protocolo BGP-LS [67]–[74]
Observamos que esta é a melhor abordagem para fornecer conectividade
Extensões IS-IS [27], [28], [75]–[79] [25], [26], [29],
Plano de controle
em redes de longa distância em que as conexões de controle entre os [80] [75], [76], [81] [32],
OSPF
nós e os controladores SDN são afetadas por latência e probabilidade [82] ] [83]
PCEP
de falha não desprezíveis. O Segment Route ainda pode ser usado para LISP
Fast Reroute pré-configurando políticas de SR que fornecem caminhos
alternativos em caso de falha de link ou nó, e estes são ativados
automaticamente pelo nó quando a falha ocorre. redes com suporte de Engenharia de Tráfego. Esses problemas deram
origem ao interesse em definir uma solução mais escalável, como o
O pré-cálculo dessas políticas de SR pode ser realizado de forma Segment Routing, no final dos anos 2000. Vários casos de uso e
distribuída ou pode ser centralizado em um controlador; esses conceitos requisitos para Roteamento de Segmento foram coletados em vários
também foram explorados em [30], que patenteia um método para a documentos.
orquestração de WANs baseadas em SR. Básico
Em [7], os principais casos de uso identificados são: tunelamento
informações de topologia e informações adicionais para Engenharia de MPLS (ou seja, para suporte a serviços VPN), Fast ReRoute (FRR) e
Tráfego precisam ser transmitidas ao controlador, bem como informações Engenharia de Tráfego (classificado em vários casos de uso mais
relacionadas ao serviço que são anunciadas por nós usando protocolos específicos). Um conjunto de casos de uso de Resiliência é descrito em [8].
de roteamento distribuídos. O controlador SDN pode receber essas Em [9], os casos de uso do Segment Routing para redes IPv6 são
informações de diferentes maneiras. Por exemplo, ele pode participar do considerados com um conjunto de ambientes de implantação exemplares
protocolo de roteamento IGP ou pode interagir com roteadores de para SRv6: Small Office, Access Network, Data Center, Content Delivery
maneira proprietária para extrair seus bancos de dados IGP. Caso Networks e Core Networks.
contrário, ele pode receber informações de roteadores usando extensões
para BGP LS (BGP-Link State) [31]. Qualquer que seja o mecanismo
III. ATIVIDADES DE PADRONIZAÇÃO E PATENTES
usado para recuperar as informações necessárias dos nós, o controlador
SDN é responsável por tomar decisões sobre as políticas de SR que Nesta seção propomos uma classificação e descrição da atividade de
implementam recursos ou serviços avançados, como Engenharia de padronização relacionada ao Segment Routing e a análise das patentes
Tráfego, VPNs ou Encadeamento de Funções de Serviço. mais relevantes. Classificamos 14 Request For Comment (RFC) e 50
Essa abordagem permite o claro desacoplamento das operações do Rascunhos da Internet. Nossa taxonomia é baseada em 7 categorias e
plano de dados da lógica de serviço que opera no plano de controle. o resultado da classificação é apresentado na Tabela III.
Os mecanismos e protocolos para que o controlador SDN imponha A seguir, discutimos as categorias da classificação e, na próxima
as políticas SR configurando os nós são deixados em aberto na definição subseção, relatamos uma visão geral das principais atividades de
da arquitetura SR. Como mencionado em [10], algumas opções são padronização. A primeira categoria é Arquitetura, onde são considerados
Network Configuration Protocol (NET CONF), Path Computation Element todos os documentos referentes à descrição da arquitetura geral de uma
Communication Protocol (PCEP) [32], e BGP. O protocolo OpenFlow rede de Roteamento de Segmentos. A RFC 8402 [10] se enquadra nessa
pode ser usado como mecanismo para configurar as políticas SR apenas categoria e descreve as principais características do SR, como a ideia
para SR-MPLS, enquanto o processamento do cabeçalho SRv6 não é do paradigma de roteamento de origem, o conceito de SID e a definição
suportado pela versão padrão mais recente do protocolo. Uma dos dois planos de dados suportados. Na categoria Caso de Uso e
implementação Open Source de uma API SouthBound para SRv6 Requisitos são inseridos os documentos que descrevem cenários de
baseada em gRPC é relatada em [4]. A principal característica da casos de uso para SR, por exemplo, uso de SR em WANs, redes de
solução Segment Routing em comparação com outras soluções SDN é data center, mobilidade e fatiamento de rede. Especificamente, nesta
que apenas os nós de borda precisam ser configurados para aplicar uma categoria existem três RFCs: i) RFC 7855 [7] introduzindo o Source
determinada política de SR, enquanto os nós internos não precisam Packet Routing in Networking (SPRING), ii) RFC 8355 [8] relacionado à
manter o estado por política de SR. Esse recurso oferece uma melhoria resiliência de rede usando SR, e iii) RFC 8354 [9] que descreve como
substancial em termos de escalabilidade. direcionar pacotes IPv6 ou MPLS sobre a arquitetura SPRING.
E. Motivações de roteamento de segmento e casos de A terceira categoria é FRR one, ou seja, Fast Reroute realizado
uso Conforme antecipado na seção de introdução, o RFC 5439 [6] através de SR. A principal atividade de padronização nesta categoria
identificou alguns problemas de escalabilidade do MPLS tradicional está relacionada à recuperação rápida após uma falha de link, e
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 9
é referido como Topology Independent Loop Free Alternate (TI-LFA), descrito explica como esses segmentos podem ser anexados a pacotes de dados,
em [45]. Nenhuma RFC foi publicada nesta categoria. Operações, Administração aproveitando os planos de dados MPLS ou IPv6, para orientar os fluxos de
e Manutenção (OAM) é a quarta categoria definida, onde incluímos todas as tráfego em qualquer caminho da rede sem exigir nenhum estado por fluxo na
atividades de padronização relacionadas às ferramentas utilizadas para malha.
manutenção da rede. Como exemplo, a RFC 8287 [48] foca na implementação [33] detalha o conceito de uma política de RS. Ele explica como os
das ferramentas de ping e traceroute no SR-MPLS, enquanto [49] faz o mesmo Caminhos Candidatos são definidos como listas SID explícitas ou como
para o SRv6. Na categoria Medição de Desempenho consideramos todos os caminhos computados dinamicamente com base em alguns critérios de
documentos que descrevem procedimentos de medição relacionados a otimização e como o Caminho Candidato ativo é selecionado. Além disso,
parâmetros de desempenho, como atraso e perda de pacotes, em uma rede apresenta várias maneiras de direcionar o tráfego para uma política SR,
SR. Incluímos nesta categoria também as duas especificações RFC 6374 [55] automaticamente colorindo rotas de serviço BGP, remotamente usando um
e RFC 7876 [56] que explicam como medir o atraso e a perda de pacotes em Binding-SID ou estaticamente com políticas de rota. Os conceitos descritos
MPLS. Apesar de esses dois documentos não terem sido produzidos durante neste rascunho aplicam-se igualmente aos planos de dados MPLS e SRv6.
as atividades de padronização da RS, decidimos incluí-los na Tabela III por
serem massivamente utilizados nas minutas de monitoramento do desempenho A arquitetura SR é estendida do simples direcionamento de pacotes entre
da RS. nós para uma abordagem geral de programação de rede em [3]. Usando esta
estrutura, é possível codificar instruções arbitrárias e não apenas locais em
uma lista SID. Cada SID está associado a uma função a ser executada em um
Finalmente, a categoria Protocol Extensions abrange dois conjuntos diferentes local específico da rede. Um conjunto de funções básicas é definido em [3],
de documentos relacionados a extensões de protocolos legados: i) extensões mas outras funções podem ser definidas pelos operadores de rede para
de protocolos de plano de dados e ii) extensões de protocolos de plano de atender às suas necessidades particulares. Além disso, os argumentos SID
controle. Quanto ao plano de dados, incluímos o rascunho que descreve o SR- permitem que as funções recebam contexto adicional ou que seu comportamento
MPLS [1] e o RFC 8754 que descreve o SRv6 [2]. Quanto ao plano de controle, seja ajustado por fluxo. [23] define os SIDs de serviço e descreve como
consideramos os documentos sobre modificações no protocolo de roteamento implementar a programação de serviço (ie Service Function Chaining) em redes
(ex. BGP e OSPF) para distribuição dinâmica dos SIDs na rede SR, ou habilitadas para SR-MPLS e SRv6. O princípio fundamental é associar um
protocolo de controle para comunicação entre um controlador central (no caso SID a cada função de rede (física ou virtual). Esses SIDs de serviço podem ser
de plano de controle) e os dispositivos no plano de dados (por exemplo, PCEP). combinados em uma lista SID e programados com precisão, aproveitando o
conceito de programação de rede. Eles também podem ser combinados com
outros tipos de SIDs para fornecer engenharia de tráfego ou serviços de VPN.
Quanto às patentes, reportamos 18 documentos. Nossa análise cobriu
diferentes tipos de documentos, incluindo patentes orientadas por casos de
uso. A Seção III-B detalha os documentos pesquisados. Entre estas, existem 4
patentes que cobrem os princípios fundadores do Segment Routing: [84], [85], Segmentos de serviço podem ser associados a appliances legados (VNFs
[86] e [87]. Outro grupo de patentes está relacionado às extensões dos inconscientes de SR, ou seja, VNFs sem recursos de SRv6), graças aos
protocolos de roteamento que são necessários para transportar configurações mecanismos de proxy de SR que realizam o processamento de SR e ocultam
relacionadas ao SR [31], [88] e [89]. Então, há um grande grupo de documentos as informações de SR do VNF. Os três comportamentos de terminal que foram
que abrangem mecanismos específicos e casos de uso: [90], [91], [92], [93], definidos em [23] para suporte ao encadeamento de funções de serviço são:
[30], [22], [94] e [95]. Finalmente, durante nossa pesquisa encontramos uma End.AD, End.AS e End.AM. Os dois primeiros implementam respectivamente
série de documentos recentes como [96], [97] e [98] que mostram a centralidade um proxy SRv6 estático e um dinâmico para Virtual Network Function (VNF)
do Segment Routing também na implantação de futuras redes. sem reconhecimento de SR. Eles suportam pacotes IPv6 SR no modo
H.Encaps. O proxy SRv6 intercepta pacotes SR antes de ser entregue ao VNF
que não reconhece SR, portanto, pode remover o encapsulamento SR dos
pacotes.
A. Principais esforços de padronização Para pacotes que retornam do VNF sem reconhecimento de SR, o proxy SR
Nesta subseção, fornecemos uma visão geral dos esforços de padronização pode restaurar o encapsulamento SRv6 atualizando o SRH corretamente. A
mais importantes, considerando 9 documentos entre os quase 70 listados na diferença entre os proxies estáticos e dinâmicos é que as informações SR que
Tabela III. [10] e [33] definem os principais princípios da arquitetura SR e precisam ser empurradas de volta nos pacotes são configuradas estaticamente
discutem os benefícios trazidos pela SR em termos de escalabilidade, no primeiro caso e são aprendidas dos pacotes recebidos no caso dinâmico.
privacidade e segurança. [23], [40] e [24] elaboram mais sobre o suporte de Em vez disso, o End.AM implementa o proxy de mascaramento que oferece
casos de uso chave como NFV/SFC, SD-WAN e próxima geração de redes suporte a pacotes SR viajando no modo H.Insert.
móveis. [3] estende os conceitos básicos de SR e [45] fornece mecanismos de
reencaminhamento rápido (FRR) contra falhas simples. Por fim, [46] e [75] [40] explica como a tecnologia SR permite Acordos de Nível de Serviço
analisam as melhorias na estabilidade de roteamento e extensões aos (SLA) subjacentes para uma VPN de forma escalável e segura, garantindo a
protocolos de roteamento. opacidade do serviço. As VPNs baseadas em SR são analisadas considerando
o caso de um único provedor e de vários provedores. Além disso, o rascunho
[10] descreve a arquitetura do Segment Routing e seu projeto geral. Ele aborda os aspectos do plano de controle dessa solução, que são gerenciados
define o conceito de segmento como uma instrução de rede e apresenta os por um controlador SD-WAN over-the-top. Por fim, são analisados os benefícios
tipos básicos de segmentos: prefixo SID, adjacência-SID, peering-SID e trazidos pela tecnologia SR aos serviços VPN em termos de
vinculação-SID. Isso também
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 10
escalabilidade, privacidade, gerenciamento de faturamento e segurança. uma atividade de padronização correspondente (por exemplo, um rascunho da
[24] descreve a aplicabilidade do SRv6 ao plano de usuário de redes móveis. Internet ou uma RFC) promovida pelo mesmo fornecedor que produziu a patente.
Três modos são abordados: modo tradicional, modo aprimorado e modo aprimorado
com um único prefixo-SID. para SR. A patente também inclui a definição de nós híbridos que são capazes de
operar tanto como nós habilitados para LDP quanto como roteadores com
reconhecimento de SR.
TABELA IV
evitar falhas de rede. Finalmente, [94] descreve mecanismos de FRR
CLASSIFICAÇÃO #1 COM BASE EM CATEGORIAS DE PESQUISA
para redes baseadas em Roteamento de Segmento.
[30] define um método para a orquestração de serviços de
Categoria Referências
conectividade em uma WAN habilitada para SR. O controlador é
Monitoramento (MON) [101]–[108]
considerado fora da rede. Ele é capaz de monitorar o estado atual da Engenharia de Tráfego (TE) [109]–[130]
WAN e utiliza um solver para realizar a engenharia de tráfego. Recuperação de Falha (FR) [131]–[139]
Controlado Centralmente
As decisões tomadas pelo solver são aplicadas usando a tecnologia [4], [140]–[154]
Arquiteturas (CCA)
SR. [22] descreve um método para a atribuição dos SIDs, que se baseia Codificação de Caminho (PEN) [15], [155]–[161] [21],
na atribuição de um valor de índice global a cada nó e na transmissão Programação de Rede (NP) [100], [162]–[167] [168]–[171]
Avaliação de Desempenho (PEV) [14], [172]–[180]
de um valor base para calcular os identificadores do segmento final Aÿ
ÿ
Diversos (MISC)
descreve um algoritmo para "AIJtranslate" caminho explícito em umÿI. [95]
conjunto de SIDs (como os trabalhos da seção IV-E). A idéia principal
do algoritmo proposto é calcular, a partir do nó fonte, o caminho mais
curto para o nó mais distante sem ambiguidade, ou seja, sem múltiplos 20
caminhos de custo igual: um SID da Lista de Segmentos resultante é
associado a cada nó mais distante.
15
4. ATIVIDADES DE PESQUISA
Nesta seção, descrevemos as atividades de pesquisa relacionadas Na categoria Path Encoding, agrupamos todos os trabalhos que propõem
às RS e fornecemos duas classificações diferentes para caracterizar os algoritmos visando traduzir caminhos de rede em um SL. Especificamente,
trabalhos de pesquisa com base em seu escopo principal. Também tomamos como entrada um caminho na forma de uma sequência de nós
mostramos como extrair informações úteis sobre a atividade de pesquisa e links que o algoritmo genérico de codificação de caminho fornece
em SR em andamento a partir da análise da relação entre as duas como saída uma sequência de SIDs a serem empurrados no cabeçalho
classificações propostas. do pacote para orientar o pacote ao longo do caminho de entrada. A
A primeira classificação proposta baseia-se na identificação de sete sexta categoria é a Programação em Rede, onde inserimos trabalhos
categorias principais de pesquisa, conforme apresentado na Tabela IV. científicos propondo soluções que exploram o recurso de programabilidade
A primeira é a categoria Monitoramento, reunindo todos os trabalhos do SR. ou seja, usando SIDs baseados em serviço para definir as
que descrevem e implementam ferramentas relacionadas às atividades funções a serem executadas em pacotes que cruzam uma lista de
de monitoramento da rede. Alguns exemplos incluem as medições do segmentos específica. Um exemplo significativo de trabalhos que se
atraso fim a fim sobre uma determinada rota de entrada ou a avaliação enquadram nessa categoria incluem trabalhos relacionados ao
do volume dos fluxos de tráfego. encadeamento de funções de serviço. Por fim, definimos uma categoria
A segunda categoria é a Engenharia de Tráfego, onde incluímos todos Diversos, onde colocamos todos os trabalhos que não pertencem às categorias anterio
os trabalhos que propõem estratégias avançadas de roteamento para Na Fig. 6 podemos ver um histograma mostrando o número de
otimizar o desempenho da rede. A terceira categoria é a Recuperação referências que se enquadram em cada uma das categorias definidas.
de Falhas, abrangendo soluções para fornecer recuperação rápida da Analisando a Fig. 6, fica evidente que Engenharia de Tráfego e
rede no caso de falha de nó/link. Devido às restrições de escala de Arquiteturas de Controle Centralizado são os assuntos mais investigados,
tempo, os trabalhos desta categoria são baseados em mecanismos enquanto as demais categorias foram abordadas por quase o mesmo
locais, ou seja, não envolvendo o controlador central. A quarta categoria número de trabalhos. Esse comportamento é bastante esperado, pois a
definida é Arquiteturas Centralmente Controladas, incluindo todos os principal característica do SR é definir caminhos de roteamento de forma
trabalhos com foco na implementação de uma rede SR com um plano bastante flexível e fazer uso de planos de dados amplamente implantados.
de controle centralizado realizado em cima de uma rede underlay (IP, Este fenômeno é realmente atraente para a definição de novas soluções
SDN, MPLS). Aqui destacamos que, apesar de alguns trabalhos para problemas de TE e para a realização de redes sobrepostas. Ao
classificados como Engenharia de Tráfego serem baseados em contrário, o número de artigos relacionados à Programação em Rede
arquiteturas controladas centralmente, eles não estão incluídos na pode indicar um baixo interesse por um tema tão novo entre a
categoria Arquiteturas Controladas Centralmente. Isso se deve ao fato comunidade de pesquisa. Acreditamos que a Programação em Rede
de que seu escopo principal continua sendo otimizar uma meta de TE representa um tema de pesquisa altamente interessante para um futuro
próximo, e que o menor número de
(como a redução do congestionamento ou a minimização do consumo de energia).
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 12
Tab. V. Os diferentes tópicos de RS também são agregados em três grupos (15) (5)
restantes do SR estão incluídos no outro tópico. Aqui, unimos os seguintes tópicos: das RS.
Aba. V mostra que o recurso de SR mais utilizado é o de roteamento de origem, Foram definidos oito trabalhos de pesquisa propondo soluções de monitoramento
embora ainda haja uma quantidade limitada de trabalhos com foco na capazes de explorar SR, conforme apresentado na Tabela VI. Estas obras foram
classificadas com base no seu objetivo principal:
programabilidade da rede e na definição de novas funções.
• medições de atraso, visando obter o atraso para enlaces e roteadores explorando a
Para obter mais informações sobre a atividade de pesquisa em RS, definimos possibilidade de modificação do SL nos nós de origem, ou seja, recurso SR de
uma maneira de mostrar a relação entre as classificações relatadas na Tab. IV e roteamento de origem; • verificação de integridade dos dispositivos de rede,
Tab. V, respectivamente. Na Fig. 7 podemos ver um gráfico que é definido da visando monitorar o estado da rede explorando a capacidade do SR na definição de
seguinte forma: cada nó representa uma categoria de pesquisa (retângulos violetas rotas ad-hoc, ou seja, recurso de flexibilidade de roteamento.
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 13
TABELA V
CLASSIFICAÇÃO #2 COM BASE EM TÓPICOS SR
SR direção pl
permite a medição do atraso unidirecional, o que é mais útil quando é
10 SL necessário implantar serviços na rede. Juntamente com a maioria dos
comprimento novo fnc
trabalhos relacionados, o projeto compartilha o objetivo de reduzir a
complexidade do plano de controle através do SR. No entanto, no artigo
5
não está claro qual implementação os autores usaram para SR, ou se
eles confiaram em alguma solução de fornecedor.
Nos parágrafos a seguir, apresentamos uma breve visão geral Em [103], os autores focam em esquemas de monitoramento
as referências classificadas como trabalhos relacionados ao monitoramento. eficientes em largura de banda baseados em ciclos. Eles propõem
[101] propõe um novo sistema de monitoramento alimentado por quatro algoritmos diferentes para computar ciclos que são projetados
Segment Routing (SR), que é usado para o provisionamento de para percorrer/cobrir todos os enlaces da rede. Essa otimização
baseada em ciclos permite economizar recursos de rede e monitorar a
serviços de rede com reconhecimento de atraso abrangendo vários domínios.
Com base nos princípios SR-MPLS, ele permite medições de atraso rede a partir de um único ponto de vantagem.
em várias rotas candidatas sem exigir sessões de sinalização LSP O Segment Routing é usado como tecnologia de transporte para
relacionadas. Os autores consideram dois tipos de sondas usando SR- encaminhar as sondas ao longo da rede. O artigo baseia-se nos
MPLS. O primeiro tipo é originado e terminado por estações da rede, resultados de [102]: os autores aproveitam a fase 1 do SCMon para
permitindo a recuperação apenas de medições de ida e volta. Eles construir a topologia de monitoramento da rede e, em seguida, aplicam
também têm menos precisão. Além disso, eles são normalmente seus algoritmos de duas fases para minimizar o comprimento de
usados para medições de desempenho em um único link. Em vez cobertura do ciclo. A avaliação de desempenho mostra a eficácia
disso, o segundo tipo depende de monitoramento externo desses algoritmos em termos de duração da cobertura do ciclo, lista de segmentos
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 14
profundidade e melhorias em relação à linha de base (SCMon). porcentagem de tráfego é encapsulada com um SRH especial que
Em vez disso, [104] baseia-se em [103], propondo três formulações carrega informações adicionais, como carimbos de data e hora. Esses
de ILP para a construção de ciclos de monitoramento. Uma primeira carimbos de data/hora são então usados pelos nós destinatários para
formulação ILP resolve de forma otimizada o problema de cobrir cada calcular atrasos unidirecionais ou de ida e volta. O segundo aplicativo
link na rede usando ciclos de monitoramento com comprimento mínimo realiza um grupo de agregação de links usando SRv6. Em particular,
de cobertura de ciclo. Para conservar ainda mais a largura de banda da um escalonamento round robin de peso é realizado para agregar a
rede, a primeira formulação é estendida para minimizar conjuntamente largura de banda de dois links diferentes. Por fim, foi realizada uma
o tamanho total da lista de segmentos necessária. Finalmente, como o versão aprimorada do traceroute, implementando um novo
tempo necessário para detectar uma falha na rede é afetado pelo ciclo comportamento do SRv6, o chamado End.OAMP. Esse comportamento,
mais longo, a primeira formulação também é estendida para minimizar quando acionado, realiza uma pesquisa fib no nó e retorna para um
a duração do ciclo mais longo conjuntamente. [105] explora a flexibilidade endereço de destino especificado no SRH todos os próximos saltos do
do SR para realizar medições de tráfego e obter a Matriz de Tráfego. ECMP. Se possível, essa função é aproveitada em cada salto, caso
Uma medição de tráfego contrário, o programa reverte para o mecanismo ICMPv6 legado.
é realizado reencaminhando um fluxo e verificando as variações de Nos parágrafos seguintes apresentamos uma comparação das obras
carga causadas nos links de rede. Embora a ideia de medir o tráfego classificadas na categoria Monitorização.
por meio de perturbações de roteamento não seja nova, SR acaba Em relação às soluções relacionadas às medidas de atraso, ambas
sendo uma tecnologia capacitadora para a aplicabilidade de tal ([101] e [108]) permitem obter o atraso unidirecional fim a fim entre dois
abordagem. De fato, enquanto no passado os fluxos de tráfego eram pontos da rede. Enquanto o primeiro requer o uso de uma ferramenta
reencaminhados agindo nos pesos dos enlaces OSPF, causando de monitoramento externa para gerar testes com registro de data e hora
instabilidade de roteamento e degradação de desempenho, o SR (o uso do SR é limitado à criação do caminho de ponta a ponta), o
permite a modificação de um caminho simplesmente atuando no nó de segundo não. De qualquer forma, [108] é adequado apenas para redes
ingresso, reduzindo o impacto de um reencaminhamento. Em [105], o realizadas por meio de roteadores SRv6 baseados em Linux, pois
problema de avaliar a TM minimizando as perturbações de roteamento explora a definição de programas eBPF para realizar a medição.
é formulado como um ILP e um algoritmo heurístico denominado
SERPENT é apresentado. Devido à alta complexidade computacional Existem duas ferramentas de monitoramento baseadas em SR para
do SERPENT, uma heurística gulosa mais leve chamada PaCoB é verificar o status de integridade dos links de rede. A primeira é ([102], e
proposta em [106]. a segunda é uma ferramenta proposta em [103] e [104]). A abordagem
Uma característica atraente do SR é a introdução de contadores de que eles seguem é semelhante, ou seja, a criação de caminhos cíclicos
interface específicos que permitem obter estatísticas sobre os fluxos de através do SR onde as mensagens de teste são enviadas. Com relação
tráfego da rede. Se este recurso estiver incluído no projeto de hardware a [102], [103] e [104] otimizam o uso dos recursos de monitoramento
do roteador, a atualização dos contadores de tráfego pode ser associada necessários para verificar o estado de todos os elementos da rede. Em
ao processamento normal no plano de dados SR, tendo assim um qualquer caso, [103] e [104] não suportam pacotes de links, enquanto
impacto insignificante no desempenho do roteador. [102] sim.
O tipo mais simples de contadores SR, denominado Base Pcounters, Entre as ferramentas de medição de tráfego baseadas em SR, duas
coleta estatísticas de tráfego (byte/pacotes) que passam por um roteador abordagens diferentes podem ser identificadas em [105]–[107]. A
e possuem um segmento ativo específico. Contadores SR aprimorados, primeira abordagem visa medir os fluxos de tráfego causando variação
denominados Pcounters TM (Traffic Matrix), permitem que o usuário de carga do link por meio de operações de reencaminhamento. Isto é
distinga entre o tráfego interno ao domínio SR e os fluxos injetados no explorado em [105], [106]. A segunda abordagem é baseada no uso de
domínio SR. Especificamente, um TM Pcounter coleta estatísticas de contadores de tráfego específicos, disponíveis em nós habilitados para
tráfego de fluxos de tráfego recebidos por uma interface marcada como SR. Isso é explorado em [107]. Embora ambas as abordagens ofereçam
externa (esta é uma opção de configuração para a operadora de rede). desempenhos comparáveis em termos de qualidade da Matriz de
Como o TM Pcounters pode discriminar pacotes com base na interface Tráfego avaliada, a solução baseada em contador não afeta o
de entrada, o uso do TM Pcounters fornece uma granularidade mais desempenho da rede. Isso é diferente das duas soluções baseadas em
fina em relação ao uso do Base Pcounters e facilita a estimativa da reencaminhamento.
Matriz de Tráfego. A partir da disponibilidade deste novo tipo de
informação relacionada ao tráfego, em [107] o problema de Avaliação
B. Engenharia de Tráfego
da Matriz de Tráfego foi estendido para incluir contramedidas SR. Os
autores mostram que, dependendo da estrutura das Listas de Segmentos Devido às suas características atraentes em termos de flexibilidade de roteamento, o
utilizadas na rede, a Matriz de Tráfego pode ser avaliada sem erros. SR é amplamente utilizado para enfrentar problemas relacionados à Engenharia de Tráfego.
Durante nossa investigação, encontramos vinte e dois artigos explorando
SR para fornecer soluções avançadas de TE. Todos os trabalhos de
[108] estende o kernel Linux para executar programas eBPF como pesquisa TE empregam a estrutura clássica de um problema de
em funções de rede anexadas aos SIDs SRv6; mais detalhes sobre a otimização: i) uma função objetivo deve ser minimizada/maximizada, ii)
implementação são fornecidos na Seção V. Os autores demonstram a levando em consideração um conjunto de parâmetros e iii) considerando
eficácia de sua abordagem construindo três aplicativos diferentes. O um cenário de rede específico. Três diferentes objetivos de TE têm sido
primeiro oferece uma solução de monitoramento passivo de atrasos de abordados pela literatura, ou seja, a minimização do consumo de
rede (links diretos ou caminhos fim-a-fim) [53]. A ideia de alto nível é energia da rede, a otimização do congestionamento e a minimização do
que um pequeno por número de requisições rejeitadas.
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 15
TABELA VII
Bahnasse et ai. [110] propõem uma arquitetura baseada em SDN para
CLASSIFICAÇÃO DAS REFERÊNCIAS RELACIONADAS A
gerenciamento de redes Diffserv-aware de Engenharia de Tráfego MPLS,
ENGENHARIA DE TRÂNSITO .
que baseia seu encaminhamento nos princípios SR-MPLS. Essa arquitetura
também deve suportar implantações híbridas em que equipamentos SDN
Energia
[112],[113]
Consumo coexistem com dispositivos legados, garantindo os mesmos recursos de
Objetivo
[109], [110],[111],[114],[115] [116], encaminhamento. Os dispositivos legados são confinados no núcleo da rede,
[117],[118],[119],[121] [122],[123],
Largura de banda do link enquanto os recursos SDN precisam ser suportados por dispositivos de
[124], [125],[126] [127],[128][129],
[130] [109],[118] [110],[118], borda. Desta forma, uma vez que o controlador calculou os caminhos que
Solicitações rejeitadas [126],[127] [109],[111] , atendem aos parâmetros SLA dos fluxos, ele programa a rede interagindo
Leva em Atraso [121],[122],[123] [124],[125],[126],
conta
com a borda e configurando os caminhos SR. Então, ao longo do tempo, o
Impacto SR [127] [109],[111],[112],[113],[114]
(sobrecarga, estado de fluxo) [115], [116],[117],[118],[120] controlador monitora a rede e gerencia dinamicamente os SR-LSPs para
[122],[124],[125],[126],[127] [129] garantir que o roteamento realizado pelos segmentos não viole as restrições
[110],[121],[130]
SR completo de QoS de ponta a ponta.
Cenário
a seleção de caminho é realizada no nível por pacote. Isso permite [117] propõe uma extensão dos modelos apresentados em [116]. Em
definir uma estratégia de divisão de tráfego mais precisa, o que torna particular, os autores propõem os 3 segmentos para warding
mais eficiente o uso da largura de banda disponível, aumentando assim demonstrando que o definido em [116], usando dois segmentos, não é
o número de links desligados. suficiente para determinar os caminhos ótimos e leva ao desperdício de
Os autores em [114] propõem uma arquitetura que combina SDN largura de banda.
com TE baseado em SR. Uma implementação de código aberto do SR- DEFO (Declarative and Expressive Forwarding Optimizer) é uma
MPLS é fornecida juntamente com a realização de um plano de controle arquitetura de duas camadas, descrita em [118], que é realizada sobre
SDN que lida com o cálculo dos caminhos SR ótimos na rede. Os uma rede de comunicação física, visando fornecer uma infraestrutura de
autores começam a implementar uma heurística básica de TE, que rede flexível e altamente programável. Na parte inferior da arquitetura
resolve de maneira aproximada o problema de atribuição de fluxo. Este há uma camada de conectividade, que se encarrega de fornecer
último permite que o congestionamento geral da rede seja minimizado. caminhos padrão entre os roteadores da rede. No DEFO, a camada de
Este primeiro procedimento também é usado como controle de admissão conectividade é representada por um Interior Gateway Protocol (IGP).
para a próxima fase onde os caminhos admitidos são mapeados em Por meio de uma camada de otimização, os caminhos de roteamento
caminhos SR usando uma heurística de atribuição (que foi descrita de um subconjunto de demandas de tráfego são desviados pelo
extensivamente em [15] - Seção IV-E). A avaliação de desempenho comportamento padrão, fornecido pela camada de conectividade, e são
analisa a distribuição dos comprimentos dos caminhos comparando os direcionados através de um conjunto de caminhos otimizados. O DEFO
caminhos TE com os caminhos mais curtos e a distribuição dos explora a flexibilidade do Segment Routing para implementar a camada
comprimentos das listas de segmentos, mostrando assim que a maioria de otimização e configurar caminhos otimizados sobre os caminhos de
dos caminhos pode ser implementada usando 1 ou 2 SIDs. Todo o roteamento subjacentes. O Provedor de Serviço pode programar a rede,
código desenvolvido é open source e está disponível em [181] alavancando assim uma interface de alto nível que permite definir
objetivos específicos de rede através do uso de Domain Specific
Uma análise teórica da complexidade computacional dos problemas Languages (DSL). O DEFO possibilita que um operador de rede defina
de Engenharia de Tráfego em redes habilitadas para Segment Routing várias funções de custo a serem otimizadas. No caso básico, denominado
ÿ
é fornecida em [115]. Dois problemas diferentes de TE são considerados: “AIJClassic Traffic Engineering” Aÿ ÿI, a utilização máxima do enlace é
i) a maximização do throughput e ii) a minimização da carga máxima do minimizada; no caso Aÿ ÿI, o objetivo da função 'AIJTactical Traffic
ÿ
enlace. Em primeiro lugar, considera-se o paradigma General Segment combinação da utilização máxima do enlace eEngineering'
o número deé caminhos
uma
Routing. Nesse cenário, os segmentos não são restritos a seguir os modificados. Uma vez especificado o objetivo, o DEFO inicia o cálculo
caminhos mais curtos, mas podem representar qualquer caminho dos caminhos otimizados, executando um algoritmo que explora os
complexo (possível). A resolução de ambos os problemas de TE conceitos de roteamento de ponto médio (MR) e programação de
mencionados resulta ser NP-difícil. Essa constatação fornece uma restrições (CP).
fundamentação teórica para o motivo pelo qual, no Roteamento de
Segmentos, os caminhos mais curtos são considerados para cada [119] enfrenta o problema de reagir rapidamente a mudanças
segmento. Em seguida, estuda-se a complexidade dos problemas de TE repentinas de tráfego. De fato, esses eventos inesperados, que ocorrem
para o caso de Roteamento de Segmentos com o caminho mais curto. em baixa escala de tempo, podem criar congestionamento temporário
Um resultado interessante desta análise é que, quando o número de nos links, degradando assim o desempenho da rede. Soluções clássicas
segmentos a serem usados para cada lista de segmentos é fixo, o para este problema são baseadas em modelos MILP ou Programação
problema de minimizar a utilização máxima do enlace pode ser resolvido de Restrições, veja [116] e [118]. Infelizmente, essas abordagens sofrem
em tempo polinomial fraco. Apesar disso, quando o comprimento das com o alto tempo de computação, pois funcionam em uma escala de
listas de segmentos é apenas limitado superiormente (não fixo), os tempo de segundos ou minutos, fornecendo estratégias de roteamento
problemas de TE investigados caem novamente na classe NP-difícil. TE que, em média, permitem a redução do congestionamento da rede,
mas que podem incorrer em sobrecarga no link devido a picos repentinos de tráfego .
Em [116], os autores tratam de soluções de projeto de TE baseadas Por esta razão, em [119] os autores apresentam um algoritmo que visa
em SR para a alocação ótima de demandas de tráfego usando uma mitigar o congestionamento do link sob uma restrição de tempo difícil. A
abordagem com reconhecimento de ECMP. Os autores propõem duas solução proposta explora o SR para redirecionar um subconjunto de
soluções ótimas para otimização online e offline usando uma alocação fluxos de forma rápida e flexível, a fim de diminuir a utilização máxima
de 2 segmentos, ou seja, limitando o comprimento das Listas de do link. A restrição de tempo é considerada sob duas perspectivas
Segmentos a dois SIDs. Este último consiste no cálculo para cada fluxo diferentes: i) é considerada diretamente como uma restrição rígida
da lista de segmentos ótimos de dois segmentos com o objetivo de durante a execução do algoritmo, ou seja, é uma condição de término,
minimizar o congestionamento geral da rede. A ideia-chave deste e ii) a estratégia de roteamento selecionada deve ser a mais próxima
trabalho é minimizar a utilização do link no pior caso, considerando o possível da restrição de tempo. o atual para minimizar o número de
encaminhamento do ECMP no caso offline. Já no caso on-line, os reconfigurações necessárias para fazê-lo funcionar. Esses dois requisitos
valores de divisão de tráfego são calculados adequadamente também são atendidos simultaneamente pela proposição de uma heurística
para minimizar as rejeições de solicitações. A avaliação de desempenho baseada em Busca Local (LS), que toma como entrada uma solução
mostra que o problema de roteamento de n segmentos (“Problema de inicial e vai iterativamente dessa solução para outra, aplicando mudanças
Fluxo de Multicommodities”), ou seja, sem restrições no comprimento locais chamadas de movimentos, até que um critério de parada seja
das Listas de Segmentos, é apenas um pouco melhor do que o problema atendido ( por exemplo, a solução é boa o suficiente, ou um limite de
de roteamento de 2 segmentos, mas a complexidade computacional é tempo). Os resultados mostram que o algoritmo proposto supera o MILP
maior devido a mais graus de liberdade . ou Constraint Program-
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 17
heurística baseada em ming, permitindo uma redução significativa do aproveitando o encaminhamento ECMP, o segundo calcula rotas únicas
congestionamento da rede com tempos de execução inferiores a 1 segundo.e implementa um encaminhamento hop-by-hop. Finalmente, o terceiro é
A variável Segment Routing Path é introduzida em [120] com o capaz de alavancar toda a capacidade do Segment Routing. Uma
objetivo de reduzir o espaço de memória e o tempo de computação para heurística foi implementada, pois algumas instâncias dos modelos ILP
formular e resolver problemas de TE em redes SR. requerem muito tempo para serem resolvidas. A heurística calcula uma
De fato, enquanto o espaço de memória necessário para instanciar rota única para cada fluxo e tenta manter a utilização total e máxima da
formulações clássicas de problemas de TE com base em variáveis de rede o mais baixa possível. Além disso, é capaz de garantir que o valor
links, caminhos ou nós não se adapta bem ao tamanho da rede máximo da profundidade da lista de segmentos não seja excedido. [123]
considerada e com o número de demandas a serem roteadas, as propõe uma solução de TE para computação de caminhos que,
variáveis de caminho SR prometem aumentar a eficiência na resolução aproveitando no máximo três rótulos, é capaz de otimizar os recursos
do problema. As variáveis SR Path são baseadas no conceito de do link e evitar congestionamentos na rede. Em primeiro lugar, o
Forwarding Graph (FG). Um FG é um gráfico acíclico direto (DAG) que controlador SDN aborda o problema de calcular corretamente os pesos
se origina de um nó s e termina em um nó sorvedouro t. O caminho do protocolo IGP Link State usando algoritmos evolucionários. Em
seguido por uma demanda na rede é codificado como uma sequência de seguida, a distribuição do tráfego é calculada por meio de Divisão de
FGs, e essa sequência é armazenada em uma variável de caminho SR. Fluxo Distribuído Exponencialmente Ponderado (DEFT) ou Divisão de
Conjuntos esparsos baseados em array são usados para implementar Fluxo Exponencial de Penalização (PEFT), que atribui os fluxos a um
variáveis de caminho SR. Uma abordagem Large Neighborhood Search próximo salto com uma probabilidade que diminui exponencialmente com
é usada para calcular caminhos otimizados para as demandas. o comprimento extra do caminho ( em relação ao caminho mais curto).
A idéia é melhorar iterativamente a melhor solução até agora tentando O SR é usado para obter desvios e implementar a divisão de tráfego. A
reatribuir o valor de um subconjunto de variáveis de caminho SR, avaliação de desempenho mostra que a solução TE oferece um menor
relacionadas a demandas que são críticas (por exemplo, todas as que congestionamento em relação ao OSPF/ECMP com configurações
estão atualmente roteadas pelo link mais carregado). [121] investiga o otimizadas e é capaz de usar todos os links disponíveis.
problema de migrar uma rede IP para uma rede totalmente habilitada
para SR. A ideia é que o processo de atualização do sistema de
roteadores IP para habilitar os recursos de SR seja realizado de forma A flexibilidade do SR na seleção de caminhos, juntamente com o
incremental para reduzir a chance de introduzir possíveis erros de maior throughput fornecido pelo Multi Path TCP (MPTCP), são explorados
configuração ou causar a indisponibilidade do serviço. Para fazer isso, o em [124] a fim de otimizar o throughput para grandes fluxos e lidar com
Segment Routing Domain (SRD) é definido como o subconjunto de nós o crescimento explosivo do tráfego multimídia em redes 5G . A arquitetura
capazes de SR. proposta utiliza um plano de controle centralizado, com um controlador
Dependendo se o SRD é um conjunto conectado ou não, dois modelos central responsável por gerenciar a Qualidade da Experiência de cada
diferentes são propostos: SRD Único ou SRD Múltiplo. Duas vantagens conexão MCTCP. Em particular, o controlador central encontra vários
principais do modelo S-SRD são que ele limita o número de estados de caminhos para cada conexão, verifica os requisitos de largura de banda
fluxo a serem mantidos nas bordas do SRD, e o comprimento médio da e instala regras de fluxo específicas nos nós de entrada da rede 5G
lista de segmentos é restrito. Como principal desvantagem existe uma considerada. Quando uma nova conexão MPTCP é estabelecida, o
diminuição potencial na flexibilidade na definição de caminhos de rede. controlador deve encontrar um caminho para cada um dos subfluxos
Pelo contrário, o M-SRD permite que caminhos mais complexos sejam pertencentes a essa conexão. Para cada subfluxo, ele verifica primeiro o
definidos ao custo de ter um maior número de estados de fluxo e um caminho do fluxo e o banco de dados de recursos, a fim de verificar se
maior comprimento médio de lista de segmentos. O problema de Projeto já existe um caminho pré-calculado com largura de banda suficiente para
de Domínio de Roteamento de Segmentos é formulado como um ILP, suportar o novo subfluxo. Se esta verificação falhar, o controlador calcula
onde o objetivo principal é maximizar as oportunidades de Engenharia um novo caminho, codifica-o em uma lista de segmentos e instala uma
de Tráfego, ou seja, a identificação de um subconjunto de nós, de um nova entrada de fluxo no switch de ingresso. O algoritmo usado para
determinado tamanho, a serem atualizados com capacidades de SR, de calcular os novos caminhos, denominado QoE-Centric Multipath Routing
modo que o maior flexibilidade é alcançada no balanceamento da carga Algorithm (QoMRA), tenta encontrar vários caminhos disjuntos
dos links na rede. A formulação proposta é capaz de capturar modelos S- considerando os requisitos de QoE. [125] propõe o uso do Multi Path
SRD e M-SRD. O trabalho compartilha vários princípios de design com TCP (MPTCP) em conjunto com o SR-MPLS para maximizar o throughput
outros trabalhos relatados nesta pesquisa, por exemplo, considera dos fluxos de tráfego em uma rede de Data Center. O MPTCP permite
implantações incrementais de SR e trata da codificação com que uma única conexão seja dividida em vários caminhos, aumentando
reconhecimento de caminho da lista de segmentos para garantir que o assim a taxa de transferência total. As soluções MPTCP baseadas em
caminho do SR seguirá exatamente o hop-by-hop caminho decidido pela SDN são consideradas pelos autores para obter controle de granularidade
heurística TE. Com relação a outros trabalhos, os autores também fina sobre conexões TCP. No entanto, isso aumenta drasticamente o
propõem uma solução de encaminhamento flexível, em que os pacotes número geral de fluxos de tráfego que precisam ser armazenados nos
pertencentes ao mesmo fluxo podem cruzar a rede por diferentes dispositivos, causando problemas de escalabilidade. O SR é usado para
caminhos. [122] propõe modelos ILP e heurísticas para aplicações TE reduzir o número de regras de fluxo necessárias para direcionar as
em redes baseadas em SR. Três modelos ILP são propostos e são conexões TCP únicas em caminhos disjuntos e economizar espaço
utilizados apenas como referência para as heurísticas devido à sua precioso na Memória Endereçável de Conteúdo Ternary (TCAM) do
alta complexidade computacional. O primeiro é capaz de
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 18
dispositivos. A arquitetura prevê uma abordagem reativa para alocação de A formulação do problema derivado acaba por ser resolvida em tempo
fluxo: cada vez que um novo subfluxo é “gerado” pelo MPTCP, um Packet-In polinomial fraco. De qualquer forma, como as soluções do problema anterior
é enviado ao controlador SDN que aloca um novo caminho disjunto sempre podem conter loops de roteamento (o mesmo link é cruzado duas vezes), os
que possível, e então instala as regras de fluxo necessárias para suportar este autores de [129] também consideram uma variante em que a solução é restrita
subfluxo nos dispositivos de borda. O SR permite que o estado no dispositivo a selecionar apenas caminhos fim a fim acíclicos. Esta última variante do
principal seja reduzido. Infelizmente, no artigo não está claro como os autores problema de TE com restrição de nó se mostra NP-difícil. Outra contribuição
podem evitar a explosão do estado na borda da rede devido às condições de de [129] é a proposição do conceito de centralidade de fluxo como parâmetro
correspondência na camada de transporte. de projeto para selecionar os pontos médios mais adequados.
Em [126], ELEANOR, uma aplicação norte para o controlador OpenDayLight A centralidade do fluxo é expressa como a porcentagem máxima de tráfego
(ODL) Software Defined Network (SDN) é apresentada. ELEANOR considera que pode passar por um nó. Esse conceito é aprimorado ainda mais pela
um plano de dados MPLS-SR, onde uma restrição de Profundidade Máxima definição da centralidade do fluxo de grupo, que é uma generalização da
de Empilhamento (MSD), ou seja, um limite superior no número de sids que centralidade do fluxo sobre um conjunto de N pontos médios.
podem ser empilhados em uma lista de segmentos, deve ser considerada. Os
principais componentes do ELEANOR são: i) um módulo de cálculo de O trabalho em [130] propõe uma solução de engenharia de tráfego
caminho, e ii) um módulo de otimização da pilha de rótulos. Quando uma nova (computação de caminhos e alocação de largura de banda) para uma rede IP/
solicitação chega ao controlador, ele primeiro encontra um caminho adequado SR híbrida capaz de maximizar uma função de utilidade refletindo a satisfação
para atender a requisitos específicos de QoS (largura de banda, atraso etc.), do usuário. A satisfação do usuário é calculada como uma função logarítmica
então o SL apropriado é produzido. da largura de banda atribuída aos fluxos. Os caminhos de roteamento são
restritos a serem os mais curtos no domínio IP, enquanto os roteadores SR
Em [127], os autores propõem dois algoritmos de roteamento baseados em podem escolher entre um conjunto de caminhos permitidos no domínio SR.
SR para realizar aplicações TE em redes SDN. Esses algoritmos buscam uma Após a definição do problema de otimização, um algoritmo iterativo de duas
seleção apropriada dos pesos dos links para otimizar os custos de caminho e etapas é proposto: a cada etapa da iteração, os pesos dos links dentro do
balancear a carga nos links. Isto é obtido através do algoritmo de otimização domínio SR são atualizados. Duas suposições principais são feitas: i) cada
de enxame de partículas de objetivo múltiplo (MOPSO). Duas funções objetivo fluxo pode ser encaminhado em um único caminho, e i) um pacote não pode
são usadas para medir o custo do caminho e o balanceamento de carga, cruzar o domínio SR mais de uma vez.
respectivamente. Segundo os autores, seus algoritmos não apenas reduzem
o custo dos caminhos, equilibram melhor a carga da rede e diminuem a taxa Independentemente do objetivo da otimização e das restrições consideradas,
máxima de utilização do link, mas também podem melhorar a taxa de satisfação o objetivo principal de uma estratégia de TE é encontrar uma configuração de
em relação ao caminho mais curto primeiro (SPF), caminho mais curto e mais roteamento para um determinado conjunto de demandas de entrada. Aqui
largo (SWP), caminho mais curto (WSP), algoritmo de roteamento de destacamos algumas das diferenças entre os trabalhos de pesquisa
interferência mínima (MIRA) e algoritmo de Lee. [128] propõe a restrição relacionados a RS classificados na categoria Engenharia de Tráfego.
Bounded Stretch para aumentar a resolução do problema SR-TE. O Bounded Especificamente, apontamos cinco critérios diferentes para compará-los: i) o
Stretch é usado para reduzir o conjunto de candidatos a nós intermediários, tipo de abordagem (baseada em otimização, baseada em heurística, ambas),
que são selecionados durante a construção do SL. Isso permite que o ii) o nível de granularidade da demanda (Origem Destino ou Ingress-Egress),
espaço das soluções seja reduzido. A ideia de alto nível do Bounded Stretch é iii) a estratégia de computação do caminho , iv) como o roteamento TE é
que quando um nó intermediário está muito longe de um nó de origem i para traduzido em um conjunto de SLs, ev) a política de divisão de tráfego (SL único
um nó de destino j então este nó não deve ser considerado como candidato. ou SLs múltiplos).
A seleção é obtida comparando o comprimento dos caminhos intermediários A maioria dos trabalhos de Engenharia de Tráfego com SR propõe um
mais curtos com o comprimento dos caminhos de ponta a ponta escalados por algoritmo heurístico para determinar um conjunto de caminhos para satisfazer
uma determinada constante. Os autores demonstram através de experimentos um determinado objetivo. Somente em [115], [116], [121], [122], [128] e [130]
que a restrição ajuda a reduzir o tempo de computação ao custo de ter uma uma formulação do problema também é apresentada. Outra diferença
utilização um pouco maior sobre os links. interessante entre os trabalhos de pesquisa em Engenharia de Tráfego é o
modelo considerado para descrever as demandas de tráfego. De fato, enquanto
[114], [129], [118], [119], [124], [125], [126] e [128] consideram um modelo
Origem-Destino (OD), onde múltiplas demandas podem entram e saem da
rede a partir do mesmo par de nós Ingress-Egress (IE), todos os outros
Em [129], o problema de TE com restrição de nó é definido e analisado, e assumem um modelo IE (há uma única demanda entre cada par de nós IE
SR é reivindicado como uma tecnologia capacitadora para tais estratégias de que é representativa da agregação de muitos fluxos OD).
roteamento. Este problema consiste na otimização de um destes dois objetivos:
maximizar o throughput da rede ou minimizar o congestionamento máximo. Isso afeta tanto a flexibilidade da solução, permitindo uma otimização mais
Diferentes estratégias de roteamento são consideradas. No caso mais geral, fina, quanto a complexidade dos algoritmos, uma vez que precisam lidar com
os caminhos de ponta a ponta são restritos a passar por um conjunto de um número maior de variáveis.
pontos médios, deixando a liberdade de escolher qualquer caminho entre dois Diferentes estratégias são usadas para criar os caminhos de ponta a ponta.
pontos médios. Este problema é formulado e provado ser NP-difícil. Em Alguns deles são baseados na definição de parâmetros capazes de capturar
seguida, a região de viabilidade é limitada forçando o caminho entre dois o status atual da rede. Os caminhos são então selecionados de acordo com
pontos médios a ser o mais curto. uma regra de menor custo. Como exemplo, em [109] são definidos a
“criticidade” do link e o índice de congestionamento do link,
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 19
TABELA VIII
Apresenta-se brevemente soluções ineficientes que pré-computam regras de
CLASSIFICAÇÃO DAS REFERÊNCIAS RELACIONADAS A
roteamento considerando destinos, falhas de incidentes e portas de entrada
RECUPERAÇÃO DE FALHA .
dos pacotes. Mesmo que essa solução possa fornecer melhores garantias de
resiliência, ela apresenta algumas ineficiências (em termos de comprimentos
Falha de nó [132],[133],[134],[135],[136],[137] [131],[132],[133],
[135],[136],[137] [138 ],[139] de caminho), mesmo que ocorra apenas uma falha de link.
Falha no link
Por fim, os autores apresentam sua solução que propõe basicamente
armazenar as falhas já atingidas no cabeçalho do pacote e, cada vez que
uma nova falha é enfrentada na rede, a lista de segmentos é recalculada
[114] define o conceito de tempo de cruzamento de rede, [129] reduz o
usando as entradas da tabela local pré-computadas e o estado armazenado
espaço de caminho viável impondo que apenas nós com alta centralidade
nos pacotes.
podem ser usados como pontos médios. Em [130] o roteamento de caminho
A duplicação de tráfego através de caminhos disjuntos é explorada em
único é considerado, e a função objetivo do problema de otimização é a
[132]. Em particular, os autores aproveitam o SRv6 para realizar um serviço
satisfação do usuário calculada como uma função logarítmica da largura de
de duplicação de tráfego que pode garantir um esquema de proteção 1+1
banda alocada aos fluxos do usuário. Além disso, também em [124] a
através do uso de caminhos disjuntos. A principal diferença de outros
estratégia de busca de caminho é baseada na criticidade do enlace, enquanto
mecanismos de proteção é que com proteção 1+1 ambos os canais estão
[125] explora o conceito de índice de atraso. Os demais trabalhos utilizam
ativos e os dados são enviados por ambos os caminhos. Os autores usam o
técnicas mais sofisticadas, como programação de restrições ([118], [120]),
comportamento de espelhamento no kernel do Linux para realizar a duplicação
busca baseada em ILP ([112], [113], [116], [117], [121], heurística de busca
de tráfego. O trabalho baseia-se nos resultados de [183], em particular,
local ( [119]) e algoritmos restritos de caminho mais curto ([126]).
aproveita a implementação Linux do SRv6. Em seguida, os autores propõem
um algoritmo capaz de computar caminhos disjuntos com a menor latência e
que pode ser implementado com um número k de segmentos (eles
Outra diferença interessante das estratégias de seleção de caminhos
estabelecem um limite superior em seu número e usam apenas segmentos
adotadas pelos trabalhos da categoria Engenharia de Tráfego está relacionada
de nós).
à forma como geram os SLs associados ao determinado caminho.
[133] baseia-se em [132] com a introdução de caminhos robustamente
Especificamente, duas abordagens diferentes são geralmente usadas: i) o
disjuntos. Os autores construíram, estendendo a teoria de roteamento e
caminho é encontrado e então codificado em um SL ([112], [121], [122], [124]–
alavancando a síntese de configuração, um compilador automatizado que é
[126], ou ii) o caminho é construído diretamente como SL ([116]–[120], [123],
proativo, rápido e autorrecuperável (sem necessidade de intervenção externa):
[128], [129]).
ele calcula pares de caminhos disjuntos para determinadas origens e
A comparação final que propomos está relacionada à possibilidade de
roteadores de destino, que são robustos em a maneira como eles permanecem
dividir as demandas de tráfego em vários SLs.
desconexos mesmo após um conjunto de falhas.
Esta opção, que é permitida pela configuração adequada das políticas SR, é
Isto é conseguido sem necessidade de qualquer intervenção graças à
explicitamente utilizada nos algoritmos descritos em [116], [117], [121], [124],
tecnologia SR. De fato, SR permite que sequências de segmentos sejam
[125], [182]. Claramente, ter a possibilidade de dividir o mesmo fluxo em
escritas, que mapeiam para diferentes caminhos disjuntos mesmo quando há
vários SLs aumenta a flexibilidade da estratégia de roteamento ao custo de
mudanças topológicas. Finalmente, aproveitando os resultados de [132],
aumentar as informações a serem armazenadas nos nós de head end, onde
Aubry et al. adicionado ao compilador a capacidade de limitar o número de
as políticas de SR são instaladas.
segmentos (ou seja, problema de codificação de caminho) e caminhos de
computação que não degradam o desempenho do plano de dados
(encontrando caminhos SR de baixa latência - abordando também aspectos TE).
C. Recuperação de Falha Em [134], Hao et al. propor um modelo de programação linear para
Nove trabalhos de pesquisa sobre SR para recuperação de falhas e otimizar a restauração em redes baseadas em SR. A ideia-chave da
resiliência de rede foram publicados nos últimos anos. restauração otimizada é compartilhar a largura de banda restante
A solução proposta pode ser classificada de acordo com o tipo de falha da adequadamente quando ocorrerem várias falhas. Isso é resolvido através de
qual eles são capazes de se recuperar:, ielink ou falhas de nó. uma configuração ótima dos segmentos iniciais, conhecendo antecipadamente
A Tabela VIII mostra a classificação dos artigos abordados. Nos parágrafos a matriz de tráfego e a topologia da rede. Em particular, os autores
seguintes apresentamos uma breve visão geral das referências classificadas desenvolvem um algoritmo dual primal eficiente, que pode lidar com falhas
como trabalhos relacionados com a Recuperação de Falhas. de link único e falhas de vários links lógicos ao mesmo tempo (incluindo
[131] trata do encaminhamento de SR resiliente. Em particular, os autores falhas de nó). Além disso, com um esquema de arredondamento aleatório
se concentram em soluções de failover rápido estático para roteamento de simples, eles também podem levar em consideração o encaminhamento de
segmento, não exigindo nenhuma interação com o plano de controle. ECMP na rede.
O algoritmo proposto, referido como Topology Independent Multi-Failure
Alternate (TI-MFA), é uma melhoria do Topology Independent Loop Free Uma implementação logicamente centralizada do plano de controle SR
Alternate (TI-LFA), descrito em [45] e elaborado na Seção III-A. O TI MFA (baseado em SDN) é aproveitada em [135], [136] e [137].
tem garantias de desempenho interessantes e também é resiliente a várias Eles descrevem um método para recuperar a rede de falhas de link ou nó
falhas, enquanto o failover rápido de SR tradicional baseado em TI-LFA pode dinamicamente. O mecanismo de failover prevê uma tabela de failover para
funcionar apenas com um número limitado de falhas. Em primeiro lugar, os cada interface do nó e, quando uma porta cai automaticamente, a tabela
autores demonstram que o TI-LFA faz loops indefinidamente também para secundária relacionada é usada para implementar um caminho de backup
duas falhas de link. Então, um robusto, mas sem loop desde o ponto de falha até o nó de destino. Em primeiro lugar, o nó
pops todos
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 20
TABELA IX
os rótulos na lista de segmentos, exceto o último rótulo (que representa
CLASSIFICAÇÃO DAS REFERÊNCIAS RELACIONADAS A
o destino final), e então o processamento do pacote é passado para a
tabela de failover correta. Os autores fornecem uma implementação ARQUITETURAS CENTRALMENTE CONTROLADAS .
de 3 a 15 etiquetas. O protocolo OF também foi modificado para enviar a segunda solução a camada de plano de dados pode reagir autonomamente
todos os rótulos necessários como uma única entrada de fluxo e com uma a uma deficiência da rede removendo a porta de saída com falha, enquanto
única ação. Os dispositivos ROADM (Comercial Reconfigurable Optical Add- a primeira solução sempre requer a intervenção do controlador SDN, mas
Drop Multiplexer) têm sido usados para fornecer um desvio óptico entre nós os resultados são mais genéricos em relação à segunda. Ambas as
e fornecer caminhos alternativos durante o cálculo do caminho. Na avaliação soluções enviam o SID do nó de destino e aproveitam os caminhos ECMP
de desempenho, os autores avaliam por meio de emulação a influência da disponíveis. A propriedade de recuperação da arquitetura foi validada
deep stack de 15 rótulos, avaliando o tempo de configuração dos fluxos e o simulando falhas de rede. Segundo os autores, algumas perdas de pacotes
encaminhamento de pacotes nos dispositivos. Este último não é influenciado, foram registradas e o tempo de recuperação ficou em torno de 170ms.
enquanto o tempo de configuração é quase o triplo.
O projeto SPRING-OPEN [145] é um caso de uso ONOS [188], que
Mais tarde em [141], o SR foi implementado em uma rede multicamada fornece uma implementação de SR baseada em SDN de código aberto.
usando uma arquitetura PCE em vez de SDN/OF. Neste cenário, os nós Sua arquitetura é baseada em um plano de controle logicamente
consistem em roteadores IP/MPLS disponíveis comercialmente e o SR centralizado, construído sobre o ONOS, e elimina drasticamente o Plano
Controller é uma versão estendida de um PCE. de Controle IP/MPLS da rede. Papel
plano de controle com estado. Extensões ao protocolo PCE permitem que deste trabalho convergiu mais tarde no projeto Trellis [189], um tecido leaf-
um PCE centralizado controle a configuração de empilhamento de etiquetas. spine baseado em SDN, construído usando hardware bare-metal, software
O PCC (cliente de PC - dispositivos) usa o valor de comprimento de tipo de código aberto dos projetos OCP [190] e ONOS, e OpenFlow-Data Plane
SR-PCE-CAPABILITY para especificar a capacidade de lidar com Caminhos Abstraction (OF -DPA) [191], uma API aberta da Broadcom [192] para
comutados de rótulo habilitados para SR e a capacidade de executar programar ASICs de silício comercial. O tecido folha-espinha é baseado
computação de SR. O Explicit Routing Object (ERO) realizado na mensagem nos princípios SR-MPLS.
Path Computation Reply contém a lista de SIDs computados e/ou o Node No entanto, ele não implementa uma arquitetura SR completa, pois apenas
ou Adjacency Identifier dependendo do tipo de SID. No dispositivo, o agente usa Node-SIDs significativos globais. Esses rótulos MPLS são configurados
coleta as informações derivadas do protocolo IGP e configura as entradas estaticamente no plano de controle SDN e são usados para identificar
de caminho mais curto relacionadas e os rótulos SID. Quando uma nova globalmente os switches ToR da malha, roteando o tráfego para eles
mensagem de repetição do PC é recebida, a pilha de etiquetas está usando um único rótulo MPLS.
configurada corretamente. Além disso, esta implementação de SR usando A fim de fornecer resiliência contra falhas de link e nó para Cloud Service
PCE é capaz de realizar reencaminhamento dinâmico de pacotes (com Provides (CSPs), uma infraestrutura de sobreposição realizada por meio de
recursos de bypass óptico), impondo diferentes listas de segmentos no nó Roteamento de Segmento e plano de controle de Rede Definida por
de origem, sem qualquer protocolo de sinalização e sem perda de pacotes. Software é proposta em [146]. A ideia principal da arquitetura proposta é
substituir a infraestrutura física dedicada que interliga os Data Centers de
Em [142] Segment Routing é proposto como uma solução para realizar um CSP, por uma rede overlay realizada em cima de uma infraestrutura
Network Service Chaining (NSC) em um cenário de rede metro-core, onde underlay, representada pela interconexão de várias redes de Provedores
as requisições da cadeia de serviço são representadas pelos chamados de Serviços de Internet (ISP). O pré-requisito é a disponibilidade de
microfluxos, ou seja, um grande número de bits baixos ou médios -taxa de conexões multihomed para cada Data Center do CSP. Assim, os
fluxo. Nesse cenário, as soluções clássicas baseadas em MPLS ou SDN componentes lógicos da infraestrutura overlay proposta incluem: i) um
puro falham devido a problemas de escalabilidade. Ao contrário, o SR move controlador central que monitora o status da rede underlay e determina
o estado do fluxo para o cabeçalho do pacote, reduzindo os custos de novos caminhos em caso de falha, ii) os pontos de saída que são
configuração (e tempo) para a instalação da regra de encapsulamento no responsáveis por rotear os fluxos de tráfego que saem de um Data Center
ponto de ingresso da rede (aquele usado para adicionar a lista de segmentos para o ISP mais adequado, e iii) os pontos de inflexão de roteamento que
a cada pacote da rede). fluxo considerado). Com base nesta consideração, são nós especiais que gerenciam o roteamento entre dois Data Centers
[142] descreve um SR Path Computation Element (SR-PCE) que é distantes, utilizando encapsulamento SR. [147] propõe o uso de SR em
responsável por orquestrar a configuração/liberação/modificação da uma rede IP/SDN híbrida como uma técnica para mitigar o problema de
conexão, e é composto por dois módulos principais: i) o elemento de espaço de armazenamento limitado nas tabelas de fluxo de switches SDN.
computação de fluxo, tendo o objetivo de encontrar um caminho com O objetivo principal é usar SR para otimizar o uso das tabelas de fluxo e
recursos disponíveis para atender um micro fluxo e ii) a API de capacidade do link. No cenário considerado, cada nó suporta as operações
direcionamento de fluxo que é responsável por instalar a regra de OpenFlow e as operações normais de encaminhamento de IP. Quando um
encapsulamento SR no nó de ingresso. Uma avaliação experimental da pacote entra em um nó, ele é primeiro classificado para decidir por qual
arquitetura proposta é proposta em [143]. [144] propõe uma arquitetura de pipeline ele deve ser direcionado e, em seguida, é processado de acordo.
rede definida por software (SDN) baseada em SR que é capaz de realizar As operações atribuídas ao pipeline IP normal são decididas usando um
balanceamento de carga entre rotas ECMP e não ECMP em redes protocolo de roteamento (por exemplo, OSPF). Alternativamente, o caminho
multicamadas, incluindo uma camada IP/MPLS sobre uma camada de rede a ser seguido pelos fluxos de tráfego direcionados através do OpenFlow
óptica. Switching Layer (OFSL) é decidido pelo controlador SDN central. Para
limitar o número de entradas de fluxo a serem instaladas para configurar
Em particular, são descritas duas soluções: i) SR Centralizado; ii) SR pré- um caminho, o SR é explorado. Desta forma, uma parte da informação do
configurado. O primeiro aproveita um controlador SDN para direcionar o estado de fluxo é movida do
tráfego por caminhos alternativos em caso de falhas de rede.
Em vez disso, a segunda solução usa grupos de balanceamento de carga
OpenFlow para encaminhar ativamente o tráfego em várias rotas. Com
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 22
a tabela de fluxo dos switches para o cabeçalho do pacote. Para inserir Eles fornecem topologia de rede respectivamente e a criação de túneis
as informações relacionadas ao SR, ou seja, a lista de segmentos, no MPLS SR. IS-IS é usado dentro do domínio para trocar informações de
cabeçalho do pacote, [147] propõe o uso de campos não utilizados (ex. acessibilidade e SIDs entre nós.
tag VLAN ou campos opcionais). Os controladores SDN não trocam nenhuma informação de acessibilidade
Software Resolved Networks (SRNs) é uma nova arquitetura SDN nem SIDs. O orquestrador interage com os controladores SDN e constrói
proposta recentemente para redes corporativas IPv6 [148][149]; mais uma visão de rede global que será usada para realizar o cálculo do
detalhes sobre a implementação são fornecidos na Seção V. A rede é caminho e instanciar os serviços SR. Uma demonstração prática foi
gerenciada por um controlador logicamente centralizado, que interage realizada usando roteadores de software.
com os hosts finais por meio de um protocolo DNS estendido: os Em [151] duas soluções para SR multidomínio são propostas:
aplicativos podem incorporar requisitos de tráfego e/ou caminho em suas Roteamento de Segmento fim-a-fim e Roteamento de Segmento por
solicitações, e o controlador é capaz de retornar o caminho apropriado domínio. Ambos os métodos alavancam uma interface leste/oeste não
para os aplicativos que satisfaçam suas necessidades. O SRv6 é usado padrão entre controladores de pares, contando assim com uma arquitetura
como tecnologia de plano de dados para direcionar o tráfego em um de plano de controle plano e não usando sessões de sinalização no plano de dados.
caminho específico de acordo com as políticas de rede. Cada componente Na primeira abordagem, a lista de segmentos já contém o caminho de
que pode ser alcançado pela rede é sempre referenciado por meio de ponta a ponta que cruza vários domínios. O domínio originador envia
um nome DNS. O resolvedor de DNS padrão nos hosts é modificado uma solicitação ao domínio de destino. O controlador de destino calcula
para interagir com o controlador da arquitetura. O SRN também fornece a lista de segmentos para alcançar o destino de seu roteador de entrada
um mecanismo para o registro dinâmico dos pontos finais. Dessa forma, e a envia de volta ao domínio anterior. Cada domínio intermediário aplica
o banco de dados DNS pode ser atualizado corretamente e a resolução o mesmo procedimento costurando a lista de segmentos computada pelo
de nomes pode ser realizada pelos clientes. As conexões são sempre downstream até que a resposta seja recebida de volta pelo originador.
unidirecionais, portanto, é necessário estabelecer dois caminhos para Por outro lado, na segunda abordagem o caminho de ponta a ponta é
possibilitar a comunicação entre os terminais. Um segmento de ligação é obtido costurando vários caminhos SR: em cada domínio a lista de
usado para implementar uma identificação de caminho e é segmentos contém um rótulo virtual como o fundo da pilha, o que
automaticamente traduzido em uma política SRv6 no nó de acesso. A desencadeia uma modificação da lista de segmentos no nó de fronteira
segmentação de caminhos é realizada usando o algoritmo ilustrado em de ingresso do próximo domínio. Nesse caso, não há uma visão global
[102], que permite que uma determinada política seja correspondida e a da rede e os controladores não conhecem a sequência de domínio para
lista mínima de segmentos seja garantida. A fim de otimizar a interação chegar ao destino. A escalabilidade dos esquemas propostos é avaliada
com o controlador, mediante solicitação, o controlador calcula os dois em termos de profundidade da lista de segmentos. Os resultados mostram
caminhos para suportar a comunicação e, em seguida, instrui o dispositivo que o SR por domínio é capaz de codificar 60% dos caminhos usando no
de acesso de um nó a adicionar também o segmento de ligação reversa máximo 3 rótulos, enquanto o SR de ponta a ponta apenas 12%. Em
no SRH. Desta forma, a resposta pode ser simplesmente ecoada de volta. geral, a profundidade média do SL é de 5,34 e 3,36 respectivamente para
SR de ponta a ponta e SR por domínio. [152] propõe um avanço da
arquitetura Carrier Ethernet e prevê uma abordagem misturando
O Software Resolved Network foi implementado em hosts finais, tecnologias SR e SDN.
roteadores e controladores Linux.
Em [4] uma nova arquitetura SDN é proposta para a tecnologia SRv6; Isso resulta em uma troca entre planos de controle totalmente distribuídos
A Seção V fornece mais informações sobre a implementação e onde é e abordagens centralizadas: um banco de dados de inventário é mantido
possível baixar o código. O plano de dados é constituído por nós SRv6 no controlador SDN com a configuração de cada dispositivo. O controlador
baseados em Linux construídos a partir de componentes de código SDN fornece a configuração de IP e configuração de SR, como endereço
aberto que expõem uma API aberta para o controlador SDN. Como de loopback, rótulo do nó, intervalo de rótulos, informações do rótulo do
resultado, os nós se tornam híbridos, pois prevêem a coexistência de um gateway por meio de uma API Southbound, como NETCONF/Yang. Para
plano de controle IP legado com um plano de controle SDN. Os autores qualquer comunicação dentro do domínio, a rede usará o encaminhamento
apresentam o projeto e implementação da API Southbound entre o baseado em IGP por design sem a necessidade do controlador SDN e
controlador SDN e os dispositivos SRv6, que é utilizada para instanciar imporá ao tráfego um único rótulo MPLS (loopback SID). Vários rótulos
políticas SRv6 na rede. Especificamente, eles propõem um modelo de podem ser usados para realizar aplicações TE. Em vez disso, em um
dados e fornecem quatro diferentes implementações da API, cenário de vários domínios, vários controladores SDN são implantados e
respectivamente baseadas em gRPC, REST, NETCONF e interface de trocam informações de acessibilidade para programar adequadamente
linha de comando remota (CLI). os nós de borda. Dessa forma, um caminho entre domínios pode ser
estabelecido simplesmente com uma pilha de rótulos que inclui rótulos
A descoberta de topologia também é abordada pela extração ativa do de roteador de borda local e remoto, além do rótulo do nó final. Assim
banco de dados de topologia dos daemons de roteamento IP em como em outros trabalhos, análises adicionais não são possíveis, pois o
execução nos nós da rede. código do plano de controle não é open source. Quanto ao plano de
Um plano de controle multidomínio hierárquico para redes SDN dados, a solução conta com hardware Carrier Ethernet.
baseadas em SR foi demonstrado em [150]. O plano de controle é
composto por um aplicativo orquestrador, que é executado em vários Busoni [153] é um framework de orquestração para redes baseadas
controladores SDN e aproveita suas APIs NB para criar serviços em Segment Routing, que automatiza e simplifica muitos aspectos do
baseados em SR de vários domínios. BGP LS e PCEP são usados como gerenciamento de rede. Do ponto de vista arquitetônico, a Busoni fica
southbound nos controladores SDN. em cima de um controlador SDN e se beneficia
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 23
TABELA X
das informações exportadas pelo controlador para alimentar seu armazenamento
CLASSIFICAÇÃO DAS REFERÊNCIAS RELACIONADAS AO CAMINHO
de dados. O último é um banco de dados gráfico, que é usado para persistir
CODIFICAÇÃO.
dados. Em particular, a Busoni o aproveita para acompanhar os SIDs anunciados
na rede, as políticas instaladas e para responder a qualquer evento dinâmico. A
uniforme
estrutura fornece aos usuários ferramentas de programação para compor e [155],[156],[157]
Pesos IGP
Caminho a ser
gerenciar políticas de SR. codificado
arbitrários
[158],[15],[159],[160],[161]
Ele opera com eficiência mesmo em ambientes de multilocação. Pesos IGP
ECMP
Por fim, o Busoni atualiza automaticamente os nós e as bordas do banco de [15],[155],[157],[158]
não permitido
dados do grafo sempre que há uma atualização na rede e reflete essas alterações ECMP
[156],[159],[160],[161]
permitido
nas políticas instaladas. Isso permite que sua resiliência a eventos dinâmicos
[155],[156],[157] [158],
seja mantida. [154] propõe uma arquitetura controlada centralizada escalável Requer não
[15],[159] [160],[161]
para o gerenciamento de SFC Routing e Cloud Bandwidth resource Allocation configuração adicional
sim [155],[156],[157],[158]
(SRCBA) baseado em SR. A solução proposta é pensada para ser aplicada [15],[160] ],[161] vários SLs
único SL
Caminho codificado [159]
em um cenário multidomínio, onde uma rede de transporte interliga um conjunto
de infraestruturas de nuvem privada, possivelmente pertencentes a diferentes
provedores.
Roteamento SFC e alocação de largura de banda de interconexão em nuvem.
Diferentes funções no nível da rede são realizadas em arquiteturas controladas
Em particular, em vez de usar abordagens clássicas para resolver o problema centralmente propostas em [144], [146], [151]. Como exemplo, em [151] SR é
SRCBA, que exigem um conhecimento detalhado da rede de transporte ou da usado para realizar um bypass óptico, enquanto é explorado para superar falhas
infraestrutura de nuvem, a arquitetura proposta explora o conceito BSID para de nó e link em [144]. Finalmente, uma rede de sobreposição para interconectar
abstrair os serviços fornecidos por uma única infraestrutura de nuvem à rede DCs distribuídos geográficos é realizada através de SR em [146].
externa . O orquestrador resultante é então dividido em dois componentes
lógicos: i) um Network Service Orchestrator (NSO) centralizado, que é responsável Como já foi salientado, alguns dos trabalhos que se enquadram na categoria
por coletar as solicitações SFC e gerenciar a largura de banda na rede de de Arquitetura de Controle Centralizado têm como objetivo propor possíveis
transporte, além de decidir a qual datacenter atribuir o processamento de as implementações de SR e fornecer uma demonstração. Este é o caso em [4],
solicitações recebidas, ii) e um conjunto de orquestradores de recursos locais [145], [150]. Em [4], os nós SRv6 baseados na implementação Linux são
que são responsáveis por gerenciar os recursos de rede e nuvem no contexto considerados no plano de dados, enquanto os demais trabalhos são focados em
de uma única infraestrutura. Desta forma, o NSO centralizado pode contar com SR-MPLS.
informações resumidas para tomar decisões enquanto resolve o problema Além disso, [150] demonstra como construir caminhos de ponta a ponta em uma
SRCBA. rede SR multidomínio, enquanto em [145] um cenário de domínio único é
considerado.
o algoritmo de atribuição de caminho SR proposto fornece a lista de de reduzir a sobrecarga dos cabeçalhos dos pacotes, mas com relação às
segmentos mais curta considerando um caminho único para o destino e soluções descritas acima, eles começam a partir do caminho salto a salto
evitando o balanceamento de carga por meio do ECMP. O algoritmo usa dois original e, em seguida, avaliam a redução da amplitude dos subcaminhos em
ponteiros, i e j, para navegar no caminho de destino da origem ao destino. cada iteração.
Primeiramente, j é incrementado até que o subcaminho considerado não seja Em [158], dois algoritmos para uma codificação eficiente de caminhos são
mais o único caminho mais curto. propostos. Os algoritmos, denominados SR-LEAs, tomam como entrada um
Neste ponto, o SID do nó j ÿ 1 é inserido na lista de Segmentos, os dois caminho mais curto explícito e então computam a lista de segmentos relativos
ponteiros são definidos como j ÿ 1 e, em seguida, o procedimento é reiniciado. tendo como restrição uma dada profundidade máxima de lista de segmentos.
Este ciclo é repetido até que o nó j seja igual ao destino. Os algoritmos São compostos por duas etapas principais: i) cálculo dos caminhos mínimos
fornecem a lista de segmentos de profundidade mínima, mas a solução sucessivos; ii) substituição da etiqueta. Especificamente, eles computam os
considera apenas o Node-SID global e, portanto, não pode ser aplicado a subcaminhos do caminho mais curto original e levam em consideração a
topologias com custos de enlace IGP arbitrários. limitação do hardware para reduzir o número de subcaminhos. Na segunda
etapa, os subcaminhos compostos por três ou mais nós são substituídos pelo
Os autores de [156] propõem um algoritmo de codificação de lista de Node-SID de seu tailnode. SR-LEA substitui dois subcaminhos de nó usando
segmentos para expressar um determinado caminho, que minimiza Adj-SID. A variante SR-LEA-A é muito semelhante ao algoritmo acima, mas
(reforçando um determinado limite) a profundidade da lista de segmentos em aproveita o Adj-SID global para reduzir ainda mais a profundidade da pilha de
redes baseadas em SR. Ele considera o encaminhamento de ECMP por rótulos. Obviamente, é necessário o anúncio desses SIDs para funcionar
padrão, mas também pode introduzir restrições para dar suporte a um corretamente. Os resultados da simulação mostram que os algoritmos são
caminho determinístico de salto a salto. Com relação a outros esforços (como capazes de calcular listas de segmentos com comprimento médio inferior a 3.
[15]), a solução não é capaz de suportar caminhos hop-by-hop arbitrários
quando custos arbitrários de link IGP são usados. O núcleo do algoritmo
consiste na criação de um grafo, cujos arcos modelam as instruções O SR-LEA-A oferece melhores resultados e pode melhorar o cálculo da lista
relacionadas ao SR (SIDs de nós e adjacências). Especificamente, um arco de segmentos em comparação com o SR-LEA, mas o ganho é de cerca de
conectando dois nós representa o caminho mais curto na rede original entre 5% em termos de comprimento médio.
o mesmo par de nós. O chamado grafo auxiliar é construído primeiramente Os autores de [15] propõem um algoritmo de atribuição de caminho SR
usando as ligações físicas dos caminhos, que são computadas por uma ótimo e provam que ele é ótimo em termos do número de segmentos
heurística TE externa. utilizados. O algoritmo toma como entrada um caminho hop-by hop resultante
Subsequentemente, links virtuais são adicionados representando os caminhos de um algoritmo TE e define um caminho SR para ele composto pelo número
ECMP entre dois nós. Cada link virtual é anotado com as métricas e o número mínimo de segmentos.
de ECMPs entre os dois nós. Usando este gráfico auxiliar, um novo cálculo O algoritmo de atribuição SR avalia a cada iteração se existe um caminho
de caminho é realizado adicionando uma nova restrição relacionada ao mais curto entre a fonte atual e o destino atual, considera diferentes
número de saltos: cada caminho com um número de salto maior que a subcaminhos e atualiza a fonte atual ou o destino atual. Cada vez que um
profundidade máxima da lista de segmentos é rejeitado. Os caminhos novo segmento é encontrado, a origem atual é atualizada com o destino
candidatos são então classificados primeiro de acordo com suas métricas anterior e o destino atual é substituído pelo destino do caminho salto a salto
originais, em segundo lugar de acordo com seu comprimento e, em seguida, original. Na pior das hipóteses, o link entre a fonte atual e seu próximo salto
de acordo com o número de ECMPs. Por fim, os caminhos são traduzidos é avaliado e, se o link não fizer parte do caminho mais curto, um segmento
em SIDs usando esta abordagem: os links físicos são alterados com seus de adjacência será inserido na lista de segmentos.
respectivos SIDs de Adjacência, os links virtuais são mapeados com o Node
SID do nó de destino. Se o SID de Adjacência não for local o algoritmo
primeiro insere o SID do Nó da origem e depois o SID de Adjacência. Os autores de [159] propõem um método de duas etapas para traduzir
um determinado caminho de Engenharia de Tráfego (TE) em um SL. Na
primeira etapa, um gráfico auxiliar é criado. O objetivo do gráfico auxiliar é
[157] propõe dois algoritmos para o cálculo da lista de segmentos; os representar todos os caminhos do Interior Gateway Protocol (IGP) disponíveis,
algoritmos são ótimos em termos de profundidade da pilha quando um ou seja, caminhos de encaminhamento, para o caminho TE específico a ser
caminho único salto a salto foi calculado. codificado. Na segunda etapa, um problema MILP sobre o grafo auxiliar é
A ideia chave é considerar a cada iteração subcaminhos maiores e verificar definido: o problema MILP permite a minimização do comprimento total da
se existe um único caminho mais curto. Se existir, substitua o sub-caminho Lista de Segmentos dado o caminho TE alvo. Uma das principais
pelo SID do nó de cauda antes de passar para a parte restante do caminho. características da solução proposta é o suporte a multicaminhos, ou seja, a
A principal diferença entre os algoritmos é como variar a amplitude dos capacidade de dividir um fluxo de origem e destino entre um conjunto
subcaminhos até considerar o caminho original hop-by-hop. O primeiro ponderado de listas de segmentos.
algoritmo navega no caminho de destino a partir do nó de origem em direção Em [160] é estudado o problema de otimizar o desempenho de uma rede
ao destino, enquanto o segundo aproveita a direção oposta. A análise da SR sob a restrição máxima de Profundidade da Lista de Segmentos (max
sobrecarga nos cabeçalhos dos pacotes mostra que o algoritmo reverso SLD). De fato, especialmente quando o SR é realizado no topo do plano de
apresenta menos sobrecarga em comparação com o algoritmo direto, pois a dados MPLS, a restrição no max-SLD é particularmente limitante. Uma
lista de segmentos computados normalmente inclui nós que estão próximos possível solução é criar novos LSPs, aumentando assim a disponibilidade de
à origem. caminhos alternativos na rede underlay e, consequentemente, permitindo a
escrita de listas de segmentos mais curtas. Apesar do fato de que
Outros trabalhos (por exemplo [15], [114]) compartilham o mesmo objetivo
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 25
TABELA XI
a criação de novos LSPs reduz o comprimento das listas de segmentos, sua
CLASSIFICAÇÃO DAS REFERÊNCIAS RELACIONADAS A
principal desvantagem é o aumento do número de regras de encaminhamento
PROGRAMAÇÃO DE REDE .
necessárias a serem instaladas nas tabelas de encaminhamento dos
roteadores. A fim de mitigar este efeito negativo, [160] define o conceito de
Função de serviço
encaminhamento baseado em painel: um painel refere-se a um conjunto de [21],[162],[163],[164],
Encadeamento
LSPs desconectados de nós que podem ser representados pelo mesmo Função Operacional [165],[166],[167],[100]
rótulo. Além disso, uma formulação ILP é proposta para resolver o problema
de codificação de caminho, minimizando tanto o número de novos LSPs
definidos quanto as regras instaladas, respeitando a restrição max-SLD. F. Programação de Rede
Quando esta condição não se verifica, o primeiro SID é encontrado. O VNFs SR-aware e SR-unware. Mais detalhadamente, usando a estrutura
netfilter, um novo módulo de kernel chamado srext (Segment Routing
processo continua até que o caminho completo seja explorado. As ferramentas
EXTensions) é implementado para atuar como um conector SR/VNF e para
de codificação SL apresentadas em [15], [155], [157], [161] usam essa abordagem.
dar suporte a VNFs que não reconhecem SR. Um testbed virtualizado baseado
Além disso, é interessante ressaltar que todos os trabalhos que utilizam essa
em Virtualbox e Vagrant é realizado para avaliar a sobrecarga de
abordagem não permitem o uso de ECMP no underlay.
processamento introduzida pela implementação proposta em relação a uma
solução clássica de encaminhamento IPv6.
O segundo tipo de abordagem consiste na criação de um grafo auxiliar
para representar os caminhos de subjacência. Especificamente, um arco do
gráfico auxiliar é um caminho inteiro na subjacência. Este tipo de abordagem SRV6Pipes [164] é uma extensão da implementação IPv6 do Segment
é usado em [156], [159]. A principal diferença entre as soluções apresentadas Routing no kernel Linux, que permite o encadeamento e operação de funções
nestes dois trabalhos é que, em [156] o caminho fim a fim é codificado na rede operando em streams. O SRv6 é usado para impor um caminho de
aplicando o algoritmo de Dijkstra sobre o grafo auxiliar, enquanto em [159] o ponta a ponta entre o cliente e o servidor passando pelo equipamento que
problema é modelado como um Multi Commodity Flow sobre o gráfico auxiliar. hospeda as funções de rede. A lógica por trás do SRv6Pipes está no fato de
Como consequência, [159] também permite o uso de múltiplos SLs para que algumas funções de rede precisam incluir uma implementação TCP para
direcionar um único fluxo. funcionar nos fluxos. SRv6 Pipes
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 26
aproveita “a pilha TCP que já está presente no kernel do Linux” e Em particular, na chegada de uma solicitação em um proxy CDN, o
implementa um proxy TCP transparente para descarregar as identificador IPv6 é usado pelo mecanismo de previsão para realizar
funcionalidades TCP para ele e encerrar as conexões TCP onde uma a admissão de cache, estimando a popularidade de solicitações com
função de rede é implantada. Dessa forma, é possível expor às um filtro Least-Recently-Used (LRU). Se isso não estiver disponível
funções de rede os bytestreams que elas precisam processar. O (cache miss), 6LB [166] é usado para encaminhar solicitações
endereçamento especial é usado para especificar funções de rede e diretamente para os servidores de origem em vez de fazer proxy deles no cache.
seus parâmetros. Em particular, cada proxy expõe um prefixo 80. Os Segundo os autores, este mecanismo permite reduzir a carga no
primeiros 80 bits são usados para percorrer o proxy, os 16 bits edge cache e evitar efeitos negativos na Qualidade da Experiência.
seguintes são usados para identificar a função de rede e os restantes [100] propõe uma técnica de migração ao vivo baseada em SR que
são usados para especificar os parâmetros da função. [165] define o alcança zero perda de pacotes. O ponto de partida é uma rede de
conceito de SR Aware VNF, como uma aplicação que é capaz de data center habilitada para SRv6. Duas novas funções SR são
processar as informações de SR no pacote. Além disso, [165] definidas e usadas no processo de migração ao vivo da VM. O
também propõe a implementação de uma aplicação SR Aware primeiro é encaminhado para local se estiver presente, que é uma
(SERA) Firewall. O SERA Firewall pode funcionar tanto como firewall versão condicional do comportamento END descrito na seção II-C.
legado (modo básico), quanto definir regras de filtragem que também Especificamente, caso o último SID no SL esteja disponível localmente,
incluem condições nos campos SR (modo avançado). No modo o pacote é processado diretamente, ignorando possíveis SIDs
básico, ele pode aplicar o processamento normal de firewall aos intermediários. O segundo é buffer e encaminhamento para local.
pacotes originais, mesmo que tenham um encapsulamento SFC
baseado em SR. Isso significa que as regras de filtragem são Isso força o nó a inspecionar o último SID e, se não estiver disponível
aplicadas aos valores originais do cabeçalho do pacote (os campos localmente, o pacote é armazenado em buffer até que o SID fique
relacionados ao SR são transparentes). No modo avançado, o SERA disponível. Assumindo que uma VM é migrada do host A para o host
oferece novos recursos de correspondência e novas ações específicas B, todas as solicitações recebidas pelo gateway do data center são
de SR que permitem a modificação de campos no cabeçalho SR. então encapsuladas durante o processo de migração usando um SL
em que: i) o primeiro SID aponta na função forward to local if present
O Balanceamento de Carga de Roteamento de Segmento (SRLB) implementada em A , ii) o segundo SID aponta para o buffer e
[166] é um balanceador de carga com reconhecimento de aplicativo encaminha para a função local implementada em B, e iii) o último SID
que evita custos devido a tarefas de monitoramento. Pensa-se que é encaminhado para a VM. Desta forma, até que a VM esteja
funcione no contexto de uma rede de Data Center, onde várias disponível em A, os pacotes são entregues diretamente à VM graças
instâncias de uma mesma aplicação são instanciadas em diferentes à função forward to local if present. Então, durante o tempo de
máquinas host. Cada máquina host é equipada com um roteador inatividade, os pacotes direcionados à VM são armazenados em
virtual baseado em VPP que despacha pacotes entre NICs físicos e buffer em B graças ao buffer e encaminhados para o local. Finalmente,
interfaces virtuais vinculadas a aplicativos. O Load Balancer (LB) está quando a VM fica disponível em B, os pacotes em buffer, bem como
localizado na borda da rede do Data Center. Uma solicitação para um os recém-chegados, são entregues diretamente à VM em B. Desta
aplicativo é representada pelo primeiro pacote enviado do cliente para forma, é possível implementar a migração ao vivo da VM sem perda
o servidor de aplicativos (geralmente uma mensagem syn). Quando de pacotes.
uma nova requisição chega ao LB, é executada a função Service SRNK [21] é um SR-proxy para VNFs legados que desconhecem
Hunting, que consiste em encontrar um servidor que possa atender a a tecnologia SRv6 e esperam processar pacotes IP tradicionais.
requisição atual. O LB explora o SR para consultar um subconjunto SRNK estende a implementação do SRv6 no kernel Linux [193]
de servidores que hospedam o aplicativo solicitado. Especificamente, adicionando o suporte para os comportamentos End.AS e End.AD. O
o LB codifica o conjunto de servidores potenciais selecionados desempenho da solução proposta foi avaliado pelos autores, que
aleatoriamente na lista de segmentos antes de encapsular o primeiro identificaram uma escalabilidade ruim em relação ao número de VNFs
pacote da solicitação. Quando o primeiro servidor recebe o pacote, a serem suportados dentro de um nó NFV. Com um aprimoramento
ele pode decidir se vai entregá-lo à aplicação e, consequentemente, da estrutura Linux Policy Routing, eles forneceram um segundo
atribuir a ele o processamento dessa solicitação, ou pode encaminhar design SRNKv2, que não depende do número de VNFs com suporte
o pacote para o próximo servidor da lista de segmentos. A decisão de em um nó. Eles compararam o desempenho com um cenário de
aceitar/recusar uma solicitação é tomada de acordo com uma política referência não realizando a operação de encapsulamento e
de aceitação de conexão que leva em consideração o estado interno desencapsulamento e demonstraram que o overhead do SRNKv2 é
do aplicativo (uso de CPU, uso de memória etc.). [167] propõe uma muito pequeno, da ordem de 3,5%. [21], [162]–[164] têm em comum
nova arquitetura para o Content Delivery Networks (CDNs) com o tópico de encadeamento de funções de serviço. Ao mesmo tempo,
base nos resultados de [166]. Nesse novo paradigma, as decisões de existem algumas diferenças importantes que devem ser destacadas.
CDN (cache vs servidores de origem) são transferidas para o plano [162] adiciona uma API na implementação SRv6 do kernel Linux para
de dados. Essa arquitetura é baseada em duas peças fundamentais: mapear os segmentos de serviço. Ele lida principalmente com VNFs
i) endereçamento de conteúdo em nível de bloco e ii) seleção de com reconhecimento de SR.
servidor na rede. A primeira é realizada atribuindo um endereço IPv6
exclusivo e globalmente roteável a cada bloco. Em vez disso, a Em vez disso, [21] propõe um SR-proxy para VNFs SR-unware. [163]
seleção do servidor na rede aproveita esses identificadores expostos implementa uma solução capaz de lidar com VNFs SR-aware e SR-
como endereços IP para tomar decisões de encaminhamento em unware, mas com relação aos trabalhos anteriores ele estende o
banda, que são posteriormente vinculadas a uma política de direção SRv6.framework netfiler, enquanto as soluções anteriores
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 27
são extensões da implementação SRv6 no kernel Linux. devido à tradução SRv6. Além disso, a latência dos comportamentos
Por fim, [164] ainda é uma extensão da implementação do SRv6 no do SRv6 é semelhante às funções de encap/decap do GTP-U.
kernel Linux, mas permite o encadeamento de funções na rede operando
em fluxos, trabalhando assim em um nível superior (camada de
H. Diversos
transporte) em relação aos trabalhos anteriores.
Nesta seção, incluímos todos os trabalhos que não pertencem às
categorias anteriores. Em geral, esses trabalhos são muito diferentes
G. Avaliação de desempenho
entre si e possuem apenas o Segment Routing em comum.
Nesta subseção, relatamos quatro artigos que tratam da [14] fornece um tutorial sobre Segment Routing e um levantamento
avaliações de desempenho de implementações SRv6. sobre a atividade de pesquisa abrangendo mais de 50 artigos científicos.
SRPerf [168] [171] é uma estrutura de avaliação de desempenho A parte do tutorial se concentra na parte do plano de dados SR-MPLS
para implementações de software e hardware do SRv6. O SR Perf é e não considera o plano de dados SRv6 recente. Esforços de
capaz de realizar diferentes testes de benchmarking, como throughput padronização de SR, atividades de implementação e implantações não
e latência. No momento da escrita, a estrutura suporta implementações são especificamente analisados em [14].
de kernel Linux e VPP de SRv6. A arquitetura do SRPerf pode ser O Control Exchange Point (CXP) definido em [172], ainda que não
facilmente estendida para suportar novas metodologias de benchmarking, explicitamente baseado em SR, propõe o conceito de path let [173],
bem como diferentes implementações de SRv6. A estrutura oferece que se assemelha muito à ideia da lista de instruções presente na
suporte a duas métricas diferentes para caracterizar a taxa de arquitetura SR. O principal objetivo do Control Exchange Point (CXP) é
transferência de um nó habilitado para SRv6: No-Drop Rate (NDR) e fornecer serviços com restrições de QoS entre domínios. Isso é
Partial Drop Rate (PDR). O PDR é definido como a maior taxa de conseguido costurando os pathlets que são caminhos parciais
transferência alcançada sem descartar pacotes além de um limite anunciados pelos domínios. Um ISP abstrai sua rede como um conjunto
predefinido. NDR, que corresponde ao Throughput definido pela RFC de pathlets conectando as bordas da rede e os anuncia no sentido norte.
1242 [194], pode ser descrito como PDR com um limite de 0%. A
estrutura orquestra todos os aspectos de um experimento, desde a Mais especificamente, esta abstração é realizada com túneis
configuração do testbed até a aplicação das configurações SRv6, instanciados com OF, MPLS, caminhos ópticos e assim por diante. A
aliviando assim o experimentador de um esforço significativo de abstração do pathlet é empacotada com propriedades que o ISP
configuração. fornece, como latência, custos, largura de banda disponível e assim por
O SRPerf tem sido usado para avaliar o desempenho das diante. Um CXP é uma entidade externa que atua como camada de
implementações do SRv6 no kernel Linux e no VPP. Além disso, em intermediação e fornece coordenação de roteamento entre domínios
[171], os autores propõem a avaliação de um kernel Linux aprimorado, com base em APIs SDN. A ideia geral parece estar alinhada com a
que foi obtido adicionando a implementação de comportamentos arquitetura SR apresentada até agora, e pode ser implementada usando
ausentes e corrigindo a implementação de tecnologias de plano de dados SR.
uns. [174], [175] e [176] propõem uma implementação alternativa da
[169] apresenta uma solução em que funções de rede de baixo arquitetura SR através da Omnipresent Ethernet (OE), que é uma
nível, como encapsulamento SRv6, são transferidas para placas modificação da arquitetura Carrier Ethernet. Ele é baseado em rótulos
programáveis Intel FPGA. Em particular, os autores descarregam roteados de origem e binários incorporados em um quadro Ethernet.
parcialmente o processamento SRv6 de um roteador de software VPP [176] fornece detalhes sobre o cabeçalho SR implementado. Os autores
para as NICs dos servidores, aumentando assim o desempenho do dos trabalhos mencionados abordam questões de escalabilidade de SR
caminho de dados e, ao mesmo tempo, economizando recursos. Esses no contexto de cenários multidomínio ios de dois pontos de vista
preciosos ciclos de CPU são disponibilizados para VNFs ou para outras diferentes: tamanho do cabeçalho do pacote e o número de entradas
cargas de trabalho em execução nos servidores. Os resultados dos de tabela necessárias nos nós de borda. Realizam também um testbed
testes do caso de uso End.AD mostram no pior cenário uma economia para validar a implementação dos esquemas propostos. No entanto,
de CPU de 67,5%. Além disso, a taxa de transferência máxima uma análise mais aprofundada não é possível, pois a solução se baseia
alcançada por uma solução VPP pura com 12 núcleos é obtida pela soluçãonoacelerada
hardwareusando
Carrier apenas 6
Ethernet.
núcleos. [177] analisa o problema de TE para SR sob uma perspectiva
[170] estuda o SRv6 como protocolo de plano de usuário alternativo diferente: os autores avaliam a influência das métricas utilizadas para
ao GTP-U [99]. Primeiramente, os autores propõem uma implementação definir o custo dos enlaces. As principais descobertas do estudo indicam
das funções GTP-U encap/decap e dos comportamentos de tradução que a métrica de roteamento pode influenciar o TE baseado no caminho
sem estado do SRv6 definidos em [24]. Esses comportamentos mais curto. Métricas muito simples e razoáveis, como capacidade
garantem a coexistência dos dois protocolos, o que é crucial para uma inversa, funcionam bem como uma métrica complexa otimizada. Eles
implantação gradual. Os autores usaram switches programáveis de data permitem que isso esteja próximo do ótimo em relação ao objetivo mais
center para implementar essas funcionalidades de plano de dados. comum da engenharia de tráfego de minimizar a utilização máxima. Por
Como é difícil obter a telemetria de um gerador de tráfego comercial fim, se outros objetivos forem introduzidos além de otimizar a utilização
quando ocorre uma tradução, os autores injetaram timestamp com uma do link, a escolha da métrica é mais importante e há diferenças
resolução de nanossegundos para medir a latência dos comportamentos significativas entre as métricas. Embora [177] trate de Engenharia de
SRv6. Finalmente, eles mediram a taxa de transferência e a perda de Tráfego, ele não fornece uma nova heurística nem uma forma diferente
pacotes sob condições de tráfego leve e pesado em um ambiente local. de abordar o problema, mas é simplesmente um estudo sobre a
Os resultados não mostram uma grande queda de desempenho influência do
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 28
métricas de roteamento. Portanto, não o classificamos na categoria TE. Comportamento do Headend da política [196]. Localsids SRv6 com
comportamento SRv6 Policy Headend são adicionados como entradas IPv6
Em [178], os autores aproveitam o Segment Routing para construir um FIB na tabela de roteamento principal do kernel. Kernel 4.14 é outro marco
mecanismo de entrega Multicast baseado em SR para fornecer eficientemente importante para o suporte SRv6 no Linux: um conjunto de comportamentos
serviços de streaming de vídeo ao vivo para usuários 5G. O SR é usado para de endpoint SRv6 foi implementado adicionando um novo tipo de LWT [197].
aliviar a sobrecarga de atualização de regras e evitar a explosão de tabelas Os comportamentos de endpoint SRv6 suportados são End.X, End.T,
de roteamento nos dispositivos. O trabalho se baseia em um problema End.DX2, End.DX4. End.DX6, End.DT6, End.B6 e End.B6.Encaps. Alguns
interessante, embora não forneça muitos detalhes sobre a implementação da novos comportamentos de Headend de Política SRv6 foram adicionados (por
RS. O trabalho foca principalmente no problema de construção de uma exemplo, H.Encaps.L2). A implementação do iproute2 também foi estendida
árvore Multicast eficiente para reduzir ainda mais a atualização de regras [195] [198]. Os recursos do SRv6 no kernel Linux foram estendidos no kernel
devido aos movimentos do usuário (árvore Multicast consciente de Handover). 4.16 [199] para incluir o framework netfilter [200]. Uma nova extensão de
[179] considera um cenário de IoT Industrial (Internet das Coisas) com um correspondência do iptables, chamada srh, foi adicionada ao kernel para
número extremamente grande de objetos a serem conectados, levando suportar a correspondência de campos SRH. A extensão srh match faz parte
também em conta sua mobilidade. A solução proposta conta com o Segment do firewall SERA [165] e suporta a correspondência de todos os campos do
Routing para permitir escalabilidade e flexibilidade no encaminhamento de SRH. A implementação do utilitário iptables user space [201] é estendida
pacotes. Isto é, em particular, para contornar os links sobrecarregados e com uma nova biblioteca compartilhada (libip6t_srh) que permite definir
alcançar o equilíbrio de carga. regras do iptables com opções srh.
[180] propõe um novo modelo de processamento distribuído para IoT, O Linux Kernel 4.18 [202] adicionou mais alguns recursos tanto na pilha
baseado na extensão do Modelo de Programação de Rede SRv6. A ideia é SRv6 principal quanto na estrutura netfilter.
que cada nó IoT ofereça uma máquina abstrata que pode ser programada Na estrutura do netfilter, a correspondência srh é estendida para fornecer a
usando uma Arquitetura de Conjunto de Instruções. O programa pode ser correspondência do SID anterior, do próximo SID e do último SID do SRH. O
incorporado em uma lista de segmentos SRv6. Um pacote SRv6 carrega o utilitário de espaço do usuário iptables também é atualizado para suportar as
programa e o estado de execução. Ele pode viajar pelos nós IoT, lendo e novas opções de correspondência. Em vez disso, um novo recurso é
gravando as portas de E/S do dispositivo e executando cálculos conforme adicionado à pilha Linux SRv6 para suportar funções de rede SRv6
ditado pelo programa no próprio pacote. personalizadas implementadas como pequenos programas eBPF [185]. [108]
estende [3] introduzindo um novo comportamento End, o chamado End.BPF.
Do ponto de vista da implementação, um novo gancho para BPF é adicionado
V. IMPLEMENTAÇÕES E IMPLANTAÇÕES DE SR à infraestrutura SRv6 que pode ser usado por operadores de rede para
anexar pequenos programas escritos em C a SIDs SRv6 que têm acesso
Nesta seção, descrevemos os resultados da implementação relacionados
direto aos quadros Ethernet. Além disso, auxiliares específicos do SRv6-BPF
ao SR. Vamos nos concentrar principalmente na versão SRv6, que está
foram fornecidos para permitir que as funções End.BPF executem ações
atraindo muito interesse e esforços de desenvolvimento.
básicas do SRv6 (End.X, End.T e muitas outras) ou adicionem TLVs. Isso
A versão SR-MPLS já está em uma fase madura de desenvolvimento, bem
permite que comportamentos de Headend de política SRv6 personalizados
suportada pelos principais fornecedores de roteadores principais (por exemplo,
sejam implementados (principalmente para estender políticas de
Cisco, Huawei, Juniper). O SR-MPLS pode ser implementado de forma
encapsulamento SRv6 implementadas pelo kernel). O tutorial sobre extensões
incremental nos backbones IP-MPLS atuais, pois requer apenas atualizações
eBPF para SRv6 está disponível em [203]. O código-fonte dos aplicativos de
de software para dispositivos de rede. Os operadores podem migrar para o
amostra descritos em [108] está disponível gratuitamente em [204]. Em vez
SR-MPLS para simplificar as operações do plano de controle e melhorar a
disso, os esquemas de detecção de falhas e redirecionamento rápido
escalabilidade. Quanto ao plano de dados SRv6, existem duas principais
baseados em eBPF descritos em [138] estão disponíveis em [205].
implementações de plano de dados Open Source para roteadores de
software: a implementação do kernel Linux (descrita na Subseção VA) e a
O SR-MPLS não recebeu a mesma atenção da implementação do SRv6
implementação feita pelo projeto FD.io VPP (descrita na Subseção VB). A
no kernel Linux. Todos os recursos disponíveis estão principalmente
seção VC apresenta outras implementações de código aberto, principalmente
relacionados ao encaminhamento MPLS bem estabelecido. Eles foram
relacionadas a atividades de pesquisa. Finalmente, na Subseção VD,
disponibilizados a partir da versão 4.1 do kernel. Em particular, o kernel v4.1
analisamos brevemente as implementações de hardware do SRv6, os
viu a introdução do comportamento do MPLS Label Switching Router (LSR).
esforços de interoperabilidade feitos por vários fornecedores e as atuais
Os recursos MPLS foram estendidos posteriormente no kernel v4.3. A
implementações do SRv6 em grandes redes de produção.
estrutura LWT e o túnel MPLS foram adicionados permitindo a implementação
do comportamento do MPLS Label Edge Router (LER). Finalmente, a
funcionalidade multipath MPLS foi adicionada apenas na versão 4.5 do kernel.
A. Kernel do Linux
políticas. equilibrado entre eles. Para direcionar pacotes em trânsito para uma
política SR MPLS, o usuário deve criar uma política de direção SR-
MPLS. Em vez disso, outros recursos do SR-MPLS, como, por exemplo,
B. FD.io VPP
SIDs de adjacência, podem ser obtidos usando a implementação
A plataforma FD.io Vector Packet Processing (VPP) [206] é uma regular do VPP MPLS. Na versão 18.04, os comportamentos de proxy
estrutura extensível que fornece funcionalidade de switch/roteador de de programação de serviço End.AS, End.AD e End.AM foram
qualidade de produção pronta para uso que pode ser executada em introduzidos como plug-ins do VPP, aproveitando a estrutura descrita anteriormente.
CPUs comuns. O VPP 17.04 incluiu o suporte para os comportamentos
SRv6 Policy Headend (anteriormente conhecido como trânsito) e a C. Outras implementações de código aberto
maioria dos comportamentos de endpoint definidos em [3]. Esses Vários esforços de pesquisa analisados na seção IV liberaram os
comportamentos são implementados em nós de gráfico VPP dedicados. componentes e as extensões realizadas para SR como código aberto.
Os nós do gráfico SRv6 executam os comportamentos SRv6 Alguns deles se baseiam nas implementações descritas nas Subseções
necessários, bem como o processamento IPv6 (por exemplo, diminui o anteriores, enquanto outros propõem soluções alternativas. O módulo
limite de saltos). Sempre que um segmento SRv6 é instanciado, uma SREXT ([163]) fornece uma implementação complementar do SRv6
nova entrada IPv6 FIB é criada para o endereço do segmento apontando em nós baseados em Linux.
para o nó do gráfico VPP correspondente. A versão 17.04 também Quando foi projetado, o kernel do Linux oferecia apenas o
trouxe recursos de headend de SR para o VPP ao introduzir o conceito processamento básico do SRv6 (comportamento do End). O SREXT
de política de SR na implementação do SRv6. No VPP, uma política complementou a implementação do kernel Linux SRv6 fornecendo um
SR é identificada exclusivamente por seu endereço BindingSID, que conjunto de comportamentos que ainda não eram suportados.
serve como chave para uma política SR específica. Isso não é Atualmente, a maioria dos comportamentos implementados no SREXT
compatível com a definição de política SR [33], mas um atalho razoável são suportados pela linha principal do kernel Linux (com exceção dos
considerando a ausência de recursos de plano de controle no VPP. comportamentos do proxy SR). O SREXT fornece uma tabela SID local
As políticas SR no VPP oferecem suporte a várias listas SID com adicional que coexiste com a mantida pelo kernel do Linux.
balanceamento de carga ponderado do tráfego entre elas. Quando O módulo SREXT se registra como uma função de retorno de chamada
uma nova lista de segmentos é especificada para uma política SR, o no gancho de pré-roteamento do framework netfilter [200]. Como sua
VPP pré-computa a string de reescrita que será usada ao direcionar o posição está no início do processamento do netfilter, ele é invocado
tráfego para essa lista SID, seja por meio de um comportamento SR para cada pacote IPv6 recebido. Se o endereço IPv6 de destino
Policy Headend ou de um BindingSID. O VPP então inicializa uma corresponder a uma entrada na tabela SID local, o comportamento
entrada FIB para a política SR BindingSID no FIB e uma entrada em associado será aplicado, caso contrário, o pacote seguirá o
uma tabela FIB oculta para o tráfego IPv6 direcionado para a política processamento normal do subsistema de roteamento. O código fonte
SR por meio de um comportamento SR Policy Headend. Cada uma do SREXT junto com a caixa Vagrant estão disponíveis em [207].
dessas entradas FIB aponta para o objeto de política SR, que por sua Usando a caixa Vagrant, é possível inicializar um pequeno testbed em
vez se repete nas listas de segmentos ponderados. poucos minutos e iniciar os experimentos nos recursos do SREXT.
O tráfego pode ser direcionado para uma política SR enviando-o
para o BindingSID correspondente ou configurando uma regra, FRRouting (FRR) [208] é uma pilha de protocolos de roteamento de
chamada política de direção, que direciona todo o tráfego em trânsito código aberto para Linux bifurcada de Quagga [209]. Em FRR, há um
para um determinado prefixo IP ou interface L2 em uma política SRv6. suporte experimental [210] do rascunho [25] que define as extensões
O último mecanismo é implementado como entrada FIB para o tráfego OSPFv2 para Segment Routing (SR-MPLS). No momento da escrita,
direcionado no FIB principal a ser resolvido através da entrada FIB da não há suporte para SRv6.
política SR na tabela FIB oculta. Desta forma, uma estrutura FIB O projeto SPRING-OPEN [145] fornece uma implementação baseada
hierárquica é realizada: o tráfego não é direcionado diretamente sobre em SDN de SR-MPLS. A arquitetura é baseada em um plano de
uma política SR, mas direcionado para uma entrada FIB oculta controle SDN clássico (centralizado logicamente), construído sobre o
associada à política. Isso permite que a política de SR seja modificada ONOS. Parte deste trabalho convergiu mais tarde em Trellis [189], um
sem exigir nenhuma alteração nas regras de direção que apontam para tecido multifuncional de código aberto que suporta redes de acesso
ela. distribuído, NFV e aplicativos de nuvem de borda.
A versão 17.04 também viu a introdução do SRv6 O Trellis também inclui o suporte de dispositivos P4/P4Runtime [211]
Estrutura de desenvolvimento LocalSID e implementação do SR- [212] bem como dispositivos habilitados para Stratum [213]. Trellis tem
MPLS. A primeira é uma API que permite aos desenvolvedores criar sido usado como tecido underlay/overlay no projeto CORD [214] que
novos comportamentos de endpoint SRv6 usando a estrutura de plug- visa redesenhar arquiteturas de escritórios centrais.
in do VPP. O princípio é que o desenvolvedor apenas codifica o Recentemente, foi integrado no projeto SEBA [215] que visa redes de
comportamento real, ou seja, o nó do gráfico VPP. Em vez disso, a acesso residencial. Toda a pilha de software e a documentação estão
instanciação, listagem e remoção do segmento são realizadas pelo disponíveis gratuitamente em [216].
código SRv6 existente. A estrutura SR-MPLS está focada nas políticas Além disso, um tutorial junto com uma VM pronta para uso pode ser
de SR, bem como em sua direção. Da mesma forma no SRv6, uma baixado de [217].
política SR é definida por um rótulo MPLS que representa o BindingSID PMSR ([15] e [114]) fornece uma implementação de código aberto
e um conjunto ponderado de pilhas de rótulos MPLS. de SR-MPLS juntamente com a realização de um plano de controle
As políticas de spray são um tipo específico de políticas SR-MPLS em SDN. O plano de dados aproveita a arquitetura OSHI ([218], [219]) que
que o pacote é replicado em todas as listas SID, em vez de carregar combina um plano de dados SDN,
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 30
implementado com Open vSwitch [220], e lógica de controle OSPFv2, kernel (a partir da ramificação 4.14.0) e o iproute2 corrigido (a partir da
realizado com Quagga. Esta arquitetura é estendida no PMSR com a tag iproute2-ss171112). Em vez disso, as etapas detalhadas de
introdução de uma entidade de extração de rotas que se conecta ao configuração do SR-proxy são relatadas nos Apêndices A e B de [21].
Quagga e recebe atualizações de rotas usando a interface FPM
fornecida pelo Quagga [209]. Essas rotas são então traduzidas em [133] descreve a implementação de um elemento de cálculo de
SIDs e instaladas no plano de dados SDN como regras de caminho capaz de computar caminhos SR robustos disjuntos que
encaminhamento OpenFlow MPLS. Os autores fornecem um conjunto permanecem disjuntos mesmo após um conjunto de falhas de entrada
de ferramentas de gerenciamento [221] que auxiliam os experimentadores sem a necessidade de alterações de configuração. A implementação
e os aliviam de um enorme esforço de configuração. Um tutorial para java dos algoritmos, as topologias públicas utilizadas para os
começar a trabalhar com PMSR está disponível em [222]; em vez disso, experimentos, os resultados experimentais e um passo a passo
uma VM pronta para uso com todas as dependências instaladas pode detalhado para replicar os experimentos do artigo estão disponíveis em [233].
ser baixada em [223].
Software Resolved Network (SRN) (descrito em [148] e [149]) é uma
D. Implementações de hardware, esforços de interoperabilidade e
variante da arquitetura SDN. O controlador de rede é logicamente
implementações para SRv6
centralizado e co-localizado com um resolvedor de DNS e usa extensões
do protocolo DNS para interagir com os hosts finais. O Open vSwitch [234] fornece uma visão geral das implementações de roteamento
Database Management Protocol (OVSDB) [224] é utilizado para de segmento IPv6, descreve alguns cenários de interoperabilidade que
possibilitar a comunicação entre o controlador SDN e os nós da rede: i) foram demonstrados em eventos públicos e relata uma lista de
este último preenche o banco de dados distribuído com as informações implementações recentes de SRv6 em redes de produção.
de topologia e metadados TE; ii) o primeiro, uma vez calculado o Com relação às implementações de hardware [234] menciona 8
caminho, mediante solicitação, preenche a instância OVSDB com a fornecedores que declaram suporte à produção de SRv6 em seu
lista de segmentos SRv6 correspondente aos requisitos desejados. hardware. As plataformas ASR 1000, ASR 9000, NCS 5500, NCS 540
Finalmente, isso é puxado pelo dispositivo de acesso que permite a e NCS 560 são relatadas como as plataformas de roteamento Cisco
comunicação dos hosts finais. O código fonte está disponível que suportam o processamento SRH; ASR 9000 e NCS 5500 sendo
gratuitamente em [225]. implantados em redes de produção. Quanto à Huawei, as plataformas
Uma visão geral da arquitetura pode ser encontrada em [226]. Uma VM relatadas são: ATN, CX600, NE40E, ME60, NE5000E, NE9000 e NG-
pronta para uso com experimentos empacotados pode ser criada OLT MA5800, todas com código de envio VRPV8. Os dispositivos
usando as instruções em [227]. [4] propõe uma arquitetura SDN clássica programáveis baseados no chipset Tofino [235] podem ser programados
para a tecnologia SRv6: uma lógica centralizada toma decisões para suportar o processamento SRH.
sobre as Listas de Segmentos que precisam ser aplicadas para Isso também é verdade para a implementação de software de referência
implementar os serviços, então o controlador SDN, usando uma API dos dispositivos P4 [236], os dispositivos baseados em Stratum [213] e
southbound, interage com os dispositivos habilitados para SR para todos os chipsets programáveis (Cavium Xpliant [237] para dar um
impor a aplicação de tais Listas de Segmentos. O código relacionado à exemplo). Outras implementações de hardware SRv6 são relatadas
arquitetura SDN, ou seja, as quatro diferentes implementações da API para a família Prestera de switches Ethernet da Marvell, para o roteador
Southbound e a descoberta da topologia, podem ser baixados da página SkyFlux UAR500 da UTStarcom. Spirent e Ixia também suportam SRv6,
do projeto [228]. Além disso, os autores, para apoiar os aspectos de respectivamente em suas plataformas de teste TestCenter e IxNetwork.
desenvolvimento e teste, criaram um sistema de emulação baseado em Finalmente, conforme relatado em [2], as NPUs Trio e vTrio da Juniper
Intent para construir experimentos realistas e reprodutíveis, aliviando possuem um suporte experimental de SRH (modo de inserção SRH e
os experimentadores de um enorme esforço de configuração. As processamento final de endereços de interfaces).
ferramentas de emulação estão disponíveis em [229]. Três eventos de interoperabilidade estão listados em [234]. Os
primeiros cenários de teste de interoperabilidade (em ordem cronológica)
SRV6Pipes [164] é uma extensão da implementação SRv6 no foram apresentados na conferência SIGCOMM de 2017 [238]. O
kernel Linux [193] que permite o encadeamento e operação de funções conjunto de experimentos incluiu um cenário de VPN L3 aumentado
na rede operando em streams. com funcionalidade TE e processamento de encadeamento de funções de serviços.
As políticas SRv6 são instaladas usando a arquitetura SRN [148] Os roteadores SREXT, VPP, Linux kernel, Barefoot Tofino, Cisco
descrita anteriormente nesta seção. No entanto, os componentes SRN NCS5500 e Cisco ASR1000 foram os dispositivos de rede que
não são obrigatórios, pois as políticas SRv6 podem ser instaladas nos implementaram os comportamentos SRv6. Iptables (firewall) e Snort
nós de borda usando o utilitário iproute. O SRv6Pipes é composto por (Intrusion Detection System) foram usados como funções de serviço.
vários componentes que necessariamente precisam ser instalados nas Finalmente, o Wireshark e o tcpdump foram aproveitados para verificar
máquinas de destino: proxy TCP, Kernel com patch e utilitários de as operações adequadas da rede. O segundo conjunto de cenários de
espaço do usuário. Os componentes mínimos podem ser baixados do teste de interoperabilidade foi executado em março de 2018 pelo
repositório do projeto [230]. O código completo dos experimentos junto European Advanced Networking Test Center (EANTC) e seus resultados
com um passo a passo pode ser encontrado em [231]. [239] foram apresentados na conferência MPLS + SDN + NFV World
Congress em abril de 2018. Nesses testes, as implementações da
SRNK [21] estende a implementação do SRv6 no kernel Linux [193] CISCO e UTStarcom e as plataformas de teste da Ixia e Spirent
adicionando o suporte para os comportamentos End.AS e End.AD. O estiveram envolvidas. Os testes envolveram VPNs IPv4 de camada 3
código fonte está disponível gratuitamente em [232], onde é possível baseadas em SRv6 (incluindo também recursos de Engenharia de
baixar o Linux corrigido Tráfego no underlay SRv6)
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 31
e mecanismos de redirecionamento rápido independentes de topologia (TI- exigindo qualquer alteração no plano de encaminhamento MPLS. Desta forma,
LFA) baseados em SRH. O terceiro conjunto de cenários de teste de o SR-MPLS representa uma solução simples para o provedor de serviços com
interoperabilidade foi executado em março de 2019 e seus resultados [239] infraestrutura IPv4. As mesmas considerações se aplicam ao SRv6, a estratégia
foram apresentados na conferência MPLS + SDN + NFV World Congress em de transição de uma rede IPv6 clássica para uma SRv6 pode ser realizada em
abril de 2019. Nesses testes, uma plataforma de roteamento da Cisco (NCS etapas sucessivas sem interrupção do serviço.
5500) e duas da Huawei (NE9000-8 e NE40E F1A) estavam envolvidos. Os
testes envolveram VPNs IPv4 e IPv6 de camada 3 baseadas em SRV6, a Também notamos que a implementação do SR-MPLS não recebeu a
validação de alguns comportamentos SRv6, reencaminhamento rápido baseado mesma atenção que o SRv6 está recebendo da comunidade de pesquisa.
em SRv6 e procedimentos OAM (Ping e traceroute) baseados em [49]. Acreditamos que a disponibilidade de diferentes implementações de código
aberto (kernel Linux e VPP) desde o início contribuiu decisivamente para isso.
Oito implementações em grande escala do SRv6 estão listadas em [234], Outra razão deve ser encontrada nas extensões do plano de controle
envolvendo as seguintes redes de operadoras em todo o país: Soft bank necessárias.
(Japão), China Telecom (China), Iliad (Itália), LINE Corporation (Japão), China Embora o SR-MPLS tenha sido a primeira implementação, os pesquisadores
Unicom (China), CERNET2 (China), MTN Uganda Ltd (Uganda), Rede NOIA. tiveram que lutar para ter algo com que trabalhar. A implementação do plano
Encaminhamos o leitor a [234] para obter detalhes sobre essas implantações. de dados MPLS tem sido instável por muito tempo no kernel Linux, e uma
implementação completamente revisada foi mesclada recentemente.
A minuta [234] trata também das aplicações open source que suportam o Finalmente, o SR MPLS requer extensões para os protocolos de roteamento e
processamento do cabeçalho IPv6 Segment Routing, entre as quais podemos não existiam tais extensões no momento em que o SR estava sendo
citar os conhecidos Wireshark [240], tcpdump [241], iptables [242], nftables inicialmente estudado.
[243] e bufo [244]. [169] relata a implementação de uma solução que transfere
o encapsulamento SRH, as operações de decapsulação e o manuseio do Uma das principais características do SR é o suporte nativo de cenários
cache SRv6 dos servidores para as placas programáveis Intel FPGA. Open NFV/SFC. Além disso, o modelo de programação de rede do SRv6 oferece a
Programmable Accelerator Engine [245] desenvolvido pela Intel e o software possibilidade de virtualizar qualquer serviço combinando as funções básicas
roteador VPP são usados como frameworks básicos. Os autores definiram em um programa de rede que está embutido no cabeçalho do pacote
uma nova divisão funcional dos comportamentos do SRv6 entre o hardware e (implementar um modelo de programação de rede no plano de dados MPLS
o software e o interfuncionamento é realizado introduzindo novos nós de grafos não seria escalável, apesar de sua viabilidade). Neste contexto, acreditamos
no VPP. Essas extensões para o gráfico VPP são capazes de codificar/ que o SRv6 pode simplificar as arquiteturas de rede em relação ao SR-MPLS,
decodificar/processar metadados trocados entre o VPP e as placas Intel. Por uma vez que o uso de diferentes soluções de tunelamento pode ser evitado.
exemplo, na direção de entrada, o cartão executa uma pesquisa SID e, com
base no resultado da pesquisa, pode remover os cabeçalhos IPv6/SRH Como tal, o SRv6 é uma opção atraente para operadoras que estão implantando
externos e adicionar seu próprio cabeçalho de metadados. Como o VPP é novas redes ou planejando a evolução de suas arquiteturas de rede.
aumentado com novos nós é capaz de processar este meta-cabeçalho e os
pacotes internos. Como explicado acima, a solução descarrega parcialmente Durante a revisão dos Internet Drafts, RFCs e patentes notamos que há
as funções para o hardware, por exemplo, Route lookup e, em geral, as uma clara tendência nas atividades de padronização de “seguir” patentes. De
funções do plano de controle ainda são feitas em software pelo VPP, fato, a maioria das patentes também foi padronizada posteriormente ou foi
aproveitando a CPU dos servidores. incluída em vários
atividades de padronização lideradas pelos mesmos fornecedores. As patentes
mais recentes também destacam que o SR pode ter um papel significativo na
implantação de tecnologias centrais de rede, como fatiamento de rede, 5G e
rede baseada em nuvem.
Com relação aos resultados da atividade de pesquisa e seguindo a
VI. LIÇÕES APRENDIDAS
classificação fornecida na Seção IV, descreveremos brevemente as lições
Nesta seção, descrevemos os principais resultados aprendidos mais significativas provenientes de diferentes categorias de pesquisa.
durante a atividade de pesquisa. Primeiro nos concentramos em algumas
considerações gerais, depois elaboramos os resultados relacionados à pesquisa. A atividade de pesquisa relacionada à categoria Monitoramento (seção IV-
Apesar do conceito de Source Routing já ter sido proposto
´ no passado (final A) destaca um interesse significativo em soluções para melhorar as ferramentas
de 70âÿ Z), sua implantação em redes IPv4 não foi suportada, principalmente de monitoramento existentes ou para definir novas ferramentas explorando
por questões de segurança. A nova arquitetura SR oferece uma solução segura recursos de SR. Contrariamente, faltam trabalhos focados no monitoramento
para a implantação do conceito de roteamento de origem nas redes das de falhas de SR, como configurações incorretas, SIDs indefinidos, buracos
operadoras. O SR também fornece uma solução escalável: i) o número de negros relacionados a SR, perda de pacotes, etc.
estados de fluxo a serem mantidos nos nós da rede é altamente reduzido, ii) Passando para a categoria Engenharia de Tráfego (seção IV-B), o principal
apenas os nós de fronteira são envolvidos por procedimentos de classificação resultado da atividade de revisão é que uma das características interessantes
e os nós de trânsito não mantêm nenhuma informação de estado de fluxo. do roteamento SR, ou seja, a capacidade de dividir o tráfego em vários SLs,
não é explorada na prática. Este resultado inesperado pode ser motivado pela
capacidade de obter uma alta flexibilidade de roteamento também com um
SR-MPLS foi a primeira implantação de conceitos SR, somente nos últimos único SL para cada fluxo; em qualquer caso, o uso de vários SL por fluxo pode
anos a arquitetura SRv6 foi definida. A arquitetura SR MPLS tem, a nosso ver, ser considerado no futuro para melhorar ainda mais as soluções de TE.
o principal mérito de não
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 32
Uma consideração adicional vem da categoria Centrally Controlled Architecture A. Suporte ao encadeamento de funções de serviço
(seção IV-D): a comunidade científica é orientada para um plano de controle O recurso de Programabilidade do SRv6 representa um fator de habilitação
centralizado para redes SR-MPLS, mesmo que um plano de controle distribuído para a implementação de Network Function Virtualization (NFV) e Service Function
também seja suportado. No entanto, esta abordagem requer extensões nos Chaining (SFC) em redes de provedores. Nesse sentido, novos modelos de
protocolos de roteamento no caso do MPLS, o que representou uma grande abstração para o gerenciamento de Funções de Rede por meio de procedimentos
barreira, fazendo com que muitos trabalhos decidissem alavancar a abertura da de controle SRv6 dedicados podem ser estudados.
abordagem SDN para superar tais limitações. Também é interessante notar que a
mesma tendência não pode ser encontrada com trabalhos relacionados ao SRv6,
onde tais extensões em protocolos de roteamento não são estritamente necessárias.
B. Aspectos de implementação de host final SRv6
Os trabalhos relacionados ao Path Encoding (seção IV-E) destacam dois finais. Um aspecto está relacionado à movimentação de funções SRv6 em hosts
finais do software para mais perto do hardware com SmartNICs. NICs programáveis
resultados interessantes. Em primeiro lugar, o grande esforço realizado pelos
pesquisadores na redução da sobrecarga nos cabeçalhos dos pacotes demonstra permitem implementar o processamento de tráfego de rede no NIC em vez de
que é visto como um fator limitante para implantações de SR. Duas escolas de usar a CPU dos nós/dispositivos finais. Outro aspecto está relacionado à
pensamento podem ser encontradas: i) otimizar a tradução dos caminhos em LSs; exploração dos recentes avanços nas redes do kernel Linux para processamento
ii) reduzir seu impacto usando uma codificação mais inteligente dos caminhos em rápido de pacotes, nomeadamente eBPF [185] e XDP [246] para implementação
A segunda lição aprendida está relacionada aos adj-sids; eles são amplamente
usados por trabalhos de codificação de caminho para aumentar a flexibilidade de
roteamento, enquanto não são totalmente explorados em trabalhos de TE: a razão C. Orquestração em Nuvem
pode ser que a inclusão de adj-sids leva a um aumento na complexidade dos
A terceira oportunidade de pesquisa diz respeito à integração da tecnologia
modelos de otimização usados por algoritmos de TE.
SRv6 em orquestradores de nuvem como OpenStack [247] e Kubernetes [248].
Será interessante investigar o impacto de adj-sids em novas soluções de TE
Considerando cenários de rede de Data Center, será possível substituir o
baseadas em SR, tanto em termos de desempenho quanto de complexidade.
mecanismo de plano de dados real baseado em mecanismos de encapsulamento
legados como VXLAN por SRv6, com uma simplificação drástica da pilha de rede:
Os trabalhos relacionados à categoria Network Programming (seção IV-F)
as informações necessárias serão integradas em SIDs SRv6 e/ou no Campo TLV,
sugerem que esse recurso SRv6 abre um amplo leque de oportunidades de
sem necessidade de cabeçalhos dedicados para tunelamento.
pesquisa: pode ser aplicado em diferentes casos de uso, desde o Service Function
Chaining até a implementação de operações complexas (como como o
gerenciamento de migração de VM em uma rede DC). Acreditamos que a
programação em rede atrairá atenção significativa nos próximos anos.
D. Integração com Aplicativos
dados IPv6, pois acreditamos que a evolução futura do Segment Routing será Considerando o espaço de problemas da Internet das Coisas, que inclui
baseada no SRv6. aspectos de escalabilidade, aspectos de roteamento, interações entre as camadas
de rede e de aplicação, a aplicação da arquitetura SRv6 parece bastante
promissora.
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 33
[23] F. Clad et al., "Programação de Serviço com Roteamento de Segmento", Internet trabalho em progresso. [Conectados]. Disponível: https://tools.ietf.org/html/
Força-Tarefa de Engenharia, Internet-Draft draft-ietf-spring-sr-service programming-01, draft-ali-spring-network-slicing-building blocks
outubro de 2018, trabalho em andamento. [Conectados]. Disponível: [43] C. Filsfils et al., "Segment Routing Traffic Accounting Counters,"
https://tools.ietf.org/html/draft-ietf-spring-sr-service-programming Força-Tarefa de Engenharia da Internet, Internet-Draft draft-filsfils-spring sr-traffic-
[24] S. Matsushima et al., “Segment Routing IPv6 for Mobile User Plane,” counters, junho de 2018, trabalho em andamento. [Conectados]. Disponível:
Força-Tarefa de Engenharia da Internet, rascunho da Internet-ietf-dmm-srv6- https://tools.ietf.org/html/draft-filsfils-spring-sr-traffic-counters
mobile-uplane, março de 2019, trabalho em andamento. [Conectados]. Disponível: [44] M. Anand et al., "Integração Óptica de Pacotes no Roteamento de Segmentos",
https://tools.ietf.org/html/draft-ietf-dmm-srv6-mobile-uplane Força-Tarefa de Engenharia de Internet, rascunho de Internet-Draft-anand-spring poi-
[25] P. Psenak et al., "Extensões OSPF para Roteamento de Segmento", Internet sr, janeiro de 2019, trabalho em andamento. [Conectados]. Disponível: https:
Força-Tarefa de Engenharia, extensões de roteamento do segmento de rascunho da //tools.ietf.org/html/draft-anand-spring-poi-sr
Internet-ietf-ospf, dezembro de 2018, trabalho em andamento. [Conectados]. Disponível:
[45] S. Litkowski et al., “Topology Independent Fast Reroute
https://tools.ietf.org/html/draft-ietf-ospf-segment-routing-extensions
usando Segment Routing”, Força-Tarefa de Engenharia da Internet,
[26] P. Psenak e S. Previdi, “Extensões OSPFv3 para
Rascunho da Internet-ietf-rtgwg-segment-routing-ti-lfa, março de 2019,
Segment Routing,” Internet Engineering Task Force, Internet Draft draft-ietf-ospf-ospfv3-
trabalho em progresso. [Conectados]. Disponível: https://tools.ietf.org/html/
segment-routing-extensions, janeiro de 2019,
draft-ietf-rtgwg-segment-routing-ti-lfa
trabalho em progresso. [Conectados]. Disponível: https://tools.ietf.org/html/
[46] A. Bashandy et al., "Evitação de loop usando roteamento de segmento", Internet
draft-ietf-ospf-ospfv3-segment-routing-extensions
Força-Tarefa de Engenharia, Internet-Draft draft-bashandy-rtgwg-segment routing-uloop,
[27] S. Previdi et al., "Extensões IS-IS para roteamento de segmento", Internet
setembro de 2018, trabalho em andamento. [Conectados]. Disponível: https:
Força-Tarefa de Engenharia, extensões de roteamento do segmento de rascunho da
//tools.ietf.org/html/draft-bashandy-rtgwg-segment-routing-uloop
Internet-ietf-isis, maio de 2019, trabalho em andamento. [Conectados]. Disponível:
[47] S. Hegde et al., "Evitação de micro-loop usando SPRING",
https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions
Força-Tarefa de Engenharia da Internet, rascunho da Internet-Draft hegde-rtgwg-
[28] P. Psenak et al., “IS-IS Extensions to Support Routing over IPv6
microloop-avoidance-using-spring, julho de 2017, trabalho
Dataplane,” Internet Engineering Task Force, Internet-Draft draft ietf-lsr-isis-srv6-
em andamento. [Conectados]. Disponível: https://tools.ietf.org/html/
extensions, maio de 2019, trabalho em andamento. [Conectados].
draft-hegde-rtgwg-microloop-avoidance-using-spring/
Disponível: https://tools.ietf.org/html/draft-ietf-lsr-isis-srv6-extensions
[29] Z. Li et al., "Extensões OSPFv3 para SRv6", Engenharia de Internet [48] N. Kumar et al., “Label Switched Path (LSP) Ping/Traceroute
Task Force, Internet-Draft draft-li-ospf-ospfv3-srv6-extensions, mar. para Segment Routing (SR) IGP-Prefixo e IGP-Adjacency Segment
Identificadores (SIDs) com Planos de Dados MPLS,” IETF RFC 8287, Dec.
2019, obra em andamento. [Conectados]. Disponível: https://tools.ietf.org/html/
draft-li-ospf-ospfv3-srv6-extensions 2017. [On-line]. Disponível: https://tools.ietf.org/html/rfc8287
[30] C. Filsfils et al., "Orquestração de rede de longa distância baseada em roteamento de [49] Z. Ali et al., “Operações, Administração e Manutenção (OAM)
segmento em um ambiente de rede", US9647944B2 - 2014. em Redes de Roteamento de Segmento com Plano de Dados IPv6 (SRv6)”,
[31] H. Gredler, "BGP Link-State Extensions for Segment Routing," Força-Tarefa de Engenharia da Internet, Internet-Draft draft-ietf-6man-spring srv6-
US9660897B1 - 2014. oam-03, dezembro de 2019, trabalho em andamento. [Conectados]. Disponível:
[32] S. Sivabalan et al., "Extensões PCEP para Roteamento de Segmentos", https://tools.ietf.org/html/draft-ietf-6man-spring-srv6-oam-03
Força-Tarefa de Engenharia da Internet, roteamento de segmento de rascunho da [50] Z. Ali et al., "Contabilidade de Tráfego em Redes de Roteamento de Segmento",
Internet-ietf-pce, outubro de 2018, trabalho em andamento. [Conectados]. Disponível: https: Força-Tarefa de Engenharia de Internet, Internet-Draft draft-ali-spring-sr traffic-
//tools.ietf.org/html/draft-ietf-pce-segment-routing accounting, junho de 2018, trabalho em andamento. [Conectados]. Disponível:
[33] C. Filsfils et al., “Segment Routing Policy Architecture,” Internet https://tools.ietf.org/html/draft-ali-spring-sr-traffic-accounting
Força-Tarefa de Engenharia, Política de Roteamento do Segmento de Mola da IETF, [51] Z. Ali et al., “Detecção de encaminhamento bidirecional (BFD) para segmento
rascunho da Internet, outubro de 2018, trabalho em andamento. [Conectados]. Disponível: Políticas de Roteamento para Engenharia de Tráfego”, Engenharia de Internet
https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy Task Force, Internet-Draft draft-ali-spring-bfd-sr-policy, outubro de 2018,
[34] C. Filsfils et al., “Considerações de Implementação e Implementação de Políticas de SR”, trabalho em progresso. [Conectados]. Disponível: https://tools.ietf.org/html/
Força-Tarefa de Engenharia da Internet, draft-ali-spring-bfd-sr-policy
Projeto de Internet-rascunho-filsfils-spring-sr-política-considerações, outubro de 2018, [52] R. Gandhi et al., "Medição de desempenho em banda para segmento
trabalho em progresso. [Conectados]. Disponível: https://tools.ietf.org/html/ Routing Networks with MPLS Data Plane,” Internet Engineering
rascunho-filsfils-spring-sr-política-considerações Task Force, Internet-Draft draft-gandhi-spring-rfc6374-srpm-mpls, 2 de fevereiro de 2018.
[35] K. Raza et al., “YANG Data Model for Segment Routing Policy,” 2019, obra em andamento. [Conectados]. Disponível: https://tools.ietf.org/html/
Força-Tarefa de Engenharia da Internet, Internet-Draft draft-raza-spring sr-policy-yang, draft-gandhi-spring-rfc6374-srpm-mpls
maio de 2019, trabalho em andamento. [Conectados]. Disponível: [53] R. Gandhi et al., “Medição de desempenho em banda usando
https://tools.ietf.org/html/draft-raza-spring-sr-policy-yang Caminho UDP para Redes de Roteamento de Segmento”, Engenharia da Internet
[36] C. Filsfils et al., "Ilustrações para Programação de Rede SRv6", Força-Tarefa de Task Force, Internet-Draft draft-gandhi-spring-rfc6374-srpm-udp, fev.
Engenharia da Internet, Internet-Draft draft-filsfils-spring-srv6- 2019, obra em andamento. [Conectados]. Disponível: https://tools.ietf.org/html/
net-pgm-illustration, fevereiro de 2019, trabalho em andamento. [Conectados]. Disponível: draft-gandhi-spring-rfc6374-srpm-udp
https://tools.ietf.org/html/draft-filsfils-spring-srv6-net-pgm-illustration
[54] R. Gandhi (Ed.) et al., “Medição de Desempenho Usando TWAMP
[37] C. Filsfils et al., "Segmento de prefixo BGP em data centers de grande escala",
Light for Segment Routing Networks,” Tarefa de Engenharia da Internet
Força-Tarefa de Engenharia da Internet, Internet-Draft draft-ietf-spring segment-routing-
Força, rascunho da Internet-gandhi-spring-twamp-srpm, dezembro de 2019,
msdc, novembro de 2018, trabalho em andamento. [Conectados]. Disponível: https://
trabalho em progresso. [Conectados]. Disponível: https://tools.ietf.org/html/
tools.ietf.org/html/draft-ietf-spring-segment-routing-msdc
draft-gandhi-spring-twamp-srpm
[38] C. Filsfils et al., “BGP Centralizado de Roteamento de Segmento
[55] D. Frost e S. Bryant, “Packet Loss and Delay Measurement for
Peer Engineering," Internet Engineering Task Force, Internet Draft draft-ietf-spring-
MPLS Networks,” IETF RFC 6374, set. 2011. [Online]. Disponível:
segment-routing-central-epe, dezembro de 2017,
https://tools.ietf.org/html/rfc6374
trabalho em progresso. [Conectados]. Disponível: https://tools.ietf.org/html/
[56] S. Bryant, S. Sivabalan e S. Soni, “UDP Return Path for Packet
draft-ietf-spring-segment-routing-central-epe
Medição de Perda e Atraso para Redes MPLS,” IETF RFC 7876,
[39] C. Filsfils et al., “Interconectando milhões de terminais com
Jul. 2016. [Online]. Disponível: https://tools.ietf.org/html/rfc7876
Roteamento de segmento”, RFC 8604, junho de 2019. [Online]. Disponível:
https://rfc-editor.org/doc/rfc8604 [57] A. Bashandy et al., “Segment Routing interworking with LDP,” Internet
[40] D. Dukes et al., "SR para SDWAN - VPN com SLA Underlay," Força-Tarefa de Engenharia, Internet-Draft draft-ietf-spring-segment routing-ldp-interop,
Força-Tarefa de Engenharia da Internet, rascunho da Internet-Dukes-spring sr-for- setembro de 2018, trabalho em andamento. [Conectados]. Disponível:
sdwan, dezembro de 2018, trabalho em andamento. [Conectados]. Disponível: https://tools.ietf.org/html/draft-ietf-spring-segment-routing-ldp-interop
https://tools.ietf.org/html/draft-dukes-spring-sr-for-sdwan [58] P. Sarkar et al., "Segmentos Anycast no Roteamento de Segmento Baseado em MPLS,"
[41] P. Camarillo et al., “Segment Routing IPv6 for mobile user-plane Força-Tarefa de Engenharia da Internet, Internet-Draft draft-ietf-spring-mpls anycast-
PoCs,” Internet Engineering Task Force, Internet-Draft draft-camarillo dmm-srv6-mobile- segments, janeiro de 2018, trabalho em andamento. [Conectados]. Disponível:
pocs, outubro de 2018, trabalho em andamento. [Conectados]. Disponível: https:// https://tools.ietf.org/html/draft-ietf-spring-mpls-anycast-segments
tools.ietf.org/html/draft-camarillo-dmm-srv6-mobile-pocs [59] C. Filsfils et al., "Informações recursivas de roteamento de segmento",
[42] Z. Ali et al., “Blocos de construção para fatiar no segmento Força-Tarefa de Engenharia da Internet, Internet-Draft draft-filsfils-spring sr-recursing-
Routing Network”, Força-Tarefa de Engenharia da Internet, Internet Draft draft-ali-spring- info, junho de 2017, trabalho em andamento. [Conectados]. Disponível:
network-slicing-building-blocks, março de 2019, https://tools.ietf.org/html/draft-filsfils-spring-sr-recursing-info
Machine Translated by Google
ENVIADO PARA PESQUISAS E TUTORIAIS DE COMUNICAÇÕES IEEE 35
[60] H. Sitaraman et al., "Recomendações para RSVP-TE e Roteamento de Segmento (SR) Label [79] S. Previdi et al., "Extensões Métricas de Engenharia de Tráfego IS-IS (TE)",
Switched Path (LSP) Coexistence", RFC 8426, julho de 2018. [Online]. Disponível: https:// IETF RFC 7810, maio de 2016. [Online]. Disponível: https://tools.ietf.org/html/rfc7810 [80]
tools.ietf.org/html/rfc8426 [61] X. Xu et al., “SR-MPLS over IP,” Internet Engineering Task J. Tansura et al., “Signaling Maximum SID Depth (MSD )
Force, Internet-Draft draft-ietf-mpls-sr-over -ip, junho de 2019, trabalho em andamento.
[Conectados]. Disponível: https://tools.ietf.org/html/draft-ietf-mpls-sr-over-ip [62] D. Voyer Usando OSPF”, RFC 8476, dezembro de 2018. [Online]. Disponível: https: //
et al., “Inserção de cabeçalhos de roteamento de segmento IPv6 em um domínio tools.ietf.org/html/rfc8476 [81] S. Giacalone et al., “OSPF Traffic Engineering
controlado”, Internet Engineering Força-Tarefa, inserção de cabeçalho de rascunho- (TE) Metric Extensions,” IETF RFC 7471, Mar. 2015. [Online]. Disponível: https://
voyer-6man-extension-header na Internet, junho de 2018, trabalho em andamento. [Conectados]. tools.ietf.org/html/rfc7471 [82] S. Sivabalan et al., “Carrying Binding Label/
Disponível: https://tools.ietf.org/html/draft-voyer-6man-extension-header-insertion [63] K. Segment-ID in PCE-based Networks,” Internet Engineering Task Force,
Raza et al., “YANG Data Model for SRv6 Base and Static,” Internet-Draft draft- sivabalan-pce-binding-label-sid, fevereiro de 2019, trabalho em
andamento. [Conectados]. Disponível : https://tools.ietf.org/html/draft-
sivabalan-pce-binding-label-sid
[108] FMXhonneux e O. Bonaventure, “Leveraging eBPF for programmable network [132] F. Aubry et al., "Duplicação de tráfego através de caminhos disjuntos segmentáveis",
functions with IPv6 Segment Routing”, em Anais da 14ª Conferência Internacional em IFIP Networking Conference (IFIP Networking), 2015.
sobre Experiências e Tecnologias de Rede emergentes. ACM, 2018, pp. 67-72. IEEE, 2015, pp. 1–9.
[133] F. Aubry et al., “Robustly disjoint paths with segment routing”, nos Anais da 14ª
[109] M. Lee e J. Sheu, "Um algoritmo de roteamento eficiente baseado em roteamento Conferência Internacional sobre Experiências e Tecnologias de Rede emergentes.
de segmento em redes definidas por software", Redes de Computadores, vol. 103, ACM, 2018, pp. 204-216.
pp. 44-55, 2016. [134] MKF Hao e T. Lakshman, “Optimizing restore with Segment Routing”, em
[110] A. Bahnasse et al., “Novel SDN architecture for smart MPLS Traffic Engineering- Comunicações de Computador, IEEE INFOCOM 2016-The 35th Annual IEEE
DiffServ Aware management”, Future Generation Computer Systems, 2018. International Conference on. IEEE, 2016, pp. 1–9.
[135] A. Giorgetti et al., "Segment Routing for Effective Recovery and Multi Domain Traffic
[111] J. Sheu e Y. Chen, “Um algoritmo multicast escalável e eficiente em largura de banda Engineering", Journal of Optical Communications and Networking, vol. 9, não. 2,
baseado em roteamento de segmento em redes definidas por software”, em pp. A223–A232, 2017.
Comunicações (ICC), Conferência Internacional IEEE 2017 em. IEEE, 2017, pp. 1–
[136] A. Giorgetti et al., "Demonstração de restauração dinâmica em redes SDN
6.
multicamadas de roteamento de segmento", em Optical Fiber Communication
[112] OGR Carpa e L. Lefevre, “Engenharia de tráfego baseada em roteamento de
Conference. Optical Society of America, 2016, pp. Th4G–4.
segmento para redes de backbone energeticamente eficientes”, em Advanced
[137] A. Giorgetti et al., “Reliable Segment Routing”, em Reliable Networks Design and
Networks and Telecommuncations Systems (ANTS), 2014 IEEE International
Modeling (RNDM), 2015 7th International Workshop on.
Conference on. IEEE, 2014, pp. 1–6.
IEEE, 2015, pp. 181-185.
[113] K. Ghuman e A. Nayak, “Abordagem de roteamento de segmento consciente por
[138] M. Xhonneux e O. Bonaventure, “Detecção flexível de falhas e redirecionamento
pacote baseado em energia para redes de data center com SDN”, em
rápido usando eBPF e SRv6”, em 2018 14ª Conferência Internacional sobre
Telecomunicações (ICT), 24ª Conferência Internacional de 2017. IEEE, 2017, pp.
Gerenciamento de Rede e Serviços (CNSM). IEEE, 2018, pp. 408-413.
1–6.
[114] L. Davoli et al., “Engenharia de tráfego com roteamento de segmento: projeto
[139] KT Foerster et al., “Local Fast Segment Rerouting on Hypercubes”, 2018. [Online].
arquitetônico baseado em SDN e implementação de código aberto”, em Soft ware
Disponível: http://eprints.cs.univie.ac. at/5837/11/2018-hypercubes.pdf [140] A.
Defined Networks (EWSDN), 2015 Fourth European Workshop on. IEEE, 2015,
Sgambelluri et al., “Primeira demonstração de roteamento de segmento baseado
pp. 111-112.
[115] G. Trimponias et al., “On Traffic Engineering with Segment Routing in SDN based em SDN em redes multicamadas”, em Optical Fiber Communications Conference and
WANs”, pré-impressão arXiv arXiv:1703.05907, 2017. Exhibition (OFC), 2015. IEEE, 2015, pp. 1–3.
[116] R. Bhatia et al., “Engenharia de tráfego de rede otimizada usando roteamento de
segmento”, em Computer Communications (INFOCOM), 2015 IEEE Conference [141] A. Sgambelluri et al., “Implementações SDN e PCE para roteamento de segmento”,
on. ImplsEEE, 2015, pp. 657-665. em Networks and Optical Communications-(NOC), 2015 20th European Conference
[117] H. Roomi e S. Khorsandi, "Roteamento de Segmento Semi-Oblivious with Bounded on. IEEE, 2015, pp. 1–4.
Traffic Fluctuations", em Engenharia Elétrica (ICEE), Conferência Iraniana em. [142] F. Paolucci, "Encadeamento de serviços de rede usando roteamento de segmento
IEEE, 2018, pp. 1670-1675. em redes multicamadas", IEEE/OSA Journal of Optical Communications and
[118] R. Hartert et al., "Uma abordagem declarativa e expressiva para controlar caminhos Networking, vol. 10, não. 6, pp. 582–592, 2018.
de encaminhamento em redes de nível de operadora", em ACM SIGCOMM [143] F. Paolucci et al., "Serviço de encadeamento em redes multicamadas usando
Computer Communication Review, vol. 45. ACM, 2015, pp. 15–28. Segment Routing e BGP FlowSpec estendido", em Optical Fiber Communication
[119] HRS Gay e S. Vissicchio, “Espere o inesperado: Otimização de subsegundos para Conference. Optical Society of America, 2017, pp.
roteamento de segmento”, em INFOCOM 2017-IEEE Conference on Computer W4J – 3.
Communications, IEEE. IEEE, 2017, pp. 1–9. [144] P. Castoldi et al., “Segment Routing in multi-layer networks”, em Trans parent
[120] R. Hartert et al., "Resolvendo problemas de roteamento de segmento com técnicas Optical Networks (ICTON), 2017 19th International Conference on. IEEE, 2017, pp.
de programação de restrição híbrida", na Conferência Internacional sobre Princípios 1–4.
e Prática de Programação de Restrição. Springer, 2015, pp. 592-608. [145] Projeto Aberto de Primavera. https:// Disponível conectados no
wiki.onosproject.org/display/ONOS10/Segment+Routing.
[121] MLA Cianfrani e M. Polverini, "Implantação incremental de roteamento de segmento [146] A. Fressancourt e M. Gagnaire, “A arquitetura de rede baseada em SDN para
em uma rede ISP: uma perspectiva de engenharia de tráfego", resiliência em nuvem”, em Consumer Communications and Networking Conference
IEEE/ACM Transactions on Networking, vol. 25, não. 5, pp. 3146-3160, 2017. (CCNC), 2015 12th Annual IEEE. IEEE, 2015, pp. 479-484.
[155] A. Sgambelluri et al., “Demonstração experimental de roteamento de segmento”, [178] T. Chi et al., “Multicast de vídeo ao vivo para usuários dinâmicos via roteamento de
Journal of Lightwave Technology, vol. 34, nº. 1, pp. 205-212, 2016. segmento em redes 5G”, em 2018 IEEE Global Communications Conference
(GLOBECOM). IEEE, 2018, pp. 1–7.
[156] F. Lazzeri et al., “Efficient label encoding in Segment-Routing Enabled Optical Networks”, [179] J. Cao, X. Wang, M. Huang e X. Zhou, "A Mobility-Supported Routing Mechanism in
em Optical Network Design and Modeling (ONDM), 2015 International Conference Industrial IoT Networks", IEEE Access, vol. 7, pág. 25 603–25 615, 2019.
on. IEEE, 2015, pp. 34–38.
[157] A. Giorgetti et al., “Path encoding in Segment Routing”, na Global Communications [180] A. Mayer et al., “The Network as a Computer with IPv6 Segment Routing: a Novel
Conference (GLOBECOM), 2015 IEEE. IEEE, 2015, pp. 1–6. Distributed Processing Model for the Internet of Things”, no 1st International Workshop
on Next-Generation Operating Systems for Cyber-Physical Systems (NGOSCPS ), na
[158] R. Guedrez et al., “Label encoding algoritmo for MPLS Segment Routing”, em Network CPS-IoT Week 2019, 15 de abril de 2019, Montreal, Canadá, 2019.
Computing and Applications (NCA), 2016 IEEE 15th International Symposium on.
IEEE, 2016, pp. 113-117. [181] SDN-TE-SR. Disponível online em https://github.com/netgroup/SDN-TE
SR.
[159] MLA Cianfrani e M. Polverini, “Traduzindo o resultado da engenharia de tráfego em
[182] V. Pereira, M. Rocha e P. Sousa, “Segment Routing Single Link Failure Congestion
caminhos de roteamento de segmento: o problema de codificação”, em Workshops
Optimization”, in ICETE (1), 2018, pp. 242–249.
de comunicações de computador (INFOCOM WKSHPS), 2016 IEEE Conference on.
[183] D. Lebrun, “A implementação do kernel Linux de roteamento de segmento com IPv6”,
IEEE, 2016, pp. 245-250.
em Workshops de comunicações de computador (INFOCOM WKSHPS), 2016 IEEE
[160] H. Liaoruo et al., “Optimizing Segment Routing with the Maximum SLD Constraint using
Conference on. IEEE, 2016, pp. 1019-1020.
Openflow”, IEEE Access, 2018.
[184] Como trabalhar com grupos OpenFlow de failover rápido. https://
[161] R. Guedrez et al., “Um novo método para codificação de caminhos de roteamento de Disponível: floodlight.atlassian.net/wiki/spaces/
segmento MPLS TE”, em Network of the Future (NOF), 2017 8th International
[Conectados]. floodlightcontroller/pages/7995427/
Conference on the. IEEE, 2017, pp. 58–65.
How+to+Work+with+Fast\ discricionário{-}{}{}
[162] D. Lebrun, “Leveraging IPv6 Segment Routing for Service Function Chaining”, em Proc. Failover+OpenFlow+Groups [185] Uma introdução completa ao eBPF. [Conectados].
CoNEXT Stud. Workshop, 2015, pp. 1–15. Disponível: https: //lwn.net/Articles/740157/
[163] A. Abdelsalam et al., “Implementação do encadeamento de funções de rede virtual por [186] D. Katz e D. Ward, "Detecção de encaminhamento bidirecional (BFD)",
meio de roteamento de segmento em uma infraestrutura NFV baseada em linux”, em IETF RFC 5880, junho de 2010. [Online]. Disponível : https://tools.ietf.org/
2017 IEEE Conference on Network Softwarization (NetSoft), julho de 2017, pp. 1–5. html/rfc5880/
[187] Projeto RYU. Disponível online em http://osrg.github.io/ryu/.
[164] DLF Duchêne e O. Bonaventure, “SRv6Pipes: enable in network bytestream functions,” [188] Fundação de Rede Aberta. Projeto ONOS. Disponível online em https://onosproject.org.
in IFIP Networking 2018, 2018.
[165] A. Abdelsalam et al., “SERA: Segment Routing Aware Firewall for Service Function [189] Treliça. Open Source SDN L2/L3 Spine Leaf Switching Fabric para trabalho em rede.
Chaining cenários”, em IFIP Networking 2018. Disponível online em https://www.opennetworking.org/trellis.
IEEE, maio de 2018. [190] Projeto de Computação Aberta. Disponível conectados no
[166] Y. Desmouceaux et al., "SRLB: The Power of Choices in Load Balancing with Segment em http://www.opencompute.org.
Routing", em Distributed Computing Systems [191] Broadcom. Abstração de caminho de dados OpenFlow. Disponível online em (ICCDCS), 2017 IEEE 37th International Conference
on. IEEE, 2017, https://github.com/Broadcom-Switch/of-dpa. pág. 2011–2016.
[192] Broadcom. Disponível online em https://www.broadcom.com.
[193] D.
et al., "A Content-aware Data-plane for Efficient and in the Linux Kernel", em Proceedings of the Applied Lebrun e Scalable
Networking O. Bonaventure, "Implementing
Video Delivery”, IPv6
em 2019 SegmentSymposium
IFIP/IEEE Routing [167]
on Y. Desmouceaux
Integrated
Research Workshop. ACM, 2017, pp. 35–41.
Gerenciamento de Rede e Serviços (IM). IEEE, 2019, pp. 10–18.
et al., “Performance of IPv6 Segment Routing in Linux Devices,” Internet Requests for Comments, [194] S. Bradner,
RFC Editor, RFC “Benchmarking Terminology
1242, Kernel,” em 1º Workshopfor sobre
Network Interconnection
Roteamento [168] A. Abdelsalam
de Segmentos e Função
Chaining (SR+SFC 2018) no CNSM 2018, Roma, Itália, 2018. de Serviço Julho de 1991. [Online]. Disponível: https://tools.ietf.org/html/rfc1242
[195] Linux
Solution Team e C. Tato. Roteamento de segmento //wiki.linuxfoundation.org/networking/iproute2 sobre Foundation
aceleração Wiki - iproute2.
IPv6 usando [Conectados].
Intel R FPGA Disponível:
programável https:
[196] SRv6 [169] HCL SRv6do
- implementação
kernel Linux - configuração básica. [Na placa de aceleração N3000.Configuratio
Disponível: https://www. linha]. Disponível: https://segment-routing.org/index.php/Implementation/intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/ [Conectados].
wp-
card-n3000. 01295 -hcl-segment-routing -over-ipv6-acceleration-using-intel-fpga-programmable-acceleration-
php/SRN/UsingSRN
[228] SRv6-SDN. [Conectados]. Disponível: https://netgroup.github.io/srv6-sdn/ [229]
ROSE. [Conectados]. Disponível: https://netgroup.github.io/rose/ [230] SRv6Pipes.
[Conectados]. Disponível: https://github.com/segment-routing/ SRv6Pipes [231]
SRv6Pipes Passo a passo. [Conectados]. Disponível: https://segment-routing.
org/index.php/SRv6Pipes/SRv6Pipes
[232] SRNK. [Conectados]. Disponível: https://netgroup.github.io/srnk/ [233]
RobustlyDisjointPathsCode. [Conectados]. Disponível: https://bitbucket.org/
franaubry/robustlydisjointpathscode
[234] S. Matsushima et al., “SRv6 Implementation and Deployment Status”, Internet
Engineering Task Force, Internet Draft draft-matsushima-spring-srv6-deployment-
status, maio de 2020, trabalho em andamento. [Conectados]. Disponível: https://
tools.ietf.org/html/draft-matsushima-spring-srv6-deployment-status [235] Barefoot
Networks . [Conectados]. Disponível: https://www.barefootnetworks.
com
[236] Comutador BMv2. [Conectados]. Disponível: http://www.bmv2.org
[237] Cavium. [Conectados]. Disponível: https://www.cavium.com
[238] Demonstração de interoperabilidade SRv6. [Conectados]. Disponível: https://
blogs.cisco.com/sp/ segment-routing-ipv6-interoperability-demo-is-already-
there [239] EANTC, “MPLS+SDN+NFVVORD@PARIS2018 Interoperability
Showcase,” EANTC, Tec. Rep., abril de 2018, MPLS
World Congress, [Online]. Paris. Disponível :
http://www.eantc.de/fileadmin/eantc/downloads/events/2017-2020/MPLS2018/
EANTC-MPLSSDNNFV2018-WhitePaper-final.pdf
[240] Wireshark. [Conectados]. Disponível: https://www.wireshark.org [241]
tcpdump. [Conectados]. Disponível: http://www.tcpdump.org [242] iptables.
[Conectados]. Disponível: https://www.netfilter.org [243] nftables.
[Conectados]. Disponível: https://wiki.nftables.org/wiki-nftables/
index.php/Main_Page
[244] bufar. [Conectados]. Disponível: https://www.snort.org
[245] Open Programmable Acceleration Engine (OPAE). [Conectados]. Disponível:
https://opae.github.io
[246] Caminho de dados expresso. [Conectados]. Disponível: https://en.wikipedia.org/
wiki/ Express_Data_Path [247] OpenStack. [Conectados]. Disponível: https://
www.openstack.org [248] Kubernetes. [Conectados]. Disponível: http://kubernetes.io
[249] P. Ventre et al., “Segment Routing: A abrangente survey of research activity,
standardization forces and deployment results,” arXiv preprint arXiv:1904.03471,
2019.