Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

In questo articolo, ti mostrerò come impostare ApertoDaylight per lavorare con le apparecchiature di rete e mostrare anche come utilizzare Postino e semplice CONF.REST richieste, questa apparecchiatura può essere controllata. Non lavoreremo con l'hardware, ma implementeremo piccoli laboratori virtuali con un singolo router utilizzando Vrnetlab su Ubuntu LTS 20.04.

Mostrerò prima le impostazioni dettagliate usando l'esempio di un router Ginepro vMX 20.1R1.11, quindi lo confrontiamo con l'impostazione Cisco xRV9000 7.0.2.

contenuto

  • Conoscenza richiesta
  • Parte 1: discutere brevemente OpenDaylight (di seguito ODL), Postino и Vrnetlab e perché ne abbiamo bisogno
  • Parte 2: descrizione del laboratorio virtuale
  • Parte 3: personalizzare ApertoDaylight
  • Parte 4: personalizzare Vrnetlab
  • Parte 5: usando Postino collegare il router virtuale (Ginepro vMX) a ODL
  • Parte 6: ottenere e modificare la configurazione del router utilizzando Postino и ODL
  • Parte 7: aggiungere Cisco xRV9000
  • conclusione
  • PS
  • Bibliografia

Conoscenza richiesta

Affinché l'articolo non si trasformi in un foglio, ho omesso alcuni dettagli tecnici (con collegamenti alla letteratura dove puoi leggerli).

A questo proposito vi propongo argomenti che sarebbe bene (ma quasi non necessario) conoscere prima di leggere:

Parte 1: un po' di teoria

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

  • Una piattaforma SDN aperta per la gestione e l'automazione di tutti i tipi di reti, supportata da Linux Foundation
  • Java all'interno
  • Basato sul livello di astrazione del servizio basato su modello (MD-SAL)
  • Utilizza i modelli YANG per generare automaticamente le API RESTCONF per i dispositivi di rete

Il modulo principale per la gestione della rete. È attraverso di esso che comunicheremo con i dispositivi collegati. Gestito tramite la propria API.

Puoi leggere di più su OpenDaylight qui.

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

  • Strumento di test dell'API
  • Interfaccia semplice e facile da usare

Nel nostro caso, ci interessa come mezzo per inviare richieste REST all'API OpenDaylight. Ovviamente puoi inviare richieste manualmente, ma in Postman tutto sembra molto chiaro e si adatta perfettamente ai nostri scopi.

Per chi vuole scavare: su di esso sono stati scritti molti materiali didattici (per esempio).

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

  • Strumento per la distribuzione di router virtuali in Docker
  • Supporta: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, ecc.
  • Open Source

Uno strumento molto interessante ma poco conosciuto. Nel nostro caso, lo useremo per eseguire Juniper vMX e Cisco xRV9000 su un normale Ubuntu 20.04 LTS.

Puoi leggere di più a riguardo su pagina del progetto.

Parte 2: Laboratorio

In questo tutorial, configureremo il seguente sistema:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Come funziona

  • Ginepro vMX sale dentro docker contenitore (con Vrnetlab) e funziona come il router virtuale più comune.
  • ODL connesso al router e consente di controllarlo.
  • Postino lanciato su una macchina separata e attraverso di essa inviamo i comandi ODL: per connettere/rimuovere il router, modificare la configurazione, ecc.

Commento sul dispositivo del sistema

Ginepro vMX и ODL richiedono molte risorse per il loro funzionamento stabile. Uno solo vMX richiede 6 GB di RAM e 4 core. Pertanto, è stato deciso di spostare tutti i "pesi massimi" su una macchina separata (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Il router, ovviamente, non "vola" su di esso, ma le prestazioni sono sufficienti per piccoli esperimenti.

Parte 3: configurare OpenDaylight

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

L'attuale versione di ODL al momento della stesura di questo documento è Magnesium SR1

1) Installa Java Open JDK 11 (per un'installazione più dettagliata qui)

ubuntu:~$ sudo apt install default-jdk

2) Trova e scarica l'ultima build ODL quindi
3) Decomprimere l'archivio scaricato
4) Vai alla directory risultante
5) Lancio ./bin/karaf

A questo punto ODL dovrebbe avviarsi e ci ritroveremo in console (la porta 8181 serve per l'accesso dall'esterno, che useremo in seguito).

Quindi, installa Caratteristiche dell'ODLprogettato per funzionare con i protocolli CONF.NET и CONF.REST. Per farlo nella console ODL eseguiamo:

opendaylight-user@root> feature:install odl-netconf-topology odl-restconf-all

Questa è la configurazione più semplice. ODL completato. (Per maggiori dettagli, cfr qui).

Parte 4: configurazione di Vrnetlab

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Preparazione del sistema

Prima dell'installazione Vrnetlab è necessario installare i pacchetti necessari per il suo funzionamento. Ad esempio docker, git, sshpass:

ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt -y install python3-bs4 sshpass make
ubuntu:~$ sudo apt -y install git
ubuntu:~$ sudo apt install -y 
    apt-transport-https ca-certificates 
    curl gnupg-agent software-properties-common
ubuntu:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
ubuntu:~$ sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"
ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt install -y docker-ce docker-ce-cli containerd.io

Installazione di Vrnetlab

Per l'installazione Vrnetlab clona il repository corrispondente da github:

ubuntu:~$ cd ~
ubuntu:~$ git clone https://github.com/plajjan/vrnetlab.git

Vai alla rubrica vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Qui puoi vedere tutti gli script necessari per l'esecuzione. Si noti che per ogni tipo di router è stata creata una directory corrispondente:

ubuntu:~/vrnetlab$ ls
CODE_OF_CONDUCT.md  config-engine-lite        openwrt           vr-bgp
CONTRIBUTING.md     csr                       routeros          vr-xcon
LICENSE             git-lfs-repo.sh           sros              vrnetlab.sh
Makefile            makefile-install.include  topology-machine  vrp
README.md           makefile-sanity.include   veos              vsr1000
ci-builder-image    makefile.include          vmx               xrv
common              nxos                      vqfx              xrv9k

Crea un'immagine del router

Ogni router supportato Vrnetlab, dispone di una propria procedura di configurazione univoca. Quando Ginepro vMX dobbiamo solo caricare l'archivio .tgz con il router (puoi scaricarlo da sito ufficiale) nella directory vmx ed eseguire il comando make:

ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # Копируем в эту директорию .tgz архив с роутером
ubuntu:~$ sudo make

Costruire un'immagine vMX ci vorranno circa 10-20 minuti. È ora di andare a prendere un caffè!

Perché così tanto tempo, chiedi?

traduzione risposta autore a questa domanda:

"Questo perché la prima volta che il VCP (Control Plane) viene avviato, legge un file di configurazione che determina se verrà eseguito come un VCP VRR in vMX. In precedenza, questo lancio veniva eseguito durante l'avvio di Docker, ma questo significava che il VCP è stato sempre riavviato una volta prima che il router virtuale diventasse disponibile, con conseguente tempo di avvio lungo (circa 5 minuti) Ora la prima esecuzione del VCP viene eseguita durante la creazione dell'immagine Docker e poiché la build Docker non può essere eseguita con - -privileged, questo significa che qemu funziona senza l'accelerazione hardware KVM e quindi la compilazione richiede molto tempo. Durante questo processo vengono emessi molti log, quindi almeno puoi vedere cosa sta succedendo. Penso che una build lunga sia non così spaventoso perché creiamo un'immagine una volta, ma ne lanciamo molte".

Dopo puoi vedere l'immagine del nostro router docker:

ubuntu:~$ sudo docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        3 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

Avvia il contenitore vr-vmx

Iniziamo con il comando:

ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453c

Successivamente, possiamo vedere le informazioni sui contenitori attivi:

ubuntu:~$ sudo docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS                                                 NAMES
120f882c8712        b1b2369b453c        "/launch.py"        2 minutes ago       Up 2 minutes (unhealthy)   22/tcp, 830/tcp, 5000/tcp, 10000-10099/tcp, 161/udp   jun01

Collegamento al router

L'indirizzo IP dell'interfaccia di rete del router può essere ottenuto con il seguente comando:

ubuntu:~$ sudo docker inspect --format '{{.NetworkSettings.IPAddress}}' jun01
172.17.0.2

Di default Vrnetlab crea un utente sul router vrnetlab/VR-netlab9.
Collegamento con ssh:

ubuntu:~$ ssh [email protected]
The authenticity of host '172.17.0.2 (172.17.0.2)' can't be established.
ECDSA key fingerprint is SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
Password:
--- JUNOS 20.1R1.11 Kernel 64-bit  JNPR-11.0-20200219.fb120e7_buil
vrnetlab> show version
Model: vmx
Junos: 20.1R1.11

Questo completa la configurazione del router.

Suggerimenti per l'installazione di router di vari fornitori sono disponibili all'indirizzo progetto Github nelle rispettive directory.

Parte 5: Postman: connetti il ​​router a OpenDaylight

Installazione del postino

Per installare, basta scaricare l'applicazione quindi.

Collegamento di un router a ODL

Creiamo PUT richiesta:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

  1. Stringa della domanda:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Corpo della richiesta (scheda Corpo):
    <node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
    <node-id>jun01</node-id>
    <host xmlns="urn:opendaylight:netconf-node-topology">172.17.0.2</host>
    <port xmlns="urn:opendaylight:netconf-node-topology">22</port>
    <username xmlns="urn:opendaylight:netconf-node-topology">vrnetlab</username>
    <password xmlns="urn:opendaylight:netconf-node-topology">VR-netlab9</password>
    <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
    <schema-cache-directory xmlns="urn:opendaylight:netconf-node-topology">jun01_cache</schema-cache-directory>
    </node>
  3. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin. Questo è necessario per accedere all'ODL:
    Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab
  4. Nella scheda Intestazioni, devi aggiungere due intestazioni:
    • Accetta applicazione/xml
    • Tipo di contenuto application/xml

La nostra richiesta è stata fatta. Noi inviamo. Se tutto è stato configurato correttamente, dovremmo restituire lo stato "201 Created":

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

A cosa serve questa richiesta?

Creiamo il nodo all'interno ODL con i parametri del router reale a cui vogliamo accedere.

xmlns="urn:TBD:params:xml:ns:yang:network-topology"
xmlns="urn:opendaylight:netconf-node-topology"

Questi sono spazi dei nomi interni XML (Spazio dei nomi XML) per ODL in base al quale crea node.

Inoltre, rispettivamente, il nome del router è ID-nodo, indirizzo del router - host e così via.

La riga più interessante è l'ultima. Directory della cache dello schema crea una directory in cui vengono scaricati tutti i file Schema YANG router connesso. Puoi trovarli dentro $ODL_ROOT/cache/jun01_cache.

Controllo della connessione del router

Creiamo GET richiesta:

  1. Stringa della domanda:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.

Noi inviamo. Dovrebbe ricevere uno stato di "200 OK" e un elenco di tutti quelli supportati dal dispositivo Schema YANG:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

commento: Per vedere quest'ultimo, nel mio caso è stato necessario attendere circa 10 minuti dopo l'esecuzione PUTfino a tutto Schema YANG scarica su ODL. Fino a questo punto, durante l'esecuzione di questo GET query visualizzerà quanto segue:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Elimina il router

Creiamo DELETE richiesta:

  1. Stringa della domanda:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.

Parte 6: modificare la configurazione del router

Ottenere la configurazione

Creiamo GET richiesta:

  1. Stringa della domanda:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.

Noi inviamo. Dovrebbe ricevere lo stato "200 OK" e la configurazione del router:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Crea una configurazione

Ad esempio, creiamo la seguente configurazione e modifichiamola:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Creiamo POST richiesta:

  1. Stringa della domanda:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Corpo della richiesta (scheda Corpo):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.
  4. Nella scheda Intestazioni, devi aggiungere due intestazioni:
    • Accetta applicazione/xml
    • Tipo di contenuto application/xml

Dopo l'invio, dovrebbero ricevere lo stato "204 Nessun contenuto"

Per verificare che la configurazione sia cambiata, puoi utilizzare la query precedente. Ma ad esempio, ne creeremo un altro che visualizzerà solo informazioni sui protocolli configurati sul router.

Creiamo GET richiesta:

  1. Stringa della domanda:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.

Dopo aver eseguito la richiesta, vedremo quanto segue:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Cambia la configurazione

Cambiamo le informazioni sul protocollo BGP. Dopo le nostre azioni, sarà simile a questo:

protocols {
    bgp {
        disable;
    }
}

Creiamo PUT richiesta:

  1. Stringa della domanda:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Corpo della richiesta (scheda Corpo):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.
  4. Nella scheda Intestazioni, devi aggiungere due intestazioni:
    • Accetta applicazione/xml
    • Tipo di contenuto application/xml

Usando il precedente GET richiesta, vediamo le modifiche:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Elimina la configurazione

Creiamo DELETE richiesta:

  1. Stringa della domanda:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.

Quando chiamato GET richiesta con informazioni sui protocolli, vedremo quanto segue:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

integrare:

Per modificare la configurazione non è necessario inviare il corpo della richiesta nel formato XML. Questo può essere fatto anche nel formato JSON.

Per fare questo, ad esempio, nella query PUT per modificare la configurazione, sostituire il corpo della richiesta con:

{
    "junos-conf-protocols:protocols": {
        "bgp": {
            "description" : "Changed in postman" 
        }
    }
}

Non dimenticare di modificare le intestazioni nella scheda Intestazioni in:

  • Accetta applicazione/json
  • Applicazione di tipo di contenuto/json

Dopo l'invio, otterremo il seguente risultato (Osserviamo la risposta utilizzando GET richiesta):

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Parte 7: Aggiunta di Cisco xRV9000

Di cosa stiamo parlando Juniper, sì Juniper? Parliamo di Cisco!
Ho trovato xRV9000 versione 7.0.2 (una bestia che necessita di 8Gb di RAM e 4 core. Non è liberamente disponibile, quindi contatta Cisco) - eseguiamolo.

Esecuzione di un contenitore

Il processo di creazione di un contenitore Docker non è praticamente diverso da Juniper. Allo stesso modo, rilasciamo il file .qcow2 con il router nella directory corrispondente al suo nome (in questo caso, xrv9k) ed eseguiamo il comando make docker-image.

Dopo pochi minuti, vediamo che l'immagine è stata creata:

ubuntu:~$ sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-xrv9k   7.0.2               54debc7973fc        4 hours ago         1.7GB
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        4 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

Iniziamo il contenitore:

ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fc

Dopo un po', vediamo che il contenitore è partito:

ubuntu:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                 PORTS                                                      NAMES
058c5ecddae3        54debc7973fc        "/launch.py"        4 hours ago         Up 4 hours (healthy)   22/tcp, 830/tcp, 5000-5003/tcp, 10000-10099/tcp, 161/udp   xrv01

Connettiti tramite ssh:

ubuntu@ubuntu:~$ ssh [email protected]
Password:

RP/0/RP0/CPU0:ios#show version
Mon Jul  6 12:19:28.036 UTC
Cisco IOS XR Software, Version 7.0.2
Copyright (c) 2013-2020 by Cisco Systems, Inc.

Build Information:
 Built By     : ahoang
 Built On     : Fri Mar 13 22:27:54 PDT 2020
 Built Host   : iox-ucs-029
 Workspace    : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
 Version      : 7.0.2
 Location     : /opt/cisco/XR/packages/
 Label        : 7.0.2

cisco IOS-XRv 9000 () processor
System uptime is 3 hours 22 minutes

Connessione del router a OpenDaylight

L'aggiunta avviene in modo del tutto simile con vMX. Dobbiamo solo cambiare i nomi.
PUT richiesta:
Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Chiama dopo un po' GET query per verificare che tutto sia connesso:
Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Cambia la configurazione

Impostiamo la seguente configurazione:

!
router ospf LAB
 mpls ldp auto-config
!

Creiamo POST richiesta:

  1. Stringa della domanda:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Corpo della richiesta (scheda Corpo):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.
  4. Nella scheda Intestazioni, devi aggiungere due intestazioni:
    • Accetta applicazione/json
    • Applicazione di tipo di contenuto/json

Dopo la sua esecuzione, dovrebbero ricevere lo stato "204 Nessun contenuto".

Controlliamo cosa abbiamo.
Per fare questo, creeremo GET richiesta:

  1. Stringa della domanda:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.

Dopo l'esecuzione, dovresti vedere quanto segue:

Automazione dei servizi di rete o come costruire un laboratorio virtuale utilizzando OpenDaylight, Postman e Vrnetlab

Per rimuovere la configurazione utilizzare DELETE:

  1. Stringa della domanda:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Nella scheda Autorizzazione è necessario impostare il parametro Basic Auth e login/password: admin/admin.

conclusione

In totale, come avrai notato, le procedure per connettere Cisco e Juniper a OpenDaylight non differiscono: questo apre uno spazio piuttosto ampio alla creatività. Partendo dalla gestione della configurazione di tutti i componenti di rete e terminando con la creazione delle proprie policy di rete.
In questo tutorial, ho fornito gli esempi più semplici di come interagire con le apparecchiature di rete utilizzando OpenDaylight. Senza dubbio, le query degli esempi precedenti possono essere rese molto più complesse e configurare interi servizi con un clic del mouse: tutto è limitato solo dalla tua immaginazione *

To be continued ...

PS

Se all'improvviso sai già tutto questo o, al contrario, sei passato e sei sprofondato nell'anima di ODL, allora ti consiglio di guardare allo sviluppo di applicazioni sul controller ODL. Puoi iniziare quindi.

Esperimenti riusciti!

Riferimenti

  1. Vrnetlab: emula le reti utilizzando KVM e Docker / Brian Linklettera
  2. Libro di cucina OpenDaylight / Mathieu Lemay, Alexis de Talhouet, et al
  3. Programmabilità di rete con YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Imparare XML, seconda edizione / Erik T. Ray
  5. DevOps efficaci / Jennifer Davis, Ryn Daniels

Fonte: habr.com

Aggiungi un commento