Está en la página 1de 10

Networking

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 qu redisear ipv4 en ipv6?


Por la previsible escases de direcciones ipv4 a nivel mundial.
La escass de direcciones ipv4 es la disminucin de direcciones no asignadas disponibles en el
IANA (Internet Assigned Numbers Authority) para usuarios finales o ISPs (Internet Service
Providers).
El agotamiento de direcciones ipv4 se prev desde los '80 cuando Inet tuvo un crecimiento enorme.
IPv4 provee aproximadamente 4 billones de direcciones, se estimaba que iban a agotarse a fines
del 2012, pero ocurri algunos meses antes.
Para manejar estas escaceses se adoptaron histricamente varios mtodos:

Direccionamiento por clases en los '80 (classfull)

Classless inter domain routing (CIDR) en el '93.

Luego en NAT (Network Address Translation)

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.

*Procesamiento simplificado en routers:


El header ipv6 es ms simple que el ipv4, aunque las direcciones origen y destino son 4 veces ms
grandes que en ipv4, se eliminan algunos campos del header, haciendo que el header ipv6 sea
solamente el doble del ipv4, ambos sin opciones.
As el header ocupa solo 40B, son 32B para las direcciones, y 8B extra solamente, comparado con
ipv4, que en un header de 20B, 8 eran utilizados para las direcciones y los 12 restantes para
campos del header.

-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.

*Integridad del header


El header ipv6 no est protegido con un checksum, como s ocurra en ipv4.
Se supone que la integridad del paquete est protegida con los checksums de la capa de enlace, y
con los checksums del protocolo de transporte. Gracias a esto, los routers intermedios no necesitan
recalcular el checksum cuando cambian algunos campos del header (como TTL o HopCount).
Hace innecesario el desarrollo de routers que utilizan hardware dedicado para poder calcular los
checksums a la velocidad del enlace.

*Extensibilidad de las opciones adicionales:


ipv4 tiene como mximo 40B para parmetros de opciones adicionales en el header.
En ipv6 las opciones adicionales se implementan como headers agregados al header ipv6, y el lmite
viene dado por el lmite del paquete entero.
Esto permite a ipv6 extender fcilmente extender a futuro al protocolo para abarcar caractersticas
nuevas, como QoS, seguridad, etc, sin redisear el header del protocolo.
Por otro lado, un paquete ipv4 solo puede tener como mximo 2^16-1 Bytes de payload, igual que
un payload ipv6, con la diferencia que ipv6 puede soportar paquetes de hasta 2^32-1 bytes,
llamados jumbogramas, y pueden mejorar el rendimiento del protocolo en redes con MTUs
elevados. Un jumbograma se indica mediante un header opcional adicional.

-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.

Source and destination


destino, de 128b c/u

address:

direcciones

* Headers de extensin opcionales:


El "type" es lo que va especificado en el campo Next Header.

-hop-by-hop options (variable)


Type: 0
Opcines que deben examinar todos los host del path.

-Routing(variable)
Type: 43
Mtodos que especifican la ruta de un datagrama.

-Fragment(64b)
Type: 44
Parmetros para fragmentar el datagrama.

-Authentication header AH (variable)


Type: 51
Informacin para verificar la autenticidad de las partes del paquete.

-7-

ip

de

origen

-Encapsulating Security Payload(ESP) (variable)


Type: 50
Datos encriptados para comunicacin segura (Ver IPSec)

-Destination Options(variable)
Type: 60
Opciones que deben ser examinadas solo por el host destino.

-No Next header(empty)


Type: 59
Indica que no hay ms headers opcinales.

* 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:

una para direccionamiento de red: los primeros 64b.

una para direccionamiento de host: los ltimos 64b.

Las direcciones se clasifican en tres tipos:


-unicast: nicamente identifican una interfaz de red.
-multicast: un paquete va dirigido a muchas ifaces simultneamente. Broadcast es un caso
particular de multicast.

-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.

Estructura de las direcciones:


[48bglobalLink][16bsubnet][64bhost]
|>accesopublic|>Site|>xx:xx:xx:FFFF:yy:yy:yy
fromInet|>unlugar|>MAC:xx:xx:xx:yy:yy:yy
|>fabricante:xx:xx:xx
|>device:yy:yy:yy

Algunas ipv6 son usadas para propsitos especficos:


::1/128
>loopback
ff02::1
>ipv6allnodes
::x.x.x.x/96
>compatibleipv4(losltimos32bconunaipv4)
fe80::/16 >linklocal(comola192.168.x.x)
ff00::/16 >multicast(comolas224.x.x.x)
::ffff:x.x.x.x/96>mapeoipv6/ipv4.
2001.1318::/32 >direccionesparaargentina.
2002::/16 >prefijoparadirecciones6to4.

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 -

También podría gustarte