«Dime cuantos paquetes de datos pierdes y te diré cuán como la mierda navegas.»

… O de como hacer uso y abuso del comando ping para verificar un enlace de datos.

Mas que nada en conexiones inalámbricas pero puede darse en cualquier otra circunstancia también y por motivos de lo mas diversos, además de una buena latencia es muy importante evitar la pérdida de paquetes de datos entre tu PC y su interlocutor a toda costa.

Hay miles de herramientas, algunas que funcionan en modo texto, otras tantas en modo gráfico que te permiten darte una idea muy aproximada de la calidad real de un enlace de datos pero si tengo que poner primera en la lista de las mas usadas al menos por mí –y creo que por el colectivo de informáticos también– definitivamente el comando ping para consola se lleva todos los laureles, además viene preinstalado de serie en cualquier sistema operativo, sea el que sea.

De todo corazón espero que no seas usuario de Windows. Si lo sos, entonces ni te gastes en seguir leyendo, por que si bien el comando ping para windows dispone de alrededor del 2% de las funcionalidades que nos provee el mismo para Linux, todo lo que voy a explicar a continucación queda sin efecto. Si sos usuario de Windows por otro lado, he aquí otra buena razón para tener siempre un Linux cualquiera a mano, en un CD, en un pendrive o en alguna partición pequeñita, por que nunca sabés cuando lo vas a necesitar.

Volviendo al asunto, no voy a entrar en detalles sobre el principio de funcionamiento del comando ping para Linux ni a explicar como entender la salida en pantalla del mismo (para los que se estén desayunando con esto por primera vez y les interese, los remito al manual del comando) si no a centrarme en una característica puntual que lo vuelve una de las mejores herramientas a la hora de hacer verficaciones de calidad de servicio mientras se hacen modificaciones sobre el enlace de datos: La capacidad de inundación, lo que en inglés se conoce como «Flood».

Ping para Linux es la navaja suiza de las herramientas de testeo de calidad del enlace y la capacidad de floodear que posee debe ser una de las mejores herramientas «graficas» para consola que podés encontrar por ahí. Unicamente disponible para superusuarios –necesitás privilegios de root para poder usar esta caraterística– te permite conocer con presición como anda la cosa mientras toqueteás algún que otro parámetro en tu router.

La genialidad de la opción flood radica en su principio de funcionamiento: Por cada paquete de datos que se envía se imprime un punto -un » . «- en la pantalla. Por cada paquete de datos que se recibe, se borra un punto. Eso es todo.

El nombre de «flood» o inundación que sería la traducción literal proviene del hecho de que el kernel no esperará absolutamente nada entre un paquete enviado y otro, inundará la red con peticiones usando el protocolo ICMP tan rápido con el enlace en si mismo lo permita y a menos que específicamente le habilites el modo «adaptativo» pasandole al comando la opción » -A » forzará al enlace a todo lo que dé produciendo inevitablemente fallos que serás capaz de visualizar a golpe de ojo nada mas viendo como se van imprimiendo (o no) puntitos en la pantalla en tiempo real.

Dependiendo del escenario puede que te interese verificar cuanto es el máximo ancho de banda disponible en un enlace inalámbrico o cuantos paquetes pierde tu conexiòn a internet por culpa de lo anterior. Suponiendo que quisieramos hacer esta última prueba, haciendo ping contra el servidor de DNS de Google por ejemplo, el comando en cuestión es tan simple como lo que sigue:

ping -f 8.8.8.8

Que en una red sana debería devolverte algo como esto:

Usando ping con flood habilitado para verificar el estado de la conexión.

Usando ping con flood habilitado para verificar el estado de la conexión.

Y que por otro lado, en una red con problemas, debería devolverte esto otro:

Verificando una red con problemas de pérdida de paquetes con ping.

Verificando una red con problemas de pérdida de paquetes con ping.

Todos los puntitos que se ven en la última captura representaron en tiempo real la pérdida de paquetes que hubo durante todo el proceso. Usé además la opción «count» representada por » -c » para pedirle a ping que solo envíe 1000 paquetes y se detenga a continuación.

Es muy util también la opción «size» para especificar el tamaño de paquete, esto sirve para diagnosticar otro tipo de problemas por ejemplo cuando estás jugando con el MTU de tus routers o interfaces de red o el RTS o el Fragemnation Threshold de tu router inalámbrico.

Como la cabecera del protocolo ICMP utiliza siempre 8 bytes, para forjar un paquete por ejemplo de 512 bytes de tamaño necesitas tener estos 8 bytes en cuenta, restándoselos al momento de ejecutar el comando:

ping -f -c 1000 -s 504

Es muy común ver como una red inalámbrica se desempeña a la perfección con paquetes de datos pequeñitos, los de 64 bytes que envía ping por defecto (la cabecera ICMP + 56 bytes adicionales) cuando no se le especifica el tamaño pero se viene todo a pique cuando el tamaño de paquete excede los 512 o 768 bytes, por ejemplo. Y ni hablar de cuando excede al MTU que por defecto en este tipo de redes es de 1500 bytes.

También es muy útil a la hora de testear redes que tienen implementado QoS por que permite especificar los bits ToS en la cabecera del paquete, con lo que podés ver en tiempo real que tal se desempeña tu router en este sentido. Por ejemplo para el ToS «Maximice Data Throughput» basta con ejecutar:

ping -f -c 1000 -s 504 -Q 0x08

Ping: La herramienta que no te puede faltar a la hora de aislar fallos puntuales en una red. Preinstalada por defecto y gratis. ¿Que mas se puede pedir?

Simplemente por que Linux administra de forma mas eficiente los recursos disponibles, es innegable que cualquier Linux va mucho mas rápido que Windows. Esto se nota aún mas en las PC mas bien viejitas en donde instalar una versión reciente de Windows es impensable y sin embargo todavía puede ser de utilidad si se le instala una versión reciente de Linux.

Por este motivo es que cada vez mas se ve por todos lados que no solo en PC de escritorio se usa Linux, si no también en teléfonos celulares, routers y equipos que proveen conectividad, etc. Donde los recursos son limitados, Linux se luce, los administra mejor, carga todo mas rápido haciendo uso de menor cantidad de memoria RAM y proveyendo de esquemas de seguridad mejorados.

Es exactamente por el mismo motivo por el que en servidores en producción donde la carga de transacciones es altísima, siempre se prefiere Linux.

Este artículo viene a contrarestar todo lo anterior.

Voy a explicar a continuación como hacer que Windows sea tan rápido como Linux:

  1. Mejor hardware: Tu PC con Windows 7 y 512Mb de ram nunca va a poder ser tan rápida como una con Linux y esa misma cantidad de memoria disponible. Para que sea mas rápida, agrega mas memoria RAM, 1Gb mínimo, recomendado 2Gb o mas.
  2. Mejor hardware: ¿Un microprocesador ahora que vienen de 2, 3, 4, 6 y 8 cores? ¡No se hable mas!: Para que tu PC con Windows sea mas rápida, agregale mas microprocesadores, como mínimo un Quad Core, de ahí para arriba. ¡Superá eso, Linux!
  3. Defragmenta tu disco no menos de tres veces por día: Una en ayunas, una a medio día antes de cada comida y una a la noche, antes de irte a dormir. Cualquier analista de sistemas te podrá confirmar esta afirmación. Un disco desfragmentado siempre corre mejor que uno al que nunca se le hubiera ordenado el sistema de archivos.
  4. Deshabilita restaurar sistema: Que tu sistema operativo se ponga cada tanto a hacer copias de seguridad en caso de que algo se rompa sin que se lo pidan no hace mas que consumir recursos. Como nada se va a romper, -o no debería romperse al menos– desactivá esta función. Estarás siempre aprovechando el 100% de tiempo de microprocesador y desocupando una buena tajada del disco rígido.
  5. Desactiva el antivirus: Eso de tener uno o mas programas constantemente vigilando todas las operaciónes de entrada y salida sobre el sistema de archivos y los procesos y encima controlando ciertos sectores «criticos» del registro de Windows no es mas que una pérdida de tiempo de procesamiento, de memoria RAM y de espacio en disco (además de sumar mas archivos para defragmentar diariamente). Para que tu Windows realmente le pase el trapo a Linux, nada de antivirus ni mariconadas de esas, al fin y al cabo, las PC no necesitan antivirus.
  6. Desactiva las actualizaciones automáticas: estarás liberando al microprocesador de la tarea de controlar las versiones de los archivos instalados, al sistema de archivos del mismo tedio y a la memoria RAM durante el proceso de actualización. Además, de esa forma es mas improbable recibir una de esas actualizaciones que te entotoran «de prepo», –que de seguridad no tienen nada– que avisan que podrías ser víctima de una falsificación de software. Que puede que tu copia de Windows no sea original.
  7. Desactiva el firewall de Windows y cualquier otro firewall de terceros que tuvieras en ejecución: Nunca vas a poder competirle a Linux con tanta parafernalia consumiendo tus preciados recursos de hardware. Nada de verificar escaneos de puertos o bloquear puertos privilegiados, muchísimo menos se te ocurra habilitar filtrado de tráfico en tiempo real, necesitas toda la potencia disponible exclusivamente para el sistema operativo.
  8. Desactiva todos los programas que se cargan durante el arranque, aun que sean esenciales para el funcionamiento: Si, que la botonera de la impresora no funciona si no tiene el ícono en el system tray, o que la cámara digital no descarga automáticamente las fotos al conectarla si no está el proceso en ejecución consumiendo memoria, que el detector de conectores del panel frontal no pone en funcionamiento los auriculares si no está el audio-deck al lado del reloj consumiendo 17Mb de ram pero no hay nada que hacerle. ¿Querés competir contra Linux? Entonces desactivalos a todos, si los necesitás los ejecutás a mano antes de usarlos y listo.
  9. Desactiva todos los servicios que no usás permanentemente: Bluetooth, Audio de Windows –lo activás si lo vas a usar, casi nadie usa audio el 100% del tiempo-, configuración inalámbrica rápida –total hacés la configuración a mano desde las propiedades del adaptador de red-, conexiones de red (ver punto 10), inicio de sesión secundario para que ningún proceso pueda pasarte por arriba y escalar privilegios sin tu consentimiento, plug and play –si no vas a conectar ningún pendrive ni agregar mas hardware, ¿para que lo querés?– registro del sistema –¿Para que registrar todo si nunca revisás el log?-, etc, etc.
  10. Por último y el mas importante de todos: Desconecta tu PC de internet.

Siguiendo esta guía al pié de la letra, tu PC va a ser mucho mas rápida que una con Linux e igual de segura, sin internet, eso es verdad, pero sin antivirus, sin firewall y sin los parches para corregir vulnerabilidades, yo en tu lugar no me arriesgaría a conectarme.

Tu equipo no será el mas funcional de todos, pero ¡Es rapidísimo!

FreeBSD Vs Windows: ¿Alguna duda?

FreeBSD Vs Windows: ¿Alguna duda?

A ver que elegís: ¿Linux con todo funcionando, rápido y sin problemas o Windows y mi guía de optimización?

Esta va para todos los que dicen que en Linux todo es complicado de hacer y poco funcional… Todo no se puede, ¿No?

Mas que fuente, inspiración: How to make Windows faster tan Linux.

Bueno mi colección de libros para compartir con todos ustedes y Malditonerd. Hay de todo un poco para cualquiera que estudie algo relacionado con la computación, Matemáticas, lenguajes de programación y todo por el estilo.

LISTA:

25 libros de curso y programación en C y C++
Un PDF con todos los códigos Alt (ASCII)
Arquitectura de computadoras por Morris Mano
Biblioteca con los siguientes tutoriales: ADA, ASP, C, CGI, COBOL, DELPHI, ENSAMBLADOR, FORTRAN, HTML, JAVA, LISP, MAPLE, MATLAB, MODULA-2, OOP, PASCAL, PERL, PSP, SQL, UML.
Curso c-Sharp Visual Studio 2008 (con ejemplos)
La biblia de Java
Leithold 7 (Cálculo)
Álgebra y trigonometría de Baldor
Manuales con ejempli de Visual Basic 6
VB6 como si estuviera en primero
Libro de oro de Visual Basic 6
Álgebra lineal de Grossman
Manual Dream Weaver CS4
Manual MySql
Tabla completísima de converción de unidades.

Por lo que ven son muchos libros y tutoriales, son 423 Mb de información muy completa en 5 partes.
Me falta uno que otro libro de Física pero esa para la próxima. Si tan chau los links, me mandan MP y los vuelvo a subir
Gracias.

LINKS

http://www.megaupload.com/?d=BSZHNL9G
http://www.megaupload.com/?d=DCYEPBQ6
http://www.megaupload.com/?d=03PNS32I
http://www.megaupload.com/?d=1P1LD98I
http://www.megaupload.com/?d=5XE38T1C

Password del rar: bizku

Gracias!!!!