Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Tässä artikkelissa näytän sinulle, kuinka voit määrittää avoin päivänvalo työskennellä verkkolaitteiden kanssa ja myös näyttää, kuinka niitä käytetään Postinkantaja ja yksinkertainen RESTCONF pyyntöjä, tätä laitetta voidaan ohjata. Emme työskentele laitteiston kanssa, vaan otamme käyttöön pieniä virtuaalilaboratorioita yhdellä reitittimellä Vrnetlab yli 20.04 Ubuntu LTS.

Näytän ensin yksityiskohtaiset asetukset reitittimen esimerkin avulla Juniper vMX 20.1R1.11, ja sitten vertaamme sitä asetukseen Cisco xRV9000 7.0.2.

Pitoisuus

  • Vaaditut tiedot
  • Часть 1: keskustele lyhyesti OpenDaylight (jäljempänä ODL), Postinkantaja и Vrnetlab ja miksi tarvitsemme niitä
  • Часть 2: virtuaalisen laboratorion kuvaus
  • Часть 3: muokata avoin päivänvalo
  • Часть 4: muokata Vrnetlab
  • Часть 5: käyttämällä Postinkantaja yhdistä virtuaalinen reititin (Juniper vMX) Vastaanottaja ODL
  • Часть 6: hanki ja muuta reitittimen asetuksia käyttämällä Postinkantaja и ODL
  • Часть 7: lisää Cisco xRV9000
  • Johtopäätös
  • PS.
  • Bibliografia

Vaaditut tiedot

Jotta artikkeli ei muuttuisi arkkiksi, jätin pois joitain teknisiä yksityiskohtia (linkkeineen kirjallisuuteen, josta voit lukea niistä).

Tässä yhteydessä tarjoan sinulle aiheita, jotka olisi hyvä (mutta ei läheskään välttämätöntä) tietää ennen lukemista:

Osa 1: Teoriaa

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

  • Avoin SDN-alusta kaikenlaisten verkkojen hallintaan ja automatisointiin, jota tukee Linux-säätiö
  • Java sisällä
  • Perustuu mallipohjaiseen palvelun abstraktiotasoon (MD-SAL)
  • Käyttää YANG-malleja RESTCONF-sovellusliittymien automaattiseen luomiseen verkkolaitteille

Verkonhallinnan päämoduuli. Sen kautta kommunikoimme kytkettyjen laitteiden kanssa. Hallittu oman API:n kautta.

Voit lukea lisää OpenDaylightista täällä.

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

  • API-testaustyökalu
  • Yksinkertainen ja helppokäyttöinen käyttöliittymä

Meidän tapauksessamme olemme kiinnostuneita siitä keinona lähettää REST-pyyntöjä OpenDaylight API:lle. Voit tietysti lähettää pyyntöjä manuaalisesti, mutta Postmanissa kaikki näyttää erittäin selkeältä ja sopii tarkoitukseemme täydellisesti.

Niille, jotka haluavat kaivaa: siihen on kirjoitettu paljon koulutusmateriaaleja (esimerkiksi).

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

  • Työkalu virtuaalisten reitittimien käyttöönottoon Dockerissa
  • Tukee: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR jne.
  • Open Source

Erittäin mielenkiintoinen, mutta vähän tunnettu instrumentti. Meidän tapauksessamme käytämme sitä Juniper vMX:n ja Cisco xRV9000:n suorittamiseen tavallisessa Ubuntu 20.04 LTS:ssä.

Voit lukea siitä lisää osoitteessa projektin sivu.

Osa 2: Lab

Tässä opetusohjelmassa määritämme seuraavan järjestelmän:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Kuinka tämä toimii

  • Juniper vMX nousee sisään Satamatyöläinen kontti (tapa Vrnetlab) ja toimii yleisimpänä virtuaalisena reitittimenä.
  • ODL kytkettynä reitittimeen ja voit ohjata sitä.
  • Postinkantaja käynnistetään erillisellä koneella ja sen kautta lähetämme komentoja ODL: reitittimen kytkeminen / poistaminen, kokoonpanon muuttaminen jne.

Kommentti järjestelmän laitteesta

Juniper vMX и ODL vaativat melko paljon resursseja vakaaseen toimintaansa. Vain yksi vMX vaatii 6 Gt RAM-muistia ja 4 ydintä. Siksi päätettiin siirtää kaikki "raskassarjat" erilliseen koneeseen (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Reititin ei tietenkään "lennä" sillä, mutta suorituskyky riittää pieniin kokeiluihin.

Osa 3: OpenDaylightin määrittäminen

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

ODL:n nykyinen versio tätä kirjoitettaessa on Magnesium SR1

1) Asenna Java Open JDK 11 (tarkempi asennus täällä)

ubuntu:~$ sudo apt install default-jdk

2) Etsi ja lataa uusin versio ODL siten
3) Pura ladattu arkisto
4) Siirry tuloksena olevaan hakemistoon
5) Käynnistä ./bin/karaf

Tässä vaiheessa ODL pitäisi alkaa ja löydämme itsemme konsolista (porttia 8181 käytetään pääsyyn ulkopuolelta, jota käytämme myöhemmin).

Seuraavaksi asenna ODL-ominaisuudetsuunniteltu toimimaan protokollien kanssa NETCONF и RESTCONF. Voit tehdä tämän konsolissa ODL toteutamme:

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

Tämä on yksinkertaisin asennus. ODL valmiiksi. (Lisätietoja, katso täällä).

Osa 4: Vrnetlabin määrittäminen

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Järjestelmän valmistelu

Ennen asennusta Vrnetlab sinun on asennettava sen toiminnan edellyttämät paketit. Kuten Satamatyöläinen, mennä, 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

Vrnetlabin asennus

Asentaa Vrnetlab kloonaa vastaava arkisto githubista:

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

Siirry hakemistoon vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Täältä näet kaikki suorittamiseen tarvittavat skriptit. Huomaa, että jokaiselle reititintyypille on tehty vastaava hakemisto:

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

Luo kuva reitittimestä

Jokainen tuettu reititin Vrnetlab, on oma ainutlaatuinen asennusmenettelynsä. Kun Juniper vMX meidän tarvitsee vain ladata .tgz-arkisto reitittimeen (voit ladata sen osoitteesta virallinen sivusto) vmx-hakemistoon ja suorita komento make:

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

Kuvan rakentaminen vMX kestää noin 10-20 minuuttia. On aika mennä kahville!

Miksi niin kauan, kysyt?

käännös vastaus kirjoittaja tähän kysymykseen:

"Tämä johtuu siitä, että kun VCP (Control Plane) käynnistetään ensimmäisen kerran, se lukee konfigurointitiedoston, joka määrittää, toimiiko se VRR VCP:nä vMX:ssä. Aikaisemmin tämä käynnistys tehtiin Dockerin käynnistyksen yhteydessä, mutta tämä tarkoitti, että VCP käynnistettiin aina uudelleen kerran ennen kuin virtuaalinen reititin tuli saataville, mikä johti pitkään käynnistysaikaan (noin 5 minuuttia) Nyt VCP:n ensimmäinen ajo suoritetaan Docker-kuvan koontivaiheessa, ja koska Docker-koontiversiota ei voida suorittaa - -etuoikeutettu vaihtoehto, tämä tarkoittaa, että qemu toimii ilman KVM-laitteistokiihdytystä, joten rakentaminen kestää hyvin kauan. Tämän prosessin aikana tulostetaan paljon lokeja, joten ainakin näet mitä tapahtuu. Mielestäni pitkä rakennus ei ole niin pelottavaa, koska luomme kuvan kerran, mutta käynnistämme monia."

Kun näet kuvan reitittimestämme Satamatyöläinen:

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

Käynnistä vr-vmx-säilö

Aloitamme komennolla:

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

Seuraavaksi voimme nähdä tietoja aktiivisista säilöistä:

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

Yhdistetään reitittimeen

Reitittimen verkkoliitännän IP-osoite saadaan seuraavalla komennolla:

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

Oletus, Vrnetlab luo käyttäjän reitittimeen vrnetlab/VR-netlab9.
Yhdistetään kanssa 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

Tämä päättää reitittimen asennuksen.

Asennussuosituksia eri valmistajien reitittimille löytyy osoitteesta github-projekti vastaavissa hakemistoissa.

Osa 5: Postimies - yhdistä reititin OpenDaylightiin

Postimiehen asennus

Asenna sovellus lataamalla se siten.

Reitittimen yhdistäminen ODL:ään

Luodaan PUT pyyntö:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

  1. Kyselymerkkijono:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Pyynnön teksti (Body-välilehti):
    <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. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin. Tämä tarvitaan ODL:n käyttämiseen:
    Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla
  4. Ylätunnisteet-välilehdelle sinun on lisättävä kaksi otsikkoa:
    • Hyväksy sovellus/xml
    • Sisältötyyppinen sovellus/xml

Pyyntömme on esitetty. Me lähetämme. Jos kaikki oli määritetty oikein, meidän pitäisi palauttaa tila "201 Luotu":

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Mitä tämä pyyntö tekee?

Luomme solmun sisälle ODL sen oikean reitittimen parametreilla, joita haluamme käyttää.

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

Nämä ovat sisäisiä nimiavaruuksia XML (XML-nimiavaruus) varten ODL jonka mukaan se luo solmun.

Lisäksi vastaavasti reitittimen nimi on solmutunnus, reitittimen osoite - isäntä ja niin edelleen.

Mielenkiintoisin rivi on viimeinen. Schema-cache-hakemisto luo hakemiston, johon kaikki tiedostot ladataan YANG-kaavio kytketty reititin. Voit löytää ne $ODL_ROOT/cache/jun01_cache.

Reitittimen kytkennän tarkistaminen

Luodaan SAA pyyntö:

  1. Kyselymerkkijono:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.

Me lähetämme. Pitäisi saada tila "200 OK" ja luettelo kaikista laitteen tukemista YANG-kaavio:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Kommentti: Jälkimmäisen näkemiseksi minun tapauksessani piti odottaa noin 10 minuuttia suorituksen jälkeen PUTkunnes kaikki YANG-skeema purkaa päälle ODL. Tähän asti, kun suoritat tämän SAA kysely näyttää seuraavan:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Poista reititin

Luodaan POISTA pyyntö:

  1. Kyselymerkkijono:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.

Osa 6: Muuta reitittimen asetuksia

Määrityksen hakeminen

Luodaan SAA pyyntö:

  1. Kyselymerkkijono:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.

Me lähetämme. Pitäisi saada tila "200 OK" ja reitittimen kokoonpano:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Luo kokoonpano

Esimerkkinä luodaan seuraava kokoonpano ja muokataan sitä:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Luodaan POST pyyntö:

  1. Kyselymerkkijono:
    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. Pyynnön teksti (Body-välilehti):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.
  4. Ylätunnisteet-välilehdelle sinun on lisättävä kaksi otsikkoa:
    • Hyväksy sovellus/xml
    • Sisältötyyppinen sovellus/xml

Lähettämisen jälkeen heidän pitäisi saada tila "204 Ei sisältöä"

Voit tarkistaa, onko kokoonpano muuttunut, käyttämällä edellistä kyselyä. Mutta esimerkiksi luomme toisen, joka näyttää tiedot vain reitittimeen määritetyistä protokollista.

Luodaan SAA pyyntö:

  1. Kyselymerkkijono:
    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. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.

Pyynnön suorittamisen jälkeen näemme seuraavan:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Muuta kokoonpanoa

Muutetaan tietoja BGP-protokollasta. Toimintamme jälkeen se näyttää tältä:

protocols {
    bgp {
        disable;
    }
}

Luodaan PUT pyyntö:

  1. Kyselymerkkijono:
    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. Pyynnön teksti (Body-välilehti):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.
  4. Ylätunnisteet-välilehdelle sinun on lisättävä kaksi otsikkoa:
    • Hyväksy sovellus/xml
    • Sisältötyyppinen sovellus/xml

Käyttämällä edellistä SAA pyynnöstä näemme muutokset:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Poista kokoonpano

Luodaan POISTA pyyntö:

  1. Kyselymerkkijono:
    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. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.

Kun soitat SAA Pyynnöstä, jossa on tietoja protokollista, näemme seuraavan:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

täydentämään

Kokoonpanon muuttamiseen ei tarvitse lähettää pyyntörunkoa muodossa XML. Tämä voidaan tehdä myös muodossa JSON.

Voit tehdä tämän esimerkiksi kyselyssä PUT muuttaaksesi kokoonpanoa, korvaa pyynnön runko seuraavasti:

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

Muista muuttaa Otsikot-välilehden otsikot muotoon:

  • Hyväksy sovellus/json
  • Sisältötyypin sovellus/json

Lähetyksen jälkeen saamme seuraavan tuloksen (Katsomme vastausta käyttämällä SAA pyyntö):

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Osa 7: Cisco xRV9000:n lisääminen

Mitä me kaikki olemme Juniperissa, kyllä ​​Juniper? Puhutaanpa Ciscosta!
Löysin xRV9000 version 7.0.2 (peto, joka tarvitsee 8 Gt RAM-muistia ja 4 ydintä. Se ei ole vapaasti saatavilla, joten ota yhteyttä Cisco) - ajetaan se.

Säiliön pyörittäminen

Docker-kontin luomisprosessi ei käytännössä eroa Juniperista. Samoin pudotamme .qcow2-tiedoston reitittimen kanssa sen nimeä vastaavaan hakemistoon (tässä tapauksessa xrv9k) ja suoritamme komennon make docker-image.

Muutaman minuutin kuluttua näemme, että kuva on luotu:

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

Aloitamme kontin:

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

Hetken kuluttua näytämme, että kontti on käynnistynyt:

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

Yhdistä ssh:n kautta:

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

Reitittimen yhdistäminen OpenDaylightiin

Lisääminen tapahtuu täysin samalla tavalla vMX:n kanssa. Meidän on vain vaihdettava nimet.
PUT pyyntö:
Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Soita hetken kuluttua SAA kysely tarkistaaksesi, että kaikki on kytketty:
Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Muuta kokoonpanoa

Määritetään seuraava kokoonpano:

!
router ospf LAB
 mpls ldp auto-config
!

Luodaan POST pyyntö:

  1. Kyselymerkkijono:
    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. Pyynnön teksti (Body-välilehti):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.
  4. Ylätunnisteet-välilehdelle sinun on lisättävä kaksi otsikkoa:
    • Hyväksy sovellus/json
    • Sisältötyypin sovellus/json

Sen suorittamisen jälkeen niiden pitäisi saada tila "204 Ei sisältöä".

Katsotaan mitä meillä on.
Tätä varten luomme SAA pyyntö:

  1. Kyselymerkkijono:
    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. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.

Suorituksen jälkeen sinun pitäisi nähdä seuraava:

Verkkopalvelujen automatisointi tai virtuaalisen laboratorion rakentaminen OpenDaylightilla, Postmanilla ja Vrnetlabilla

Määrityksen poistamiseksi käytä POISTA:

  1. Kyselymerkkijono:
    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. Valtuutus-välilehdellä sinun on asetettava parametri Basic Auth ja kirjautumistunnus/salasana: admin/admin.

Johtopäätös

Kaiken kaikkiaan, kuten olet ehkä huomannut, Ciscon ja Juniperin yhdistämismenettelyt OpenDaylightiin eivät eroa toisistaan ​​- tämä avaa melko laajat mahdollisuudet luovuudelle. Alkaen kaikkien verkkokomponenttien asetusten hallinnasta ja päättyen omien verkkokäytäntöjesi luomiseen.
Tässä opetusohjelmassa olen antanut yksinkertaisimpia esimerkkejä siitä, kuinka voit olla vuorovaikutuksessa verkkolaitteiden kanssa OpenDaylightilla. Epäilemättä yllä olevien esimerkkien kyselyistä voidaan tehdä paljon monimutkaisempia ja luoda kokonaisia ​​palveluita yhdellä hiiren napsautuksella - kaikkea rajoittaa vain mielikuvituksesi *

Jatkuu ...

PS.

Jos tiedät jo yhtäkkiä tämän kaiken tai olet päinvastoin käynyt läpi ja uppoutunut ODL:n sieluun, suosittelen etsimään sovellusten kehittämistä ODL-ohjaimelle. Voit aloittaa siten.

Onnistuneet kokeilut!

Viitteet

  1. Vrnetlab: Emuloi verkkoja KVM:n ja Dockerin avulla /Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, et al
  3. Verkon ohjelmoitavuus YANG / Benoît Claise, Loe Clarke, Jan Lindblad kanssa
  4. Learning XML, toinen painos / Erik T. Ray
  5. Tehokas kehittäjä / Jennifer Davis, Ryn Daniels

Lähde: will.com

Lisää kommentti