¿QUÉ ES UNA DIRECCIÓN IP? ¿CÓMO FUNCIONA?

La dirección IP es un conjunto de números que identifica un host o dispositivo en la red, ya sea red privada (local) o internet (red pública), está compuesto por un conjunto de números decimales, compuesta por cuatro octetos, cada octeto está compuesto por 8 bits. Los números pueden ir del 0 al 255, dichos números decimales son manejados por los equipos digitales en lenguaje binario, ceros y unos (apagado o encendido).

Después de esta breve descripción, vamos a profundizar en el funcionamiento y la definición de las direcciones IP.

Como hemos mencionado antes, una dirección IP está compuesta por 8 bits, repartidos en cuatro octetos:

Octeto:

192

1

1 0 0 0 0 0

0

8º BIT 7º BIT 6º BIT 5º BIT 4º BIT 3er BIT 2º BIT

1er BIT

 

Dirección IP con sus cuatro octetos:

  1er octeto   2º octeto   3er octeto   4º octeto
Número decimal

192

. 168 . 1 .

0

Número en binario (bits) 11000000   10101000   00000001   00000000
Número de bits

8 bits

  8 bits   8 bits  

8 bits

 

Y ahora te preguntarás, ¿por qué?, bueno voy a responderte esa pregunta.

El lenguaje binario se basa en ceros y unos, o lo que es lo mismo, bit apagado, bit encendido. Los números, las letras, los datos en general son un conjunto de ceros y de unos, combinados de manera concreta para dar lugar a los datos que manejamos y conocemos.

Nuestro PC maneja las direcciones IP en forma de bits, pero nosotros lo hacemos en números decimales, por lo que es necesario saber convertir de binario a decimal, y al revés.

Para ello podemos usar varios métodos, pero antes de nada, es necesario aprendernos la siguiente tabla de potencias (aunque parezca difícil, luego es como montar en bici):

 

Potencia

Valor

20

1

21

2

22

4

23

8

24

16

25

32

26

64

27

128

28

256

29

512

210

1024

211

2048

212

4096

213

8192

214

16384

215

32768

216

65536

 

Ahora que ya conocemos estos valores, vamos a aprender a aplicarlos en las direcciones IPs.

Vamos a coger como referencia una IP que, a casi todos los que nos gusta la informática, hemos visto alguna vez en nuestro ordenador, “192.168.1.1”, vamos a coger el primer octeto, “192”, y vamos a pasarlo a decimal:

 

Número decimal

192

Número en binario (bits)

11000000

 

¿Cómo hemos llegado hasta aquí?

Hemos cogido 8 bits apagados, o lo que es lo mismo ocho ceros y hemos usado la tabla de potencias anteriormente descrita, de 20 al 27, de la siguiente manera:

 

Número en binario

1 1 0 0 0 0 0 0  
Potencias

27

26 25 24 23 22 21 20

 

Valor 128 64 32 16 8 4 2 1

= 192

 

Como podemos observar, la posición de cada bit corresponde a un valor del 1 al 128 o lo que es lo mismo del 20 al 27, y como hemos mencionado varias veces, “0” es un bit apagado y “1” es un bit encendido, por lo que, si sumamos los valores correspondientes a los bits encendidos, obtenemos la siguiente operación:

128 + 64 = 192

O lo que es lo mismo:

128 + 64 + 0 + 0 + 0 + 0 + 0 + 0 = 192

 

Esta operación se lleva a cabo idénticamente en cada uno de los octetos, por eso cuando decimos que en cada octeto sólo se pueden usar números del 0 al 255, es porque sólo se nos permiten sumar valores del 20 al 27, o lo que es lo mismo, sólo tenemos 8 bits, además, si tuviéramos todos los bits de un octeto activados, o sea todos los bit en 1, obtendríamos el valor 255, de ahí que sea el valor máximo por octeto:

 

Número en binario 1 1 1 1 1 1 1 1  
Potencias 27 26 25 24 23 22 21 20  
Valor 128 64 32 16 8 4 2 1 = 255

 

En fórmula matemática:

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

Resumiendo, estamos convirtiendo un número binario a decimal, pero… cómo he sabido el valor binario de “192” y “255”. A continuación, vamos a explicarlo.

 

CONVERSIÓN DE DECIMAL A BINARIO

Para convertir un número decimal en binario, podemos usar muchos métodos, de entre ellos vamos a usar dos métodos de conversión directos muy sencillos.

1er método:

El primero método que vamos a ver puede resultar un poco agotador o repetitivo, pero es el más efectivo, ya que podemos convertir cualquier número decimal a binario sin importar lo grande que sea éste. Para el ejemplo voy a coger un número fácil como puede ser el “240”. Ahora lo que tenemos que hacer es dividir ese número entre “2” y el resultado dividirlo otra vez entre dos, así hasta que el resultado de “1”. Luego cogemos el último cociente y los restos empezando por abajo en orden ascendente:

decimal-binario1

Y nos da como resultado: 11110000

Ahora ya sabemos que “240” se expresa en binario como “11110000”.

 

2º método:

Este método es más fácil pero implica saberse la tabla de potencias o echar mano de la calculadora, cosa que en un examen de redes como es debido, no te van a dejar hacer.

Vamos a poner como ejemplo el mismo número del método anterior, el “240”, y vamos a echar mano de la tabla de potencias y vamos a buscar en ella el valor más cercano a “240”, pero que no se pase. En este caso el valor más cercano es “128”, ya que “256” se pasa.

Ahora cogemos “240” y “128” y los restamos, y nos da 112.

240 – 128 =  112 (Anotamos un “1” al binario y seguimos)

Como hemos podido restarle 128, anotamos un “1”.

Ahora tenemos que seguir la tabla de potencias a partir de 128, con el siguiente valor, que en este caso es 64, y como sí que podemos quitar 64 a 112, los restamos y anotamos otro “1”.

112 – 64 = 48 (Anotamos un “1” al binario y seguimos)

Repetimos el mismo proceso:

48 – 32 = 16 (Anotamos un “1” al binario y seguimos)

16 – 16 = 0 (Anotamos un “1” al binario y finalizamos)

Cuando lleguemos a cero, tenemos que completar los bits hasta que sean ocho, esto lo conseguimos añadiendo ceros hasta llegar a 8 bits.

1111 + 0000 = 11110000

 

Voy a poner un ejemplo un poco distinto:

Número “201” a binario:

201 – 128 = 73 (Anotamos un “1” al binario y seguimos)

73 – 64 = 9 (Anotamos un “1” al binario y seguimos)

Y ahora diréis, “no puedo restarle 32 a 9”, pues lo que hacemos es anotarnos un “0” en el binario por cada número que no se pueda restar.

9 – 32 = (Anotamos un “0” al binario y nos lo saltamos)

9 – 16 = (Anotamos un “0” al binario y nos lo saltamos)

9 – 8 = 1 (Anotamos un “1” al binario y seguimos)

1 – 4 = (Anotamos un “0” al binario y nos lo saltamos)

1 – 2 = (Anotamos un “0” al binario y nos lo saltamos)

1 – 1 = 0 (Anotamos un “1” al binario y finalizamos)

Resultado: 11001001 = 128+64+8+1 = 201

Como habréis podido observar, todo es sistemático y termina en el mismo principio.

 

Ahora que ya hemos entendido qué es y cómo funciona una dirección IP, vamos a pasar a explicar las clases de direcciones IPs que existen.

Las direcciones IPs se dividen en cinco clases, y usan una serie de rangos:

  RANGO
Clase A 1.0.0.0 – 126.255.255.255
Clase B 128.0.0.0 – 191.255.255.255
Clase C 192.0.0.0 – 223.255.255.255
Clase D 224.0.0.0 – 239.255.255.255
Clase E 240.0.0.0 – 255.255.255.254

 

El rango 127.0.0.0 – 127.255.255.255 está reservado para las direcciones de loopback, en concreto se suele usar la dirección 127.0.0.1, más adelante explicaremos qué es la dirección de loopback.

La clase D está reservada para mensajes de difusión “multicast”, más adelante sabréis que son.

Las clase E está reservada para ámbito experimental.

La última dirección 255.255.255.255 se usa como “broadcast”, más adelante veremos qué es.

Estos rangos abarcan todas las IPs existentes, pero debido al agotamiento de direcciones IPs, se decidió tomar una serie de medidas para solucionar este problema. Una de ellas fue reservar un rango de IPs en cada una de las tres primeras clases para que se usaran en el ámbito privado, a esto se le llama rango de direcciones IP privadas. Con esto queremos decir que las direcciones que hay en internet son IPs públicas y las direcciones que se usan dentro del ámbito doméstico, empresarial o privado, son IPs privadas. La segunda solución viene de la mano de la primera y es un protocolo llamado NAT, el cual permite separar la parte privada del usuario de la parte pública (Internet), y así poder usar los mismos rangos de IPs privadas sin generar un conflicto de IPs, pero esto lo daremos mucho más adelante.

En la siguiente tabla se detallan los rangos de IPs privadas que se usan dentro las tres primeras clases (A, B y C):

 

  RANGOS DE IPs PRIVADAS
Clase A 10.0.0.0 – 10.255.255.255
Clase B 172.16.0.0 – 172.31.255.255
Clase C 192.168.0.0 – 192.168.255.255

 

Y ahora os preguntaréis, ¿qué diferencia hay entre los distintos tipos de clases?

Principalmente se diferencian por el número de IPs que disponemos, tanto para rangos públicos como privados, siendo la Clase A la que mayor número de IPs nos proporciona; la clase B nos da una cantidad mucho más baja que la anterior y la Clase C nos da poco más de dos centenares de IPs.

 

  Cantidad de IPs Ámbito de uso
Clase A 2.147.483.648 ISPs, grandes multinacionales
Clase B 65.536 Empresas grandes y medianas
Clase C 256 Pequeñas empresas y hogares

 

 

LA MÁSCARA DE SUBRED

Ahora que ya sabemos cómo funcionan las direcciones IPs, sus distintas clases, y sus rangos públicos y privados, vamos a hablar de un elemento fundamental para que todo esto funcione, la máscara de subred.

Más de una vez habréis visto o configurado la dirección “255.255.255.0” en vuestra configuración TCP/IP de vuestro PC, pero… ¿qué es? Esa es la máscara de subred de tu red.

Técnicamente hablando, la máscara de subred es una dirección que delimita los bits que se utilizan para la parte de Red y la parte de Host, está compuesta por cuatro octetos de 8 bits, en numeración decimal.

Ahora… hablando en lenguaje un poco más simple y sencillo, la máscara de subred es un número que delimita el número de IPs y de subredes que puede tener una red.

Para poder entender cómo realiza esta operación la máscara de subred, tenemos que echar mano de nuestros queridos amigos, los ceros y los unos, que cómo hemos dicho anteriormente, cero es un bit apagado y uno es un bit encendido.

Existen una serie de máscaras de subred base o predeterminadas dependiendo de la clase de dirección IP, a esto se le llama “máscara de subred para direcciones de clase o con clase. (IP CLASS)”

 

MÁSCARA DE SUBRED BASE
CLASE A 255.0.0.0
CLASE B 255.255.0.0
CLASE C 255.255.255.0

 

En el siguiente ejemplo vamos a usar la dirección IP de red de Clase C privada “192.168.1.0” y la máscara de subred “255.255.255.0”, y las vamos a convertir de decimal a binario, usando la tabla de potencias y el sistema de conversión explicado con anterioridad. Y luego vamos a coger los bits de ambos que coincidan en el “1”, o sea los bits encendidos que coincidan tanto en la máscara de subred como en la dirección IP. Como resultado nos dará la numeración de los octetos que son inamovibles, o mejor dicho, que no varían.

MÁSCARA DE SUBRED EN DECIMAL 255.255.255.0
DIRECCIÓN IP EN DECIMAL 192.168.1.0
MÁSCARA DE SUBRED EN BINARIO 11111111.11111111.11111111.00000000
DIRECCIÓN IP EN DECIMAL 11000000.10101000.00000001.00000000
RESULTADO EN BINARIO 11000000.10101000.00000001.00000000
RESULTADO EN DECIMAL 192.168.1.0

 

El octeto con los 8 bits en cero en el resultado binario (4º octeto), es la parte que puede variar en la dirección IP, los tres primero octetos no pueden variar de “192.168.1.xxx”

Si variáramos alguno de los números de los tres primeros octetos, nos saldríamos de esa red, o sea, si a “192.168.1.0”, le cambio el tercer octeto por “2”, tendría como resultado dos REDES COMPLETAMENTE DISTINTAS: “192.168.1.0” y “192.168.2.0”, ya que la máscara de subred me está limitando a que las IPs de los hosts de la red 192.168.1.0 lleven siempre la numeración “192.168.1.xxx”

Vamos a poner otro ejemplo un poco distinto, en este lo veréis mejor. Vamos a usar la IP de una máquina, con dirección IP de clase B, “172.16.64.2”, con máscara de subred base “255.255.0.0”:

MÁSCARA DE SUBRED EN DECIMAL 255.255.0.0
DIRECCIÓN IP EN DECIMAL 172.16.64.2
MÁSCARA DE SUBRED EN BINARIO 11111111.11111111.00000000.00000000
DIRECCIÓN IP EN DECIMAL 10101100.00010000.01000000.00000010
RESULTADO EN BINARIO 10101100.00010000.00000000.00000000
RESULTADO EN DECIMAL 172.16.0.0

 

Como podéis observar, en este caso los octetos que no pueden variar son el primero y el segundo, por lo que para que las IPs estén en la misma red, siempre tienen que llevar la numeración “172.16.xxx.xxx”, usando la máscara de subred 255.255.0.0. Más adelante veremos que esto se puede variar, pero ya no serían IPs de clase, se convertirían en IPs sin clase (CLASSLESS).

TRUCO DEL ALMENDRUCO: Si te fijas bien, en los octetos donde la máscara de subred es “255”, el mismo octeto en la dirección IP es invariable. Ejemplo: Con una máscara de subred 255.255.255.0, los tres primeros octetos de la dirección IP, 192.168.1.0, no pueden variar, 192.168.1.xxx

MÁSCARA DE SUBRED 255 255 255 0
DIRECCIÓN IP 192 168 1 0
  No varía No varía No varía Puede variar

 

Como hemos dicho antes, la máscara de subred limita el tamaño de la red, tanto el número de subredes como de hosts. Ahora vamos a ver este concepto.

Vamos a usar la dirección de clase C privada, “192.168.1.0”, con su máscara de subred base, “255.255.255.0”, y vamos a pasar la máscara de subred a binario, lo cual es bastante fácil:

MÁSCARA DE SUBRED EN DECIMAL 255.255.255.0
MÁSCARA DE SUBRED EN BINARIO 11111111.11111111.11111111.00000000

 

Como hemos aprendido antes, la parte invariable de la dirección IP, va definida por el número “255” de la máscara de subred, en este caso los tres primero octetos son inamovibles, por lo que para realizar esta operación vamos a omitirlos, y vamos a delimitar ambas trazar (ya sea mentalmente o en el papel) una línea para delimitar la parte de “Red” de la parte de “Host”, nos quedaría algo así:

PARTE DE RED PARTE DE HOST
11111111.11111111.11111111. 00000000

 

SIEMPRE, teniendo como referencia nuestra línea imaginaria, de derecha a izquiera es la parte de RED, y de izquierda a derecha es la parta de HOST:

PARTE DE RED PARTE DE HOST
11111111.11111111.11111111. 00000000

Ahora para saber cuántos hosts puedo tener en mi red, y para no liarnos, vamos a omitir los tres primeros octetos de la máscara de subred, dejando así sólo la parte de host.

PARTE DE RED PARTE DE HOST
11111111.11111111.11111111. 00000000

 

Ahora que ya tenemos la parte de host aislada, contamos el número de ceros que hay en dicha parte y el número que nos dé, lo usamos como potencia, o sea, elevamos “2” al número de ceros que hay en la parte de host.

Una imagen vale más que mil palabras:

PARTE DE HOST
0 0 0 0 0 0 0 0
1 2 3 4 5 6 7 8

 

Hay ocho ceros, así que elevamos 2 a la octava.

Resultado = 28 = 256 IPs

Aplicamos esto a otro ejemplo con la dirección, “172.16.0.0”, con máscara de subred “255.255.0.0”.

PARTE DE RED PARTE DE HOST
11111111.11111111. 00000000.00000000

 

Omitimos los dos primeros octetos de la máscara de subred, dejando así sólo la parte de host.

PARTE DE RED PARTE DE HOST
11111111.11111111. 00000000.00000000

 

Ahora que ya tenemos la parte de host aislada, contamos el número de ceros que hay en dicha parte y el número que nos dé, lo usamos como potencia, o sea, elevamos “2” al número de ceros que hay en la parte de host.

Una imagen vale más que mil palabras:

  PARTE DE HOST
0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0
1 2 3 4 5 6 7 8   9 10 11 12 13 14 15 16

 

Hay dieciseis ceros, así que elevamos 2 a la décimo sexta.

Resultado = 216 = 65536 IPs

 

Ahora que ya hemos aprendido como afecta la máscara de subred al tamaño de nuestra red, vamos a aprender los conceptos de dirección de red y dirección de broadcast.

 

 

 

DIRECCIÓN IP DE RED Y BROADCAST

La dirección IP de red, es la primera dirección de una subred y es la que identifica a la red. Por el contrario, la dirección de broadcast, es la última dirección IP de una red y se usa para enviar paquetes a todas las direcciones IP de la red. Estas dos direcciones IP NUNCA SE PUEDEN USAR PARA UN HOST.

Ejemplo:

Dirección IP: 192.168.1.0 – 255.255.255.0

Dirección de IP de red: 192.168.1.0 (Primera dirección de la red)

Dirección de broadcast: 192.168.1.255 (Última dirección de la red)

 

Teniendo en cuenta las dos IPs anteriores, el rango restante de direcciones dentro de esta red se denomina direcciones IP de host usables o disponibles, o sea, son las direcciones que podemos configurar a cualquier dispositivo dentro de la red, sea un router, un pc, una impresora, etc…

Usando el ejemplo anterior, los rangos de hosts usables o disponibles son:

Primera dirección IP disponibe: 192.168.1.1

Última dirección IP disponible: 192.168.1.254

 

Como resultado, nos quedaría la siguiente tabla:

192.168.1.1 (MSR: 255.255.255.0)
DIRECCIÓN IP DE RED 192.168.1.0
PRIMERA IP USABLE 192.168.1.1
ÚLTIMA IP USABLE 192.168.1.254
DIRECCIÓN DE BROADCAST 192.168.1.255

 

Después de ver esto, a muchos de vosotros se os habrá encendido la bombilla y habréis pensado:

“Anda, ahora ya sé porque mi router usa la ip: 192.168.1.1” (En la mayoría de los casos, en otros usan la 192.168.0.1”)

 

Compártelo en: