1. Introdução ao Service Function Chaining

Service Function Chaining e sua Relevância no Cenário de Redes Modernas

O cenário das redes de telecomunicações está em constante evolução, impulsionado pela necessidade de atender às crescentes demandas por largura de banda e Qualidade de Serviço (QoS) de bilhões de usuários e dispositivos distribuídos globalmente. Nesse contexto dinâmico e desafiador, o Service Function Chaining (SFC) emerge como uma tecnologia crucial, apoiada nos avanços significativos de Network Function Virtualization (NFV) e Software-Defined Networking (SDN), para criar um paradigma de rede verdadeiramente programável e dinâmico.

A crescente complexidade das redes modernas, combinada com a explosão de dispositivos conectados e serviços baseados em nuvem, tornou evidente que os modelos tradicionais de implantação de funções de rede não são mais adequados para atender às demandas atuais. As redes de telecomunicações precisam ser capazes de se adaptar rapidamente a diferentes tipos de tráfego, oferecer serviços personalizados para diferentes usuários e aplicações, e ao mesmo tempo manter altos níveis de desempenho, segurança e confiabilidade. É neste cenário que o SFC se posiciona como uma solução fundamental para a modernização da infraestrutura de rede.

O SFC representa uma mudança de paradigma na forma como as redes são projetadas e operadas. Em vez de depender de appliances de hardware dedicados posicionados em locais fixos da topologia de rede, o SFC permite que funções de serviço sejam encadeadas de forma dinâmica e programática, criando caminhos de serviço customizados para diferentes tipos de tráfego. Esta flexibilidade é essencial para suportar os requisitos variados de aplicações modernas, desde serviços de streaming de vídeo que exigem baixa latência até aplicações empresariais que requerem inspeção profunda de pacotes e controles de segurança rigorosos.

Definição e Propósito do Service Function Chaining

Em essência, o Service Function Chaining consiste no encaminhamento de pacotes através de uma sequência ordenada de funções de rede. A Internet Engineering Task Force (IETF) define formalmente o SFC como "a definição e a instanciação de um conjunto ordenado de funções de serviço e o subsequente direcionamento do tráfego através delas". Esta definição, embora concisa, encapsula a essência fundamental do conceito: a capacidade de criar cadeias de processamento de rede sob demanda, onde cada elemento da cadeia executa uma função específica sobre o tráfego que o atravessa.

O principal objetivo do SFC é permitir a criação de serviços de rede de ponta a ponta através da composição inteligente de funções de serviço. As funções de serviço (Service Functions - SFs) podem incluir elementos tradicionais, como firewalls que inspecionam e filtram tráfego baseado em políticas de segurança, Network Address Translators (NATs) que realizam tradução de endereços IP, balanceadores de carga que distribuem tráfego entre múltiplos servidores, e sistemas de detecção e prevenção de intrusão (IDS/IPS) que analisam padrões de tráfego em busca de ameaças. Além destes elementos clássicos, as SFs podem também incluir funções mais específicas de aplicações modernas, como manipulação de cabeçalhos HTTP para otimização de aplicações web, Deep Packet Inspection (DPI) para análise profunda de conteúdo, aceleração de conteúdo através de caching e compressão, traffic shaping para controle de banda, e conversores de protocolo para interoperabilidade entre diferentes sistemas.

O que torna o SFC particularmente poderoso não é apenas a capacidade de aplicar uma sequência de funções ao tráfego selecionado, mas o método através do qual estas funções são implantadas e orquestradas. O SFC descreve uma arquitetura que permite ordenação dinâmica de funções, independência topológica (onde as funções não precisam estar fisicamente posicionadas no caminho do tráfego), troca de metadados entre entidades participantes (permitindo que informações de contexto sejam compartilhadas ao longo da cadeia), tratamento diferenciado baseado no tipo de tráfego (onde diferentes fluxos podem seguir caminhos distintos através de diferentes conjuntos de funções), e composição flexível de serviços (permitindo que novos serviços sejam criados rapidamente através da combinação de funções existentes de maneiras inovadoras). Esta flexibilidade é fundamental para a construção de serviços compostos que demandam tratamentos diferenciados conforme o tipo de tráfego, requisitos de segurança, acordos de nível de serviço (SLAs), ou características específicas de cada aplicação ou cliente.

Evolução Histórica: De Modelos Pré-NFV para Cenários NFV

Historicamente, as funções de rede eram implantadas como dispositivos de hardware dedicados e proprietários, posicionados diretamente no caminho do tráfego. Este modelo tradicional, embora efetivo em sua época, apresentava sérias limitações que se tornaram cada vez mais problemáticas com a evolução das demandas de rede. Os dispositivos de hardware eram tipicamente appliances especializados de fornecedores específicos, criando um forte acoplamento entre as funções de rede e a infraestrutura física subjacente. Esta arquitetura rígida significava que qualquer modificação na configuração da rede - seja a adição de uma nova função, a remoção de uma função existente, ou o escalonamento da capacidade - tornava-se um processo extremamente complexo, custoso e propenso a erros.

O processo de adicionar ou remover funções de rede no modelo tradicional frequentemente requeria reconfigurações manuais extensivas, alterações físicas na topologia da rede, e inevitavelmente causava interrupções nos serviços. Engenheiros de rede precisavam planejar cuidadosamente janelas de manutenção, coordenar múltiplas equipes, e lidar com a complexidade de reconfigurar roteadores, switches e outros dispositivos de rede para acomodar as mudanças. Além disso, o alto custo de capital (CAPEX) associado à aquisição de novos appliances de hardware dedicados tornava difícil para as organizações responderem rapidamente às mudanças nas demandas de negócio ou às novas ameaças de segurança. Este modelo também não permitia o uso eficiente de recursos, pois cada appliance era dimensionado para picos de carga, resultando em subutilização significativa durante períodos de baixa demanda.

Com o advento da Network Function Virtualization (NFV), este panorama começou a mudar dramaticamente. A NFV transformou funções de rede que antes eram executadas em hardware especializado em Virtual Network Functions (VNFs) - módulos de software que podem ser executados em hardware comercial comum (Commercial Off-The-Shelf - COTS). Esta transição trouxe benefícios substanciais: redução significativa de CAPEX através do uso de hardware genérico em vez de appliances proprietários caros, possibilidade de posicionamento arbitrário das VNFs na infraestrutura sem restrições topológicas, capacidade de escalonamento dinâmico e flexível baseado em demanda real, e a habilidade de adicionar, remover ou modificar funções com interrupções mínimas ou inexistentes nos serviços em produção.

No entanto, a transição para NFV, apesar de seus muitos benefícios, introduziu um novo conjunto de desafios que precisavam ser endereçados. A possibilidade de posicionar VNFs arbitrariamente na infraestrutura - uma das principais vantagens da NFV - criou um problema fundamental: como garantir que o tráfego percorresse a sequência desejada de funções de rede quando essas funções não estavam mais fisicamente posicionadas "em rota" no caminho natural dos pacotes? Este desafio de direcionamento tornou-se ainda mais complexo considerando a necessidade de suportar múltiplas cadeias de serviço simultaneamente, cada uma com diferentes conjuntos de funções e requisitos. É precisamente aqui que o Service Function Chaining se torna não apenas útil, mas fundamental. O SFC fornece os mecanismos necessários para direcionar inteligentemente o tráfego através das VNFs na ordem correta, independentemente de sua localização física na infraestrutura, permitindo assim que as organizações realizem plenamente os benefícios da NFV sem sacrificar a capacidade de implementar políticas complexas de processamento de tráfego.

O Papel Fundamental de NFV e SDN no Service Function Chaining

A capacidade do Service Function Chaining de atender às demandas das redes modernas está diretamente ligada à integração sinérgica com duas tecnologias transformadoras: Network Function Virtualization (NFV) e Software-Defined Networking (SDN). Estas tecnologias não apenas complementam o SFC, mas são essenciais para sua implementação efetiva e escalável.

A Network Function Virtualization resolve fundamentalmente o problema do acoplamento rígido entre funções de rede e hardware específico. Através da NFV, funções de rede são transformadas de appliances físicos em VNFs - componentes de software que podem ser implantados em servidores comerciais genéricos. Esta transformação não é meramente uma mudança de formato; ela representa uma mudança fundamental na forma como as redes podem ser arquitetadas e operadas. A NFV permite que organizações implantem funções de rede como VNFs em qualquer servidor adequado dentro de sua infraestrutura, sem estar limitadas pelas restrições de localização física de appliances de hardware. O processo de adicionar, remover ou escalonar funções torna-se dramaticamente mais simples, podendo ser realizado com interrupções mínimas ou inexistentes. Isto é particularmente importante em ambientes de produção onde tempo de inatividade significa perda de receita e insatisfação do usuário. Adicionalmente, a NFV contribui para uma redução significativa de CAPEX, pois hardware comercial comum é substancialmente mais barato que appliances proprietários especializados, e permite que as organizações reaproveitem infraestrutura existente. A agilidade operacional também aumenta dramaticamente - novas funções podem ser provisionadas em minutos ou horas, em vez de semanas ou meses, e a capacidade pode ser ajustada dinamicamente em resposta a mudanças na demanda.

O Software-Defined Networking complementa a NFV ao separar o plano de controle do plano de dados na rede. Enquanto os dispositivos de encaminhamento (switches e roteadores) continuam responsáveis por encaminhar pacotes (plano de dados), as decisões sobre como os pacotes devem ser encaminhados são tomadas por um controlador SDN centralizado que possui uma visão global da rede (plano de controle). Esta separação traz benefícios profundos para o SFC. O controlador SDN pode definir programaticamente políticas de encaminhamento complexas que direcionam o tráfego através das cadeias de serviço apropriadas, baseando-se em critérios sofisticados como tipo de aplicação, usuário, hora do dia, condições de rede, ou qualquer outro parâmetro relevante. A topologia da rede pode ser adaptada dinamicamente para acomodar as necessidades das VNFs, criando caminhos de rede sob demanda e modificando-os conforme necessário. Esta flexibilidade é crucial para implementar SFC efetivamente, pois permite que o tráfego seja direcionado através das funções apropriadas independentemente de onde essas funções estão fisicamente localizadas.

A verdadeira força emerge quando NFV e SDN são usados em conjunto para implementar Service Function Chaining. NFV fornece a capacidade de implantar funções de rede como VNFs em servidores genéricos, enquanto SDN fornece os mecanismos para direcionar o tráfego através dessas VNFs na ordem correta. Juntas, estas tecnologias viabilizam a criação de uma camada virtual (service overlay) sobre a infraestrutura física da rede. Neste modelo, as VNFs são implantadas em servidores através da infraestrutura NFV, e o controlador SDN estabelece programaticamente os links virtuais que encadeiam essas funções, criando efetivamente o Service Function Chain. O controlador SDN interage com o orquestrador NFV para obter informações sobre quais VNFs estão disponíveis e onde estão localizadas, e então configura os dispositivos de rede para direcionar o tráfego apropriadamente. Este nível de automação e flexibilidade seria impossível de alcançar com abordagens tradicionais baseadas em hardware.

Arquitetura NFV - Network Function Virtualization
Figura 1: Arquitetura de Network Function Virtualization (NFV)
Arquitetura SDN - Software-Defined Networking
Figura 2: Arquitetura de Software-Defined Networking (SDN)

Relevância e Importância do SFC no Cenário Atual das Telecomunicações

O Service Function Chaining é amplamente reconhecido como um dos casos de uso mais desafiadores e, simultaneamente, mais promissores no panorama atual das telecomunicações modernas. Sua importância estratégica decorre de múltiplos fatores que se interconectam para atender às crescentes demandas por redes mais inteligentes, flexíveis e eficientes. A relevância do SFC manifesta-se particularmente através de três dimensões principais: escalabilidade e eficiência operacional, flexibilidade e capacidade de inovação, e resolução de problemas críticos de infraestrutura.

Em termos de escalabilidade e agilidade operacional, soluções baseadas em tecnologias modernas como SRv6 (Segment Routing over IPv6) demonstram vantagens significativas. Nestas implementações, o estado da cadeia de serviço é mantido apenas no roteador de entrada (ingress router), em vez de ser distribuído por toda a rede. Esta arquitetura stateless nos nós intermediários aumenta dramaticamente a escalabilidade do sistema, permitindo que redes suportem um número muito maior de cadeias de serviço simultâneas sem sobrecarregar os dispositivos intermediários com informações de estado. Além disso, esta abordagem contribui para a redução de custos operacionais (OPEX), pois simplifica a gestão da rede, reduz a necessidade de coordenação complexa entre múltiplos dispositivos, e facilita troubleshooting e diagnóstico de problemas. A escalabilidade aprimorada é particularmente crítica em ambientes de grande escala como redes de operadores de telecomunicações, grandes data centers empresariais, e infraestruturas de cloud computing, onde dezenas ou centenas de milhares de fluxos podem precisar ser processados simultaneamente através de diferentes cadeias de serviço.

A flexibilidade e capacidade de inovação proporcionadas pelo SFC abrem novas possibilidades de negócio e modelos operacionais. O SFC possibilita que empresas terceirizem ou compartilhem funções de rede, criando oportunidades para novos modelos de serviço e parcerias estratégicas. Provedores de serviço podem configurar rapidamente cadeias personalizadas para diferentes clientes, oferecendo serviços diferenciados e criando valor através da customização. Esta característica é essencial em diversos contextos tecnológicos emergentes: em redes 5G, onde diferentes slices de rede podem requerer diferentes conjuntos de funções de serviço; em arquiteturas de core móvel, onde o processamento de tráfego precisa ser otimizado para diferentes tipos de dispositivos e aplicações; em data centers modernos, onde workloads diversos exigem diferentes níveis de inspeção, segurança e otimização; e em edge computing, onde funções de rede precisam ser distribuídas geograficamente próximas aos usuários para minimizar latência. A capacidade de reconfigurar rapidamente cadeias de serviço permite que organizações respondam agilmente a novas ameaças de segurança, requisitos de conformidade regulatória, ou mudanças nas demandas de negócio.

Finalmente, o SFC oferece soluções para problemas críticos que há muito tempo limitam a evolução da infraestrutura de rede. O SFC supera efetivamente as limitações impostas pela dependência topológica que caracterizava abordagens tradicionais, permitindo que funções de serviço sejam posicionadas onde faz mais sentido do ponto de vista operacional e econômico, não onde a topologia física da rede as força a estar. A complexidade de configuração que antes requeria intervenção manual extensiva e expertise especializado é dramaticamente reduzida através de automação e orquestração, permitindo que mudanças de configuração sejam implementadas de forma mais rápida, confiável e menos propensa a erros. Esta independência topológica e flexibilidade de configuração garantem que operadores de rede possam oferecer suporte a serviços avançados que vão muito além do simples encaminhamento de pacotes - serviços que incluem inspeção profunda de conteúdo, otimização de aplicações, filtragem avançada de segurança, e muitos outros tratamentos especializados que são cada vez mais demandados por aplicações e usuários modernos.

2. Componentes-Chave da Arquitetura SFC

Arquitetura e Princípios Fundamentais do SFC

A arquitetura e os princípios fundamentais do Service Function Chaining são essenciais para compreender como essa tecnologia moderniza as redes e permite a implementação de serviços complexos de forma flexível e escalável. A Internet Engineering Task Force (IETF) define uma arquitetura de alto nível em que cada função de serviço é tratada como um elemento de processamento opaco, sem impor restrições sobre a tecnologia subjacente utilizada. Esta abordagem agnóstica em relação à tecnologia é um dos aspectos mais poderosos do SFC, pois permite que diferentes implementações e tecnologias coexistam e sejam integradas dentro da mesma infraestrutura.

A arquitetura SFC é composta por vários blocos lógicos principais que trabalham em conjunto para implementar o encadeamento de funções de serviço. Estes componentes incluem Classificadores, que determinam qual tráfego deve ser processado por quais cadeias de serviço; Service Function Forwarders (SFFs), que são responsáveis por encaminhar pacotes entre funções de serviço; as próprias Service Functions (SFs), que executam o processamento real do tráfego; e SFC Proxies, que permitem a integração de funções de serviço legadas que não foram projetadas com conhecimento do SFC. Estes elementos são interligados por meio de um mecanismo de encapsulamento próprio do SFC, que carrega informações sobre o caminho que o tráfego deve seguir e pode transportar metadados adicionais entre as funções.

Service Functions: O Coração do Processamento

As Service Functions (SFs) são responsáveis por aplicar tratamentos específicos aos pacotes recebidos e representam o coração do processamento no Service Function Chaining. Uma SF pode atuar em diferentes camadas do modelo de protocolos de rede e estar presente tanto em elementos físicos de rede quanto em versões virtualizadas (VNFs). A flexibilidade das SFs permite que elas implementem uma ampla gama de funcionalidades, desde operações básicas de rede até processamento especializado de aplicação.

Exemplos comuns de Service Functions incluem firewalls, que inspecionam pacotes e aplicam políticas de segurança para permitir ou bloquear tráfego baseado em regras definidas; Network Address Translators (NATs), que modificam endereços IP e portas para permitir que múltiplos dispositivos compartilhem um único endereço IP público ou para implementar esquemas de endereçamento privado; sistemas de detecção e prevenção de intrusão (IDS/IPS), que analisam padrões de tráfego em busca de assinaturas de ataques conhecidos ou comportamentos anômalos; balanceadores de carga, que distribuem tráfego entre múltiplos servidores backend para otimizar utilização de recursos e garantir alta disponibilidade; e funções aplicacionais mais específicas, como manipulação de cabeçalhos HTTP para otimização de aplicações web, inspeção profunda de pacotes (DPI) para análise detalhada de conteúdo, ou transcoding de mídia para adaptar formatos de vídeo e áudio a diferentes dispositivos e condições de rede.

Service Functions (SFs)

Responsáveis por aplicar tratamentos específicos aos pacotes recebidos. Podem atuar em diferentes camadas do protocolo.

Exemplos:

  • Firewalls
  • NATs
  • IDS (Intrusion Detection System)
  • Balanceadores de carga
  • Manipulação de cabeçalhos HTTP

Classificador

Analisa o tráfego de entrada e decide qual sequência de funções deverá ser aplicada, baseado em políticas definidas.

Critérios de classificação:

  • Endereços IP
  • Portas
  • Protocolos
  • Partes do payload
  • Inspeções avançadas

Service Function Forwarder (SFF)

Encaminha pacotes para uma ou mais SFs conectadas, utilizando as informações do encapsulamento SFC.

Funções:

  • Gerencia retorno do tráfego após processamento
  • Comunica com outros SFFs
  • Mantém informações de consistência

Encapsulamento SFC

Mecanismo que identifica o caminho que o tráfego deve seguir e possibilita a troca de informações de contexto (metadados).

Características:

  • Não substitui o transporte de rede existente
  • Funciona em conjunto com protocolos de transporte
  • Garante entrega às funções corretas

SFC Proxy

Utilizado quando uma função de serviço não reconhece o encapsulamento SFC (funções SFC-unaware).

Processo:

  • Remove o encapsulamento SFC
  • Entrega o pacote simples para a função
  • Restaura o cabeçalho SFC após processamento

Service Function Path (SFP) & RSP

SFP: Descrição abstrata de quais funções devem ser percorridas.
RSP (Rendered Service Path): Caminho efetivo seguido pelos pacotes na rede.

SFP define a intenção, RSP descreve a execução prática.

Princípios Arquitetônicos

🗺️ Independência Topológica

Não exige mudanças na topologia da rede física para implantar funções ou cadeias.

🔀 Separação de Planos

A definição dinâmica dos caminhos (SFPs) é separada do processamento direto dos pacotes.

🎯 Classificação Flexível

O tráfego é direcionado de acordo com regras simples (endereços/portas) ou avançadas (análise de conteúdo).

📊 Compartilhamento de Metadados

Permite que funções e classificadores troquem informações de contexto para enriquecer o tratamento.

🔓 Independência de Serviço

A modificação de uma SFC não impacta outras cadeias já em operação.

🔄 Reclassificação e Ramificação

Permite reclassificar o tráfego durante a cadeia, alterando o caminho conforme necessário.

Service Function Chain - Cadeia de Funções de Serviço
Figura 3: Exemplo de Service Function Chain
Classificador, SF, SFF, Proxy e Legacy Device
Figura 4: Componentes da Arquitetura SFC - Classificador, SF, SFF, Proxy e Dispositivo Legado

Reclassificação e Ramificação

O modelo do SFC também prevê a possibilidade de reclassificação do tráfego à medida que ele percorre a cadeia. Isso permite, por exemplo, que um firewall identifique pacotes suspeitos e altere o caminho do fluxo, incluindo funções adicionais de segurança.

Exemplo prático: Um firewall detecta tráfego com comportamento anômalo. Em vez de simplesmente bloquear, ele pode reclassificar o tráfego para passar por sistemas adicionais de análise (IDS/IPS aprofundado, sandboxing) antes de tomar a decisão final.

Essa capacidade de adaptação dinâmica é um dos diferenciais mais importantes do SFC, permitindo que a rede responda inteligentemente a diferentes tipos de tráfego e condições de segurança.

3. Service Function Chaining baseado em Segment Routing (SRv6)

Introdução ao Segment Routing e SRv6

O Segment Routing é uma arquitetura de rede que utiliza o conceito de roteamento de origem. Em vez de depender apenas de decisões locais de encaminhamento, o pacote carrega uma lista de instruções chamadas segmentos, que definem o caminho a ser seguido.

SR-MPLS

Implementação sobre MPLS

SRv6

Implementação sobre IPv6

Utiliza Segment Routing Header (SRH) como cabeçalho de extensão IPv6

Cada Segment Identifier (SID) é um endereço IPv6

Princípios de Design do SRv6 para SFC

1

Associação de SIDs a funções

Cada função de rede (VNF) recebe um identificador de segmento único.

2

Encadeamento por lista de SIDs

O caminho dos pacotes é definido pela lista de SIDs anexada ao cabeçalho.

3

Escalabilidade

Não há necessidade de armazenar informações de estado em todos os roteadores, apenas no nó de entrada (Ingress).

4

Solução unificada

O SRv6 integra o encadeamento de serviços e o transporte de pacotes sem depender de protocolos adicionais.

5

Metadados embutidos

O IPv6 permite transportar informações de contexto junto ao tráfego, enriquecendo a tomada de decisão.

Arquitetura do Plano de Dados

Roteadores Ingress e Egress

Ingress: Classifica o tráfego e insere a lista de SIDs no pacote.
Egress: Remove o cabeçalho SRv6 antes que o pacote deixe o domínio.

Nós NFV

Podem hospedar funções virtualizadas em máquinas virtuais ou contêineres. Cada VNF é identificada por um endereço IPv6, que corresponde ao seu SID.

Modos de Inserção

Encap Mode

Encapsulamento em um novo pacote IPv6

Insert Mode

Adição direta do SRH ao pacote original

Compatibilidade

VNFs que não entendem o SRv6 podem ser suportadas por meio de proxies, responsáveis por traduzir o cabeçalho antes e depois do processamento.

Arquitetura do Plano de Controle

🎭 Orquestrador End-to-End

  • Instancia e administra VNFs
  • Pode criar funções dinamicamente quando o tráfego chega pela primeira vez
  • Gerencia ciclo de vida das funções

🎮 Controlador SDN

  • Configura o roteador de entrada com regras de classificação
  • Aplica a lista de SIDs ao tráfego
  • Gerencia a topologia do domínio SRv6
  • Utiliza protocolos de roteamento padrão (OSPF) quando necessário

Centralização da Complexidade: Esse modelo centraliza a complexidade no roteador de entrada, reduzindo o estado necessário na rede e facilitando a escalabilidade.

SRv6 Network Programming

O SRv6 evoluiu de um mecanismo de roteamento para um modelo de programação de rede (network programming). Nesse modelo, cada SID não representa apenas um destino, mas também uma instrução associada a um comportamento de rede.

Em vez de apenas encaminhar pacotes para determinados nós, é possível programar funções específicas dentro da própria rede. Essa abordagem aproveita o amplo espaço de endereçamento IPv6 e torna o SRv6 uma ferramenta poderosa para construir redes programáveis e flexíveis.

Estrutura Lógica de um SID

LOC (Locator)

Identifica o nó da rede

:
FUNCT (Function)

Aponta para uma função específica dentro do nó

:
ARGS (Arguments)

Parâmetros adicionais que podem variar a cada pacote

Vantagem: Um firewall SRv6-aware pode adaptar seu comportamento de acordo com os argumentos recebidos, sem necessidade de reconfiguração centralizada. Isso permite ações personalizadas para cada fluxo de tráfego.

Impacto: Essa capacidade de programação transforma a rede de um simples meio de transporte em uma plataforma ativa que pode executar lógica de negócio e tomar decisões inteligentes baseadas no contexto do tráfego.

Comparação SFC Tradicional vs SRv6
Figura 5: Comparação entre SFC Tradicional e SFC baseado em SRv6

4. Virtual Network Functions (VNFs) e SRv6

Integração de VNFs SRv6-Unaware

SRv6-Aware

Entendem e processam informações de Segment Routing

SRv6-Unaware (Legadas)

Não possuem capacidade de processar SRv6

O Desafio das VNFs Legadas

Muitas VNFs foram projetadas antes do SRv6 e não reconhecem os cabeçalhos adicionais. Ao receberem pacotes com informações SRv6, podem:

  • Descartá-los
  • Processá-los incorretamente

Solução: Como essas funções legadas ainda são amplamente utilizadas, é necessário encontrar formas de integrá-las sem substituição imediata.

SRv6-Proxy: A Solução de Compatibilidade

O SRv6-proxy é uma entidade intermediária que processa as informações de Segment Routing em nome da VNF.

1

Entrada

Proxy recebe pacote com cabeçalho SRv6

2

Remoção

Remove o cabeçalho SRv6

3

Processamento

VNF processa pacote IP tradicional

4

Restauração

Proxy restaura o cabeçalho SRv6

Mecanismos de Proxy

Proxy Estático

Características:

  • Configurado manualmente
  • Usa informações pré-definidas
  • Simples, mas pouco flexível
Proxy Dinâmico

Características:

  • Aprende automaticamente durante o tráfego
  • Adapta-se a cenários variados
  • Considerado o mais versátil
Proxy de Memória Compartilhada

Características:

  • Usado quando proxy e VNF estão no mesmo nó
  • Aproveita compartilhamento de recursos locais
  • Melhor desempenho em cenários específicos
Proxy de Mascaramento

Características:

  • Esconde informações SRv6 sem removê-las
  • Adequado para IDS, DPI e firewalls simples
  • Menor overhead de processamento

Considerações Práticas

A integração de VNFs SRv6-unaware é essencial para a transição gradual das redes legadas para arquiteturas modernas. Embora o uso de proxies traga alguma complexidade e impacto de desempenho, ele garante compatibilidade e preserva investimentos já feitos em funções tradicionais.

O avanço natural, no entanto, está na evolução para VNFs nativamente SRv6-aware, capazes de interagir diretamente com as informações de Segment Routing e eliminar a necessidade de intermediários. Essa evolução representa um passo fundamental para a consolidação do SFC baseado em SRv6 em larga escala.

Desenvolvimento de VNFs SRv6-Aware Nativas

VNFs SRv6-aware são funções capazes de interpretar e processar, de forma nativa, os cabeçalhos e informações do Segment Routing IPv6.

Vantagens das VNFs SRv6-Aware

🔧
Simplificação da Infraestrutura

Não há necessidade de proxies intermediários, reduzindo a complexidade.

Melhor Desempenho

Elimina o custo extra de processamento e reclassificação.

🎯
Recursos Avançados

Preserva informações do cabeçalho SRH, permitindo ramificações e ciclos em cadeias.

💻
Programação de Rede

Aproveita o conceito de network programming do SRv6.

Exemplos de Implementações

SERA

Segment Routing Aware Firewall

Extensão do iptables do Linux que processa pacotes SRv6 em modos básico e avançado.

SR-Snort

IDS/IPS Adaptado

Versão do Snort capaz de analisar pacotes encapsulados em SRv6.

SR-nftables

Firewall Moderno

Evolução do nftables com suporte para informações do cabeçalho SRH.

SR-tcpdump

Ferramenta de Debug

Versão aprimorada do tcpdump para inspecionar e depurar tráfego SRv6.

Considerações de Design

Modo Básico (Compatibilidade)

A função deve conseguir atuar como uma VNF tradicional, aplicando regras sobre pacotes IP originais, sem depender do SRv6.

Modo Avançado (Recursos SRv6)

A função pode usar atributos adicionais do cabeçalho SRH e executar ações específicas:

  • seg6-skip-next: Pula um segmento da lista
  • seg6-go-last: Salta diretamente para o último segmento

5. Medição e Avaliação de Desempenho

Importância e Desafios

A avaliação de desempenho do SFC baseado em SRv6 é fundamental, pois a tecnologia já está em fase de adoção em redes de provedores e data centers.

Aspectos Avaliados:

📊 Escalabilidade
⏱️ Latência
📉 Perda de Pacotes
🔄 Tolerância a Falhas

Desafio Principal

O tráfego precisa ser encaminhado em taxas muito altas, com baixo consumo de CPU, o que exige metodologias específicas para simulação e medição.

SRPerf: Estrutura de Avaliação

O SRPerf é uma estrutura de código aberto baseada nas diretrizes da RFC 2544.

Nó Tester

Função: Gera tráfego de alta taxa

Ferramenta: TRex

Coleta: Métricas de throughput, latência e jitter

Nó SUT

System Under Test

Função: Executa o encaminhamento SRv6

Plataformas: Kernel Linux ou VPP

🎭 Orquestrador

Automatiza os testes, aplica configurações necessárias e analisa os resultados.

Testes e Ambiente Experimental

Os experimentos foram realizados em servidores físicos dedicados, com hardware idêntico para garantir precisão nas medições. As configurações priorizaram o processamento em um único núcleo de CPU, com desativação de recursos de otimização automática, para medir o desempenho puro do kernel Linux e do VPP.

Objetivo: Avaliar o desempenho real das implementações SRv6 sem interferência de otimizações automáticas, permitindo identificar gargalos específicos e oportunidades de melhoria.

Metodologia de Medição

Métricas Analisadas:

Throughput

Taxa de transferência de dados

Latência

Tempo de propagação dos pacotes

Jitter

Variação da latência

Taxa de Perda

Percentual de pacotes perdidos

Partial Drop Rate (PDR)

Indicador de destaque que representa a taxa máxima de encaminhamento alcançada antes de atingir um limite aceitável de perda.

Obtido por meio de algoritmos que ajustam dinamicamente a taxa de tráfego até encontrar o ponto de equilíbrio.

Resultados e Comparações

Kernel Linux

Encapsulamento e Inserção

Desempenho: Redução em relação ao IPv6 simples

Motivo: Custo de manipulação de memória

Comportamentos de Endpoint

End, End.T, End.X: Queda inicial de desempenho

Após otimizações: Valores muito mais próximos do IPv6 tradicional

Proxies SRv6

Desempenho: Menor que operações diretas

Viabilidade: Aceitável para cenários reais

Conclusão: Viável para integração com funções legadas

VPP (Vector Packet Processing)

O VPP, especializado em encaminhamento em user-space com otimizações de cache e batch processing, atingiu taxas significativamente mais altas que o kernel Linux.

Kernel Linux

✅ Flexibilidade

✅ Compatibilidade

✅ Integração com sistemas legados

⚠️ Performance moderada

VPP

✅ Máxima performance

✅ Milhões de pacotes/segundo

✅ Otimizações de cache

⚠️ Menos flexível

Conclusões da Avaliação

  • SRPerf: Permitiu identificar gargalos, aplicar correções e demonstrar viabilidade do SRv6
  • VPP: Destaca-se em cenários de máxima performance
  • Linux: Com ajustes, apresenta resultados sólidos e maior integração com sistemas legados
  • Combinação: Abre espaço para adoção ampla do SRv6 em diferentes contextos

6. Desafios, Considerações e Coexistência

Desafios de Adoção do SFC

A adoção do Service Function Chaining (SFC) traz ganhos importantes em flexibilidade e automação, mas também apresenta desafios significativos de design e operação. Compreender esses desafios é fundamental para uma implementação bem-sucedida.

🗺️ Dependências Topológicas

Modelos tradicionais eram rígidos e dificultavam a adição ou escalonamento de funções de rede. O SFC busca eliminar essa limitação.

🔄 Alta Disponibilidade

A redundância de funções exige novas estratégias para evitar falhas sem depender da topologia física.

📋 Ordenação de Funções

Manter a sequência correta de processamento é essencial, especialmente quando múltiplas funções interagem.

⚖️ Elasticidade e Balanceamento

Ajustar dinamicamente a capacidade de serviço ainda é um desafio, exigindo mecanismos de balanceamento de carga.

👁️ Visibilidade Fim a Fim

Cadeias distribuídas por diferentes data centers dificultam monitoramento e resolução de falhas, tornando ferramentas de OAM indispensáveis.

↔️ Simetria de Tráfego

Funções como firewalls e DPI exigem processamento bidirecional consistente, aumentando a complexidade da configuração.

📦 MTU e Fragmentação

A adição de cabeçalhos extras pode aumentar o tamanho dos pacotes além do limite permitido pela rede.

🔒 Segurança

Novas ameaças surgem: vazamento de metadados, injeção de pacotes ou ataques a classificadores. A proteção do tráfego é essencial.

Coexistência com Outras Tecnologias

O SFC baseado em SRv6 não elimina outras abordagens, mas pode coexistir e até complementá-las.

NSH (Network Service Header)

Características:
  • Usado em conjunto com túneis (VXLAN, GRE, MPLS)
  • Adiciona informações sobre políticas e metadados de serviço
  • Foca na parte de contexto
Integração com SRv6:

As duas tecnologias podem ser combinadas:

  • NSH: Transporta contexto e metadados
  • SRv6: Define rotas e caminhos topológicos
Vantagens do SRv6 sobre NSH:
  • ✅ Maior escalabilidade (estado apenas no roteador de entrada)
  • ✅ Integra overlay e underlay em solução unificada
  • ✅ Menos protocolos adicionais necessários

OpenStack Neutron

Estado Atual:

Não tem suporte nativo a SFC

Propostas Existentes:
  • APIs para definir cadeias de serviço
  • Associar tráfego a máquinas virtuais
  • Integrar VNFs com diferentes mecanismos de encapsulamento
Perspectiva:

Integração futura permitirá orquestração de SFC em ambientes OpenStack

Considerações Finais sobre Desafios

Oportunidades

  • Escalabilidade sem precedentes
  • Independência topológica
  • Recursos de programação de rede
  • Integração com tecnologias existentes
  • Suporte a redes 5G, edge computing e data centers

Pontos de Atenção

  • Complexidade de segurança aumentada
  • Necessidade de interoperabilidade
  • Gestão de múltiplos sistemas
  • Transição gradual de sistemas legados
  • Capacitação técnica das equipes

Conclusão: O SFC baseado em SRv6 representa uma solução promissora por combinar escalabilidade, independência topológica e recursos de programação de rede. Apesar dos desafios na integração com funções legadas e na convivência com outras tecnologias, os estudos mostram que a arquitetura é viável, segura e alinhada às necessidades de redes de próxima geração.

7. Conclusão

O Service Function Chaining (SFC) representa uma mudança significativa no design e operação de redes modernas. Esta apresentação explorou como essa arquitetura surge como resposta às limitações dos modelos tradicionais, rigidamente acoplados à topologia física e pouco flexíveis para atender às crescentes demandas de escalabilidade, qualidade de serviço e inovação.

Principais Pontos Abordados

1

Fundamentos do SFC

A combinação entre NFV e SDN como alicerce do SFC, permitindo que funções de rede sejam implementadas em software, dinamicamente encadeadas e controladas por políticas centralizadas.

2

Arquitetura e Componentes

Classificadores, SFFs, Service Functions, encapsulamento SFC e proxies trabalham em conjunto para criar cadeias de serviço flexíveis e independentes da topologia.

3

SRv6 como Tecnologia-Chave

O Segment Routing over IPv6 transforma a rede em uma plataforma programável através do network programming, onde cada segmento pode representar não apenas um destino, mas também uma instrução de processamento.

4

Integração de VNFs

A importância da transição gradual, viabilizada por proxies para funções legadas (SRv6-unaware), e o futuro promissor das funções nativamente compatíveis (SRv6-aware).

5

Avaliação de Desempenho

Ferramentas como o SRPerf evidenciaram tanto os desafios práticos quanto o potencial de otimização do SRv6 em diferentes plataformas (Linux e VPP).

6

Desafios e Coexistência

A evolução das redes não é apenas tecnológica, mas também de gestão, padronização e integração com tecnologias como NSH e OpenStack Neutron.

Visão para o Futuro

O SFC baseado em SRv6 não é apenas uma solução para problemas atuais

É uma arquitetura capaz de sustentar as demandas futuras de:

📡

Redes 5G

🌐

Edge Computing

🏢

Data Centers de Alta Escala

☁️

Cloud Computing

Para Pesquisadores e Estudantes

O tema oferece um campo fértil de estudo, onde teoria e prática se encontram na construção das redes programáveis do futuro.

  • Otimização de desempenho em diferentes plataformas
  • Desenvolvimento de novas VNFs SRv6-aware
  • Integração com tecnologias emergentes
  • Soluções para desafios de segurança e escalabilidade
  • Aplicações em cenários reais de produção

Síntese Final

O Service Function Chaining, especialmente quando implementado com SRv6, representa um paradigma transformador para as redes de telecomunicações. Ao combinar flexibilidade, escalabilidade e programabilidade, o SFC não apenas resolve os desafios atuais das redes, mas também pavimenta o caminho para as inovações futuras.

A jornada de adoção do SFC é um processo gradual que requer:

  • Investimento em infraestrutura e capacitação
  • Padronização e interoperabilidade
  • Evolução contínua de ferramentas e metodologias
  • Colaboração entre academia, indústria e operadores

Com o amadurecimento da tecnologia e a crescente adoção em cenários reais, o SFC está posicionado para se tornar um componente fundamental das redes de próxima geração.

Em síntese, o SFC baseado em SRv6 não é apenas uma solução para problemas atuais, mas uma arquitetura capaz de sustentar as demandas futuras de redes 5G, edge computing e data centers de alta escala. Para pesquisadores e alunos, o tema oferece um campo fértil de estudo, onde teoria e prática se encontram na construção das redes programáveis do futuro.

Sobre o Trabalho

Autor: Rodrigo Lucas Pinto da Silva

Curso: Engenharia de Computação e Informação

Instituição: Universidade Federal do Rio de Janeiro (UFRJ)

Disciplina: Redes de Computadores II