¿Cómo funciona exactamente una dirección IP porque hay más de 256 ^ 4 dispositivos conectados a Internet?

Por lo tanto, se utilizan redes locales con direcciones locales. Tengo en casa una red local 192.168.XX con 12 dispositivos. Probablemente tenga en su hogar una red local con exactamente el mismo rango de direcciones IP 192.168.XX Millones de otras personas también tienen en su hogar una red local con el mismo rango de direcciones. Por lo tanto, se creó el traductor de direcciones Newtwork (NAT). ¿Como funciona?

Digamos que el servidor de la compañía tiene una sola dirección IP 75.76.12.! 0 asignada por el proveedor de ISP. Todas las otras computadoras locales en esta compañía tienen direcciones IP en el rango 192.168.XX

Ahora la computadora con IP 192.168.1.13 solicita una página web de IP 80.150.12.13. La computadora le pregunta a su servidor superior. El servidor puede ver que esta IP está fuera de la compañía en Internet.

Por lo tanto, el servidor almacena datos sobre la solicitud en su memoria.

IP de origen: 192.168.1.13, IP de destino: 80.150.12.13, puerto aleatorio: 8888

Almacena la IP de origen, la IP de destino y asigna aleatoriamente un número de puerto.

El servidor luego reemplaza la dirección local 192.168.1.13 por su dirección global 75.76.12.! 0 y envía la solicitud a la dirección IP 80.150.12.13

Otra computadora que pide una página web diferente, por ejemplo 192.168.1.14:

IP de origen: 192.168.1.13, IP de destino: 80.150.12.13, puerto aleatorio: 8888

IP de origen: 192.168.1.14, IP de destino: 83.140.42.14, puerto aleatorio: 8889

Luego llega una respuesta al servidor en su dirección IP 75.76.12.! 0 y el puerto 8889. El servidor ahora mira en su memoria quién tiene el puerto 8889. Ahora el servidor puede ver que la computadora 192.168.1.14 ha solicitado dichos datos, por lo tanto, envía los datos allí y este registro se elimina de su memoria.

Luego viene otra respuesta al servidor en su dirección IP 75.76.12.! 0 y el puerto 8888. Ahora el servidor sabe que la computadora 192.168.1.13 solicitó estos datos.

Luego viene otro paquete a la dirección del servidor. El servidor puede ver que nadie solicitó ningún dato, por lo tanto, ignora dicho paquete de datos.

De esta manera, NAT resuelve el problema.

Bueno, dado que está preguntando sobre 256 ^ 4 direcciones, creo que está preguntando sobre IPv4, y no está interesado en las 2 ^ 128 o 256 ^ 16 direcciones en IPv6.

Entonces …. ahí está la historia original, y luego está la magia.

La historia original: todos los dispositivos estaban en Internet. Si usted es un paquete y la dirección IP no está en su subred local, la tabla de enrutamiento de su dispositivo lo enviaría a un enrutador de puerta de enlace para que lo maneje.

En la mayoría de los casos, habría una única puerta de enlace predeterminada, pero en casos más complejos, podría haber varias, cada una de las cuales maneja un rango específico de direcciones, más una predeterminada para todo lo demás. Este sería el caso si tiene un enlace dedicado a otro sitio, por ejemplo.

Entonces ese enrutador tendría su propia tabla de enrutamiento, y así sabría a dónde enviarlo en el siguiente paso de su viaje.

(Originalmente, las tablas de enrutamiento se mantenían a mano, pero se permitieron varias generaciones de protocolos de enrutamiento para actualizaciones dinámicas).

Finalmente, después de cierto número de saltos, cada uno basado en un rango de direcciones, llega a la puerta de enlace final y se envía al destino.

Inicialmente, estos rangos de direcciones eran muy grandes, por lo que muchas direcciones no se utilizaron. Pero incluso con los rangos más pequeños de la actualidad, todavía no podemos acercarnos a 256 ^ 4 dispositivos en la red. Muchas de las direcciones lo llevarán a algún lado , pero luego, al final, no tienen ningún dispositivo asignado a esa dirección, cuando llegue a la puerta de enlace final.

Así que aquí es donde entra la magia. La magia se llama NAT – Traducción de direcciones de red.

Los paquetes en un flujo de paquetes se identifican no solo por la dirección IP, sino también por el número de puerto. El puerto de destino al solicitar una conexión inicial determina qué servicio está solicitando, por ejemplo, HTTP en el puerto 80.

Pero el puerto de origen indica quién pregunta y se selecciona de cualquier número que no se use en un dispositivo. Hay 2 ^ 16 de ellos.

Entonces, esto es lo que me pasa, un paquete detrás de un enrutador NAT.

Al estar detrás de un enrutador NAT, tendré una dirección IP privada . Por lo general, esto será algo así como 192.168.xxx.yyy o 10.xxx.yyy.zzz. También podría estar en el rango 72.16.0.0 – 172.31.255.255, pero eso no es común.

Mi dispositivo me envía como de costumbre, al enrutador de mi puerta de enlace. Ve que estoy destinado a la gran internet salvaje.

Pero tengo una dirección de internet privada. ¿Cómo se comunicará mi destino conmigo? ¿Puede haber millones de dispositivos con la misma dirección privada?

Ah, pero mi puerta de enlace, ¡tiene una dirección pública! No te preocupes, pequeño paquete. Recordaré dónde perteneces, tu dirección IP original y número de puerto, y solo sustituiremos la dirección de la puerta de enlace y uno de los números de puerto de la puerta de enlace. ¡Nos aseguraremos de que cualquier respuesta vuelva al lugar correcto!

Así que me voy con mi nueva dirección pública y mi nuevo número de puerto.

Mi dispositivo de destino no conoce mi historial. Solo mira mi IP y puerto de origen, y envía la respuesta allí. Lo que lleva la respuesta de mi hermano a mi puerta de enlace, que busca cuál debería ser la IP y el puerto del dispositivo original, ajusta el paquete (la dirección y el puerto de destino esta vez) y lo envía a su destino final: mi dispositivo original.

Bien, eso funciona para ir desde detrás de un enrutador privado, a la gran Internet.

¿Pero cómo alguien en Internet iniciará contacto con mi dispositivo?

Bueno, por lo general no puede. No hay una dirección IP que lo alcance. Las direcciones privadas nunca deberían llegar a Internet pública, y si lo hacen, deberían descartarse como falsas.

Pero si desea hacer que un servidor web, por ejemplo, sea visible en Internet, puede configurar el reenvío en una puerta de enlace. Entonces, si la puerta de enlace de mi casa recibe una solicitud en el puerto 80, puede reenviarla a mi escritorio, tal vez en un número de puerto diferente, y dejar que mi escritorio lo maneje, después de ajustar la IP de destino y los campos de puerto.

Pero sin este tipo de arreglo previo, un dispositivo detrás de una puerta de enlace NAT es invisible. Esto proporciona un tipo de seguridad, por lo que generalmente es algo bueno.

[Editar: desde el punto de vista de Internet, todo lo que existe es su puerta de enlace. Que los diversos números de puerto asociados con esa IP pertenecen a diferentes dispositivos, es invisible.]

Sin esta magia, todos tendríamos que usar direcciones IPv6 todo el tiempo.

Pero con solo 2 ^ 16 números de puerto, hay un límite para la cantidad de conexiones simultáneas que puede manejar con NAT por dirección. Puede expandirlo con más direcciones, pero eso usa otra dirección …

IPv6 lo evita. Es probable que su ISP asigne a su enrutador doméstico 2 ^ 64 direcciones, y hay bloques más grandes disponibles.

La respuesta corta es: nos hemos quedado sin direcciones IPv4, o nos estamos quedando muy cortos, así que hemos creado IPv6.

La respuesta larga es: las subredes y las direcciones IP privadas y públicas han permitido que IPv4 viva más tiempo. Técnicamente hay 5 clases de IPv4. Clases AE. Los primeros 3, (AC) son para uso público y privado, D y E son para uso reservado / unidifusión, multidifusión o multidifusión.

Esto es lo que sucede, la clase tiene rangos. Cada uno tiene un público como privado. La clase y la subred determinan la cantidad de IP disponibles. Por ejemplo: 192.168.0.0 / 24 tiene 255 IP disponibles en el último octeto, por lo que el rango de IP privada disponible aquí es 192.168.0.1–255. Puede expandir su red privada por completo con una red 255.255.0.0 (/ 16) para tener el doble de IP privadas utilizables, se vería como 192.168.xx donde cada x puede ser 1–255. Eso solo se hizo capaz con CIDR y NAT / PAT. El CIDR es la notación (enrutamiento entre dominios sin clase) / como el / 24. Significa 255.255.255.0. Los diferentes números que siguen al / indican una cantidad diferente de IP a la subred y el rango es 0–32. Puede usar la notación CIDR de Google para ver el desglose completo. NAT / PAT significa Traducción de dirección de red o Traducción de dirección de puerto es cómo la dirección IP pública se vuelve privada. Cualquier dirección IPv4 pública se puede asignar a cualquier persona. Puede comprar una IP pública para un servidor web o un bloque de IP para asignar clientes si desea convertirse en un ISP. Su servidor DHCP y sus servidores DNS asignan a sus clientes sus respectivas direcciones IP. El enrutador del lado del cliente asignará una dirección IP privada a una estación de trabajo.

IPv6 salió recientemente y reemplazó la dirección IPv4 de 32 bits por una dirección hexadecimal de 128 bits. Los números en una dirección IPv6 pueden ser 0–9 y af. Hay un número muy adecuado de direcciones IPv6, de hecho, casi todas en el planeta pueden tener más de 500 direcciones IPv6.

En realidad, es un poco menos de 256 ^ 4, por cada subred (generalmente un bloque de 256 pero puede ser más pequeño) *. *. *. 0 y *. *. *. 255 son inutilizables, ya que son la “red” y direcciones de “difusión”, respectivamente. Luego hay grandes bloques de direcciones “no enrutables” reservadas para uso privado, como 192.168. *. *, 10. *. *. * Y pequeñas partes de 172. *. *. * (Vea RFC1918 para más detalles). También 0. *. *. * es inutilizable y 127. *. *. * está reservado para direcciones de bucle invertido. De 4294.97 millones de direcciones, solo 3706.65 millones son utilizables.

Pero esas direcciones privadas RFC1918 son la clave, son reutilizadas por individuos y empresas de todo el mundo junto con la Traducción de direcciones de red (NAT) que permite utilizar una dirección IP pública para conectar cientos o incluso miles de direcciones IP privadas a La Internet.

Actualmente, muchos dispositivos en redes locales comparten una dirección IP pública, un método llamado traducción de direcciones de red o NAT. Un enrutador envía tráfico de múltiples máquinas en una red local a Internet usando la misma dirección IP pública, asignando diferentes puertos al tráfico de cada máquina. Hace lo contrario para el tráfico entrante. Aunque solo hay disponibles unos cuatro mil millones de direcciones IPvv4, NAT ha permitido que se extiendan para servir a más de cuatro mil millones de computadoras.

Sin embargo, las direcciones IPv4 se están agotando. Es por eso que se está utilizando el direccionamiento IPv6 de 128 bits. Hará que NAT sea innecesario. Proporciona aproximadamente cuatro mil millones de veces más direcciones que IPv4, incluso después de los errores en la asignación que han destruido la mayor parte de su capacidad teórica.

Funciona a través de dos mecanismos, DHCP y NAT. DHCP permite que los proveedores de servicios de Internet (ISP) administren su espacio IP asignado para que puedan distribuir direcciones cuando las personas las necesiten y revocarlas si no se utilizan. NAT permite que un solo usuario tenga múltiples dispositivos en su red que se traducen a la única dirección IP que le dio su ISP. Hasta ahora, el sistema parece funcionar bien, pero IPv6 está esperando en las alas si se quedan sin espacio.