P oyec o Fin de Ca e a
Ingenie ía de Telecomunicación
Fo ma o de Publicación de la Escuela Técnica
Supe io de Ingenie ía
Au o : F. Ja ie Payán Some
Tu o : Juan José Mu illo Fuen es
Dep. Teo ía de la Señal y Comunicaciones
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2013
P oyec o Fin de G ado
G ado en Ingenie ía de las Tecnologías de
Telecomunicación
Es udio de la ges ión de con igu ación a
a és de NETCONF
Au o : Miguel Me elo He nández
Tu o : D . An onio J. Es epa Alonso
Dep. de Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2017
P oyec o Fin de G ado
G ado en Ingenie ía de las Tecnologías de Telecomunicación
Es udio de la ges ión de con igu ación a a és
de NETCONF
Au o :
Miguel Me elo He nández
Tu o :
D . An onio J. Es epa Alonso
P o eso Ti ula
Dep. de Ingenie ía Telemá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2017
Resumen
En
es e abajo se ealiza á un es udio sob e el p o ocolo NETCONF indicando las opciones que o ece.
Se analiza á la inclusión del p o ocolo en el me cado, las he amien as exis en es y se ealiza á una
p ueba de concep o u ilizando el agen e Con D Basic.
I
Abs ac
In
his wo k you will ind a NETCONF p o ocol s udy emphasizing he bene i s i can p o ide. The
implemen a ion o he p o ocol in he ne wo k de ices will be analized as he ools o wo k wi h NETCONF.
A p oo o concep will be made using he Con D Basic se e .
III
Índice
Resumen I
Abs ac III
Índice de Figu as VII
Índice de Tablas IX
1. In oducción 1
2. NETCONF 3
2.1. Obje i o 3
2.2. A qui ec u a 4
2.2.1. Capa de anspo e 4
2.2.2. RPC y XML 5
2.2.3. Resumen 5
2.3. NETCONF en el me cado 5
2.3.1. Mues as 5
2.3.2. Si uación ac ual 5
2.3.3. E olución 6
3. Modelo de da os 7
3.1. XML 7
3.2. Inicio de sesión 7
3.3. RPC 8
3.3.1. < pc> y < pc- eply> 8
3.3.2. < pc-e o > 8
3.3.3. <ok> 9
3.4. Ope aciones 9
3.4.1. <lock> y <unlock> 9
3.4.2. <ge -con ig> 10
3.4.3. <edi -con ig> 10
3.4.4. <copy-con ig> 11
3.4.5. <dele e-con ig> 12
3.4.6. <ge > 12
3.4.7. <close-session> 13
3.4.8. <kill-session> 13
3.5. Capabili ies 13
3.6. YANG 15
3.6.1. Módulos 15
3.6.2. Impo a módulos 15
3.6.3. Tipos de nodos 15
3.6.4. Tipos de da os 17
3.6.5. Ope aciones 17
V
2 NETCONF
La
de inición que nos p opo ciona la RFC-6241[
2
] sob e el p o ocolo es que "NETCONF de ine un
mecanismo simple a a és del cual un disposi i o de ed puede se ges ionado". En o as palab as,
NETCONF es un p o ocolo de ges ión de con igu ación. A di e encia de o os p o ocolos gene alis as, como
puede se SNMP, NETCONF se cen a en exclusi a en la ges ión de con igu ación.
NETCONF nace con la unción de supli cie os aspec os que no se a an en o os p o ocolos de ges ión
como puede se la posibilidad de aplica cambios de con igu ación a a ios elemen os de la ed simul ánea-
men e o de ini un mé odo de ecupe ación en caso de un allo en la con igu ación, pé dida de conexión o
simila . Es os aspec os y a ios más se án a ados en es e capí ulo así como la a qui ec u a del mismo, el
sis ema de il ado de da os y la implemen ación del p o ocolo en los disposi i os de ed disponibles en el
me cado.
2.1 Obje i o
Du an e el año 2001, se die on una se ie de euniones, en e ope ado es de ed y desa ollado es de p o ocolos,
en las que se abo daba los p oblemas que enían los p o ocolos de ges ión y las necesidades que no suplían.
Es as euniones desemboca on en un alle de abajo o ganizado po IAB(In e ne A chi ec u e Boa d) en
junio de 2002.
Tomando como e e encia las conclusiones ecogidas en RFC-3535[
3
], co espondien es a dicho alle
de abajo, podemos des aca cie as unciones co espondien es a la ges ión de con igu ación que debe ían
implemen a se en un p o ocolo de es a índole.
Un p o ocolo de ges ión de con igu ación debe hace una cla a dis inción en e los da os de con igu ación,
los de ope ación y las es adís icas que almacena el disposi i o. NETCONF de ine los da os de con igu ación
como aquella in o mación necesa ia pa a que el disposi i o pase de su es ado inicial al es ado ac ual mien as
que los da os de ope ación y es adís ica los de ine como aquellos da os que se gene an mien as que el
disposi i o es á abajando. Pa a ayuda a es a sepa ación de ine dos mé odos de lec u a de los da os, el
mé odo <ge -con ig> exclusi o pa a los da os de con igu ación y el mé odo <ge > que puede se u ilizado
pa a ob ene cualquie da o del disposi i o, incluidos los de con igu ación.
O o de los pun os impo an es de la ges ión de con igu ación es la obus ez en el con ol de acceso. Se
pueden p oduci modi icaciones simul áneas en la con igu ación de un equipo en dos aspec os dis in os y
que es os in e ie an en e sí y debe exis i un mecanismo pa a e i a es e p oblema. Pa a ello, NETCONF,
de ine que las pe iciones que llegan al disposi i o (mensajes de modi icación o lec u a de pa áme os) deben
p ocesa se y esponde se en o den de llegada siguiendo un mecanismo FIFO (Fi s In, Fi s Ou ). NETCONF
pe mi e que exis an a ias sesiones abie as simul áneamen e y que una de las sesiones bloquee el cambio de
la con igu ación de las o as sesiones. Además, pe mi e que, desde una sesión, se bloquee la modi icación de
algunos campos de con igu ación. [4]
3
4Capí ulo 2. NETCONF
En la ges ión de con igu ación se debe hace una di e enciación cla a en e la dis ibución de la con igu a-
ción y la aplicación de la misma. Es a unción pe mi e modi ica el compo amien o de un conjun o de nodos
simul áneamen e log ando así disminui el iempo en el cual la ed no se encuen a ope a i a. Adicionalmen e
a es o se debe conside a la posibilidad de inco po a un sis ema de back-up pa a que, en caso de la pe dida
de conec i idad po la nue a con igu ación, se pueda eg esa a la si uación an e io y ol e a ene acceso a
los nodos de la ed. Con es e obje i o, NETCONF de ine un mecanismo en el cual se gene a un pun o de
ecupe ación an es de implemen a la nue a con igu ación, as ello se implemen a es a con igu ación y se
p ueba. Si la con igu ación es co ec a se puede ija como pe manen e, en caso con a io se uel e al pun o
de ecupe ación. Pa a pode ealiza odo es o NETCONF de ine la exis encia de múl iples almacenes de
da os de con igu ación y una se ie de p imi i as.
O as unciones ú iles en la ges ión de con igu ación es la posibilidad de moni o iza el acceso y los
cambios que se p oducen en un disposi i o. Pa a ello, se de ine un modelo de da os [
5
] que pe mi e ealiza lo
al igual que o os dos modelo de da os RFC-5277 [
6
] RFC-6470 [
7
] pa a las no i icaciones de e en os,
siguiendo un sis ema publicado -susc ip o . La di e encia en e ambos es que el p ime o pe mi e moni o iza
apa ados del p o ocolo y de su implemen ación, como los almacenes de da os o las sesiones y los o os dos
se cen an en moni o iza aspec os como cambios en la con igu ación y en es adís icos, con ado es.
Como ca ac e ís ica ex a que podemos des aca de NETCONF es su sis ema de il ado. Ambos aspec os
es án di ec amen e elacionados, el sis ema de il ado de NETCONF hace que podamos de ini odo el con-
jun o de da os que que emos ecupe a y que sigan un pa ón de e minado, po ejemplo, podemos ecupe a
oda la in o mación de las a je as de ed que enga la másca a de ed 255.255./16. Es e il ado lo p ocesa el
se ido NETCONF y esponde en consecuencia. U ilizando es e sis ema somos capaces de ecupe a oda la
in o mación de con igu ación en una sola ansacción, lo que se conoce como bulk ansac ion, necesa io en
caso de que que amos analiza oda la con igu ación de un disposi i o.
A con inuación se mues a una abla compa a i a en e SNMP y NETCONF.
Tabla 2.1 Compa ación de las necesidades cubie as po SNMP y NETCONF.
SNMP NETCONF
Dis ingue en e da os de con igu ación y ope ación NO SI
P o ección an e cambio de con igu aciones simul áneos NO SI
Di e encia en e despliegue y ac i ación de la con igu ación NO SI
Almacén de múl iples con igu aciones NO SI
Moni o ización de es adís icos SI SI
Moni o ización de los cambios de con igu ación NO SI
Sis ema de il ado NO SI
Bulk ansac ions SI SI
SNMP es un p o ocolo de uso gene al, es deci , no es á pensado especí icamen e pa a la ges ión de con i-
gu ación po lo que una compa ación con NETCONF puede se dudosa, aún así, SNMP se u iliza a día de
hoy pa a la ges ión de con igu ación con lo cual queda jus i icada la compa ación en e ambos.
2.2 A qui ec u a
NETCONF es un p o ocolo de la capa de aplicación, capa 7 (según modelo OSI) que debe abaja sob e una
capa de anspo e que iene que cumpli cie os equisi os.
2.2.1 Capa de anspo e
NETCONF delega el anspo e y la segu idad a las capas in e io es. Es as capas deben enca ga se de
man ene las sesiones en e clien e y se ido y enca ga se de la in eg idad y con idencialidad de la misma.
La capa de anspo e debe o ece un mecanismo que pe mi a indica el ipo de la sesión, clien e o se ido .
2.3 NETCONF en el me cado 5
Un equisi o pa a una implemen ación de NETCONF es que debe sopo a el p o ocolo SSH. Es o queda
de inido en RFC-6242.
2.2.2 RPC y XML
NETCONF ealiza el in e cambio de in o mación u ilizando XML, c ea una es uc u a de da os je a quizada
en la cual se encuen an odas las ope aciones que deseamos ealiza . La es uc u a del mensaje es á basada
en el mecanismo RPC. NETCONF u iliza RPC pa a ealiza la comunicación en e clien e y se ido . Los
mensajes RPC indican el ipo de mensaje que se es á en iando, exis en es ipos, < pc>, < pc- eply> y
< pc-e o >. De es os elemen os se habla á más adelan e en el pun o 3 de es e documen o.
Los mensajes RPC con ienen e ique as de ope ación que an a de ini lo que deseamos ealiza , ya sea la
modi icación de la con igu ación, lee algún es adís ico o ecupe a algún da o. Po úl imo, den o de es as
e ique as, encon amos el con enido de es as ope aciones.
2.2.3 Resumen
Hemos is o que NETCONF es un p o ocolo de aplicación en e se ido y clien e que solo de ine es e
in e cambio de mensajes y delega la pa e de anspo e a capas in e io es como pueden se SSH o TLS.
Figu a 2.1 A qui ec u a de NETCONF.
2.3 NETCONF en el me cado
2.3.1 Mues as
Con el obje i o de de ini la si uación ac ual en el que se encuen a NETCONF en el ámbi o emp esa ial se
han analizado los p oduc os de a ios de los p incipales ab ican es de en u ado es y conmu ado es pa a e
la implemen ación de NETCONF en el me cado.
Pa a ealiza es o se ha analizado la in o mación que o ecen los ab ican es de sus p oduc os. La bús-
queda se ha cen ado en exclusi a en comp oba qué p oduc os implemen an NETCONF y qué p oduc os
implemen an SNMP. Los ab ican es analizados son Alca el-Lucen , A uba, Cisco, Hewle -Packa d(HP), Ju-
nipe y Nokia. La in o mación especí ica de cada ab ican e se encuen a en el Apendice A de es e documen o.
2.3.2 Si uación ac ual
De los ab ican es analizados solo encon amos NETCONF en algunos p oduc os de Cisco y, en mayo
medida, en los p oduc os de Junipe y de Nokia mien as que SNMP lo encon amos en odos los p oduc os
6Capí ulo 2. NETCONF
analizados de odos los ab ican es.
Una posible explicación de es e hecho consis e en que la implemen ación de un nue o p o ocolo equie e
el desa ollo de un p oduc o nue o y que su inco po ación al sis ema ope a i o implica, pa a el equipo, un
consumo de ecu sos mayo .
En el caso de Junipe , su sis ema ope a i o, JunOS, ya inco po aba un sis ema de con igu ación basado
en XML y RPC lo cual puede explica que la implemen ación de NETCONF, ambién basado en XML y
RPC, es é más ex endido en los p oduc os de es e ab ican e. Todos los en u ado es de Junipe inco po an
NETCONF
o su sis ema de ges ión basado en XML. Respec o a los conmu ado es, no encon amos NET-
CONF en ningún p oduc o.
Respec o a Cisco, podemos encon a una implemen ación mayo de NETCONF en su gama de conmu a-
do es pa a da a cen e y en los p oduc os más ecien es.
Nokia implemen a NETCONF en cua o de los seis p oduc os de los que dispone.
2.3.3 E olución
Junipe ha hecho una ue e apues a po NETCONF y pa ece que segui á inco po ando es e p o ocolo en sus
nue os p oduc os.
Cisco ha mos ado su in e és en segui incluyendo el p o ocolo en sus nue os p oduc os, como ha indicado
Sachin Gup a, Vice P esiden , P oduc Managemen o Cisco Swi ching, en el blog de cisco[
8
], consul ado
el 17/05/2017. En dicho a ículo se mues a la necesidad de inco po a nue os mecanismos de ges ión que
acili en la a ea más allá de CLI.
En e los que no implemen an NETCONF podemos des aca a Alca el-Lucen que sí iene un sis ema de
ges ión p opio basado en XML y que puede se la pue a a la u u a implemen ación de NETCONF en sus
p oduc os.
3 Modelo de da os
Un
agen e y un clien e NETCONF se comunican en iando in o mación codi icada en XML. El modelo
de comunicación que u ilizan se basa en un sis ema RPC (Remo e P ocedu al Call).
Aunque en es e capí ulo amos a habla de YANG[
9
] como modelo de da os pa a NETCONF debido a su
c eación especí ica pa a ello y acep ación como es ánda . NETCONF no de ine ningún modelo de da os pa a
su uso.
3.1 XML
Los mensajes NETCONF en iados en e clien e y se ido se es uc u an, como ya hemos dicho, en o ma o
XML siguiendo la es uc u a (schema) de inida en el Apéndice B de la RFC-6241[
2
]. Es os mensajes u ilizan
una codi icación UTF-8.
Los mensajes ecibidos en el se ido que no sigan el schema o codi icación p e is os se án echazados,
po el se ido , y se de ol e á un mensaje de e o al clien e.
3.2 Inicio de sesión
Una ez iniciada la conexión, a a és de la capa de enlace, clien e y se ido se in e cambian mensajes
u ilizando el elemen o <hello>. Es os mensajes indican las Capabili ies que implemen a cada uno, (és as
se án comen adas en el pun o 3.5). En el caso del se ido ambién en ía el id de la sesión.
<hello xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<capabili ies>
<capabili y>
u n:ie :pa ams:ne con :base:1.1
</capabili y>
<capabili y>
u n:ie :pa ams:ne con :capabili y:s a up:1.0
</capabili y>
</capabili ies>
</hello>
<hello xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<capabili ies>
<capabili y>
u n:ie :pa ams:ne con :base:1.1
</capabili y>
<capabili y>
u n:ie :pa ams:ne con :capabili y:s a up:1.0
7
8Capí ulo 3. Modelo de da os
</capabili y>
<capabili y>
h p://example.ne / ou e /2.3/my ea u e
</capabili y>
</capabili ies>
<session-id>4</session-id>
</hello>
3.3 RPC
NETCONF u iliza un modelo de comunicación basado en RPC. La comunicación no mal, co ec a y sin
e o es, du an e una sesión u iliza á los elemen os < pc> y < pc- eply>.
3.3.1 < pc> y < pc- eply>
El elemen o < pc> se u iliza pa a ealiza acciones sob e el se ido que se án espondidas con un mensaje
con el elemen o < pc- eply>.
Cada elemen o < pc> o < pc- eply> con iene un a ibu o <message-id> que iden i ica el mensaje en esa
conexión. Una pe ición < pc> con un de e minado <message-id> ecibi á un < pc- eply> con ese mismo alo .
Es e ejemplo in oca la ope ación <ge > sin pa áme os.
< pc message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0"
xmlns:ex="h p://example.ne /con en /1.0"
ex:use -id=" ed">
<ge />
</ pc>
< pc- eply message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0"
xmlns:ex="h p://example.ne /con en /1.0"
ex:use -id=" ed">
<da a>
<!-- con en s he e... -->
</da a>
</ pc- eply>
3.3.2 < pc-e o >
En caso de que ocu a algún e o du an e la ejecución en el se ido de una pe ición < pc>, el elemen o
< pc- eply> con end á uno o a ios elemen os < pc-e o >.
Es e mensaje < pc- eply> puede con ene a ios elemen os, < pc-e o >, desc ibiendo cada uno de los
e o es que se hayan p oducido, mas solo es obliga o io que con enga uno de ellos.
El mensaje de e o ( pc-e o ) con iene, a a és de e ique as, in o mación de la capa en la que se ha
p oducido el e o (e o - ype), de la causa del e o (e o - ag) y de la impo ancia (e o -se e i y). Adicio-
nalmen e exis en e ique as, e o -app- ag, e o -pa h, e o -message y e o -in o que añaden in o mación ex a.
e o -se e i y iene dos posibles alo es, e o y wa ning, de momen o solo se u iliza e o y wa ning se
ese a pa a un uso u u o.
3.4 Ope aciones 9
En es e ejemplo, el mensaje pc se en ía sin a ibu o message-id. La espues a con iene in o mación sob e
es e e o .
< pc xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<ge -con ig>
<sou ce>
< unning/>
</sou ce>
</ge -con ig>
</ pc>
< pc- eply xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
< pc-e o >
<e o - ype> pc</e o - ype>
<e o - ag>missing-a ibu e</e o - ag>
<e o -se e i y>e o </e o -se e i y>
<e o -in o>
<bad-a ibu e>message-id</bad-a ibu e>
<bad-elemen > pc</bad-elemen >
</e o -in o>
</ pc-e o >
</ pc- eply>
La lis a con los dis in os e o es exis en es se puede encon a en el Apéndice A de la RFC-6241[2].
3.3.3 <ok>
El elemen o <ok> se incluye den o de < pc- eply> cuando el mensaje no iene que en ia ningún da o de
espues a.
3.4 Ope aciones
NETCONF de ine una se ie de ope aciones pa a la comunicación. Es as ope aciones son un elemen o inclui-
dos den o de un mensaje < pc>.
Se de inen nue e ope aciones básicas pa a la ges ión de la con igu ación que son ge , ge -con ig, edi -con ig,
copy-con ig, dele e-con ig, lock, unlock, close-session, kill-session.
3.4.1 <lock> y <unlock>
En el pun o 2.1 de es e documen o se hizo mención a la posibilidad que exis e en NETCONF de bloquea el
acceso a la modi icación de la con igu aciones de o as sesiones; <lock> y <unlock> pe mi en ealiza es a
ope ación.
Pa a es a ope ación, el elemen o <lock> de ine un pa áme o obliga o io, < a ge >, que si e pa a iden i ica
el almacén de da os de con igu ación (da as o e) que que emos bloquea . Es e pa áme o exis e de la misma
o ma pa a el elemen o <unlock> y su uso es simila .
< pc message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<lock>
< a ge >
< unning/>
</ a ge >
</lock>
10 Capí ulo 3. Modelo de da os
</ pc>
< pc- eply message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<ok/> <!-- lock succeeded -->
</ pc- eply>
3.4.2 <ge -con ig>
Es a ope ación se u iliza pa a ob ene oda o pa e de la con igu ación almacenada.
Con iene dos elemen os, el p ime o, <sou ce>, hace e e encia al almacén de da os de con igu ación al que
nos e e imos y el segundo, < il e >, se u iliza pa a indica qué pa e de la con igu ación que emos ob ene .
Si no exis e el elemen o < il e >, ob end emos oda la in o mación del iche o.
< pc message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<ge -con ig>
<sou ce>
< unning/>
</sou ce>
</ge -con ig>
</ pc>
< pc- eply message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<da a>
<!-- da os del iche o -->
</da a>
</ pc- eply>
3.4.3 <edi -con ig>
Es a ope ación si e pa a a a con los pa áme os de con igu ación de un de e minado iche o de con igu a-
ción.
Podemos ealiza cinco acciones, indicadas den o del a ibu o "ope a ion". Las acciones son me ge, eplace,
c ea e, dele e y emo e. Dele e y emo e eliminan un pa áme o del iche o de con igu ación, la di e encia es
que si es e pa áme o no exis e en el iche o, la espues a con end á un <e o - ag> en el caso de dele e. En el
caso de emo e, el se ido igno a esa pa e y no gene a un e o . Si es e a ibu o no se indica, se oma á la
acción me ge po de ec o.
La acción me ge eemplaza el elemen o en caso de que exis a en el iche o de con igu ación o lo añade al
iche o de con igu ación si no exis e. Las acciones an es p e is as se ealizan po cada elemen o de mane a
indi idual.
3.4 Ope aciones 11
Tabla 3.1 Resul ado de la acción me ge según el es ado del almacén de da os.
En el siguien e caso ealizamos la acción me ge sob e el elemen o in e ace. Modi icamos name y la m u.
< pc message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<edi -con ig>
< a ge >
< unning/>
</ a ge >
<con ig>
< op xmlns="h p://example.com/schema/1.2/con ig">
<in e ace>
<name>E he ne 0/0</name>
<m u>1500</m u>
</in e ace>
</ op>
</con ig>
</edi -con ig>
</ pc>
< pc- eply message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<ok/>
</ pc- eply>
3.4.4 <copy-con ig>
C ea o eemplaza un almacén de da os de con igu ación con el con enido de o o.
< pc message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<copy-con ig>
< a ge >
18 Capí ulo 3. Modelo de da os
</ope acion>
</ pc>
< pc- eply message-id="101"
xmlns="u n:ie :pa ams:xml:ns:ne con :base:1.0">
<s a us xmlns="h p://example.com/sys em">
The image example- w-2.3 is being ins alled.
</s a us>
</ pc- eply>
3.6.6 No i icaciones
Pa a de ini una nue a no i icación, u iliza emos la sen encia no i ica ion.
no i ica ion link- ailu e {
desc ip ion
"A link ailu e has been de ec ed.";
lea i -name {
ype lea e {
pa h "/in e ace/name";
}
}
lea i -admin-s a us {
ype admin-s a us;
}
lea i -ope -s a us {
ype ope -s a us;
}
}
4 He amien as
Ex
is en di e sas he amien as elacionadas con NETCONF, an o de ca ác e de so wa e lib e como de
so wa e p opie a io. En es e capí ulo se a a án algunas he amien as pa a el desa ollo de módulos
a a és de YANG y de implemen aciones de NETCONF, an o de la pa e de clien e como de la pa e de
se ido . También se menciona án algunas lib e ías exis en es disponibles pa a abaja con NETCONF.
4.1 YANG
Pa a alida módulos YANG se disponen de di e en es aplicaciones. En su e sión web enemos yang alida o
(h p:// yang alida o .o g/ ) y yangdump (h p:// www.ne con cen al.o g/ un_yangdump).
A la ho a de gene a nue os módulos podemos encon a el plugin pa a Eclipse YANG IDE (h p:
// docs.opendayligh .o g/ en/ s able-bo on/ ge ing-s a ed-guide/ p ojec -speci ic-guides/ yangide.h ml), la
e sión ac ual, 1.1.1,no sopo a YANG 1.1.
Po úl imo, hay he amien as pa a esal a cie as palab as cla es de YANG en Eclipse (h ps://gi hub.
com/ no akmi/ mini/ ee/ mas e / yang), No epad++ (h ps:// gi hub.com/ kosu i/ lang-yang) y emacs (h ps:
// gi hub.com/ mbj4668/ yang-mode).
4.2 Clien es
Son a ias las implemen aciones de clien es an o de so wa e p opie a io como de so wa e lib e. Re e ido
a las implemen aciones de clien es NETCONF de so wa e p opie a io encon amos las aplicaciones que
o ecen los ab ican es de disposi i os de ed como CISCO o JUNIPER o la implemen ación de yumawo ks,
yangcli-p o (h ps:// www.yumawo ks.com/ downloads/ ).
En e las aplicaciones con licencias de so wa e lib e podemos des aca Ne opee -GUI (h ps://gi hub.
com/ CESNET/ Ne opee -GUI), una he amien a web pa a la ges ión de NETCONF. Adicionalmen e, exis en
implemen aciones como Con D Basic (h p:// www. ail- .com/ con d-basic/ ), Ne opee 2 (h ps:// gi hub.com/
CESNET/Ne opee 2) o EnSui e (h p://ensui e.sou ce o ge.ne /) que inco po an an o la pa e de clien e
como la de se ido y se án a adas en el siguien e apa ado. En el caso de Ne opee 2 iene un clien e basado
en línea de comandos mien as que con el clien e de EnSui e se abaja a a és de un na egado .
4.3 Se ido es
Como se ha mencionado en el apa ado an e io , enemos implemen aciones en la pa e de se ido en el
p oyec o Ne opee 2, Con D Basic y EnSui e que implemen an la pa e del clien e y del se ido . Además de
los mencionados podemos encon a OpenYuma (h ps:// gi hub.com/ OpenClo is/ OpenYuma) con licencia
de so wa e lib e.
19
20 Capí ulo 4. He amien as
En e las aplicaciones de so wa e p i a i o encon amos YumaP o (h ps:// www.yumawo ks.com/ ne con d-
p o/ ). Es e so wa e se desligó del p oyec o OpenYuma y ambas han seguido desa ollándose po caminos
dis in os.
4.4 Lib e ías
Muchas aplicaciones de clien es y se ido es NETCONF implemen an alguna lib e ía de alidación de
módulos. En e és as podemos encon a libyang (h ps:// gi hub.com/ CESNET/ libyang) esc i a en C o pyang
(h ps:// gi hub.com/ mbj4668/ pyang) esc i a en Py hon. Ambas con licencias de so wa e lib e, BSD-3 e ISC,
espec i amen e.
La mayo ía de lib e ías exis en es es án en ocadas pa a la implemen ación de clien es NETCONF. Las
hay en Ja a, JNC (h ps://gi hub.com/ ail- -sys ems/JNC), en Py hon, ncclien (h ps:// pypi.py hon.o g/
pypi/ ncclien ) o Junos PyEZ (h ps:// gi hub.com/ Junipe / py-junos-eznc) y pa a And oid, ne con 4and oid
(h ps:// code.google.com/ a chi e/ p/ ne con 4and oid/ ).
También encon amos lib e ías pa a la implemen ación de se ido es, y clien es, esc i as en C, como
libne con (h ps:// gi hub.com/ CESNET/ libne con ).
Po úl imo, ambién se debe menciona la exis encia de sys epo (h ps:// gi hub.com/ sys epo/ sys epo), un
ges o de almacenes de da os, esc i o en C. Es e ges o lo u iliza, po ejemplo, la implemen ación del se ido
NETCONF Ne opee .
5 P ueba de concep o
En
es e capí ulo se pond á en p ác ica los conocimien os eó icos apo ados en es e abajo. Se c ea á un
nue o módulo, se inco po a á a un se ido NETCONF y ealiza emos dis in as consul as y modi i-
caciones de su con igu ación. Pa a ello, ha emos uso de dis in as he amien as mencionadas en el capí ulo
an e io . Ha emos uso de yangdump pa a la alidación del módulo YANG, u iliza emos Con D Basic pa a la
implemen ación del agen e NETCONF y se usa á yangcli-p o y el clien e de Con D Basic pa a hace p uebas,
ne con -console- cp.
El clien e de Con D Basic que amos a u iliza iene cie as peculia idades de las que nos pod emos
bene icia . No es una implemen ación de NETCONF al uso ya que los mensajes que en ía al se ido no an
ci ados, po lo an o, es e clien e, no se ía ú il con o as implemen aciones de NETCONF ni se ía co ec o
su uso más allá de la ealización de p uebas. Al no i ci ado, nos pe mi e cap u a los mensajes que en ía y
analiza los. Po úl imo, o a peculia idad, es que no man iene la sesión abie a, es deci , cuando indicamos
una consul a que debe ealiza , el clien e inicia á la conexión con el se ido , a a és de los mensajes <hello>,
ha á la pe ición y ce a á la conexión, con la ope ación <close-session>.
5.1 Módulo YANG
C ea emos un módulo de p ueba, sin uso p ác ico. El módulo se llama á ag adecimien os y end á un nodo
con aine p incipal llamado g acias, el cual con end á, a su ez, un nodo lea alumno, un nodo con aine
u o y dos nodos lis , el p ime o llamado amilia y el segundo amigos.
Los nodos u o , amilia yamigos con end á dos nodos lea , nomb e ymo i o. En el caso de los nodos lis ,
la lla e se á el nodo lea nomb e.
La de inición del módulo se encuen a en el Apéndice B.1
U ilizamos la he amien a de alidación de módulos yangdump que nos hace un esumen del con enido
del módulo y, si és e, con iene e o es.
21
22 Capí ulo 5. P ueba de concep o
Figu a 5.1 Resul ado de la comp obación de un módulo YANG con Yangdump.
5.2 In oducción de da os en el módulo
Exis en dos o mas de abaja con el clien e ne con -console- cp, podemos u iliza pa áme os especí icos
pa a una acción conc e a, como <ge > o <ge -con ig>, o podemos u iliza el pa áme o pc el cual nos pe mi e
in oduci el mensaje pc al comple o. En nues o caso u iliza emos el pa áme o pc.
In oducimos los da os con enidos en el iche o edi Ag adecimien os.xml (Apéndice B.2) al almacén de
da os unning.
. /bin/ne con -console- cp -u admin -p admin --po 2023 -- pc=
edi Ag adecimien os.xml
Si el en ío es co ec o isualiza emos la espues a del se ido .
Figu a 5.2 Mensaje <ok> de espues a del se ido ..
5.2 In oducción de da os en el módulo 23
Si pasamos a analiza los mensajes in e cambiados, podemos obse a cómo se es á p oduciendo la cone-
xión, p ime o el en ío del mensaje <hello> con odas las capabili ies disponibles.
Figu a 5.3 Análisis mensaje hello del se ido ..
El clien e en ía un mensaje simila .
A con inuación se en ía el mensaje pc (Apéndice B.2) con los da os a modi ica .
Figu a 5.4 Análisis del mensaje <edi -con ig>..
24 Capí ulo 5. P ueba de concep o
Se ecibe el mensaje ok.
Figu a 5.5 Análisis mensaje OK del se ido ..
Vemos que el message-id de espues a, 1, coincide con el de la consul a.
En una implemen ación de un clien e NETCONF se man end ía abie a la conexión pa a ealiza o as
ope aciones, en el clien e que es amos u ilizando, como dijimos p e iamen e, as ealiza una ope ación se
cie a la conexión.
El clien e, izquie da, ealiza la ope ación <close-session> y el se ido , de echa, esponde con un mensaje
ok.
Figu a 5.6 Mensajes <close-session> de cie e de sesión..
5.3 Consul a de la con igu ación
En es e apa ado amos a ealiza consul as de los da os de con igu ación.
Vamos a u iliza yangcli-p o pa a e i ica que el se ido ejecu a co ec amen e NETCONF. Yangcli-p o
ha á la conexión u ilizando ssh po lo que no pod emos e el con enido de los mensajes. Ejecu a emos la
ope ación <ge -con ig>, sin pa áme os, con < a ge > unning </ a ge > que nos de ol e á odos los da os del
almacén de da os unning.
5.3 Consul a de la con igu ación 25
Figu a 5.7 Respues a a <ge -con ig> sin il o..
Recibimos odo el con enido del almacén de da os.
Si emos el con enido de los mensajes.
Figu a 5.8 Cap u a de <ge -con ig> ci ado. Con ssh..
Podemos supone que el mensaje esal ado y el siguien e son los mensajes en los que se p oduce la espues a
26 Capí ulo 5. P ueba de concep o
del se ido a la pe ición del clien e. Vemos como el pue o o igen es el 830, pue o gene almen e u ilizado
po NETCONF sob e ssh.
Exis e la opción de ealiza un il ado de los esul ado. En el siguien e ejemplo (Apéndice B.3), solo
que emos que se nos mues e el á bol del módulo que hemos c eado.
Recibimos la siguien e espues a.
Figu a 5.9 Mensaje ecibido as usa <ge -con ig> con il o..
5.4 Lec u a de es adís icos
Con la ope ación <ge > podemos ealiza consul as de es adís icos ales como los módulos que implemen a,
la e sión, las sesiones abie as...
En el siguien e ejemplo (Apéndice B.4) hacemos una consul a de odos los es adís icos.
5.4 Lec u a de es adís icos 27
Figu a 5.10 Ope ación <ge > de es adís icos..
No se mues a la in o mación comple a de lo que de uel e.
También podemos aplica il ado a es a consul a. En conc e o amos a pedi solo los da os de las sesiones
abie as (Apéndice B.5).
Figu a 5.11 Ope ación <ge > con il o pa a las sesiones..
34 Capí ulo A. Análisis ab ican es
A.1 Cisco
A.1.1 Conmu ado es
Modelo NETCONF SNMP
Cisco Indus ial E he ne 5000 Se ies Swi ches NO SI
Cisco Indus ial E he ne 4010 Se ies Swi ches NO SI
Cisco Indus ial E he ne 4000 Se ies Swi ches NO SI
Cisco Indus ial E he ne 3010 Se ies Swi ches NO SI
Cisco Indus ial E he ne 3000 Se ies Swi ches NO SI
Cisco Indus ial E he ne 2500 Se ies Swi ches NO SI
Cisco Indus ial E he ne 2020 Se ies Swi ches NO SI
Cisco Indus ial E he ne 2000 Se ies Swi ches NO SI
Cisco Indus ial E he ne 2000U Se ies Swi ches NO SI
Cisco Indus ial E he ne 1000 Se ies Swi ches NO SI
CiscoCa alys 7000 Se ies NO SI
Cisco Ca alys 6800 Se ies NO SI
Cisco Ca alys 6500 Se ies NO SI
Cisco Ca alys 4900 Se ies NO SI
Cisco Ca alys 4500 Se ies NO SI
Cisco Ca alys 4500X Se ies NO SI
Cisco Ca alys 3850 Se ies NO SI
Cisco Ca alys 3750 Se ies NO SI
Cisco Ca alys 3650 Se ies NO SI
Cisco Ca alys 3560 Se ies NO SI
Cisco Ca alys 3560-C Se ies NO SI
Cisco Ca alys 3560-CX Se ies NO SI
Cisco Ca alys 2960-C Se ies NO SI
CiscoCa alys 2960-CX Se ies NO SI
Cisco Ca alys 2960-Plus Se ies NO SI
Cisco Ca alys 2960-X Se ies NO SI
Cisco Blade Swi ches o Dell NO SI
Cisco Blade Swi ches o FSC NO SI
Cisco Blade Swi ches o HP NO SI
Cisco Blade Swi ches o IBM NO SI
Cisco Nexus 4000 Se ies Swi ches SI SI
Cisco Nexus 7000 Se ies Swi ches NO SI
Cisco Nexus 6000 Se ies Swi ches SI SI
Cisco Nexus 5000 Se ies Swi ches SI SI
Cisco Nexus 4000 Se ies Swi ches SI SI
Cisco Nexus 3000 Se ies Swi ches SI SI
Cisco Nexus 2000 Se ies Fab ic Ex ende s SI SI
Cisco ME 4900 Se ies E he ne Swi ches NO SI
Cisco ME 3800X Se ies Ca ie E he ne Swi ch Rou e s NO SI
Cisco ME 3600X Se ies E he ne Access Swi ches NO SI
Cisco ME 3400 Se ies E he ne Access Swi ches NO SI
Cisco SFS 7000 Se ies In iniBand Se e Swi ches NO SI
A.2 Junipe 35
A.1.2 En u ado es
Modelo NETCONF SNMP
Cisco 4000 Se ies In eg a ed Se ices Rou e s SI SI
Cisco 3900 Se ies In eg a ed Se ices Rou e s NO SI
Cisco 3800 Se ies In eg a ed Se ices Rou e s NO SI
Cisco 2900 Se ies In eg a ed Se ices Rou e s NO SI
Cisco 2800 Se ies In eg a ed Se ices Rou e s NO SI
Cisco 1900 Se ies In eg a ed Se ices Rou e s NO SI
Cisco 1800 Se ies In eg a ed Se ices Rou e s NO SI
Cisco 800 Se ies In eg a ed Se ices Rou e s NO SI
Cisco 890 Se ies Rou e s NO SI
Cisco 880 Se ies Rou e s NO SI
Cisco 870 Se ies Rou e s NO SI
Cisco 860 Se ies Rou e s NO SI
Cisco 850 Se ies Rou e s NO SI
Cisco 800m Se ies Rou e s NO SI
Cisco Ne wo k Con e gence Sys em 6000 Se ies Rou e s SI SI
Cisco Ne wo k Con e gence Sys em 5011 Se ies Rou e s SI SI
Cisco Ne wo k Con e gence Sys em 5000 Se ies Rou e s SI SI
Cisco ASR 1000 Se ies Agg ega ion Se ices Rou e s NO SI
Cisco 7300 Se ies Rou e s NO SI
Cisco 800 Se ies Indus ial In eg a ed Se ices Rou e s NO SI
Cisco 2000 Se ies Connec ed G id Rou e s NO SI
Cisco 1000 Se ies Connec ed G id Rou e s SI SI
A.2 Junipe
En el caso de Junipe , algunos de sus disposi i os ienen un p o ocolo de ges ión basado en XML y RCP
simila a NETCONF, es án indicados con un as e isco*.
A.2.1 Conmu ado es
Modelo NETCONF SNMP
EX9200 NO SI
EX4600 NO SI
EX4550 NO SI
EX4300 NO SI
EX4200 NO SI
EX3400 NO SI
EX2300 NO SI
EX2200 NO SI
QFX10000 NO* SI
QFX5200 NO* SI
QFX5110 NO* SI
QFX5100 NO* SI
OCX1100 NO* SI
36 Capí ulo A. Análisis ab ican es
A.2.2 En u ado es
Modelo NETCONF SNMP
MX2020 SI SI
MX2010 SI SI
MX2008 SI SI
MX960 SI SI
MX480 SI SI
MX240 SI SI
MX104 SI SI
MX80 SI SI
MX40 SI SI
MX10 SI SI
MX5 SI SI
PTX5000 NO* SI
PTX3000 NO* SI
PTX1000 NO* SI
ACX5000 SI SI
ACX4000 SI SI
ACX2200 SI SI
ACX2100 SI SI
ACX1100 SI SI
ACX1000 SI SI
ACX500 SI SI
T4000 SI SI
T1600 SI SI
T640 SI SI
TX Ma ix SI SI
A.3 Hewle Packa d 37
A.3 Hewle Packa d
A.3.1 Conmu ado es
Modelo NETCONF SNMP
A is a 7280 Se ies NO SI
A is a 7260 Se ies NO SI
A is a 7250 Se ies NO SI
A is a 7160 Se ies NO SI
A is a 7150 Se ies NO SI
A is a 7060X Se ies NO SI
A is a 7050X Se ies NO SI
A is a 7010T Gigabi E he ne Da a Cen e Swi ch Se ies NO SI
HPE Al oline 6940 Se ies NO SI
HPE FlexFab ic 5950 Swi ch SI SI
HPE FlexFab ic 5940 Se ies SI SI
HPE FlexFab ic 5930 Se ies SI SI
HPE FlexFab ic 5920 Se ies SI SI
HPE FlexFab ic 5900 Se ies SI SI
HPE FlexFab ic 5700 Se ies SI SI
A uba 3810 Swi ch Se ies NO SI
A uba 3800 Se ies NO SI
A uba 2930M Swi ch Se ies NO SI
A uba 2920 Swi ch Se ies NO SI
A uba 2915 8G PoE Swi ch NO SI
A uba 2540 Swi ch Se ies NO SI
A uba 2530 Se ies NO SI
A uba 2620 Se ies NO SI
A uba 2615 8 PoE Swi ch NO SI
HPE FlexNe wo k 5820 Se ies NO SI
HPE FlexNe wo k 5510 HI Se ies SI SI
HPE FlexNe wo k 5500 HI Se ies NO SI
HPE FlexNe wo k 5130 HI Se ies SI SI
HPE FlexNe wo k 5120 SI Se ies NO SI
HPE FlexNe wo k 3600 SI Se ies NO SI
HPE O iceConnec 1950 Se ies NO SI
HPE O iceConnec 1920S Swi ch Se ies NO SI
HPE O iceConnec 1910 Se ies NO SI
HPE O iceConnec 1820 Se ies NO SI
HPE O iceConnec PS1810 Swi ch Se ies NO SI
HPE O iceConnec 1410 Se ies NO SI
HPE O iceConnec 1620 Se ies NO SI
A is a 7500R se ies SI SI
A is a 7320 X-Se ies NO SI
A is a 7300X Se ies NO SI
HPE FlexFab ic 12900E Se ies SI SI
HPE FlexFab ic 7900 Se ies SI SI
A uba 5400R zl2 Swi ch Se ies NO SI
HPE FlexNe wo k 10500 Se ies SI SI
HPE FlexNe wo k 7500 Se ies SI SI
38 Capí ulo A. Análisis ab ican es
A.3.2 En u ado es
Modelo NETCONF SNMP
HPE FLexNe wo k MSR95x Rou e Se ies NO SI
HPE FlexNe wo k HSR6800 Rou e Se ies NO SI
Alca el-Lucen 7750 Se ice Rou e Se ies NO SI
HPE FlexNe wo k MSR1000 Rou e Se ies NO SI
HPE FlexNe wo k MSR4000 Rou e Se ies NO SI
HPE FlexNe wo k MSR2000 Rou e Se ies NO SI
HPE FlexNe wo k MSR3000 Rou e Se ies NO SI
HPE FlexNe wo k MSR93x Rou e Se ies NO SI
HPE FlexNe wo k HSR6600 Rou e Se ies NO SI
HPE MSR20-1x Se ies NO SI
A.4 A uba
A.4.1 Conmu ado es
Modelo NETCONF SNMP
Se ie 5400R NO SI
Se ie 3810 NO SI
Se ie 2930F NO SI
Se ie 2920 NO SI
Se ie 2540 NO SI
Se ie 2530 NO SI
A.5 Alca el-Lucen
A.5.1 Conmu ado es
Modelo NETCONF SNMP
OmniSwi ch 6250 NO SI
OmniSwi ch 6350 NO SI
OmniSwi ch 6450 NO SI
OmniSwi ch 6855 NO SI
OmniSwi ch 6860 NO SI
OmniSwi ch 6865 NO SI
OmniSwi ch 10K NO SI
OmniSwi ch 9900 NO SI
OmniSwi ch 6900 NO SI
A.5.2 En u ado es
Modelo NETCONF SNMP
OmniAccess ESR 5720 NO SI
OmniAccess ESR 5800 NO SI
OmniAccess ESR 7500 NO SI
A.6 Nokia 39
A.6 Nokia
A.6.1 Conmu ado es
Modelo NETCONF SNMP
7210 Se ice Access Swi ch SI SI
7450 E he ne Se ice Swi ch SI SI
1850 T anspo Se ice Swi ch NO SI
A.6.2 En u ado es
Modelo NETCONF SNMP
7950 Ex ensible Rou ing Sys em SI SI
7750 Se ice Rou e SI SI
7705 Se ice Agg ega ion Rou e NO SI
Apéndice B
P ueba de concep o
B.1 Módulo YANG
module ag adecimien os{
yang- e sion 1.1;
namespace "h p://miguelme elo.es/NETCONFmoduleTFG";
p e ix "ag ";
o ganiza ion
"US TFG";
con ac
"Miguel Me elo: <mail o:me [email protected] g>";
desc ip ion
"Tes ing da a model o g a i ude in my TFG";
e ision "2017-06-08" {
desc ip ion "Ini ial e ision.";
e e ence
"h p://miguelme elo.es/NETCONFmoduleTFG";
}
con aine g acias {
desc ip ion
"Ag adecimien os";
lea alumno{
ype s ing;
desc ip ion
"Nomb e del alumno que desa olla el TFG";
}
con aine u o {
desc ip ion
"In o mación del u o del TFG";
lea nomb e{
ype s ing;
desc ip ion
"Nomb e del u o del TFG";
41
42 Capí ulo B. P ueba de concep o
}
lea mo i o{
ype s ing;
desc ip ion
"Ag adecimien os";
}
} // u o
lis amilia{
key "nomb e";
desc ip ion
"Familia es a los que ag adece ";
lea nomb e{
ype s ing;
desc ip ion
"Nomb e del amilia ";
}
lea mo i o{
ype s ing;
desc ip ion
"Ag adecimien os";
}
} // amilia
lis amigos{
key "nomb e";
desc ip ion
"Amigos a los que ag adece ";
lea nomb e{
ype s ing;
desc ip ion
"Nomb e del amigo";
}
lea mo i o{
ype s ing;
desc ip ion
"Ag adecimien os";
}
} //amigos
} //g acias
} //ag adecimien os
B.2 Edi a Ag adecimien os
<edi -con ig xmlns:nc='u n:ie :pa ams:xml:ns:ne con :base:1.0'>
< a ge >
< unning/>
</ a ge >
<con ig>
<g acias xmlns="h p://miguelme elo.es/NETCONFmoduleTFG">
<alumno>Miguel Me elo He nández</alumno>
< u o >
B.3 Fil ado Ag adecimien os 43
<nomb e>An onio Es epa Alonso</nomb e>
<mo i o>Po o ece me es e abajo y po su guía du an e el mismo</
mo i o>
</ u o >
< amilia>
<nomb e>A mis pad es</nomb e>
<mo i o>Po deja me hace lo que más me gus a</mo i o>
</ amilia>
< amilia>
<nomb e>Albe o</nomb e>
<mo i o>La dis ancia nunca nos sepa a á</mo i o>
</ amilia>
<amigos>
<nomb e>Cla a</nomb e>
<mo i o>A ec l'ICIT ou a commencé</mo i o>
</amigos>
<amigos>
<nomb e>Juan</nomb e>
<mo i o>G acias po u incondicional apoyo, al MIT no oy, pe o po que
no quie o</mo i o>
</amigos>
<amigos>
<nomb e>Ignacio</nomb e>
<mo i o>¾En u pueblo o en el mío?</mo i o>
</amigos>
<amigos>
<nomb e>Da id</nomb e>
<mo i o>P ime o o uga, después GC, e gus a lo e de</mo i o>
</amigos>
<amigos>
<nomb e>Alicia</nomb e>
<mo i o>Sé que siemp e pod é con a con igo</mo i o>
</amigos>
</g acias>
</con ig>
</edi -con ig>
B.3 Fil ado Ag adecimien os
<ge -con ig>
<sou ce>
< unning/>
</sou ce>
< il e >
<g acias xmlns="h p://miguelme elo.es/NETCONFmoduleTFG"/>
</ il e >
</ge -con ig>
B.4 Ge Es adís icos
<ge >
< il e >