¿Por qué la gente no hizo IPv6 compatible con IPv4?

En la década de 1990, cuando IPv4 estaba al borde del colapso debido al agotamiento del espacio de direcciones, hubo una serie de propuestas diferentes sobre qué hacer. La mayoría de ellos reconoció que se necesitaban más bits de direccionamiento, y algunos fueron bastante creativos al respecto (como RFC 1347 – TCP y UDP con direcciones más grandes (TUBA), una propuesta simple para direccionamiento y enrutamiento de Internet).

Se reconocieron muchos problemas en ese entonces, como el uso extremadamente ineficiente del espacio de direcciones causado por el direccionamiento basado en “clase” (por ejemplo, en algunas redes se usaría un / 24 completo para el enrutamiento entre los dos puntos finales de un enlace). se abordaron en las nuevas propuestas y se adaptaron a IPv4.

Y NAT surgió, y se volvió cada vez más confiable (y la mayoría de las personas dejaron de diseñar protocolos como FTP, hasta que algunos idiotas diseñaron SIP).

Y finalmente, SSL / TLS evolucionó con la “Indicación de nombre del servidor” para permitir que se sirvan múltiples sitios web desde una sola dirección IPv4.

Estas soluciones extendieron enormemente la vida de IPv4 y permitieron su uso continuo.

Incluso entonces, una transición de IPv4 a IPv6 se consideraba muy difícil. En aquel entonces, había (proporcionalmente) muchas más máquinas “pequeñas” que no podrían manejar los requisitos adicionales de memoria de IPv6, requisitos de memoria que parecen triviales hoy en día.

IPv6 fue un compromiso y, sin embargo, creo que su defecto es que prometió DEMASIADA compatibilidad con IPv4.

Existen ventajas al crear un nuevo protocolo incompatible: básicamente más libertad para innovar y sin restricciones para agregar nuevas funciones.

Los diseñadores, por supuesto, tuvieron que pensar en la transición y definieron una ruta de actualización que pasa por una fase de doble pila, donde (idealmente) los dispositivos se actualizan con ipv6 y durante algún tiempo son capaces de hablar ambos protocolos.

Esto no sucedió, hay muchos dispositivos que no se han actualizado y nunca lo serán. Y es por eso que todavía estamos en ipv4 para quién sabe cuánto tiempo.

Esta es una lección muy importante en mi opinión. La falta de compatibilidad con versiones anteriores a menudo es el único punto si falla en un proyecto que de otra manera sería muy bueno.

Incluso el agotamiento del espacio de direcciones ipv4 no ha sido capaz de empujarnos a ipv6.

EDITAR: esto es lo que acabo de escribir en un comentario para explicar un poco más en detalle:

Usando las opciones de IP, se pueden agregar bytes de direccionamiento adicionales de una manera compatible. La infraestructura existente enruta el paquete como de costumbre utilizando los 4 bytes habituales y solo el enrutador perimetral debe saber cómo manejar los bytes de direccionamiento adicionales. Este es un cambio mínimo en comparación con tener que actualizar toda la infraestructura y también necesita actualizar el enrutador perimetral solo si desea aprovechar el espacio de direcciones adicional.

Hay implementaciones funcionales que agregan 4 bytes de direccionamiento más de esta manera, básicamente puede agregar un Internet completo para cada dirección IP existente.

No podemos decir que actualizar ipv4 fuera imposible. Claro, ipv6 parecía ser un camino razonable en la década de 1990 cuando se diseñó, no tanto 10 años después.

Hoy está bastante claro que no funcionó.

IPv4 fue considerado como fundamentalmente roto. No tenía seguridad, generaba una carga de trabajo excesiva con fragmentos de paquetes, la movilidad era imposible sin reenviadores (e incluso entonces, había un retraso excesivo y una latencia agregada excesiva), las opciones eran un desastre, las violaciones del direccionamiento jerárquico eran comunes, no había forma de descubrimiento de servicio y anchos de campo fueron al azar. Fue un desastre completo que era innecesariamente ancho de banda y uso intensivo de la CPU.

¿Cómo se agregan bits adicionales en un campo de tamaño fijo? Se habla de cada bit del encabezado IPv4. ¿Cuál es la diferencia entre el “bit extra” y los datos allí antes de los bits adicionales? Los encabezados IP son de formato fijo, de longitud y datos largos.

Se hizo todo lo que podría haberse hecho al revés de forma compatible, antes de que la gente asumiera la desalentadora tarea de IPv6. La idea de que algo compatible con versiones anteriores sería mejor que cualquier sistema nuevo no era evidente hace veinte años.

Simplemente agregar bits de dirección en una opción de IP no ayuda. ¿Cómo saben los enrutadores antiguos para mirar allí? ¿O enrutar usando esos bits?

Esos enrutadores simplemente no son compatibles con versiones anteriores y tendrían que cambiarse. No es mejor.

More Interesting

¿Cómo puede alguien elegir su tema de tesis de maestría en ingeniería informática?

¿Por qué las placas de circuito impreso suelen ser verdes?

¿Cómo definirías la convolución, en términos de DSP?

Cómo comenzar desde cero para convertirse en ingeniero informático

¿Por dónde empiezo si quiero aprender temas de ingeniería informática durante el verano?

¿Es una sabia decisión dejar IIT Delhi o IIT Bombay Computer Engineering (licenciatura) para universidades canadienses como el programa de ingeniería informática (cooperativa) de la Universidad de Waterloo dado que la persona no sería tratada como internacional en Canadá?

¿Cuál es la diferencia, en términos de crecimiento profesional, entre un ingeniero informático con un doctorado? y un ingeniero con maestría en la industria de automatización de diseño electrónico / hardware?

¿Cómo es la División de Ingeniería Electrónica e Informática de la Universidad de Thapar en términos de facultad y colocación y es bueno unirse a thapar ahora?

¿Cómo es la electrónica y la ingeniería informática? ¿Debería preferirlo a TI en KIIT?

¿Qué significa decir que un algoritmo es sólido y completo?

¿Debería India tener un examen UG exclusivamente para Ciencias de la Computación e Ingeniería?

¿Puede un graduado de ingeniería informática especializarse en programación de software a nivel de maestría?

¿Cuál es la diferencia entre las clases de informática en Europa vs. América?

¿Quién es el padre de la computadora moderna y la computadora electrónica?

¿La ingeniería mecánica es más dura que la informática?