Direccionamiento físico y lógico: conversión de direcciones IP entre decimal y binario
Introducción
En redes informáticas, las direcciones IP son identificadores lógicos asignados a cada dispositivo conectado a una red. Internamente, los sistemas operativos y los equipos de red trabajan con estas direcciones en formato binario (base 2), aunque las expresamos en formato decimal (base 10) para facilitar su lectura y memorización.
Comprender cómo convertir entre ambos sistemas es una competencia fundamental en la administración de redes. Esta guía documenta el proceso completo de conversión en ambas direcciones, con todos los pasos de cálculo, y añade una referencia a la dirección MAC de tres fabricantes de adaptadores de red reconocidos.
Parte 1: De decimal a binario
El método empleado es el de divisiones sucesivas entre 2: se divide cada octeto decimal entre 2 de forma repetida hasta obtener un cociente de 1, y el resultado binario se forma leyendo el último cociente y los residuos de abajo hacia arriba. Cada octeto produce un grupo de 8 bits; los cuatro octetos juntos forman la dirección IP en notación binaria.
1.1 — 192.168.27.12
Octeto 1: 192
192 ÷ 2 = 96 (resto 0)
96 ÷ 2 = 48 (resto 0)
48 ÷ 2 = 24 (resto 0)
24 ÷ 2 = 12 (resto 0)
12 ÷ 2 = 6 (resto 0)
6 ÷ 2 = 3 (resto 0)
3 ÷ 2 = 1 (resto 1)
→ 11000000
Octeto 2: 168
168 ÷ 2 = 84 (resto 0)
84 ÷ 2 = 42 (resto 0)
42 ÷ 2 = 21 (resto 0)
21 ÷ 2 = 10 (resto 1)
10 ÷ 2 = 5 (resto 0)
5 ÷ 2 = 2 (resto 1)
2 ÷ 2 = 1 (resto 0)
→ 10101000
Octeto 3: 27
27 ÷ 2 = 13 (resto 1)
13 ÷ 2 = 6 (resto 1)
6 ÷ 2 = 3 (resto 0)
3 ÷ 2 = 1 (resto 1)
→ 00011011
Octeto 4: 12
12 ÷ 2 = 6 (resto 0)
6 ÷ 2 = 3 (resto 0)
3 ÷ 2 = 1 (resto 1)
→ 00001100
Resultado:
192.168.27.12 → 11000000.10101000.00011011.00001100
1.2 — 172.34.234.169
Octeto 1: 172
172 ÷ 2 = 86 (resto 0)
86 ÷ 2 = 43 (resto 0)
43 ÷ 2 = 21 (resto 1)
21 ÷ 2 = 10 (resto 1)
10 ÷ 2 = 5 (resto 0)
5 ÷ 2 = 2 (resto 1)
2 ÷ 2 = 1 (resto 0)
→ 10101100
Octeto 2: 34
34 ÷ 2 = 17 (resto 0)
17 ÷ 2 = 8 (resto 1)
8 ÷ 2 = 4 (resto 0)
4 ÷ 2 = 2 (resto 0)
2 ÷ 2 = 1 (resto 0)
→ 00100010
Octeto 3: 234
234 ÷ 2 = 117 (resto 0)
117 ÷ 2 = 58 (resto 1)
58 ÷ 2 = 29 (resto 0)
29 ÷ 2 = 14 (resto 1)
14 ÷ 2 = 7 (resto 0)
7 ÷ 2 = 3 (resto 1)
3 ÷ 2 = 1 (resto 1)
→ 11101010
Octeto 4: 169
169 ÷ 2 = 84 (resto 1)
84 ÷ 2 = 42 (resto 0)
42 ÷ 2 = 21 (resto 0)
21 ÷ 2 = 10 (resto 1)
10 ÷ 2 = 5 (resto 0)
5 ÷ 2 = 2 (resto 1)
2 ÷ 2 = 1 (resto 0)
→ 10101001
Resultado:
172.34.234.169 → 10101100.00100010.11101010.10101001
1.3 — 73.89.123.235
Octeto 1: 73
73 ÷ 2 = 36 (resto 1)
36 ÷ 2 = 18 (resto 0)
18 ÷ 2 = 9 (resto 0)
9 ÷ 2 = 4 (resto 1)
4 ÷ 2 = 2 (resto 0)
2 ÷ 2 = 1 (resto 0)
→ 01001001
Octeto 2: 89
89 ÷ 2 = 44 (resto 1)
44 ÷ 2 = 22 (resto 0)
22 ÷ 2 = 11 (resto 0)
11 ÷ 2 = 5 (resto 1)
5 ÷ 2 = 2 (resto 1)
2 ÷ 2 = 1 (resto 0)
→ 01011001
Octeto 3: 123
123 ÷ 2 = 61 (resto 1)
61 ÷ 2 = 30 (resto 1)
30 ÷ 2 = 15 (resto 0)
15 ÷ 2 = 7 (resto 1)
7 ÷ 2 = 3 (resto 1)
3 ÷ 2 = 1 (resto 1)
→ 01111011
Octeto 4: 235
235 ÷ 2 = 117 (resto 1)
117 ÷ 2 = 58 (resto 1)
58 ÷ 2 = 29 (resto 0)
29 ÷ 2 = 14 (resto 1)
14 ÷ 2 = 7 (resto 0)
7 ÷ 2 = 3 (resto 1)
3 ÷ 2 = 1 (resto 1)
→ 11101011
Resultado:
73.89.123.235 → 01001001.01011001.01111011.11101011
1.4 — 125.38.97.205
Octeto 1: 125
125 ÷ 2 = 62 (resto 1)
62 ÷ 2 = 31 (resto 0)
31 ÷ 2 = 15 (resto 1)
15 ÷ 2 = 7 (resto 1)
7 ÷ 2 = 3 (resto 1)
3 ÷ 2 = 1 (resto 1)
→ 01111101
Octeto 2: 38
38 ÷ 2 = 19 (resto 0)
19 ÷ 2 = 9 (resto 1)
9 ÷ 2 = 4 (resto 1)
4 ÷ 2 = 2 (resto 0)
2 ÷ 2 = 1 (resto 0)
→ 00100110
Octeto 3: 97
97 ÷ 2 = 48 (resto 1)
48 ÷ 2 = 24 (resto 0)
24 ÷ 2 = 12 (resto 0)
12 ÷ 2 = 6 (resto 0)
6 ÷ 2 = 3 (resto 0)
3 ÷ 2 = 1 (resto 1)
→ 01100001
Octeto 4: 205
205 ÷ 2 = 102 (resto 1)
102 ÷ 2 = 51 (resto 0)
51 ÷ 2 = 25 (resto 1)
25 ÷ 2 = 12 (resto 1)
12 ÷ 2 = 6 (resto 0)
6 ÷ 2 = 3 (resto 0)
3 ÷ 2 = 1 (resto 1)
→ 11001101
Resultado:
125.38.97.205 → 01111101.00100110.01100001.11001101
1.5 — 178.148.246.26
Octeto 1: 178
178 ÷ 2 = 89 (resto 0)
89 ÷ 2 = 44 (resto 1)
44 ÷ 2 = 22 (resto 0)
22 ÷ 2 = 11 (resto 0)
11 ÷ 2 = 5 (resto 1)
5 ÷ 2 = 2 (resto 1)
2 ÷ 2 = 1 (resto 0)
→ 10110010
Octeto 2: 148
148 ÷ 2 = 74 (resto 0)
74 ÷ 2 = 37 (resto 0)
37 ÷ 2 = 18 (resto 1)
18 ÷ 2 = 9 (resto 0)
9 ÷ 2 = 4 (resto 1)
4 ÷ 2 = 2 (resto 0)
2 ÷ 2 = 1 (resto 0)
→ 10010100
Octeto 3: 246
246 ÷ 2 = 123 (resto 0)
123 ÷ 2 = 61 (resto 1)
61 ÷ 2 = 30 (resto 1)
30 ÷ 2 = 15 (resto 0)
15 ÷ 2 = 7 (resto 1)
7 ÷ 2 = 3 (resto 1)
3 ÷ 2 = 1 (resto 1)
→ 11110110
Octeto 4: 26
26 ÷ 2 = 13 (resto 0)
13 ÷ 2 = 6 (resto 1)
6 ÷ 2 = 3 (resto 0)
3 ÷ 2 = 1 (resto 1)
→ 00011010
Resultado:
178.148.246.26 → 10110010.10010100.11110110.00011010
Parte 2: De binario a decimal
Para la conversión inversa se aplica el método de la tabla de dobles (también llamado método de Horner): se parte del bit más significativo (izquierda) y, para cada bit, se multiplica el acumulado por 2 y se suma el valor del bit actual. Al llegar al último bit se obtiene directamente el valor decimal del octeto.
2.1 — 11100100.01010101.11100111.11001010
Octeto 1: 11100100
| Bit | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
|---|
| ×2 | — | 2 | 6 | 14 | 28 | 56 | 114 | 228 |
| Acumulado | 1 | 3 | 7 | 14 | 28 | 57 | 114 | 228 |
Octeto 2: 01010101
| Bit | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
|---|
| ×2 | — | 0 | 2 | 4 | 10 | 20 | 42 | 84 |
| Acumulado | 0 | 1 | 2 | 5 | 10 | 21 | 42 | 85 |
Octeto 3: 11100111
| Bit | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
|---|
| ×2 | — | 2 | 6 | 14 | 28 | 56 | 114 | 230 |
| Acumulado | 1 | 3 | 7 | 14 | 28 | 57 | 115 | 231 |
Octeto 4: 11001010
| Bit | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
|---|
| ×2 | — | 2 | 6 | 12 | 24 | 50 | 100 | 202 |
| Acumulado | 1 | 3 | 6 | 12 | 25 | 50 | 101 | 202 |
Resultado:
11100100.01010101.11100111.11001010 → 228.85.231.202
2.2 — 00001111.11110000.11001100.00110011
Octeto 1: 00001111
| Bit | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
|---|
| ×2 | — | 0 | 0 | 0 | 0 | 2 | 6 | 14 |
| Acumulado | 0 | 0 | 0 | 0 | 1 | 3 | 7 | 15 |
Octeto 2: 11110000
| Bit | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
|---|
| ×2 | — | 2 | 6 | 14 | 30 | 60 | 120 | 240 |
| Acumulado | 1 | 3 | 7 | 15 | 30 | 60 | 120 | 240 |
Octeto 3: 11001100
| Bit | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
|---|
| ×2 | — | 2 | 6 | 12 | 24 | 50 | 102 | 204 |
| Acumulado | 1 | 3 | 6 | 12 | 25 | 51 | 102 | 204 |
Octeto 4: 00110011
| Bit | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
|---|
| ×2 | — | 0 | 0 | 2 | 6 | 12 | 24 | 50 |
| Acumulado | 0 | 0 | 1 | 3 | 6 | 12 | 25 | 51 |
Resultado:
00001111.11110000.11001100.00110011 → 15.240.204.51
2.3 — 10010101.00111001.01010100.00010111
Octeto 1: 10010101
| Bit | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
|---|
| ×2 | — | 2 | 4 | 8 | 18 | 36 | 74 | 148 |
| Acumulado | 1 | 2 | 4 | 9 | 18 | 37 | 74 | 149 |
Octeto 2: 00111001
| Bit | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
|---|
| ×2 | — | 0 | 0 | 2 | 6 | 14 | 28 | 56 |
| Acumulado | 0 | 0 | 1 | 3 | 7 | 14 | 28 | 57 |
Octeto 3: 01010100
| Bit | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
|---|
| ×2 | — | 0 | 2 | 4 | 10 | 20 | 42 | 84 |
| Acumulado | 0 | 1 | 2 | 5 | 10 | 21 | 42 | 84 |
Octeto 4: 00010111
| Bit | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
|---|
| ×2 | — | 0 | 0 | 0 | 2 | 4 | 10 | 22 |
| Acumulado | 0 | 0 | 0 | 1 | 2 | 5 | 11 | 23 |
Resultado:
10010101.00111001.01010100.00010111 → 149.57.84.23
2.4 — 00010101.01001111.11111111.00011111
Octeto 1: 00010101
| Bit | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
|---|
| ×2 | — | 0 | 0 | 0 | 2 | 4 | 10 | 20 |
| Acumulado | 0 | 0 | 0 | 1 | 2 | 5 | 10 | 21 |
Octeto 2: 01001111
| Bit | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
|---|
| ×2 | — | 0 | 2 | 4 | 8 | 18 | 38 | 78 |
| Acumulado | 0 | 1 | 2 | 4 | 9 | 19 | 39 | 79 |
Octeto 3: 11111111
| Bit | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
|---|
| ×2 | — | 2 | 6 | 14 | 30 | 62 | 126 | 254 |
| Acumulado | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 |
Octeto 4: 00011111
| Bit | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
|---|
| ×2 | — | 0 | 0 | 0 | 2 | 6 | 14 | 30 |
| Acumulado | 0 | 0 | 0 | 1 | 3 | 7 | 15 | 31 |
Resultado:
00010101.01001111.11111111.00011111 → 21.79.255.31
2.5 — 00001000.11110111.11100011.11011111
Octeto 1: 00001000
| Bit | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
|---|
| ×2 | — | 0 | 0 | 0 | 0 | 2 | 4 | 8 |
| Acumulado | 0 | 0 | 0 | 0 | 1 | 2 | 4 | 8 |
Octeto 2: 11110111
| Bit | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
|---|
| ×2 | — | 2 | 6 | 14 | 30 | 60 | 122 | 246 |
| Acumulado | 1 | 3 | 7 | 15 | 30 | 61 | 123 | 247 |
Octeto 3: 11100011
| Bit | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
|---|
| ×2 | — | 2 | 6 | 14 | 28 | 56 | 112 | 226 |
| Acumulado | 1 | 3 | 7 | 14 | 28 | 56 | 113 | 227 |
Octeto 4: 11011111
| Bit | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
|---|
| ×2 | — | 2 | 6 | 12 | 26 | 54 | 110 | 222 |
| Acumulado | 1 | 3 | 6 | 13 | 27 | 55 | 111 | 223 |
Resultado:
00001000.11110111.11100011.11011111 → 8.247.227.223
Parte 3: Referencias de fabricantes de adaptadores de red y su código OUI (MAC)
La dirección MAC (Media Access Control) es el identificador físico único asignado a cada interfaz de red. Está formada por 48 bits (6 bytes) y se expresa habitualmente en notación hexadecimal. Los tres primeros bytes constituyen el OUI (Organizationally Unique Identifier), que identifica al fabricante del adaptador, y los otros tres identifican el dispositivo concreto.
A continuación se listan tres fabricantes de adaptadores de red con su código OUI registrado:
| Fabricante | Código OUI (MAC) |
|---|
| Micro-Star International Co., Ltd. (MSI) | D8:CB:8A |
| Intel Corporation | 00:12:F0 |
| Intel Corporation | 00:1F:3C |
| MACHinist | 20:67:9D |
Estos códigos OUI están registrados en la base de datos pública del IEEE (Institute of Electrical and Electronics Engineers), que es el organismo encargado de asignar y mantener el registro de identificadores de fabricantes a nivel mundial.
Conclusión
Dominar la conversión entre sistemas de numeración decimal y binario es una base imprescindible para la administración de redes: permite interpretar máscaras de subred, analizar tablas de enrutamiento y comprender el funcionamiento interno de los protocolos de red. Los métodos de divisiones sucesivas (decimal → binario) y de tabla de dobles (binario → decimal) son las herramientas más utilizadas en la práctica por su sistematización y facilidad de verificación.
Como siguientes pasos se recomienda profundizar en:
- El cálculo de máscaras de subred y la segmentación CIDR.
- La identificación de clases de redes IP (A, B, C) a partir de los bits más significativos.
- La conversión entre hexadecimal y binario, especialmente útil para el análisis de direcciones MAC e IPv6.