La Estructura de 32 bits (IPv4)
Una dirección IPv4 es, en esencia, una cadena de 32 dígitos binarios (bits). Esta cadena se divide en grupos más pequeños para que sea manejable tanto para las máquinas como para los humanos.
1. De Binario a Decimal
Para facilitar la lectura, los 32 bits se dividen en 4 grupos de 8 bits, llamados octetos.
Cada octeto representa un número decimal entre 0 y 255.
La separación entre octetos se indica con un punto (notación decimal por puntos).
2. El valor de los bits
Cada bit dentro de un octeto tiene un valor basado en las potencias de 2, dependiendo de su posición (de derecha a izquierda):
| Posición | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Valor | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Ejemplo: El octeto
11000000en binario es:$128 + 64 + 0 + 0 + 0 + 0 + 0 + 0 = \mathbf{192}$ en decimal.
3. Jerarquía: Red vs. Host
Los 32 bits no son una masa uniforme; se dividen en dos segmentos gracias a la máscara de subred (que también tiene 32 bits):
Bits de Red: Los bits que la máscara marca con un
1. Identifican la red común.Bits de Host: Los bits que la máscara marca con un
0. Identifican al dispositivo individual.
4. Notación CIDR (Prefijo)
Como escribir una máscara de 32 bits (ej: 255.255.255.0) es tedioso, se utiliza el prefijo de red, que indica cuántos bits de los 32 están destinados a la red.
/8: Los primeros 8 bits son de red (Clase A)./16: Los primeros 16 bits son de red (Clase B)./24: Los primeros 24 bits son de red (Clase C).
5. ¿Por qué 32 bits son un problema hoy?
El límite matemático de 32 bits es $2^{32}$, lo que permite aproximadamente 4.294.967.296 direcciones únicas.
En los años 80 parecía infinito, pero hoy, con miles de millones de móviles y dispositivos IoT, las direcciones IPv4 se han agotado.
Esta es la razón por la que estamos migrando a IPv6, que utiliza 128 bits, permitiendo un número de direcciones prácticamente ilimitado.
Ejercicio rápido para clase:
Pide a los alumnos que conviertan su IP local a binario. Si su IP es 192.168.1.1, el resultado de 32 bits sería:
11000000 . 10101000 . 00000001 . 00000001