Es algo que pasa tan deprisa en los cursos de redes, que uno se lo olvida instantáneamente.

También es algo que casi no tiene un uso práctico, quizás por eso casi nadie lo utiliza, pero si, un número IPv4, que consta de 4 octetos (en formato binario, claro) se suele representar de una manera particular, y ésta es, pasando del binario al decimal, pero sin “deshacer” los octetos.

Es decir, que una dirección IP cómo:

00001010.00000000.00000000.00000010

Es, en realidad, la famosa:

10.0.0.2

Y ahí nos quedamos, convirtiendo de binario a decimal, y viceversa.

Pero… también es posible llevar una IP a formato decimal real, es decir, a un número entero. Sin octetos. Y para ello, es necesario utilizar la siguiente fórmula:

(ax256³)+(bx256²)+(cx256¹)+(dx256°)

¿Interesante, verdad? (Si decís que sí, es porque sos muy geek).

Con esa fórmula, podemos pasar 127.0.0.1 a un sólo número y tenemos 2130706433.

Si abrís la consola (o CMD) y le hacemos ping a ese número, nos pasa…

Pingueando al localhost, oh yeah.

Esto es así, todo es relativo, no importa el formato ya que al final todo termina en binario pero me parece un tema interesante, al menos para conocerlo así por arriba, para recordar que en networking las cosas tienen valores “por capas”.

O si no, que alguien me diga lo genial que es el DNS de Google, el cual tiene el valor…

8.8.8.8
8.8.4.4

Pero es más genial en binario, veamos…

00001000.00001000.00001000.00001000
00001000.00001000.00000100.00000100

Simplemente hermosos (y similares) números, a ojos de un entusiasta del networking

Ahora con IPv6, todo será mas frío, mas distante. Solo quedará la nostalgia…

7 Comentarios

  1. Debe ser el post mas nostálgico y exentrico de todo el sitio.

    Por algo usamos octetos y no binario y decimal puro. es mas facil acordarse de una secuencia de 4 numeros que de un numero de 10 digitos o 36 digitos en binario.

    Pero la verdad que voy a extrañar poder decirme las Ips de memoria. con IPv6 ni siquiera los DNS de google son capaces de ser recordados con facilidad. Es una lastima que se vaya a perder ese encanto de simpleza en las LAN`s, en un futuro cercano.

  2. JA justo estoy viendo subnetting en el CCNA1; justo lo q me faltaba, otro loco ja!

    Ojo con este dato: tenes un 0 de más en el primer octeto!

  3. Esto es muy común usarlo para guardar IPs en bases de datos. Mysql tiene funciones nativas para hacer esa conversión (INET_ATON, INET_NTOA).

    PHP también las tiene pero con un comportamiento ligeramente distinto dependiendo de cómo está compilado y dónde está corriendo (por una cuestión de signed int propia de PHP, devuelve numeros negativos, a veces).

    Volviendo al tema: para MySQL es más fácil indizar un integer que un string (el índice es más chico) y es más rápido hacer ranged queries.

  4. Se va a extrañar mucho el modelo de octetos de IPv4.

    Justo que termino de entender bien como es el tema de las IPs, máscaras de red y demás…

    Por cierto Guille, nunca voy a olvidar tu consejo sobre aprender el modelo OSI, es clave clave para entender redes, uno sabe donde está parado, si es un problema de un defensor, mediocampista o delantero, realmente fundamental.

  5. gran data! es un horror cms, viva bash, un muy buen punto a favor de win10 de incluirlo casi por defecto…

  6. También se puede hacer 2^a x 3^b x 5^c x 7^d, claro que así el querido 192.168.0.1 quedaría 6298367542795986275849147113965957459415290157432996166995416013644883179703999968574826327185205089537833537213426067051428737341552852992, lo que es bastante poco práctico

Dejar respuesta

Please enter your comment!
Please enter your name here