Introducao aos conceitos de programabilidade de infraestruturas de redes

De Wiki BPF
Revisão de 19h16min de 14 de janeiro de 2020 por Leonardo.furtado (discussão | contribs) (Draft)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Introdução aos Conceitos de Programabilidade de Infraestruturas de Redes

Autor: Leonardo Furtado

Introdução

Este artigo apresentará os fundamentos mais importantes acerca do gerenciamento de infraestruturas de redes e pavimentará a sua jornada, caro leitor da Wiki do BPF, para as questões de programabilidade de infraestruturas de redes e com foco aos ambientes de ISP.

Espero que você curta a leitura deste artigo tanto quanto eu curti para produzi-lo!

Pré-requisitos

A leitura deste artigo fará muito mais sentido caso você reúna determinados pré-requisitos em termos de conhecimentos técnicos. Recomendo que certifique-se de possuir os conhecimentos equivalentes aos temas discutidos nos seguintes artigos, já publicados na Wiki do Brasil Peering Forum (BPF).

Revisão dos principais conceitos e componentes de uma infraestrutura de redes Metro e IP

Para começarmos com o pé direito, que tal fazermos uma boa revisão sobre os principais componentes e conceitos presentes em uma infraestrutura de redes? Ao término do artigo, talvez esta seção tenha sido bastante útil para você entender melhor as complicações no que diz respeito à manutenção das infraestruturas de redes e como as tecnologias e ferramentas de programabilidade poderão drasticamente atenuar os esforços e custos operacionais.

Dispositivos de rede

Em uma rede de ambiente ISP (aka "service provider") é comum encontrarmos os seguintes tipos de equipamentos ou elementos ativos, que são referências aos dispositivos de rede:

  • Roteadores: devidamente categorizados por suas funções e missões, em especial em alinhamento com uma infraestrutura de redes hierárquica, modular e estruturada, ou seja roteadores de Acesso, Pré-Agregação, Agregação, Core, Borda de Serviços e Borda de Internet, e também os roteadores de clientes, sejam estes de propriedade do ISP (comodato) ou mantidos pelo próprio cliente. Aqui entram os termos CE ou CPE (Customer Premises Equipment), PE (Provider Edge), P (Provider), e cada um destes, além de seu respectivo posicionamento na hierarquia topológica física e lógica da rede, desempenhando funções tais como LSR (Label Switch Router), LER (Label Edge Router), BNG (Broadband Network Gateway), dentre outros casos.
  • Switches: praticamente a mesma coisa com relação aos roteadores no que diz respeito ao seus posicionamentos em uma rede, hierarquia e afins. Podendo ser elementos ativos desempenhando funções puramente de Camada 2 (L2) ou multicamadas (L3), em ambientes Ethernet ou Ethernet + IP nativos, ou ainda em ambientes MPLS.
  • GPON: neste caso aqui, sumarizando os dispositivos desta infraestrutura, tais como OLT (Optical Line Terminal), ONU (Optical Network Unit), ONT (Optical Network Terminal), e, por que não, a parte passiva (leia-se: não ativa) da infraestrutura, denominada Optical Distribution Network (ODN), e que incluem as fibras ópticas e passivos ópticos, como splitters, conectores, cordões, extensões, caixas de emenda e terminação.

Protocolos e serviços de infraestruturas de redes

Uma coisa são os dispositivos de redes mencionados anteriormente, outra coisa são as tecnologias que viabilizam o funcionamento de uma rede, em especial no que diz respeito à comunicação necessária entre os elementos ativos para o efetivo transporte do tráfego da rede e dos serviços contratados por seus usuários. Nem de longe atreverei-me a listar tudo, pois isto seria obviamente inviável. Tentemos sintetizar aqui, pois uma versão completa disso seria quilométrica!

  • Protocolos e serviços de camada 2 (L2): em referência ao modelo de referência OSI (RM-OSI) ou ao modelo TCP/IP, são tecnologias primariamente envolvidas na viabilidade de uma infraestrutura redundante (com foco na maior disponibilidade) isenta de bridging loops, e com capacidades de recuperação de falhas envolvendo enlaces de transmissão ou dos próprios elementos de rede. Exemplos de tecnologias aqui: Spanning Tree Protocol (e suas variações, 802.1d (STP), 802.1w (RSTP), 802.1s (MSTP), 802.1aq (Shortest Path Bridging (SPB)), e revisões incorporadas ao 802.1Q-2014), Resilient Ethernet Protocol (REP, proprietário), Ethernet Automatic Protection Switching (EAPS, proprietário), G.8032 (Ethernet Ring Protection (ERP) protocol), coexistência de Inter-Chassis Communication Protocol (ICCP) e STP, etc. E, claro, não poderia deixar de mencionar aqui mais óbvio, que são tecnologias tais como o próprio endereçamento físico (Media Access Control (MAC)) dos dispositivos, Virtual LAN (VLAN), entroncamento 802.1q e 802.1ad (Q-in-Q), etc. E isto focando apenas no óbvio, pois há uma gama muito grande de tecnologias e serviços que implementam funções ou que atuam na camada 2. E, para concluir, L2VPN (VPLS, VPWS, EVPN) também são exemplos de tecnologias para o transporte de tráfego/serviços L2 em uma rede MPLS (VPLS/VPWS) ou MPLS ou VxLAN (EVPN). Generic Routing Encapsulation (GRE), Layer 2 Tunneling Protocol (L2TP), Layer 2 Protocol Tunneling (L2PT), Point-to-Point Tunneling Protocol (PPTP) são outros exemplos clássicos e empregando conceitos de túneis.
  • Protocolos e serviços de camada 3 (L3): também em alinhamento ao RM-OSI, são tecnologias que tem como propósito a construção e manutenção de uma rede IP "roteada". Enquadram-se aqui o endereçamento IPv4 e IPv6, protocolos de roteamento (ex: OSPF, IS-IS, EIGRP, BGP, RIPv2 para IPv4, e RIPng, OSPFv3, IS-IS for IPv6, EIGRP for IPv6, BGP para o IPv6), além de rotas conectadas, rotas estáticas, serviços de roteamento por políticas (PBR, ABF ou nome similar usado pelo seu fabricante de equipamento). Enquadram-se também à título de serviços L3 os seguintes: Network Address Translation (NAT), Carrier Grade NAT (CGN), Broadband Network Gateway (BNG, como concentrador PPPoE e/ou IPoE).
  • Protocolos e serviços orientados à confiabilidade, resiliência e disponibilidade: compreenda estes como serviços periféricos e pensados para melhorarmos a confiabilidade geral da infraestrutura, seja em cenários L2 ou L3, ou ainda ambos. Exemplos de tecnologias que enquadram-se aqui temos o Unidirectional Link Detection (UDLD), Bidirectional Forwarding Detection (BFD), In-Service Software Upgrade (ISSU), Online Insertion and Removal (OIR), Stateful Switchover (SSO), Nonstop Forwarding (NSF) ou Graceful Restart (GR), Non Stop Routing (NSR), MPLS Traffic Engineering Fast Reroute (FRR), Topology Independent LFA (TI-LFA) e RLFA, Segment Routing TI-LFA (SRTILFA), Link Aggregation Control Protocol (LACP), enfim, são exemplos clássicos. Outros exemplos aqui incluem os protocolos de resiliência de primeiro salto ou de default gateway, conhecidos por FHRP (First Hop Redundancy Protocol), tais como o HSRP (Hot Standby Router Protocol), VRRP (Virtual Router Redundancy Protocol) e GLBP (Gateway Load Balancing Protocol). Isto para não mencionar os mecanismos periféricos presentes em outros protocolos já discutidos, tais como o OSPF LSA e SPF Throttling, BGP Prefix Independent Convergence (PIC), etc.
  • Protocolos e serviços de suporte à infraestrutura: enquadram-se aqui protocolos e serviços tais como o PPPoE (Point-to-Point Protocol over Ethernet), IPoE (Internet Protocol over Ethernet), Dynamic Host Configuration Protocol (DHCP), DNS (Domain Name System), AAA (Authentication, Authorization, Accounting), RADIUS (Remote Authentication Dial In User Service), TACACS+ (Terminal Access Controller Access-Control System), Diameter, NTP (Network Time Protocol), PTP (Precision Time Protocol), SyncE (Synchronous Ethernet), e outros. As tecnologias com foco ao Quality of Service (QoS) também podem ser descritas aqui.
  • Protocolos e serviços de gerenciamento: figuram aqui, dentre tantos, o Simple Network Management Protocol (SNMP), Remote Network MONitoring (RMON) MIB, Netflow, Internet Protocol Flow Information Export (IPFIX), Telnet, Secure Shell (SSH), SSH File Transfer Protocol (SFTP), Operations, Administration and Maintenance (OAM) incluindo Ethernet OAM Link Fault Management (EOAM LFM), 802.1ag Connectivity Fault Management (CFM), Ethernet Local Management Interface (E-LMI), Ethernet Performance Management, MPLS OAM, Network Configuration e modelos Yang (NETCONF/Yang), interface RESTful para a modelagem Yang com RESTCONF, Technical Report 069 (TR-69) e substitutos, dentre tantos outros.
  • Protocolos e serviços de segurança da infraestrutura: há tantos casos para citar aqui, tentarei ser mais prático. Port Security, 802.1X IBNS, Network Admission Control (NAC), Private VLAN, Dynamic ARP Inspection (DAI), DHCP Snooping, IP Source Guard (IPSG), Root Guard, BPDU Guard, BPDU Filtering, mecanismos de autenticação dos protocolos de roteamento, mecanismos de autenticação de protocolos MPLS (LDP e RSVP-TE), filtros e políticas de roteamento, BGP Flowspec, Remotely Triggered Black Hole (RTBH), stateful packet filtering, BGP Resource Public Key Infrastructure (RPKI), Control Plane Policing (CoPP/dCoPP), Broadcast, Unicast and Multicast (BUM) Storm Control, limitação de prefixos mantidos em tabelas de roteamento, Unicast Reverse Path Forwarding (uRPF), e tantas outras. E isto com relação às tecnologias, pois devem ser considerados também os appliances (dispositivos) de segurança que embarcam estas tecnologias e serviços, tais como firewalls, UTMs, etc.

Sistemas e serviços de suporte à infraestrutura

A lista de situações aqui é mais simples, mas não menos complexa:

  • Sistemas de Suporte ao Negócio (BSS)
  • Sistemas de Suporte à Operação (OSS)
  • Serviços de Diretório (ex: LDAP, Active Directory)
  • Infraestrutura Public Key Infrastructure (PKI)
  • Sistema IP Address Management (IPAM)
  • Sistemas específicos para fins de gerenciamento de elementos e de infraestrutura (EMS e NMS)
  • Etc.

Áreas sistêmicas das arquiteturas de roteadores e switches

Tantos destes protocolos e serviços de rede precisam ser selecionados e configurados para que possam convergir e fornecer o transporte para a viabilidade dos serviços e produtos contratados pelos clientes. Para fazer toda a coisa acontecer, há um determinado arranjo de dependências entre as tecnologias necessárias onde, em muitos casos, para uma determinada tecnologia funcionar, é necessário são necessários o suporte e o funcionamento de outras tecnologias e serviços. Para exemplificar aqui, para que o BGP de seu AS possa operar é necessário o roteamento recursivo para o transporte das sessões IBGP e a resolução do atributo NEXT_HOP das rotas BGP, e isto significa que você precisará adotar um protocolo de roteamento interior (IGP), provavelmente o OSPF aqui, o qual, por sua vez, depende de endereçamento IP, definição das tecnologias de enlace (L2) e das tecnologias de transmissão (L1). Ou seja, uma coisa depende da outra.

Em particular, roteadores e switches em uma rede mantém áreas sistêmicas e funcionais para os propósitos de conectividade e de serviços:

  • Plano de Controle: área sistêmica responsável por hospedar protocolos que forneçam entendimento e convergência para fins de encaminhamento de tráfego L2 (ex: SPT, REP, EAPS...) e L3 (ex: OSPF, IS-IS), e até mesmo "L2.5" (ex: MPLS). Não somente os protocolos são mantidos nesta área, mas também as suas respectivas estruturas de dados, tais como o Link-State Database (LSDB) do OSPF, o Label Information Base (LIB) do MPLS LDP, a BGP Table do BGP, e a própria tabela de roteamento IP (Routing Information Base ou RIB).
  • Plano de Dados: área sistêmica responsável por hospedar as estruturas de dados especificamente orientadas ao processamento e efetivo encaminhamento de pacotes, tais como a Forwarding Information Base (FIB) ou Forwarding Table, Label Forwarding Information Table (LFIB), Adjacency Table (ADJ) ou similar, isto no caso dos roteadores, e Content Addressable Memory (CAM) ou MAC Table.
  • Plano de Gerenciamento: responsável por hospedar e manter os serviços de gerenciamento do dispositivo, tais como Telnet, SSH, SNMP, NETCONF, HTTP server, Syslog, NTP, etc.
  • Plano de Serviços: responsável por manter processos relacionados ao RADIUS, TACACS+, PPPoE, IPoE, IPsec, NAT, QoS, Stateful Firewall, AVC, etc.

É importante salientar que o modelo de computação em rede tradicional é completamente distribuído, ou seja, que estas áreas sistêmicas supracitadas são independentes e para cada dispositivo. Isto significa que o estado de informação de cada processo de software referente a um destes protocolos e serviços é mantido por cada equipamento independentemente, podendo haver, em alguns casos, alguma integração entre equipamentos distintos para um determinado componente.

Projeto técnico compatível com o plano de negócios

Você deve ter notado a quantidade brutal de componentes tecnológicos listados nesta seção! Quais tipos de equipamentos utilizar, como deverão ser feitas as conexões físicas e lógicas, quais protocolos e serviços deverão ser empregados, e tudo mais, enfim, isto dependerá muito de como o seu projeto técnico foi construído, e este projeto precisa "casar" com o seu plano e negócios. A dissertação disto está fora do escopo deste artigo e por razões bem óbvias, pois seria um baita off-topic. Isto será tema para futuros artigos aqui na Wiki do BPF. Todavia, caso tenha curiosidade de saber um pouco mais sobre o tema, talvez estes dois vídeos possam ser úteis neste sentido, pois, neles, tento apresentar de forma bem objetiva estes conceitos:

É importante salientar que há muita redundância entre as tecnologias citadas previamente, particularmente no que concerne à aplicabilidades, cenários e casos de uso. Por exemplo, você não irá realmente rodar o protocolo de roteamento EIGRP na rede do seu provedor, pois será óbvia e natural a escolha pelo protocolo de roteamento OSPF (as razões quanto a isto podem ser estudadas no artigo Boas Práticas para a Implantação do OSPF em Ambientes de ISP), embora ambos sejam protocolos de roteamento, e muito bons no final das contas. Assim como, caso a sua rede de Acesso seja L2, será muito provável que você vá optar por tecnologias de resiliência Ethernet mais sofisticadas, preferindo o G.8032 ou EAPS, ao invés do protocolo Spanning Tree, mesmo que ambos sejam protocolos de resiliência destinados ao mesmo objetivo (vide artigo Proteção e Resiliência em Redes L2 de Provedores para saber o por que). Assim como você optará pelo IPoE ou PPPoE, ou ainda rodando os dois serviços simultaneamente por um tempo em caráter de transição tecnológica, mas, no final das contas, é provável que você vá manter apenas o IPoE, embora ambos PPPoE e IPoE tenham como proposta a mesma missão (apenas a cumprem de formas distintas). Quanto aos protocolos FHRP, é bem provável que você vá optar pelo VRRP (até mesmo pela provável natureza multivendor da sua rede), e não o HSRP. A maioria absoluta das instalações de rede de Internet residencial emprega o protocolo/serviço RADIUS como componente de integração, mas a tendência é que o passar do tempo vejamos mais e mais instalações operando com o protocolo Diameter. Enfim, acho que você conseguiu me entender aqui.

Para tudo isto que escrevi acima, o que escolher, o que adotar, o que comer, o que vestir, enfim, tudo isto requer amplo planejamento e boas práticas para a manutenção do ciclo de vida do projeto (Iniciação, Planejamento, Execução, Monitoramento e Controle, Encerramento).

Qual a relação desta seção de revisão de componentes tecnológicos com os objetivos específicos deste artigo?

Talvez você esteja se perguntando: "Tá, Leonardo, mas.... o que tem isso a ver?".

Em primeiro momento, informo que nem todos os leitores de nossa Wiki são profissionais altamente experientes quanto você, nobre leitor! Há indivíduos que nos visitam aqui que já reportaram dificuldades em absorver conhecimentos mais avançados ou complexos, e que estão em processo de aperfeiçoamento de carreira. Para este perfil de nosso público, tenho certeza que as informações apresentadas na seção anterior serão muito úteis e, portanto, achei prudente lembra-los da magnitude de componentes, conceitos, procedimentos e especificações tipicamente encontrados nas redes de service providers.

A pergunta que faço: como você projeta, implementa (as tecnologias, protocolos, serviços, etc.), opera (a manutenção geral), suporta (diagnóstico, troubleshooting), e provisiona clientes e seus respectivos produtos contratados?

Ou você acha que tudo isto flui por pura e simples "mágica"? Que tudo isto funciona sozinho e sem qualquer ação ou intervenção humana? Muito pelo contrário! Aposto que hoje, no seu ambiente, mais de 95% de tudo o que a sua rede precisa fazer é executado inteiramente pelas mãos de um operador da sua rede, um profissional de operações (NOC), provisionamento ou da engenharia!

Cada vez que você tiver que adicionar um novo elemento/equipamento na sua rede, como você faz? Cada vez que você precisa suportar novos prefixos IP, como você lida com as modificações nas suas políticas de roteamento? Cada vez que você precisa ativar um cliente corporativo para um produto do seu ISP, como você faz para provisionar este serviço? E com relação ao assinante residencial? Tenho certeza que hoje a maior parte destes processos é manual ou, no melhor caso, uma ação humana realizada sobre algum tipo de ferramenta que atenua estes esforços, mas que, mesmo assim, precisa ser realizada sobre diversos equipamentos da infraestrutura.

Quando você contrata uma plataforma como serviço (PaaS) ou uma infraestrutura como serviço (IaaS) de uma destas consagradas empresas globais, você realmente acredita que alguém recebe um email (referente a sua solicitação) e o encaminha internamente para as áreas técnicas para que estes mobilizem qualquer atividade de ativação manualmente, tais como a instalação de equipamentos, instalação e atualização de software, configuração de dispositivos e serviços? Claro que não! Nestes perfis de organizações, tudo isso é orquestrado e automatizado a partir do momento em que você passa o seu cartão de crédito durante o procedimento de subscrição!

E é justamente sobre este tema é que passaremos a dissertar agora neste artigo, sendo o nosso foco.

Como o gerenciamento da infraestrutura de redes é realizado pela maioria dos ISPs regionais de pequeno e médio portes

É de amplo conhecimento que, em parâmetros tecnológicos, os provedores de acesso à Internet de pequeno e médio portes evoluíram muito de uns anos para cá. Em termos de sofisticação de equipamentos e tecnologias, estes ISPs tem "encostado" nos grandes operadores de rede, geralmente ficando as principais diferenças entre ambos os perfis nas questões associadas ao porte dos equipamentos (capacidade, densidade, quantidade, volume), tamanhos das áreas de concessão, tamanho da base de assinantes. E, nas questões administrativas, claro, a quantidade de colaboradores, o orçamento, e diversos outros.

Mas há uma diferença muito significativa, importantíssima, e que tem a ver com o que este artigo propõe-se a discutir: o gerenciamento da infraestrutura como um todo, incluindo frameworks, processos, procedimentos, metodologias, integrações, o tanto de programabilidade, automação e orquestração, os respectivos padrões de ferramentas empregadas... e isto são algumas das principais comparações operacionais e procedurais que faço quando comparando um operador de redes de grande porte e um ISP de pequeno ou médio porte quanto a estes quesitos. A propósito, até recomendo que você visite novamente o artigo Frameworks de Indústria para a Reestruturação e Profissionalização do ISP para compreender melhor a minha maneira de enxergar este tema.

E quando você precisa ativar ou provisionar um novo serviço, geralmente são necessários os seguintes procedimentos:

  1. Se a manobra tiver que incluir a instalação física de um novo equipamento em um site/Pop do ISP, conduzir e documentar um Projeto Provisório de Instalação (PPI) ou Projeto Definitivo de Instalação (PDI), juntamente com os demais procedimentos homologados pela Engenharia da empresa, tais como Plano de Instalação e Ativação, etc.
    1. A instalação física de um equipamento não pode ser automatizada (exceto, talvez, por robôs, o que não será o caso)!
  2. Configuração de equipamento para a sua efetiva integração com a rede, o que, por sua vez, normalmente ou quase sempre exige a condução de outros procedimentos aprovados pela Engenharia da empresa, em particular a atualização do software para a versão homologada e a condução de um extenso roteiro/script de contendo os parâmetros de configuração, apoiados por artefatos tais como um Plano de Instalação e Configuração Lógica.
    1. Aqui temos a primeira oportunidade de automação e orquestração, via métodos de provisionamento de zero toque ou "Zero Touch Provisioning", os quais propõem-se a simplesmente a energização e cabeamento/conectorização das portas do equipamento, que a rede automaticamente se encarregará do resto e fornecerá a configuração definitiva do equipamento automaticamente.
  3. Em seguida, o provisionamento do serviço do cliente! É aqui que você terá que "visitar" a CLI de vários equipamentos para realização das configurações necessárias para a viabilidade fim-a-fim do serviço contratado pelo assinante, e geralmente apoiado por um formato pré-estabelecido para aquele tipo de produto/configuração. Ou seja, definir as VLANs, os mecanismos de admissão à rede, recursos de segurança, entroncamento L2, endereços IP e roteamento, etc., e fazendo isto para qualquer dispositivo onde isto for necessário para "ativar" (fim a fim) aquele produto e daquele assinante que o contratou.
    1. Talvez uma das áreas mais frágeis da organização, a falta do "C" (opa, calma aí!) do modelo FCAPS! Muito frequentemente, para não dizer "quase sempre", é um processo estritamente manual e que está frequentemente associado a custos mais elevados, maiores esforços e complexidades operacionais, maior risco de incidentes e downtime (decorrentes de falha humana durante o processo), dentre muitas situações.
    2. E é aqui que enxergo - particularmente com relação a este artigo - uma excelente oportunidade para os ISPs regionais poderem se modernizar!
  4. O serviço que foi ativado (produto + assinante) é testado e validado, e posicionado para produção em caráter definitivo. A partir deste ponto, a Operação da rede (ex: NOC) deverá ficar responsável por assegurar que as métricas do SLA contratado sejam respeitados, tais como capacidade, consumo de banda dentro do perfil, latência, jitter, perda de pacotes, disponibilidade/uptime, etc.
    1. Outra seara repleta de procedimentos manuais e ferramentas dissimilares que não se "conversam", não compartilham dados, e fica bem mais difícil encontrar uma utilidade real para os sistemas de gerenciamento de elementos (EMS) e de rede (NMS).
    2. Aqui é onde enxergo outra excelente oportunidade para a modernização das infraestruturas e processos dos ISPs regionais!