📚 Boris School
← Voltar ao curso

Automation and Programmability

SDN, APIs e Controllers

SDN (Software-Defined Networking)

Separa o plano de controle (decisões de roteamento) do plano de dados (encaminhamento de pacotes).

Planos Tradicionais:

| Plano | Função | Onde executa | |-------|--------|-------------| | Data Plane (Forwarding) | Encaminha pacotes | Hardware (ASIC) ou software | | Control Plane | Toma decisões (OSPF, STP, etc.) | CPU do roteador/switch | | Management Plane | Configuração e monitoramento | SSH, SNMP, HTTP |

SDN (Cisco APIC-EM / DNA Center):

No SDN, o control plane é centralizado em um controller, enquanto os dispositivos de rede viram apenas forwarding devices.

Modelos SDN:

  • Open SDN: Protocolos abertos (OpenFlow). Controller se comunica com switches via OpenFlow.
  • SDN via APIs: Cisco DNA Center usa APIs REST para configurar e monitorar a rede.
  • SDN via Overlay: Redes virtuais sobre a rede física (VXLAN, VMware NSX).

Cisco DNA Center:

Plataforma de gerenciamento centralizado que oferece:

  • Intent-based networking: O adm declara a intenção ("quero que VLAN 10 tenha acesso à internet"), o sistema configura.
  • Assurance: Monitoramento proativo com telemetria e análises.
  • Automation: Provisionamento zero-touch, atualizações de software, templates.

APIs (Application Programming Interfaces)

APIs RESTful são o padrão moderno para automação de rede.

Métodos HTTP:

| Método | CRUD | Exemplo | |--------|------|---------| | GET | Read | Obter configuração de interface | | POST | Create | Criar uma VLAN | | PUT | Update/Replace | Atualizar configuração | | PATCH | Partial Update | Modificar apenas um parâmetro | | DELETE | Delete | Remover configuração |

Formato de troca:

Request:

GET /api/v1/interface
Authorization: Bearer <token>
Accept: application/json

Response:

{
  "response": [
    {
      "interface": "GigabitEthernet0/1",
      "ipAddress": "192.168.1.1",
      "status": "up"
    }
  ]
}

NETCONF/YANG:

Protocolo padrão (RFC 6241) para configuração de rede.

  • NETCONF: Protocolo de transporte (SSH, porta 830). Operações: get, get-config, edit-config, copy-config.
  • YANG: Linguagem de modelagem de dados (define a estrutura da configuração).

RESTCONF:

HTTP-based NETCONF. Usa YANG + métodos HTTP RESTful. Porta 443.

Cisco Meraki API:

API RESTful para gerenciar equipamentos Meraki na nuvem.

curl -H "X-Cisco-Meraki-API-Key: <key>" \
  "https://api.meraki.com/api/v1/organizations"