
En teoría, cada parte de una dirección IP es un número entre 0 y 255 (256 espacios utilizables en total).
Pero, ¿por qué 0
no se utiliza ninguna dirección IP en su cuarta parte y siempre comienzan desde 1 en los cálculos de direcciones IP?
Por ejemplo:
127.0.0.1 <=== logically this should start from 0 as the first usable IP address.
192.168.0.1 <=== for example even default router IP address is set to 1 rather than to be 0
10.10.0.1
.
.
¿Por qué 0
siempre se omite el espacio de la última parte?
Respuesta1
Pero, ¿por qué no se usa 0 en ninguna dirección IP en su cuarta parte y siempre comienzan desde 1 en los cálculos de direcciones IP?
Con respeto atítulode su pregunta, al menos en Linux, 127.0.0.0
es una dirección perfectamente útil (que, como cualquier otra 127.*
dirección, se asigna a la interfaz de bucle invertido).
Por ejemplo, puedo iniciar un servidor web en 127.0.0.0:8080
:
docker run -d --rm --hostname node1 --name node1 -p 127.0.0.0:8080:8080 alpine \
sh -c "apk add --update darkhttpd; mkdir /srv; hostname > /srv/index.html; darkhttpd /srv --port 8080"
Y luego comience otro vinculado a 127.0.0.1:8080
:
docker run -d --rm --hostname node2 --name node2 -p 127.0.0.1:8080:8080 alpine \
sh -c "apk add --update darkhttpd; mkdir /srv; hostname > /srv/index.html; darkhttpd /srv --port 8080"
Y ahora puedo acceder a esos servidores en sus respectivas direcciones:
$ curl 127.0.0.0:8080
node1
$ curl 127.0.0.1:8080
node2
Respuesta2
En IPv4, la primera dirección de una subred está reservada por... razones poco claras, en realidad, pero probablemente porquehace mucho tiemposolía ser la dirección de "transmisión". (Más tarde, la última dirección se convirtió en la dirección de transmisión estándar).
Entonces, hoy en día podría ser posible usar la primera dirección, técnicamente, pero la mayoría de las pilas de red existentes todavía la tratan como "reservada" (algo así como cuando todo el espacio ex-"Clase E" 240.0.0.0/4 quedó accidentalmente inutilizable).
Tenga en cuenta que es específicamente elprimera dirección de una subred,y no siempre la 0
dirección. Estos sólo coinciden en el caso de una subred /24. Pero por ejemplo, una subred /16 tendrá .0.0
reservada, perono .1.0
o .47.0
– esos están en el medio del /16 por lo que son direcciones de host perfectamente válidas.
(Y, por otro lado, una subred /27 más pequeña podría comenzar no solo en .0
sino también en .32
o .192
; nuevamente se reservarían en /27, incluso si no están reservadas en /24).
También tenga en cuenta que esto sólo se aplica a subredes de transmisión (por ejemplo, Ethernet). Estas direcciones aún se pueden utilizar en enlaces punto a punto o enrutarse individualmente como /32.
Respuesta3
En las especificaciones IPv4, la dirección más baja en cualquier red IPv4 está reservada como la dirección de red que tiene un propósito distinto de la dirección de transmisión que normalmente es la dirección más alta en la red (aunque se puede configurar de manera diferente si busca diversión). . La idea de una dirección de red tiene más sentido en la época anterior a las redes sin clases y las máscaras de subred. El concepto detrás de las subredes y máscaras de subred era un complemento de IPv4 que no estaba presente en la especificación original.
Actualizar:No hay nada mágico en que termine en ".0", sino simplemente que es la dirección más baja en una subred (que no siempre puede ser .0).
Originalmente, IPv4 tenía clases y se dividía en 5 clases; A, B, C, D y E. Las redes de clase A son todas IP que tienen el bit significativo superior como 0 o, en otras palabras, IP de 0.0.0.0 a 127.255.255.255. Las direcciones IPv4 cuyos dos bits superiores son 10 son de clase B que corresponden a las direcciones 128.0.0.0 a 191.255.255.255. La clase C comienza con 110xxxxx en su primer octeto o se dirige desde 192.0.0.0 a 223.255.255.255. La clase D tiene un primer octeto que coincide con 1110xxxx, lo que les proporciona las IP 224.0.0.0 a 239.0.0.0. Finalmente, la Clase E es 1111xxxx o IP 240.0.0.0 a 255.255.255.255. Las direcciones de clase E se consideran reservadas y no tienen uso definido con la excepción especial de 255.255.255.255. La clase D son direcciones de multidifusión que se utilizan para enviar paquetes a grupos de computadoras juntas. Las clases AC son sus IP de unidifusión normales donde los dispositivos individuales obtienen una IP en alguna red.
Dicho esto, lo que define el tamaño de cada red es su clase. Las redes de clase A se definen para que los primeros 8 bits o el primer octeto sean la parte de red de la dirección y los 24 bits restantes son la parte específica del host de la dirección en una única red IPv4. La clase B lo divide en 16 bits y 16 bits o 2 octetos cada uno. Las redes de clase C utilizaban los primeros 24 bits como parte de la red y los últimos 8 bits como parte del host. En términos modernos, una red de clase A tiene una subred /8, la clase B es una subred /16 y la clase C es una subred /24. La separación entre la red y la parte del host de la dirección IPv4 es importante para enrutar paquetes y es la forma en que cualquier dispositivo decide si puede enviarlo directamente al sistema en la red local o si tiene que enviarlo a un enrutador para reenviarlo a otro lugar. . Antes de que los protocolos y pilas de red IPv4 implementaran la subred, esta distinción estaba codificada a partir de la propia IP.
Puede ver restos de esto en protocolos como el protocolo de enrutamiento RIPv1. Solo anuncia direcciones IP, no máscaras de subred, por lo que la distinción entre una dirección de host y una dirección de red fue clave. Si una dirección RIPv1 anuncia una dirección de 192.0.0.0, esa es la dirección más baja en una red de clase B, por lo que es la dirección de red para toda esa red. Le indicaría a otros dispositivos que todos los sistemas desde 192.0.0.0 hasta 192.0.255.255 estaban disponibles desde esa ruta (ya que la clase B usa los primeros dos octetos para la red, 192.0 en este ejemplo). Sin embargo, si anuncia 192.0.0.1, esa no es la dirección más baja en esa red, por lo que es una dirección de host. Eso significa que RIPv1 anuncia una ruta para un host único y específico, no para toda la red. Tal vez sea un módem de acceso telefónico o tenga alguna otra razón para obtener una ruta única, pero ese anuncio es sólo para ese host.
Ahora que las subredes son comunes y los protocolos más nuevos como RIPv2 envían la máscara de subred junto con la IP, todo el concepto de dirección de red es un poco redundante, pero estamos atascados en él por razones históricas. Se puede anunciar una ruta específica de host con una máscara de subred de 255.255.255.255, pero aún tenemos que mantener la compatibilidad con el software que asume que hay una dirección de red presente en la parte inferior del rango de red.
Actualizar:Para aclarar más, aquí hay algunos ejemplos. Si dividiera el rango de direcciones IP 10.xxx en subredes /26, eso le daría a cada subred 64 direcciones en total (62 utilizables para hosts), ya que solo quedan 6 bits de la IP de 32 bits para la parte del host. Las primeras cinco direcciones de red de subred serían 10.0.0.0, 10.0.0.64, 10.0.0.128, 10.0.0.192 y 10.0.1.0. Las direcciones de transmisión predeterminadas serían la dirección más alta de la subred y corresponderían a 10.0.0.63, 10.0.0.127, 10.0.0.191 y 10.0.1.63, respectivamente. Si en cambio se utilizara una subred /23, cada red tendría 512 direcciones (510 utilizables). Las primeras cinco subredes son 10.0.0.0, 10.0.2.0, 10.0.4.0 y 10.0.6.0. Las direcciones de transmisión correspondientes son 10.0.1.255, 10.0.3.255, 10.5.255 y 10.7.255. Tenga en cuenta que, en este último ejemplo, 10.0.1.0, 10.0.3.0, etc., no son direcciones de red. Son perfectamente utilizables como IP normales para hosts porque se encuentran en el medio del rango de subred. Sólo la primera y la última dirección son especiales. 10.0.0.255 también se puede utilizar de manera similar como host normal.
Respuesta4
En IPv4, cualquier IP que termine en .0 significa que es una dirección de red (predeterminada) cuando usa el prefijo /24. No puede utilizar esta dirección y asignarla a una computadora. Las IP 'permitidas' para asignar son de .1 a .254. Tampoco puede usar .255 porque se usa como dirección de "transmisión" para la red.