NETCONF - NETCONF
A Network Configuration Protocol ( NETCONF ) az IETF által kifejlesztett és szabványosított hálózatkezelési protokoll . A NETCONF munkacsoportban fejlesztették ki, és 2006 decemberében jelent meg RFC 4741 néven, majd később 2011 júniusában átdolgozták és RFC 6241 néven jelentek meg . A NETCONF protokoll specifikáció egy Internet Standards Track dokumentum.
A NETCONF mechanizmusokat biztosít a hálózati eszközök konfigurációjának telepítésére, kezelésére és törlésére. Műveletei egy egyszerű Remote Procedure Call (RPC) réteg tetején valósulnak meg . A NETCONF protokoll az XML ( Extensible Markup Language ) alapú adatkódolást használja a konfigurációs adatokhoz, valamint a protokollüzenetekhez. A protokoll üzeneteket egy biztonságos szállítási protokoll tetején cserélik.
A NETCONF protokoll fogalmilag négy rétegre osztható:
- A Tartalom réteg konfigurációs és értesítési adatokból áll.
- A Műveletek réteg meghatározza az alapprotokoll műveletek készletét a konfigurációs adatok lekérésére és szerkesztésére.
- Az Üzenetek réteg mechanizmust biztosít a távoli eljáráshívások (RPC) és az értesítések kódolásához.
- A Secure Transport réteg biztonságos és megbízható üzenetküldést biztosít az ügyfél és a szerver között.
A NETCONF protokollt néhány nagyobb berendezésgyártó olyan hálózati eszközökben valósította meg, mint az útválasztók és kapcsolók. A NETCONF egyik erőssége az erőteljes konfigurációváltás támogatása, amely számos eszköz tranzakcióit használja.
Történelem
Az IETF az 1980-as évek végén fejlesztette ki az egyszerű hálózatkezelési protokollt (SNMP), és nagyon népszerű hálózatkezelési protokollnak bizonyult . A 21. század elején nyilvánvalóvá vált, hogy az eredetileg szándékoltak ellenére az SNMP-t nem a hálózati berendezések konfigurálására használták, hanem elsősorban a hálózat megfigyelésére . 2002 júniusában az Internet Architecture Board és az IETF hálózatkezelő közösségének legfontosabb tagjai találkoztak a hálózat üzemeltetőivel, hogy megvitassák a helyzetet. A találkozó eredményeit az RFC 3535 dokumentálja . Kiderült, hogy minden hálózatüzemeltető elsősorban más, saját tulajdonú parancssori felületet (CLI) használt az eszközök konfigurálásához. Ennek számos olyan tulajdonsága volt, amelyek az operátoroknak tetszettek, többek között az, hogy szöveges volt, szemben a BER-kódolású SNMP-vel. Ezenkívül számos berendezésgyártó nem biztosította az eszközök teljes konfigurálását az SNMP-n keresztül. Mivel az operátorok általában szkripteket szerettek írni a dobozaik kezelésének elősegítése érdekében, az SNMP CLI-t számos módon hiányosnak találták. Legfőképpen a kimenet kiszámíthatatlan jellege volt. A kimenet tartalma és formázása kiszámíthatatlan módon hajlamos volt a változásokra.
Körülbelül ugyanebben az időben a Juniper Networks XML-alapú hálózatkezelési megközelítést alkalmazott. Ezt eljuttatták az IETF-hez és megosztották a tágabb közösséggel. Ez a két esemény együttesen vezetett az IETF-hez 2003 májusában a NETCONF munkacsoport létrehozásához. Ezt a munkacsoportot egy hálózati konfigurációs protokollon dolgozták ki, amely jobban megfelel a hálózatüzemeltetők és a berendezésgyártók igényeinek. Az alap NETCONF protokoll első verziója RFC 4741 néven jelent meg 2006 decemberében. A következő években számos bővítményt tettek közzé (értesítések az RFC 5277- ben 2008 júliusában, részleges zárak az RFC 5717- ben 2009 decemberében, alapértelmezéssel az RFC 6243- ban júniusban 2011, a rendszer értesítései az RFC 6470- ben 2012 februárjában, a hozzáférés-ellenőrzés az RFC 6536- ban 2012 márciusában). Az alap NETCONF protokoll átdolgozott változata 2011 júniusában RFC 6241 néven jelent meg .
Protokoll rétegek
Tartalom
A NETCONF műveletek tartalma jól formázott XML. A legtöbb tartalom a hálózat kezeléséhez kapcsolódik . Ezt követően a JavaScript Object Notation (JSON) kódolásának támogatását is hozzáadták.
A NETMOD munkacsoport befejezte az "emberbarát" modellezési nyelv meghatározását az operatív adatok, a konfigurációs adatok, az értesítések és a műveletek szemantikájának meghatározására, YANG néven . A YANG-ot az RFC 6020 (1. verzió) és az RFC 7950 (1.1-es verzió) határozza meg, és az RFC 6991-ben található "Közös YANG adattípusok" kísérik .
2010 nyarán a NETMOD munkacsoport át lett bérelve, hogy az alapvető konfigurációs modelleken (rendszer, interfész és útválasztás), valamint az SNMP modellezési nyelvvel való kompatibilitás érdekében dolgozzon .
Tevékenységek
Az alapprotokoll a következő protokollműveleteket határozza meg:
| Művelet | Leírás |
|---|---|
| <get> | Futtassa a futó konfigurációs és eszközállapot-információkat |
| <get-config> | A megadott konfigurációs adattároló egészének vagy egy részének beolvasása |
| <edit-config> | Szerkesszen egy konfigurációs adattárat tartalom létrehozásával, törlésével, egyesítésével vagy cseréjével |
| <copy-config> | Másoljon egy teljes konfigurációs adattárat egy másik konfigurációs adattárolóba |
| <delete-config> | Töröljön egy konfigurációs adattárolót |
| <lock> | Az eszköz teljes konfigurációs adattárolójának zárolása |
| <kinyit> | Engedje fel a konfigurációs adatraktár zárat, amelyet korábban a <lock> művelettel kaptak |
| <close-session> | Kérje a NETCONF munkamenet kecses befejezését |
| <gyilkosság> | Kényszeríteni a NETCONF munkamenet megszüntetését |
A NETCONF alapvető funkcionalitása kibővíthető a NETCONF képességeinek meghatározásával. A megvalósítás által támogatott további protokolltulajdonságok halmaza kommunikálódik a szerver és az ügyfél között a munkamenet-beállítás képességcseréje során. A kötelező protokolltulajdonságok nem szerepelnek a képességcserében, mivel feltételezzük. Az RFC 4741 számos opcionális képességet határoz meg, beleértve: xpath és: validate. Vegye figyelembe, hogy az RFC 6241 elavítja az RFC 4741-et .
Az aszinkron eseményértesítések előfizetésének és fogadásának támogatását az RFC 5277 tartalmazza . Ez a dokumentum meghatározza a <create-subscription> műveletet, amely lehetővé teszi valós idejű és visszajátszott előfizetéseket. Az értesítéseket ezután aszinkron módon küldjük el az <notification> konstrukció segítségével. Meghatározza továbbá: interleave képességet, amely az alap: értesítési képességgel támogatva megkönnyíti más NETCONF műveletek feldolgozását, amíg az előfizetés aktív.
A futó konfiguráció részleges zárolásának támogatását az RFC 5717 határozza meg . Ez lehetővé teszi több munkamenet számára, hogy a futó konfiguráción belül szerkesszék a nem átfedő alfákat. E képesség nélkül az egyetlen elérhető zár a teljes konfigurációra vonatkozik.
A NETCONF protokoll megfigyelésének képességét az RFC 6022 határozza meg . Ez a dokumentum olyan adatmodellt tartalmaz, amely információkat tartalmaz a NETCONF adattárolókról, munkamenetekről, zárolásokról és statisztikákról, amely megkönnyíti a NETCONF szerver kezelését. Meghatározza a NETCONF-ügyfelek számára a NETCONF-kiszolgáló által támogatott adatmodellek felfedezésének módszereit, valamint a <get-schema> műveletet azok lekéréséhez.
üzenetek
A NETCONF üzenetréteg egyszerű, szállítástól független keretezési mechanizmust biztosít a kódoláshoz
- RPC invokációk (<rpc> üzenetek),
- RPC eredmények (<rpc-reply> üzenetek), és
- eseményértesítések (<értesítés> üzenetek).
Minden NETCONF üzenet jól formázott XML dokumentum. Az RPC-eredmény egy RPC-meghíváshoz kapcsolódik egy üzenet-id attribútummal. A NETCONF üzenetek továbbíthatók, azaz az ügyfél több RPC-t is meghívhat anélkül, hogy először meg kellene várnia az RPC eredményüzeneteket. Az RPC üzeneteket az RFC 6241 és az értesítési üzeneteket az RFC 5277 határozza meg .
Szállítás
- NETCONF protokoll a biztonságos héjon (SSH) keresztül: rfc: 6242
- NETCONF Protocol over Transport Layer Security (TLS) a Mutual X.509 hitelesítéssel: rfc: 7589
Lásd még
- YANG
- Stefan Wallin (2014-10-18). NETCONF oktatóanyag (YouTube). Stockholm: farok-f.
- Hálózat menedzsment
- Konfiguráció-menedzsment
- Hálózatfigyelés
- XML séma