Introduction
Este documento descreve as redes definidas por software (SDN) como uma nova abordagem de redes, complementando as arquiteturas de rede tradicionais. A definição original de SDN está vinculada ao OpenFlow.
Objetivos da SDN do OpenFlow
Estas são as principais metas da SDN do OpenFlow.
- Maior escalabilidade da rede.
- Complexidade de rede reduzida.
- Permitir maior controle do aplicativo.
- Habilite a independência do recurso.
- Obtido por meio da separação dos planos de controle e de dados e da padronização do plano de dados. O plano de controle é implementado como software onisciente, sofisticado e distribuído executado em servidores de alto desempenho com vários núcleos.
- O OpenFlow é uma especificação da Open Networking Foundation (ONF) que define uma infraestrutura de encaminhamento baseada em fluxo (modelo de switch) e uma interface programática de aplicativo padronizada (definição de protocolo).
- O OpenFlow permite que um controlador direcione as funções de encaminhamento de um switch através de um canal seguro. A configuração do dispositivo local está fora do escopo do protocolo OpenFlow.
Resumo do recurso
Este é o controlador Faucet OpenFlow:
- Switches OpenFlow 1.3 (incluindo TFM - Mensagem de recurso da tabela)
- Switching de camada 2, VLANs, ACLs, roteamento IPv4 e IPv6 de camada 3, estático e via BGP
- Implantado como um substituto para um switch L2/L3 na rede para permitir funcionalidade extra baseada em SDN.
- O OpenFlow é um paradigma de encaminhamento completamente diferente, ele usa o hardware e o software idênticos do Catalyst 9000.
- O modo pode ser alternado entre OPENFLOW e NORMAL, uma reinicialização é necessária.
O OpenFlow é o protocolo entre o controlador (plano de controle) e o switch ethernet (plano de dados). O switch tem tabelas de fluxo organizadas em um pipeline e os fluxos são regras para examinar os pacotes.
Um fluxo especifica:
- Critérios de correspondência
- Prioridade
- Ações a serem executadas no pacote
- Intervalos
Pipeline de exemplo:
Observação: embora não haja dependências de recursos, o switch precisa ser inicializado no modo OpenFlow. Plataformas disponíveis no modo OpenFlow, Catalyst 9000 Series Switches - 9300/9400/9500/9500-H
Implementação da Cisco (Modo OpenFlow no Cat9k)
A mesma imagem para operação normal e OpenFlow é usada.
O switch deve estar no modo OpenFlow.
ott-of-c9k-210#show boot mode
System initialized in openflow forwarding mode
System configured to boot in openflow forwarding mode
All the front panel ports are openflow ports (no hybrid mode)
Changing the boot mode (reload mandatory)
ott-of-c9k-210(config)#boot mode openflow
Recarregue o switch.
Verifique se o switch está no modo Openflow.
of-switch# show boot mode
System initialized in openflow forwarding mode
System configured to boot in openflow forwarding mode
“no boot mode openflow” followed by reboot reverts to normal mode.
CAT9300#show run openflow
feature openflow
openflow
switch 1 pipeline 1
controller ipv4 10.104.99.42 port 6653 vrf Mgmt-vrf security none
controller ipv4 10.104.99.42 port 6633 vrf Mgmt-vrf security tls
controller ipv4 10.104.99.42 port 6637 vrf Mgmt-vrf security tls local-trustpoint tp-blue
Há suporte para um total de 8 controladores hoje!
A configuração e a operação do controlador IPV6 também são suportadas.
opções de comando em OpenFlow |
Propósito |
pipeline 1 do switch 1 |
O switch 1 e o pipeline 1 são a única opção em C9ks |
controller ipv4 10.104.99.42 port 6653 vrf Mgmt-vrf security none |
controlador sem segurança |
controller ipv4 10.104.99.42 port 6633 vrf Mgmt-vrf security tls |
controlador com tls, usa configuração de ponto confiável de tls global |
controller ipv4 10.104.99.42 port 6637 vrf Mgmt-vrf security tls local-trustpoint tp-blue |
controlador com tls, usa configuração de tlstrustpoint local, mas remoto do tlstrustpoint global |
max-backoff 10 |
Tempo máximo para tentar novamente a conexão OpenFlow quando a conexão do controlador é desativada; o valor padrão é 8 s |
probe-interval 10 |
O intervalo de tempo para sondar a conexão do OpenFlow com a conexão se torna ocioso, o valor padrão é 5 s. |
rate-limit packet_in 2000 burst 3000 |
packet rate limit to controller, os valores padrão são 0 |
statistics collection-interval 6 |
para coletar estatísticas de fluxo, o valor padrão é 5seg |
datapath-id 0x1 |
switch datapath unique-id, se o valor padrão não configurado for ((1<<48) | system-mac-addr) |
default-miss controller |
pacote que não corresponde a nenhum fluxo pode ser lançado para o controlador. o padrão é descartar |
logging flow-modify |
despeja as informações de modo de fluxo como um log em show logging, não habilitado por padrão |
tls trustpoint local tp-local remote tp-remote |
ponto confiável tls global para uma conexão de controlador seguro# |
Solução de problemas/Depuração
A depuração no lado do controlador está fora do escopo deste documento.
Nem todas as CLIs da plataforma normal são suportadas no switch Openflow. Escolha e use somente CLIs permitidas para o cenário de depuração.
Consulte este guia de configuração para obter outros comandos e referências: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/prog/configuration/174/b_174_programmability_cg/openflow.html#id_76495
Comandos show - IOS®
Comando |
Propósito |
show running-config fluxo aberto |
Exibe as informações de configuração de execução do OpenFlow. |
show openflow switch number controllers |
Exibe informações sobre a conectividade do agente OpenFlow com o controlador. |
show fluxo aberto switch número lista de fluxos |
Exibe informações sobre os fluxos do OpenFlow instalados. |
show fluxo aberto switch número portas |
Exibe informações sobre o status da porta do agente OpenFlow. |
show fluxo aberto hardware capacidades |
Exibe os recursos de hardware, como número de tabelas, tamanho da tabela, correspondência/ação/erro suportada. |
show fluxo aberto switch número grupos |
Exibe informações sobre grupos Openflow. |
show fluxo aberto switch número estatísticas |
Exibe estatísticas da interface OpenFlow (rx/tx), estatísticas da tabela OpenFlow (fluxos máximos por tabela, fluxos ativos por tabela, número de pesquisas e correspondências). |
show fluxo aberto switch número controller stats |
Exibe informações de status do(s) controlador(es) de fluxo aberto. |
Comandos show - hardware:
Comando |
Propósito |
show platform software fed switch ative fluxo aberto status |
Exibe estatísticas sobre quantas mensagens foram instaladas/bem-sucedidas/excluídas. |
show platform software fed switch ative fluxo aberto fluxo id |
Exibe informações em um fluxo específico. |
show platform software fed switch ative fluxo aberto grupo |
Exibe informações de hardware sobre grupos de fluxo. |
show platform hardware fed switch ative fwd-asic recurso tcam utilização |
Exibe informações de hardware sobre o uso de TCAM. |
show platform software fed <switch> ative openflow error [brief | evento | pormenor] |
Liste todos os erros do OpenFlow, se algum tiver sido registrado. |
show platform software fed <switch> ative openflow table [<table-id> | cartografia]
|
Esse comando pode fornecer a ID da tabela para recursos/capacidades de correspondência e os tamanhos da tabela. |
show platform software fed switch ative openflow event
|
Exibe a lista dos eventos em cada tabela com o tempo gasto em qualquer ação relacionada ao fluxo (adição, exclusão, atualização). |