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