Ugrás a fő tartalomra

Hálózat-virtualizáció EPISODE V - PART I North-bound APIs

Application Programming Interfaces - APIs



API-król az SDx bejegyzések során már röviden beszéltem, de most tegyük nagyító alá a témát, és nézzük meg az egyes API-k működését, hogyan kapcsolódnak az egyes orkesztrációs szintekhez (kontrollerekhez).

Tehát mindenkinek megvan, hogy az SDN architektúra referencia középpontja maga az SDN kontroller. Ez alapján azok az API-k amik a kontrollert alkalmazás oldalról érik el (tipikusan REST-API), észak-irányú API-nak - North-bound - amikkel pedig a kontrollerrel érjük el az infrastruktúrát azokat pedig déli-irányú API-nak - South-bound - szoktuk nevezni.
A fentiek alapján, és felhasználásuk szempontjából megpróbálom leírni ezeket a protokollokat, annyi extra csavarral, hogy bevezetem az integration-API fogalmát, ami bizonyos szempontból észak-irányú API-nak is tekinthető, de szerintem ez inkább külön kategória, mert ez kontroller, vagy kontroller jellegű alkalmazások összekötését teszi lehetővé.



North-bound API

  • REST

Ne legyünk REST-ek, kicsit utána gondolni, hogy miért vált népszerűvé a HTTP/HTTPS alapokon működő REST API, ugyanis az internet világában már jól vizsgázott, kipróbált protokollról van szó.
Szóval a RESTful API-t röviden az alábbiakkal jellemezhetjük:

  •  Kliens-Szerver alapú a működése, tehát azok az alkalmazások amelyek REST-API támogatnak, futtatnak valamilyen szerver process-t.
  • Állapotmentes, tehát kliens-szerver kommunikáció során az összes olyan információt továbbítani kell, ami szükséges a végrehajtásához, nem épül fel session, illetve  nem tárolódik a szerveren állapot, ezek a paraméterek a kliensen tárolódnak.
  • Cache-elhető, ami lényegében a felhasznált parancsok és paraméterek újrahasznosítását teszi lehetővé.
  • Standardizált megkötött hierarchikus, rétegelt program felépítés, lehetővé teszi az automatizációt.
  • Code-on-Demand funkció lehetővé teszi, hogy a kliensek letöltsék a program részeket, és végrehajtsák azt bizonyos script-ek alapján, így előtesztelhetővé teszi a rendszert.


Erőforrás

A legfontosabb eleme a REST-nek az információ absztrakciója erőforrásként, ami alatt azt értjük, hogy minden információ számára erőforrás azonosítót (resource id) tudunk hozzárendelni.
Az erőforrás állapota mint példul az időbélyeg, az erőforrás leírásához tartozik.
Tehát minden tranzakció során, leírást kell adnunk az elérendő erőforrásról, és az erőforráshoz kapcsolódó műveletekről.

Erőforrás metódusok

További fontos elemei a REST-nek az alábbi erőforrás metódusok HTTP:

  • POST - Create 
    • 201 (Created), 'Location' header with link to /customers/{id} containing new ID.
    • 404 (Not Found), 409 (Conflict) if resource already exists..
  • GET - Read
    • 200 (OK), list of customers. Use pagination, sorting and filtering to navigate big lists.
    • 200 (OK), single customer. 
    • 404 (Not Found), if ID not found or invalid.
  • PUT - Update/Replace
    • 200 (OK) or 204 (No Content).
    • 404 (Not Found), if ID not found or invalid.
    • 405 (Method Not Allowed), unless you want to update/replace every resource in the entire collection.
  • DELETE
    • 200 (OK). 
    • 404 (Not Found), if ID not found or invalid. 
    • 405 (Method Not Allowed), unless you want to delete the whole collection—not often desirable. Forrás


REST !=HTTP


Fontos megjegyezni, hogy a REST API != HTTP-vel (nem egyenlő)!

Míg a HTTP kérések esetén nem annyira kötött a metódus meg a formátum, addig a REST esetén, ezek fontos kritériumok. Továbbá a RESTful API architektúrában az adat és funkció kötött erőforrások melyek hozzáférése URI (Uniform Resource Identifiers)-kon keresztül történik. Az erőforrás használatra egyszerű, jól definiált műveletekkel, vagy műveletek sorozatával kerül sor. Az erőforrás elérése a szerverk és kliensek között szabványos protokoll interfészen keresztül történik mint pl: HTTP/HTTPs.

SDN N-API == REST


Az olyan alkalmazások illesztését kell lehetővé tenni a SDN kontrollerhez, melyek a hálózatot dinamikusan szeretnék igénybe venni. Joggal merül fel a kérdés, hogy milyen alkalmazások lehetnek ezek?
Mondok egy példát:
Tételezzük fel, hogy szeretnénk dinamikusan fizikailag kizárni azokat a felhasználókat, akik nem felelnek meg a mi security követelményeinknek, esetleg malware-al fertőzött gépeket szeretnénk tiltani.
Erre jó megoldás lehet az AV (anti virus) szoftver illesztése egy olyan intelligenciához, ami hozzáfér a hálózathoz, a hálózatban fellelhető információkhoz és képes absztrakciót nyújtani a külső AV felé.

Arra a kérdésre, hogy ebben mennyi saját fejlesztést kell belerakni nem lehet egyértelmű egzakt választ adni, ugyanis az alábbiak befolyásolják:

  • Hálózati megoldást szállító
  • Alkalmazást szállító
  • IT/Telekommunikációs rendszert fejlesztő és üzemeltető
cégek, gyártók.

Jól látszik a fentiek és ipari trendek alapján, hogy akármilyen SDN megoldást is szeretnénk készíteni, az északirányú integrációt REST API-al kell valószínűleg megvalósítani, ugyanis a gyártók, de még az opensource group-ok is leginkább ezt implementálják megoldásaikba.


innen folytatjuk...





Érdekesebb bejegyzések

CCIE #69065 - SRv6, most már tényleg átállunk IPv6-ra?

Röviden: NEM Hosszabban: Nem egészen, a teljes IPv6 átálláshoz nem elegendő csak a hálózat eszközök (több mint 10 éve meglévő) képességeit kihasználni, hanem ehhez a teljes informatikai iparágnak kellene paradigmaváltáson átmenni, ami azt jelenti, hogy a felhasználói (business és consumer) alkalmazásoknak minden kétséget kizáróan nagy rendelkezésre állással kellene támogatni a TCP/IPv6 stack-et (sok helyen tapasztaltam, hogy még a TCPv4-et sem sikerült minden kétséget kizáróan jól implementálni, de még operációs rendszerek szintjén sem). Viszont a szolgáltatók a publikus IPv4 kifogyást megelőzendő a szolgáltatói környezetet már migrálhatják IPv6-os hálózatra, ami megfordíthatja a korábbi, IPv6 over IPv4 (MPLS vPE6) vagy dual-stack (Internet) architektúrát  akár natív  IPv4 over IPv6 (SRv6) jellegű felállásra. A teljes képhez sok mindent tisztába kellene tenni, de élek az alkotói szabadsággal és úgy vagyok vele, hogy nem célom most itt mindenkit telekommunikációs mérnökké avanz...

FortiGate - SEC előfizetésen túl

Végre megvan az új NGFW a cégben, megvettétek 3 vagy 5 éves enterprise vagy utp bundle-ben és biztonságban érzitek magatok (Szárazabb, magabiztosabb érzés nem?), hiszen van IPS , webfilter, antivirus stb... security profile, ami megvédhet az ismert támadásokkal szemben. Nyugodtan "hátradőltök" és készítitek az auditokhoz szükséges riportokat a FortiAnalyzerből... biztonságban eltelik az 5 év és "váratlanul ér" előfizetés megújítása, nincs budget, pánikolva néztek valamilyen alternatív alsópolcos megoldást, amit még be tudtok szerezni és kidobnátok a jó hardvert, ami éveken keresztül stabilan szolgált titeket... Ne tegyétek! Mutatom milyen feature-ket használhattok tovább ingyen: Persze az alábbi megoldások nem minden végfelhasználónak jelentenek megoldást a problémákra és kihívásokra, de KKV szektorbnan vagy olyan esetekben, ahol nem szükséges IPS, anitvirus, webfilter, még jól használhatók tovább ezek a hardverek/szoftverek előfizetések nélkül. Fontos, ha egyébként...

Fortinet minősítési rendszer változások - avagy a FortiThanos lecsap

 A Fortinet bizonyos időszakonként megváltoztatja a vizsga rendszerét és minősítési rendszerét...  Amikor 2018-ban elkezdtem foglalkozni a Fortinet Network Security megoldásaival, akkor még "lázasan" NSE4 vizsgára készültem, ami FortiGate alapok mellett néhány advanced témát is érintett.  Ekkor már átesett a Fortinet egy vizsgarendszer átalakításon, és korábban FCNSP (Fortinet Certified Network Security Professional) minősítések lettek NSE4 minősítéssé. Még ebben az időszakban terveztem tovább lépni NSE7 szintre, ami akkor egy vizsgával megléphető volt aztán bummm! Jött a vizsgarendszer átalakítása és a korábban NSE1 - 8 minősítések új rendszerbe kerültek.. Az NSE1 - 3 -ből lett a az FCF ás FCA azaz Foundamental és Associate minősítések (ezek online elvégezhető tanfolyamok és nem proctored vizsgák) NSE4 + NSE5 vagy NSE6-ből lettek az az FCP minősítések (Professional) NSE7 vizsgákból illetve azok kombinációiból lettek az FCSS minősítések (Specialist)  NSE8 pedig FCX a...

CCIE #69065 - Segment Routing MPLS, avagy fájdalom mentes átállás SDN architektúrára

 A Segment Routing hálózatok kapcsán már írtam egy szösszenet arról, hogy mi a különbség a source-routing és hagyományos routing megoldások között. Azt gondolhatjátok az Segment Routing egy újabb forwarding mechanizmus csupán, ami optimalizálhatja az IP csomagok szállítási módját a nagyteljesítményű szolgáltatói és adatközponti hálózatokban, de ez korántsem ilyen egyszerű. Az SR megoldásoknak két alapvető csoportja létezik, annak függvényében milyen architektúrára szeretnénk támaszkodni a jövőben. Segment Routing MPLS - SR-MPLS Segment Routing IPv6  - SRv6 SR-MPLS MPLS hálózatok felépítése, szolgáltató modell függvényében, rengeteg kontrol protokollt tartalmazhatnak, kezdve a link-state alapú IGP protokolltól (ami lehet OSPF vagy ISIS) a szolgáltatások kialakításáért felelős BGP-n át egészen a RSVP-TE-ig és ne feledkezzünk meg a címkék terjesztésért felelős LDP protokollról sem. Ez számszakilag is 4 protokoll, aminek folyamatosan kell futni, ami azt jelenti, hogy háttérben a ...