2009
12.18

Ante todo quiero pedir disculpas a mi profesora, y darle la razón al no querer referirse con el nombre de trampa a lo que aquí voy a presentar. Más bien son casos “especiales” que, si se conocen y se saben manejar correctamente, suponen la diferencia entre una red bien diseñada que funcionará, y una red que posiblemente no funcione.

Comienzo.

Queremos una red con capacidad para 1.022 equipos. Indica la máscara más adecuada para una red de esas características.

Sabiendo que 2^10 = 1.024, y que para cada red se “pierden” las direcciones primera y última, podría parecer que una máscara /22 (255.255.252.0) es la más adecuada para la red que nos piden. Y si supiésemos que uno de esos 1.022 equipos va a actuar de puerta de enlace o que no necesitamos una puerta de enlace, la máscara sería correcta. Sin embargo lo habitual es que necesitemos una puerta de enlace, y por lo tanto una dirección IP a mayores. Por este motivo habrá que añadir un bit más a la parte de host de la máscara, que acabará siendo /21 (255.255.248.0).

Tenemos un equipo con la dirección IP 10.0.1.0/22. ¿Es correcto?

No es una dirección IP habitual en redes pequeñas que estén bien diseñadas, pero es perfectamente válida en redes grandes teniendo en cuenta la máscara. Para llegar a dicha conclusión habrá que echar mano de un par de cálculos muy básicos, a saber:

IP and MÁSCARA = dirección de red
    0000 1010 . 0000 0000 . 0000 0001 . 0000 0000
  & 1111 1111 . 1111 1111 . 1111 1100 . 0000 0000
--------------------------------------------------
    0000 1010 . 0000 0000 . 0000 0000 . 0000 0000 => 10.0.0.0

IP or not MÁSCARA = dirección de broadcast
    0000 1010 . 0000 0000 . 0000 0001 . 0000 0000
 | ~1111 1111 . 1111 1111 . 1111 1100 . 0000 0000
--------------------------------------------------
    0000 1010 . 0000 0000 . 0000 0011 . 1111 1111 => 10.0.3.255

Como la dirección dada está dentro del rango obtenido es correcta, y puede ser utilizada por cualquier equipo de la red. Lo mismo ocurriría con la dirección 10.0.0.255/22, por poner otro ejemplo. Vuelve a ser una dirección “extraña” que sin embargo es correcta teniendo en cuenta la máscara.

Dividir la red 192.168.0.0/24 en tres redes para 100, 70 y 40 equipos.

Lo primero que hago antes de intentar dividir una red, es comprobar si la original puede albergar a todos los equipos que irán en las distintas subredes. Si una red tiene capacidad para proporcionar direcciones IP a 254 equipos, es evidente que no se va a poder dividir en dos redes de 200 direcciones cada una, y por lo tanto no tiene sentido continuar.

Como en este caso la red original puede albergar a 254 equipos y el total en las subredes es de 210, podemos intentar la división.

La primera red, para 100 equipos, tendrá una máscara /25 (255.255.255.128) y podrá albergar un total de 126 equipos. Esto deja otra red del mismo tamaño, que habrá que dividir de nuevo para las dos redes que faltan.

El problema viene ahora. La máscara más pequeña posible para una red de 70 equipos es la que ya tenemos en la red a dividir. Y la “trampa” es esa, se nos ha pedido una división que es imposible hacer. No hay que rehacer una y otra vez las cuentas tratando de encontrar un error inexistente.

¿Qué máscara es la más adecuada para una red con 64 equipos? ¿Y para el enlace entre dos enrutadores?

Las dos preguntas están pensadas para llamar la atención sobre el número de equipos en las redes.

Igual que el primer caso podía llevar a errores por culpa de la puerta de enlace, si en el momento de crear cada red no se tienen en cuenta las direcciones de red y broadcast, también se pueden cometer errores.

Cuando una máscara asigna n bits a la parte de host de una dirección IP, significa que dicha dirección pertenece a una red con 2^n direcciones. Pero de todas esas direcciones hay dos que no pueden utilizarse en ningún equipo de la red. La primera dirección es la dirección de red, y la última es la dirección de broadcast (ya se indicó hace un momento la forma de calcularlas). Por lo tanto, para una dirección de red con n bits de host hay (2^n) – 2 direcciones que pueden ser utilizadas en los equipos de la red.

Para la red de 64 equipos la máscara tendrá que ser /25 (7 bits de host).

Para la red entre dos enrutadores la máscara será /30 (2 bits de host).

Final

Cuatro casos especiales no parecen demasiados, pero son suficientes para echar por tierra un examen, así que conviene estar atentos para cuando aparezcan. Si encuentro algún otro caso digno de mención, publicaré otro pequeño artículo.

2009
12.15

Hace casi dos meses jugué una partida de ajedrez que recordaré siempre. El jugador blanco comete un grave error con la apertura Reti (aunque no por intentar jugarla, sino por jugarla mal):

01. Cf3 d5
02. Cg1 e5
Inusual posición en un tablero de ajedrez

Inusual posición en un tablero de ajedrez

Leer más…

2009
12.15

Echando mano de un par de páginas con multitud de tipografías, y de un programa de retoque fotográfico libre, acabo de darle un nuevo aspecto a la cabecera de la página. Teniendo en cuenta que mis capacidades con este tipo de programas son casi nulas, es todo un logro.

Por cierto, la tipografía utilizada se llama Acid Label y su creador es Billy Argel.

2009
12.01

Iba a dejar este artículo hasta poder llenarlo un poco más, pero me han surgido temas importantes y por el momento se quedará así de escueto.

Dos sencillos comandos son necesarios para salvaguardar la integridad de nuestros DVDs. El primero tiene un nombre muy apropiado, dvdbackup, y se utiliza de la siguiente manera:

dvdbackup -M -i <unidad óptica> -o <directorio destino>

También podría ser necesario añadir la opción -n, si la autodetección del nombre fallara, y quedaría como en el siguiente ejemplo:

dvdbackup -M -i /dev/dvd -o ~/dvd -n Vendetta

Una vez terminado el proceso que lleva a cabo el anterior comando (tened paciencia), solo queda generar una imagen ISO que podrá ser grabada más tarde en un DVD:

genisoimage -dvd-video -o <imagen ISO destino> <directorio origen>

Por seguir con el ejemplo anterior:

genisoimage -dvd-video -o ~/dvd/vendetta.iso ~/dvd/Vendetta

Tan solo será necesario asegurarse de que el sistema de archivos donde se quiere almacenar la imagen generada soporte ficheros de varios GiB. También hay que tener instalada la librería libdvdcss2, que permite visualizar los DVDs y ayuda a dvdbackup a desencriptarlos para poder hacer una copia exacta (parece ser que el uso de dicha librería es ilegal en algunos lugares, así que no me hago responsable si alguien decide saltarse la ley para poder disponer de sus propiedades como mejor le parezca).

Después de ejecutar estos dos sencillos comandos podremos disfrutar de una copia exacta del DVD original, y mantener este a salvo de accidentes y descuidos.

2009
11.26

Acabo de añadir un “favicon” en el blog.

Lo he obtenido del proyecto Crystal, cuyo autor es Everaldo. Crystal se distribuye bajo los términos de la licencia LGPL, y por ello he querido dejar constancia aquí de que el icono no es en absoluto obra mía.