Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TCP/IP
y protocolos del stack
Temario
IPv6 .......................................................................................................................................................................3
Por qu redisear ipv4 en ipv6? .........................................................................................................3
Caractersticas: ..............................................................................................................................................4
*Seguridad: ..........................................................................................................................................4
*Espacio de direcciones: ...................................................................................................................4
*Multicast: ............................................................................................................................................4
*Procesamiento simplificado en routers: ........................................................................................4
*Integridad del header.........................................................................................................................5
*Extensibilidad de las opciones adicionales: ..................................................................................5
HEADER IPv6: ...............................................................................................................................................6
* Version(4b): .......................................................................................................................................6
* Traffic class(8b): ..............................................................................................................................6
* Flow Label(20b): ..............................................................................................................................6
*Payload Length(16b): .......................................................................................................................6
* Next Header(8b): ..............................................................................................................................7
* Hop Limit(8b): ...................................................................................................................................7
* Source and destination address: direcciones ip de origen y destino, de 128b c/u ...............7
* Headers de extensin opcionales: ................................................................................................7
-hop-by-hop options (variable).....................................................................................................7
-Routing(variable)...........................................................................................................................7
-Fragment(64b)...............................................................................................................................7
-Authentication header AH (variable)..........................................................................................7
-Encapsulating Security Payload(ESP) (variable).....................................................................8
-Destination Options(variable)......................................................................................................8
-No Next header(empty)................................................................................................................8
* Payload: ........................................................................................................................................8
Direccionamiento: .........................................................................................................................................8
Estructura de las direcciones: .....................................................................................................................9
Mecanismos de transicin: ..........................................................................................................................9
Tunneling ......................................................................................................................................................10
6to4 y el dual-stack......................................................................................................................................10
IPv6
Es la siguiente generacin del protocolo IP, sucesor del ipv4.
Es un protocolo de capa de Internet (modelo TCP/IP) para intercambio de paquetes entre redes
diferentes.
Por ltimo una nueva versin del protocolo IP: IPv6, en 1998 Esta es la nica solucin
posible al agotamiento de direcciones ipv4. Segn un estudio estadstico de Google, la
penetracin de IPv6 es menor al 2% an.
IPv6 tiene muchas ms direcciones que IPv4 por el simple hecho de que utiliza 128b en vez de los
32b de ipv4, lo que le da cerca de 2^128 direcciones posibles.
Esta gran cantidad de direcciones nos da, por un lado, mayor flexibilidad en el direccionamiento y
routing, y por otro, elimina la necesidad de utilizar NAT, pues la impresionante cantidad de
direcciones IPv6 hacen que sea posible disponer de direcciones ip publicas para cada equipo.
Tambin facilita el direccionamiento fijando el tamao de las subredes, fijando el tamao de la
porcin de host a 64b para facilitar un mecanismo automtico para formar el identificador de host
desde la direccin MAC.
-3-
Caractersticas:
IPv6 puede considerarse una extensin de ipv4, por lo que la mayora de los protocolos de
transporte y de aplicacin no necesitan hacer grandes cambios para operar con ipv6, es ms,
muchas veces no hacen falta cambios.
*Seguridad:
Est integrada en el diseo de la arquitectura ipv6. IPSec fue originalmente desarrollado
para ipv6, y luego fue adoptado como parte opcional en ipv4, pero es un requisito obligatorio en el
funcionamiento de ipv6.
*Espacio de direcciones:
La principal caracterstica de ipv6 es su amplio rango de direcciones: 2^128 direcciones.
5x10^28 por cada una de las 6.5 billones de personas del planeta.
4.5x10^15 direcciones por cada estrella observable en el universo conocido.
Esto provee un direccionamiento jerrquico y eficiente, comparado con las complejas tcnicas de
CIDR que ipv4 utilizaba para hacer un mejor uso de un espacio de direcciones pequeo.
No hay CIDR: la mscara fija es de 64b, por lo que los ltimos 64b son la direccin de host.
*Multicast:
El multicast es el envo de un paquete a mltiples destinos. Es opcional en ipv4, pero parte intrnseca
del diseo de ipv6.
Broadcast es el envo de un paquete a todos los equipos de un segmento de red. En ipv6 no se
implementa. Sin embargo, implementa un grupo de multicast all-hosts, y es por esto que no existe el
concepto de direccin de broadcast en ipv6, la ltima direccin utilizable es una direccin normal de
host.
-4-
Los routers intermedios NO fragmentan paquetes. Los hosts deben ejecutar Path MTU Discovery
para poder fragmentar en origen los datos (generar segmentos de tamao ptimo directamente, o
enviar paquetes de tamao menor que el mnimo MTU de ipv6 (1280B).
La fragmentacin se realiza solamente en los extremos, por lo que la tendencia actual es lo que
llamamos redes con bordes inteligentes.
En consecuencia, el emisor debe conocer el MTU mximo de la red.
En cuanto al routing, si falla una ruta, los routers intermedios son bobos y no pueden redirigir el
trfico, pues no saben el MTU de la ruta alternativa y no pueden fragmentar.
Esto se prev en ipv6 logrando que un router intermedio enve a origen un ICMP Redirect para que
el emisor calcule el MTU de la ruta alternativa mejor y enve el datagrama por ella.
-5-
HEADER IPv6:
ipv6 tiene un formato de header totalmente distinto al de ipv4, por lo que no puede interoperar con
ipv4 simultneamente.
+++++++++++++++++++++++++++++++++
|Version|TrafficClass|FlowLabel|
+++++++++++++++++++++++++++++++++
|PayloadLength|NextHeader|HopLimit|
+++++++++++++++++++++++++++++++++
||
++
||
+SourceAddress+
||
++
||
+++++++++++++++++++++++++++++++++
||
++
||
+DestinationAddress+
||
++
||
+++++++++++++++++++++++++++++++++
* Version(4b):
Versin 6 del protocolo: 0110.
* Traffic class(8b):
Prioridad del paquete. Se subdividen en rangos.
Viene a ser el ToS de ipv4.
* Flow Label(20b):
Originalmente creado para aplicaciones de tiempo real.
Usado actualmente para QoS. ???
Es informacin que permite al router asociar un datagrama conun flujo de datos determinado.
*Payload Length(16b):
Tamao del payload en bytes.
-6-
Hay que tener en cuenta que todos los headers de opciones adicionales se consideran parte
del payload ipv6.
* Next Header(8b):
Tipo del header que sigue inmediatamente al header de ipv6.
Puede ser uno de los 7 headers opcionales de ipv6, o el header de capa de transporte.
Reemplaza al campo Protocol del header ipv4.
* Hop Limit(8b):
El campo TTL de ipv4 fue llamaco HOP LIMIT para reflejar el hecho de que no se calcula el
tiempo que un paquete pasa en cola, si no la cantidad de saltos entre routers.
address:
direcciones
-Routing(variable)
Type: 43
Mtodos que especifican la ruta de un datagrama.
-Fragment(64b)
Type: 44
Parmetros para fragmentar el datagrama.
-7-
ip
de
origen
-Destination Options(variable)
Type: 60
Opciones que deben ser examinadas solo por el host destino.
* Payload:
Tamao de hasta 64K en modo estndar, o mayor con "jumbo payload" en el header
opcional de Hop-By-Hop.
La fragmentacin solo se realiza en los extremos, no en los hosts intermedios. Los extremos
usan Path MTU Discovery.
Direccionamiento:
Las direcciones ipv6 generalmente se escriben en hexadecimal, separando cada grupo de 16b por
dos puntos, como oposicin al punto que separaba los nmeros decimales de una direccin ipv4.
Ejemplo: 2001:db8:85a3::8a2e:370:7334
Las direcciones pueden abreviarse para facilitar su escritura, lo siguiente es equivalente: rfc4291
0db8:0000:cd30:0000:0000:0000:0000/60
0db8::cd30:0:0:0:0/60
0db8::cd30::/60
Las direcciones ipv6 se componen de dos partes lgicas:
-8-
-anycast: direcciones que identifican un grupo de ifaces, pero solo una de ellas recibir los
datos, teniendo en cuenta criterios de valoracin del receptor, por ejemplo, cercana con el emisor o
congestin de la red en un momento determinado. Varios equipos tiene la misma direccin de host,
pero estn en diferentes localidades, por lo que se elije el host ms cercano (RTD).
Cada direccin ipv6 tiene un 'scope' o mbito, que indica dnde son nicas, por ejemplo, una
direccin ipv6 puede ser nica en un nodo, o en un enlace, aunque la mayora son nicas a nivel
global.
Mecanismos de transicin:
Como dijimos, ipv6 no puee coexistir con ipv4, sin embargo, hasta que sea completamente
suplantado el ipv4 por el ipv6, se han propuesto varios mecanismos que permiten lograr esta
coexistencia.
Una de estas tecnologas permite implementar un stack dual ipv4/ipv6 simultneamente en el mismo
sistema operativo, donde cada protocolo ip acta de manera totalmente independiente (rfc4213 ).
Esto permite a los programadores de sistemas que escriban cdigo de red que trabaje
transparentemente en ipv4 o ipv6, y podra utilizar sockets hbridos diseados para aceptar ambos
tipos de paquetes, y mapeando uno en el otro.
Las direcciones que permiten mapear una ipv4 en una ipv6 tiene los primeros 80b (5 grupos) en
cero, y el siguiente grupo (16b) en uno. Los ltimos 32b son considerados una direccin ipv4,
ejemplo:
192.168.2.128 == ::ffff:192.168.2.128.
-9-
Debido a las grandes diferencias entre las implementaciones comunes de ipv4 e ipv6, muchas
veces no son compatibles y no puede implementarse un stack dual con ambos protocolos, y deben
utilizarse sockets separados en las aplicaciones.
Guindo$ XP, 2k y server2003 tienen este problema.
OpenBSD tambin, pero es por un tema de seguridad.
Linux, NetBSD y FreeBSD controlan esta caracterstica con opciones especficas, como
IPV6_V6ONLY en la creacin del socket (rfc3493).
Tunneling
Para conectar un sistema ipv6 a Internet debe haber un host que utilice ipv4 y que haga un tnel que
permita encapsular un paquete ipv6 como payload de uno ipv4.
Esto se logra metiendo la trama ipv6 como payload en el paquete ipv4, es decir, ipv6 utiliza como
capa de red a ipv4, y en el header de ipv4 debe especificarse el campo PROTOCOL=41.
La rfc3056 recomienda 6to4 para configurar automticamente el tnel, pero hay otras
implementaciones como Teredo, que permite encapsular paquetes ipv6 en tramas udp que pueden
ser routeadas a travs de dispositivos de nateo en una internet ipv4.
Teredo est disponible por defecto en Guindo$ Vista. La mayora de los Unix solamente traen
soporte nativo para ipv6, pero puede utilizarse un software que implementa el protocolo Teredo
llamado Miredo.
6to4 y el dual-stack
El prefijo de direccin ipv6 para manejar el dual-stack con 6to4 es 2002::/16.
Por ejemplo, una direccin ip A.B.C.D se codifica como 2002:aabb:ccdd::/48
Esto nos da 16b extra para completar la capa de red, y los 64 bits de host, con lo que tenemos, por
cada direccin ipv4, s^16 redes, cada una con 2^64 hosts posibles.
Por supuesto, todos los valores decimales de la direccin ipv4 expresados en hexadecimal para la
ipv6 :-)
- 10 -