Entiendo que nos estamos quedando sin direcciones IPv4 (¿o ya nos hemos quedado sin ellas?), Pero realmente no entiendo por qué. En este momento, cada hogar tiene su propia dirección IPv4 (asignada dinámicamente, pero aún así, cada uno tiene una dirección). ¿Por qué una ciudad (por ejemplo) no puede tener una sola dirección IPv4 y todos los hogares en esta ciudad estarían en una red privada de esa ciudad? Entonces esta ciudad podría asignar direcciones de rango 0.0.0.1
a 255.255.255.254
.
Estoy seguro de que mi comprensión es incorrecta de alguna manera, de lo contrario las direcciones IPv4 no se agotarían. ¿Qué hay de malo en mi comprensión?
Respuestas:
La escasez de direcciones IPv4
Según Vint Cerf (el padre de IP), el tamaño de la dirección IPv4 de 32 bits se eligió arbitrariamente. La IP fue un experimento colaborativo académico / gubernamental, y la Internet pública actual nunca fue imaginada. El paradigma de IP era que cada dispositivo conectado tendría una dirección IP única (todos los paquetes enviados entre dispositivos IP estarían conectados de extremo a extremo desde la dirección IP de origen a la dirección IP de destino), y muchos protocolos que usan IP dependen de cada dispositivo Tener una dirección IP única.
Suponiendo que podríamos usar todas las direcciones IPv4 * posibles, solo hay 4,294,967,296 direcciones IPv4 posibles, pero (a septiembre de 2018) la población mundial actual es de 7,648,290,361. Como puede ver, no hay suficientes direcciones IPv4 posibles para que cada persona tenga una, pero muchas personas tienen una computadora, impresora, teléfono celular, tableta, consola de juegos, TV inteligente, etc., cada una de las cuales requiere una dirección IP, y eso ni siquiera toca las necesidades comerciales de las direcciones IP. También estamos en la cúspide del IoT (Internet de las cosas), donde cada dispositivo necesita una dirección IP: bombillas, termostatos, termómetros, pluviómetros y sistemas de rociadores, sensores de alarma, electrodomésticos, vehículos, abridores de puertas de garaje, sistemas de entretenimiento, collares para mascotas, y quién sabe qué más.
* Hay bloques de direcciones IPv4 que no se pueden usar para el direccionamiento de host. Por ejemplo, la multidifusión tiene un bloque de 268,435,456 direcciones que no se pueden usar para el direccionamiento de host. IANA mantiene el Registro de direcciones de propósito especial Iv IPv4 en https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml para documentar todos los bloques de direcciones especiales y sus propósitos .
La IANA (Autoridad de Números Asignados de Internet) se quedó sin bloques de direcciones IPv4 para asignar a los RIR (Registros Regionales de Internet) que se asignarán en sus respectivas regiones, y los RIR ahora también se han quedado sin direcciones IPv4 para asignar en cada región. Los ISP (proveedores de servicios de Internet) y las empresas que desean o necesitan direcciones IPv4 ya no pueden obtener direcciones IPv4 de sus RIR y ahora deben tratar de comprar direcciones IPv4 de empresas que pueden tener más (a medida que la escasez de direcciones IPv4 aumenta, el precio de las direcciones IPv4 Sube).
Incluso si todas las direcciones IPv4 que están reservadas para fines especiales y no se pueden usar para el direccionamiento del host estuvieran disponibles para su uso, todavía estaríamos en la misma posición porque simplemente no hay suficientes direcciones IPv4 debido al tamaño limitado de las direcciones IPv4.
Mitigar la escasez de direcciones IPv4
La IANA y los RIR se habrían quedado sin direcciones IPv4 muchos años antes que ellos si la IANA y el IETF (Internet Engineering Task Force) no hubieran adoptado mitigaciones para la escasez de direcciones IPv4. Una mitigación importante fue la depreciación de las clases de red IPv4 a favor de CIDR (enrutamiento entre dominios sin clase). El direccionamiento con clase solo permite tres tamaños de red asignados (16,777,216, 65,536 o 256 direcciones de host totales por red), lo que significa que se desperdician muchas direcciones (una empresa que necesita solo 300 direcciones de host necesitaría una red con clase que tenga 65,536 posibles hosts direcciones, desperdiciando más del 99% de las direcciones en la red con clase),
Con mucho, la mitigación que ha tenido el mayor impacto en extender la vida útil de IPv4 es el uso de direccionamiento privado y una variante de NAT (traducción de direcciones de red) llamada NAPT (traducción de puertos de dirección de red), que es lo que la mayoría de las personas quieren decir cuando consulte NAT o PAT (PAT es un término específico del proveedor para NAPT). Desafortunadamente, NAPT es una solución fea que rompe el paradigma de extremo a extremo de IP, y que rompe los protocolos que dependen de un direccionamiento IP único, lo que requiere soluciones alternativas aún más feas.
NAT / NAPT
El concepto de NAT es bastante simple: reemplaza una o ambas direcciones IPv4 de origen y de destino en un encabezado de paquete a medida que el paquete pasa a través del dispositivo NAT. En la práctica, requiere cálculo porque el encabezado IPv4 tiene un campo calculado para verificar la integridad del encabezado IPv4, y cualquier cambio realizado en el encabezado IPv4 requiere un recálculo del campo, y algunos protocolos de transporte en la carga útil del paquete también tienen su propio cálculo. campos que deben recalcularse, utilizando recursos informáticos en el dispositivo NAT que podrían usarse para el reenvío de paquetes.
En NAT básico, el dispositivo NAT tiene un conjunto de direcciones IPv4 que utiliza para reemplazar las direcciones IPv4 de origen de los encabezados de paquetes para los paquetes IPv4 enviados desde una red interna a una red externa, y mantiene una tabla de traducción para traducir direcciones IPv4 de destino del tráfico que regresa de la red externa para entregar los paquetes a los hosts correctos en la red interna. Esto también requiere recursos en el dispositivo NAT para construir y mantener la tabla de traducción, y para realizar búsquedas en la tabla. Esta utilización de recursos puede retrasar el reenvío de paquetes porque los recursos utilizados por NAT se toman de los recursos que podrían usarse para el reenvío de paquetes.
NAPT lleva el NAT básico más allá al traducir también las direcciones de protocolo de transporte (puertos) para TCP y UDP, y las ID de consulta para ICMP. Al traducir también las direcciones de la capa de transporte, NAPT permite el uso de una única dirección IPv4 externa para muchas direcciones IPv4 del host interno. NAPT es aún más intensivo en recursos que Basic NAT porque requiere una tabla separada para cada protocolo de capa de transporte, y también debe realizar los cálculos de integridad para los protocolos de transporte.
El uso del direccionamiento IPv4 privado, que se puede reutilizar en varias redes (es posible que haya notado que la mayoría de las redes domésticas / residenciales usan de manera predeterminada la misma red 192.168.1.0/24, que se encuentra en uno de los rangos de direcciones IPv4 privadas asignadas por IANA) , junto con NAPT, permite que los usuarios comerciales y domésticos utilicen una sola dirección externa (pública) para una gran red interna (de dirección privada). Esto ahorra muchas, muchas direcciones IPv4 (varias veces el número total de posibles direcciones IPv4) y ha extendido la vida útil de IPv4 mucho más allá del punto en el que se habría colapsado sin NAPT. NAPT tiene algunos inconvenientes serios:
La solución a la escasez de direcciones IPv4
El IETF predijo la escasez de direcciones IPv4 y creó la solución: IPv6, que utiliza direcciones de 128 bits, lo que significa que hay 340,282,366,920,938,463,463,374,607,431,768,211,456 posibles direcciones IPv6. El número casi inimaginable de direcciones IPv6 elimina la necesidad de NAPT (IPv6 no tiene ningún estándar NAT, como lo hace IPv4, y el IPv6 NAT RFC experimental prohíbe específicamente NAPT), restaurando el paradigma IP de extremo a extremo original. Las mitigaciones para la escasez de direcciones IPv4 están destinadas a extender la vida útil de IPv4 hasta que IPv6 sea omnipresente, momento en el que IPv4 debería desaparecer.
Los seres humanos realmente no pueden comprender números del tamaño utilizado para IPv6. Por ejemplo, una red IPv6 estándar usa 64 bits para cada una de las porciones de red y host de la dirección de red. Eso es 18,446,744,073,709,551,616 posibles redes IPv6 estándar / 64, y ese mismo (enorme) número de direcciones de host para cada una de esas redes. Para tratar de entender un número tan grande, considere las herramientas que escanean todas las direcciones posibles en una red. Si tal herramienta pudiera escanear 1,000,000 de direcciones por segundo (poco probable), tomaría más de 584,542 años realizar el escaneo en una sola red IPv6 / 64. Actualmente, solo 1/8 del total del espacio de direcciones IPv6 se asigna a las direcciones IPv6 globales, lo que equivale a 2,305,843,009,213,693,952 redes estándar IPv6 / 64, y si la población mundial es de 21 mil millones en el año 2100 (un número algo realista), cada una de esas 21 mil millones de personas podría tener 109,802,048 redes IPv6 / 64 estándar, cada red con 18,446,744,073,709,551,616 posibles direcciones de host. Desafortunadamente, la (décadas de) escasez de direcciones IPv4 ha arraigado tanto la conservación de direcciones en las personas, que muchas personas simplemente no pueden dejarla ir, e intentan aplicarla a IPv6, lo cual no tiene sentido y es realmente perjudicial. IPv6 en realidad está diseñado para desperdiciar direcciones.
El IETF también tenía la ventaja de la retrospectiva, y mejoró la IP (en IPv6) al eliminar características de IPv4 que no funcionaban bien, mejorar algunas características de IPv4 y agregar características que IPv4 no tenía, creando una IP nueva y mejorada . Debido a que IPv6 es un protocolo completamente separado de IPv4, se puede ejecutar en paralelo con IPv4 a medida que se realiza la transición de IPv4 a IPv6. Los hosts y los dispositivos de red pueden ejecutar IPv4 e IPv6 en la misma interfaz al mismo tiempo (doble apilado), y cada uno es invisible para el otro; No hay interferencia entre los dos protocolos.
El problema con IPv6 es que en realidad es un protocolo completamente diferente que es incompatible con el omnipresente IPv4, y muchas personas consideran que las mitigaciones para la escasez de direcciones IPv4 son "lo suficientemente buenas". El resultado es que ha superado los 20 años desde que se estandarizó IPv6, y ahora estamos obteniendo una tracción real en el uso de IPv6 (Google informa, a septiembre de 2018, la adopción mundial de IPv6 de más del 20%, y la tasa de adopción de IPv6 en los EE. UU. es superior al 35%). La razón por la que finalmente nos estamos moviendo a IPv6 es que simplemente no hay más direcciones IPv4 no utilizadas para asignar.
Existen otros obstáculos, todos parte de la cultura IPv4, que son simplemente difíciles de ver para la gente. Muchas personas también tienen miedo de IPv6, han crecido y se sienten cómodas con IPv4, las verrugas y todo. Por ejemplo, las direcciones IPv6 parecen ser grandes y feas en comparación con las direcciones IPv4, y eso parece desanimar a muchas personas. La realidad es que IPv6 es a menudo más fácil y más flexible que IPv4, especialmente para abordar, y las lecciones aprendidas en IPv4 se han aplicado a IPv6 desde el principio.
fuente
La respuesta de Ron Maupin ofrece una visión general brillante de la escasez de IPv4, pero me gustaría abordar esta parte de su pregunta:
A primera vista, así es exactamente cómo funciona "NAT" (o, más específicamente, "enmascaramiento de direcciones IP"): se configura una red privada que se ve en Internet externo como un único host y enruta el tráfico internamente a muchos diferentes usuarios Pero hay algunos límites importantes que has pasado por alto en tu ejemplo:
Hay alrededor de 18 millones de direcciones IPv4 de uso privado, pero solo 65536 números de puerto. En realidad, no necesita un puerto único para cada conexión, ya que puede tener una tabla de búsqueda que también incluye la dirección remota, pero todavía hay un límite de hasta qué punto puede escalar sin problemas.
Dicho esto, NAT es una de las principales razones por las que la red IPv4 no se ha colapsado por completo debido a la escasez de direcciones. Asignar una dirección IP a cada hogar u oficina, y emitirlos con un dispositivo para realizar NAT, permite conectar muchos más dispositivos de los que permitiría el diseño original de IPv4. Para ampliar aún más, se utiliza NAT de nivel de operador , donde un ISP tiene menos direcciones públicas que los hogares conectados, posiblemente utilizando dos capas de NAT para administrar el enrutamiento de paquetes a su destino final.
Al final, exprimir todas las rutas posibles de las pocas direcciones restantes es solo soporte vital para IPv4, y en algún momento, cada dirección estará reservada para uso interno, la cara pública de alguna red NAT o la dirección pública de un servidor que acepta conexiones no solicitadas.
fuente
Esto es exactamente lo que ya han hecho muchos proveedores de servicios de Internet desde finales de la década de 1990.
En la década de 1990 hubo diferentes razones (no la escasez de IPv4) para hacerlo. Sin embargo, en 2012, el proveedor de servicios de Internet donde soy cliente comenzó a hacer esto porque ya no había suficientes direcciones IPv4:
Mi proveedor usa "DS-Lite", lo que significa que los nuevos clientes obtienen un rango de direcciones IPv6 globales (asignadas dinámicamente) y solo tienen una dirección IPv4 privada como la describe.
Otros proveedores de servicios de Internet usan "CGNAT", que es exactamente lo que usted describe (sin IPv6).
Tienes que ver lo que no es posible usando NAT:
Si desea operar algún servidor, definitivamente necesita una dirección IP única. Y tenga en cuenta que algunos dispositivos en su hogar a los que puede acceder desde su teléfono inteligente son "servidores".
También hubo una investigación realizada por Facebook Inc. que mostró que la velocidad de conexión se ve influenciada cuando varios clientes comparten una dirección IP.
Y hay otro problema:
Debido a los números de puerto, el número de conexiones que una dirección IP puede establecer con un servidor determinado al mismo tiempo está limitado a aproximadamente 60000.
He visto páginas de transmisión de video que abrieron 10 conexiones al mismo tiempo. 6000 personas que usan la misma página y se alcanza el límite de 60000.
Y 60000 es el límite teórico; El límite real es menor.
Esto definitivamente no funcionaría:
Suponga que desea acceder a este sitio web (networkengineering.stackexchange.com). Luego deberá establecer una conexión con 151.101.129.69.
Si hubiera una computadora con la dirección 151.101.129.69 dentro de la red local de la ciudad, una conexión a "networkengineering.stackexchange.com" probablemente no funcionaría porque no está claro cuál de las dos computadoras que tienen la misma dirección IP significa: ¿El que está dentro de la red de la ciudad o el que está fuera de la red?
Esto significa que la red de toda la ciudad debe saber que 151.101.129.69 es una dirección fuera de esa red.
Por lo tanto, solo se pueden usar las direcciones que no se utilizan en Internet en todo el mundo.
Por cierto:
Incluso en una red privada que no está conectada a Internet, no podemos usar todo el rango 0.0.0.1-255.255.255.254:
En tales redes podemos usar direcciones como 151.101.129.69.
Sin embargo, los rangos 0, 127 y 224-255 no se pueden usar porque estos rangos son manejados especialmente por casi todos los sistemas operativos y dispositivos. Por lo tanto, ningún sistema operativo común permitirá que una computadora tenga la dirección 127.10.11.12, por ejemplo.
fuente
También vale la pena señalar que muchas de las IP de IPv4 son propiedad de empresas de alojamiento en la nube o revendedores proxy, y han sido muy contaminadas. Cualquiera que alquila proxies ha experimentado los problemas con una dirección IP contaminada.
Si bien las direcciones IPv4 se agotarán, todavía hay más que suficientes, y aún puede comprar bloques de ellas (en los 1000), por unos pocos dólares cada una.
fuente
Hay algunas razones objetivas y algunas basadas en la opinión, y por supuesto, la razón más importante - dinero - para eso.
En primer lugar, IP está diseñado para ser de extremo a extremo con hosts que tienen direcciones únicas. Lo que básicamente significa, en teoría, que cada dispositivo (servidor, PC, teléfono) debe tener su propia dirección IP individual.
Hay 4 mil millones de direcciones disponibles, lo que en principio sería suficiente para todos, ya que aunque hay casi el doble de personas en el planeta, la abrumadora mayoría está luchando por obtener suficiente para comer y, de todos modos, no podría permitirse una computadora en su vida . Sin embargo, entre la minoría que puede pagar , es más como 15-20 dispositivos per cápita siempre en línea, incluidas algunas cámaras, un refrigerador, iluminación y calefacción controlable a distancia, y ... su tostadora . Lo cual, por un motivo desconocido para mí, debe estar conectado a Internet.
No es que Internet de las cosas sea realmente algo necesario, pero ha sido comercializado con éxito y ampliamente adoptado durante la última década, por lo que es una realidad y, por lo tanto, un verdaderoproblema. Además, se desperdicia una cantidad considerable de direcciones por buenas razones técnicas, y se desperdicia una gran cantidad de direcciones sin ninguna buena razón (volveré a eso más adelante).
En la práctica, existe esa cosa llamada NAT que hace exactamente (o casi) lo que sugieres. Técnicamente, viola los principios de diseño de IP, que sin embargo no es un problema tan grande. Sin embargo, aunque NAT funciona bien y en realidad es algo bueno en muchos aspectos, tiene sus límites (en particular, en teoría solo puede extender el número de direcciones por un factor de como máximo 65535, y en la práctica mucho menos que eso) es un fuerte deseo de que NAT desaparezca. El más urgente es el hecho de que NAT oscurece la relación 1: 1 entre la dirección y el dispositivo. Lo cual es realmente bueno porque, diablos, en realidad no quieres eso, pero no es tan bueno para ciertas personas que tienen algo que decir (como la aplicación de la ley). Otra razón es que NAT (que generalmente también tiene cortafuegos) hace que ciertas aplicaciones sean más difíciles. En particular, un host detrás de NAT que habla con otro detrás de NAT es problemático (no imposible, solo más difícil de implementar de lo absolutamente necesario).
Ahora, para una empresa (u otra organización) "típica" con algunas personas sentadas en cubículos y comunicándose en una red corporativa o mediante VPN, y posiblemente con acceso a Internet de algún tipo, tendría mucho sentido tener, por ejemplo, una dirección IP por piso y NAT por todos lados. No solo sería mucho más barato, también lo haría mucho menos obvio para un observador externo quién es quién. Además, lo haría mucho más obvio para el administrador de la red. Ambos son algo bueno. Lamentablemente, la realidad dice que varias grandes empresas y universidades de EE. UU. Han reservado enormes rangos de direcciones IP, de modo que cada máquina que posiblemente tengan tiene su propia dirección individual. ¿Pregunta porque? No pude decirlo.
La razón más importante por la que nos estamos "agotando" es que existe una fuerte motivación para promover IPv6. Si bien IPv6 no solo elimina algunos problemas y trae algunas (aunque pocas) características deseables, también agrega una sobrecarga medible en el cable (especialmente si están involucradas varias capas como IP-over-PPPoE-over-ATM, como es el caso para muchos conexiones domésticas a Internet), y los clientes pagan por el ancho de banda medido en bytes por segundo o pagan por volumen por byte. Entonces ... de cualquier manera, alejarse de IPv4 es muy deseable porque, como proveedor, necesita menos red troncal o puede cobrar a sus clientes más por las mismas cosas.
Lo que llevó a la crisis a ser promovida activamente, dando direcciones como dulces (hasta que casi no quedaba ninguna). Puedo recordar, no hace mucho tiempo, un par de años, obtendrías algo así como 5 direcciones así al alquilar un servidor de $ 50.
fuente
Loreno:
1) Su pregunta intuitiva "¿Por qué una ciudad (por ejemplo) no puede tener una sola dirección IP y todos los hogares en esta ciudad estarían en una red privada de esa ciudad? Entonces esta ciudad podría asignar direcciones desde el rango 0.0.0.1 a 255.255.255.254 ". en realidad funcionaría si las direcciones IP se administraran correctamente. Desafortunadamente, Internet comenzó sin una visión de una infraestructura de comunicaciones mundial y luego creció tan rápido que las acciones correctivas no pudieron solucionar los problemas. - Entonces como dijeron.
2) Hace unos años, nuestro equipo se aventuró en este problema debido a la curiosidad basada en nuestros antecedentes de telefonía. Se nos ocurrió una solución, llamada EzIP (fonética para Easy IPv4) que puede expandir cada dirección pública IPv4 en 256 M (Millones) veces (mucho más de lo que esperaba). Presentamos una propuesta al IETF:
https://tools.ietf.org/html/draft-chen-ati-adaptive-ipv4-address-space-03
Y, una presentación gráfica puede transmitir la idea más rápidamente:
https://www.avinta.com/phoenix-1/home/EzIPenhancedInternet.pdf
3) El esquema EzIP no solo resuelve el problema de escasez de direcciones IP, sino que también brinda la posibilidad de mejorar el rendimiento de Internet. Eche un vistazo a los documentos anteriores y luego podemos discutir más.
Abe (14/10/2018 22:27)
fuente
No nos estamos quedando sin direcciones IPv4.
¿Cuál es el costo de una dirección IPv4 hoy? Parece que se trata de $ 18: http://ipv4marketgroup.com/ipv4-pricing/
Un solo IPv4 es mucho más barato que un barril de petróleo. Necesito 8 barriles nuevos de petróleo por año para mi automóvil. No necesito 8 nuevas direcciones IPv4 cada año; de hecho, una sola dirección IPv4 es suficiente para mí, y actualmente no estoy ejecutando ningún servidor, por lo que podría compartir perfectamente la dirección a través de NAT de nivel de operador.
De hecho, aunque el petróleo (en cantidades típicas consumidas) es mucho, mucho más costoso que las direcciones IPv4 (en cantidades típicas necesarias), ni siquiera nos estamos quedando sin petróleo.
Si compra una dirección IPv4, la tendrá para siempre (o hasta que los creyentes de IPv6 hayan desplazado a IPv4 como el protocolo de elección). Con una tasa de descuento del 5%, es de $ 0.9 por año. Pago alrededor de $ 300 por año por mi conectividad móvil (que está detrás del nivel de operador de NAT) y alrededor de $ 300 por año por mi conectividad fija (que no está detrás de un nivel de operador de NAT). El costo anual de una dirección IPv4 es el 0.3% del costo anual de la conectividad a Internet a través de servicios fijos o móviles.
Existen tecnologías que, como TLS y proxy HTTP, permiten ejecutar muchos servidores detrás de una única dirección IPv4, identificada por sus nombres de dominio. Por lo tanto, por ejemplo, Internet de las cosas (IoT) puede resultar perfectamente en la implementación de miles de millones de servidores, mucho más de lo que tenemos las direcciones IPv4. La mayoría de los nuevos protocolos no encriptados de hoy están construidos sobre HTTP; La mayoría de los nuevos protocolos encriptados de hoy están construidos sobre TLS. Ambos tienen medios para especificar el nombre DNS del servidor, por lo que un proxy puede funcionar y ocultar múltiples servidores detrás de una sola dirección IPv4. Los protocolos como SSH pueden ejecutar servidores detrás de puertos no estándar, y OpenSSH tiene un "comando proxy", por lo que un proxy SOCKS / HTTP CONNECT también puede admitir múltiples máquinas a las que puede enviar SSH detrás de una sola dirección IPv4. ¿Pagaría $ 18 adicionales por la conveniencia de no tener que especificar un puerto no estándar o un comando proxy en mi configuración de OpenSSH? Yo no lo haría
Las técnicas como las asignaciones independientes de punto final permiten la perforación de agujeros UDP y TCP que puede configurar una conexión punto a punto entre dos hosts detrás de un NAT, solo necesita un servidor externo para determinar qué puerto TCP / UDP asignó el NAT para cada punto final. NAT no interrumpe la conectividad de extremo a extremo, solo requiere un servidor auxiliar separado para determinar qué número de puerto asignó el NAT. ¿Necesitará el mundo 4 mil millones de servidores de ayuda? No, no lo hace.
IPv6 es una religión. A muchas personas les resulta difícil creer que Internet del mañana pueda funcionar sin IPv6, al igual que les resulta difícil creer que una sociedad pueda funcionar sin religión.
fuente