Introduzione
In questo documento viene descritto il software Defined Networking (SDN) come un nuovo approccio alle reti, a complemento delle architetture di rete tradizionali. La definizione originale di SDN è legata a OpenFlow.
Obiettivi SDN OpenFlow
Ecco gli obiettivi principali di OpenFlow SDN.
- Maggiore scalabilità della rete.
- Complessità di rete ridotta.
- Maggiore controllo sulle applicazioni.
- Attivate l'indipendenza delle feature.
- Questo risultato si ottiene separando i piani dati e di controllo e standardizzando il piano dati. Il control plane è implementato come software onnisciente, sofisticato e distribuito in esecuzione su server multi-core ad alte prestazioni.
- OpenFlow è una specifica di Open Networking Foundation (ONF) che definisce un'infrastruttura di inoltro basata sul flusso (modello di switch) e un'interfaccia programmatica di applicazione standardizzata (definizione di protocollo).
- OpenFlow consente a un controller di indirizzare le funzioni di inoltro di uno switch tramite un canale sicuro. La configurazione del dispositivo locale non rientra nell'ambito del protocollo OpenFlow.
Riepilogo funzionalità
Controller Faucet OpenFlow:
- Switch OpenFlow 1.3 (incluso TFM- Table Feature Message)
- Switching di livello 2, VLAN, ACL, routing IPv4 e IPv6 di livello 3, statico e tramite BGP
- Implementato in sostituzione di uno switch L2/L3 nella rete per abilitare funzionalità aggiuntive basate su SDN.
- OpenFlow è un paradigma di inoltro completamente diverso, poiché utilizza lo stesso hardware e software di Catalyst 9000.
- La modalità può essere commutata tra OPENFLOW e NORMAL; è necessario riavviare il sistema.
OpenFlow è il protocollo tra il controller (control plane) e lo switch Ethernet (data plane). Lo switch ha tabelle di flusso disposte in una pipeline e i flussi sono regole per esaminare i pacchetti.
Un flusso specifica:
- Criteri di corrispondenza
- Priority
- Azioni da eseguire sul pacchetto
- Timeout
Pipeline di esempio:
Nota: anche se non ci sono dipendenze tra le funzionalità, lo switch deve essere avviato in modalità OpenFlow. Piattaforme disponibili in modalità OpenFlow, switch Catalyst serie 9000 - 9300/9400/9500/9500-H
Implementazione Cisco (modalità OpenFlow su Cat9k)
Viene utilizzata la stessa immagine per le operazioni normale e OpenFlow.
L'opzione deve essere in modalità 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
Ricaricare lo switch.
Verificare che lo switch sia in modalità 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
Attualmente sono supportati 8 controller.
Sono inoltre supportate la configurazione e il funzionamento del controller IPV6.
opzioni di comando in OpenFlow |
Scopo |
pipeline 1 switch 1 |
Lo switch 1 e la pipeline 1 sono l'unica scelta disponibile su C9ks |
controller ipv4 10.104.99.42 porta 6653 vrf Mgmt-vrf security none |
controller senza protezione |
controller ipv4 10.104.99.42 porta 6633 vrf Mgmt-vrf security tls |
con tls, utilizza la configurazione tls trustpoint globale |
controller ipv4 10.104.99.42 porta 6637 vrf Mgmt-vrf security tls local-trustpoint tp-blue |
con tls, utilizza la configurazione locale di tlstrustpoint, ma è remoto da tlstrustpoint globale |
max-backoff 10 |
Tempo massimo per riprovare la connessione OpenFlow quando la connessione al controller non è attiva. Il valore predefinito è 8 sec. |
intervallo-sonda 10 |
Intervallo di tempo per il probe della connessione OpenFlow con la connessione diventa inattivo. Il valore predefinito è 5 sec. |
rate-limit packet_in 2000 burst 3000 |
numero massimo di pacchetti per controller. i valori predefiniti sono 0. |
intervallo di raccolta delle statistiche 6 |
frequenza di raccolta delle statistiche di flusso, il valore predefinito è 5sec |
datapath-id 0x1 |
switch datapath unique-id, se il valore predefinito non configurato è (1<<48) | system-mac-addr) |
controller degli accessi non riusciti predefiniti |
al controller è possibile inviare un pacchetto non corrispondente ad alcun flusso. per impostazione predefinita, il pacchetto viene eliminato |
registrazione della modifica del flusso |
duplica le informazioni sulla modalità flusso come log in show logging, non abilitata per impostazione predefinita |
tls trustpoint local tp-local remote tp-remote |
trust point tls globale per una connessione al controller protetto# |
Risoluzione dei problemi/Debug
Il debug sul lato controller non rientra nell'ambito di questo documento.
Sullo switch Openflow non sono supportate tutte le CLI della piattaforma in uso. Scegliere e utilizzare solo le CLI consentite per lo scenario di debug.
Consultare questa guida per altri comandi e riferimenti: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/prog/configuration/174/b_174_programmability_cg/openflow.html#id_76495
Comandi show - IOS®
Comando |
Scopo |
mostra-config openflow |
Visualizza le informazioni di configurazione dell'esecuzione di OpenFlow. |
show openflow switch number controller |
Visualizza informazioni sulla connettività dell'agente OpenFlow al controller. |
mostrare openflow interruttore numero elenco flussi |
Visualizza informazioni sui flussi OpenFlow installati. |
mostrare openflow interruttore numero porte |
Visualizza informazioni sullo stato della porta dell'agente OpenFlow. |
mostrare openflow hardware capacità |
Visualizza le funzionalità hardware, ad esempio il numero di tabelle, le dimensioni della tabella, le corrispondenze/azioni/mancate corrispondenze supportate. |
mostrare openflow interruttore numero gruppi |
Visualizza informazioni sui gruppi Openflow. |
mostrare openflow interruttore numero statistiche |
Visualizza lo stato dell'interfaccia OpenFlow (rx/tx), lo stato della tabella OpenFlow (numero massimo di flussi per tabella, flussi attivi per tabella, numero di ricerche e corrispondenze). |
mostrare openflow interruttore numero statistiche controller |
Visualizza le informazioni sullo stato dei controller di flusso aperto. |
Mostra comandi - hardware:
Comando |
Scopo |
show platform software fed switch attivo openflow stato |
Visualizza le statistiche sul numero di messaggi installati, completati o eliminati. |
show platform software fed switch attivo openflow flusso ID |
Visualizza le informazioni in un particolare flusso. |
show platform software fed switch attivo openflow group |
Visualizza informazioni sull'hardware relative ai gruppi di flusso. |
show platform hardware fed switch attivo fwd-asic risorsa tcam utilizzo |
Visualizza informazioni sull'hardware relative all'utilizzo di TCAM. |
show platform software fed <switch> errore openflow attivo [brief] | evento | dettaglio] |
Elencare tutti gli eventuali errori di OpenFlow registrati. |
show platform software fed <switch> tabella openflow attiva [<id-tabella> | mappatura]
|
Questo comando può fornire l'ID tabella per la funzionalità di corrispondenza e le dimensioni della tabella. |
show platform software fed switch active evento openflow
|
Visualizza l'elenco degli eventi in ogni tabella con il tempo impiegato per qualsiasi azione relativa al flusso (aggiunta, eliminazione, aggiornamento). |