17 de febrero de 2019

La dirección de loopback

La dirección IP loopback es una dirección ip (también conocida como localhost) reservada específicamente para probar el funcionamiento de TCP/IP en un dispositivo.
  • La dirección reservada del espacio de direccionamiento IPv4 es el que corresponde al segmento 127.0.0.0/8
  • La dirección reservada del espacio de direccionamiento IPv6 es solamente una IP ::1
¿Para qué se necesita una dirección de loopback?
Las tareas de diagnóstico de una conexión de red, en principio, requieren siempre de 2 terminales: un transmisor y un receptor.
Cuando Internet estaba en sus primeros pasos era posible que ambos terminales estuvieran a cientos o incluso miles de kilómetros de distancia. Y cuando se realizan la misma prueba es deseable que tanto transmisor como receptor se encuentren en el mismo ámbito para tener control de la totalidad de la conexión; esto inicialmente no era posible no sólo por cuestiones de espacio, sino también de tiempo. Por eso es deseable que el inicio y el final del circuito se puedan encontrar en el mismo dispositivo.
De aquí que se introdujera el concepto de loopback originado en las redes analógicas.
Por ello, al diseñar el stack a utilizan en la operación de las redes de datos se introdujo la posibilidad de probar un circuito TCP/IP sin siquiera necesidad de contar con una interfaz de red operativa.
De esta manera es posible  verificar la operación de todos los protocolos de red instalados simplemente ejecutando un ping al localhost o a la dirección IP de loopback.

¿Cuándo se introduce la dirección de loopback?
No está muy claro el momento de introducción de las direcciones de loopback.
Sí es claro que se introducen con IPv4. Uno de los primeros rastros de su implementación está en el código fuente de BSD Unix 4.1a que data de 1983, donde ya se utiliza la red 127, último bloque de direcciones de la Clase A de IPv4:

1  # define LONET   127
2  # define LOHOST  1 / * no puede ser 0, se transmite * /

3  # define LOMTU   ( 1024 + 512 )

El uso del segmento se documentó recién en 1986, en el RFC 990:
Direcciones especiales : 
En ciertos contextos , es útil tener direcciones fijas con significado funcional más que como identificadores de hosts específicos.
  • La dirección cero debe ser interpretada como significado "este" , como en "esta red". Por ejemplo, la dirección 0.0.0.37 podría ser interpretada como "el host 37 en esta red". 
  • La dirección de todos unos debe interpretarse como que significa "todos", como en "todos los hosts". Por ejemplo, la dirección 128.9.255.255 podría ser interpretada como "todos los hosts en la red 128.9".
Al número de red de clase A 127 se le asigna la función "loopback", esto es, un datagrama enviado por un protocolo de nivel superior a una dirección de la red 127 debe devolverse dentro del host . El datagrama "enviado" a una dirección de red 127 no debería aparecer en ninguna red en ningún momento.

¿Por qué en IPv4 es la red 127.0.0.0/8 completa?
En los inicios del desarrollo de Internet, en el despliegue inicial de ARPANET era reducido en cuanto a la cantidad de nodos conectados, tan reducido que las redes conectadas utilizaban todas aúna direccionamiento clase A.


Diagrama de ARPANET en el año 1982
En ese momento era inimaginable la proporción que tomaría la red en los próximos años, y quizás por eso asignar el último bloque de la clase A parecía lógico y conveniente.

No hay una declaración explícita de por qué se eligió la red 127 y no otra clase B o C. Son muchas las suposiciones que se han hecho al respecto, la más habitual es la facilidad de codificar y reconocer una dirección definida solamente por 1111111.


Podés participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/

O seguir las principales novedades en el grupo de Telegram:

https://t.me/LibrosNetworking


Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.



2 comentarios:

  1. Hay grupos que están solicitando modificar RFC para dejar solo 127.0.0.0/24 como loopback, y dejar el resto de la 127.0.0.0/8 como direcciones válidas. Así también con las redes 0.0.0.0/8 (por ejemplo 0.1.1.0/24) y las reservadas para "Uso Futuro" Clase E, de la 240.0.0.0/8 a la 254.0.0.0/8. El uso de esas redes, aunque se cambien las especificaciones continuarían con problema mucho tiempo. El camino correcto es implementar IPv6 e descontinuar IPv4 lo antes posible.

    ResponderBorrar
  2. Interesante aporte. Sería bueno revisar y corregir un poco la redacción, hay algunos errores por ahí. Gracias.

    ResponderBorrar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.