29/2/08

Las 12 verdades fundamentales de las redes

Si llevas cierto tiempo en el mundo de las redes, con toda seguridad has oído hablar de las RFC, estos son los documentos que dan vida a los protocolos de red, no es el propósito de este post hablar sobre los RFC en general, por lo que únicamente mencionare que si quieres encontrar más información al respecto, puedes ver la definición dada por la wikipedia, también puedes ir al sitio oficial de las RFC.

Lo que si es el propósito de este post, es discutir la RFC 1925, esta pertenece a un tipo especial de documento. Como muchos de ustedes probablemente saben, en Estados Unidos y en muchos otros países, se celebra el 1 de abril, algo equivalente a lo que en latinoamerica celebramos el día de los inocentes el 28 de diciembre. Pues bien, desde hace muchos años, es costumbre publicar algunas RFCs el 1 de abril, con algunas notas humorísticas, por ejemplo la RFC 2324 describe detalladamente el protocolo HTCPCP (Hyper Text Coffee Pot Control Protocol), un protocolo para el control, monitoreo y diagnostico de una cafetera! La RFC 1925 pertenece a este tipo especial de RFCs, consideradas humorística. Sin embargo aunque si tiene su lado humorístico, esta RFC presenta las 12 verdades fundamentales de las redes, que si las analizamos una por una, en realidad nos dejan lecciones dignas de reflexión en cuanto al que hacer de las redes, así que me he tomado la molestia de traducirlas y las pueden ver a continuación.

Antes de continuar, aclaro que esta es una traducción que hice tratando de ser fiel a la original, igual los invito a ver la versión original, puede ser que la entiendas mejor en su idioma original, además, todos los créditos son para Ross Callon, el autor que inspiradamente escribió estas 12 verdades fundamentales y las documento en la RFC 1925, a continuación las verdades:

Las 12 verdades Fundamentales de las redes

(1) Tiene que trabajar

(2) Por mas esfuerzo que se haga, y sin importar la prioridad que se establezca, no se puede incrementar la velocidad de la luz.

(2a) (corolario). Por mas esfuerzo que se haga, no se puede hacer un bebe en un periodo mucho menor a 9 meses. Tratar de acelerarlo podría hacerlo mas despacio, pero no hará que pase mas rápido.

(3) Con la suficiente fe, los cerdos pueden volar muy bien. Sin embargo no necesariamente es buena idea. Es peligroso estar sentado en el espacio en el que están volando, porque no se puede predecir donde van a aterrizar.

(4) Algunas cosas en la vida nunca pueden ser completamente entendidas o apreciadas a menos que sean experimentadas de primera mano. Algunas cosas en las redes nunca pueden ser completamente entendidas o apreciadas por alguien que no construye redes comerciales ni esta involucrado en el día a día de la operación de una red.

(5) Siempre es posible consolidar diferentes problemas que no tienen relación entre si, en una sola solución compleja e interdependiente. En la mayoría de los casos es una mala idea.

(6) Es más fácil mover un problema que resolverlo (por ejemplo moviendo el problema a otro segmento de la arquitectura de la red).

(6a) (corolario). Siempre es posible agregar otro nivel de desorientación.

(7) Siempre hay algo

(7a) (corolario). Bueno, rápido, barato: Seleccione dos (no se pueden tener los tres al mismo tiempo)

(8) Es más complicado de lo que parece

(9) Para todos los recursos, sean los que sean, se necesitan más

(9a) (corolario) Cada problema de la red toma más tiempo para resolver de lo que uno supone que debería tomar.

(10) Una solución nunca resolverá todos los problemas (one size never fits all).

(11) Todas las viejas ideas serán propuestas de nuevo, con un nombre y presentación diferentes sin importar si funcionan o no.

(11a) (corolario). Vea la regla 6a.

(12) Sabemos que se ha alcanzado la perfección en el diseño de protocolos, no cuando ya no queda nada más que añadir, sino cuando no queda nada que quitar.

Como les mencione tiene un poco de humor, pero también encierra muchas verdades, en particular creo que todos en algún momento nos hemos dado cuenta de la cruda realidad de la verdad fundamental 7 y el corolario 7a, esto para mencionar dos, en general creo que todas tienen algo que en una u otra oportunidad hemos experimentado.

Si estas interesado en más RFCs humorísticas, puedes verlas aquí, tal vez más adelante analicemos alguna otra, si tienes comentarios sobre las 12 verdades fundamentales de las redes, no dudes en hacerlo, podrían ser útiles para otros.

23/2/08

Un nuevo año

Este saludo de año nuevo, tal vez llega un poco tarde, ya casi estamos terminando el segundo mes del año, pero bueno, para mi actividad en el blog, si es como año nuevo, finalmente estoy de regreso en lo que espero sea un horario más regular de publicaciones en este post.

No les voy a quitar mucho el tiempo, solo quiero solicitarles su apoyo participando en la encuesta a la derecha, periodicamente estaran apareciendo nuevas encuestas y su colaboración es apreciada, ya que permitira orientar mejor los contenidos del blog, esta encuesta inicial es un poco un beta test y de paso me interesa conocer el uso que actualmente le estan dando a Wireshark, es para resolver problemas en el trabajo? o quizas estas estudiando y utilizas Wireshark como una herramienta de aprendizaje primariamente?, o unicamente en tu casa como hobbie? para participar basta un click y de antemano gracias por hacerlo, Feliz y Prospero 2008 para todos.

22/2/08

Wireshark 101 - IO Graphing

Una de las características deseadas en un analizador de paquetes, es la capacidad de visualizar los datos de manera gráfica, esto es especialmente crítico a la hora de presentar un reporte con los hallazgos de un análisis a personas cuya especialidad no son las redes. Una gráfica puede explicar mucho mejor una situación que una serie de números sin sentido.

En este aspecto, mi opinion, es que Wireshark se queda un poco atrás, analizadores comerciales como el sniffer pro de Network General, tiene muy buenas opciones de gráficos para generar reportes que se ven muy bien y que dicen mucho, sin embargo, las opciones para gráficar que tiene Wireshark, si bien no son muy vistosas, si son utiles y vale la pena hecharles un vistazo ya que pueden ayudar, tanto para el análisis, como para el momento de presentar un reporte sobre los hallazgos.

Existen diferentes tipos de gráficos en Wireshark, como el flow graph que permite visualizar gráficamente el flujo de una conexión tcp/ip (como la muestran en los libros), o el TCP Stream Graph, que cuenta con algunos tipos de gráficos orientados más al análisis, pero que también pueden ser utilizados para reportes, sin embargo, en esta oportunidad, como el titulo lo indica, nos concentraremos en las graficas de entrada y salida (IO Graphs), estas nos permiten visualizar, el tráfico total que esta pasando por nuestro punto de medición en un momento dado.

Para activar esta gráfica, es necesario ir al menu statistics -> IO Graphs, como lo muestra la figura abajo, esto por supuesto una vez que hemos realizado una captura, es decir, la gráfica se generara a partir de paquetes previamente capturados.


En la siguiente figura, puede verse el resultado, sobre esta gráfica quiero hacer varias observaciones, en primer lugar, como pueden observar, esta el área de la gráfica, en esta en el eje x se muestra el tiempo, en este caso, la captura fue por aproximadamente dos horas, por lo que para ver la gráfica como esta aca, se modifico el campo tick interval a 1 Min (el default es 1 seg), en general este parametro se puede modificar de acuerdo al nivel de detalle que se desea tener. En el caso del eje Y, también se modifico la unidad, del default (que es Packets/tick) a Bytes/Tick. En el caso del eje Y, también esta una opción avanzada que permite unas opciones de análisis más potentes y que probablemente analizemos en una segunda parte.


Además de poder ajustar los ejes X y Y, para tener una mejor representación del tráfico, el verdadero potencial de estas gráficas, esta en la posibilidad de aplicar filtros, por ejemplo en el caso ilustrado en la figura anterior, se ha aplicado un filtro para ver cuanto del tráfico ilustrado en dicha gráfica es http, como se puede ver a la derecha de la pantalla, la gráfica 2 tiene aplicado el filtro http, los filtros que se utilizan acá, son filtros de visualización, aqui http es un filtro muy sencillo, pero en general se pueden utilizar filtros muy elaborados que permitan una mejor comprensión del problema que se esta analizando, para activar el filtro se presiona el boton correspondiente (Graph 2, en este caso) y como se puede ver en la figura, aparece con color rojo el tráfico http, la Graph 1, muestra el tráfico total en color negro. Se pueden generar hasta 5 gráficas, para activar/desactivar una gráfica, basta con presionar el boton correspondiente a dicha gráfica.

Finalmente menciono el boton Save, este esta disponible a partir de la versión 0.99.7 (la más reciente, que dicho de paso, si aun no has bajado, hazlo ya, puedes encontrala en el sitio de wireshark. Esta opción permite salvar la gráfica, en varios formatos gráficos, en una prueba que hice me dio un error, pero igual salvo la gráfica.

Este no es ni por mucho un tutorial avanzado de gráficas de Wireshark, el propósito es dar a conocer esta opción (para aquellos que aun no la conocian), en futuros post se estara haciendo referencias a las gráficas IO, por lo que vale la pena conocerlas, por lo demás te animo a experimentar con ellas.

Para los que quieren ver aplicaciones de esta gráficas en acción, hay un par de recursos interesantes, lamentablemente en Ingles, para los que lo entienen, perfecto, los invito a revisarlos, para los que no, también los invito a ver este par de videos, veran que las gráficas IO de Wireshark, tienen mucho potencial, estos son videos de Laura Chappel, la fundadora de WiresharkU, asi que insisto, vale la pena verlos, a continuación los enlaces:

IO Graphing

Advanced IO Graphing

Eso es todo por el momento, gracias a los estimados lectores que han permanecio fieles al blog pese a la larga ausencia y espero encontrarlos por acá en futuros posts, como siempre, los comentarios son bienvenidos.