Upload
vokien
View
231
Download
1
Embed Size (px)
Citation preview
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Osnova
1 YANG
2 YANG tools
3 NETCONF
4 Capabilities
5 NETCONF tools
6 libnetconf
7 Netopeer
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 1 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Modelovací jazyk YANGOpakování z IT 13.1
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 2 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Jazyk YANG„Yet Another Next Generation“ modeling language (RFC 6020)
XML encoding (JSON)konfigura�ní vs. stavová datadata vs. NETCONF operace (a notifikace)p�ehlednost a �itelnost (pro �lov�ka)rozöi�itelnost
Guidelines for Authors of YANG Data Models (RFC 6087)
Základní datové modelyhlavní systémové parametry (�as, DNS resolver, uûivatelé)sí�ová rozhraní v�etn� konfigurace IPsm�rováníSNMP
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 3 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Jazyk YANG„Yet Another Next Generation“ modeling language (RFC 6020)
XML encoding (JSON)konfigura�ní vs. stavová datadata vs. NETCONF operace (a notifikace)p�ehlednost a �itelnost (pro �lov�ka)rozöi�itelnost
Guidelines for Authors of YANG Data Models (RFC 6087)
Základní datové modelyhlavní systémové parametry (�as, DNS resolver, uûivatelé)sí�ová rozhraní v�etn� konfigurace IPsm�rováníSNMP
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 3 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Nástroje pro práci s jazykem YANGCo m�ûu pouûít, kdyû musím pracovat s YANGem?
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 4 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
YANG editory
Zv˝razn�ní syntaxe pro Vim, Emacs
komer�ní produktyMasterYANG (SegueSoft)Visual YANG Designer (MG-SOFT). . .
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 5 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
YANG editory
Zv˝razn�ní syntaxe pro Vim, Emacs
komer�ní produktyMasterYANG (SegueSoft)Visual YANG Designer (MG-SOFT). . .
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 5 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Validace a transformace Ipyang
pyang.googlecode.comYANG generátor/transformátor/validátorMoûnost tvorby vlastních v˝stupních plugin�TreeOutput:
module: ietf-system
+--rw system
+--rw contact? string
+--rw name? string
+--rw location? string
+--ro platform
| +--ro os-name? string
| +--ro os-release? string
| +--ro os-version? string
| +--ro machine? string
| +--ro nodename? string
+--rw clock
| +--ro current-datetime? yang:date-and-time
| +--ro boot-datetime? yang:date-and-time
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 6 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Validace a transformace II
yangbuilder
p�evod z Groovy do YANGubitbucket.org/novakmi/yangbuilder
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 7 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Knihovny
JavaYANG Tools (sou�ást OpenDaylight)
C/C++
Python(pyang)
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 8 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Protokol NETCONFOpakování z IT 13.1
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 9 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Protokol NETCONF
Konfigura�ní protokol typu klient-server. (RFC 6241)Rozöi�itelná sada operací.Obsah definován pomocí datov˝ch model� (YANG) auchováván v úloûiötích (datastores)
Obsah
Operace
Zprávy
Transport
XML
enco
ded konfigura�ní a stavová data
manipulace s úloûiöti a konfigura�ními daty
vrstva RPC (poûadavky/odpov�di)
SSH (RFC 6242) nebo TLS (RFC 5539)
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 10 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Rozöí�ení protokolu NETCONFNETCONF Capabilities
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 11 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Notifikace
klient server<
h
e
l
l
o
>
<
h
e
l
l
o
>
<
r
p
c
>
<
r
p
c
-
r
e
p
l
y
>
<
n
o
t
i
f
i
c
a
t
i
o
n
>
asynchronní doru�ování zpráv (RFC 5277)
oznamování událostí
d�lení událostí do jednotliv˝ch stream�
real-time vs. historie
problém s ukon�ením p�íjmu notifikací
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 12 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
�ízení p�ístupu
RFC 6536
omezení p�ístupu uûivatel� k . . .operacím (RPC)jednotliv˝m datov˝m element�mnotifikacím
samostatná práva pro . . .vytvá�ení�tenímodifikacemazáníprovád�ní
moûnost provázání se systémov˝mi uûivateli
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 13 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Validace
kontrola konfigura�ních datpo syntaktickéi sémantické stránce
problém s dostupností YANG parseruv C lze obejít pomocí validace RelaxNG schématu v libxml2 apouûitím Schematronu pomocí libxslt
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 14 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Validace
kontrola konfigura�ních datpo syntaktickéi sémantické stránce
problém s dostupností YANG parseruv C lze obejít pomocí validace RelaxNG schématu v libxml2 apouûitím Schematronu pomocí libxslt
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 14 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Implementace protokolu NETCONF
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 15 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
NETCONF architektura
uživatelskérozhraní
NETCONFclient SSH serverSSH
NETCONF agent
NETCONF agent
NETCONFserver
SSH Subsystem
...
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 16 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Dostupné (open-source) implementace
libnetconf/Netopeer (C) – knihovna, server, klientncclient (Python) – klientnet-netconf (Ruby) – klientNetconfX (Java) – klientYuma klony (C) – klient, server (OpenYuma, yuma123)
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 17 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
libnetconfImplementace protokolu NETCONF pro GNU/Linux
libnetconf.googlecode.com
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 18 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Motivace
„Nechme v˝vojá�e pouûívat NETCONF, aniû by detailn� znali jehopravidla.“
Pro management systém pot�ebuji:odesílat/p�ijímat konfigura�ní data do/ze za�ízeníp�ijímat notifikace
Pro správu za�ízení pot�ebuji:dostat data, podle kter˝ch mám za�ízení nakonfigurovatmít moûnost oznamovat události
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 19 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Motivace
„Nechme v˝vojá�e pouûívat NETCONF, aniû by detailn� znali jehopravidla.“
Pro management systém pot�ebuji:odesílat/p�ijímat konfigura�ní data do/ze za�ízeníp�ijímat notifikace
Pro správu za�ízení pot�ebuji:dostat data, podle kter˝ch mám za�ízení nakonfigurovatmít moûnost oznamovat události
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 19 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Motivace
„Nechme v˝vojá�e pouûívat NETCONF, aniû by detailn� znali jehopravidla.“
Pro management systém pot�ebuji:odesílat/p�ijímat konfigura�ní data do/ze za�ízeníp�ijímat notifikace
Pro správu za�ízení pot�ebuji:dostat data, podle kter˝ch mám za�ízení nakonfigurovatmít moûnost oznamovat události
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 19 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
libnetconf
„Platforma pro v˝voj Network Management Systém� a serverov˝chza�ízení a aplikací s podporou protokolu NETCONF.“
uživatelskérozhraní
NETCONFclient SSH serverSSH
NETCONF agent
NETCONF agent
NETCONFserver
SSH Subsystem
...
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 20 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
libnetconf – klient
NMSUI
libne
tcon
f
sí�libssh2
OpenSSH
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 21 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
libnetconf – server
SSH
serv
ersí� ... úložišt�
libnetconf
agent
devicemanager
libne
tcon
f
libnetconf
agentSSH
Subsystem
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 22 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
libnetconf
aktuáln� verze 0.6
NETCONF v1.0 a v1.1
podpora validace, notifikací, �ízení p�ístupu a dalöích rozöí�ení
ov��eno p�i NETCONF Interoperability Testing v rámci IETF
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 23 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
NetopeerSada aplikací s podporou protokolu NETCONF
netopeer.googlecode.com
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 24 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Netopeer aplikace I
netopeer-cli
NETCONF klient z p�íkazové �ádkyp�vodn� testovací klient libnetconfusnaha o maximální jednoduchost UI
netopeer-server-sl
testovací server libnetconfufunguje jako SSH Subsystemjednoduchost kódu – ukázka pouûití libnetconfu
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 25 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Netopeer aplikace IInetopeer-server
dosp�l˝ NETCONF serveraplikace pln� vyuûívající libnetconf transAPI
SSH
serv
er
sí� ...
úložišt�libnetconf
agent
libnetconf
agentSSH
Subsystem tran
sAPI
mod
ul
tran
sAPI
mod
ul ...
libnetconf
libnetconf
netopeer-server
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 26 / 27
YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer
Netopeer aplikace IIInetopeer-webGUI
uûivatelsky p�ív�tiv˝ a univerzální NETCONF klientprvní ve�ejná verze dostupná b�hem následujících t˝dn�
Web GUI(PHP, Sympfony)
libnetconf
network
libssh2
SSH serverNETCONF
server
Apache modul
SSH serverNETCONF
server
Radek Krej�í NETCONF a YANG pohledem v˝vojá�e 30. 11. 2013, Praha 27 / 27
Radek Krej�í[email protected]
D�kuji za pozornost
NETCONF a YANG. . . pohledem v˝vojá�e
Internet a Technologie 13.2