M7 · Automação e SDN

Arquitetura e uso de APIs

O que é uma API

API (Application Programming Interface) é uma interface que permite que aplicações se comuniquem entre si de forma padronizada. No contexto de redes, APIs são o mecanismo central da automação e do controle via software (SDN).

No CCNA, o foco está nas APIs REST, que utilizam o protocolo HTTP para troca de dados entre controladores e aplicações.


APIs Northbound e Southbound

Em arquiteturas SDN, o controlador ocupa a camada central e se comunica em duas direções:

Northbound API (para cima)

  • Interface entre o controlador e as aplicações de gerência
  • Utilizada por dashboards, scripts Python, ferramentas como o Cisco DNA Center
  • Protocolos comuns: REST, RESTCONF, NETCONF

Southbound API (para baixo)

  • Interface entre o controlador e os dispositivos de rede
  • Envia instruções de configuração e coleta estado dos dispositivos
  • Protocolos comuns: OpenFlow, NETCONF, gRPC, SNMP

REST APIs

REST (Representational State Transfer) é o estilo arquitetural mais usado em automação de redes. Uma API REST segue seis princípios, mas para o CCNA os mais relevantes são:

  • Stateless: cada requisição é independente; o servidor não mantém estado da sessão
  • Uniform interface: URIs identificam recursos de forma consistente
  • Client-server: separação clara entre quem requisita e quem responde

Operações CRUD e métodos HTTP

Operação Método HTTP Ação
Create POST Cria um novo recurso
Read GET Lê dados de um recurso
Update PUT/PATCH Atualiza um recurso existente
Delete DELETE Remove um recurso

Códigos de resposta HTTP relevantes

Código Significado
200 OK — requisição bem-sucedida
201 Created — recurso criado
400 Bad Request — requisição malformada
401 Unauthorized — autenticação necessária
403 Forbidden — sem permissão
404 Not Found — recurso não existe

Formatos de dados

APIs trocam dados estruturados. Os dois formatos cobrados no CCNA:

JSON

{
  "interface": "GigabitEthernet0/1",
  "ip_address": "192.168.1.1",
  "subnet_mask": "255.255.255.0",
  "status": "up"
}

Mais legível, amplamente usado em APIs REST modernas.

XML

<interface>
  <name>GigabitEthernet0/1</name>
  <ip-address>192.168.1.1</ip-address>
  <status>up</status>
</interface>

Mais verboso; usado em NETCONF e RESTCONF.


NETCONF e RESTCONF

NETCONF (RFC 6241): protocolo que utiliza XML sobre SSH para configurar dispositivos. Opera com operações como , e .

RESTCONF (RFC 8040): combina os conceitos do NETCONF com a interface REST, usando JSON ou XML sobre HTTPS. É a evolução mais amigável para desenvolvedores.


Cisco DNA Center API

O Cisco DNA Center expõe uma API REST northbound que permite:

  • Descoberta e inventário de dispositivos
  • Provisionamento automatizado
  • Análise de telemetria em tempo real

A autenticação é feita via token obtido com POST /dna/system/api/v1/auth/token, usando credenciais Basic Auth no cabeçalho.


Pontos críticos para o exame

  • REST usa HTTP; saber os métodos CRUD e seus métodos HTTP correspondentes
  • JSON é o formato padrão nas APIs modernas; XML é usado no NETCONF
  • Northbound: controlador ↔ aplicações | Southbound: controlador ↔ dispositivos
  • Códigos HTTP 2xx = sucesso, 4xx = erro do cliente, 5xx = erro do servidor
  • NETCONF usa SSH + XML; RESTCONF usa HTTPS + JSON/XML