Ugrás a fő tartalomra

Hálózat-virtualizáció EPISODE V - PART II South-bound APIs

South-bound APIs



Déli-irányú API-k esetén nem olyan "egyszerű" a helyzet mint északi-irányban. Ugyanis még nincs - és talán sosem lesz - olyan egységes, kvázi sztenderdizált protokoll mint a REST API. Hogy miért? Hát kérdezzük meg a gyártókat! Miért nem a NETCONF, vagy a SNMPv3, vagy az OpenFlow mellett tették le a voksukat egységesen. Mint a korábbi bejegyzésemben írtam már, a gyártók az SDN megoldásaikat sokkal inkább csomagolt termékként kínálják, mint egymással együtt működő standardoknak megfelelő részegységeket. Ezért van az, hogy a déli-irányú SDN integrációt nem lehet, egy protokollal megvalósítani egy heterogén rendszerben. Déli-irányban, így gyakorlatilag bármi lehet API, amit az SDN kontroller és a hálózati eszköz is támogat...




Azért próbáljunk meg néhány protokollt kiemelni, mert azokban megvan minden olyan funkcionalitás, ami alkalmassá teszi az orkesztráció megvalósítására.


 YANG adatmodell RFC6020 - Yet Another Next Generation...

A fenti kép YIN-ét már mindenki érti, de mi a helyzet a YANG-al...

A YANG egy adatleíró model, ami abból a célból készült, hogy támogassa azokat a hálózat konfiguráló protokollokat, melyek a SDN orkesztrációt hivatottak megvalósítani kvázi standard módon. (NETCONF, RESTCONF)

RFC-ben kifejezetten úgy definiálták a YANG-ot, hogy NETCONF-hoz készült adatmodell, amit kiegészítenék azzal, hogy REST-API (RESTCONF) hívások is ezen adatmodell alapján történhetnek.
Továbbá felépítése igen hasonló az SNMP protokollhoz. Szóval a YANG adatmodell úgy lett felépítve hogy támogassa a NETCONF alapú működést, melyek az alábbiak:
  • configuration data (konfigurációs paraméterek)
  • state data (állapot információk)
  • RPC (távoli eljárások)
  • notification (figyelmeztetések: pl. állapotváltozásokról)
Az adatmodellben az adatok hierarchikusan épülnek fel, úgy kell elképzelni mint egy fa struktúrát, ahol a YANG modul (pl interfaces modul) adja a fának törzsét, modulon belüli információ (interface Gi1/1) pedig a leágazások, melyek további ágai/levelei (ip address) lehetnek.
Például:
Tehát a YANG úgy épül fel majden mint egy eszközkonfiguráció?
Igen és Nem teljesen, a lényeg, hogy eszközökön futó konfigurációt, állapotot, változtatásokat, és üzeneteket, át lehet forgatni YANG adatstruktúrába, így NETCONF-al vagy RESTCONF segítségével, egy központi helyre tudunk információt, gyűjteni, kiértékelni.. majd akár beavatkozni, módosítani a hálózat működését.

Akkor most hogy néz ki egy konfig YANG struktúrában (JSON formátumban)?
##########################################

'{
"interface-configuration":
{
"interface-name": "Loopback99",
"active": "act",
"interface-virtual": [
null
],
"Cisco-IOS-XR-ipv4-io-cfg:ipv4-network": {
"addresses": {
"primary": {
"address": "99.99.99.99",
"netmask": "255.255.255.255"
}
}
},
"description": "configured-via-NETCONF"
}
]
}'

##########################################
A fenti YANG konfigurációt az alábbi módokon lehet végrehajtani IOS-XR CLI-ben:
##########################################

configuration
 interface Loopback99
 description configured-via-NETCONF
 ipv4 address 99.99.99.99/32
exit
commit 
end

##########################################
Szemünk egyszerűbbnek, könnyebbnek, és érthetőbbnek látja CLI konfigurációt, és igen, sokkal egyszerűbb, de akkor mégis minek vesződünk az egész API témával NETCONF-al és társaival?

Mert ugyanez a konfiguráció azonos gyártón belül más platformon már így néz ki:
##########################################

configuration terminal
 interface Loopback99
 description configured-via-NETCONF
 ip address 99.99.99.99 255.255.255.255
exit
end
wr

##########################################
Más gyártóknál pedig akár így is nézhet ki:
##########################################

system view
 interface Loopback99
 description configured-via-NETCONF
 ip address 99.99.99.99 255.255.255.255
exit
end
save

##########################################
Persze sajnos van ilyen is:
##########################################

/interface bridge add name=Loopback99
/ip address add address=99.99.99.99/32 interface=Loopback99

##########################################
És ne felejtkezzünk meg erről sem:
##########################################

edit interfaces lo0 unit 0 family inet
 set address 99.99.99.99/32
exit
commit

vagy

set interfaces lo0 unit 0 family inet address 99.99.99.99/32
commit

vagy

[edit interfaces]
lo0 {
 unit 0 {
  family inet {
   address 99.99.99.99/32
   }
  }
 }
}

##########################################Rövidre zárva, a CLI nem standard, még gyártón belül sem, így nem alkalmas, vagy csak nagyon nehezen alkalmazható, központi orkesztráció esetében, főleg ha egy heterogén hálózati megoldásom van.
YANG adatmodell egyik fontos érdeme, hogy konfigurációs állapot egyfajta absztrakcióját valósítja meg.



innen folytatjuk...

Érdekesebb bejegyzések

Hálózat-virtualizáció a gyakorlatban - ACI fabric E01

Cisco ACI Kellett már nekünk mint egy falat kenyér, hogy végre történjen ebben VLAN-okba költözött posványos DC rendszerekkel valami... valami új. Mit tegyünk, ha hálózati infrastruktúrát az határozza meg, hogy adott VLAN-ok, hol vagy hol nem szerepelhetnek az infrastruktúrában, ha egy létesítést 8 különböző IT vezetőnek kell jóváhagyni, ha a felelősség tolása másra fontosabb, mint a projekt végrehajtása. Cisco ACI-ról írni nehéz dolog egy olyan alternatív IT valóságban, ami ma Magyarországon van... Mert amíg azzal küzdünk bizonyos helyeken, hogy az ultrafontos IT app egy 486-os gépen fut, ami csak 10M half-ot tud, addig nem tudjuk a 20 éve EoS demarkációs switch-et lecserélni, a lassan szintén EoS státuszba kerülő "legújabb" Nexus switch-re. Addig felesleges bárminek is a infrastruktúrában alkalmazás centrikusnak lenni, amíg az alkalmazásunkat támogató csapat az eniac-os lyukkártyás időszakon mereng, és még mindig nem fogadja el 21 századot. Mint azt egy korábbi be

SD-WAN vagy SD-NINCS II. epizód Cisco (Viptela) 1

Cisco SD-WAN első rész Bevezető Élek az alkotói szabadság jogával, és ellentétben az eddigiekkel kicsit rövídítek a post címén. Eredetileg ez a sorozat Hálózat-virtualizáció a gyakorlatban SD-WAN vagy SD-NINCS II.rész Cisco (Viptela) 1 címet kapta volna, csak hát: Kib@#&0tul hosszú lenne. Az SD-WAN témakör önmagában megér egy post sorozatot. A Cisco SD-WAN-ról sok mindent lehet írni, így ez is megér egy önálló post sorozatot. Cisco SD-WAN-nak nem kis történelmi háttere van már, hiszen a megoldást szakmai berkekben leánykori néven viptelának is hívják. A Cisco 2017 májusában fejezte be a Viptela akvizícióját, és termékeit saját megoldásként, immáron 3 éve Cisco SD-WAN megoldás részeként kínálja az ügyfelei felé. Azért hivatkozunk a szakzsargonban Viptela néven a megoldásra, mert a Cisco-nak további SD-WAN megoldásai léteznek, illetve léteztek: SD-BRANCH (ENCS platform) Meraki SD-WAN IWAN (performance routing alapú, APIC-EM vezérelt kezdeményezés, ami sajnos kihalt )

Hálózat-virtualizáció a gyakorlatban SD-WAN vagy SD-NINCS I. epizód Fortigate

SD-WAN vagy SD-NINCS I. rész Ez a bejegyzés sorozat ötlete, akkor merült fel bennem, amikor különböző gyártók SD-WAN-nak titulált megoldásait próbáltam összegezni magamban... Figyelemebe véve az alap elképzelést és a technikai megvalósíthatóságot, három kategóriát állítottam fel ezekre megoldásokra: SD-WAN megoldások - melyek biztosítják a transzport agnosztikus átvitelt, lehetőséget adnak a szolgáltatótól független topológia kialakítására központi orkesztráció és kontroll segítségével, továbbá az üzleti alkalmazások számára északi irányú API integrációra adnak lehetőséget. SD-NINCS megoldások - melyek marketing anyagokban szerepeltetik az SD-WAN-t, viszont technikai oldalról csak egy jól komponált policy based routing, ami  maximum megvalósítható. SD-LESZ megoldás - valahol a kettő között... Fortigate SD-WAN Március 13-ka óta HOME-OFFICE-ban dolgozom. Nem volt egyszerű az átállás, legalábbis mentálisan mindenképpen megterhelő a napi feladatok elvégzése úgy, hogy közbe

IPAR 4.0 - Okos megoldások, hülyén megvalósítva

IPAR 4.0 Telekommunikációs és informatikai berkekben, az IPAR 4.0 eszközöket valahogy úgy definiáljuk, hogy ipari cuccok amik IP hálózaton is kommunikálnak... Természetesen ez egy durva egyszerűsítés, de ebből a szögből nézve a gyártásban betöltött szerepe nem annyira fontos, mint a hálózatban elfoglalt helye. Ezek olyan tipikusan beágyazott-rendszer alapú megoldások, melyek saját operációs rendszerrel rendelkezhetnek, és IP kommunikációra, egy már korábban lefejlesztett általában valamilyen linux alapú kernel modult használnak. Az ilyen eszközök mondhatni semmilyen tűzfal vagy végpontvédelmi megoldással nem rendelkeznek, kommunikációjuk az adatgyűjtő berendezésekkel általában nem titkosított, így potenciális veszélyforrást jelentenek a hálózatunkban. Nos eddigi tapasztalataim alapján az IoT és/vagy SMART termékek terén az, hogy minél olcsóbban, minél több szolgáltatást legyenek képesek nyújtani a végfelhasználó felé. A ipari plc-k vezérlő szoftvere - amin keresztül menedzs