¿Por qué la dirección IP de bucle invertido es 127.0.0.1 a 127.255.255.254?

34

Sé que 127.0.0.1 ~ 127.255.255.254 son las direcciones IP de bucle invertido para la mayoría de los sistemas operativos modernos y podríamos usar estas direcciones IP para referirnos a nuestra propia computadora. ¿Pero no es suficiente 127.0.0.1?!?! ¿Por qué una amplia gama? ¿Por qué de 127.0.0.1 a 127.255.255.254?


fuente

Respuestas:

42

La red 127/8 se puede usar para varias cosas.

1) Simulando una gran cantidad de computadoras diferentes en una red rápida (simplemente abra más interfaces y vincúleles servicios) sin usar máquinas virtuales. Esto podría ser útil si quisiera tener varios servidores web diferentes ejecutándose localmente en el puerto 80 por alguna razón.

2) Permitir más servicios que se ejecutan localmente de lo que permitiría el TCP de 64k (aunque parece poco probable que alcance ese límite racionalmente)

3) Jugar juegos con personas que no están familiarizadas con este hecho real; "Oye, eres un hacker perdedor, apuesto a que ni siquiera puedes hackearme. Ve y pruébalo; estoy en 127.45.209.66"

Probablemente otras cosas también.

Slartibartfast
fuente
44
Puedo dar fe de que encontré # 1 útil en algo en lo que estoy trabajando actualmente, donde hago que otros servidores privados parezcan estar en localhost a través de túneles SSH.
jeteon
Pero este no es el caso en IPv6?
Expiación limitada el
IPv6 tiene direccionamiento local de enlace. No es lo mismo, pero aplicable. serverfault.com/a/754287/178
Piskvor
12

http://www.ietf.org/rfc/rfc1700.txt

En el pasado, las direcciones IP se consideraban abundantes, con bloques completos de / 8 y / 16 otorgados a quien los solicitó.

Eso sí, aunque 127/8 está reservado, el RFC establece que solo se debe usar 127.0.0.1/32 ( http://www.ietf.org/rfc/rfc3330.txt ).

Mark Henderson
fuente
entonces ... no hay uso de otras direcciones IP en este rango, excepto 127/32 ????
se usa para traceroute en MPLS pero podrían haber elegido otro rango de IP.
radio
@Farseeker - 127/32? ¿Quiso decir 127.0.0.1/32?
Steve Folly
23
RFC 3330 no establece que solo se debe usar 127.0.0.1/32. Hace una observación de que normalmente se implementa usando solo 127.0.0.1/32. Todo el bloque 127.0.0.0/8 todavía está reservado para loopback.
Juliano
2
RFC 5735 obsoletos RFC 3330
klaus se
1

Cuando se diseñó este estándar, probablemente tenía sentido tener tantos bits en la subred de bucle invertido como la subred con clase más grande posible, que es de 24 bits. Por supuesto, ya no nos importan las subredes con clase. Es por eso que IPv6 simplemente asigna una dirección para este propósito.

LawrenceC
fuente
99
Va más profundo que eso; dado que 127/8 es una dirección de red que comienza con un bit 0 y tiene todos los bits 1 en el resto del primer octeto, eso es TODO lo que una pila de red compatible con RFC necesita observar para determinar dónde enrutar el tráfico. El hecho de que esto no ocurra en ninguna otra dirección se usó como una optimización, no porque pensaran que tenía sentido reservar 16 millones de direcciones de bucle invertido (no lo hizo, y aún no lo hace).
Adaptr
1
No seguir a @TomTom - 127.0.0.1 evaluaría a 0111 1111 0000 0000 0000 0000 0000 0001 binario, que sigue siendo positivo (es el MSB que es el bit de "signo") - ahora, 128.0.0.1 (1000 0000 0000 0000 0000 0000 0000 0001) es negativo.
LawrenceC
ouch, tienes razón. Borrado mi comentario
TomTom