¿Por qué el IETF eligió específicamente 192.168 / 16 para ser una clase de dirección IP privada?

86

Por qué el Grupo de Trabajo de Ingeniería de Internet (IETF) elige 192.168/16 ¿Ser una clase de dirección IP privada y no otra cosa?

¿Por qué específicamente 192.168/16 y 10/8 y 172.16/12 y no 145.243/16 ¿por ejemplo?

¿Hay alguna razón por la que esas direcciones IP hayan sido elegidas para ser el estándar para las direcciones IP privadas sobre todas las demás posibilidades?

Cornbeetle
fuente
31
RFC 1918 no contiene ninguna explicación de por qué específicamente estos Se eligieron redes, Akash. De ahí la pregunta del interrogador.
JdeBP
1
Me equivoqué al no ser respondible. Pude responder tu pregunta casi por completo, a partir de RFC. Pero 1918 no es el más importante para responder la pregunta ...
Michael Hampton

Respuestas:

87

Sé quién eligió estos rangos de direcciones. Desafortunadamente, él está muerto, así que no puedo preguntarle exactamente por qué Él los eligió, pero puedo hacer algunas suposiciones bien informadas.

No hay muchas citas en línea antes de mediados de los 90, cuando Internet comenzó a despegar. ¿Qué historia de Internet existe es principalmente en el RFCs que lo definen, que se remontan a 1969 , al inicio de la ARPANET. A través de ellos, puede ver el progreso de Internet desde una red incipiente de unos cuantos mainframes primitivos, diseñados por algunas de las mentes más brillantes de la época, hasta la red en la que difícilmente podemos imaginar vivir sin el presente.

Esta respuesta se basa casi en su totalidad en esos RFC, y en pequeña parte de mi experiencia personal como lo estaba en Internet en esta era.


Primero, el IETF no seleccionó estos rangos de direcciones IP, ni ningún otro. Asignación de direcciones de uso especial. es actualmente y siempre ha sido el trabajo del Autoridad de asignación de números de Internet .

La IANA siempre ha sido una papel , en lugar de una organización específica, y ese rol ha cambiado de manos exactamente una vez. Actualmente está en manos de la ICANN, pero desde 1972 hasta su muerte en 1998 cuando esa organización fue creada para reemplazarlo, la IANA era esencialmente un solo hombre, Jon Postel . Por supuesto, primero llamó al papel. zar de números de socket , una tarea necesaria que se hizo a sí mismo porque era necesario hacerlo. Acabó con el zar de prácticamente todos los números que podían asignarse: direcciones, números de protocolo, puertos, nombre, en gran parte porque estaba dispuesto a hacerlo, y en el momento en que Internet abierto al comercio público Lo había estado haciendo durante más de 20 años. Asignó los números, y la Registro de internet (entonces SRI-NIC, esto era expandido a un colección distribuida de registros En todo el mundo) los publicaron.

El último RFC de SRI que muestra una lista de asignaciones de direcciones de Internet fue RFC 1166 desde 1990. Es una lista muy larga, por lo que no debe sorprender que estos datos se hayan trasladado a bases de datos en línea. Comparándolo con su antecesor RFC 1117 muestra la tasa de expansión de Internet incluso entonces, años antes de que se abriera al público.

Entonces, ahora estamos en condiciones de entender los rangos de direcciones en RFC 1918 un poco mejor. Esta es en realidad la segunda revisión de la RFC; el primero fue RFC 1597 , publicado casi dos años antes en marzo de 1994. En su poco conocida refutación, RFC 1627 Se expusieron los argumentos contemporáneos contra los espacios de direcciones privadas. RFC 1627 también menciona quién asignó los tres espacios de direcciones.

Fueron asignados por IANA, es decir, Jon Postel, a solicitud de los autores de RFC 1597, y si la queja en RFC 1627 es creíble, lo hizo a través de canales de retorno en lugar de los procesos abiertos habituales. Puede ver que el propio RFC 1597 pasó directamente al estado RFC sin el usual anterior Damas de Internet , por lo que también fue aprobado a través de canales posteriores, de nuevo por Postel, que también era editor de RFC en ese momento . Por lo tanto, tal vez nunca sea posible responder esta pregunta de manera concluyente.

Ahora, por qué eligió estos tres rangos de direcciones, permítame devolverle su atención a los RFC 1166 y 1117 de SRI, que tenían las asignaciones de rango de direcciones IP actuales en ese momento. En ambos notarán que la red 10 todavía estaba asignada a la difunto ARPANET, que tenía cerrado en 1990 . Postel, en su papel de IANA, sabría que este rango ya no estaba en uso y podría ser reasignado. Yo postulo que Postel escogió la red 10 porque sabía que estaba disponible y no estaba en uso.

De manera similar, espero que Postel eligió 192.168 porque, en el momento en que hizo la elección, era la siguiente red disponible, o casi la siguiente disponible, que se asignaría desde el espacio de Clase C anterior. Es probable que esto no se pueda probar de una manera u otra, pero el ritmo de las asignaciones de direcciones que se muestran en las RFC sugiere fuertemente que habrían estado en esta vecindad general alrededor de 1993-1994 cuando se realizaron las asignaciones. (Se estaban asignando direcciones en 192.159 en 1992 . No hay fechas disponibles para las asignaciones en 192.160-192.167, ya que en algún momento se reasignaron a RIPE.)

Responder a esta pregunta para 172.16-172.31 es más difícil. Nada de lo que pude encontrar sugiere por qué se seleccionó este rango. Las asignaciones en el antiguo espacio de Clase B aún no habían alcanzado ese nivel, por lo que puedo descubrir. Solo puedo especular que la IANA arrojó un dardo a un tablero de dardos, lanzó un dado o sacó el número de sus regiones inferiores.


Finalmente, una nota sobre Jon Postel. A pesar de la forma aparente en que se realizó este RFC completamente formado sin aportes (iniciales) de la comunidad, no quiero dar a entender que, y esto no debe interpretarse como, Jon Postel de alguna manera ejecutó el papel de la IANA de manera deficiente o injusta. Fue una de las influencias más fuertes en la Internet temprana, y aún sientes esa influencia hoy en día cada vez que vislumbras la maquinaria detrás de escena de Internet, pero siempre le preocupó hacer el trabajo correctamente. Para citar de un recuerdo :

No hay gloria en hacer administración y operaciones. Todo lo contrario. Las personas notan cuando se hace mal, pero rara vez elogian cuando se hace bien. Las personas en puestos administrativos a menudo se convierten en burócratas de poca monta. Ya que hay tan poca recompensa en el trabajo, lo convierten artificialmente en una base de poder. Así que ha confundido a algunos que escucharon a Jon referirse como los números de Internet "zar". No se dieron cuenta de que la comunidad impartió el título a Jon por afecto y profunda apreciación por haber ordenado servicios de infraestructura esenciales. En particular, la comunidad utilizó ese término con pleno conocimiento de que Jon tomó su posición como un fideicomiso, en lugar de una oportunidad para el poder personal. Siempre supimos que sus opiniones provenían de creencias legítimas y nunca tuvimos que preocuparnos de que de alguna manera considerara una ventaja política o personal. Puede que no estemos de acuerdo con él, pero siempre supimos que fue motivado primero por la preocupación de que se debe hacer lo correcto.

Michael Hampton
fuente
6
Ese debe haber sido un duro concierto para Jon. ¿Es aquí donde obtenemos la expresión "Going Postel"? :-pag
tudor
5
Jon Postel es uno de mis héroes de siempre. Siempre estuvo en el backend, manteniendo a los científicos más famosos trabajando juntos hacia un objetivo común. El padre de la gobernanza de internet.
Frank Thomas
4
"No hay muchas citas en línea antes de mediados de la década de 1990": no es broma, match.com no se registró hasta 1998. ¿No? ... voy a buscar mi abrigo.
Anonymous
1
Un fresco NANOG post confirma que eran asignaciones ordinarias "próximas disponibles".
grawity
29

¿Porque tenía sentido en ese momento? :-RE

Recuerde, cuando se asignaron los rangos de direcciones IP privadas, hubo varios problemas con los que los ingenieros de red tuvieron que lidiar: Algunos de los enrutadores más poderosos en ese momento tenían la misma capacidad de CPU y almacenamiento de RAM que las calculadoras gráficas de bolsillo de hoy, y de los que hoy todavía funcionan en círculos alrededor de los enrutadores de años anteriores (recuerdo cuando la velocidad de la CPU se medía en kilohertz y el almacenamiento de RAM se medía en kilobytes, ¡no los giga * como son hoy!). El Internet estaba creciendo rápidamente, el IPv4 el espacio de direcciones era limitado, y parecía que se iba a agotar para el año 2000 o algo así, etcétera. Por lo tanto, muchos rangos de direcciones IP ya estaban asignados, y no querían tener que pedir a las compañías que devolvieran los rangos de direcciones IP solo para poder reasignarlos a rangos privados. También querían intentar que las compañías trabajen con los rangos privados de la forma más fácil posible; pocas compañías habrían cooperado si hubieran tenido que invertir mucho dinero para hacer que sus redes funcionen con una o dos docenas de rangos / IP Direcciones aquí y allá.

Esta parte es ciertamente una conjetura por mi parte, pero se basa en gran medida tanto en la lógica como en la experiencia en la configuración de redes. Probablemente reunieron una lista de todos los números de red no asignados y buscaron un patrón distintivo que cumpliera con los criterios deseados: una sola clase A (los números de red que tienen un bit alto de 0xxxxxxx binario en el número de red fueron Clase A), 16 Clase B (números de red 10xxxxxx binario) y 256 direcciones de Clase C (números de red 110xxxx binario). Las direcciones de Clase B y C deben ser todas consecutivo , también. (La elección para 16 y 256 fue probablemente parcialmente arbitraria, después de hacer esto por un tiempo, tiendes a empezar a pensar en potencias de 2) y probablemente en parte porque fue lo que se pudo encontrar. disponible por reserva.)

De esto, probablemente seleccionaron los rangos finales de aquellas direcciones disponibles que permitirían a los fabricantes de enrutadores hacer una prueba simple de bits en la dirección para determinar si enrutar / reenviar / soltar el paquete. También hay algunas propiedades de los patrones de bits que puedo ver para ayudar a construir tablas NAT compactas. La dirección 10.x.y.z es obvia, ya que solo tiene que coincidir con un número de red. El 172.16.yz al 172.32.yz tiene el patrón de que si se construye una tabla con los cuatro bits de orden inferior que se refieren a los cuatro bits de orden superior, el rango completo se llena en una sola fila de la tabla, sin dividirse en dos filas --es decir, el segundo octeto es siempre 0001xxxx (binario). En 192.168.y.z, el binario para 168 es 10101000, es decir, los tres bits más bajos siempre son 0, y los 5 bits más altos alternan 1 y 0.

Si bien esto puede parecer arbitrario, si alguna vez ha realizado alguna programación en lenguaje de máquina o descodificación de microcódigo, este tipo de patrones le permite probar solo unos pocos bits para hacer una determinación privada / pública sin tener que descodificar primero la dirección IP completa. Esto permitiría a los enrutadores procesar dichas direcciones rápidamente sin tener que mantener extensas tablas de búsqueda en la memoria. Por lo tanto, el enrutador podría empujar un paquete de red privada a la red privada sin descodificarlo primero, reduciendo los preciados ciclos de la velocidad del enrutador y la red.

Si tiene curiosidad, mire cómo la transmisión de datos en serie (como un UART ) maneja cada byte de datos: solo puede enviar / recibir un solo bit a la vez, a la velocidad del reloj de control, y generalmente enmarca los datos en bits adicionales como paridad y bits de "sincronización". Sería demasiado tiempo tratar de calcular cosas como la paridad en un byte completo a la vez, así que, en cambio, mantiene un bit especial en cada ciclo de reloj. Ese bit se modifica por el siguiente bit que se desplaza dentro / fuera del registro de envío / recepción. Tan pronto como se envía / recibe el byte completo, el valor que queda en el bit de paridad ya es correcto sin tener que recalcularlo. El concepto es más o menos "hacer el trabajo al mismo tiempo que estás haciendo otra cosa", en el caso de un chip en serie, se calcula la paridad al mismo tiempo que se envía / recibe. Para un enrutador / conmutador, puede obtener un mayor rendimiento si ya está decodificando la dirección IP a medida que cada bit de la dirección proviene del cable, y posiblemente ya sepa dónde enviar el paquete antes de que haya terminado de leerse desde la red. ¡cable!

Además, esto ES solo lógica / conjetura de mi parte, basada en 25 años de hacer este tipo de trabajo. No sé si alguna vez sabremos las razones exactas detrás de los números finales elegidos, ya que no recuerdo ningún documento / RFC / etc. siempre dando la razón completa. Lo más cercano que he visto son solo algunos comentarios que sugieren que los rangos elegidos deberían hacer que sea relativamente fácil y eficiente para las empresas usarlos con un mínimo esfuerzo / inversión / reingeniería.

C. M.
fuente
6
Eso no parece explicar la elección de 168 en particular. No veo ninguna razón por la que 10101000 sea más fácil de decodificar que 10101010 o 10101001; en cualquier caso, uno tiene que coincidir los 8 bits antes de que uno sepa que la dirección pertenece a la red privada. Intuitivamente, parece más probable que 192.168 fuera simplemente el primer bloque de tamaño apropiado que estaba disponible cuando se realizó la asignación, que el patrón de bits particular 10101000 de alguna manera sea más fácil de decodificar que otros patrones de la misma longitud.
Henning Makholm
@HenningMakholm, el moderno equipo de red utiliza muchos ASIC, circuitos integrados específicos de la aplicación, que realizan el procesamiento de las entradas en el hardware. se podría implementar un registro simple en el hardware para verificar un patrón de bits común, de modo que solo se necesite una instrucción de ensamblaje para analizarlo. No estoy diciendo que los pensamientos de CM sean lo que pensaban los diseñadores de rfc1918 (no podemos saber porque no incluyeron esa información), pero es una posibilidad intrigante.
Frank Thomas
2
@FrankThomas: ¿Está diciendo que la comparación de 168 sería más fácil para producir un circuito ASIC que la comparación de alguna otra constante de 8 bits? No soy diseñador de hardware, pero me resulta difícil de creer.
Henning Makholm
2
No hay ningún requisito en el protocolo para que los enrutadores procesen estas redes de manera especial, por lo que casi toda esta respuesta es irrelevante. Recuerda que RFC 1918 hizo no especifique NAT, y se imaginó que estas direcciones serían puramente internas, sin ninguna forma de llegar a Internet. NAT llegó algo más tarde, y no se especificó realmente hasta RFC 2663.
Michael Hampton
2
@Frank No he hecho mucho con verilog o VHDL durante mucho tiempo, pero no creo que tu lógica sea cierta. Al menos la forma obvia (y eficiente) de cómo implementaría la igualdad en el hardware no importa ningún patrón. Hay algunos ISA que solo pueden generar patrones específicos para inmediatos lógicos (ARMv8 para nombrar uno realmente nuevo), pero eso es todo.
Voo
20

En el Internet primordial , la red ahora denotada 10.0.0.0/8 fue asignada a la ARPANET . En el momento en que el IETF y la IANA comenzaron a asignar rangos de direcciones privadas, ARPANET estaba inactivo y su espacio de direcciones anterior estaba disponible para uso privado.

Los otros dos rangos hicieron que las redes Clase B y Clase C estuvieran disponibles para IP privadas, además de la Clase A mencionada anteriormente.

user46971
fuente
14

Porque 192 comienza con 11xxxxxx en binario, lo que indica un clase C red. Es el número más bajo que comienza con dos 1 consecutivos. La clase A tiene 0 como su (s) bit (s) de orden más alto, y la clase B tiene 10.

RFC 1918 que define los rangos de IP privados, no aclara este punto, por lo que no hay una respuesta definitiva sobre por qué eligieron .168 para el bloque de 16 bits, pero creo que esto se debió a que el RFC no se lanzó hasta 1996, después de una gran número de registros ya se han llevado a cabo. Debido a que 192 es el primer bloque de 8 bits en las asignaciones de clase C, es probable que ya se hayan tomado muchas de las direcciones. 168 puede haber sido el primero disponible.

También tenga en cuenta que algunas de estas opciones son arbitrarias. Tenga en cuenta que el rango rfc1918 clase B es 172.16 - 172.31? No puedo pensar en la razón de 172, pero estoy bastante seguro de que eligieron usar 16 clases B, por lo que tenían un bloque de 1 millón de direcciones contiguas (1048576).

A veces los protocolos son así. alguien tenía que hacer una elección, y lo hicieron. por un tiempo, el kernel de Linux se limitó a un máximo de 1024 CPU por sistema, y ​​finalmente tuvieron que emitir un parche, después de que algunos supercomputadores tuvieran problemas. quien haya decidido usar 1024 probablemente no tenía una buena razón para hacerlo, aparte de que necesitaba un valor, y 1024 es agradable y redondo.

Frank Thomas
fuente
1
Un buen punto. Especialmente combinado con el fondo de la publicación de Darth Androids y tal vez alguna información adicional sobre los primeros bits de las otras clases.
Hennes
9
Pero ¿por qué 192.168?
user20574
13

Este es un remanente de Redes de clase , donde el rango de direcciones IPv4 fue subdividido en clases:

  • Clase A: 0.0.0.0 - 127.255.255.255 / 255.0.0.0
  • Clase B: 128.0.0.0 - 191.255.255.255 / 255.255.0.0
  • Clase C: 192.0.0.0 - 223.255.255.255 / 255.255.255.0
  • Clase D: 224.0.0.0 - 239.255.255.255 (multidifusión)
  • Clase E: 240.0.0.0 - 255.255.255.255 (reservado)

Desde entonces hemos pasado (en 1993) a itinerario entre recesos , sin embargo, las clases todavía tienen su legado en varios lugares (la red 127 es "home / loopback" - 127.0.0.1 ¿alguien?). y la multidifusión sigue siendo multidifusión.

Darth Android
fuente
16
Sin embargo, el interrogador parece estar preguntando por qué. estos particulares Se eligieron redes en cada clase, como esta persona lo hizo en otro sitio WWW y esta persona lo hizo en otro StackExchange , que tu respuesta no aborda. user46971 ha golpeado el clavo en la cabeza.
JdeBP
1
Esa respuesta de SE es tan buena que creo que tal vez esta pregunta debería migrarse y luego marcarse como un duplicado. Realmente se trata más de redes que de uso general de computadoras.
trlkly
2

El RFC explica la razón por la que elegimos tres rangos de "Clase A, B & amp; C "respectivamente: CIDR había sido especificado pero no había sido ampliamente implementado. Había una cantidad significativa de equipo por ahí que Todavía estaba "classful".

Por lo que recuerdo la elección de los rangos en particular fue la siguiente:

8/10: el ARPANET acababa de ser apagado. Uno de nosotros lo sugirió y Jon consideró esto como una buena reutilización de este bloque de direcciones "histórico". Nosotros También sospeché que "net 10" podría haber sido codificado en algunos lugares, reutilizándolo para el espacio de direcciones privado en lugar de en el enrutamiento inter-AS Podría tener la ligera ventaja de mantener tal tontería local.

172.16 / 12: el menor sin asignar / 12 en el espacio de clase B.

192.168 / 16: el más bajo sin asignar / 16 en el bloque de clase C 192/8.

En resumen: la IANA asignó este espacio como lo haría para cualquier otro propósito Como la IANA, Jon era muy consistente a menos que hubiera una Muy buena razón para ser creativo.

Daniel (coautor de RFC1918)

Daniel Karrenberg
fuente