Header Ads Widget

IPv4 frente a IPv6

En la era tecnológica actual, estamos presenciando un salto masivo en el uso de Internet y dispositivos de red. Cada hogar tiene una computadora portátil, un teléfono inteligente, un reloj digital, un dispositivo IoT, un componente de automatización del hogar y otros dispositivos que están conectados a la red doméstica o a Internet. Los dispositivos se comunican entre sí a través de varios protocolos de red, siendo TCP e IP los protocolos más utilizados. Cada dispositivo conectado a la red debe tener una dirección IP que identifique el dispositivo en la red.

Este artículo explica el Protocolo de Internet y en qué se diferencia IPv6 de IPv4.

¿Qué es IP (Protocolo de Internet)?

Siendo humanos, nos identificamos y nos comunicamos entre nosotros usando nuestros nombres. Asimismo, en el mundo de la informática, los dispositivos utilizan direcciones IP para identificarse e interactuar entre sí. Un lenguaje común utilizado por todos los dispositivos informáticos para comunicarse entre sí se conoce como protocolo. Similar a los lenguajes humanos, el protocolo también tiene un conjunto de reglas que formatea y procesa los datos.

El Protocolo de Internet (IP) es un conjunto de reglas que especifica el direccionamiento y enrutamiento de datos entre computadoras. Se utiliza principalmente con protocolos de transporte de red, como TCP y UDP.

Internet existe hoy en día debido a este patrón de direccionamiento único. La IANA administra los rangos de direcciones IP para redes/sitios que se conectan a Internet. Sin embargo, si ejecutamos una infraestructura de red local aislada, podemos asignar números según nuestra preferencia. Ahora, entremos en el meollo de la arquitectura y su análisis comparativo.

IPv4

La primera versión principal del Protocolo de Internet (IP) es la versión 4 (IPv4). Utiliza un esquema de direccionamiento de red de 32 bits que se divide aún más en cuatro números de 8 bits conocidos como octetos. Por ejemplo, google.com tiene una dirección IP de 141.251.36.46. El formato se conoce como notación cuádruple punteada. Estas direcciones IP pueden configurarse manualmente u obtenerse automáticamente a través de un servidor DHCP.

Para verificar el estado en vivo del dispositivo remoto, podemos hacer un sondeo ICMP a esa IP usando el ping comando:

ping -c 1 google.com
PING google.com (142.251.36.46) 56(84) bytes of data.
64 bytes from ams17s12-in-f14.1e100.net (142.251.36.46): icmp_seq=1 ttl=116 time=247 ms

...

Las direcciones IP se dividen en dos partes, la red y las direcciones de host para crear subredes. Los números de subred ayudan a decidir las partes de red y host de la IP. Además, el espacio IP disponible se divide en cinco clases diferentes, como se tabula a continuación.

Clase de direcciónRangos de IPMáscara de subredNº de redesNo de hosts por red
Clase A1.0.0.0 a 126.0.0.0255.0.0.012616,777,214
Clase B128.0.0.0 a 191.255.0.0255.255.0.016,28265,534
Clase C192.0.0.0 a 223.255.255.0255.255.255.02,097,150254
Clase D224.0.0.0 a 239.255.255.255multidifusión
Clase E240.0.0.0 a 255.255.255.255Investigación/Reservado/Experimental

El cálculo de la subred implica algunas rúbricas matemáticas detrás de la pantalla. Para facilitar nuestro cálculo, podemos usar herramientas como ipcalcsubnetcalcpara subredes IPv4. Los siguientes fragmentos muestran cómo usar las herramientas:

ipcalc 110.0.20.18/24
Address: 110.0.20.18 01101110.00000000.00010100. 00010010
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 110.0.20.0/24 01101110.00000000.00010100. 00000000
HostMin: 110.0.20.1 01101110.00000000.00010100. 00000001
HostMax: 110.0.20.254 01101110.00000000.00010100. 11111110
Broadcast: 110.0.20.255 01101110.00000000.00010100. 11111111
Hosts/Net: 254 Class A
subnetcalc 192.168.10.15/24
Address = 192.168.10.15
11000000 . 10101000 . 00001010 . 00001111
Network = 192.168.10.0 / 24
Netmask = 255.255.255.0
Broadcast = 192.168.10.255
Wildcard Mask = 0.0.0.255
Hosts Bits = 8
Max. Hosts = 254 (2^8 - 2)
Host Range = { 192.168.10.1 - 192.168.10.254 }
Properties =
- 192.168.10.15 is a HOST address in 192.168.10.0/24
- Class C
- Private
GeoIP Country = Unknown (??)
DNS Hostname = (Name or service not known)

Por lo general, las direcciones IP se asignan a la máquina host final y a la interfaz de la puerta de enlace del enrutador, como se ilustra a continuación.

Aquí, el tráfico de la Máquina A (10.235.64.58) llega a la interfaz de puerta de enlace del enrutador (10.235.64.57) en el lado izquierdo de la nube de Internet. Llega a la puerta de enlace del servidor de Google a través del enrutamiento de Internet y, finalmente, al servidor de destino.

Para identificar la IP de la interfaz de red, puede usar comandos como ifconfig , hostnameip .

ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.235.64.58 netmask 255.255.255.252 broadcast 10.235.64.59
inet6 fe80::fc7f:d8da:a969:1c1d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:23:6f:30 txqueuelen 1000 (Ethernet)
RX packets 35607241 bytes 34540488400 (34.5 GB)
RX errors 0 dropped 12 overruns 0 frame 0
TX packets 24701952 bytes 15008379564 (15.0 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
hostname -I
10.235.64.58

Hay direcciones IP de red para propósitos especiales como 0.0.0.0127.0.0.1La primera es la ruta predeterminada o la ruta quad-zero, mientras que la última se denomina dirección de bucle invertido.

En el siguiente fragmento, veremos la tabla de enrutamiento de IP del kernel con la ruta predeterminada para esa red. La bandera 'U' representa que la ruta de la red está ACTIVA, mientras que G significa que la ruta de la red es la puerta de enlace de la red.

netstat -rn | grep ens160
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.235.64.57 0.0.0.0 UG 0 0 0 ens160
10.235.64.56 0.0.0.0 255.255.255.252 U 0 0 0 ens160

Por lo general, el datagrama IPv4 consta de un campo de encabezado con 20 bytes, un campo de opciones y campos de datos con una longitud variable. El formato de paquete de muestra se muestra a continuación.

A continuación, la captura de Wireshark ayuda a descifrar la información del encabezado del paquete del tráfico en vivo.

IPv6

El Protocolo de Internet versión 6 es la versión actualizada del Protocolo de Internet (IP). La versión 6 del Protocolo de Internet está destinada a reemplazar la versión anterior (IPv4), que transporta el 75% del tráfico total de Internet a partir de 2018 (Fuente: Google IPv6 Stats).

La dirección IPv6 es de 128 bits (16 bytes) con 32 dígitos hexadecimales, mientras que estos dígitos se dividen en ocho grupos de cuatro dígitos cada uno para facilitar la gestión. A continuación se muestra una breve ilustración.

Hay algunos pasos básicos involucrados en la convención de nomenclatura de IPv6.

Regla 1: todas las letras no distinguen entre mayúsculas y minúsculas. Por ejemplo, 'ab41' es igual a 'AB41' Regla 2: Los campos sucesivos con '0' se pueden visualizar como “::”, pero solo una vez en un direccionamiento Regla 3: Representar ceros iniciales en un campo es opcional. Por ejemplo, '001a' es igual a '1a'

Por ejemplo, tomemos la dirección IPv6, 45ab:0000:a179:0000:0000:c1c0:abcd:0876

Aplicar regla 1 => 45ab:0000:a179:0000:0000:c1c0:abcd:0876 Aplicar regla 2 => 45ab:0:a179:0:0:c1c0:abcd:876 Aplicar regla 3 => 45ab:0:a179 ::c1c0:abcd:876

Hay tres tipos de direcciones IPv6: Unicast, Multicast y Anycast. La dirección de unidifusión es la única interfaz de red y los paquetes entregados a esa interfaz específica. Además, las direcciones de unidifusión tienen niveles de alcance local (enlace local) y global. La dirección de multidifusión son las interfaces de grupo a las que se entregan los paquetes. La dirección Anycast es la interfaz de grupo y el paquete entregado a la interfaz más cercana.

Algunas direcciones conocidas se tabulan a continuación.

]::1/128Dirección de bucle invertido
ff00::/8Direcciones de multidifusión
fe80::/10Direcciones locales de enlace
2001::/16Direcciones de unidifusión IPv6 regulares
2002::/16Direcciones unicast 6to4
subnetcalc 2001:4860:4860::8888/64
Address = 2001:4860:4860::8888
2001 = 00100000 00000001
4860 = 01001000 01100000
4860 = 01001000 01100000
0000 = 00000000 00000000
0000 = 00000000 00000000
0000 = 00000000 00000000
0000 = 00000000 00000000
8888 = 10001000 10001000
Network = 2001:4860:4860:: / 64
Netmask = ffff:ffff:ffff:ffff::
Wildcard Mask = ::ffff:ffff:ffff:ffff
Hosts Bits = 64
Max. Hosts = 18446744073709551616 (2^64 - 1)
Host Range = { 2001:4860:4860::1 - 2001:4860:4860:0:ffff:ffff:ffff:ffff }
Properties =
- 2001:4860:4860::8888 is a HOST address in 2001:4860:4860::/64
- Global Unicast Properties:
+ Interface ID = 0000:0000:0000:8888
+ Sol. Node MC = ff02::1:ff00:8888
GeoIP Country = United States (US)
DNS Hostname = dns.google

Nuevamente, el paquete IPv6 tiene encabezado y carga útil. El tamaño del encabezado se fija en 40 bytes, y la dirección de origen y destino ocupa 32 bytes. El formato de paquete de muestra se muestra a continuación.

Aunque IPv6 tiene innumerables ventajas, no puede suplantar a IPv4. Ambas versiones del protocolo deben coexistir durante algún tiempo para una migración sin inconvenientes. Por lo tanto, los proveedores de servicios ofrecen un sistema de soporte de doble pila que posee una interfaz de red que puede comprender paquetes IPv4 e IPv6.

Existen pocos mecanismos de transición inteligente, a saber, túneles IPv6, direcciones IPv6 asignadas a IPv4, etc. El primero encapsula el paquete IPv6 en IPv4, mientras que el segundo asigna las direcciones IPv6 a IPv4 en las implementaciones de doble pila.

IPv4 vs IPv6 - Análisis comparativo rápido

CaracterísticasProtocolo de Internet - Versión 4 [IPv4]Protocolo de Internet - Versión 6 [IPv6]
Despliegue y asignación19811999
Longitud32 bits128 bits
Espacio de dirección4,29x10^93,4x10^38
FormatoPunto decimal / [10.235.64.56]hexadecimal / [2400::4]
Número de octetos4dieciséis
Tamaño del encabezadoVaría de 20 a 60 bytes40 bytes
ClasesCinco clases: Clase A, Clase B, Clase C, Clase D, Clase ENinguna
Funciones de seguridad / Autenticación y encriptaciónNo disponibleDisponible
Suma de verificaciónDisponibleNo disponible
IPSecExterno y opcionalcaracterística incorporada
Número de saltosIndicado por el campo TTLIndicado por el campo Hoplimit
FragmentaciónRealizado por el remitente y los enrutadores de reenvíoHecho solo por el remitente
Campos de opciónProporcionado en el encabezado de IPv4No hay campos opcionales, pero los encabezados de extensión IPv6 están disponibles
multidifusiónIGMP administra la membresía del grupo de multidifusiónMLD reemplaza al IGMP
Mensaje de difusiónDisponibleNo disponible. Se utiliza multidifusión
Asignación de IP a MACprotocolo de resolucion de DIRECCIONProtocolo de descubrimiento de vecinos

Conclusión

Exploramos los conceptos básicos del Protocolo de Internet y sus versiones. En el camino, el artículo aclara el esquema de direccionamiento, el formato del paquete, el funcionamiento de IPv4 e IPv6 con un análisis comparativo. Aunque IPv4 transporta la mayor parte del tráfico de Internet en la actualidad, IPv6 es el futuro del mundo de las redes.

Publicar un comentario

0 Comentarios