Sehatra SDN misokatra ho an'ny fitantanana sy fanaovana automatique ny karazana tambajotra rehetra, tohanan'ny Linux Foundation
Java ao anatiny
Mifototra amin'ny Ambaratonga momba ny serivisy entin'ny modely (MD-SAL)
Mampiasa modely YANG mba hamoronana API RESTCONF ho azy ho an'ny fitaovana tambajotra
Ny maody fototra ho an'ny fitantanana tambajotra. Amin’ny alalan’izany no hifandraisantsika amin’ireo fitaovana mifandray. Mitantana amin'ny alàlan'ny API azy manokana.
Afaka mamaky bebe kokoa momba ny OpenDaylight ianao eto.
Fitaovana fitiliana API
Tsotra sy mora ampiasaina interface tsara
Amin'ny tranga misy anay, mahaliana anay izany ho fitaovana handefasana fangatahana REST amin'ny OpenDaylight API. Azonao atao, mazava ho azy, ny mandefa fangatahana amin'ny tanana, fa ao amin'ny Postman dia toa mazava tsara ny zava-drehetra ary mifanaraka tsara amin'ny tanjontsika.
Ho an'izay te hihady: be dia be ny fitaovana fanofanana voasoratra ao (ohatra).
Fitaovana fametrahana ny router virtoaly ao amin'ny Docker
Manohana: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, sns.
Open Source
Zavamaneno tena mahaliana nefa tsy dia fantatra loatra. Amin'ny tranga misy antsika dia hampiasa azy io izahay hampandeha Juniper vMX sy Cisco xRV9000 amin'ny Ubuntu 20.04 LTS mahazatra.
Postman natomboka tamina milina mitokana ary amin'ny alalan'izany no mandefa baiko ODL: mampifandray / manala ny router, manova ny configuration, sns.
Fanehoan-kevitra momba ny fitaovana amin'ny rafitra
Juniper vMX и ODL mitaky loharanon-karena be dia be ho an'ny fiasan'izy ireo. Iray ihany vMX mangataka RAM 6 Gb sy cores 4. Noho izany dia nanapa-kevitra ny hamindra ny "mavesatra" rehetra amin'ny milina misaraka (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Ny router, mazava ho azy, dia tsy "manidina" eo aminy, fa ny fampisehoana dia ampy ho an'ny fanandramana kely.
Fizarana 3: Amboary ny OpenDaylight
Ny dikan-tenin'ny ODL amin'izao fotoana izao dia Magnesium SR1
2) Mitadiava sy misintona ny fananganana farany ODLavy eto
3) Sokafy ny rakitra alaina
4) Mandehana any amin'ny lahatahiry vokatra
5) Alefaso ./bin/karaf
Amin'ity dingana ity ODL Tokony hanomboka ary ho hitantsika ao amin'ny console ny tenantsika (Port 8181 dia ampiasaina amin'ny fidirana avy any ivelany, izay hampiasaintsika any aoriana).
Manaraka, mametraka ODL Featuresnatao hiasa amin'ny protocols NETCONF и RESTCONF. Mba hanaovana izany ao amin'ny console ODL ataontsika:
Hametraka Vrnetlab clone ny tahiry mifanaraka amin'izany avy amin'ny github:
ubuntu:~$ cd ~
ubuntu:~$ git clone https://github.com/plajjan/vrnetlab.git
Mandehana any amin'ny lahatahiry vrnetlab:
ubuntu:~$ cd ~/vrnetlab
Eto ianao dia afaka mahita ny script rehetra ilaina amin'ny fandehanana. Mariho fa nisy lahatahiry mifanaraka amin'izany natao ho an'ny karazana router tsirairay:
"Izany dia satria ny fotoana voalohany natomboka ny VCP (Control Plane) dia mamaky rakitra config izay mamaritra raha toa ka ho VRR VCP ao amin'ny vMX izy io. Teo aloha, io fandefasana io dia natao nandritra ny fanombohana Docker, saingy midika izany fa ny VCP dia naverina indray indray mandeha talohan'ny nahatongavan'ny router virtoaly, ka niafara tamin'ny fotoana baoritra lava (eo amin'ny 5 minitra eo ho eo) Amin'izao fotoana izao ny fampandehanana voalohany ny VCP dia natao nandritra ny fananganana ny sary Docker, ary satria ny fananganana Docker dia tsy azo atao amin'ny - -safidy manokana, midika izany fa ny qemu dia miasa tsy misy fanamafisam-peo KVM ary noho izany dia mitaky fotoana lava be ny fananganana. Mandritra io dingana io dia betsaka ny logs mivoaka, ka farafaharatsiny azonao jerena ny zava-mitranga. Heveriko fa fananganana lava be tsy dia mampatahotra loatra satria mamorona sary indray mandeha izahay, fa manomboka maro. "
Rehefa afaka mahita ny sarin'ny ny router ao amin'ny 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
Alefaso ny container vr-vmx
Manomboka amin'ny baiko isika:
ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453c
Manaraka izany dia afaka mahita fampahalalana momba ny kaontenera mavitrika isika:
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
Mifandray amin'ny router
Ny adiresy IP an'ny tambajotran'ny router dia azo alaina amin'ny baiko manaraka:
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
Izany dia mamita ny fametrahana ny router.
Ny fanolorana fametrahana ho an'ny router amin'ny mpivarotra isan-karazany dia azo jerena ao tetikasa github ao amin'ny lahatahiry tsirairay avy.
Fizarana 5: Postman - mampifandray ny router amin'ny OpenDaylight
Fametrahana postman
Raha hametraka, alaivo fotsiny ny fampiharana avy eto.
Mampifandray ny router amin'ny ODL
Andao hamorona ataovy fangatahana:
Tady fanontaniana:
PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
Efitrano anarana anatiny ireo XML (XML namespace) ho ODL araka izay mamorona node.
Ankoatr'izay, ny anaran'ny router dia node-id, adiresy router - miaramila sy ny sisa.
Ny andalana mahaliana indrindra dia ny farany. Schema-cache-directory mamorona lahatahiry iray izay alaina ny rakitra rehetra YANG Schema mifandray ny router. Azonao atao ny mahita azy ireo ao $ODL_ROOT/cache/jun01_cache.
Fanamarinana ny fifandraisana amin'ny router
Andao hamorona GET fangatahana:
Tady fanontaniana:
GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
Ao amin'ny tabilao Fanomezana, tsy maintsy mametraka ny parameter ianao Basic Auth ary ny fidirana / tenimiafina: admin / admin.
Mandefa izahay. Tokony hahazo sata "200 OK" sy lisitry ny tohanan'ny fitaovana rehetra YANG Schema:
fanehoan-kevitra: Mba hahitana an'ity farany, raha ny ahy dia tsy maintsy niandry 10 minitra teo ho eo taorian'ny famonoana ataovyhatramin'ny rehetra schema YANG esory ny entana ODL. Hatramin'izao, rehefa manao izany GET ny fangatahana dia hampiseho ireto manaraka ireto:
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
Ao amin'ny tabilao Fanomezana, tsy maintsy mametraka ny parameter ianao Basic Auth ary ny fidirana / tenimiafina: admin / admin.
Ao amin'ny tabilao Headers, mila manampy lohapejy roa ianao:
Ekeo ny fampiharana/xml
Content-type application/xml
Aorian'ny fandefasana dia tokony hahazo ny sata "204 No Content" izy ireo.
Mba hanamarinana fa niova ny fanovana dia azonao ampiasaina ny fangatahana teo aloha. Saingy, ohatra, dia hamorona iray hafa izay hampiseho fampahalalana momba ny protocols namboarina ao amin'ny router ihany.
Andao hamorona GET fangatahana:
Tady fanontaniana:
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
Ao amin'ny tabilao Fanomezana, tsy maintsy mametraka ny parameter ianao Basic Auth ary ny fidirana / tenimiafina: admin / admin.
Aorian'ny fanatanterahana ny fangatahana dia ho hitantsika ireto manaraka ireto:
Ovay ny config
Andao hanova ny fampahalalana momba ny protocol BGP. Aorian'ny hetsika ataontsika dia ho toy izao izany:
protocols {
bgp {
disable;
}
}
Andao hamorona ataovy fangatahana:
Tady fanontaniana:
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
Aza adino ny manova ny lohapejy eo amin'ny tabilao Lohateny ho:
Ekeo ny fampiharana/json
Content-Type application/json
Aorian'ny fandefasana dia hahazo izao vokatra manaraka izao isika (Jereo ny valiny mampiasa GET fangatahana):
Fizarana 7: Manampy ny Cisco xRV9000
Inona no atao hoe Juniper, eny Juniper? Miresaka momba ny Cisco!
Hitako ny xRV9000 version 7.0.2 (bibidia mila 8Gb RAM sy cores 4. Tsy azo alaina maimaim-poana izy io, ka mifandray Cisco) - andao hataontsika.
Mandeha kaontenera
Ny fizotran'ny famoronana container Docker dia saika tsy misy hafa amin'ny Juniper. Toy izany koa, arotsakay ao anaty lahatahiry mifanaraka amin'ny anarany ny rakitra .qcow2 miaraka amin'ny router (amin'ity tranga ity, xrv9k) ary manatanteraka ny baiko. make docker-image.
Rehefa afaka minitra vitsy dia hitantsika fa noforonina ilay sary:
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
Manomboka ny container izahay:
ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fc
Rehefa afaka kelikely, dia hitantsika fa nanomboka ny container:
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
Mifandraisa amin'ny 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
Mampifandray ny router amin'ny OpenDaylight
Ny fampidirana dia mitranga amin'ny fomba mitovy tanteraka amin'ny vMX. Mila manova anarana fotsiny isika. ataovy fangatahana:
Antsoy rehefa afaka kelikely GET fanontaniana mba hanamarinana fa mifandray ny zava-drehetra:
Ovay ny config
Andeha amboarina ity configuration manaraka ity:
!
router ospf LAB
mpls ldp auto-config
!
Andao hamorona POST fangatahana:
Tady fanontaniana:
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
Ao amin'ny tabilao Fanomezana, tsy maintsy mametraka ny parameter ianao Basic Auth ary ny fidirana / tenimiafina: admin / admin.
Ao amin'ny tabilao Headers, mila manampy lohapejy roa ianao:
Ekeo ny fampiharana/json
Content-Type application/json
Aorian'ny famonoana azy dia tokony hahazo ny sata "204 No Content" izy ireo.
Andeha hojerentsika izay azonay.
Mba hanaovana izany, dia hamorona GET fangatahana:
Tady fanontaniana:
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
Ao amin'ny tabilao Fanomezana, tsy maintsy mametraka ny parameter ianao Basic Auth ary ny fidirana / tenimiafina: admin / admin.
Aorian'ny famonoana dia tokony hahita ireto manaraka ireto ianao:
Ao amin'ny tabilao Fanomezana, tsy maintsy mametraka ny parameter ianao Basic Auth ary ny fidirana / tenimiafina: admin / admin.
famaranana
Amin'ny ankapobeny, araka ny efa tsikaritrareo, ny fomba fampifandraisana ny Cisco sy Juniper amin'ny OpenDaylight dia tsy mitovy - izany dia manokatra sehatra malalaka ho an'ny famoronana. Manomboka amin'ny fitantanana ny fandrindrana ny singa rehetra amin'ny tambajotra ary mifarana amin'ny famoronana ny politikan'ny tambajotranao manokana.
Ao amin'ity lesona ity dia nanome ohatra tsotra indrindra momba ny fomba ahafahanao mifandray amin'ny fitaovan'ny tambajotra mampiasa OpenDaylight aho. Tsy isalasalana fa ny fanontaniana avy amin'ireo ohatra etsy ambony ireo dia azo atao be pitsiny kokoa ary manangana serivisy manontolo amin'ny tsindry iray amin'ny totozy - ny zava-drehetra dia voafetra amin'ny eritreritrao fotsiny *
Hanohy ...
Sal
Raha efa fantatrao tampoka izany rehetra izany na, mifanohitra amin'izany, dia nandalo sy nilentika tao amin'ny fanahin'ny ODL, dia manoro hevitra aho ny hijery ny fampivoarana ny fampiharana amin'ny ODL controller. Afaka manomboka ianao avy eto.