SlideShare a Scribd company logo
1 of 39
Download to read offline
YANG - ŁACINA XXI WIEKU
Sławomir Janukowicz
sjanukowicz@juniper.net
2 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Mamy angielski, francuski, niemiecki, chiński to po co nam
łacina
Kto za tą łaciną stoi
Jak się pisze po łacinie
Zalety łaciny
Kto to w chwili obecnej rozumie
O CZYM BĘDZIE
3 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
PO CO NAM ŁACINA
4 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
J
PO CO – PROTOKÓŁ KOMUNIKACYJNY
Język znakowy Pismo Mowa
Efektywna komunikacja wymaga jednolitego sposoby wymiany informacji
5 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
PO CO – SAM PROTOKÓŁ TO ZA MAŁO
English
English
English
Français Deutsch Español
Français Deutsch Español
English English English
Français Deutsch Español
English  Français
English  Deutsch
English  Español
ipv4-address
6 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
KTO ZA ŁACINĄ STOI
7 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Gramatyka, ortografia – RFC 6020 (październik 2010)
Dzieła:
 IETF
 Openconfig
 Producenci sprzętu i oprogramowania
KTO ZA TYM STOI
8 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Gramatyka, ortografia – RFC 6020 (październik 2010)
Dzieła:
 IETF
 Openconfig
 Producenci sprzętu i oprogramowania
ZASADY JEZYKOWE
9 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
YANG – składnia zbliżona do SMI (opisy MIBów) – czyli dla ludzi
YIN – składnia XML – czyli dla nieludzi
Możliwa bezstratna konwersja w obie strony
Nieludzie – komputery i oprogramowanie
YANG YIN
10 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
IETF
 RFC7223 – Maj 2014 - Interface Management
 RFC7277 – Czerwiec 2014 – IP Management
 RFC7317 – Sierpień 2014 – System Management
 RFC7407 – Grudzień 2014 – SNMP Configuration
Nic od tego czasu nie powstało więcej
AUTORZY DZIEŁ
11 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Google
AT&T
British Telecom
Microsoft
Facebook
Comcast
Verizon
Level3
Cox Communications
Yahoo!
Apple
Deutsche Telekom
AUTORZY DZIEŁ
Openconfig:
12 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Openconfig
 BGP
 Interface
 Routing statyczny
 MPLS
 Moduły optyczne
 Polityki rutingu
 VLAN
AUTORZY DZIEŁ
13 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Producenci sprzętu
 Juniper
 Konfiguracja – dzieła zebrane
Pełny model konfiguracji urządzeń Juniper pracujących z
systemem od wersji 14.2
show system schema module module-name format yang
output-file-name filename
show system schema module configuration format yang
output-file-name /var/tmp/config.yang
AUTORZY DZIEŁ
14 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
JAK SIĘ PISZĘ PO ŁACINIE
15 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Kategoria Ograniczenia
Liczba całkowita Min Max
Liczba rzeczywista Min Max
Łańcuch Długość, wzorzec
Wyliczenie Obiekty
Bit
Referencje
ELEMENTY JĘZYKA
Typy danych
16 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
typedef ipv4-address {
type string {
pattern ’(([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]).){3}’
+ ’([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])’
+ ’(%[p{N}p{L}]+)?’;
}
}
Po % można wpisać:
Zone index
DEFINICJE TYPÓW
17 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Leaf
 Posiada wartość
 Występuje tylko raz
Leaf-list
 Posiada wartość
 Występuje wielokrotnie
Container
 Nie posiada wartości
 Zawiera inne obiekty
 Występuje raz
List
 Nie posiada wartości
 Zawiera inne obiekty
 Występuje wiele razy
OBIEKTY
18 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
leaf domain {
type inet:domain-name; // values are typed (type
imported)
mandatory true; // must exist in a valid configuration
config true; // part of the set of configuration objects
description
"The host name of this system.";
}
LEAF
19 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
leaf-list search {
type inet:domain-name; // imported from the module with
prefix inet
ordered-by user; // maintain the order given by the user
description
"List of domain names to search.";
}
LEAF-LIST
20 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
container system {
config true;
leaf hostname {
type inet:domain-name;
}
container resolver {
leaf domain { /* see above */ }
leaf-list search { /* see above */ }
description
"The configuration of the resolver library.";
}
}
CONTAINER
21 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
list nameserver {
key address;
leaf address {
type inet:ip-address;
}
leaf status {
type enumeration {
enum enabled; enum disabled; enum failed;
}
}
}
LIST
22 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Augment – rozszerzenie
When – definicja parametrów rozszerzających
 Czuli jeśli port jest typu E1 to ma jakieś parametry których nie ma
port typu Ethernet
Must – definicja ograniczeń jakie musi zawierać poprawna
konfiguracja
AUGMENT, MUST, WHEN
23 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
augment system/resolver {
container debug {
presence "enables debugging";
description
"This container enables debugging.";
leaf level {
type enumeration {
enum low;
enum medium;
enum full;
}
default "medium";
mandatory false;
description
"The debugging level; default is medium
debug information.";
}
}
}
AUGMENT
24 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
augment system/resolver {
leaf access-timeout {
type uint32;
unit "seconds";
mandatory true;
description "Maximum time without
server response.";
}
leaf retry-timer {
type uint32;
units "seconds";
description "Period after which to retry
an operation";
must "$this < ../access-timeout" {
error-app-tag "retry-timer-invalid";
error-message "The retry timer must be
less "
+ "than the access timeout";
}
}
}
AUGMENT AND MUST
25 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
augment system/resolver/nameserver {
when "status = enabled";
leaf tx {
type yang:counter32;
config false;
}
leaf rx {
type yang:counter32;
config false;
}
}
AUGMENT AND WHEN
26 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
leaf-list next-hop {
type union {
type inet:ip-address;
type local-defined-next-hop;
type string;
//TODO: this should be a leafref pointing to a
configured
//interface, but YANG 1.0 does not support leafrefs in a
//union type. It should be updated when YANG 1.1 is
//released.
}
description
"Specify a set of next hops. Each entry may be an IP
address, interface, or a single pre-defined next-hop can
be
used, e.g., drop";
}
ŁACINA JEST ŻYWA
Moduł
static routes
zdefiniowany przez Openconfig
27 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
ZALETY ŁACINY
28 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Sprawdzanie konfiguracji przed jej wysłaniem na urządzenie
 Nigdy więcej błędów składniowych
 Parametry zawsze w zakresach obsługiwanych przez urządzenie
Szczególnie ważne dla automatów
 Kto lubi oprogramowywać obsługę błędów
 Znacząco ułatwiona konfiguracja wielu urządzeń gdy wymagana
jest realizacja całej usługi lub wycofanie zmian
SPRAWDZANIE KONFIGURACJI PRZED JEJ
WYSŁANIEM NA URZĄDZENIE
29 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Dla każdego urządzenia można pobrać moduł Yang i odczytać z
niego
 MTU dla portu
 Ilość możliwych do sąsiedztw BGP
 Ilość obsługiwanych reguł firewall
Wymaga to dobrych modułów ale droga jest otwarta
WARTOŚCI SPECYFICZNE DLA URZĄDZENIA
30 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
To na co ja się zalogowałem
 Ruter
 Przełącznik
 Ogniomurek
Szczególnie ważne dla automatów
 Można określić czy dana konfiguracja – czyli zbudowana na niej
usługa może zadziałać
 Może mamy drugie urządzenie (lub więcej) gdzie można próbować
załadować tą konfigurację
TO Z KIM ROZMAWIAM – PRZEDSTAW SIĘ
31 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Moduł Yang może definiować konfigurację całej usługi
 L3VPN
 L2 circuit
 Filtrowanie ruchu WWW przez zewnętrzne urządzenie
Pewność skonfigurowania wszystkich wymaganych parametrów
KONFIGURACJA WYŻSZYCH POZIOMÓW
32 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Producent oprogramowania „zahaczającego” o konfigurację
sieci musi wybrać jakieś API
 Jasno opisane
 Odpowiednio szczegółowe
 Transport
 Znaczenie komunikatów
DOMYŚLNE API
33 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Znam się na konfigurowaniu „Yangiem” i mogę skonfigurować
wszystko
No prawie
 Skonfigurowanie za pomocą odpowiadających komend nie
gwarantuje takiego samego działania obecnie i Yang nic tu nie
zmieni
JEDEN JĘZYK DO WSZYSTKIEGO
34 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
KTO OBECNIE ZNA ŁACINĘ
35 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Cisco
 ASR9000
Juniper
 MX
Moduły do pobrania z urządzenia albo ze strony producenta
KTO TEN JĘZYK ZNA
36 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Wewnętrzna konfiguracja w formacie XML
Możliwość ładowania dowolnych modułów YANG
 Potrzebny opis translacji – skrypt pomiędzy modułem YANG i
konfiguracją urządzenia
 Przydatne do opisów konfiguracji wyższych poziomów
ŁACINĄ Z JUNIPEREM
37 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Inicjatywa Openconfig – wystarczy jedno RFQ z wymaganiem
na obsługę zdefiniowanych modułów wysłane na rynek przez
znanego członka grupy
KTO TEN JĘZYK BĘDZIE ZNAŁ
38 Copyright © 2015 Juniper Networks, Inc. www.juniper.net
Q & A
PLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz

More Related Content

Viewers also liked

PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...
PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...
PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...
PROIDEA
 
4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...
4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...
4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...
PROIDEA
 
Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...
Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...
Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...
PROIDEA
 

Viewers also liked (17)

PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...
PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...
PLNOG 13: Alexis Dacquay: Handling high-bandwidth-consumption applications in...
 
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic NetworkingPLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
 
PLNOG15: Data Center migration in practice - Tomasz Jarlaczyk
PLNOG15: Data Center migration in practice - Tomasz JarlaczykPLNOG15: Data Center migration in practice - Tomasz Jarlaczyk
PLNOG15: Data Center migration in practice - Tomasz Jarlaczyk
 
PLNOG15: Implementation of integrated DDI/NAC solution for a health insurance...
PLNOG15: Implementation of integrated DDI/NAC solution for a health insurance...PLNOG15: Implementation of integrated DDI/NAC solution for a health insurance...
PLNOG15: Implementation of integrated DDI/NAC solution for a health insurance...
 
PLNOG15: Cisco Application Centric Infrastructure - why ...? - Krzysztof Mazepa
PLNOG15: Cisco Application Centric Infrastructure - why ...? - Krzysztof MazepaPLNOG15: Cisco Application Centric Infrastructure - why ...? - Krzysztof Mazepa
PLNOG15: Cisco Application Centric Infrastructure - why ...? - Krzysztof Mazepa
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
 
CONFidence 2015: when something overflowing... - Peter Hlavaty
CONFidence 2015: when something overflowing... - Peter HlavatyCONFidence 2015: when something overflowing... - Peter Hlavaty
CONFidence 2015: when something overflowing... - Peter Hlavaty
 
PLNOG 13: Maciej Grabowski: HP Moonshot
PLNOG 13: Maciej Grabowski: HP MoonshotPLNOG 13: Maciej Grabowski: HP Moonshot
PLNOG 13: Maciej Grabowski: HP Moonshot
 
4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...
4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...
4Developers 2015: Wnioski wyciągnięte z powiększania zespołu - Bartek Nowa...
 
Jdd2014: High performance logging - Peter Lawrey
Jdd2014: High performance logging - Peter LawreyJdd2014: High performance logging - Peter Lawrey
Jdd2014: High performance logging - Peter Lawrey
 
CONFidence 2015: AppSec, the untrustable dev - Timur Khrotko
CONFidence 2015: AppSec, the untrustable dev - Timur KhrotkoCONFidence 2015: AppSec, the untrustable dev - Timur Khrotko
CONFidence 2015: AppSec, the untrustable dev - Timur Khrotko
 
Guide to collar Stiffeners
Guide to collar StiffenersGuide to collar Stiffeners
Guide to collar Stiffeners
 
Entrepreneurship and business management
Entrepreneurship and business managementEntrepreneurship and business management
Entrepreneurship and business management
 
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
 
PLNOG 13: Jacek Wosz: User Defined Network
PLNOG 13: Jacek Wosz: User Defined NetworkPLNOG 13: Jacek Wosz: User Defined Network
PLNOG 13: Jacek Wosz: User Defined Network
 
Insights from the cooperation between SLU and SIANI around the Theme Sustaina...
Insights from the cooperation between SLU and SIANI around the Theme Sustaina...Insights from the cooperation between SLU and SIANI around the Theme Sustaina...
Insights from the cooperation between SLU and SIANI around the Theme Sustaina...
 
Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...
Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...
Atmosphere Conference 2015: Building And Releasing A Massively Multiplayer On...
 

Similar to PLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz

Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
magda3695
 
Wysoko wydajne sieci TCP/IP
Wysoko wydajne sieci TCP/IPWysoko wydajne sieci TCP/IP
Wysoko wydajne sieci TCP/IP
Wydawnictwo Helion
 

Similar to PLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz (20)

PLNOG 9: Krzysztof Konkowski, Władysław Misztal - Skuteczne planowanie i czas...
PLNOG 9: Krzysztof Konkowski, Władysław Misztal - Skuteczne planowanie i czas...PLNOG 9: Krzysztof Konkowski, Władysław Misztal - Skuteczne planowanie i czas...
PLNOG 9: Krzysztof Konkowski, Władysław Misztal - Skuteczne planowanie i czas...
 
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
 
Praca Dyplomowa
Praca DyplomowaPraca Dyplomowa
Praca Dyplomowa
 
Praca Dyplomowa
Praca DyplomowaPraca Dyplomowa
Praca Dyplomowa
 
Urządzenia intersieci tworzące Internet
Urządzenia intersieci tworzące InternetUrządzenia intersieci tworzące Internet
Urządzenia intersieci tworzące Internet
 
PLNOG 6: Marcin Kaptur, Tomasz Charewicz - Onet VOD
PLNOG 6: Marcin Kaptur, Tomasz Charewicz - Onet VODPLNOG 6: Marcin Kaptur, Tomasz Charewicz - Onet VOD
PLNOG 6: Marcin Kaptur, Tomasz Charewicz - Onet VOD
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
 
Usługi sieci internet cz iiii 2012
Usługi sieci internet cz iiii   2012Usługi sieci internet cz iiii   2012
Usługi sieci internet cz iiii 2012
 
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert RosiakPLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
 
Not Almanach short-cut within Networking (in Polish)
Not Almanach short-cut within Networking (in Polish)Not Almanach short-cut within Networking (in Polish)
Not Almanach short-cut within Networking (in Polish)
 
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
 
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
 
PLNOG 21: Piotr Szczepanek - Elastic w Treatnet. Innowacyjny system wykrywani...
PLNOG 21: Piotr Szczepanek - Elastic w Treatnet. Innowacyjny system wykrywani...PLNOG 21: Piotr Szczepanek - Elastic w Treatnet. Innowacyjny system wykrywani...
PLNOG 21: Piotr Szczepanek - Elastic w Treatnet. Innowacyjny system wykrywani...
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
 
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOpsPLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
 
Wysoko wydajne sieci TCP/IP
Wysoko wydajne sieci TCP/IPWysoko wydajne sieci TCP/IP
Wysoko wydajne sieci TCP/IP
 
PLNOG 3: Łukasz Bromirski - Budowa sieci multicast
PLNOG 3: Łukasz Bromirski - Budowa sieci multicastPLNOG 3: Łukasz Bromirski - Budowa sieci multicast
PLNOG 3: Łukasz Bromirski - Budowa sieci multicast
 
Kubernetes (Canary) Deployments
Kubernetes (Canary) DeploymentsKubernetes (Canary) Deployments
Kubernetes (Canary) Deployments
 
ARM CoreSight - sprawdź, co tak naprawdę robi Twój SoC.
ARM CoreSight - sprawdź, co tak naprawdę robi Twój SoC.ARM CoreSight - sprawdź, co tak naprawdę robi Twój SoC.
ARM CoreSight - sprawdź, co tak naprawdę robi Twój SoC.
 
JMeter - narzędzie testera - notatki
JMeter - narzędzie testera - notatkiJMeter - narzędzie testera - notatki
JMeter - narzędzie testera - notatki
 

PLNOG15: Yang - latin of XXI centaury - Sławomir Janukowicz

  • 1. YANG - ŁACINA XXI WIEKU Sławomir Janukowicz sjanukowicz@juniper.net
  • 2. 2 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Mamy angielski, francuski, niemiecki, chiński to po co nam łacina Kto za tą łaciną stoi Jak się pisze po łacinie Zalety łaciny Kto to w chwili obecnej rozumie O CZYM BĘDZIE
  • 3. 3 Copyright © 2015 Juniper Networks, Inc. www.juniper.net PO CO NAM ŁACINA
  • 4. 4 Copyright © 2015 Juniper Networks, Inc. www.juniper.net J PO CO – PROTOKÓŁ KOMUNIKACYJNY Język znakowy Pismo Mowa Efektywna komunikacja wymaga jednolitego sposoby wymiany informacji
  • 5. 5 Copyright © 2015 Juniper Networks, Inc. www.juniper.net PO CO – SAM PROTOKÓŁ TO ZA MAŁO English English English Français Deutsch Español Français Deutsch Español English English English Français Deutsch Español English  Français English  Deutsch English  Español ipv4-address
  • 6. 6 Copyright © 2015 Juniper Networks, Inc. www.juniper.net KTO ZA ŁACINĄ STOI
  • 7. 7 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Gramatyka, ortografia – RFC 6020 (październik 2010) Dzieła:  IETF  Openconfig  Producenci sprzętu i oprogramowania KTO ZA TYM STOI
  • 8. 8 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Gramatyka, ortografia – RFC 6020 (październik 2010) Dzieła:  IETF  Openconfig  Producenci sprzętu i oprogramowania ZASADY JEZYKOWE
  • 9. 9 Copyright © 2015 Juniper Networks, Inc. www.juniper.net YANG – składnia zbliżona do SMI (opisy MIBów) – czyli dla ludzi YIN – składnia XML – czyli dla nieludzi Możliwa bezstratna konwersja w obie strony Nieludzie – komputery i oprogramowanie YANG YIN
  • 10. 10 Copyright © 2015 Juniper Networks, Inc. www.juniper.net IETF  RFC7223 – Maj 2014 - Interface Management  RFC7277 – Czerwiec 2014 – IP Management  RFC7317 – Sierpień 2014 – System Management  RFC7407 – Grudzień 2014 – SNMP Configuration Nic od tego czasu nie powstało więcej AUTORZY DZIEŁ
  • 11. 11 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Google AT&T British Telecom Microsoft Facebook Comcast Verizon Level3 Cox Communications Yahoo! Apple Deutsche Telekom AUTORZY DZIEŁ Openconfig:
  • 12. 12 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Openconfig  BGP  Interface  Routing statyczny  MPLS  Moduły optyczne  Polityki rutingu  VLAN AUTORZY DZIEŁ
  • 13. 13 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Producenci sprzętu  Juniper  Konfiguracja – dzieła zebrane Pełny model konfiguracji urządzeń Juniper pracujących z systemem od wersji 14.2 show system schema module module-name format yang output-file-name filename show system schema module configuration format yang output-file-name /var/tmp/config.yang AUTORZY DZIEŁ
  • 14. 14 Copyright © 2015 Juniper Networks, Inc. www.juniper.net JAK SIĘ PISZĘ PO ŁACINIE
  • 15. 15 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Kategoria Ograniczenia Liczba całkowita Min Max Liczba rzeczywista Min Max Łańcuch Długość, wzorzec Wyliczenie Obiekty Bit Referencje ELEMENTY JĘZYKA Typy danych
  • 16. 16 Copyright © 2015 Juniper Networks, Inc. www.juniper.net typedef ipv4-address { type string { pattern ’(([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]).){3}’ + ’([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])’ + ’(%[p{N}p{L}]+)?’; } } Po % można wpisać: Zone index DEFINICJE TYPÓW
  • 17. 17 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Leaf  Posiada wartość  Występuje tylko raz Leaf-list  Posiada wartość  Występuje wielokrotnie Container  Nie posiada wartości  Zawiera inne obiekty  Występuje raz List  Nie posiada wartości  Zawiera inne obiekty  Występuje wiele razy OBIEKTY
  • 18. 18 Copyright © 2015 Juniper Networks, Inc. www.juniper.net leaf domain { type inet:domain-name; // values are typed (type imported) mandatory true; // must exist in a valid configuration config true; // part of the set of configuration objects description "The host name of this system."; } LEAF
  • 19. 19 Copyright © 2015 Juniper Networks, Inc. www.juniper.net leaf-list search { type inet:domain-name; // imported from the module with prefix inet ordered-by user; // maintain the order given by the user description "List of domain names to search."; } LEAF-LIST
  • 20. 20 Copyright © 2015 Juniper Networks, Inc. www.juniper.net container system { config true; leaf hostname { type inet:domain-name; } container resolver { leaf domain { /* see above */ } leaf-list search { /* see above */ } description "The configuration of the resolver library."; } } CONTAINER
  • 21. 21 Copyright © 2015 Juniper Networks, Inc. www.juniper.net list nameserver { key address; leaf address { type inet:ip-address; } leaf status { type enumeration { enum enabled; enum disabled; enum failed; } } } LIST
  • 22. 22 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Augment – rozszerzenie When – definicja parametrów rozszerzających  Czuli jeśli port jest typu E1 to ma jakieś parametry których nie ma port typu Ethernet Must – definicja ograniczeń jakie musi zawierać poprawna konfiguracja AUGMENT, MUST, WHEN
  • 23. 23 Copyright © 2015 Juniper Networks, Inc. www.juniper.net augment system/resolver { container debug { presence "enables debugging"; description "This container enables debugging."; leaf level { type enumeration { enum low; enum medium; enum full; } default "medium"; mandatory false; description "The debugging level; default is medium debug information."; } } } AUGMENT
  • 24. 24 Copyright © 2015 Juniper Networks, Inc. www.juniper.net augment system/resolver { leaf access-timeout { type uint32; unit "seconds"; mandatory true; description "Maximum time without server response."; } leaf retry-timer { type uint32; units "seconds"; description "Period after which to retry an operation"; must "$this < ../access-timeout" { error-app-tag "retry-timer-invalid"; error-message "The retry timer must be less " + "than the access timeout"; } } } AUGMENT AND MUST
  • 25. 25 Copyright © 2015 Juniper Networks, Inc. www.juniper.net augment system/resolver/nameserver { when "status = enabled"; leaf tx { type yang:counter32; config false; } leaf rx { type yang:counter32; config false; } } AUGMENT AND WHEN
  • 26. 26 Copyright © 2015 Juniper Networks, Inc. www.juniper.net leaf-list next-hop { type union { type inet:ip-address; type local-defined-next-hop; type string; //TODO: this should be a leafref pointing to a configured //interface, but YANG 1.0 does not support leafrefs in a //union type. It should be updated when YANG 1.1 is //released. } description "Specify a set of next hops. Each entry may be an IP address, interface, or a single pre-defined next-hop can be used, e.g., drop"; } ŁACINA JEST ŻYWA Moduł static routes zdefiniowany przez Openconfig
  • 27. 27 Copyright © 2015 Juniper Networks, Inc. www.juniper.net ZALETY ŁACINY
  • 28. 28 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Sprawdzanie konfiguracji przed jej wysłaniem na urządzenie  Nigdy więcej błędów składniowych  Parametry zawsze w zakresach obsługiwanych przez urządzenie Szczególnie ważne dla automatów  Kto lubi oprogramowywać obsługę błędów  Znacząco ułatwiona konfiguracja wielu urządzeń gdy wymagana jest realizacja całej usługi lub wycofanie zmian SPRAWDZANIE KONFIGURACJI PRZED JEJ WYSŁANIEM NA URZĄDZENIE
  • 29. 29 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Dla każdego urządzenia można pobrać moduł Yang i odczytać z niego  MTU dla portu  Ilość możliwych do sąsiedztw BGP  Ilość obsługiwanych reguł firewall Wymaga to dobrych modułów ale droga jest otwarta WARTOŚCI SPECYFICZNE DLA URZĄDZENIA
  • 30. 30 Copyright © 2015 Juniper Networks, Inc. www.juniper.net To na co ja się zalogowałem  Ruter  Przełącznik  Ogniomurek Szczególnie ważne dla automatów  Można określić czy dana konfiguracja – czyli zbudowana na niej usługa może zadziałać  Może mamy drugie urządzenie (lub więcej) gdzie można próbować załadować tą konfigurację TO Z KIM ROZMAWIAM – PRZEDSTAW SIĘ
  • 31. 31 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Moduł Yang może definiować konfigurację całej usługi  L3VPN  L2 circuit  Filtrowanie ruchu WWW przez zewnętrzne urządzenie Pewność skonfigurowania wszystkich wymaganych parametrów KONFIGURACJA WYŻSZYCH POZIOMÓW
  • 32. 32 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Producent oprogramowania „zahaczającego” o konfigurację sieci musi wybrać jakieś API  Jasno opisane  Odpowiednio szczegółowe  Transport  Znaczenie komunikatów DOMYŚLNE API
  • 33. 33 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Znam się na konfigurowaniu „Yangiem” i mogę skonfigurować wszystko No prawie  Skonfigurowanie za pomocą odpowiadających komend nie gwarantuje takiego samego działania obecnie i Yang nic tu nie zmieni JEDEN JĘZYK DO WSZYSTKIEGO
  • 34. 34 Copyright © 2015 Juniper Networks, Inc. www.juniper.net KTO OBECNIE ZNA ŁACINĘ
  • 35. 35 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Cisco  ASR9000 Juniper  MX Moduły do pobrania z urządzenia albo ze strony producenta KTO TEN JĘZYK ZNA
  • 36. 36 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Wewnętrzna konfiguracja w formacie XML Możliwość ładowania dowolnych modułów YANG  Potrzebny opis translacji – skrypt pomiędzy modułem YANG i konfiguracją urządzenia  Przydatne do opisów konfiguracji wyższych poziomów ŁACINĄ Z JUNIPEREM
  • 37. 37 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Inicjatywa Openconfig – wystarczy jedno RFQ z wymaganiem na obsługę zdefiniowanych modułów wysłane na rynek przez znanego członka grupy KTO TEN JĘZYK BĘDZIE ZNAŁ
  • 38. 38 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Q & A