NETCONF - NETCONF

Image
Vrstvy protokolu NETCONF.

Network Configuration Protocol ( NETCONF ) je pro správu sítě protokol vyvinutý a standardizován IETF . Byl vyvinut v pracovní skupině NETCONF a publikován v prosinci 2006 jako RFC 4741 a později revidován v červnu 2011 a publikován jako RFC 6241 . Specifikace protokolu NETCONF je dokumentem Internet Standards Track.

NETCONF poskytuje mechanismy pro instalaci, manipulaci a mazání konfigurace síťových zařízení. Jeho operace jsou realizovány nad jednoduchou vrstvou vzdáleného volání procedur (RPC). Protokol NETCONF používá pro data konfigurace a zprávy protokolu kódování dat založené na XML ( Extensible Markup Language ). Zprávy protokolu jsou vyměňovány nad zabezpečeným transportním protokolem.

Protokol NETCONF lze koncepčně rozdělit do čtyř vrstev:

  1. Vrstva obsahu se skládá z konfiguračních dat a dat oznámení.
  2. Vrstva Operace definuje sadu operací základního protokolu k načtení a úpravě konfiguračních dat.
  3. Vrstva Zprávy poskytuje mechanismus pro kódování vzdálených volání procedur (RPC) a oznámení.
  4. Vrstva Secure Transport poskytuje zabezpečený a spolehlivý přenos zpráv mezi klientem a serverem.

Protokol NETCONF byl implementován do síťových zařízení, jako jsou směrovače a přepínače, některými významnými dodavateli zařízení. Jednou ze silných stránek NETCONF je jeho podpora pro robustní změnu konfigurace pomocí transakcí zahrnujících řadu zařízení.

Dějiny

Koncem 80. let IETF vyvinula Simple Network Management Protocol (SNMP) a ukázala se jako velmi populární protokol pro správu sítě . Na počátku 21. století vyšlo najevo, že navzdory tomu, co bylo původně zamýšleno, se SNMP nepoužívá ke konfiguraci síťového vybavení, ale hlavně se používá k monitorování sítě . V červnu 2002 se Rada pro architekturu internetu a klíčoví členové komunity pro správu sítě IETF sešli s provozovateli sítě, aby diskutovali o situaci. Výsledky tohoto setkání jsou dokumentovány v RFC 3535 . Ukázalo se, že každý provozovatel sítě primárně používal ke konfiguraci svých zařízení jiné proprietární rozhraní příkazového řádku (CLI). To mělo řadu funkcí, které se operátorům líbily, včetně skutečnosti, že to bylo textové, na rozdíl od SNMP kódovaného BER . Mnoho prodejců zařízení navíc neposkytlo možnost zcela nakonfigurovat svá zařízení prostřednictvím protokolu SNMP. Protože operátoři obecně rádi psali skripty, které jim pomohou spravovat jejich boxy, zjistili, že SNMP CLI chybí mnoha způsoby. Nejpozoruhodnější byla nepředvídatelná povaha výstupu. Obsah a formátování výstupu byly náchylné ke změnám nepředvídatelnými způsoby.

Přibližně ve stejnou dobu Juniper Networks používal přístup k řízení sítě založený na XML. To bylo přineseno na IETF a sdíleno s širší komunitou. Společně tyto dvě události vedly IETF v květnu 2003 k vytvoření pracovní skupiny NETCONF. Tato pracovní skupina byla pověřena prací na protokolu konfigurace sítě, který by lépe odpovídal potřebám provozovatelů sítě a prodejců zařízení. První verze základního protokolu NETCONF byla publikována jako RFC 4741 v prosinci 2006. V následujících letech bylo publikováno několik rozšíření (oznámení v RFC 5277 v červenci 2008, částečné zámky v RFC 5717 v prosinci 2009, výchozí hodnoty v RFC 6243 v červnu 2011, systémová oznámení v RFC 6470 v únoru 2012, kontrola přístupu v RFC 6536 v březnu 2012). Revidovaná verze základního protokolu NETCONF byla zveřejněna jako RFC 6241 v červnu 2011.

Vrstvy protokolu

Obsah

Obsahem operací NETCONF je dobře vytvořený XML. Většina obsahu souvisí se správou sítě . Následně byla přidána také podpora pro kódování v JavaScript Object Notation (JSON).

Pracovní skupina NETMOD dokončila práci na definování „modelovacího jazyka“ vhodného pro člověka pro definování sémantiky provozních dat, konfiguračních dat, oznámení a operací, který se nazývá YANG . YANG je definován v RFC 6020 (verze 1) a RFC 7950 (verze 1.1) a je doprovázen „běžnými datovými typy YANG“ nalezenými v RFC 6991 .

V létě roku 2010 byla pracovní skupina NETMOD znovu objednána, aby pracovala na základních konfiguračních modelech (systém, rozhraní a směrování) a také na kompatibilitě s modelovacím jazykem SNMP .

Operace

Základní protokol definuje následující operace protokolu:

Úkon Popis
<get> Načíst spuštěnou konfiguraci a informace o stavu zařízení
<get-config> Načtení celého zadaného konfiguračního datového úložiště nebo jeho části
<edit-konfigurace> Upravte konfigurační datové úložiště vytvořením, odstraněním, sloučením nebo nahrazením obsahu
<copy-config> Zkopírujte celé konfigurační datové úložiště do jiného konfiguračního datového úložiště
<vymazat konfiguraci> Odstraňte konfigurační datové úložiště
<zámek> Uzamkněte celé konfigurační datové úložiště zařízení
<odblokovat> Uvolněte zámek konfiguračního datového úložiště dříve získaný pomocí operace <lock>
<close-session> Požádejte o řádné ukončení relace NETCONF
<relace zabití> Vynutit ukončení relace NETCONF

Základní funkce NETCONF lze rozšířit definicí funkcí NETCONF. Sada dalších funkcí protokolu, které implementace podporuje, je komunikována mezi serverem a klientem během části relace s výměnou schopností. Povinné funkce protokolu nejsou do výměny schopností zahrnuty, protože se předpokládají. RFC 4741 definuje řadu volitelných funkcí včetně: xpath a: validate. Všimněte si, že RFC 6241 zastarává RFC 4741 .

Schopnost podporovat přihlašování a přijímání oznámení asynchronních událostí je publikována v RFC 5277 . Tento dokument definuje operaci <create-subscription>, která umožňuje vytváření předplatných v reálném čase a přehrávání. Oznámení se poté asynchronně odesílají pomocí konstrukce <notification>. Také definuje: prokládací schopnost, která při podpoře základní: oznamovací schopností usnadňuje zpracování dalších operací NETCONF, když je aktivní předplatné.

Schopnost podporovat částečné uzamčení spuštěné konfigurace je definována v RFC 5717 . To umožňuje více relacím upravovat nepřekrývající se dílčí stromy v běžící konfiguraci. Bez této funkce je k dispozici jediný zámek pro celou konfiguraci.

Schopnost monitorovat protokol NETCONF je definována v RFC 6022 . Tento dokument obsahuje datový model včetně informací o úložištích NETCONF, relacích, zámcích a statistikách, které usnadňují správu serveru NETCONF. Rovněž definuje metody pro klienty NETCONF pro zjišťování datových modelů podporovaných serverem NETCONF a definuje operaci <get-schema> k jejich načtení.

Zprávy

Vrstva zpráv NETCONF poskytuje jednoduchý a na přenosu nezávislý rámcový mechanismus pro kódování

  • Vyvolání RPC (zprávy <rpc>),
  • Výsledky RPC (zprávy <rpc-reply>) a
  • upozornění na události (zprávy <notification>).

Každá zpráva NETCONF je dobře vytvořený dokument XML. Výsledek RPC je propojen s vyvoláním RPC pomocí atributu id zprávy. Zprávy NETCONF lze pipeline, tj. Klient může vyvolat více RPC, aniž by nejprve musel čekat na zprávy s výsledky RPC. Zprávy RPC jsou definovány v RFC 6241 a zprávy s upozorněním jsou definovány v RFC 5277 .

Doprava

  • Protokol NETCONF přes zabezpečené prostředí (SSH): rfc: 6242
  • Protokol NETCONF přes zabezpečení přenosové vrstvy (TLS) s ověřením Mutual X.509: rfc: 7589

Viz také

  • YANG
  • Stefan Wallin (18.10.2014). Výukový program NETCONF (YouTube). Stockholm: ocas-f.
  • Správa sítě
  • Správa konfigurace
  • Monitorování sítě
  • Schéma XML

Reference