34
Radek Krejčí [email protected] NETCONF a YANG . . . pohledem v˝vojáře Internet a Technologie 13.2

NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

  • Upload
    vokien

  • View
    231

  • Download
    1

Embed Size (px)

Citation preview

Page 1: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

Radek Krej�í[email protected]

NETCONF a YANG. . . pohledem v˝vojá�e

Internet a Technologie 13.2

Page 2: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 3: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 4: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 5: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 6: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 7: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 8: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 9: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 10: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 11: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 12: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 13: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 14: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 15: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 16: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 17: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 18: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 19: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 20: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 21: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 22: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 23: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 24: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 25: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 26: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 27: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 28: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 29: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 30: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 31: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 32: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 33: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

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

Page 34: NETCONF a YANG - CZ.NIC · YANG YANG tools NETCONF Capabilities NETCONF tools libnetconf Netopeer Osnova 1 YANG 2 YANG tools 3 NETCONF 4 Capabilities 5 NETCONF tools 6 libnetconf

Radek Krej�í[email protected]

D�kuji za pozornost

NETCONF a YANG. . . pohledem v˝vojá�e

Internet a Technologie 13.2