Diferencia entre revisiones de «IPv6»

Contenido eliminado Contenido añadido
Sin resumen de edición
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 200.55.135.211 a la última edición de Barri
Línea 9:
Otra vía para la popularización del protocolo es la adopción de este por parte de instituciones. El [[gobierno de los Estados Unidos]] ha ordenado el despliegue de IPv6 por todas sus agencias federales para el año [[2008]].
 
IPv6 es la segunda versión del [[Protocolo de Internet]] que se ha adoptado para uso general. TTambién hubo un [[IPv5]], pero no fue un sucesor de IPv4; mejor dicho, fue un protocolo experimental orientado al flujo de [[streaming]] que intentaba soportar voz, video y audio.
 
==Los cambios==
 
Los cambios de IPv4 a IPv6 se clasifican en las siguientes categorías:
 
===Capacidad extendida de direccionamiento===
IPv6 incrementa el tamaño de dirección IP de 32 bits a 128 bits, para dar soporte a más niveles de direccionamiento jerárquico, un número mucho mayor de nodos direccionables, y una autoconfiguración más simple de direcciones. La escalabilidad del enrutamiento multicast se mejora agregando un campo "ámbito" a estas direcciones. Y se define un nuevo tipo de dirección llamada "dirección envío a uno de", usado para enviar un paquete a cualquiera de un grupo de nodos.
 
===Simplificación del formato de cabecera===
Algunos campos de la cabecera IPv4 se han suprimido o se han hecho opcionales, para reducir el costo del procesamiento de los paquetes y para ahorrar ancho de banda.
 
===Soporte mejorado para las extensiones y opciones===
Los cambios en la manera en que se codifican las opciones de la cabecera IP permiten un reenvío más eficiente, límites menos rigurosos en la longitud de opciones, y mayor flexibilidad para introducir nuevas opciones en el futuro.
 
===Capacidad de etiquetado de flujos===
Una nueva capacidad se agrega para permitir el etiquetado de paquetes que pertenecen a "flujos" de tráfico particulares para lo cuál el remitente solicita tratamiento especial, como la calidad de servicio no estándar o el servicio en "tiempo real".
 
===Capacidades de Autenticación y Privacidad===
IPv6 incluye la especificación de extensiones que proveen autenticación, integridad, y (opcionalmente) confidencialidad de los datos.
 
==Direccionamiento IPv6==
 
El cambio más grande de IPv4 a IPv6 es la longitud de las direcciones de red. Las direcciones IPv6, definidas en el [[RFC|RFC 2373]] y [[RFC|RFC 2374]], son de 128 bits; esto corresponde a 32 dígitos [[Sistema hexadecimal|hexadecimales]], que se utilizan normalmente para escribir las direcciones IPv6, como se describe en la siguiente sección.
 
El número de direcciones IPv6 posibles es de 2<sup>128</sup> ≈ 3.4 x 10<sup>38</sup>. Este número puede también representarse como 16<sup>32</sup>, con 32 dígitos hexadecimales, cada uno de los cuales puede tomar 16 valores (véase [[combinatoria]]).
 
En muchas ocasiones las direcciones IPv6 están compuestas por dos partes lógicas: un prefijo de 64 bits y otra parte de 64 bits que corresponde al identificador de interfaz, que casi siempre se genera automáticamente a partir de la dirección [[MAC]] de la interfaz a la que está asignada la dirección.
 
==== Notación para las direcciones IPv6 ====
 
Las direcciones IPv6, de 128 bits de longitud, se escriben como ocho grupos de cuatro dígitos [[Sistema hexadecimal|hexadecimales]]. Por ejemplo,
 
2001:0db8:85a3:08d3:1319:8a2e:0370:7334
 
es una dirección IPv6 válida.
 
Se puede comprimir un grupo de cuatro dígitos si éste es nulo (es decir, toma el valor "0000"). Por ejemplo,
 
2001:0db8:85a3:0000:1319:8a2e:0370:7344
----
2001:0db8:85a3::1319:8a2e:0370:7344
 
Siguiendo esta regla, si más de dos grupos consecutivos son nulos, también pueden comprimirse como "::". Si la dirección tiene más de una serie de grupos nulos consecutivos la compresión sólo se permite en uno de ellos. Así, las siguientes son representaciones posibles de una misma dirección:
 
2001:0DB8:0000:0000:0000:0000:1428:57ab
2001:0DB8:0000:0000:0000::1428:57ab
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0::0:1428:57ab
2001:0DB8::1428:57ab
 
son todas válidas y significan lo mismo, pero
 
2001::25de::cade
-- --
 
no es válida porque no queda claro cuántos grupos nulos hay en cada lado.
 
Los ceros iniciales en un grupo también se pueden omitir:
 
2001:0DB8:02de::0e13
2001:DB8:2de::e13
 
Si la dirección es una dirección IPv4 empotrada, los últimos 32 bits pueden escribirse en base decimal, así:
 
::ffff:192.168.89.9
::ffff:c0a8:5909
 
No se debe confundir con:
 
::192.168.89.9
::c0a8:5909
 
El formato <tt>::ffff:1.2.3.4</tt> se denomina ''[[dirección IPv4 mapeada]]'', y el formato <tt>::1.2.3.4</tt> ''[[dirección IPv4 compatible]]''.
 
Las direcciones [[IPv4]] pueden ser transformadas fácilmente al formato IPv6. Por ejemplo, si la dirección decimal IPv4 es 135.75.43.52 (en hexadecimal, 0x874B2B34), puede ser convertida a 0000:0000:0000:0000:0000:0000:874B:2B34 o ::874B:2B34. Entonces, uno puede usar la notación mixta [[dirección IPv4 compatible]], en cuyo caso la dirección debería ser ::135.75.43.52. Este tipo de dirección ''IPv4 compatible'' casi no está siendo utilizada en la práctica, aunque los estándares no la han declarado obsoleta.
 
==== Identificación de los tipos de direcciones ====
 
Los tipos de direcciones IPv6 pueden identificarse tomando en cuenta los primeros bits de cada dirección.
 
;&#58;&#58;: la dirección con todo ceros se utiliza para indicar la ausencia de dirección, y no se asigna ningún nodo.
;&#58;&#58;1: la dirección de [[loopback]] es una dirección que puede usar un nodo para enviarse paquetes a sí mismo (corresponde con [[127.0.0.1]] de IPv4). No puede asignarse a ninguna interfaz física.
;&#58;&#58;1.2.3.4: La [[dirección IPv4 compatible]] se usa como un mecanismo de transición en las redes duales IPv4/IPv6. Es un mecanismo que no se usa.
;&#58;&#58;ffff&#58;0&#58;0: La [[dirección IPv4 mapeada]] se usa como mecanismo de transición en terminales duales.
;fe80&#58;&#58;: El prefijo de ''enlace local'' (en [[idioma inglés|inglés]] ''link local'') específica que la dirección sólo es válida en el enlace físico local.
;fec0&#58;&#58;: El ''prefijo de emplazamiento local'' (en [[idioma inglés|inglés]] ''site-local prefix'') específica que la dirección sólo es válida dentro de una organización local. La RFC 3879 lo declaró obsoleto, estableciendo que los sistemas futuros no deben implementar ningún soporte para este tipo de dirección especial. Se deben sustituir por direcciones Local IPv6 Unicast.
;ff00&#58;&#58;: El prefijo de multicast. Se usa para las direcciones [[multicast]].
 
Hay que resaltar que no existen las direcciones de difusión (en [[idioma inglés|inglés]] ''[[broadcast]]'') en IPv6, aunque la funcionalidad que prestan puede emularse utilizando la dirección [[multicast]] FF01::1, denominada ''todos los nodos'' (en [[idioma inglés|inglés]] ''all nodes'')
 
==Paquetes IPv6==
 
[[Imagen:IPv6 header rv1.png|right|thumb|300px|Estructura de la cabecera de un paquete IPv6.]]
 
Un [[paquete de red|paquete]] en IPv6 está compuesto principalmente de dos partes: la cabecera y los datos.
 
Los primeros 40 bytes (320 bits) son la cabecera del paquete y contiene las direcciones de origen y destino (128 bits cada una), la versión del protocolo IP (4 bits), la clase de tráfico (8 bits, Prioridad del Paquete), la etiqueta de flujo (20 bits, manejo de la [[Calidad de Servicio]]), la longitud del campo de datos (16 bits), la cabecera siguiente (8 bits), y el límite de saltos (8 bits, [[Tiempo de Vida]]). Después viene el campo de datos, con los datos que transporta el paquete, que puede llegar hasta 64k de tamaño en el modo normal, o más con la opción "jumbo payload".
 
Hay dos versiones de IPv6 levemente diferentes. La ahora obsoleta versión inicial, descrita en el RFC 1883, difiere de la actual versión propuesta de estándar, descrita en el RFC 2460, en dos campos: hay 4 bits que han sido reasignados desde "etiqueta de flujo" (''flow label'') a "clase de tráfico" (''traffic class''). El resto de diferencias son menores.
 
En IPv6 la fragmentación se realiza sólo en el nodo origen del paquete, al contrario que en IPv4 en donde los routers pueden fragmentar un paquete. En IPv6, las opciones también desaparecen de la cabecera estándar y son especificadas por el campo "Cabecera Siguiente" (''Next Header''), similar en funcionalidad en IPv4 al campo Protocolo. Un ejemplo: en IPv4 uno añadiría la opción "ruta fijada desde origen" (''Strict Source and Record Routing'') a la cabecera IPv4 si quiere forzar una cierta ruta para el paquete, pero en IPv6 uno modificaría el campo "Cabecera Siguiente" indicando que viene una cabecera de encaminamiento. La cabecera de encaminamiento podrá entonces especificar la información adicional de encaminamiento para el paquete, e indicar que, por ejemplo, la cabecera TCP será la siguiente. Este procedimiento es análogo al de AH y ESP en [[IPsec]] para IPv4 (que aplica a IPv6 de igual modo, por supuesto).
 
=== Cabeceras de extensión de IPv6 ===
 
El uso de un formato flexible de cabeceras de extensión opcionales es una idea innovadora que permite ir añadiendo funcionalidades de forma paulatina. Este diseño aporta gran eficacia y flexibilidad ya que se pueden definir en cualquier momento a medida que se vayan necesitando entre la cabecera fija y la carga útil.
 
Hasta el momento, existen 8 tipos de cabeceras de extensión, donde la cabecera fija y las de extensión opcionales incluyen el campo de cabecera siguiente que identifica el tipo de cabeceras de extensión que viene a continuación o el identificador del protocolo de nivel superior. Luego las cabeceras de extensión se van encadenando utilizando el campo de cabecera siguiente que aparece tanto en la cabecera fija como en cada una de las citadas cabeceras de extensión. Como resultado de la secuencia anterior, dichas cabeceras de extensión se tienen que procesar en el mismo orden en el que aparecen en el datagrama.
La Cabecera principal, tiene al contrario que la cabecera de la versión IPv4 un tamaño fijo de 40 octetos.
 
Todas o parte de estas cabeceras de extensión tienen que ubicarse en el datagrama en el orden especificado: