
Bu yazımda size nasıl kurulum yapacağınızı anlatacağım. AçıkGünışığı ağ ekipmanıyla çalışmak için ve aynı zamanda nasıl kullanılacağını da gösterecek Postacı ve basit RESTCONF istekler doğrultusunda bu ekipman kontrol edilebilir. Donanımla çalışmayacağız, bunun yerine küçük sanal laboratuvarları tek bir yönlendiriciyle kullanarak dağıtacağız. Vrnetlab üzerinde Ubuntu 20.04 LTS.
İlk önce bir yönlendirici örneğini kullanarak ayrıntılı kurulumu göstereceğim Ardıç vMX 20.1R1.11ve ardından bunu ayarla karşılaştırırız Cisco xRV9000 7.0.2.
Içerik
- Gerekli bilgi
- Часть 1: kısaca tartışalım OpenDaylight (bundan sonra şu şekilde anılacaktır: ODL), Postacı и Vrnetlab ve neden onlara ihtiyacımız var?
- Часть 2: sanal laboratuvarın açıklaması
- Часть 3: yapılandır AçıkGünışığı
- Часть 4: yapılandır Vrnetlab
- Часть 5: kullanarak Postacı sanal bir yönlendirici bağlayın (Ardıç vMX) için ODL
- Часть 6: kullanarak yönlendirici yapılandırmasını alın ve değiştirin Postacı и ODL
- Часть 7: Cisco xRV9000'i ekleyin
- Sonuç
- PS
- Kaynakça
Gerekli bilgi
Makalenin sayfaya dönüşmesini önlemek için bazı teknik detayları (bunları okuyabileceğiniz literatür bağlantılarıyla birlikte) atladım.
Bu bağlamda okumadan önce bilmenizin iyi olacağı (ancak neredeyse gerekli olmadığı) konuları size öneriyorum:
- ,
- /
Bölüm 1: küçük bir teori

- Her türlü ağı yönetmek ve otomatikleştirmek için, aşağıdakiler tarafından desteklenen açık bir SDN platformu: Linux vakıf
- Java'nın içi
- Model Odaklı Hizmet Soyutlama Düzeyini (MD-SAL) temel alır
- Ağ cihazları için otomatik olarak RESTCONF API oluşturmak üzere YANG modellerini kullanır
Ağ yönetimi için ana modül. Bağlı cihazlarla iletişim kuracağız. Kendi API'si aracılığıyla yönetilir.
OpenDaylight hakkında daha fazlasını okuyabilirsiniz .

- API Test Aracı
- Basit ve kullanımı kolay arayüz
Bizim durumumuzda, REST isteklerini OpenDaylight API'sine göndermenin bir yolu olarak ilgileniyoruz. Elbette istekleri manuel olarak gönderebilirsiniz, ancak Postman'da her şey çok net görünüyor ve amaçlarımız için mükemmel.
Bu konuya dalmak isteyenler için: üzerine birçok eğitim materyali yazılmıştır ().

- Docker'da sanal yönlendiricileri dağıtmaya yönelik bir araç
- Destekler: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, vb.
- Açık Kaynak
Çok ilginç, ancak pek bilinmeyen bir araç. Bizim durumumuzda, bunu Juniper vMX ve Cisco xRV9000'i düzenli olarak çalıştırmak için kullanacağız. Ubuntu 20.04 TL.
Onun hakkında daha fazlasını şu adreste okuyabilirsiniz: .
Bölüm 2: laboratuvar çalışması
Bu dersimizde aşağıdaki sistemi kuracağız:

Bu nasıl çalışıyor
- Ardıç vMX yükselir liman işçisi konteyner (bununla Vrnetlab) ve en yaygın sanal yönlendirici olarak işlev görür.
- ODL yönlendiriciye bağlanır ve onu kontrol etmenizi sağlar.
- Postacı ayrı bir makinede başlatıldı ve onun aracılığıyla komutlar gönderiyoruz ODL: bir yönlendiriciyi bağlamak/kaldırmak, yapılandırmayı değiştirmek vb. için.
Sistem tasarımına ilişkin yorumlar
Ardıç vMX и ODL istikrarlı çalışmaları için oldukça fazla kaynak gerektirir. Sadece bir vMX 6 GB RAM ve 4 çekirdek ister. Bu nedenle tüm “ağır sikletlerin” ayrı bir makineye taşınmasına karar verildi (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Yönlendirici elbette üzerinde "uçmuyor", ancak küçük deneyler için yeterli performans var.
Bölüm 3: OpenDaylight'ı Kurma

Bu yazının yazıldığı sırada ODL'nin mevcut sürümü Magnesium SR1'dir.
1) Kurulum Java OpenJDK 11 (daha detaylı kurulum için )
ubuntu:~$ sudo apt install default-jdk2) En son sürümü bulun ve indirin ODL
3) İndirilen arşivi açın
4) Ortaya çıkan dizine gidin
5) Başlat ./bin/karaf
Bu adımda ODL başlamamız gerekiyor ve kendimizi konsolda bulacağız (Harici erişim için daha sonra kullanacağımız 8181 numaralı bağlantı noktası kullanılıyor).
Daha sonra kurulumu yapıyoruz ODL Özellikleriprotokollerle çalışacak şekilde tasarlanmıştır NETCONF и RESTCONF. Bunu konsolda yapmak için ODL Yapmak:
opendaylight-user@root> feature:install odl-netconf-topology odl-restconf-allBu en basit kurulumdur ODL tamamlanmış. (Daha fazla ayrıntı için okuyabilirsiniz ).
Bölüm 4: Vrnetlab'ı kurma

Sistem hazırlığı
Kurulumdan önce Vrnetlab çalışması için gerekli paketleri kurmanız gerekmektedir. Örneğin , , :
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.ioVrnetlab'ı yükleme
Kurulum için Vrnetlab ilgili depoyu github'dan klonlayın:
ubuntu:~$ cd ~
ubuntu:~$ git clone https://github.com/plajjan/vrnetlab.gitdizine git vnetlab:
ubuntu:~$ cd ~/vrnetlabBurada çalıştırmak için gereken tüm komut dosyalarını görebilirsiniz. Lütfen her yönlendirici türü için karşılık gelen bir dizinin oluşturulduğunu unutmayın:
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 xrv9kYönlendiricinin görüntüsünü oluşturma
Desteklenen her yönlendirici Vrnetlab, kendine özgü bir kurulum prosedürüne sahiptir. Ne zaman Ardıç vMX Tek yapmamız gereken .tgz arşivini yönlendiriciye yüklemek (şu adresten indirebilirsiniz) ) vmx dizinine gidin ve komutu yürütün make:
ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # Копируем в эту директорию .tgz архив с роутером
ubuntu:~$ sudo makeresim oluşturma vMX yaklaşık 10-20 dakika sürecektir. Gidip kahve yapma zamanı!
Neden bu kadar uzun süre sordun?
çeviri yazarın bu soruya cevabı:
"Bunun nedeni, VCP'nin (Kontrol Düzlemi) ilk başlatıldığında vMX'te VRR VCP olarak çalışıp çalışmayacağını belirleyen bir yapılandırma dosyasını okumasıdır. Daha önce bu başlatma, Docker başlatma sırasında yapılıyordu ancak bu, VCP'nin her zaman bir kez yeniden başlatıldığı anlamına geliyordu. sanal yönlendirici kullanıma sunulmadan önce, bu da uzun bir önyükleme süresine (yaklaşık 5 dakika) neden oluyor. Artık ilk VCP çalıştırması Docker görüntüsü oluşturma sırasında yapılıyor ve Docker oluşturma --privileged seçeneğiyle çalıştırılamadığı için bu, qemu'nun KVM donanım hızlandırması olmadan çalışır ve bu nedenle oluşturulması çok uzun zaman alır. Bu işlem sırasında çok sayıda günlük çıktısı alınır, böylece en azından neler olduğunu görebilirsiniz. Uzun bir derlemenin o kadar da kötü olmadığını düşünüyorum çünkü bir görüntüyü bir kez oluşturduğumuz için , ancak çoğunu başlatın."
Daha sonra yönlendiricimizin görüntüsünü görebilirsiniz. liman işçisi:
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 101MBVR-vmx kapsayıcısını başlatma
Şu komutla başlatıyoruz:
ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453cDaha sonra aktif konteynerler hakkındaki bilgileri görebiliriz:
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 jun01Yönlendiriciye bağlanma
Yönlendiricinin ağ arayüzünün IP adresi aşağıdaki komutla elde edilebilir:
ubuntu:~$ sudo docker inspect --format '{{.NetworkSettings.IPAddress}}' jun01
172.17.0.2Varsayılan olarak Vrnetlab yönlendiricide bir kullanıcı oluşturur vrnetlab/VR-netlab9.
Kullanarak bağlanın ssh:
ubuntu:~$ ssh vrnetlab@172.17.0.2
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.11Bu, yönlendirici kurulumunu tamamlar.
Çeşitli satıcıların yönlendiricileri için kurulum önerileri şu adreste bulunabilir: uygun dizinlerde.
Bölüm 5: Postacı - yönlendiriciyi OpenDaylight'a bağlama
Postacıyı Yükleme
Kurulum için uygulamayı indirmeniz yeterli .
Yönlendiriciyi ODL'ye bağlama
hadi yaratalım PUT rica etmek:

- Sorgu dizesi:
PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01 - İstek gövdesi (Gövde sekmesi):
<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> - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin. ODL'ye erişmek için bu gereklidir:

- Başlıklar sekmesinde iki başlık eklemeniz gerekir:
- Uygulamayı/xml'i kabul et
- İçerik Türü uygulaması/xml
Talebimiz tamamlandı. Gönderdik. Her şey doğru yapılandırılmışsa "201 Oluşturuldu" durumunu geri döndürmeliyiz:
![]()
Bu istek ne işe yarıyor?
İçeride bir düğüm yaratıyoruz ODL Erişmek istediğimiz gerçek yönlendiricinin parametreleriyle.
xmlns="urn:TBD:params:xml:ns:yang:network-topology"
xmlns="urn:opendaylight:netconf-node-topology"Bunlar dahili ad alanlarıdır XML (XML ad alanı) için ODL buna göre düğüm oluşturur.
Ayrıca buna göre yönlendiricinin adı düğüm kimliği, yönlendirici adresi - ev sahibi ve benzeri.
En ilginç satır ise sonuncusu. Şema-önbellek-dizini tüm dosyaların indirildiği bir dizin oluşturur YANG Şeması bağlı yönlendirici. Onları içeride bulabilirsin $ODL_ROOT/cache/jun01_cache.
Yönlendirici bağlantısını kontrol etme
hadi yaratalım GET rica etmek:
- Sorgu dizesi:
GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/ - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin.
Gönderdik. "200 OK" durumu ve desteklenen tüm cihazların bir listesi alınmalıdır YANG Şeması:

Yorumlamak: İkincisini görmek için benim durumumda infazdan sonra yaklaşık 10 dakika beklemek gerekiyordu PUTşimdilik bu kadar YANG şeması tarihinde boşaltılacak ODL. Bu noktaya kadar bunu yaparken GET sorgu aşağıdakileri gösterecektir:

Yönlendiriciyi çıkarma
hadi yaratalım SİL rica etmek:
- Sorgu dizesi:
DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01 - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin.
Bölüm 6: Yönlendirici yapılandırmasını değiştirme
Yapılandırmayı alma
hadi yaratalım GET rica etmek:
- Sorgu dizesi:
GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/ - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin.
Gönderdik. "200 OK" durumunu ve yönlendirici yapılandırmasını almalıdır:

Yapılandırma oluşturma
Örnek olarak aşağıdaki konfigürasyonu oluşturup değiştirelim:
protocols {
bgp {
disable;
shutdown;
}
}hadi yaratalım POST rica etmek:
- Sorgu dizesi:
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 - İstek gövdesi (Gövde sekmesi):
<bgp xmlns="http://yang.juniper.net/junos/conf/protocols"> <disable/> <shutdown> </shutdown> </bgp> - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin. - Başlıklar sekmesinde iki başlık eklemeniz gerekir:
- Uygulamayı/xml'i kabul et
- İçerik Türü uygulaması/xml
Gönderdikten sonra "204 İçerik Yok" durumunu almalısınız.
Yapılandırmanın değiştiğini doğrulamak için önceki sorguyu kullanabilirsiniz. Ancak örnek olması açısından, bize yalnızca yönlendiricide yapılandırılmış protokoller hakkında bilgi gösterecek başka bir tane oluşturacağız.
hadi yaratalım GET rica etmek:
- Sorgu dizesi:
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 - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin.
İsteği gerçekleştirdikten sonra aşağıdakileri göreceğiz:

Yapılandırmayı değiştirme
BGP protokolü ile ilgili bilgileri değiştirelim. Eylemlerimizden sonra şöyle görünecek:
protocols {
bgp {
disable;
}
}hadi yaratalım PUT rica etmek:
- Sorgu dizesi:
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 - İstek gövdesi (Gövde sekmesi):
<protocols xmlns="http://yang.juniper.net/junos/conf/protocols"> <bgp> <disable/> </bgp> </protocols> - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin. - Başlıklar sekmesinde iki başlık eklemeniz gerekir:
- Uygulamayı/xml'i kabul et
- İçerik Türü uygulaması/xml
Öncekini kullanma GET isteğimizde değişiklikleri görüyoruz:

Yapılandırmanın silinmesi
hadi yaratalım SİL rica etmek:
- Sorgu dizesi:
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 - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin.
çağrıldığında GET Protokoller hakkında bilgi içeren talepte aşağıdakileri göreceğiz:

Ek:
Yapılandırmayı değiştirmek için istek gövdesini şu biçimde göndermeye gerek yoktur: XML. Bu aynı zamanda formatta da yapılabilir. JSON.
Bunu yapmak için örneğin istekte PUT yapılandırmayı değiştirmek için istek metnini şununla değiştirin:
{
"junos-conf-protocols:protocols": {
"bgp": {
"description" : "Changed in postman"
}
}
}Başlıklar sekmesindeki başlıkları şu şekilde değiştirmeyi unutmayın:
- Uygulamayı/json'u kabul et
- İçerik Türü uygulaması/json
Gönderdikten sonra aşağıdaki sonucu alıyoruz (Cevaba şunu kullanarak bakıyoruz: GET rica etmek):

Bölüm 7: Cisco xRV9000'i ekleyin
Juniper hakkında hepimiz neyiz, evet Juniper hakkında? Hadi Cisco'dan konuşalım!
xRV9000'in 7.0.2 sürümünü buldum (8 Gb RAM ve 4 çekirdeğe ihtiyaç duyan bir canavar. Ücretsiz olarak mevcut değil, bu nedenle iletişime geçin ) - hadi başlatalım.
Konteyner çalıştırma
Docker konteyneri oluşturma süreci pratik olarak Juniper'dan farklı değildir. Benzer şekilde, .qcow2 dosyasını yönlendiriciyle birlikte ismine karşılık gelen dizine (bu durumda xrv9k) bırakıyoruz ve komutu çalıştırıyoruz. make docker-image.
Birkaç dakika sonra görüntünün oluşturulduğunu görüyoruz:
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 101MBKonteyneri başlatalım:
ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fcBir süre sonra konteynerin başladığını görüyoruz:
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 xrv01Ssh ile bağlanın:
ubuntu@ubuntu:~$ ssh vrnetlab@172.17.0.2
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 minutesYönlendiriciyi OpenDaylight'a bağlama
Ekleme vMX'e tamamen benzer şekilde gerçekleşir. Sadece isimleri değiştirmeniz yeterli.
PUT rica etmek:

Bir süre sonra aradık GET her şeyin bağlı olup olmadığını kontrol etme isteği:

Yapılandırmayı değiştirme
Aşağıdaki konfigürasyonu kuralım:
!
router ospf LAB
mpls ldp auto-config
!hadi yaratalım POST rica etmek:
- Sorgu dizesi:
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 - İstek gövdesi (Gövde sekmesi):
{ "processes": { "process": [ { "process-name": "LAB", "default-vrf": { "process-scope": { "ldp-auto-config": [ null ] } } } ] } } - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin. - Başlıklar sekmesinde iki başlık eklemeniz gerekir:
- Uygulamayı/json'u kabul et
- İçerik Türü uygulaması/json
Yürütüldükten sonra "204 İçerik Yok" durumunu almalısınız.
Ne bulduğumuzu kontrol edelim.
Bunun için yaratacağız GET rica etmek:
- Sorgu dizesi:
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 - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin.
Yürütmeden sonra aşağıdakileri görmelisiniz:

Yapılandırma kullanımını silmek için SİL:
- Sorgu dizesi:
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 - Yetkilendirme sekmesinde parametreyi ayarlamanız gerekir
Basic Authve kullanıcı adı/şifre: admin/admin.
Sonuç
Toplamda, fark etmiş olabileceğiniz gibi, Cisco ve Juniper'ı OpenDaylight'a bağlama prosedürleri farklı değildir; bu, yaratıcılık için oldukça geniş bir alan açar. Tüm ağ bileşenlerinin yapılandırmalarını yönetmekten başlayarak kendi ağ ilkelerinizi oluşturmaya kadar.
Bu eğitimde OpenDaylight kullanarak ağ ekipmanıyla nasıl etkileşim kurabileceğinize dair basit örnekler verdim. Kuşkusuz, yukarıdaki örneklerden gelen talepler çok daha karmaşık hale getirilebilir ve tüm hizmetler bir fare tıklamasıyla yapılandırılabilir - her şey yalnızca sizin hayal gücünüzle sınırlıdır*
Devam edecek ...
PS
Birdenbire tüm bunları zaten biliyorsanız veya tam tersine, bunları yaşadıysanız ve ODL ruhunuza gömüldüyse, o zaman ODL denetleyicisinde uygulamalar geliştirmeye bakmanızı öneririm. Başlayabilirsin .
Başarılı deneyler!
Referanslar
- /Brian Linkletter
- OpenDaylight Yemek Kitabı / Mathieu Lemay, Alexis de Talhouet, vd.
- YANG / Benoît Claise, Loe Clarke, Jan Lindblad ile Ağ Programlanabilirliği
- XML Öğrenmek, İkinci Baskı / Erik T. Ray
- Etkili DevOps / Jennifer Davis, Ryn Daniels
Kaynak: habr.com

