Inicialmente, a Internet foi projetada para fornecer conectividade de “melhor esforço” (best effort) pelo caminho de menor custo. Relativamente poucos sites estavam conectados à Internet e, nesses sites, somente as aplicações que atendiam a uma política de uso razoável podiam ser conectadas.
Hoje, bilhões de empresas, residências e dispositivos estão conectados à Internet. Aplicações críticas incluem telemedicina, controle de tráfego e transações financeiras. Algumas aplicações, como email, são tolerantes a perda, latência e variação de latência, enquanto outras, como jogos, são consideravelmente menos tolerantes.
Na Internet de hoje, muitas aplicações exigem mais do que a conectividade de melhor esforço por um caminho de menor custo. Como essas aplicações são ubíquas, as operadoras de rede precisam fornecer serviços avançados, como engenharia de tráfego e rerroteamento rápido, em grande escala. Para fazer isso, elas precisam reduzir a complexidade da rede.
O Roteamento por segmentos (SR) oferece uma abordagem inovadora para a orientação (steering) do tráfego. Essa abordagem pode ser aplicada a problemas de longa data, como engenharia de tráfego e rerroteamento rápido. Quando aplicado a esses problemas, o SR pode simplificar os protocolos de roteamento e o design e as operações de redes.
Muitos fornecedores de equipamentos de rede oferecem implementações de SR interoperáveis. Entretanto, a inovação do SR continua na Juniper Networks e em todo o setor. Esta série de publicações destina-se a orientar o leitor pelo renascimento do Roteamento por segmentos.
Para entender as recentes inovações do SR, o leitor deve primeiro compreender as noções básicas do SR. Portanto, um objetivo desta série de publicações é explicar as noções básicas do SR. Esta exposição de noções básicas do SR incluirá insights obtidos a partir da implementação e experimentação, além de uma revisão das primeiras especificações.
Outra publicação da série trata das melhores práticas relacionadas à implantação e às operações do SR. E, finalmente, esta série de publicações trata das lacunas, dos novos requisitos e das inovações recentes do SR.
Começaremos introduzindo o domínio do SR e o caminho do SR.
Domínio do SR
Um domínio do SR é uma coleção de nós que participam de protocolos SR. Dentro de um domínio do SR, um nó pode executar procedimentos de ingresso, trânsito ou saída. A Figura 1 mostra uma rede em que um nó de origem envia um pacote para um nó de destino. Os nós de origem e destino estão fora do domínio do SR, mas o caminho entre eles atravessa o domínio.
Figura 1: Um domínio do SR
Quando o pacote chega ao nó de ingresso no SR, esse nó o sujeita a uma política. A política inclui ações e condições de correspondência. Se o pacote atender às condições de correspondência, o nó de ingresso no SR pode encapsulá-lo em um túnel do SR. O túnel do SR atravessa um caminho do SR até o nó de saída.
O caminho do SR pode ser projetado para atender a qualquer número de restrições (por exemplo, largura de banda de enlace mínima, latência de caminho máxima). Embora um caminho do SR possa ser o de menor custo até o nó de saída, as restrições podem obrigar outro caminho.
Em muitos casos, o nó de origem e o nó de ingresso no SR residem em plataformas de hardware independentes. Por exemplo, o nó de origem pode ser um laptop, e o nó de ingresso no SR um roteador. Entretanto, nem sempre esse é o caso. Em alguns casos, o nó de origem pode ser uma máquina virtual, e o nó de ingresso no SR um hipervisor. Ambos podem residir na mesma plataforma de hardware.
Similarmente, o nó de saída do SR e o nó de destino podem residir em plataformas de hardware independentes. No entanto, também podem residir em uma única plataforma.
Em uma configuração menos típica, o nó de origem reside no domínio do SR. Nesse caso, o nó de origem também é o nó de ingresso no SR, porque executa procedimentos de ingresso no SR. Da mesma forma, o nó de destino também pode residir no domínio do SR. Nesse caso, o nó de destino também é o nó de saída do SR, porque executa procedimentos de saída do SR.
Caminho do SR
Um caminho do SR é uma lista ordenada de segmentos que conecta um nó de ingresso no SR a um nó de saída do SR. Embora um caminho do SR possa ser o de menor custo do ingresso até a saída, ele também pode seguir outro caminho.
Muitos caminhos do SR podem compartilhar um único segmento. A Figura 2 fornece um exemplo. O caminho A conecta a entrada A à saída Z, e o caminho B conecta a entrada B ao mesmo nó de saída. Ambos os caminhos atravessam o Segmento 3.
Figura 2: Caminhos do SR que compartilham um segmento
Quando um nó de ingresso no SR encapsula um pacote em um túnel SR, ele codifica a lista de segmentos associada no cabeçalho do túnel. Depois, encaminha o pacote downstream. Nós de trânsito processam o cabeçalho do túnel, encaminhando o pacote do segmento atual até o próximo segmento.
Como o nó de ingresso no SR codifica informações de caminho no cabeçalho do túnel, os nós de trânsito não precisam manter informações relacionadas a cada caminho que suportam. Eles só precisam processar o cabeçalho do túnel, encaminhando o pacote do segmento atual até o próximo segmento.
Esse é o principal benefício do SR. Como os nós de trânsito não precisam manter informações de caminho, a sobrecarga associada com a manutenção de informações é eliminada. Protocolos de roteamento são simplificados, características de dimensionamento são aprimoradas e as operações de rede tornam-se menos problemáticas.
Embora a codificação de informações de caminho no pacote e sua remoção do nó de trânsito introduza alguns novos desafios, a compensação de engenharia é imensamente positiva. Essa compensação de engenharia será analisada nas próximas publicações.
Próxima parte
Na próxima parte desta série de publicações, forneceremos uma definição mais completa de segmentos e seus tipos.