Protocolo de Red IP
Protocolo de Interconexión de Redes. Protocolo IP (Nivel 3 -RED- Modelo OSI)
El principal Protocolo que utiliza la Arquitectura TCP/IP en el nivel de red es el Protocolo IP (internet Protocol). IP es un Protocolo del nivel de red no orientado a conexión, basado en datagramas y no fiable.
- Se dice que un Protocolo está basado en Datagrama es cuando la Información que debe transmitir se divide en fragmentos. Por tanto, a cada uno de los paquetes o fragmentos de Información que transporta IP se le denomina Datagrama.
- IP es un Protocolo no orientado a conexión, es decir, no se establece un camino previamente, con lo cual cada Datagrama viaja de forma independiente, pudiendo llegar al destino fuera de secuencia o duplicado. No se crean circuitos virtuales.
- Y, además, es un Protocolo no fiable, es decir, no ofrece comprobaciones ni seguimientos.IiP intenta que los datos lleguen a su destino lo mejor que puede pero sin ofrecer garantías.
OJO! La unidad básica de Información en el nivel 2 o nivel de enlace se denomina trama. La unidad básica de Información en el nivel 3 o nivel de red es el Datagrama.
Se puede comparar IP con el servicio de correo postal, donde, al igual que en IP, no se realiza ningún seguimiento de que una carta se reciba correctamente. Deben ser el remitente o el destinatario los que estén pendientes de que el envío llegue correctamente.
Si se necesita llevar a cabo una comunicación fiable utilizando IP, es necesario añadir otro Protocolo que le dé fiabilidad a la transmisión; este Protocolo es TCP en la Arquitectura TCP/IP. Del mismo modo, para dar más fiabilidad a la entrega del correo postal, se puede utilizar el envío postal con acuse de recibo. En esta modalidad, cuando la carta llega a su destino, se envía un acuse de recibo al remitente. Si no se recibe acuse de recibo, el remitente puede suponer que la carta no llegó correctamente y volver a enviarla.
Aunque pueda parecer que IP es un Protocolo con carencias, realmente no es así. Este funcionamiento permite gran flexibilidad para implementar los servicios en los niveles superiores.
La versión actualmente implantada en la mayor parte de los sistemas es la versión 4, conocida como IPV4. Sin embargo, algunas limitaciones de la versión 4 llevaron al desarrollo de la versión 6 (hay una versión 5 experimental no utilizada de forma comercial). La versión 6 de IP, conocida como IPV6 (en sus inicios también fue conocida como IPNG de IP NEXT Generation), fue adoptada por el organismo encargado de la publicación de los estándares en internet llamado IETF (Internet Engineering Task Force) en 1994.
Hasta ahora el nuevo Protocolo IPV6 apenas ha sido utilizado, aunque el agotamiento de las direcciones IPV4 está obligando a empezar a utilizarlo de forma cada vez más masiva.
Datgrama IPV4
la transmisión de los datos en el nivel de red utilizando el Protocolo IP se realiza en unidades de Información llamadas datagramas. Como es de suponer, un Datagrama consta de dos partes, una cabecera y los datos. La longitud de un Datagrama es variable, pudiendo alcanzar un tamaño máximo de 65.535 bytes. a continuación se muestra la estructura de un Datagrama IP. los números mostrados en la parte inferior de la figura son los tamaños de los campos de la cabecera expresados en bits.
Descripción de cada uno de los campos:
Versión. Se incluye la versión del Protocolo IP. actualmente la mayor parte de las redes utiliza la versión 4, por tanto este campo contiene el valor 4 en binario: 0100.
- Longitud de la cabecera. La cabecera de un Datagrama IP no tiene un tamaño fijo. su longitud puede estar entre 20 y 60 bytes. En este campo se define la longitud de la cabecera en un valor múltiplo de 4, es decir, el valor almacenado en este campo se multiplica por 4 para obtener el número total de bytes de la cabecera.
- Tipo de servicio (actualmente ECN). En la especificación original de IP este campo se utilizaba para incluir Información sobre el nivel de retardo, fiabilidad y prestaciones, en función del tipo de servicio que se estuviera utilizando. En la práctica este campo apenas ha sido utilizado, de forma que el IETF redefinió su uso como ECN (explicit congestion Notification), utilizado para enviar Información sobre congestión de la red (RFc3168 publicado en 2001).nLongitud total. almacena la longitud total del Datagrama IP incluyendo la cabecera y los datos. es un campo de 16 bits, por lo que puede almacenar hasta una longitud de 65.535 bytes.
Importante! Aunque la longitud máxima que admite el Protocolo IP es de 65.535 bytes, en la práctica el tamaño del Datagrama IP utilizado en las redes suele ser bastante inferior y depende de la tecnología de red empleada en los niveles inferiores. Esto es así para evitar la fragmentación de los datagramas, lo que ocasionaría una importante pérdida de rendimiento.El tamaño máximo en bytes de la unidad de datos que un Protocolo puede procesar se conoce como MTU (Maximum Transfer Unit). El tamaño máximo del Datagrama IP suele adaptarse a la MTU del nivel de enlace. Así, en redes Ethernet donde el tamaño máximo de la trama es de 1.518 bytes se establece el tamaño máximo del Datagrama IP en 1.500 bytes.
- Identificación. Este campo se utiliza para enumerar los datagramas fragmentados. La fragmentación de un Datagrama IP se produce cuando la MTU de una red es menor que la de la red en la que originó el Datagrama. Por las características propias de IP, los datagramas fragmentados pueden llegar con un orden diferente con el que se enviaron, por lo que esta numeración es necesaria.
- Indicadores. Campo formado por tres bits:.
-El primer bit es de uso reservado y debe ser 0.
-El segundo bit se llama DF (Don’t Fragment) y se activa a valor 1 para indicar que el Datagrama no puede fragmentarse. En caso contrario su valor será 0.
-El último bit se llama MF (More Fragments) y su valor debe ser 1 para indicar que el Datagrama está fragmentado y aún faltan más fragmentos por enviarse. Cuando su valor es 0 indica que es el último fragmento. En el caso de que sea un Datagrama sin fragmentación su valor es también 0.
- Desplazamiento del fragmento. Este campo se utiliza para indicar el desplazamiento de los datos incluidos en el Datagrama fragmentado respecto al Datagrama original.
- TTL (time to Live, tiempo de vida). Este campo es un número que indica el número de saltos que el Datagrama puede realizar antes de ser descartado. Cuando se crea el Datagrama se asigna a este campo un valor inicial (normalmente 127). Un salto se produce cuando el Datagrama cambia de red, esto lo lleva a cabo un Router. el Router es el que decrementa el valor de este campo en una unidad. si el valor del campo llega a cero, el Datagrama se descarta. Este funcionamiento se utiliza para evitar que los datagramas permanezcan de forma indefinida en la red.
- Protocolo. Este campo es un identificador del Protocolo de nivel superior utilizado. Los valores más comunes son TCP (6), UDP (17) o ICMP (1).
- Cheksum o suma de comprobación. Este campo se utiliza para la detección de errores en la cabecera. Para su cálculo no se tienen en cuenta los datos. los errores de los datos deben ser detectados por los niveles superiores.
Observación! El código checksum se calcula de forma más sencilla que el CRC. Simplemente se efectúa la suma aritmética de los datos ajustando el resultado para representarlo con 16 bits.
- Dirección lógica de origen. Este campo identifica el dispositivo de red del que parte el Datagrama.
- Dirección lógica de destino. Este campo identifica el dispositivo de red al que va dirigido el Datagrama.
- Opciones. Este campo se puede utilizar para enviar Información adicional en la cabecera del Datagrama, aunque se utiliza con poca frecuencia.
Direccionamiento IPV4
Este direccionamiento lógico se utiliza para definir un identificador para cada dispositivo de la red, pero teniendo en cuenta la jerarquía necesaria en la Arquitectura de las redes.
Por tanto, en el Protocolo IP, cada dispositivo debe tener asignada una dirección lógica conocida también como dirección de red o dirección IP. Dicha dirección IP está formada por 32 bits (4 bytes) y consta de tres campos de longitud variable, dependiendo del tipo de red a la que pertenezca la dirección.
Estos campos son:
- Clase
- Identificador de Red
- Identificador de Host o Identificador de Estación
Observación! En terminología de redes, la palabra Host se refiere a cualquier dispositivo conectado a una red y que es capaz de transmitir datos a través de dicha red. En el Protocolo IP, un Host es un dispositivo conectado a la red y que tiene asignada una dirección IP. Un Host podría ser un equipo final como un PC de sobremesa, un portátil conectado por Wi-Fi, un smartphone, una impresora en red; o un equipo de interconexión, como un Router.
Los casos un tanto especiales son los switches configurables y los puntos de acceso inalámbricos. Estos dispositivos operan habitualmente en los niveles físicos y de enlace, por lo que no se les puede considerar un dispositivo final que envía y recibe datos. Sin embargo, en operaciones de configuración de dichos dispositivos, estos se comportan como dispositivos finales (es decir, como Host), ya que implementan un servicio web para el cual se necesita la asignación de una dirección IP.
Debido a la incomodidad que supone trabajar con direcciones IP en formato binario utilizando 32 bits, se ha definido una notación más práctica para representar dichas direcciones y que se conoce como notación punto-decimal. La representación en dicha notación simplemente consiste en agrupar los bits en grupos de ocho y representar cada grupo en notación decimal en lugar de binaria. Se utiliza el punto (.) para separar cada grupo.
Direccionamiento de IP Jerárquica:
Direccionamiento de IP en formato punto-decimal:
Como se observa, cada número decimal de una dirección IP realmente representa un número binario de 8 bits, por lo tanto, el rango válido de números que pueden aparecer en una dirección IP es del 0 al 255. a cada uno de estos números decimales que forman una dirección de red le denominaremos octeto.
Direccionamiento Lógico: es un direccionamiento Jerárquico, ya que la numeración se utiliza para identificar la red y otra parte para identificar el Host dentro de la red, además para identificar la red y los hosts dentro de cada red, fue necesario definir otro concepto conocido como Clase.
Direcciones públicas, privadas y reservadas
La diferencia entre tres tipos de direcciones IP; las de tipo pública, las de tipo privada y de reservas:
- La direcciones públicas son aquellas que se pueden utilizar para Internet
- Las direcciones privadas solo se pueden usar en entornos internos de una red, pero no sirven en internet
- Las direcciones de tipo reservadas no deben usarse salvo para el motivo específicamente asignado a esa dirección (son especiales).
Rangos de IP Privadas
- Clase: A 10.0.0.0 a 10.255.255.255
- Clase B: 172.16.0.0 a 172.31.255.255
- Clase C: 192.168.0.0 a 192.168.255.255
Rangos de IP Públicas
- Clase A: 1.0.0.0 a 126.255.255.255
- Clase B: 128.0.0.0 a 191.255.255.255
- Clase C: 192.0.0.0 a 223.255.255.255
Clase
Las clases se definieron en el Protocolo IP para optimizar el uso del enrutamiento de los datagramas, ya que no usar clases hubiera supuesto que los routers deberían almacenar una gran cantidad de Información en sus tablas de enrutamiento, lo cual hubiera sido negativo para el funcionamiento de las redes. Se establecieron varios tipos de redes, es decir, de clases, para cubrir las necesidades de los diferentes tipos de organizaciones, ya que cada Clase permite un máximo de direcciones IP en cada red que pertenezca a dicha Clase.
Las clases que se definieron en el Protocolo IP son:
- Clase A: en esta Clase, el bit más significativo de la dirección IP vale siempre 0. se utilizan 7 bits para identificar la red y el resto de bits, es decir, 24, se utilizan para identificar un Host dentro de la red.
- Clase B: en este caso, el valor de los dos primeros bits de la dirección es siempre 10. Se utilizan 14 bits para identificar la red y 16 bits para identificar un Host dentro de la red.
- Clase C: en este caso, el valor que se utiliza en los tres primeros bits para asignar la Clase c es el 110. Se utilizan 21 bits para identificar la red y 8 bits para identificar un Host dentro de la red.
- Clase D: esta Clase se identifica por contener en los cuatro primeros bits el valor 1110 y se utiliza para establecer direcciones de multienvío.
- Clase E: identificada por sus primeros 4 bits tiene el valor 1111. Estas direcciones están reservadas inicialmente para usos futuros, aunque en la práctica nunca se ha llegado a definir ningún uso para estas direcciones.el resumen del direccionamiento se puede ver en la siguiente figura.
Según la definición de las clases, un Host dentro de una red tendrá asignada una dirección IP que pertenecerá a alguna de las tres primeras clases, es decir, las clases A, B y C.
La figura anterior muestra de qué manera se identifica cada una de las clases basándose en el formato binario, pero en la práctica las direcciones IP se representan utilizando la notación punto-decimal.
Por ejemplo: 64.54.126.45 | 188.12.3.4 | 215.63.10.15
Con la Información que tenemos sobre las clases no podemos deducir de forma inmediata a qué Clase pertenece cada una de estas direcciones. Habría que pasar al menos el primer octeto a formato binario para conocer el valor de los primeros bits. Sin embargo, es mucho más práctico conocer los valores de ese primer octeto en notación decimal para cada una de las clases.
Para identificar a qué Clase pertenece una dirección IP solo es necesario fijarse en el primer octeto de la dirección IP. Con la tabla anterior ya sí es inmediato identificar a qué Clase pertenece cada una de las direcciones anteriores.
- Clase A, primer octeto es el 64.
- Clase B, primer octeto es el 188.
- Clase C, primer octeto de la dirección es el 215.
Capacidades teóricas de cada una de las clases:
- Clase A: máximo 128 (27) redes. Contiene un máximo de 16.777.216 (224) hosts.
- Clase B: máximo 16.384 (214) redes. Contiene un máximo de 65.536 (216) hosts.
- Clase C: máximo 2.097.152 (221) redes. Contiene un máximo de 256 (28) hosts.
Lógicamente, los diseñadores del Protocolo IP nunca esperaron el espectacular desarrollo de su tecnología y, aunque en el momento de su desarrollo este esquema de direccionamiento parecía más que suficiente para proporcionar direcciones lógicas a todos los dispositivos, cuando empezó el crecimiento de internet pronto se dieron cuenta de que dicho esquema de direccionamiento era poco eficiente. Por último, es importante destacar que el Protocolo define una serie de direcciones IP reservadas para otras funciones y que no se pueden utilizar como direcciones para hosts.
X.0.0.0 | Dirección de red de una red de Clase A |
X.X.0.0 | Dirección de red de una red de Clase B |
X.X.X.0 | Dirección de red de una red de Clase C |
X.255.255.255 | Dirección de difusión de una rede Clase A |
X.X.255.255 | Dirección de difusión de una rede Clase B |
0.0.0.0 | Dirección utilizada para referirse al propio equipo en las tablas de enrutamiento internas de los equipos. |
127.0.0.1 | Dirección de loopback o de bucle local. Utilizada habitualmente para hacer pruebas de protocolos superiores |
En la especificación de la dirección en la tabla anterior, el símbolo X representa un valor cualquiera entre 0 y 255, que es el rango válido en la notación punto-decimal. Las direcciones de difusión, también llamadas de Broadcast, se utilizan para llevar a cabo envíos simultáneos a todos los dispositivos de una red. Las direcciones de difusión solo se pueden utilizar como direcciones destino en un Datagrama IP.
La dirección de red se utiliza, especialmente, en los routers para identificar una red. Se podría decir que esa dirección reservada sirve para nombrar la red. Por ejemplo, la dirección IP 188.12.3.4 estaría asignada a un hosts que pertenece a la red 188.12.0.0, que es una red de Clase B
Recuerda! Cuando en una dirección IP todos los bits reservados para identificar los equipos de una red están a cero, esa dirección no se refiere a ningún equipo, sino que es la dirección de la red. Y cuando están a uno, esa dirección es la dirección de Broadcast o de difusión de la red.
Subredes
Como hemos visto, las direcciones IP incluyen dos niveles jerárquicos, por lo que cada dirección de red utiliza una parte para identificar la red y otra parte para identificar un equipo o Host dentro de la red.
El Protocolo IP permite, además, la utilización de un tercer nivel de jerarquía entre los dos niveles jerárquicos definidos por defecto, es el nivel de subred. Esta característica se utiliza cuando una organización, que tiene asignado un rango de direcciones IP (públicas o privadas), necesita organizar de forma interna el uso de dichas direcciones.
Para ello, se aplica una técnica llamada enmascaramiento, que es el proceso por el cual se puede obtener la dirección de red o de subred de una dirección IP dada. E
El enmascaramiento se puede aplicar tanto en redes que utilicen subredes como en redes que no las utilicen. De hecho, actualmente, y para ofrecer un método homogéneo del tratamiento de las direcciones de red, se aplica el enmascaramiento siempre. Para utilizar esta técnica se define un parámetro llamado máscara de subred o simplemente máscara. La máscara es un número de 32 bits que define qué bits de una dirección IP se utilizan para identificar la red o subred y qué bits se utilizan para identificar el Host. Lógicamente el valor de la máscara estará condicionado por la Clase a la que pertenezca la dirección de red.
- Los bits que identifican la red o subred toman el valor 1 en la máscara.
- Los bits que identifican el equipo toman el valor 0 en la máscara.
Las máscaras utilizadas para redes que no utilizan subredes están acordes con las características de las clases utilizadas.
Clase | Máscara | Máscara en binario |
Clase A | 255.0.0.0 | 11111111.00000000.00000000.00000000 |
Clase B | 255.255.0.0 | 11111111.11111111.0000000.00000000 |
Clase C | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
Cuando se utilizan subredes, la máscara especifica cuántos bits de la dirección IP se utilizan para la red y la subred.
Por ejemplo, una empresa tiene reservada para su uso la dirección de Clase B 180.30.0.0. esto le permite utilizar hasta 65.534 direcciones de hosts diferentes. Al ser un número elevado de direcciones y por razones de organización, puede crear subredes. el número máximo de subredes que se pueden crear depende de la máscara elegida y debe ser potencia de dos, es decir, 2, 4, 8, 16, 32…
Si se decide utilizar una máscara que permita crear hasta ocho subredes, se deben añadir tres unos a la máscara original sin subredes para Clase B. Para la Clase B, la máscara es 255.255.0.0. Para llevar a cabo este proceso es más sencillo utilizar la notación binaria:
- Máscara para una red de Clase B: 11111111.11111111.00000000.00000000
- Para el uso de ocho subredes se añaden tres unos a la máscara y se pasa de nuevo a notación punto-decimal.
- Máscara en formato binario: 11111111.11111111.11100000.00000000
- Máscara en notación punto-decimal: 255.255.224.0
Las direcciones de las subredes definidas en el ejemplo serían:
Dirección de Subred | Dirección de Red | Subred | Hosts |
180.30.0.0 | 10110100.00011110. | 000 | 00000.00000000 |
180.30.32.0 | 10110100.00011110. | 001 | 00000.00000000 |
180.30.64.0 | 10110100.00011110. | 010 | 00000.00000000 |
180.30.96.0 | 10110100.00011110. | 011 | 00000.00000000 |
180.30.128.0 | 10110100.00011110. | 100 | 00000.00000000 |
180.30.160.0 | 10110100.00011110. | 101 | 00000.00000000 |
180.30.142.0 | 10110100.00011110. | 110 | 00000.00000000 |
180.30.224.0 | 10110100.00011110. | 111 | 00000.00000000 |
Para obtener la dirección de subred a partir de una dirección de red y una máscara se sigue el siguiente Procedimiento:
- Los bytes de la dirección IP que se correspondan con el número 255 en la máscara se repiten en la dirección de la subred.
- Los bytes de la dirección IP que se correspondan con 0 en la máscara se cambian por un 0 en la dirección de la subred.
- Para números diferentes a 0 y 255 se aplica el operador AND entre el byte de la dirección IP y el byte de la máscara.
En el siguiente ejemplo se obtienen las direcciones de subred y de red de una dirección IP y su máscara:
Ayudita! Algunas corrspondencias útiles entre valores binarios y decimales:
-
10000000 -> 128
-
11000000 -> 192
-
11100000 -> 224
-
11110000 -> 240
-
11111000 -> 248
-
11111100 -> 252
-
11111110 -> 254
Ámbitos en el uso de Direcciones IP: Públicas y Privadas
Durante los primeros años de funcionamiento del Protocolo IP todos los dispositivos conectados en las redes que formaban internet utilizaban direcciones IP dentro del espacio de direcciones conocido como direcciones públicas. Cuando una empresa o institución quería conectar su red a internet solicitaba un bloque de direcciones. Esta asignación se hacía mediante las clases, es decir, cuando alguna entidad solicitaba direcciones públicas, se le asignaba un rango completo de una de las clases (A, B o C).
Un organismo llamado IANA (Internet Assigned Numbers Authority) se encargaba de la asignación de las mismas. Sin embargo, el rápido crecimiento de internet hizo que esa política de asignación de direcciones IP no fuese viable. Fue necesario poner en marcha mecanismos para optimizar el uso de las cada vez más escasas direcciones IP públicas. Uno de esos mecanismos fue el uso de direcciones privadas, dichas direcciones son válidas en una red privada y no se pueden utilizar para la conexión a otras redes.
Rangos de direcciones IP que se pueden utilizar como direcciones privadas:
Total de rangos en la Clase A (1), en la Clase B (16) y en la Clase C (256).
Los mecanismos de enrutamiento desarrollados sobre el Protocolo IP no permiten encaminar fuera de las redes privadas datagramas que utilicen este tipo de direccionamiento, por ello también reciben el nombre de direcciones no enrutables.
NAT
Para poder proporcionar conectividad en internet a redes que utilizasen direcciones privadas se utilizó una variante de una técnica llamada NAT (Network Address traslation). Dicha variante, conocida como NAPT (Network Address Port Traslation) permite compartir una sola dirección IP pública entre varios dispositivos dentro de la misma red. En la actualidad, lo más frecuente es encontrar redes locales que utilizan direccionamiento privado dentro de la propia red y solo los routers tienen direccionamiento público. Para ello es necesario que los routers implementen NAT. Éste es el escenario más habitual en muchos tipos de redes, incluyendo las redes residenciales.
En función de lo expuesto, podemos distinguir por tanto dos tipos de direcciones IP, las direcciones IP públicas y las direcciones IP privadas.
Observación! Aunque la técnica utilizada en la mayor parte de las redes privadas para acceder a Internet es NAPT, se suele emplear el término genérico de NAT para referirse a dicha técnica de traducción de direcciones.
Observación! Un Router es un dispositivo de interconexión que permite unir dos o más redes diferentes. Es el dispositivo utilizado habitualmente para unir una red LAN con una red WAN.
Asignación de Direcciones IP Privadas
Las direcciones IP privadas se suelen utilizar en las redes locales, de forma que todos los dispositivos conectados en una red local necesitan una dirección IP para intercambiar datos con el resto de dispositivos. Sin embargo, para que un equipo funcione correctamente en una red local necesita estar configurado para disponer tanto de conectividad física como lógica.
- Conectividad física. Hablaremos de conectividad física entre dispositivos cuando exista una infraestructura física que haga posible la comunicación de dichos dispositivos, por ejemplo, una red local. Todos los dispositivos conectados a dicha infraestructura tendrán conectividad física, es decir, existirá un camino físico por el que los dispositivos podrán intercambiar datos.
- Conectividad lógica. Por otra parte, hablaremos de conectividad lógica entre dispositivos cuando los parámetros de configuración del nivel de red (y superiores) permitan el intercambio de Información entre dichos dispositivos. lógicamente, para que haya un intercambio real de Información entre los dispositivos debe haber tanto conectividad física como lógica.
Por tanto, para que un equipo conectado en una red local se pueda conectar con otros equipos, además de estar conectado físicamente a la red (ya sea por Ethernet o por Wi-Fi), deberá tener correctamente configurado su direccionamiento IP, es decir, su dirección IP y su máscara de subred. Lo más habitual es utilizar alguno de los rangos privados disponibles y su correspondiente máscara.
En algunos casos además se podrá organizar el direccionamiento de la red en subredes. El uso de subredes se conoce con el término subnetting. El subnetting se utiliza principalmente para separar el tráfico de red generado en diferentes áreas de la organización donde está implementada la red. Si se configuran diferentes subredes en una red local no habrá “visibilidad” entre los equipos de diferentes subredes, aunque sí haya conectividad física entre ellos
Para proporcionar conectividad lógica entre dispositivos de diferentes subredes será necesario el uso de routers:
Importante! Se puede utilizar el formato de asignación CIDR en direcciones privadas. Por ejemplo, la dirección de red 192.168.0.0, que sería una dirección de Clase C, equivale al rango CIDR 192.168.0.0 / 24. CIDR para definir subredes se conoce como VLSM (Variable-Length Subnet Masking, máscara de subred de longitud variable)
Prefijos CIDR y sus equivalentes decimales para IPV4
|
El Nuevo Protocolo IPV6
IPv6, que originalmente se llamó IPng (IP NEXT Generation), fue desarrollado por el organismo IETF (Internet Engineering Task Force) en 1994 sobre todo para solventar uno de los principales problemas que apareció en IPv4, que es la falta de direcciones IP.
Además de solucionar este problema se añadieron características adicionales para mejorar el funcionamiento de IP. Por tanto, las principales características de IPV6 son:
- Espacio de direcciones ampliado: éste es el principal objetivo de IPV6. Se define un nuevo tipo de dirección IP de 128 bits, en lugar de los 32 bits de una dirección IPV4, lo que conlleva un espacio de direccionamiento prácticamente inagotable.
- Mecanismo de opciones mejorado: las opciones de IPV6 se encuentran en cabeceras separadas opcionales situadas entre la cabecera IPV6 y la cabecera de la capa de transporte. La mayoría de estas cabeceras opcionales no se examinan ni procesan por ningún dispositivo de enrutamiento en la trayectoria del paquete. esto simplifica y acelera el procesamiento que realiza un dispositivo de enrutamiento sobre los datagramas IPV6 en comparación con los datagramas IPV4, y hace que sea más fácil incorporar opciones adicionales.
- Direcciones de autoconfiguración: esta capacidad proporciona una asignación dinámica de direcciones IPV6, siendo por tanto innecesario el uso de DHCP.
- Aumento de la flexibilidad en el direccionamiento: IPV6 incluye el uso mejorado de:
-Direcciones Multicast (envío de un Datagrama a un grupo de receptores)
-Direccionamiento ANYCAST (envío de un Datagrama a un receptor dentro de un grupo).
- Facilidad para la asignación de recursos: IPV6 habilita el etiquetado de los paquetes como pertenecientes a un flujo de tráfico particular para el cual el emisor solicita un tratamiento especial. Esto ayuda al tratamiento del tráfico especializado, como puede ser el video o la voz en tiempo real.
- Las características de seguridad, conocidas como IPsec: son intrínsecas al núcleo del Protocolo. En IPV4 se puede utilizar IPsec pero es opcional.
- Enrutamiento y procesamiento de los datagramas en los routers es más eficiente gracias a la jerarquía de direccionamiento de IPV6 y a que no haya fragmentación, ya que, de ser necesaria, ésta se aplica solo en el Nodo origen.
- Características para permitir la movilidad
Estructura de un Datagrama básico IPv6 consiste en:
- Versión de Datagrama, en este caso IPv6 (0110 binario).
- Clase de tráfico: se utiliza para asignar prioridades dependiendo de la importancia del tráfico. Valores del O al 15, donde el 15 sería tráfico en tiempo real y el O tráfico menos necesario.
- Etiqueta de flujo creado para soportar características como Calidad de servicio, entregas en tiempo real de datagramas, etc.
- Tamaño de la carga útil: mide el Datagrama menos 40 bytes del encabezado.
- Encabezado siguiente: especifica los encabezados extendidos.
- Límite de saltos: igual que TTL (tiempo de vida). El número de saltos por el que pasará antes de eliminarse un Datagrama.
- Dirección IP de origen: dirección del emisor de 128 bits.
- Dirección IP de destino: dirección del destinatario de 128 bits.
Estructura y tamaño de un Datagrama de IPv6:
La dirección IPv6 es la sustituta de la IPv4 y soluciona el problema de la cantidad de IP limitadas del Protocolo IPv4. Las direcciones IPv6 tienen un tamaño de 128 bits y se divide de la siguiente forma:
48 bits primero para la porción de red, los primeros 32 son el prefijo del proveedor ISP y 16 bits para la red.
16 bits a continuación para el prefijo local, que son las porciones de subredes.
64 bits para el interfaz de red (Host).
Ejemplo de comparación entre IPv4 e IPv6, donde se muestran las zonas de cada IP:
En IPv6 se utiliza la escritura en formato hexadecimal en vez de binario o decimal. En caso de tener una dirección varios ceros a la izquierda no es necesario ponerlos; y si existen varias sucesiones de ceros, pueden sustituirse por
Por ejemplo, la dirección 2000:1162:10bl:0000:0000:08cl:871c:130b se puede resumir en 2000:1162:10bl:0:0:0:8cl:871c:130b.
Cálculo de direcciones IPv6
Para calcular y entender correctamente las direcciones IPv6 se debe saber realizar las conversiones de las direcciones de hexadecimal a binario y viceversa, entendiendo que hexadecimal contiene 16 valores, del 0 al 9 y de la A a la F. Las letras corresponderían a los números del 10 al 16 en decimal.
Pasos para calcular direcciones IPv6
- Cada tramo de dirección IPv6 en hexadecimal corresponde a 16 bits en binario. Por ejemplo, el último tramo de esta dirección vista: 130b en hexadecimal corresponde al número binario 0001001100001011.
Por tanto, cada tramo de dirección IPv6 en hexadecimal corresponde a 16 bits en binario; así, la dirección vista en el ejemplo anterior: 2000:1162:10bl:0000:0000:08cl:871c: 130b.
Esta dirección traducida a binario correspondería con: 0010000000000000000100010110001000010000101 1000100000000000000000000000000000000000010 001100000110000111000111000001001100001011.
Lo que daría esta dirección IPv6 de 128 bits (vista en valores binarios).
- Para convertir de hexadecimal a binario se deben de ir separando los bits de 4 en 4, comenzando por la derecha. En la dirección anterior, los últimos 16 bits darían el siguiente número binario: 0001001100001011, que dividido en rangos de 4 en 4 comenzando por la derecha se quedarían los siguientes grupos: 1011 0000 0011 0001.
Sabiendo convertirlo primero a decimal:
BINARIO 1 1 1 1
DECIMAL 8 4 2 1
Hexadecimal: corresponden los números 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10 en decimal), B (11 en decimal), C (12 en decimal), C (13 en decimal), D (14 en decimal), E (15 en decimal) y F (15 en decimal).
- Se comienza con el cálculo para pasar a decimal:
- 0001 en binario es igual a 1 en decimal y a 1 en hexadecimal = 1.
- 0011 en binario es igual a 3 (2 + 1) en decimal y a 3 en hexadecimal = 3. i 0000 en binario es igual a 0 en decimal y a 0 en hexadecimal = 0.
- 1011 en binario es igual a 11 (8 + 2 + 1) en decimal y B en hexadecimal = B.
- El resultado se ordena desde arriba hacia abajo y daría como resultado el número hexadecimal 130b. Se continuaría de esta manera calculando el resto de la dirección binaria.
- Para calcular de hexadecimal a binario se agruparían números hexadecimales de la dirección IPv6 de dos en dos y se realizaría el cálculo. Por ejemplo, el último tramo de dirección IPv6: 130b: 13 y OB.
El número 13 según la tabla sería en binario; 0001 correspondiente al primer valor hexadecimal 1 y 0011 al segundo valor hexadecimal 3. OB, según la tabla, sería en binario 0000 correspondiente al valor hexadecimal 0 y 1011 correspondiente al valor hexadecimal B (8 + 2 + 1 = 11).
- Si se une todo el segmento daría el resultado binario 0001 0011 0000 0001, confirmando que está correcta la operación.
Direccionamiento IPV6
El principal objetivo por el que se desarrolló la versión 6 de IP fue la ampliación del espacio de direcciones, que se había quedado corto con IPV4 después del gran desarrollo que experimentó internet. Una dirección IPV4 es un número de 32 bits representados en formato punto decimal, es decir, agrupando los bits de ocho en ocho y pasando cada cifra a decimal. El nuevo Protocolo IPV6 utiliza direcciones de 128 bits, es decir, cuatro veces más bits que una dirección IPV4. Con ello, el espacio de direcciones en IPV6 es de 2128, un número enorme y prácticamente inagotable.
Además de ampliarse el número de bits de las direcciones IPV6 también se ha cambiado la forma de representar dichas direcciones. Se utiliza la numeración hexadecimal y se forman grupos de 16 bits, es decir, de 4 dígitos hexadecimales. Por tanto, una direcciónIPV6 estará formada por 8 grupos de 4 dígitos hexadecimales. El carácter separador de cada grupo son los dos puntos (:).
Ejemplo IPV6: 2001:0bd8:0000:0000:0012:ac43:0000:65d3
La escritura de las direcciones IPV6 admite además varias simplificaciones:
- Dentro de cada bloque de 4 dígitos hexadecimales se pueden quitar los ceros a la izquierda. Aplicando esta regla, la dirección anterior quedaría: 2001:bd8:0000:0000:12:ac43:0000:65d3
- Un bloque donde todos los dígitos sean cero se puede representar con un solo cero. Siguiendo con el ejemplo anterior: 2001:bd8:0:0:12:ac43:0:65d3
- Se pueden sustituir varios bloques consecutivos con el valor cero por la abreviatura “::”. Esto solo se puede aplicar una vez. Aplicando esta regla en el ejemplo: 2001:bd8::12:ac43:0:65d3
En el siguiente ejemplo se muestra otra dirección donde existen bloques consecutivos a cero en dos partes de la dirección. Solo se aplica la regla anterior en la primera aparición:
- Dirección sin simplificaciones: 2001:006b:0000:0000:cd41:0000:0000:923a
- Dirección con simplificaciones: 2001:6b::cd41:0:0:923a
Observación! Para especificar bloques de direcciones IPV6 se utiliza la notación CIDR, donde se indica la dirección base del rango, con el valor correspondiente de su prefijo, y un número que indica el número de bits del prefijo. Por ejemplo, el rango 2001:bd8:: / 32 indica que los 32 primeros bits de la dirección forman el prefijo del rango.El resto de bits de la dirección base están a valor cero.
La primera dirección válida en este rango sería:
- 2001:bd8:0:0:0:0:0:1 o con la simplificación 2001:bd8::1
La última dirección IP del rango sería:
- 2001:bd8:ffff:ffff:ffff:ffff:ffff:ffff
CIDR tabla de rango aproximada para IPV6
CIDR | Start of range | End of range | Total addresses | Total /64 subnets |
---|---|---|---|---|
0::0/0 | :: | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 340,282,366,920,938,463,463,374,607,431,768,211,456 | 18,446,744,073,709,551,616 |
f000::/1 | f000:: | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 170,141,183,460,469,231,731,687,303,715,884,105,728 | 9,223,372,036,854,775,808 |
4000::/2 | 4000:: | 7fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 85,070,591,730,234,615,865,843,651,857,942,052,864 | 4,611,686,018,427,387,904 |
2000::/3 | 2000:: | 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 42,535,295,865,117,307,932,921,825,928,921,026,432 | 2,305,843,009,213,693,452 |
2000::/4 | 2000:: | 2fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 21,267,647,932,558,653,966,460,912,964,485,513,216 | 1,152,921,504,606,846,976 |
2000::/5 | 2000:: | 27ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 10,633,823,966,279,326,983,230,456,482,242,756,608 | 576,460,752,303,423,488 |
2000::/6 | 2000:: | 23ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 5,316,911,983,139,663,491,615,228,241,121,378,304 | 288,230,376,151,711,744 |
2000::/7 | 2000:: | 21ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 2,658,455,991,569,831,745,807,614,120,560,689,152 | 144,115,188,075,855,872 |
2000::/8 | 2000:: | 20ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 1,329,227,995,784,915,872,903,807,060,280,344,576 | 72,057,594,037,927,936 |
2000::/9 | 2000:: | 207f:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 664,613,997,892,457,936,451,903,530,140,172,288 | 36,028,797,018,963,968 |
2000::/10 | 2000:: | 203f:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 332,306,998,946,228,968,225,951,765,070,086,144 | 18,014,398,509,481,984 |
2000::/11 | 2000:: | 201f:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 166,153,499,473,114,484,112,975,882,535,043,072 | 9,007,199,254,740,992 |
2000::/12 | 2000:: | 200f:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 83,076,749,736,557,242,056,487,941,267,521,536 | 4,503,599,627,370,496 |
2000::/13 | 2000:: | 2007:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 41,538,374,868,278,621,028,243,970,633,760,768 | 2,251,799,813,685,248 |
2000::/14 | 2000:: | 2003:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 20,769,187,434,139,310,514,121,985,316,880,384 | 1,125,899,906,842,624 |
2000::/15 | 2000:: | 2001:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 10,384,593,717,069,655,257,060,992,658,440,192 | 562,949,953,421,312 |
2001::/16 | 2001:: | 2001:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 5,192,296,858,534,827,628,530,496,329,220,096 | 281,474,976,710,656 |
2001::/17 | 2001:: | 2001:7fff:ffff:ffff:ffff:ffff:ffff:ffff | 2,596,148,429,267,413,814,265,248,164,610,048 | 140,737,488,355,328 |
2001::/18 | 2001:: | 2001:3fff:ffff:ffff:ffff:ffff:ffff:ffff | 1,298,074,214,633,706,907,132,624,082,305,024 | 70,368,744,177,664 |
2001::/19 | 2001:: | 2001:1fff:ffff:ffff:ffff:ffff:ffff:ffff | 649,037,107,316,853,453,566,312,041,152,512 | 35,184,372,088,832 |
2001::/20 | 2001:: | 2001:0fff:ffff:ffff:ffff:ffff:ffff:ffff | 324,518,553,658,426,726,783,156,020,576,256 | 17,592,186,044,416 |
2001::/21 | 2001:: | 2001:07ff:ffff:ffff:ffff:ffff:ffff:ffff | 162,259,276,829,213,363,391,578,010,288,128 | 8,796,093,022,208 |
2001::/22 | 2001:: | 2001:03ff:ffff:ffff:ffff:ffff:ffff:ffff | 81,129,638,414,606,681,695,789,005,144,064 | 4,398,046,511,104 |
2001::/23 | 2001:: | 2001:01ff:ffff:ffff:ffff:ffff:ffff:ffff | 40,564,819,207,303,340,847,894,502,572,032 | 2,199,023,255,552 |
2001::/24 | 2001:: | 2001:00ff:ffff:ffff:ffff:ffff:ffff:ffff | 20,282,409,603,651,670,423,947,251,286,016 | 1,099,511,627,776 |
2001::/25 | 2001:: | 2001:007f:ffff:ffff:ffff:ffff:ffff:ffff | 10,141,204,801,825,835,211,973,625,643,008 | 549,755,813,888 |
2001::/26 | 2001:: | 2001:003f:ffff:ffff:ffff:ffff:ffff:ffff | 5,070,602,400,912,917,605,986,812,821,504 | 274,877,906,944 |
2001::/27 | 2001:: | 2001:001f:ffff:ffff:ffff:ffff:ffff:ffff | 2,535,301,200,456,458,802,993,406,410,752 | 137,438,953,472 |
2001::/28 | 2001:: | 2001:000f:ffff:ffff:ffff:ffff:ffff:ffff | 1,267,650,600,228,229,401,496,703,205,376 | 68,719,476,736 |
2001::/29 | 2001:: | 2001:0007:ffff:ffff:ffff:ffff:ffff:ffff | 633,825,300,114,114,700,748,351,602,688 | 34,359,738,368 |
2001::/30 | 2001:: | 2001:0003:ffff:ffff:ffff:ffff:ffff:ffff | 316,912,650,057,057,350,374,175,801,344 | 17,179,869,184 |
2001::/31 | 2001:: | 2001:0001:ffff:ffff:ffff:ffff:ffff:ffff | 158,456,325,028,528,675,187,087,900,672 | 8,589,934,592 |
2001:db8::/32 | 2001:db8:: | 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff | 79,228,162,514,264,337,593,543,950,336 | 4,294,967,296 |
2001:db8::/33 | 2001:db8:: | 2001:db8:7fff:ffff:ffff:ffff:ffff:ffff | 39,614,081,257,132,168,796,771,975,168 | 2,147,483,648 |
2001:db8::/34 | 2001:db8:: | 2001:db8:3fff:ffff:ffff:ffff:ffff:ffff | 19,807,040,628,566,084,398,385,987,584 | 1,073,741,824 |
2001:db8::/35 | 2001:db8:: | 2001:db8:1fff:ffff:ffff:ffff:ffff:ffff | 9,903,520,314,283,042,199,192,993,792 | 536,870,912 |
2001:db8::/36 | 2001:db8:: | 2001:db8:0fff:ffff:ffff:ffff:ffff:ffff | 4,951,760,157,141,521,099,596,496,896 | 268,435,456 |
2001:db8::/37 | 2001:db8:: | 2001:db8:07ff:ffff:ffff:ffff:ffff:ffff | 2,475,880,078,570,760,549,798,248,448 | 134,217,728 |
2001:db8::/38 | 2001:db8:: | 2001:db8:03ff:ffff:ffff:ffff:ffff:ffff | 1,237,940,039,285,380,274,899,124,224 | 67,108,864 |
2001:db8::/39 | 2001:db8:: | 2001:db8:01ff:ffff:ffff:ffff:ffff:ffff | 618,970,019,642,690,137,449,562,112 | 33,554,432 |
2001:db8::/40 | 2001:db8:: | 2001:db8:00ff:ffff:ffff:ffff:ffff:ffff | 309,485,009,821,345,068,724,781,056 | 16,777,216 |
2001:db8::/41 | 2001:db8:: | 2001:db8:007f:ffff:ffff:ffff:ffff:ffff | 154,742,504,910,672,534,362,390,528 | 8,388,608 |
2001:db8::/42 | 2001:db8:: | 2001:db8:003f:ffff:ffff:ffff:ffff:ffff | 77,371,252,455,336,267,181,195,264 | 4,194,304 |
2001:db8::/43 | 2001:db8:: | 2001:db8:001f:ffff:ffff:ffff:ffff:ffff | 38,685,626,227,668,133,590,597,632 | 2,097,152 |
2001:db8::/44 | 2001:db8:: | 2001:db8:000f:ffff:ffff:ffff:ffff:ffff | 19,342,813,113,834,066,795,298,816 | 1,048,576 |
2001:db8::/45 | 2001:db8:: | 2001:db8:0007:ffff:ffff:ffff:ffff:ffff | 9,671,406,556,917,033,397,649,408 | 524,288 |
2001:db8::/46 | 2001:db8:: | 2001:db8:0003:ffff:ffff:ffff:ffff:ffff | 4,835,703,278,458,516,698,824,704 | 262,144 |
2001:db8::/47 | 2001:db8:: | 2001:db8:0001:ffff:ffff:ffff:ffff:ffff | 2,417,851,639,229,258,349,412,352 | 131,072 |
2001:db8::/48 | 2001:db8:: | 2001:db8:0000:ffff:ffff:ffff:ffff:ffff | 1,208,925,819,614,629,174,706,176 | 65,536 |
2001:db8::/49 | 2001:db8:: | 2001:db8:0000:7fff:ffff:ffff:ffff:ffff | 604,462,909,807,314,587,353,088 | 32,768 |
2001:db8::/50 | 2001:db8:: | 2001:db8:0000:3fff:ffff:ffff:ffff:ffff | 302,231,454,903,657,293,676,544 | 16,384 |
2001:db8::/51 | 2001:db8:: | 2001:db8:0000:1fff:ffff:ffff:ffff:ffff | 151,115,727,451,828,646,838,272 | 8,192 |
2001:db8::/52 | 2001:db8:: | 2001:db8:0000:0fff:ffff:ffff:ffff:ffff | 75,557,863,725,914,323,419,136 | 4,096 |
2001:db8::/53 | 2001:db8:: | 2001:db8:0000:07ff:ffff:ffff:ffff:ffff | 37,778,931,862,957,161,709,568 | 2,048 |
2001:db8::/54 | 2001:db8:: | 2001:db8:0000:03ff:ffff:ffff:ffff:ffff | 18,889,465,931,478,580,854,784 | 1,024 |
2001:db8::/55 | 2001:db8:: | 2001:db8:0000:01ff:ffff:ffff:ffff:ffff | 9,444,732,965,739,290,427,392 | 512 |
2001:db8::/56 | 2001:db8:: | 2001:db8:0000:00ff:ffff:ffff:ffff:ffff | 4,722,366,482,869,645,213,696 | 256 |
2001:db8::/57 | 2001:db8:: | 2001:db8:0000:007f:ffff:ffff:ffff:ffff | 2,361,183,241,434,822,606,848 | 128 |
2001:db8::/58 | 2001:db8:: | 2001:db8:0000:003f:ffff:ffff:ffff:ffff | 1,180,591,620,717,411,303,424 | 64 |
2001:db8::/59 | 2001:db8:: | 2001:db8:0000:001f:ffff:ffff:ffff:ffff | 590,295,810,358,705,651,712 | 32 |
2001:db8::/60 | 2001:db8:: | 2001:db8:0000:000f:ffff:ffff:ffff:ffff | 295,147,905,179,352,825,856 | 16 |
2001:db8::/61 | 2001:db8:: | 2001:db8:0000:0007:ffff:ffff:ffff:ffff | 147,573,952,589,676,412,928 | 8 |
2001:db8::/62 | 2001:db8:: | 2001:db8:0000:0003:ffff:ffff:ffff:ffff | 73,786,976,294,838,206,464 | 4 |
2001:db8::/63 | 2001:db8:: | 2001:db8:0000:0001:ffff:ffff:ffff:ffff | 36,893,488,147,419,103,232 | 2 |
2001:db8::/64 | 2001:db8:: | 2001:db8:0000:0000:ffff:ffff:ffff:ffff | 18,446,744,073,709,551,616 | 1 |
2001:db8::/65 | 2001:db8:: | 2001:db8:0000:0000:7fff:ffff:ffff:ffff | 9,223,372,036,854,775,808 | – |
2001:db8::/66 | 2001:db8:: | 2001:db8:0000:0000:3fff:ffff:ffff:ffff | 4,611,686,018,427,387,904 | |
2001:db8::/67 | 2001:db8:: | 2001:db8:0000:0000:1fff:ffff:ffff:ffff | 2,305,843,009,213,693,952 | |
2001:db8::/68 | 2001:db8:: | 2001:db8:0000:0000:0fff:ffff:ffff:ffff | 1,152,921,504,606,846,976 | |
2001:db8::/69 | 2001:db8:: | 2001:db8:0000:0000:07ff:ffff:ffff:ffff | 576,460,752,303,423,488 | |
2001:db8::/70 | 2001:db8:: | 2001:db8:0000:0000:03ff:ffff:ffff:ffff | 288,230,376,151,711,744 | |
2001:db8::/71 | 2001:db8:: | 2001:db8:0000:0000:01ff:ffff:ffff:ffff | 144,115,188,075,855,872 | |
2001:db8::/72 | 2001:db8:: | 2001:db8:0000:0000:00ff:ffff:ffff:ffff | 72,057,594,037,927,936 | |
2001:db8::/73 | 2001:db8:: | 2001:db8:0000:0000:007f:ffff:ffff:ffff | 36,028,797,018,963,968 | |
2001:db8::/74 | 2001:db8:: | 2001:db8:0000:0000:003f:ffff:ffff:ffff | 18,014,398,509,481,984 | |
2001:db8::/75 | 2001:db8:: | 2001:db8:0000:0000:001f:ffff:ffff:ffff | 9,007,199,254,740,992 | |
2001:db8::/76 | 2001:db8:: | 2001:db8:0000:0000:000f:ffff:ffff:ffff | 4,503,599,627,370,496 | |
2001:db8::/77 | 2001:db8:: | 2001:db8:0000:0000:0007:ffff:ffff:ffff | 2,251,799,813,685,248 | |
2001:db8::/78 | 2001:db8:: | 2001:db8:0000:0000:0003:ffff:ffff:ffff | 1,125,899,906,842,624 | |
2001:db8::/79 | 2001:db8:: | 2001:db8:0000:0000:0001:ffff:ffff:ffff | 562,949,953,421,312 | |
2001:db8::/80 | 2001:db8:: | 2001:db8:0000:0000:0000:ffff:ffff:ffff | 281,474,976,710,656 | |
2001:db8::/81 | 2001:db8:: | 2001:db8:0000:0000:0000:7fff:ffff:ffff | 140,737,488,355,328 | |
2001:db8::/82 | 2001:db8:: | 2001:db8:0000:0000:0000:3fff:ffff:ffff | 70,368,744,177,664 | |
2001:db8::/83 | 2001:db8:: | 2001:db8:0000:0000:0000:1fff:ffff:ffff | 35,184,372,088,832 | |
2001:db8::/84 | 2001:db8:: | 2001:db8:0000:0000:0000:0fff:ffff:ffff | 17,592,186,044,416 | |
2001:db8::/85 | 2001:db8:: | 2001:db8:0000:0000:0000:07ff:ffff:ffff | 8,796,093,022,208 | |
2001:db8::/86 | 2001:db8:: | 2001:db8:0000:0000:0000:03ff:ffff:ffff | 4,398,046,511,104 | |
2001:db8::/87 | 2001:db8:: | 2001:db8:0000:0000:0000:01ff:ffff:ffff | 2,199,023,255,552 | |
2001:db8::/88 | 2001:db8:: | 2001:db8:0000:0000:0000:00ff:ffff:ffff | 1,099,511,627,776 | |
2001:db8::/89 | 2001:db8:: | 2001:db8:0000:0000:0000:007f:ffff:ffff | 549,755,813,888 | |
2001:db8::/90 | 2001:db8:: | 2001:db8:0000:0000:0000:003f:ffff:ffff | 274,877,906,944 | |
2001:db8::/91 | 2001:db8:: | 2001:db8:0000:0000:0000:001f:ffff:ffff | 137,438,953,472 | |
2001:db8::/92 | 2001:db8:: | 2001:db8:0000:0000:0000:000f:ffff:ffff | 68,719,476,736 | |
2001:db8::/93 | 2001:db8:: | 2001:db8:0000:0000:0000:0007:ffff:ffff | 34,359,738,368 | |
2001:db8::/94 | 2001:db8:: | 2001:db8:0000:0000:0000:0003:ffff:ffff | 17,179,869,184 | |
2001:db8::/95 | 2001:db8:: | 2001:db8:0000:0000:0000:0001:ffff:ffff | 8,589,934,592 | |
2001:db8::/96 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:ffff:ffff | 4,294,967,296 | |
2001:db8::/97 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:7fff:ffff | 2,147,483,648 | |
2001:db8::/98 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:3fff:ffff | 1,073,741,824 | |
2001:db8::/99 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:1fff:ffff | 536,870,912 | |
2001:db8::/100 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0fff:ffff | 268,435,456 | |
2001:db8::/101 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:07ff:ffff | 134,217,728 | |
2001:db8::/102 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:03ff:ffff | 67,108,864 | |
2001:db8::/103 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:01ff:ffff | 33,554,432 | |
2001:db8::/104 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:00ff:ffff | 16,777,216 | |
2001:db8::/105 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:007f:ffff | 8,388,608 | |
2001:db8::/106 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:003f:ffff | 4,194,304 | |
2001:db8::/107 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:001f:ffff | 2,097,152 | |
2001:db8::/108 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:000f:ffff | 1,048,576 | |
2001:db8::/109 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0007:ffff | 524,288 | |
2001:db8::/110 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0003:ffff | 262,144 | |
2001:db8::/111 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0001:ffff | 131,072 | |
2001:db8::/112 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:ffff | 65,536 | |
2001:db8::/113 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:7fff | 32,768 | |
2001:db8::/114 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:3fff | 16,384 | |
2001:db8::/115 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:1fff | 8,192 | |
2001:db8::/116 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:0fff | 4,096 | |
2001:db8::/117 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:07ff | 2,048 | |
2001:db8::/118 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:03ff | 1,024 | |
2001:db8::/119 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:01ff | 512 | |
2001:db8::/120 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:00ff | 256 | |
2001:db8::/121 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:007f | 128 | |
2001:db8::/122 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:003f | 64 | |
2001:db8::/123 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:001f | 32 | |
2001:db8::/124 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:000f | 16 | |
2001:db8::/125 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:0007 | 8 | |
2001:db8::/126 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:0003 | 4 | |
2001:db8::/127 | 2001:db8:: | 2001:db8:0000:0000:0000:0000:0000:0001 | 2 | |
2001:db8::/128 | 2001:db8:: | 2001:db8:: | 1 | – |
Tipos de Direcciones IPV6
Se han definido tres tipos de direcciones IPV6:
- Unicast. Dirección utilizada para identificar una interfaz de red única.
Es equivalente a las direcciones IPV4 actuales. Hay varios tipos de direcciones Unicast que se pueden asignar a una interfaz de red. Las más comunes son las siguientes:
-Direcciones Unicast Globales. Utilizadas como direcciones públicas. Actualmente el rango que se está utilizando para la asignación de direcciones Unicast Globales es 2000::/3.
-Direcciones Unicast de enlace local (local-link). Son direcciones utilizadas con propósitos de autoconfiguración y como dirección IP en redes donde no hay Router que asigne una dirección Unicast global, por tanto, este direccionamiento se aplica en el ámbito de redes locales. Son direcciones IP que no se pueden enrutar a otras redes. Se utiliza el rango fe80::/10.
- Anycast. Dirección utilizada para identificar un grupo de interfaces, normalmente asociadas a diferentes dispositivos. Un Datagrama enviado a una dirección Anycast se entrega solo a uno de los dispositivos del grupo de dispositivos asociados a la dirección Anycast. Dicho dispositivo será el más cercano en términos de la distancia al Nodo origen determinada por el algoritmo de enrutamiento que se esté utilizando. Este tipo de direcciones es útil para poder implementar varios servidores de un mismo servicio distribuidos geográficamente. Se utiliza una única dirección IP Anycast y los dispositivos cliente que soliciten el servicio serán atendidos por el servidor “más cercano”. Las direcciones Anycast utilizan los mismos rangos que las direcciones Unicast Globales.
- Multicast. Dirección utilizada para identificar un grupo de interfaces, normalmente asociadas a diferentes dispositivos. A diferencia de una dirección Anycast, un Datagrama enviado a una dirección Multicast se entrega a todos los dispositivos del grupo. Este tipo de direcciones se utiliza para aplicaciones de difusión donde se desea que una sola transmisión llegue a varios dispositivos. El rango utilizado para direcciones Multicast es ff00:: /8. En IPV6 no hay direcciones de Broadcast, en su lugar se utilizan las direcciones Multicast.
Existen un par de direcciones IPV6 reservadas, que son las siguientes:
- Dirección no especificada. Utilizada en tablas de enrutamiento y otros mecanismos de configuración para indicar que no existe una dirección IPV6 específica.
Dirección completa 0:0:0:0:0:0:0:0
Dirección abreviada ::
- Dirección de bucle local (loopback). Tiene el mismo significado que en IPV4. Es la dirección IP de una interfaz lógica de bucle utilizada para hacer pruebas internas de servicios de red.
Dirección completa: 0:0:0:0:0:0:0:1
Dirección abreviada ::1
Cada interfaz de red tendrá al menos una dirección Unicast de enlace local. Dicha dirección se establece de forma automática en la interfaz de red. Para ello se utiliza el prefijo de red para direcciones de enlace local fe80:: /64 y para establecer los últimos 64 bits de la dirección se utiliza el denominado identificador global de 64 bits (EUI-64), que se forma utilizando la dirección mac de la interfaz de red como se muestra en el ejemplo.
Rangos IPv6
Existen diversos rangos de direcciones IPv6:
Global Unicast addresses o GUA: son las direcciones públicas de Internet. Como ya no existe en IPv6 NAT, se permite a cada Host de red una dirección GUA por Host. Estas, según normativa IANA, tendrán los tres primeros bits como 001; por tanto, los primeros 48 bits de la dirección IP se quedan en 45 para redes, lo que deja unas posibles 35.184.372.088.832 redes para el proveedor y 65535 para subredes.
Unique local Unicast addresses (ULA): la organización IANA ha reservado un grupo a imagen y semejanza de las direcciones privadas IPv4 (10.0.0.0/8, 172.16.0.0/16 y 192.168.0.0/24).
La estructura de una ULA serían 8 bits para el prefijo, 40 para la red privada aleatoria, 16 bits para las subredes y 64 bits para interfaces de red, hosts.
El prefijo para estas redes es 1111 1101 o en hexadecimal FD.
Link local Unicast addresses (LLA): estas direcciones son direcciones IP transitorias asignadas para ser configuradas automáticamente. Estas direcciones no las encamina un Router.
La estructura de una LLA serían 8 bits para el prefijo (IANA), 54 bits para ceros y los últimos 64 para la parte de red del Host.
El prefijo para esta red es 1111 1110 (en hexadecimal FE).
Las direcciones IP tienen una funcionalidad que es la de autoconfigurarse su IP. Esto funcionaría enviando el prefijo y la ruta desde el Router\Host, el cual le añadirá su dirección MAC al prefijo de IPv6.