tag:blogger.com,1999:blog-63521733268127122112024-03-12T23:02:08.804-03:00CapaOcho.NetUn problema entre el teclado y la silla...Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.comBlogger75125tag:blogger.com,1999:blog-6352173326812712211.post-72851261508050852632013-05-30T13:29:00.002-03:002013-05-30T13:29:18.426-03:00RPKI Parte 0 (para tomadores de decisiones)Señor Gerente: <br />
<br />
En este texto intentaré explicar para qué sirve RPKI tratando de no entrar en detalles técnicos.<br />
<h2>
¿Qué es RPKI? (en tres oraciones)</h2>
<ul>
<li><b>R</b>esource <b>P</b>ublic <b>K</b>ey <b>I</b>nfrastructure es un sistema en donde cada empresa va a <b>declarar </b><i></i>a una base de datos mundial<i></i> cómo y a quién anuncia sus Direcciones IP <i>sin costo alguno</i>.</li>
<li>Luego, los routers del mundo podrán consultar esa base de datos para verificar que la información que reciben coincide con las que la empresa declara, pudiendo filtrar redes que sean 'robadas' por atacantes malintencionados. </li>
<li>Esto se complementa con un fuerte sistema criptográfico de firmado, que garantiza la integridad, validez y veracidad de la información obtenida.</li>
</ul>
<h4>
¿Qué hago para comenzar a implementar RPKI?</h4>
<br />
En este momento de la historia <b>todas</b> las entidades que poseen recursos IP propios deben declarar y firmar digitalmente la información acerca de las redes que publican a internet. Técnicamente esto se denomina "Firmar un ROA" (<b>A</b>utorización de <b>O</b>riginación de <b>R</b>utas).<br />
<br />
Esto se hace desde el sitio web de su <a href="http://es.wikipedia.org/wiki/Registro_Regional_de_Internet" target="_blank">RIR</a>, en cuestión de minutos.<br />
<br />
Luego, se deben actualizar los sistemas operativos de los routers de forma tal que puedan consultar la información de todos los ROA de las organizaciones. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-1LXzNbrd_V8/Uad8dkyCmnI/AAAAAAAAggc/-8L0uTSSdVs/s1600/rpki4mic.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="364" src="http://4.bp.blogspot.com/-1LXzNbrd_V8/Uad8dkyCmnI/AAAAAAAAggc/-8L0uTSSdVs/s640/rpki4mic.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pasos para la implementación de RPKI</td></tr>
</tbody></table>
<br />
<h4>
Ahora algunos detalles más, quizás un poco más técnicos.</h4>
<br />
Una dirección IP es a un equipo lo que una chapa patente a un auto. No se puede <i>circular</i> por la red sin tener una de ellas. <br />
<br />
Generalmente las organizaciones toman Direcciones IP prestadas de su proveedor de acceso a Internet, pero en los casos en donde las organizaciones tienen varios proveedores o bien prestan servicio (son ISP) deben <i>"comprar"</i> su propio rango de direcciones.<br />
<br />
Usted debe saber si su empresa paga un cargo anual por "Direcciones IP" a alguna de las entidades presentadas en el siguiente diagrama, de acuerdo a su localización geográfica.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://es.wikipedia.org/wiki/Registro_Regional_de_Internet" imageanchor="1" style="margin-left: auto; margin-right: auto;" target="_blank"><img alt="RIR's" border="0" src="http://4.bp.blogspot.com/-ll-Armpgq3E/UadqyOMNOeI/AAAAAAAAggE/uWa2MzCnpoQ/s1600/500px-Regional_Internet_Registries_world_map.svg.png" title="RIR's" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Registros Regionales de Internet según la zona geográfica</td></tr>
</tbody></table>
Para mi caso, dado que estoy en Argentina, los recursos se compran al RIR llamado <a href="http://www.lacnic.net/" target="_blank">LACNIC</a>.<br />
<br />
Ahora bien, una vez que a su empresa se le asignan los rangos de direcciones y se concreta el pago, su personal técnico debe <i>Publicar</i> o <i>Anunciar</i> al resto de los routers del mundo el rango de Direcciones IP propias, para que el resto del mundo pueda enviar información hacia las redes de su empresa.<br />
<br />
En este punto es donde debemos concentrarnos y lo remarco:<br />
<blockquote class="tr_bq">
<b>Alguien</b> (idealmente su personal técnico) debe anunciar al mundo la existencia del nuevo rango de Direcciones IP asignadas a su empresa usando un protocolo de ruteo llamado BGP.</blockquote>
<br />
La realidad es que por como están hechos el protocolo BGP, ya sea en forma malitencionada o no <b>ese</b> <b>alguien puede ser cualquier empresa o persona que cuente con la infraestructura necesaria.</b> Se necesita:<br />
<ul>
<li>Un router</li>
<li>Un enlace a internet</li>
<li>Una conexión de BGP con un proveedor de internet. </li>
</ul>
Estos tres requerimientos no son difíciles de conseguir y tampoco son costosos.<br />
<br />
Esto quiere decir que hoy en día cualquier entidad puede anunciar al mundo los rangos de otra entidad. Por ejemplo:<br />
<br />
Hace un par de años hubo un incidente en donde <i>por error</i> una Telco de Pakistán anunció al mundo las redes del portal Youtube. La consecuencia de esto es que gran parte de los millones de personas que pedían su navegador de entrar este sitio eran redirigidos hacia Pakistán<br />
<br />
Imaginemos un caso que hipotéticamente podría pasar:<br />
<ol>
<li>Un atacante crea un clon del sitio web de su banco de confianza.</li>
<li>Anuncia como propias las direcciones IP del banco.</li>
<li>Los clientes van a caer en los servidores del atacante cuando quieran entrar al sitio del banco.</li>
<li>El atacante roba las contraseñas del home banking de los clientes que caigan en esta trampa.</li>
<li>Luego, el atacante se hace rico al retirar dinero de esas cuentas.</li>
</ol>
Espero le sirva el documento. También puede <a href="http://blog.capaocho.net/2013/05/implementando-rpki-parte-1.html" target="_blank">leer la siguiente entrega de este tema</a>.<br />
<br />
Por favor no deje de hacer los comentarios que crea necesarios.<br />
<br />
Nos vemos en la próxima. Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-22804406915140201772013-05-21T14:26:00.000-03:002013-05-21T14:26:30.963-03:00Implementando RPKI (Parte 1)<br />
Volvemos a actualizar el blog con un tema por demás de actual: <b>R</b>esource <b>P</b>ublic <b>K</b>ey <b>I</b>nfrastructure.<br />
<br />
La idea básica del problema es que <i>si se dan algunas condiciones</i>, cualquier mortal con acceso a un router que usa BGP puede publicar las redes de cualquier otra institución como si fueran propias.<br />
<br />
Hubo muchos casos, quizás el más famoso sea el de la <a href="http://blog.s21sec.com/2008/08/vulnerabilidad-en-bgp-otra-vez-la-misma.html" target="_blank">Pakistan Telekom que <i>se robó</i> los prefijos de Youtube</a>, haciendo que gran parte del tráfico mundial de Youtube se dirija hasta esta telco (y se descarte).<br />
<br />
RPKI nos puede ayudar a que estos incidentes no vuelvan a ocurrir, y a vuelo de pájaro vamos a explicar como funciona:<br />
<ol>
<li>Cualquier entidad que posee rangos IP(v4|v6) genera ante la entidad que se los asignó un certificado y uno o más ROA <i>(Route Origination Autorization)</i>, que son básicamente una autorización en donde describe qué prefijos va a asignar y hacia qué sistema autónomo.</li>
<li>La información de los anuncios permitidos de cada sistema autónomo se procesa y queda disponible para que se pueda consultar desde cualquier lugar.</li>
<li>En nuestra empresa instalamos una <a href="http://www.ripe.net/lir-services/resource-management/certification/tools-and-resources" target="_blank">aplicación de RIPE NCC</a> que descarga via RSYNC las autorizaciones y arma un cache local con toda la información.</li>
<li>Nuestros routers se conectarán al cache mediante el protocolo <a href="http://tools.ietf.org/html/draft-ietf-sidr-rpki-rtr" target="_blank">RTR</a> y podrán obtener la información para chequear la validez de los prefijos de BGP que se reciben desde los upstream providers, generando rutas válidas <i>(coinciden con los ROA)</i>, inválidas<i> (no coinciden con los ROA)</i> o desconocidas <i>(no hay un ROA para esas rutas)</i>.</li>
</ol>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-lDWYlsAz5C8/UZuk4DIyzNI/AAAAAAAAgQ0/JbEzdpB9RTY/s1600/RPKI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://3.bp.blogspot.com/-lDWYlsAz5C8/UZuk4DIyzNI/AAAAAAAAgQ0/JbEzdpB9RTY/s640/RPKI.png" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
Esta información se puede aprovechar al momento de armar las políticas de ruteo <i>(route-maps)</i>, como por ejemplo: </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;">route-map internet-in permit 10</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;"> match rpki valid</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;"> set local-preference 200</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;">route-map internet-in permit 20</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;"> match rpki not-found</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;"> set local-preference 50</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;">route-map internet-in deny 30</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "Courier New",Courier,monospace;"> match rpki invalid</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
En el ejemplo anterior, damos mayor preferencia a las rutas válidas, menor preferencias a las indeterminadas y descartamos las inválidas.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
En la siguiente entrega vamos a mostrar la implementación de estos servicios.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Espero les haya servido.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com1tag:blogger.com,1999:blog-6352173326812712211.post-26045945746841600642011-07-01T11:12:00.000-03:002011-07-01T11:12:53.894-03:00Script PERL para consultar prefijos recibidos desde un peer de BGPHace un tiempo que estoy buscando de armar un panel de monitoreo personalizado, y como toda mañana de viernes me puse a despuntar el vicio de programar un rato en PERL.<br />
<br />
Estuve jugando con el módulo Net::Telnet y al final terminé haciendo un script que se conecta contra un router para extraer información.<br />
<br />
No es mi intención reinventar la rueda, sencillamente lo comparto para ahorrarle tiempo a alguien que pueda estar necesitando esto.<br />
<br />
Seguramente existen miles de scripts mucho más completos que manejan más cosas, pero en este caso es sencillamente por una satisfacción personal de programar un rato.<br />
<br />
<h2>tnet.pl</h2><pre>#!/usr//bin/perl
#Hecho por Ariel Weher @20110701
use Net::Telnet ();
#En este caso los datos del host, usuario y password
#los dejo grabados en el script.
#Verificar que los permisos del archivo no den lectura a todos.
#
my $username = 'usuario';
my $password = 'supersecreto';
my $host = '192.168.0.1';
# Me conecto y ajusto algunos parámetros
my $t = new Net::Telnet (Timeout => 15, Prompt => '/[%#>]$/');
$t->open($host);
$t->login($username, $password);
$t->max_buffer_length("50000000");
$t->timeout("120");
# Con esto digo que la consola haga scroll sin pedir
# de apretar la barra espaciadora para continuar...
$t->cmd("terminal len 0");
# Ahora mando el comando que quiero capturar:
my @lineas = $t->cmd("show ip route");
# Desconecto
$t->close;
# Muestro los resultados
print "\n";
print @lineas;
print "\n";
# Salimos
exit 0;
</pre><br />
Ahora la aplicación práctica:<br />
<br />
Modifiqué el script para que me de una salida que informe la cantidad de prefijos recibidos por un neighbor de BGP.<br />
<br />
Este script lo corre MRTG y luego dibuja una bonita gráfica donde nos quedan las fluctuaciones de las cantidades de rutas recibidas.<br />
<br />
<h2>rutasrecibidas.pl</h2><pre>#!/usr//bin/perl
# Hecho por Ariel Weher @20110701
# Uso: rutasrecibidas.pl {ip_del_neighbor_bgp}
#
# No olvidar darle permisos adecuados: (chmod 750 rutasrecibidas.pl)
use Net::Telnet ();
my $username = 'usuariodelrouterqueusa-AAA-new-model-o-login-local';
my $password = 'super-password_secreto';
my $host = '192.168.0.1';
#Chequeo si me pasaron una IP como argumento...
if ($ARGV[0] =~ /^\s?(0?[0-9]?[0-9]|1[0-9][0-9]|2([0-4][0-9]|5[0-5]))\.(0?[0-9]?[0-9]|1[0-9][0-9]|2([0-4][0-9]|5[0-5]))\.(0?[0-9]?[0-9]|1[0-9][0-9]|2([0-4][0-9]|5[0-5]))\.(0?[0-9]?[0-9]|1[0-9][0-9]|2([0-4][0-9]|5[0-5]))\s?$/){
$neighbor = $ARGV[0];
chomp $neighbor;
} else {
# MRTG espera dos ceros como resultado de un query inválido
die "0\n0";
}
$t = new Net::Telnet (Timeout => 15, Prompt => '/[%#>]$/');
$t->open($host);
$t->login($username, $password);
$t->max_buffer_length("50000000");
$t->timeout("120");
$t->cmd("terminal len 0");
my @linea = $t->cmd("show ip bgp sum | include $neighbor");
my $dato = $linea[0];
my @columnas = split(" ", $dato);
$salida = $columnas[9];
chomp $salida;
if ($salida =~ /\d\d*/){
print "$salida\n$salida";
} else {
print "0\n0";
}
exit 0;
</pre><br />
Ahora configuramos una entrada en nuestro mrtg.cfg:<br />
<br />
<pre>Title[bgp-pref-192-168-0-1]: Rutas recibidas por BGP
PageTop[bgp-pref-192-168-0-1]: Cantidad de prefijos recibidos por BGP desde 192.168.0.1
Target[bgp-pref-192-168-0-1]: `/path/al/script/rutasrecibidas.pl 192.168.0.1`
MaxBytes[bgp-pref-192-168-0-1]: 500000
ShortLegend[bgp-pref-192-168-0-1]: Prefijos IP
YLegend[bgp-pref-192-168-0-1]: Prefijos IP
Options[bgp-pref-192-168-0-1]: integer, nopercent, gauge, noinfo
kMG[bgp-pref-192-168-0-1]: ,,
</pre><br />
Les dejo un ejemplo de como MRTG me dibuja los datos extraídos del router.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-XPeh__yFFDk/Tg3VoLah3eI/AAAAAAAAEoc/OVD06ReQAHM/s1600/pref.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-XPeh__yFFDk/Tg3VoLah3eI/AAAAAAAAEoc/OVD06ReQAHM/s1600/pref.png" /></a></div><br />
<br />
Espero que les sirva este sencillo ejemplo. Seguro hay algunos mejores pero a mí me gustan las cosas hechas en casa.<br />
<br />
Saludos.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com1tag:blogger.com,1999:blog-6352173326812712211.post-7054208982979944932011-06-30T09:15:00.001-03:002011-06-30T09:16:13.828-03:00Cisco y VMWAREYa sabemos que Cisco y VMWare tienen muchos negocios en común, pero... <br />
<br />
¿Es una loca idea mía o los websites de Cisco y VMWare son iguales?<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-X1Pwr5X9oPw/TgxpBI4byjI/AAAAAAAAEoM/VtzzJm7Z2tM/s1600/cisco.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="http://1.bp.blogspot.com/-X1Pwr5X9oPw/TgxpBI4byjI/AAAAAAAAEoM/VtzzJm7Z2tM/s320/cisco.png" width="320" /></a></div><br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-QVER7g_8elY/TgxoOh0SjpI/AAAAAAAAEoI/z-rYX4oVOWo/s1600/vmware.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="258" src="http://4.bp.blogspot.com/-QVER7g_8elY/TgxoOh0SjpI/AAAAAAAAEoI/z-rYX4oVOWo/s320/vmware.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Click para ampliar</td></tr>
</tbody></table>Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com4tag:blogger.com,1999:blog-6352173326812712211.post-82771275708355525192011-06-28T08:50:00.081-03:002011-06-28T09:54:03.350-03:00El misterioso caso de EIGRP y la MTUMe pasa constantemente que cuando estoy leyendo determinadas publicaciones de Cisco Press (incluso del mismo autor) aparecen contradicciones entre diversos enunciados.<br />
<br />
Quizás la más llamativa sea la eterna pregunta de si el protocolo de ruteo EIGRP utiliza o no la MTU de las interfaces para calcular las métricas.<br />
<a name='more'></a><br />
<h2>Veamos los materiales de referencia que se contradicen:</h2><br />
<h3 class="h3 book_title" style="font-weight: normal;"><span style="font-size: small;"><b>Libro: </b>CCNA ICND2 Official Exam Certification Guide (CCNA Exams 640-816 and 640-802), Second Edition</span><span style="font-size: small;"><b class="strong"> <br />
Autor: </b><a href="http://www.ciscopress.com/authors/author_bio.aspx?ISBN=9781587201813" target="_blank">Wendell Odom - CCIE No. 1624</a></span><span style="font-size: small;"><b class="strong"><br />
Editorial: </b>Cisco Press</span><span style="font-size: small;"><b class="strong"><br />
Fecha de publicación: </b>30 de Agosto del 2007</span><span style="font-size: small;"><b class="strong"><br />
ISBN-10: </b>1-58720-181-X</span><span style="font-size: small;"><b class="strong"><br />
ISBN-13: </b>978-1-58720-181-3</span></h3><div class="p data"><span style="font-size: small;">Capturo un comentario del texto:</span></div><div class="p data"><span style="font-size: small;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-ZFz0d6_kaoo/Tgm9kPk7xYI/AAAAAAAAEnk/-HkEJWOrH9Y/s1600/wndellccna.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="146" src="http://2.bp.blogspot.com/-ZFz0d6_kaoo/Tgm9kPk7xYI/AAAAAAAAEnk/-HkEJWOrH9Y/s400/wndellccna.png" width="400" /></a></div><div class="p data"><h2>Traduzco:</h2></div><div class="p data"><span style="font-size: small;"></span></div><blockquote><div class="p data"><span style="font-size: small;">"... <b>Nota:</b> Documentos y libros antiguos solían expresar que EIGRP, y su predecesor, IGRP, ademas podrían usar la MTU como parte de la métrica, pero la MTU no puede ser usada y nunca fue considerada como parte del cálculo. "</span></div></blockquote><div class="p data"><span style="font-size: small;">Vamos a otro...</span></div><h3 class="h3 book_title" style="font-family: inherit; font-weight: normal;"><span style="font-size: small;"><b>Libro: </b>CCIE Routing and Switching Exam Certification Guide, Fourth Edition</span><span style="font-size: small;"><b class="strong"><br />
Autores: </b><a href="http://www.ciscopress.com/authors/author_bio.aspx?ISBN=9781587059803" target="_blank">Wendell Odom - CCIE No. 1624; Rus Healy - CCIE No. 15025; Denise Donohue - CCIE No. 9566</a></span><span style="font-size: small;"><b class="strong"><br />
Editorial: </b>Cisco Press</span><span style="font-size: small;"><b class="strong"><br />
Fecha de Publicación: </b>08 de Diciembre del 2009</span><span style="font-size: small;"><b class="strong"><br />
ISBN-10: </b>1-58705-980-0</span><span style="font-size: small;"><b class="strong"><br />
ISBN-13: </b>978-1-58705-980-3</span><span style="font-size: small;"><b class="strong"><br />
</b></span><span style="font-size: small;"></span></h3><div class="p data"><span style="font-size: small;"></span></div><div class="p data"><span style="font-size: small;">Capturo el comentario correspondiente...</span></div><div class="p data"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-W5HqdmHNm7g/Tgm_bIRDctI/AAAAAAAAEno/r03TXTxI7qw/s1600/wendellccie.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="120" src="http://4.bp.blogspot.com/-W5HqdmHNm7g/Tgm_bIRDctI/AAAAAAAAEno/r03TXTxI7qw/s400/wendellccie.png" width="400" /></a></div><div class="p data"><h2>Traduzco:</h2><blockquote><div class="p data"><span style="font-size: small;">"... Seteando los valores K correctos en el comando <b>metric weights</b>, EIGRP puede además considerar la carga de los enlaces, la confiabilidad y la MTU ..."</span></div></blockquote><span style="font-size: small;">Como le estuve dando muchas vueltas a este tema, voy a armar un lab con equipos para sacarme la duda...</span><br />
<span style="font-size: small;"><br />
</span><br />
<h1>Topología del lab:</h1><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-b029j4GaUeM/TgnDNqdUAFI/AAAAAAAAEns/4uzazr5V22w/s1600/lab-eigrp-mtu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-b029j4GaUeM/TgnDNqdUAFI/AAAAAAAAEns/4uzazr5V22w/s1600/lab-eigrp-mtu.png" /></a></div><span style="font-size: small;"></span><br />
<span style="font-size: small;">En este simple ejemplo vamos a publicar dos redes con enlaces intermedios de diferentes MTU y veremos como R1 calcula las métricas de cada una.</span><br />
<span style="font-size: small;"><br />
</span><br />
<h2>Configuraciones Iniciales:</h2><h3>R1:</h3><pre>hostname R1
!
interface FastEthernet0/0
description Enlace a R2
ip address 192.168.0.1 255.255.255.252
bandwidth 10000
!
router eigrp 8
metric weights 0 1 1 1 1 1
network 192.168.0.0
no auto-summary
eigrp router-id 1.1.1.1
!
</pre><h3>R2:</h3><pre>hostname R2
!
interface FastEthernet0/0
description Enlace a R1
ip address 192.168.0.2 255.255.255.252
bandwidth 10000
!
interface FastEthernet0/1
description Enlace a R3
ip address 192.168.1.1 255.255.255.252
bandwidth 10000
ip mtu 1000
!
interface FastEthernet0/2
description Enlace a R4
ip address 192.168.1.5 255.255.255.252
bandwidth 10000
!
router eigrp 8
metric weights 0 1 1 1 1 1
network 192.168.0.0
network 192.168.1.0
no auto-summary
eigrp router-id 2.2.2.2
!
</pre><h3>R3:</h3><pre>hostname R3
!
interface Loopback3
ip address 192.168.3.1 255.255.255.0
ip mtu 1000
!
interface FastEthernet0/0
description Enlace a R2
ip address 192.168.1.2 255.255.255.252
bandwidth 10000
ip mtu 1000
!
router eigrp 8
metric weights 0 1 1 1 1 1
network 192.168.1.0
network 192.168.3.0
no auto-summary
eigrp router-id 3.3.3.3
!
</pre><h3>R4:</h3><pre>hostname R4
!
interface Loopback3
ip address 192.168.4.1 255.255.255.0
!
interface FastEthernet0/0
description Enlace a R2
ip address 192.168.1.6 255.255.255.252
bandwidth 10000
!
router eigrp 8
metric weights 0 1 1 1 1 1
network 192.168.1.0
network 192.168.4.0
no auto-summary
eigrp router-id 4.4.4.4
!
</pre><span style="font-size: small;">Ahora vamos a analizar la tabla de ruteo de R1:</span><br />
<pre>R1#<b><i>show ip route eigrp </i></b>
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, + - replicated route
Gateway of last resort is not set
192.168.1.0/30 is subnetted, 2 subnets
D 192.168.1.0 [90/1203] via 192.168.0.2, 00:00:15, FastEthernet0/0
D 192.168.1.4 [90/1203] via 192.168.0.2, 00:00:15, FastEthernet0/0
D 192.168.3.0/24 <b style="color: red;">[90/1703]</b> via 192.168.0.2, 00:00:15, FastEthernet0/0
D 192.168.4.0/24 <b style="color: red;">[90/1703]</b> via 192.168.0.2, 00:00:15, FastEthernet0/0
</pre><span style="font-size: small;">Hasta ahora las rutas tienen las mismas métricas a pesar del cambio de MTU, vamos a ver las entradas de cada red en la tabla de topología:</span><br />
<pre>R1#<b><i>sh ip eigrp topology 192.168.3.0</i></b>
EIGRP-IPv4 Topology Entry for AS(8)/ID(1.1.1.1) for 192.168.3.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 1703
Descriptor Blocks:
192.168.0.2 (FastEthernet0/0), from 192.168.0.2, Send flag is 0x0
Composite metric is (1703/1603), route is Internal
Vector metric:
Minimum bandwidth is 10000 Kbit
Total delay is 7000 microseconds
Reliability is 255/255
Load is 1/255
<b><span style="color: red;">Minimum MTU is 1000</span></b>
Hop count is 2
Originating router is 3.3.3.3
R1#<i><b>show ip eigrp topology 192.168.4.0</b></i>
EIGRP-IPv4 Topology Entry for AS(8)/ID(1.1.1.1) for 192.168.4.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 1703
Descriptor Blocks:
192.168.0.2 (FastEthernet0/0), from 192.168.0.2, Send flag is 0x0
Composite metric is (1703/1603), route is Internal
Vector metric:
Minimum bandwidth is 10000 Kbit
Total delay is 7000 microseconds
Reliability is 255/255
Load is 1/255
<b><span style="color: red;">Minimum MTU is 1500</span></b>
Hop count is 2
Originating router is 4.4.4.4
</pre><br />
<span style="font-size: small;">Evidentemente y a pesar que con el metric weights obligamos a que EIGRP calcule todas las variables posibles, el MTU de los enlaces no interviene en el cálculo de la métrica.</span><br />
<br />
Nos vemos en la próxima!</div>Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com2tag:blogger.com,1999:blog-6352173326812712211.post-30760204506004197422010-12-28T09:09:00.000-03:002010-12-28T09:09:04.914-03:00La canción del Spanning TreeHay gente que quiere enseñar con métodos menos tradicionales...<br />
<br />
<object height="385" width="480"><param name="movie" value="http://www.youtube.com/v/iE_AbM8ZykI?fs=1&hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/iE_AbM8ZykI?fs=1&hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br />
<br />
Antes de que me pregunten, no es una broma del día del inocente...<br />
<br />
Saludos!Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com4tag:blogger.com,1999:blog-6352173326812712211.post-20707051941086920312010-12-10T10:11:00.000-03:002010-12-10T10:11:22.849-03:00Router Cisco como Servidor TFTPMuchas veces necesitamos transferir algunos archivos entre routers, ya se una config o bien algún archivo binario.<br />
<br />
Los libros nos enseñaron que necesitamos un servidor TFTP externo, copiar los archivos a ese servidor y luego bajarlos desde el cliente.<br />
<br />
En casos de urgencia debemos perder bastante tiempo buscando algún software, instalándolo y otorgando permisos, y esta pequeña receta nos puede ser de utilidad en esos casos de apuro.<br />
<br />
IOS puede configurarse como servidor básico de TFTP para la copia eventual de algunos archivos. Veamos como:<br />
<br />
<pre>! Permitir el acceso al archivo config.txt guardado en el dispositivo disk0.
tftp-server disk0:config.txt
! Permitir el acceso a la config de IOS, pero usando un
! nombre más corto (config.txt) como alias.
tftp-server disk0:c7200-tftpserver-config-201012101000 alias config.txt
! Permitir la descarga del archivo de sistema operativo con un nombre
! corto llamado ios.bin pero que sea accesible solo desde los hosts
! permitidos en el access-list estándar número 69.
tftp-server disk0:c7200-adventerprisek9-mz.124-24.T.bin alias ios.bin 69
</pre><br />
Probemos...<br />
<br />
<pre>Client#copy tftp://192.168.0.1/config.txt flash
Destination filename [config.txt]?
Accessing tftp://192.168.0.1/config.txt...
Erase flash: before copying? [confirm]n
Loading config.txt from 192.168.0.1 (via FastEthernet0): !
[OK - 1282 bytes]
</pre><br />
Espero que les sirva.<br />
<br />
Saludos!Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com4tag:blogger.com,1999:blog-6352173326812712211.post-49042514120270431852010-12-07T07:43:00.000-03:002010-12-07T07:43:29.578-03:00Novedades para el 2011Sé que hace rato que no posteo nada, pero es principalmente por el inevitable caos al que siempre nos enfrentamos durante los últimos meses del año.<br />
<br />
Sin embargo, he estado preparando muchas cosas en conjunto con otra gente y esperamos lanzarlas pronto.<br />
<br />
Estas novedades comprenden varias cosas que muchos de ustedes me están pidiendo desde hace rato y se hacen desear dado que hay que implementarlas en el tiempo libre.<br />
<br />
Si mientras tanto tengo alguna idea interesante que exponer, obviamente lo haré y seguiré trabajando en estas sorpresas para principios del mes que viene.<br />
<br />
Saludos para todos.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com1tag:blogger.com,1999:blog-6352173326812712211.post-74235031508307950742010-08-19T11:52:00.000-03:002010-08-19T11:52:43.207-03:00Captura de tráfico en un Switch CiscoBien sabemos que cuando un switch tiene completa las tablas de direcciones MAC la conmutación de unicast se hace puerto a puerto entre el origen y el destino de la información, esto permite que las comunicaciones sean extremadamente rápidas y que el ancho de banda sea dedicado entre los dos equipos intervinientes.<br />
<br />
Esta es una de las ventajas que poseen los switches con respecto a los hubs. Pero sin embargo y casi sin querer logramos otro efecto positivo para la red.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_iKl7WuQhzv0/TG03uWSygcI/AAAAAAAAB-o/yc2floaZUOk/s1600/swpap.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_iKl7WuQhzv0/TG03uWSygcI/AAAAAAAAB-o/yc2floaZUOk/s320/swpap.png" /></a></div><br />
Dado que las comunicaciones son punto a punto, en teoría no hay posibilidad de que un equipo pueda recibir tramas que no estén destinadas a el, con el consiguiente beneficio en la seguridad.<br />
<br />
<br />
En este caso si conectamos un dispositivo destinado a analizar los paquetes que se envían los equipos, este nunca recibirá tráfico salvo que esté explícitamente destinado a su dirección MAC.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_iKl7WuQhzv0/TG05dDs6wdI/AAAAAAAAB-w/96PY9zdSh_0/s1600/swpap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_iKl7WuQhzv0/TG05dDs6wdI/AAAAAAAAB-w/96PY9zdSh_0/s320/swpap2.png" /></a></div>Para solucionar este inconveniente, los switches implementan una tecnología de <i>mirroring</i> o <i>espejado</i>, en donde la información que se trasmite hacia/desde los equipos que se quieren analizar se conmuta normalmente pero también se envía una copia al puerto donde se encuentra enchufado el equipo de análisis.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_iKl7WuQhzv0/TG05j33fgMI/AAAAAAAAB-4/sl4CQ3phOkM/s1600/swpap3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_iKl7WuQhzv0/TG05j33fgMI/AAAAAAAAB-4/sl4CQ3phOkM/s320/swpap3.png" /></a></div><br />
Cuando hablamos de Switches Cisco, esta tecnología se llama SPAN (SwitchPort ANalyzer) o bien como <i>Monitor Session</i>, y puede dirigir el tráfico que se origina en un puerto físico o en una VLAN hacia un puerto destino donde se encuentra conectado -por ejemplo- un IDS.<br />
<br />
Algunas consideraciones para tener en cuenta:<br />
<ul><li>El puerto de destino no soporta determinados protocolos de capa 2 (DTP, VTP, CDP, STP).</li>
<li>Tampoco soporta determinados features de seguridad (802.1X, pVLAN).</li>
<li>El ancho de banda del puerto de destino debe soportar la sumatoria de la cantidad de datos que se generan desde los puertos de origen. No deberíamos capturar el tráfico de 5 puertos de 100 mbps e intentar copiarlos a un puerto de destino de 100 mbps que se satura rápidamente.</li>
<li>Un puerto origen no puede ser a la vez un puerto de destino ni viceversa.</li>
<li>Un puerto de destino deja de trabajar como puerto de switch, y solo transmite información de los puertos origen.</li>
<li>La sesión de monitoreo solo se activa si los puertos en cuestión están operativos (al menos uno de origen y el de destino).</li>
</ul><br />
Vamos a ver un ejemplo de configuración en donde capturaremos el tráfico entrante y saliente del port 5, el saliente del 6 y el entrante del 7. Todo ese tráfico se replicará en el IDS que tenemos instalado en el puerto Gigabit 0/1. Además establecemos otra sesión de monitoreo para el tráfico que se cursa por la vlan 405.<br />
<br />
<pre>Switch(config)#monitor session 1 source interface FastEthernet 0/5
Switch(config)#monitor session 1 source interface FastEthernet 0/6 tx
Switch(config)#monitor session 1 source interface FastEthernet 0/7 rx
Switch(config)#monitor session 1 destination interface GigabitEthernet 0/1</pre><pre>Switch(config)#monitor session 2 source vlan 405
Switch(config)#monitor session 2 destination interface GigabitEthernet 0/2 </pre><br />
<br />
En la próxima veremos como se hace para monitorear un puerto de un switch remoto, en donde el analizador no está directamente conectado.<br />
<br />
Saludos.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com8tag:blogger.com,1999:blog-6352173326812712211.post-21810469239460561322010-08-11T10:14:00.001-03:002010-08-11T10:19:53.687-03:00Usar un router como servidor DNSEsto es una cosa bastante extraña, pero nos puede ayudar en muchos laboratorios y prácticas donde necesitamos jugar con la resolución de nombre a IP y viceversa.<br />
<br />
Yo no recomiendo usar esto en un entorno de producción dado que varias fallas <a href="http://tools.cisco.com/security/center/viewAlert.x?alertId=16183">se han publicado</a> alrededor de los servicios de DNS y el router no debería proveerlos salvo en determinados escenarios o bien por razones de fuerza mayor.<br />
<br />
La configuración es muy sencilla, y vamos a crear el dominio capaocho.net, donde tenemos el router servidor DNS con la ip 172.19.25.229 y el cliente con la 172.19.25.230.<br />
<br />
Habilitamos el servicio y declaramos el registro SOA del dominio:<br />
<pre>ip dns server
ip dns primary capaocho.net soa dns-server.capaocho.net
info@capaocho.net 86400 3600 864000 86400
</pre><br />
Ahora configuramos los RR<br />
<br />
<pre>! El DNS
ip host capaocho.net ns dns-server.capaocho.net.
! Los servidores de mails con sus prioridades
ip host capaocho.net mx 10 mx1.capaocho.net.
ip host capaocho.net mx 20 mx2.capaocho.net.
! La ip del router/servidor DNS
ip host dns-server.capaocho.net 172.19.25.229
! Los registros A de los servidores de mails
ip host mx1.capaocho.net 192.0.2.10
ip host mx2.capaocho.net 192.0.2.11
</pre><br />
Para usar el servicio de cliente de dns en un router usamos:<br />
<br />
<pre>ip name-server 172.19.25.229
ip domain-lookup
</pre><br />
Probamos...<br />
<br />
<pre>DNS-Client#<b>ping dns-server.capaocho.net</b>
<b>Translating "dns-server.capaocho.net"</b>...<b>domain server (172.19.25.229) [OK]</b>
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to <b>172.19.25.229</b>, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
DNS-Client#<b>ping mx1.capaocho.net</b>
<b>Translating "mx1.capaocho.net"...domain server (172.19.25.229) [OK]</b>
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to <b>192.0.2.10</b>, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/12 ms</pre><br />
Y en el server vemos las estadísticas:<br />
<br />
<pre>DNS-Server#show ip dns statistics
DNS requests received = 4 ( 4 + 0 )
DNS requests dropped = 0 ( 0 + 0 )
DNS responses replied = 4 ( 4 + 0 )
</pre><br />
Espero que les sea de utilidad para sus prácticas.<br />
<br />
Saludos!Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com3tag:blogger.com,1999:blog-6352173326812712211.post-3233425200956763332010-07-14T11:32:00.001-03:002010-07-14T11:33:42.168-03:00Por una licencia de IOS con fines educativos...Como muchos sabemos, Cisco lanzó hace un tiempo la versión 15 de su sistema operativo IOS.<br />
<br />
Aunque algunas versiones se pueden correr en un 7200, las nuevas solo van en la plataforma ISR que <b>no se puede emular</b> con Dynamips o GNS3.<br />
<br />
Entonces nuestro amigo <a href="http://www.ciscopress.com/authors/bio.asp?a=4EAE296B-D6F0-44A3-869C-42126EFEBCF3">Wendel Odom</a> (que escribe los libros para certificar CCIE) tuvo la idea de hacer una petición para que exista una versión académica de dicho software, y en conjunto con <a href="http://etherealmind.com/who-am-i/">Greg Ferro</a> (autor de uno de los mejores <a href="http://etherealmind.com/">blogs</a> de networking existentes) habilitaron una interfase para firmar el petitorio.<br />
<br />
<a href="http://etherealmind.com/rip-dynamips-well-miss-you/">Esta noticia</a> está apareciendo por todos lados y me tomé el trabajo de traducirla en parte para que los estudiantes de habla hispana se enteren del asunto:<br />
<br />
<blockquote><blockquote><i>A pesar que esta semana marcó el principio del fin para este viejo amigo, con el anuncio del hardware soportado para el IOS 15.1, vemos que únicamente los routers ISR e ISR2 están en la lista.</i> </blockquote></blockquote><blockquote><blockquote><i>Por razones de arquitectura, nunca va a ser posible emular estas plataformas en dynamips, entonces hemos alcanzado un punto donde el nuevo software IOS no va a ser usable. Nosotros podemos ejecutar la versión 12.4 en el rango existente de plataformas, 15.0 en la 7200 y nada más.</i> </blockquote></blockquote><blockquote><blockquote><i>Hoy en día esto no nos perjudica en nada, salvo que quieras probar la nueva característica de música en espera de la 15.1, pero según pasen los meses, a medida que todo se mueva a la 15.2 y 15.3, entonces el software que vamos a poder ejecutar en dynamips se volverá obsoleto para un montón de funciones.</i> </blockquote></blockquote><blockquote><blockquote><i>Los temarios de los exámenes cambiarán, y las características necesarias para el estudio solo existirán en las nuevas versiones, actualizaremos las redes de testing y de producción, pero de a poco dynamips se va a transformar en algo del pasado.</i> </blockquote></blockquote><blockquote><blockquote><i>Para aquellos de nosotros que hemos invertido mucho en nuestro propio entrenamiento y equipamiento de laboratorio, no habrá una gran diferencia. El agregar un nuevo par de 1841′s de segunda mano no va a costar una fortuna, a pesar que se va a usar mucha más energía y enfriamiento lo que se necesita para una sola caja dynamips.</i> </blockquote></blockquote><blockquote><blockquote><i>Pero el estudiante ordinario de CCNA o CCNP va a tener mucho que comprar, necesitará mucho espacio físico, y deberá soportar altos gastos en energía. Quizás puedan usar labs remotos, pero esto no dan la misma flexibilidad que un laboratorio propio.</i></blockquote></blockquote><br />
<a href="http://etherealmind.com/petition/">Aquí</a> está la página para firmar<br />
<br />
SaludosAriel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-62602754143005814482010-05-26T00:09:00.005-03:002010-05-26T00:11:57.979-03:00Cambiar secuencia de escape en el CLI de IOS¿Cuántas veces nos pasó que no podemos cortar un traceroute?<br />
<br />
Es común que enseñemos en la academia que la secuencia de escape en IOS es CTRL+SHIFT+6 y que a veces también es necesario tocar la letra X. Esto es todo un problema, sobre todo para los recién iniciados.<br />
<br />
Los usuarios generalmente están acostumbrados a que la secuencia de escape sea CTRL+C, por lo que veremos como se cambia en el IOS:<br />
<br />
Esta receta funciona tanto para las LINE VTY como para la LINE CON 0 y LINE AUX:<br />
<br />
<pre>Router(config)# line vty 0 15
Router(config-line)# escape-character 3
Router(config-line)# end
Router#
</pre><br />
La explicación de esto es que el caracter ASCII 3 representa el CONTROL+C.<br />
<br />
Nos vemos en el próximo TIP.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-84959694729762573352010-05-06T13:57:00.001-03:002010-05-06T13:57:39.279-03:00El lab del CCIEWebeando por ahí encontré un interesante video donde nos muestran el lab donde se rinde el exámen práctico de las certificaciones CCIE.<br />
<br />
Lamentablemente el audio está en inglés pero se puede entender bastante bien porque hablan en forma bastante pausada.<br />
<br />
Que lo disfruten.<br />
<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/y-WXl68EJl4&hl=en_US&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/y-WXl68EJl4&hl=en_US&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-90969518096979460212010-05-06T12:16:00.002-03:002010-05-06T12:28:13.110-03:00Cálculo del delay de propagación de un BPDUDurante mucho tiempo estuve buscando esta fórmula.<br />
<br />
Un BPDU <i>(Bridge Protocol Data Unit)</i> es un mensaje que se transmite entre switches que hablan el protocolo STP <i>(Spanning Tree Protocol)</i>.<br />
<br />
A pesar de que existe más de un tipo de BPDU, cuando nombramos este término generalmente nos referimos al <i>Configuration BPDU</i> que genera un <i>Root Bridge</i> y es retransmitido por todos los switches aguas abajo.<br />
<br />
Delay de propagación es el tiempo que tarda una BPDU en viajar de extremo a extremo en la red de switches.<br />
<br />
Según el estándar tradicional STP <i>802.1D</i><br />
<ul><li>Las Configuration BPDU se generan en el Root Bridge cada 2 segundos <i>(HelloTime)</i>.</li>
<li>Cada <i>Non-Root Bridge</i> puede tardar hasta 1 segundo en propagar la <i>Configuration BPDU</i> <i>(Delay)</i> [no modificable].</li>
<li>La cantidad máxima de saltos de switches entre dos nodos cualesquiera de la red es 7 <i>(Diámetro)</i>.</li>
<li>Hasta 3 BPDU's se pueden perder en el camino de extremo a extremo <i>(Pérdidas)</i> [no modificable].</li>
</ul>La fórmula en cuestión es:<br />
<br />
((Pérdidas + 1) x HelloTime) + (Delay x (Diametro - 1))<br />
<br />
Entonces veamos un ejemplo con los valores del estándar tradicional:<br />
<pre>((3 + 1) x 2 seg.) + (1 seg. x (7 - 1))
4 x 2 seg. + 1 seg. x 6
8 + 6 = <b>14 segundos.</b>
</pre><br />
Nos vemos en la próxima.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-30254018557194581412010-05-04T10:46:00.001-03:002010-05-04T10:47:22.299-03:00Trabajando para el Team Cymru<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iKl7WuQhzv0/S-AkoV2NY7I/AAAAAAAABn8/TFDKFGJ-uLw/s1600/cymru_logo.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_iKl7WuQhzv0/S-AkoV2NY7I/AAAAAAAABn8/TFDKFGJ-uLw/s320/cymru_logo.gif" /></a></div><br />
Si.. ya se que ando perdido... pero por suerte estoy repleto de trabajo y dentro de los aportes a entidades sin fines de lucro que realizo que realizo habitualmente, la gente del <a href="http://www.team-cymru.org/">Team Cymru</a> me ha pedido ayuda con la documentación del <a href="http://www.team-cymru.org/Services/Bogons/">renovado servicio</a> de filtrado de prefijos bogon.<br />
<br />
La verdad que me llevó muchas horas, y como siempre, es una satisfacción muy grande poder contribuír a este tipo de causa. Por lo que en breve continuaremos sumando artículos al blog.<br />
<br />
SaludosAriel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-32159646344398098262010-04-09T14:39:00.000-03:002010-04-09T14:39:56.735-03:00Introducción al Multicast (Parte III)Según vimos en la <a href="http://www.capaocho.net/2009/12/introduccion-al-multicast-parte-i.html">primer</a> y la <a href="http://www.capaocho.net/2010/02/introduccion-al-multicast-parte-ii.html">segunda</a> parte de esta mini introducción al multicast, es posible transmitir información a un determinado grupo de equipos.<br />
<br />
También analizamos que el origen de los datos necesita enviar una única copia y luego los dispositivos intermedios (routers, switches) se encargarán de crear una copia en cada puerto donde se encuentre conectado un cliente que desea recibir el tráfico de multicast. Pero antes de llegar a esto debemos razonar lo siguiente:<br />
<br />
<ul><li>Sabemos que los switches ethernet no guardan direcciones MAC de multicast en su tabla CAM, dado que nunca se origina una trama con una dirección de multicast como dirección de origen. </li>
<li>También sabemos que si una trama con dirección de destino de capa dos no se encuentra aprendida (no existe en la tabla CAM), el switch hace <i>flooding</i> (copia la trama en todos los puertos de la VLAN salvo en el que la originó).</li>
</ul>Esto nos lleva a que según este modelo el tráfico de multicast pasa a ser muy parecido al tráfico de broadcast, la CAM tiene información y por ende los paquetes van hacia todos los hosts. Algo nos está faltando...<br />
<h2>IGMP</h2>El Internet Group Management Protocol definido en varias RFC <i><b>se utiliza entre los routers y los dispositivos directamente conectados a ellos</b></i> para preguntar o informar si se desea recibir (o dejar de recibir) el tráfico de un grupo determinado <i>(grupo = dirección multicast)</i>.<br />
<br />
Actualmente la versión 2 de IGMP es la más utilizada, a pesar de que ya existe una RFC para la versión 3.<br />
<br />
La idea básica de esto es que la PC envía mensajes IGMP al router para avisarle que se quiere unir a un grupo determinado. El router está todo el tiempo escuchando esas peticiones llamadas <i>IGMP joins/leaves</i>, y a la vez los routers realizan preguntas llamadas <i>IGMP queries</i> a intervalos regulares para confirmar que las PC desean seguir recibiendo el tráfico destinado al grupo.<br />
<br />
De acuerdo a los IGMP que el router reciba, podrá determinar si debe hacer forward de los paquetes de multicast en cada interfase. De la misma manera, los switches deben aprender cuáles de todos sus puertos tienen conectados los equipos interesados en recibir los datos destinados a cierto grupo.<br />
<br />
Dado que el protocolo IGMP no tiene como origen y destino los dispositivos de capa dos, los switches utilizan un feature llamado <i>IGMP Snooping</i>, que viene a ser como un <a href="http://es.wikipedia.org/wiki/Sniffer">sniffer</a> de paquetes de IGMP.<br />
<br />
Hablando mal y pronto, el switch está espiando todo el tiempo el tráfico en busca de diálogos del protocolo IGMP, cuando ve los paquetes de IGMP join va aprendiendo la topología de multicast y sabe en que puerto esta el router y los hosts que desean recibir los datos destinados a un grupo en particular.<br />
<br />
De igual manera, cuando encuentra un paquete de IGMP leave borra los datos aprendidos y deja de reenviar la información al puerto donde está el host que desea irse del grupo.<br />
<br />
En un entorno de equipos Cisco hay otra opción propietaria de esta marca que se llama CGMP (Cisco Group Management Protocol) que hace que los routers se comuniquen con los switches e informen los grupos y los equipos interesados en ellos para que estos switches modifiquen su tabla CAM.<br />
<br />
Esto es un panorama a vuelo de pájaro para que se pueda entender -al menos- un poco mejor el tema de multicast y su funcionamiento. Obviamente hay muchísimas cosas que decir de CGMP, IGMP y sus múltiples versiones pero la idea es no complicar tanto el post.<br />
<br />
Nos vemos en la próxima.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com1tag:blogger.com,1999:blog-6352173326812712211.post-17310422598041597862010-04-01T09:43:00.001-03:002010-04-01T09:47:37.297-03:00¡CCNP aprobado!<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_iKl7WuQhzv0/S7H5qLU7B8I/AAAAAAAABhg/01l3KDec3pU/s1600/CCNP_large.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_iKl7WuQhzv0/S7H5qLU7B8I/AAAAAAAABhg/01l3KDec3pU/s320/CCNP_large.jpg" /></a></div>Ahora sí...<br />
<br />
Mucho más aliviado y con muchas ganas de volver a dedicarle tiempo al blog.<br />
<br />
Los dos <a href="http://www.capaocho.net/2010/02/ccnp-en-45-dias.html">exámenes</a> fueron complejos, pero sin duda alguna los más duros son los dos primeros (Routing - BSCI, Switching - BCMSN). Estoy convencido que el que pasa los dos primeros tiene el camino libre como para terminar la certificación con un poquito de esfuerzo.<br />
<br />
Ahora quiero dar una breve reseña de cada uno de los exámenes que componen la certificación:<br />
<br />
<h2>Examen de Routing: (BSCI 642-801)</h2>Es el más dificil de pasar (según mi punto de vista). Sin embargo hay muchas herramientas disponibles que nos permiten hacer muuuuchas prácticas, que son muy necesarias. Lo mejor que se puede hacer es usar dynamips durante muchas horas.<br />
<br />
En mi caso decidí hacer una inversión y comprar una PC con capacidad suficiente como para manejar muchos routers virtuales.<br />
Esta tenía la siguiente configuración:<br />
<ul><li>Procesador Intel Core Quad 8200</li>
<li>8 GB de RAM</li>
<li>Mother INTEL </li>
<li>Disco rígido SATA</li>
<li>Aceleradora de video (ya que la mother no traía onboard)</li>
<li>Debian GNU/Linux de 64 bits.</li>
<li>Dynamips + Dynagen.</li>
</ul>Con esta configuración conseguí virtualizar 32 routers manteniendo la CPU ocupada en un 80% de promedio y aproximadamente 6 gb da RAM utilizados <br />
<br />
Como dije antes, con tremenda cantidad de recursos logré hacer todo tipo de labs, incluso algunos de CCIE.<br />
<br />
Eso mismo fue lo que me hizo poder pasar los simlets del examen de certificación, sobre todo uno que era muy complejo.<br />
<br />
Como material de referencia me basé en estos dos libros:<br />
<br />
CCNP BSCI Official Certification Guide, 4ª edición <br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_iKl7WuQhzv0/S7LIwgXTPPI/AAAAAAAABhs/NIM8ik-mbkI/s1600/bsci.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://2.bp.blogspot.com/_iKl7WuQhzv0/S7LIwgXTPPI/AAAAAAAABhs/NIM8ik-mbkI/s200/bsci.jpg" width="158" /></a></div><br />
CCIE Routing and Switching Exam Certification Guide, 3ª edición<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/S7LJBNnPdOI/AAAAAAAABh0/HlJ-F15n7Lw/s1600/ccie3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/S7LJBNnPdOI/AAAAAAAABh0/HlJ-F15n7Lw/s200/ccie3.jpg" width="154" /></a></div>El libro de la certificación CCIE puede parecer un poco extremo, pero es el único que trata los temas a fondo y te da un panorama completo de muchas cosas. En mi caso el libro de certificación BSCI no habla casi nada de multicast, por lo que recurrí al de CCIE para que me quede totalmente claro. De paso agregué conocimientos extra que nunca vienen mal.<br />
<br />
Por otro lado, yo hice el curso de BSCI v3.0 en una academia de Cisco, pero no me di cuenta de utilizar los materiales de ese curso para estudiar. El factor determinante fue la práctica.<br />
<h2>Examen de Switching: (BCMSN 642-812)</h2>Esta es la segunda piedra en el zapato, pero dado que generalmente el entorno de switching es el más aplicado en la mayoría de las redes que administramos, se saltea gran parte de los temas fundamentales como son:<br />
<ul><li>VLAN</li>
<li>Trunking </li>
<li>VTP</li>
<li>Spanning Tree </li>
</ul>Queda estudiar seguridad de capa 2, etherchannel, protocolos de redundancia de primer hop y sobre todo la parte de wireless y wireless controllers.<br />
<br />
Para practicar compré algunos switches usados que vendí facilmente luego de rendir.<br />
<br />
Como material use la guía de estudio del curso oficial BCMSN que hice en Buenos Aires y la guía oficial de certificación.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_iKl7WuQhzv0/S7SEkJhgKdI/AAAAAAAABiU/GvBnNUSQ8v8/s1600/bcmsn.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://3.bp.blogspot.com/_iKl7WuQhzv0/S7SEkJhgKdI/AAAAAAAABiU/GvBnNUSQ8v8/s200/bcmsn.jpg" width="155" /></a></div>Al momento de ir al examen me di cuenta que el contenido de las preguntas y los labs estaba sacado de la guía del curso oficial, y poco se parecían a los del libro.<br />
<br />
Además, en el site de certificaciones de Cisco decía que ellos recomendaban hacer estos cursos para tomar el examen, y efectivamente era lo que yo había comprobado.<br />
<h2>Examen de Seguridad: (ISCW 642-825)</h2><a href="http://www.capaocho.net/2010/02/ccnp-en-45-dias.html">A esta altura</a> tenía un mes y medio para rendir los dos exámenes que me quedaban. Pero por suerte en el ISCW me iba a encontrar con muchos temas que son bien conocidos para mi, e incluso he escrito posts sobre varios de ellos:<br />
<ul><li>ADSL</li>
<li>DOCSIS</li>
<li>VPN's</li>
<li>MPLS/VPLS</li>
<li>Hardening de equipos</li>
<li>IOS Firewall</li>
<li>IPS/IDS</li>
<li>Implementación de SSH, Syslog, NTP entre otros.</li>
</ul>Llama la atención el hecho de que el tema MPLS esté incluído en el ISCW, pero en realidad lo pusieron para introducir el tema, ya que se habla solo del <i>"Frame Mode MPLS"</i> y a vuelo de pájaro describe como se arman <i>"VPN's de capa dos y medio"</i> usando VPLS y sus requerimientos en cuanto a Multiprotocol BGP.<br />
<br />
Como material de lectura use la guía de estudio del curo ISCW 1.0, y para despejar algunas dudas ocasionales usé la guía de certificación.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_iKl7WuQhzv0/S7SJygF6tII/AAAAAAAABic/1uvw-0DzUQM/s1600/iscw.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://3.bp.blogspot.com/_iKl7WuQhzv0/S7SJygF6tII/AAAAAAAABic/1uvw-0DzUQM/s200/iscw.jpg" width="154" /></a></div><br />
En resumen, este examen fue como ir a una charla con viejos amigos.<br />
<br />
La única cosa que no me gustó del ISCW es que se basa demasiado en el <a href="http://www.cisco.com/en/US/prod/collateral/routers/ps5318/product_data_sheet0900aecd800fd118.html">Cisco SDM</a> y los viejos unixeros como yo adoramos el <a href="http://es.wikipedia.org/wiki/L%C3%ADnea_de_comandos">CLI</a>, y sobre todo en estos niveles de certificación.<br />
<h2>Examen de Optimización: (ONT 642-845)</h2>Todo lo que puedo decir acerca del ONT es que luego de hacerlo entendí por qué lo sacan.<br />
<br />
Tiene temas totalmente aislados, no tiene nada que ver uno con el otro y encima están totalmente a medio hacer. Ellos son:<br />
<ul><li> Intro al VoIP</li>
<li>QOS</li>
<li>Protocolos de seguridad de Wireless</li>
</ul>Para arrancar, si observamos el tamaño del libro de ONT con respecto a los otros, veremos que es por lejos el mas chico de todos y la guía del curso oficial tiene 600 páginas contra las 1000 de cada uno de los anteriores, pero cuidado... no crean que son materiales de lectura rápida sino todo lo contrario.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/S7SSg8w2WDI/AAAAAAAABjg/bq8FAKmp1F8/s1600/ont.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/S7SSg8w2WDI/AAAAAAAABjg/bq8FAKmp1F8/s200/ont.jpg" width="157" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://lh4.ggpht.com/_iKl7WuQhzv0/S7SStpx5eaI/AAAAAAAABjs/LZM7MnlDJ64/s1600/2010-04-01%2009.07.32.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="http://lh4.ggpht.com/_iKl7WuQhzv0/S7SStpx5eaI/AAAAAAAABjs/LZM7MnlDJ64/s400/2010-04-01%2009.07.32.jpg" width="400" /></a></div><br />
Los que no hayan implementado VoIP y QOS alguna vez o al menos hayan hecho algún curso se van a encontrar con que este librito en realidad es un manual de chino avanzado.<br />
<br />
En mi caso y dado que mis mayores clientes son ISP's, muchas de las capacidades de QOS se implementan, sumado a esto hice el curso de la certificación de Cisco QOS (642-642) y tengo dos libros que son materiales excelentes que utilizo muy a menudo.<br />
<br />
Por todo esto y sumando mi experiencia en el tema, pude relajar la profundidad de estudio sobre QOS y dedicarme de lleno a los otros dos temas.<br />
<br />
Sin embargo tengo que confesar que durante el examen llegué a creer que me iba a volver sin aprobar dado que las preguntas eran bastante ambiguas e incluso vagas, por lo que muchas veces parecía haber más respuestas de las que se podía dar.<br />
<br />
Como resúmen puedo decir que obviamente estoy muy contento por haber certificado algo que hace varios años atrás me parecía un sueño irrealizable.<br />
<br />
Para los candidatos a certificar que tengan que rendir antes de que se retiren estos examenes el 31 de julio, les puedo decir que según mi punto de vista los dos grandes obstáculos son el BSCI y el BCMSN (routing & switching).<br />
<br />
Si esos dos ya están aprobados, no duden en hacer ONT e ISCW en el tiempo que queda, dado que no están a la altura de los dos primeros en cuanto a dificultad. <br />
<br />
Saludos y gracias por estar aquí.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com9tag:blogger.com,1999:blog-6352173326812712211.post-58061684992235696032010-02-25T18:53:00.001-03:002010-02-25T18:55:39.390-03:00IOS y configuraciones resistentes a erroresUn cortito mientras estudio el ISCW... <br />
<br />
Siempre que tenemos equipos que se acceden desde muchos lugares o bien son usados para hacer laboratorios nos encontramos con que nos modifican las configuraciones o nos borran los sistemas operativos por lo que nuestro trabajo pasa de optimizar la red e inventar nuevos servicios a restaurar funcionalidad básica.<br />
<br />
Cisco nos propone un feature llamado <i>IOS Resilient Configuration</i> que el equipo asegure una copia de la imagen de IOS que está corriendo así como también de la configuración actual.<br />
<br />
Para esto, guarda una copia de cada uno de esos elementos en la flash en un directorio oculto que no puede ser accedido por los usuarios.<br />
<br />
Algunos datos interesantes acerca de este feature son:<br />
<br />
<ul><li>La configuración que se guarda es una copia de la running-config al momento en que el feature fue habilitado por primera vez.</li>
<li>Puede detectar diferencias en la imágen y en la config.</li>
<li>Solamente puede usar storage local, por lo que no puede guardar esto en servidores ftp o tftp remotos.</li>
<li>La única forma de deshabilitar el feature es mediante acceso por la consola.</li>
</ul> Se activa muy fácil:<br />
<br />
<pre>Router(config)#
Router(config)# secure ?
boot-config Archive the startup configuration
boot-image Secure the running image
Router(config)#<b> secure boot-config</b> </pre><pre>Router(config)# <b>secure boot-image</b>
Feb 25 2010 18:38:19.298 ART: %IOS_RESILIENCE-5-CONFIG_RESIL_ACTIVE: Successfully secured config archive [disk2:.runcfg-20100225-213818.ar]
Feb 25 2010 18:38:35.202 ART: %IOS_RESILIENCE-5-IMAGE_RESIL_ACTIVE: Successfully secured running image</pre><br />
Ahora podemos probar de hacer un listado de los directorios del disco:<br />
<br />
<pre>Router#<b> dir /all</b>
Directory of disk2:/
2 -rw- 39399484 Jan 21 2009 10:35:12 -03:00 c7200-advipservicesk9-mz.124-15.T8.bin
255774720 bytes total (176951296 bytes free)
</pre><br />
Epa... no aparecen... probemos otra cosa...<br />
<br />
<pre>Router# <b>show secure bootset</b>
IOS resilience router id 23672497
IOS image resilience version 12.4 activated at 18:38:34 ART Thu Feb 25 2010
Secure archive <b>disk2:cisco2-C7200</b> type is image (elf) []
file size is 39399460 bytes, run size is 39565104 bytes
Runnable image, entry point 0x80008000, run from ram
IOS configuration resilience version 12.4 activated at 18:38:19 ART Thu Feb 25 2010
Secure archive <b>disk2:.runcfg-20100225-213818.ar</b> type is config
configuration archive size 8467 bytes
</pre><br />
¿Cómo recupero los archivos se me los borran?<br />
<br />
Tento que entrar al rom monitor (el ramón para los amigos) ejecutando la secuencia de control+break durante el arranque del equipo. <b>Desde ahí sí se puede ver el bootset con los archivos</b>. <br />
<br />
<pre>rommon 1> <b>dir disk2:</b>
</pre><br />
Ahi vas a ver la imagen de IOS asegurada que luego vas a poder bootear:<br />
<br />
<pre>rommon 2> <b>boot disk2:cisco2-C7200</b>
</pre><br />
El equipo va a arrancar, pero la configuración inicial no está, por lo que intentará arrancar el modo setup, le ponemos que no y ejecutamos:<br />
<br />
<pre>Router(config)# <b>secure boot-config restore disk2:.runcfg-20100225-213818.ar</b>
Router(config)# <b>copy disk2:.runcfg-20100225-213818.ar running-config</b>
</pre><br />
Voalá y hasta la próxima.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com2tag:blogger.com,1999:blog-6352173326812712211.post-44690084739934603702010-02-16T14:59:00.000-03:002010-02-16T14:59:13.212-03:00Cisco Certified Architect (CCAr™)Si ustedes pensaban que ser CCIE era lo más top en cuestión de certificaciones de Cisco, se equivocaron.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iKl7WuQhzv0/S3rTlExYV7I/AAAAAAAABc8/W7Xuqhk2FtM/s1600-h/CiscoPyramid_Revised.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_iKl7WuQhzv0/S3rTlExYV7I/AAAAAAAABc8/W7Xuqhk2FtM/s320/CiscoPyramid_Revised.jpg" /></a></div><br />
A partir del 17 de febrero de 2010, se agrega un escalón nuevo a la pirámide de certificaciones que otorga el título de "Arquitecto".<br />
<br />
Los usuarios que serán elegibles para obtenerla serán los que posean una certificación válida como experto en diseño (CCDE) que para mi punto de vista es la más dificil de obtener.<br />
<br />
El valor del examen para ser arquitecto es de U$D 15.000 y se pagará en dos etapas:<br />
<br />
<span style="font-size: large;">Etapa de presentación:</span><br />
<br />
Se pagarán U$D 3.750 para pedir una audiencia en donde el candidato deberá presentar un currículum y un proyecto diseñado y llevado a cabo por el mismo. Si se aprueba y luego de varios días será entrevistado telefónicamente por el jurado en donde se le harán preguntas acerca de su proyecto..<br />
<br />
<span style="font-size: large;">Etapa de demostración de competencias y examenes:</span><br />
<br />
Se pagarán U$D 11.250 y el candidato recibirá documentación para el armado de un proyecto, que deberá ser terminado en un lapso de 14 días y deberá contener determinados temas tales como:<br />
<ul><li>Análisis de los requerimientos del negocio.</li>
<li>Análisis de los requerimientos técnicos.</li>
<li>Alineamiento de las metas técnicas y del negocio.</li>
<li>Estimaciones de los requerimientos de cambio y soluciones a escenarios de tipo "qué pasa si...".</li>
<li>Especificaciones funcionales de la red.</li>
<li>Análisis de riesgo de negocio.</li>
<li>Creación de un plan de migración y estrategia de transición.</li>
<li>Documentación para presentar ante una audiencia técnica.</li>
<li>Documentación para presentar ante una audiencia de negocios.</li>
<li>Demostraciones de dominio de cuestiones técnicas con grado de experto.</li>
</ul><br />
Si este proyecto se aprueba, se deberá presentar ante el comité de tres jurados y deberá:<br />
<br />
<ol><li>Presentar la solución (60 minutos).</li>
<li>Responder las preguntas del jurado (60 minutos).</li>
<li>Recibir un cambio estructural del tipo "qué pasa si...".</li>
<li>Crear una solución basada en los nuevos requerimientos (165 minutos).</li>
<li>Defender la nueva solución (60 minutos).</li>
</ol>Uff.. creo que no voy a hacer comentarios, para no influenciar los de ustedes.<br />
<br />
Saludos.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com6tag:blogger.com,1999:blog-6352173326812712211.post-42525488641186679842010-02-15T06:15:00.001-03:002010-02-15T06:15:00.164-03:00Arrancando el año en la Networking Academy.Una vez finalizadas las vacaciones volvemos a las tareas habituales, y en lo que respecta a la Cisco Networking Academy, me han asignado para dar el primer semestre de la carrera de CCNA en la <a href="http://www.centroit.org.ar/cisco.htm">academia de Rosario</a> los días lunes.<br />
<br />
Si bien el primer semestre de CCNA no es el más interesante en cuanto a prácticas y laboratorios, está bueno porque se centra en los aspectos básicos de las redes y presenta como desafío motivar a los alumnos y lograr afianzar los conocimientos básicos que luego usarán en los siguientes semestres. <br />
<br />
Aunque todos queremos dar el semestre 4 para poder usar todas las herramientas generando soluciones complejas de networking, de todas formas estoy contento con tener la posibilidad de compartir conocimientos y de algunua forma devolver todo lo que ese curso me brindó.<br />
<br />
Nos vemos en el aula.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-54020049943512885482010-02-14T21:36:00.000-03:002010-02-14T21:36:45.928-03:00CCNP en 45 díasAyer al volver de mis vacaciones me llegó un mail de Cisco que me da vouchers para rendír gratis los exámenes <a href="http://www.cisco.com/web/learning/le3/current_exams/642-825.html">ISCW</a> y <a href="http://www.cisco.com/web/learning/le3/current_exams/642-845.html">ONT</a> pendientes para finalizar mi CCNP. El problema central es que tengo que hacerlos antes del 31 de marzo de 2010.<br />
<br />
Aunque tengo un firme conocimiento de los temas de los dos exámenes, debo admitir que todas las certificaciones son muy duras y realmente se aprueba si es que se tiene un mucho conocimiento acerca de los temas tanto en teoría como en práctica.<br />
<br />
Por esto voy a estar dedicándome a dichos exámenes durante los próximos días, con el consecuente atraso de los posts que estoy haciendo sobre multicast. De todas formas prometo que en mis ratos libres voy a ir avanzando con ellos.<br />
<br />
Saludos.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com1tag:blogger.com,1999:blog-6352173326812712211.post-74291659602882503352010-02-05T10:46:00.001-03:002010-02-05T10:48:26.446-03:00Viendo caer nuestros equiposUno siempre lee acerca de equipos y sistemas operativos que se cuelgan (no voy a dar nombres) y muchas veces esas situaciones nos parecen totalmente ajenas. Sin embargo, hoy voy a dar un tip que no es del todo útil, dado que no mejora la performance ni seguriza nada, sino todo lo contrario: derriba los equipos.<br />
<br />
En el caso de cisco no es muy común ver caer los equipos, pero utilizando una suerte de "comando oculto" podemos ver la forma en que caen y se recuperan de los errores.<br />
<br />
Este comando oculto se llama <i>test crash</i> y se puede utilizar de la siguiente forma:<br />
<br />
<pre>Router#test crash
WARNING: Command selections marked with '(crash router)' will crash
router when issued. However a selection 'C' will need to
be issued IMMEDIATELY before these selections to enable them.
Type the number for the selected crash:
--------------------------------------
1 (crash router) Bus Error, due to invalid address access
2 (crash router) Bus Error, due to parity error in Main memory
3 (crash router) Bus Error, due to parity error in I/O memory
4 (crash router) Address Error, due to fetching code from odd address
5 (crash router) Jump to zero
6 (crash router) Software forced crash
7 (crash router) Illegal read of address zero
8 (crash router) Divide by zero
9 (crash router) Corrupt memory
C Enable crash router selection marked with (crash router)
R (crash router) User enter read bus error address
U (crash router) User enter write bus error address
W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***)
w (crash router) Process watchdog timeout (SYS-2-WATCHDOG)
d Disable crashinfo collection
e Enable crashinfo collection
i Display contents of current crashinfo flash file
m Write crashinfo on crashinfo RAM
n Change crashinfo flash file name
q Exit crash menu
s Save crashinfo to current crashinfo flash file
c Close current crashinfo flash file
t Write crashinfo on console TTY
x Exit crash menu
? <b><span style="color: red;">C</span> </b>
Type the number for the selected crash:
--------------------------------------
1 (crash router) Bus Error, due to invalid address access
2 (crash router) Bus Error, due to parity error in Main memory
3 (crash router) Bus Error, due to parity error in I/O memory
4 (crash router) Address Error, due to fetching code from odd address
5 (crash router) Jump to zero
6 (crash router) Software forced crash
7 (crash router) Illegal read of address zero
8 (crash router) Divide by zero
9 (crash router) Corrupt memory
C Enable crash router selection marked with (crash router)
R (crash router) User enter read bus error address
U (crash router) User enter write bus error address
W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***)
w (crash router) Process watchdog timeout (SYS-2-WATCHDOG)
d Disable crashinfo collection
e Enable crashinfo collection
i Display contents of current crashinfo flash file
m Write crashinfo on crashinfo RAM
n Change crashinfo flash file name
q Exit crash menu
s Save crashinfo to current crashinfo flash file
c Close current crashinfo flash file
t Write crashinfo on console TTY
x Exit crash menu
? <b style="color: red;">6</b>
Causing a software forced crash...
10:44:18 UTC Fri Feb 5 2010: Breakpoint exception, CPU signal 5, PC = 0x6078406C
--------------------------------------------------------------------
Possible software fault. Upon reccurence, please collect
crashinfo, "show tech" and contact Cisco Technical Support.
--------------------------------------------------------------------
-Traceback= 0x6078406C 0x60254650 0x61366294 0x6138C3B4 0x626264B8 0x6262649C
$0 : 00000000, AT : 654E0000, v0 : 00000049, v1 : 000000A7
a0 : 651A5158, a1 : 00000320, a2 : 63D143E8, a3 : 66ED5C38
t0 : 66ED5C38, t1 : 6590FE60, t2 : 927C0000, t3 : 00000000
t4 : 000008B7, t5 : 00000F3B, t6 : 00000000, t7 : 00000000
s0 : 64CA0000, s1 : 0000003C, s2 : 00000036, s3 : 653D0000
s4 : 66F08DB0, s5 : 64CA0000, s6 : 6597DAD8, s7 : 64CA0000
t8 : 6640BE78, t9 : 0000B798, k0 : BFC003E0, k1 : 0000FF00
gp : 65068FA8, sp : 66F08D98, s8 : 648E0000, ra : 60254650
EPC : 6078406C, ErrorEPC : 00000000, SREG : 3400FF03
MDLO : 00000000, MDHI : 00000000, BadVaddr : 00000000
CacheErr : 00000000, DErrAddr0 : 00000000, DErrAddr1 : 00000000
Cause 00000024 (Code 0x9): Breakpoint exception
File bootflash:crashinfo_20100205-104418 Device Error :Bad device info block
File disk0:crashinfo_20100205-104418 Device Error :Invalid DOS media or no media in slot
File disk1:crashinfo_20100205-104418 Device Error :No device available
File slot0:crashinfo_20100205-104418 Device Error :Bad device info block
File slot1:crashinfo_20100205-104418 Device Error :No such device
File bootflash:crashinfo_20100205-104418 Device Error :Bad device info block
File disk0:crashinfo_20100205-104418 Device Error :Invalid DOS media or no media in slot
File disk1:crashinfo_20100205-104418 Device Error :No device available
File slot0:crashinfo_20100205-104418 Device Error :Bad device info block
File slot1:crashinfo_20100205-104418 Device Error :No such device
File bootflash:crashinfo_20100205-104418 Device Error :Bad device info block
10:44:18 UTC Fri Feb 5 2010: Breakpoint exception, CPU signal 5, PC = 0x6078406C
--------------------------------------------------------------------
Possible software fault. Upon reccurence, please collect
crashinfo, "show tech" and contact Cisco Technical Support.
--------------------------------------------------------------------
-Traceback= 0x6078406C 0x60254650 0x61366294 0x6138C3B4 0x626264B8 0x6262649C
$0 : 00000000, AT : 654E0000, v0 : 00000049, v1 : 000000A7
a0 : 651A5158, a1 : 00000320, a2 : 63D143E8, a3 : 66ED5C38
t0 : 66ED5C38, t1 : 6590FE60, t2 : 927C0000, t3 : 00000000
t4 : 000008B7, t5 : 00000F3B, t6 : 00000000, t7 : 00000000
s0 : 64CA0000, s1 : 0000003C, s2 : 00000036, s3 : 653D0000
s4 : 66F08DB0, s5 : 64CA0000, s6 : 6597DAD8, s7 : 64CA0000
t8 : 6640BE78, t9 : 0000B798, k0 : BFC003E0, k1 : 0000FF00
gp : 65068FA8, sp : 66F08D98, s8 : 648E0000, ra : 60254650
EPC : 6078406C, ErrorEPC : 00000000, SREG : 3400FF03
MDLO : 00000000, MDHI : 00000000, BadVaddr : 00000000
CacheErr : 00000000, DErrAddr0 : 00000000, DErrAddr1 : 00000000
Cause 00000024 (Code 0x9): Breakpoint exception
-Traceback= 0x6078406C 0x60254650 0x61366294 0x6138C3B4 0x626264B8 0x6262649C
=== Flushing messages (10:44:18 UTC Fri Feb 5 2010) ===
Buffered messages:
*Feb 5 10:42:15.167: %LINEPROTO-5-UPDOWN: Line protocol on Interface VoIP-Null0, changed state to up
*Feb 5 10:42:15.171: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to down
*Feb 5 10:42:15.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface IPv6-mpls, changed state to up
*Feb 5 10:42:16.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down
*Feb 5 10:42:17.503: %SYS-5-RESTART: System restarted --
Cisco IOS Software, 7200 Software (C7200-ADVIPSERVICESK9-M), Version 12.4(11)T2, RELEASE SOFTWARE (fc4)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Tue 01-May-07 04:19 by prod_rel_team</pre><br />
De más está decir que se debe usar en equipos que no estén en producción... después no me culpen si bajaron su red por usarlo en cualquier lado.<br />
<br />
Salute!Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0tag:blogger.com,1999:blog-6352173326812712211.post-6858370273030732162010-02-04T22:16:00.001-03:002010-02-04T22:19:25.660-03:00Introducción al Multicast (Parte II)Como vimos en <a href="http://www.capaocho.net/2009/12/introduccion-al-multicast-parte-i.html">el capítulo anterior</a>, unicast no escala cuando se debe enviar la misma información a muchos destinos dado que el ancho de banda requerido se multiplica por la cantidad de receptores de la información.<br />
<br />
Por otro lado si usamos broadcast, los receptores no pueden estar atrás de un router dado que estos no los transmiten. Además estamos generando una carga intensiva en los dispositivos de red y desperdiciando ancho de banda.<br />
<br />
Ahora bien, necesariamente tengo que aclarar un par de conceptos que son naturalmente elementales y en una magnitud tal que la mayoría de la gente nunca se detiene a pensar. Estoy hablando de la relación entre el direccionamiento de capa 2 y capa 3.<br />
<br />
Conocemos perfectamente que a nivel de capa 3 una dirección IPv4 tiene una longitud de 32 bits y una dirección de capa 2 (MAC) del archifamoso protocolo Ethernet tiene 48 bits.<br />
<br />
Es evidente que debemos contar con algo que relacione unívocamente cada una de estas direcciones dado que son de distinto tamaño y no es un requerimiento necesario que sean iguales.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/S1hU3bVYyQI/AAAAAAAABbk/h9QcKZ1Et_w/s1600-h/macvsip.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="151" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/S1hU3bVYyQI/AAAAAAAABbk/h9QcKZ1Et_w/s400/macvsip.png" width="400" /></a></div><br />
En el caso de IPv4 existe un protocolo llamado ARP que se encarga de armar una "tabla de equivalencias" en cada host, que contiene direcciones IP y sus correspondientes MAC asociadas.<br />
<br />
¿Por qué me detengo en este detalle?<br />
<br />
Los equipos cuando quieren mandar información a otro host conocen la dirección IP de destino (generalmente obtenida por consultas DNS) y al momento de poner la información en los cables, deben armar los encabezados de la capa de enlace de datos y por ende, deben conocer la dirección MAC de destino.<br />
<br />
En multicast IPv4, existe una relación entre las direcciones MAC y las direcciones de grupo (IP's de clase D).<br />
<br />
Supongamos el ejemplo de un servidor que envía un streaming a una LAN:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/S1hjqLDVrpI/AAAAAAAABbs/_Zj90_UBZKc/s1600-h/macvsip2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="142" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/S1hjqLDVrpI/AAAAAAAABbs/_Zj90_UBZKc/s400/macvsip2.png" width="400" /></a></div><br />
Cuando el servidor quiere usar <b>Unicast</b> y enviar datos a la PC D, arma los paquetes de la siguiente manera:<br />
<br />
<pre>Capa 3:
IP Origen: 192.168.1.10
IP Destino: 192.168.1.14
Capa 2:
MAC Origen: aaaa.aaaa.aaaa
MAC Destino: 0000.0000.649a
</pre><br />
Ahora imaginemos, que si seguimos el mismo ejemplo <b>con Multicast</b> a la dirección de grupo 239.1.1.10 tendríamos:<br />
<pre>Capa 3:
IP Origen: 192.168.1.10
IP Destino: 239.1.1.10
Capa 2:
MAC Origen: aaaa.aaaa.aaaa
<b><span style="color: red;">MAC Destino: ¿?</span></b>
</pre><br />
<blockquote>¿A qué dirección MAC debe enviar las tramas?</blockquote><br />
Es evidente que no puede ser ninguna MAC de alguno de los equipos, porque sino la información se transformaría en Unicast, dado que el switch replicaría la trama en un único puerto. Esto me lleva a citar una frase que siempre enfatizo con mis alumnos:<br />
<br />
<blockquote>Antes de que exista Unicast, Multicast o Broadcast en capa 3, debe existir en capa 2.</blockquote><br />
Todos los hosts deben acordar una dirección MAC común que puedan utilizar para recibir las tramas dirigidas al grupo de multicast 239.1.1.10. Y no solo eso, sino que tambien el switch debe comprender que esa dirección MAC no se va a guardar como perteneciente a un solo puerto, sino a varios.<br />
<br />
Verán ahora que la MAC en cuestión no se negocia, sino que se calcula según lo que veremos a continuación.<br />
<br />
La <a href="http://www.ieee.org/">IEEE</a> registró un <a href="http://es.wikipedia.org/wiki/OUI">OUI</a> que es el prefijo de todas las direcciones MAC relacionadas con direcciones IPv4. Dicho prefijo es: <b>01:00:5e</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/S2tcsIDq1JI/AAAAAAAABcI/Si6duG5X9NQ/s1600-h/mcastbits.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="302" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/S2tcsIDq1JI/AAAAAAAABcI/Si6duG5X9NQ/s400/mcastbits.png" width="400" /></a></div><br />
Verán el bit marcado en rojo, este es <b>el bit menos significativo del byte más significativo</b> de la dirección MAC (el último bit del primer byte en criollo) y determina que la MAC es de multicast. Cuando los switches ven este bit en 1 en cualquier dirección MAC entienden que no deben almacenar esa dirección en la tabla CAM dado que debe ser reenviada a varios puertos.<br />
<br />
Ahora bien, sabemos que se calcula una dirección MAC de multicast en base a un OUI fijo y a la dirección de grupo, pero la problemática a la que nos enfrentamos es que una dirección IP tiene 32 bits y solo nos restan 24 de la dirección MAC, por lo que no podremos directamente pegar los bits de la dirección de grupo en la MAC dado que no nos alcanza el espacio. En cambio, podemos realizar el siguiente análisis:<br />
<br />
Las direcciones de clase D se utilizan para multicast comprenden el rango desde la 224.0.0.0 a la 239.255.255.255, por lo que podemos ver que cualquier dirección que está dentro de ese rango tiene la forma:<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iKl7WuQhzv0/S2tguuvpiII/AAAAAAAABcY/eQLRU47iKB8/s1600-h/mcastbits2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="http://1.bp.blogspot.com/_iKl7WuQhzv0/S2tguuvpiII/AAAAAAAABcY/eQLRU47iKB8/s400/mcastbits2.png" width="400" /></a></div><br />
Dado que los bits 1110 pasados a decimal son 128 + 64 + 32 + 0 = <b>224 </b>y si el cuerto bit estuviese en 0 se sumarían 16 más y el 240 no está incluído en las clases D.<br />
Si entendemos esto, podemos comprender que como estos bits siempre tienen el mismo valor para direcciones multicast de IPv4, podemos desestimarlos y <b>no incluírlos</b> en nuestra futura dirección MAC de multicast:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_iKl7WuQhzv0/S2tiqytVxhI/AAAAAAAABcg/pZLdpgFcMg4/s1600-h/mcastbits3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://2.bp.blogspot.com/_iKl7WuQhzv0/S2tiqytVxhI/AAAAAAAABcg/pZLdpgFcMg4/s400/mcastbits3.png" width="400" /></a></div>Ahora tenemos 28 bits para almacenar y 24 bits disponibles. Ya nos estamos acercando a nuestra meta.<br />
<br />
Lo que la gente de la IEEE pensó es en desestimar los bits 4 a 8 del primer byte y el primer bit del segundo byte y transformarlos en un único bit con valor cero.<br />
<br />
En criollo:<br />
<ol><li>Tomar los 5 bits que quedan en el primer byte incluyendo el primero del byte 2.</li>
<li>Reemplazarlos por un solo bit en cero.</li>
</ol><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/S2topB9OU1I/AAAAAAAABco/UaGlAbFRgPc/s1600-h/mcastbits4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="317" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/S2topB9OU1I/AAAAAAAABco/UaGlAbFRgPc/s400/mcastbits4.png" width="400" /></a></div>Ahora si... transladamos los 24 bits a la dirección MAC de multicast.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iKl7WuQhzv0/S2tsGZma-XI/AAAAAAAABcw/4jRLj4JgG5c/s1600-h/mcastbits5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="206" src="http://1.bp.blogspot.com/_iKl7WuQhzv0/S2tsGZma-XI/AAAAAAAABcw/4jRLj4JgG5c/s400/mcastbits5.png" width="400" /></a></div><br />
En un ejemplo práctico:<br />
<br />
Dirección IPv4: <b>224.0.0.5</b> (OSPF)<br />
<br />
Binariamente es: <b><span style="color: red;">1110</span></b><span style="color: blue;"><b>0000</b>.<b>0</b></span>0000000.00000000.00000101<br />
<br />
Quito la parte en rojo, que es siempre igual para todas las direcciones<br />
<div style="text-align: center;"><span style="color: red;"></span><span style="color: blue;">____<b>0000.0</b></span>0000000.00000000.00000101</div><div style="text-align: left;">Ahora transformo los próximos 5 bits en un solo cero:</div><div style="text-align: center;"><b><span style="color: blue;">0</span></b>0000000.00000000.00000101</div><div style="text-align: left;">Paso esto a hexadecimal:</div><div style="text-align: center;"><b><span style="color: blue;"></span></b>00000000.00000000.00000101 = <b style="color: blue;">00.00.05</b></div><div style="text-align: left;">Luego agrego el OUI de multicast (01:00:5E) como prefijo:</div><div style="text-align: center;"><b>01:00:5E</b>:<b><span style="color: blue;">00:00:05</span></b></div><div style="text-align: left;">Esa será la MAC address de multicast que todos los equipos se pondrán para recibir los datos del grupo.</div><br />
Vamos a otro ejemplo:<br />
<br />
Dirección IPv4: <b>239.140.125.94</b><br />
En binario: <b><span style="color: red;">1110</span><span style="color: blue;">1111</span></b><span style="color: black;">.</span><b><span style="color: blue;">1</span></b>0001100.01111101.01011110<br />
Quito los primeros 4 bits y comprimo los próximos 5: <b><span style="color: blue;">0</span></b>0001100.01111101.01011110<br />
Paso a hexadecimal: 0C:7D:5E<br />
Agrego el OUI: <b>01:00:5E:0C:7D:5E</b><br />
<br />
¿Fácil, no?<br />
<br />
Ahora probemos con la IP:<b> 231.12.125.194</b><br />
En binario: <b><span style="color: red;">1110<span style="color: blue;">0</span></span><span style="color: blue;">111</span></b><span style="color: black;">.<b style="color: blue;">0</b>0001100.</span>01111101.01011110<br />
Quito los primeros 4 bits y comprimo los próximos 5: <b><span style="color: blue;">0</span></b>0001100.01111101.01011110<br />
Paso a hexadecimal: 0C:7D:5E<br />
Agrego el OUI: <b>01:00:5E:0C:7D:5E <-- ¡¡¡ES LA MISMA QUE CALCULAMOS ANTES!!!</b><br />
<br />
¿Qué pasó?<br />
<br />
Cuando nosotros comprimimos los 5 bits en un solo valor en cero, estamos pisando 2^5 bits, por lo que 32 valores de direcciones IP van a corresponder a una única MAC.<br />
<br />
Comenten por favor.<br />
<br />
Nos vemos en la próxima.Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com11tag:blogger.com,1999:blog-6352173326812712211.post-64406994153705593522010-01-04T08:33:00.001-03:002010-01-04T08:33:56.105-03:00Exámen CCNA en españolComienzo el primer post del 2010 con una buena noticia: <br />
<br />
La semana pasada estuve buscando el precio de los exámenes que me quedan dar para el CCNP y tuve la grata sorpresa de ver que el exámen de certificación CCNA actual (640-802) ya se encuentra disponible en varios idiomas (incluído el español).<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_iKl7WuQhzv0/S0HQbgCBbzI/AAAAAAAABZc/FsyuhTtTLlM/s1600-h/ccnaenespanol.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_iKl7WuQhzv0/S0HQbgCBbzI/AAAAAAAABZc/FsyuhTtTLlM/s640/ccnaenespanol.png" /></a><br />
</div><div class="separator" style="clear: both; text-align: left;">En el momento en que lo tuve que rendir a principios de 2009 solo estaba disponible en inglés y japonés <i>sólo en japón</i>.<br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Mucha gente se va a poner contenta con esto ya que la barrera del idioma sumada a los nervios que se pasan al hacer el exámen son la mayoría de las veces las dificultades más grandes que tienen que atravesar los candidatos.<br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">¡Felíz año para todos!<br />
</div>Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com8tag:blogger.com,1999:blog-6352173326812712211.post-57607419022727710872009-12-28T19:20:00.001-03:002009-12-28T19:22:10.492-03:00Introducción al Multicast (Parte I)Actualmente y debido a la nueva ola del video sobre IP algunas tecnologías se ponen de moda, incluso aquellas que siempre fueron conocidas por su nombre y se mencionan habitualmente sin que la mayoría de los involucrados tenga una idea más o menos clara de los conceptos fundamentales.<br />
<br />
Puntualmente estoy hablando del afamado multicast, y la idea es que mediante un escueto post podamos explicar algunos de esos conceptos fundamentales que nos aclaren un poco el panorama.<br />
<br />
Lamentablemente, la mejor manera que conozco para definir este concepto es mostrando primero <i>que cosa no es</i>, dado que ejemplificando se logra comprender rápidamente lo básico.<br />
<br />
Conocemos la forma del paquete IP tradicional, en donde algunos de los campos más relevantes en los encabezados son la <i>source address</i> (dirección del dispositivo originante del paquete) y la <i>destination address</i> (dirección del destinatario del paquete). Ambos son de 32 bits y deben estar correctamente dispuestos para que se realice correctamente la entrega de los datos.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://lh3.ggpht.com/_iKl7WuQhzv0/SxVIqgxTfCI/AAAAAAAABYU/tLERAAcCyMA/s1600/diag-mtu5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://lh3.ggpht.com/_iKl7WuQhzv0/SxVIqgxTfCI/AAAAAAAABYU/tLERAAcCyMA/s400/diag-mtu5.png" /></a><br />
</div><br />
Ahora bien, seguramente conocemos a las dos formas estrella de la entrega de paquetes:<br />
<br />
<h2>Unicast:</h2>Un equipo quiere transmitir uno o varios paquetes a un único destino, por lo que completa los campos del encabezado de capa 3 con su dirección IP en el <i>source address</i> y la dirección IP del destinatario en el <i>destination address</i>. Con esto se logra una comunicación entre dos equipos en forma de un stream de datos en un solo sentido.<br />
<blockquote>El ejemplo más claro de esto es cuando usamos el correo postal, en donde tenemos un único remitente y un único destinatario de la carta en cuestión.<br />
Cuando el destinatario me quiera responder, utilizará otro sobre y cambiará las direcciones de remitente y destinatario de manera acorde para que el nuevo mensaje pueda volver al origen, creando finalmente la comunicación de dos vías.<br />
</blockquote><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iKl7WuQhzv0/SzkuscqAgSI/AAAAAAAABZE/0l4_uB9g7mo/s1600-h/unicast.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_iKl7WuQhzv0/SzkuscqAgSI/AAAAAAAABZE/0l4_uB9g7mo/s320/unicast.png" /></a><br />
</div><br />
<h2>Broadcast:</h2><br />
Demasiado hablamos en la academia de networking sobre este tema... el broadcast es una comunicación <i>desde uno a todos</i>, en donde los encabezados del paquete IP son completados con una serie de unos binarios en la parte de host (donde la máscara de red es 0 en formato binario) y los dispositivos intermediarios comprenden que deben reenviar dicho paquete a todos los puertos activos dentro del dominio de broadcast al que pertenece el remitente.<br />
<br />
Esto tiene como contrapartida la necesidad de que todos los hosts que reciben el mensaje deban procesarlo debido a que en la dirección de destino no existe un único destinatario, sino una suerte de código que se interpreta como "<i>A quien corresponda</i>".<br />
<blockquote>Un ejemplo de lo cotidiano sería una persona que quiere hacer publicidad y va por la calle arrojando panfletos que anuncian su negocio. Sus empleados van dejando copias en cada puerta de cada casa, y cualquier persona que ve un papel puede llegar a entender que es el destino del mensaje, por lo que deberá desdoblarlo, leerlo e interpretarlo y posiblemente eliminarlo al ver que es propaganda o bien interesarse por el aviso y llamar para pedir el producto o el servicio en cuestión.<br />
</blockquote>Más allá de cualquiera de estos casos, debemos tener en cuenta que muchos papeles desperdigados en la calle o en las casas <i>es basura</i>, y aunque finalmente existan algunos interesados en recibir dicha información, generalmente muchos otros integrantes de la ciudad (el dominio de broadcast) tuvieron que perder tiempo agachándose a juntar el papel, leyéndolo, entendiéndolo y descartándolo.<br />
<br />
Por esto queda claro que mientras menos broadcast exista en la red, mejor va a ser la performance, y cuando hablo de dominios de broadcast me refiero a la ciudad en el ejemplo real (a nadie le va a interesar una propaganda de un servicio que se ofrece solo en otra ciudad) y de los routers en el ejemplo de networking (los routers no transmiten broadcast entre sus interfases).<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/Szku1xB1_vI/AAAAAAAABZM/Xn1EHA7C5YY/s1600-h/broadcast.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/Szku1xB1_vI/AAAAAAAABZM/Xn1EHA7C5YY/s320/broadcast.png" /></a><br />
</div><br />
<br />
Ahora bien, ¿qué es multicast?...<br />
<br />
<h2>Multicast:</h2><br />
Como se imaginarán, Multicast es una mezcla de los dos ejemplos anteriores, en donde un mensaje se transmite entre un origen y <i><b>un grupo</b></i> de destinos que activamente <i><b>solicitaron</b></i> recibir dicha información.<br />
<br />
En su ejemplo más básico, un equipo que forma parte de una subred de <i>n</i> equipos en total quiere transmitir cierta información a un <b>grupo</b> de m equipos (<i>m =< n-1</i>) que utilizan un protocolo llamado IGMP para avisar a los equipos intermediarios que quieren unirse a ese grupo de escucha para recibir dicha información.<br />
<br />
En un ejemplo muy malo se podría decir que ese grupo de <i>m</i> equipos se ponen la misma dirección IP (una dirección IP especial de clase D, llamada <i>IP de grupo</i>) y entonces logran recibir los datos destinados a esa dirección.<br />
<br />
La ventaja de esto es que el host de origen envía una única copia de la información y son los dispositivos intermedios (routers, switches, etc) los que se encargan de copiar esos paquetes a todos los puertos en el camino de los dispositivos que enviaron mensajes de IGMP.<br />
<br />
Con esto se logra que el emisor no deba mantener una conversación de dos vías con cada receptor, y se logra efectivamente una comunicación de tipo <i>uno a muchos</i> e incluso que podría ser de <i>muchos a muchos</i> donde (como siempre aclaramos) <i>muchos pueden no ser todos</i>.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_iKl7WuQhzv0/SzkvIZJLKKI/AAAAAAAABZU/5pLXipoTOUM/s1600-h/multicast.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_iKl7WuQhzv0/SzkvIZJLKKI/AAAAAAAABZU/5pLXipoTOUM/s320/multicast.png" /></a><br />
</div><br />
En el próximo post vamos a ver como se logra este cometido más a fondo.<br />
<br />
Saludos!Ariel S. Weherhttp://www.blogger.com/profile/11117890043900655262noreply@blogger.com0