Entender os serviços gRPC para gerenciar dispositivos de rede
RESUMO os aplicativos de cliente gRPC podem usar serviços de rede gRPC, incluindo operações de gNOI e serviços gRIBI, para gerenciar dispositivos de rede suportados.
Benefícios dos serviços de rede gRPC
- Forneça interfaces agnósticas simples e de fornecedor para gerenciar dispositivos de rede.
- Permita que você gerencie redes multifornecedor com mais facilidade em grande escala.
- Use a estrutura de chamada de procedimento remoto gRPC para buffers de transporte e protocolo para definições de serviço e codificação, que fornecem transporte eficiente e processamento rápido.
Entender o OpenConfig
O OpenConfig é um esforço colaborativo no setor de redes para avançar em direção a um método mais dinâmico e programável para configurar e gerenciar redes de vários fornecedores. O OpenConfig oferece suporte ao uso de definições de serviços e modelos de dados neutros para gerenciar e configurar a rede. As definições de serviço definem operações comuns executadas em dispositivos de rede, e os modelos de dados definem a configuração e o estado operacional dos dispositivos de rede para protocolos ou serviços de rede comuns.
As operadoras com uma rede multifornecedor se beneficiam muito com o uso de modelos e especificações padrão do setor. O objetivo do OpenConfig é que as operadoras possam usar um único conjunto de modelos e operações de dados para configurar e gerenciar todos os dispositivos de rede que suportam a iniciativa OpenConfig. O grupo de trabalho OpenConfig desenvolveu especificações para interfaces baseadas em gRPC para gerenciar os fluxos de configuração, operações e telemetria em dispositivos de rede, que fornecem vantagens sobre outros protocolos tradicionais de gerenciamento de rede.
Visão geral dos serviços baseados em gRPC
gRPC é uma estrutura de chamada de procedimento remoto (RPC) de código aberto que foi originalmente desenvolvida pelo Google. o gRPC usa HTTP/2 para transporte e oferece suporte a mecanismos de segurança modernos e streaming bidirecional. o gRPC usa o formato de dados protocolar buffers para definir serviços e codificar dados. Os buffers de protocolo são agnósticos de linguagem e oferecem suporte a ligações para muitos idiomas diferentes, o que permite que as operadoras integrem serviços baseados em gRPC facilmente em aplicativos de gerenciamento existentes.
O grupo de trabalho OpenConfig definiu especificações para protocolos de gerenciamento de rede baseados em gRPC. Os serviços de rede baseados em gRPC incluem:
- interface de gerenciamento de rede gRPC (gNMI)— serviço único para gerenciamento de configuração e telemetria de streaming.
- interface de operações de rede gRPC (gNOI)— pacote de microsserviços para gerenciamento de operações.
- Interface base de informações de roteamento gRPC (gRIBI)— Serviço que permite que aplicativos externos adicionem ou removam entradas programáticamente em uma tabela de roteamento no dispositivo alvo.
A Figura 1 ilustra o escopo dos diferentes serviços.
Visão geral dos serviços gNMI, gNOI e gRIBI
o gNMI fornece um único serviço para o gerenciamento de estado de elementos de rede. o gNMI usa modelos de dados neutros para fornecedores que definem o estado de configuração e operacional dos dispositivos de rede para protocolos ou serviços de rede comuns. os clientes gNMI podem recuperar e modificar a configuração de um dispositivo de rede, bem como transmitir dados operacionais. As operadoras monitoram a rede assinando os objetos de dados específicos de interesse. o gNMI também oferece suporte ao streaming on-change , que é essencial para operações sensíveis ao tempo.
Para obter mais informações sobre o uso do gNMI para o gerenciamento de configuração e o streaming de telemetria nos dispositivos Junos, consulte:
Enquanto o gNMI lida com o gerenciamento de estado, o gNOI lida com o gerenciamento de operações. gNOI é uma coleção de microsserviços baseados em gRPC para realizar operações comuns em dispositivos de rede. Cada definição de serviço define chamadas de procedimento remoto (RPCs) que os aplicativos de gerenciamento podem executar em um dispositivo para realizar um conjunto de operações, por exemplo, reinicializando um dispositivo, atualizando o software ou girando um certificado. Para obter uma lista de serviços gNOI suportados, consulte a visão geral dos serviços gNOI.
o gRIBI é um serviço único para gerenciar a base de informações de roteamento do dispositivo de rede (RIB, também conhecida como tabela de roteamento) e a base de informações de encaminhamento (FIB, também conhecida como tabela de encaminhamento). Os aplicativos de gerenciamento podem executar RPCs gRIBI em um dispositivo para recuperar, adicionar, modificar ou excluir rotas da RIB ou FIB do dispositivo. Para obter mais informações sobre RPCs gRIBI suportados, consulte gRIBI.
gNMI, gNOI e gRIBI usam gRPC para transporte, e a conexão entre o servidor gRPC e o cliente gRPC é sobre uma sessão gRPC criptografada por SSL. Por exemplo, a Figura 2 ilustra uma conexão simples entre um cliente gNOI e um servidor. A Juniper Networks oferece suporte à autenticação somente para servidores e autenticação mútua para a sessão gRPC, que usa certificados X.509 para autenticar o dispositivo ou o aplicativo. Os certificados podem ser assinados por uma autoridade certificadora ou autografados.
gNMI, gNOI e gRIBI definem serviços para gerenciar dispositivos de rede. Cada definição de serviço define as operações (RPCs) e as estruturas de dados (mensagens) para esse serviço específico em arquivos proto definição. As estruturas de dados são definidas usando buffers de protocolo, que é um formato de dados de código aberto e neutro para serializar dados estruturados. Você usa protoc
ou um compilador equivalente para compilar os arquivos proto para sua linguagem preferida. Os aplicativos de gerenciamento podem usar o código nos arquivos compilados para realizar as operações solicitadas em dispositivos de rede. A Tabela 1 fornece os locais para os repositórios gNMI, gNOI e gRIBI GitHub contendo os arquivos proto de defintion.
Repositório de Interface GitHub | |
---|---|
gNMI | openconfig/gnmi |
gNOI | openconfig/gnoi |
gRIBI | openconfig/gribi |
gNMI, gNOI e gRIBI oferecem alternativas e vantagens em relação a outros protocolos de gerenciamento de rede, como NETCONF e RESTCONF. Como gNMI, gNOI e gRIBI são serviços baseados em gRPC, e os arquivos de proto definição podem ser compilados para muitos idiomas compatíveis diferentes, os serviços podem ser facilmente integrados com aplicativos de gerenciamento existentes para gerenciar redes de vários fornecedores. Além disso, o uso de buffers de protocolo para serialização de dados geralmente fornece transporte mais eficiente e processamento mais rápido em outros formatos de serialização, como JSON e XML.