15IPv6 2395KB Apr 27 2016 10:51:25 PM

Anuncio
IPv6
IPv6
La motivación de un nuevo protocolo IP se encuentra en el problema del
vaciamiento de direcciones, el soporte de nuevas aplicaciones y los problemas
de seguridad.
El vaciamiento de direcciones:
Limita crecimiento de Internet.
Limita el ingreso de nuevos usuarios.
Genera problemas de ineficiencia en el ruteo.
Obliga al uso de NAT.
La aparición de nuevas aplicaciones:
Exige tiempos de respuesta apropiados.
Exige mayor ancho de banda en la comunicación.
Genera problemas de seguridad.
Los problemas de seguridad:
Originó la aparición de SSL, HTTPS, IPsec v4.
No se ha estandarizado ninguna solución.
IPv6
En los 90, IETF crea el Proyecto IPng. Fines de 1994 se publica una RFC ¨The
recommendation for IP Next Generation¨ => IPv6.
Agranda el espacio de direcciones a 128 bits, lo que significa un número total del
orden de 1038 frente a 109 ofrecido por IPv4.
A su vez IPv6 ofrece:
Arquitectura jerárquica de direcciones basada en la agregación => Ruteo
Facilidad para gestión/delegación de direcciones.
Formato de Cabecera más simple => procesamiento rápido.
Autoconfiguración => Obtención automática de IP.
Computación Móvil => Siempre conectado.
Seguridad en Datos => Autenticación y Cifrado.
QoS y CoS => Tratamiento preferencial para aplicaciones multimedia e
interactivas. Soporte tiempo real.
Habilidad para comunicaciones end-to-end IPSec =>Es autenticación y cifrado IP
a nivel de red. No se usa mucho excepto para tráfico entre routers de borde, en
particuIar para tráfico BGP.
Multicast y anycast.
Migración posible desde IPv4, no son compatibles.
IPv6 vs IPv4 NAT/CIDR
•
NAT redujo la necesidad de obtener muchas direcciones IP públicas, pero NAT no
funciona bien cuando se debe ofrecer un gran número de servicios. Además, muchas
aplicaciones tienen problemas para atravesar NAT.
•
El espacio de direcciones de IPv6 elimina la necesidad de NAT.
•
El gran nuevo espacio de direcciones permite asignación jerárquica que puede servir
para facilitar el ruteo y la renumeración.
•
•
Con IPv4, CIDR propuso una asignación más eficiente para el espacio restringido.
•
Con IPv6 la renumeración por cambio de proveedor es casi automática ya que el
identificador de hosts se desacopla del identificador del proveedor de red.
•
Existen espacios separados para ISPs y hosts para dar eficiencia a operaciones de
configuración y re-configuración.
IPv6 hoy
http://6lab.cisco.com/stats/
"This is one most important days in the history
of the Internet. A pool of more than 4 billion
Internet addresses has just been emptied this
morning," said Rod Beckstrom, chief executive
of the Internet Corporation For Assigned Names
and Numbers (ICANN), at press conference
today in Florida. February
3, 2011
IPv6 Argentina http://6lab.cisco.com/stats/search.php
https://www.vyncke.org/ipv6status/detailed.php?country=ar&type=
General Data
IPv6 Deployment : 16.17% (Prefixes : 14.24% | Transit AS : 60.53% | Content : 48.24% |
Users : 0.04%)
Relative Index : 1.9 out of 10
Ipv6 Prefixes
Ratio of routable IPv6 prefixes : 14.24%
Ratio of allocated IPv6 prefixes / ratio of alive allocated IPv6 prefixes : 33.74% /
6.97%
Transit AS
IPv6 transit AS : 59.87%
IPv6 enabled transit AS : 63.16%
Content
% of WEB Pages Available over IPv6 : 48.24% | number of sites: 49 / 500
In development/test : 0.03% (1/500) | Failing : 0.1% (3/500) | Not V6 enabled : 51.68%
(447/500)
Users
Google Search / APNIC data : 0.04% / 0.01%
Estimation : 13 K IPv6 users
Direcciones IPv6
• Estructura Jerárquica de conexión a Internet. Las redes de acceso son las de menor
jerarquía y existe una red troncal global en la jerarquía más alta. El esquema original
(netid, hostid) genera que la cantidad de líneas de las Tablas de Ruteo aumente a
medida que se asciende en la jerarquía.
•
En contraposición, en las redes de telefonía las direcciones presentan una
estructura jerárquica de tipo regional que impacta de manera directa en la
información almacenada en conmutadores: en determinado nivel todas las
llamadas con el mismo prefijo se rutean de igual modo. A esta técnica se la conoce
como agrupación de direcciones.
•
El ruteo CIDR intenta introducir una estructura similar para el esquema IPv4,
lográndose de esta manera reducir el tamaño de las Tablas en la jerarquía de la red
troncal.
•
Se pensó otorgar a IPv6 de una estructura jerárquica desde su concepción pero sin
limitarla a un significado regional como en la red telefónica. Con IPv6, por ejemplo,
el cambio de prefijo por cambio de proveedor es más sencillo dado que los
identificadores de host ocupan los 64 bits menos significativos y pueden autoconfigurarse independientemente por el mismo host.
Direcciones IPv6
¿Por qué 128 bits?
Algunos pensaban apropiadas las direcciones fijas de 64 bits. Este tamaño minimiza el
overhead por paquete dando eficiencia al procesamiento por software.
Otros consideraban que era mejor elegir direcciones de longitud variable hasta 160
bits, lo suficientemente grandes como para permitir autoconfiguración cuando se usan
direcciones IEEE 802. Se pensaba que se podría comenzar con direcciones de menos de
64 bits y aumentarlas luego.
Finalmente se acordó en direcciones fijas de 128 bits.
Para su lectura, se considera la dirección de 128 bits dividida en bloques de 16 bits. A su
vez, cada bloque tiene una representación hexadecimal, de 4 grupos de 4 bits.
Direcciones IPv6 - Notación
•
128 bits divididos en partes de 16 bits. A su vez los grupos de 16 bits tienen una
representación hexadecimal cuando se los interpreta como 4 grupos de 4 bits.
Ejemplo:
2031:0000:130F:0000:0000:09C0:876A:130B
•
Los ceros al comienzo de un campo son opcionales y pueden omitirse:
2031:0:130F:0:0:9C0:876A:130B
•
Los ceros en campos sucesivos se representan como “::” pero sólo una vez en la
dirección:
2031:0:130F::9C0:876A:130B es correcto
•
2031::130F::9C0:876A:130B no es correcto
•
Ejemplo. FEDC:BA98: 7654:3210:0000:0000:0000:0089 se puede escribir como
FEDC:BA98: 7654:3210::89.
•
•
Ejemplo. ::1 es loopback.
Ejemplo. :: es no especificada.
Direcciones IPv6
•
Típicamente: prefijo de red de 64 bits / numeración de host de 64 bits.
•
La parte de host se puede generar automáticamente a partir de la dirección MAC
de la interfaz o asignarse mediante DHCP o manualmente.
•
La dirección MAC ofrece la oportunidad de identificar equipo y/o usuarios. Por este
motivo, se desarrolló la RFC 3041 para reducir la posibilidad de que la identidad de
un usuario quedara atada permanentemente a una dirección IPv6. De este modo se
conserva la posibilidad de anonimato de IPv4.
•
La RFC 3041 especifica un mecanismo mediante el cual strings de bits aleatorios
variables con el tiempo se pueden usar como identificadores de interfaz para
reemplazar las direcciones MAC fijas e identificables.
•
No hay Direcciones de Broadcast.
•
Las direcciones poseen campos con nombres específicos que conforman un prefijo
que permite saber dónde se conecta una dirección determinada. Todas las
interfaces poseen por lo menos una Dirección Unicast Link Local.
Direcciones IPv6 - Tipos
Existen tres tipos de direcciones en IPv6.
Unicast: Identificador de una Interfaz única. Equivalente a IPv4. Existen global
unicast address, link-local address, y unique local unicast address.
Anycast: Identificador para un Conjunto de Interfaces (generalmente en distintos
nodos). Un paquete con Dirección Destino Anycast se entrega a un dispositivo
(cualquiera, generalmente el más próximo, según como lo considere el protocolo de
ruteo) con sus Interfaces identificadas con esa dirección. Esto permite hacer backups:
en caso de caída de determinados nodos, otros pueden ocuparse del tráfico en
cuestión. Estas direcciones se toman del espacio Unicast.
Multicast: Identificador para un Conjunto de Interfaces (generalmente en distintos
nodos). Un paquete con Dirección Destino Multicast se entrega a todas las Interfaces
que se identifican con esa dirección. Esto permite el desarrollo de aplicaciones que
precisan de múltiples retransmisiones. Estas direcciones comienzan con FF00::/8 .
IPv6 - Cabecera
20
40
IPv6
• Capacidad expandida de direccionamiento
• Simplificación del formato de Header.
• Soporte mejorado de extensiones y opciones.
• Capacidad de etiquetado de flujos.
• Capacidad de autenticación y encriptado.
• Header 40 bytes.
4
8
20
16
8
8
40
128
128
Modificaciones Cabecera IPv6
•
•
•
•
•
•
•
•
•
Pasamos de 12 campos 8 campos.
Direcciones 32 bits 128 bits.
Se elimina el checksum ya que el chequeo de errores ya se realiza a nivel de capa de
enlace. Se quita así carga de procesamiento en routers.
El mecanismo de fragmentación se modifica totalmente. En IPv6 los ROUTERS no
fragmentan. De ser preciso, la fragmentación se realiza en origen y el re-ensamble
en destino. Mecanismo Path MTU Discovery obligatorio.
IPv4 Total Length Payload Length (16 bits) en IPv6 longitud de la carga que puede
ser hasta 65.535 bytes o mayor => (0…0) con la opción "jumbo payload" en un
header de extensión Hop-By-Hop.
IPv4 Protocol Next Header (8 bits) en IPv6. En IPv6, en lugar de usar una cabecera
de longitud variable, se utilizan una serie de cabeceras encadenadas, por eso
desaparece el campo de opciones. En algunos casos el procesamiento de las mismas
no se hace en ROUTERS, sino en los extremos. Indica el protocolo encapsulado.
TOS Traffic Class en IPv6 (8 bits).
IPv4 TTL Hop Limit (8 bits) en IPv6, de 8 bits.
El Header IPv6 es de 40 bytes, doble que IPv4 pero con eliminación de campos
redundantes, posibilidad de procesado rápido en ROUTERS, inclusive en hardware,
por su alineación de 64 bits (nuevos procesadores).
Modificaciones IPv6 – Traffic Class
•
Nuevo campo Traffic Class (8 bits) , también denominado Priority o Class. Sería
equivalente a TOS de IPv4. Permite distinguir el tráfico con prioridad (multimedia,
tiempo real), habilitando al nodo fuente a diferenciar paquetes que él mismo
genera con diferentes niveles de prioridad. Los Routers identificarán los paquetes
que pertenezcan a la misma Clase de Tráfico, a los que se dará la misma prioridad.
Prioridad de 4 bits:
0-7: Se trata de aplicaciones menos sensibles a jitter (variación de retardo).
8-15: Aplicaciones que Tx secuencias en tiempo real. Por ejemplo audio y
video. Son sensibles a jitter y por eso deben transmitirse con prioridad durante
períodos de congestión. El video comprimido es más sensible que el audio a la
pérdida de paquetes, por eso se le otorga mayor prioridad.
Modificaciones IPv6 – Flow Level
•
Nuevo campo Flow Level (20 bits), para el manejo de tráfico con exigencias de tiempo
real. Se relaciona con el concepto de CoS. El campo lo llena el nodo fuente para
etiquetar una serie de paquetes que pertenecen al mismo flujo. Un flujo se identifica
por DirFte/DirDest/FlowLevel y sus paquetes deben tratarse de la misma manera en
los ROUTERS.
Garantizado: Se garantiza para esta clase un retardo y un nivel máximo de
variación de retardo, así como también BW. Se usa en aplicaciones que implican
la reproducción de secuencias en tiempo real.
Carga Controlada o Predictivo: No se proporcionan garantías estrictas, pero el
flujo de paquetes obtiene un nivel constante de servicio similar a Best Effort con
carga baja. Se usa en aplicaciones que implican secuencias de paquetes en
tiempo real, pero pueden ajustar el volumen de datos generados al nivel del
servicio ofrecido
Best Effort: Se trata de aplicaciones basadas en texto. Flow Level va en 0 en este
caso.
Modificaciones IPv6 – Next Header
•
•
•
•
•
•
El campo Payload Length (16 bits) se interpreta como entero sin signo que da el número de
bytes en el datagrama IPv6 que siguen a los 40 bytes de header, es decir que incluye cualquier
cabecera adicional (extensiones)
El campo Next Header (8 bits) es un puntero a la cabecera siguiente, que puede ser de la capa
de transporte o cabeceras de extensión.
Actualmente existen varios tipos de cabeceras de extensión. Cuando están presentes, cada
una comienza con un nuevo campo de cabecera siguiente, indicando el tipo de cabecera que
viene a continuación. La última, por ejemplo, indica el tipo de cabecera de protocolo de
transporte que sigue a continuación.
Las cabeceras sucesivas no se examinan en ROUTERS, excepto que el campo Next Header sea
0, en cuyo caso el proceso es ¨hop by hop¨.
Las cabeceras tienen información de ruteo, fragmentación, opciones de destino,
autenticación, cifrado, etc..
El campo Hop Limit (8 bits) tiene el mismo significado que TTL en IPv4.
Cabeceras de Extensión IPv6
La regla es colocar los headers de manera
secuencial.
Primero los que sean más importantes para
nodos intermedios y luego los que importan en
destino final.
O sea que, durante el procesamiento no es
necesario mirar cada header de extensión.
El primero dirá qué acción siguiente necesita ser
tomada.
Así se mejora notablemente la eficiencia.
Cabeceras de Extensión IPv6
Cabeceras de Extensión IPv6
• Existen 6 tipos de Cabeceras:
Opciones salto a salto: Define una serie de opciones, para ROUTERS visitados en el
camino. Jumbogramas.
Opciones de Destino: Define opciones que deben ser examinadas sólo en el destino final.
Ruteo: Define un método para que el nodo fuente especifique el camino que debe seguir
el paquete. Tipo definido similar a “loose” de IPv4.
Fragmentación: Información para re-ensamble en destino.
Autenticación: Información para verificación de la fuente en destino.
Encapsulado de seguridad de datos: Información para descifrado en destino
Opciones de Destino: Información opcional para uso en destino.
Movilidad.
No hay más headers. Se apunta con el valor Next Header = 59.
Las cabeceras comienzan con un código Next Header, luego viene un campo Next Header
Length y a continuación los datos de la cabecera. Las cabeceras que cargan Opciones,
codifican las mismas en formato TLV (Type, Length, Value).
El tipo de cabecera de extensión está indicado en el campo previo al de Cabecera
Siguiente. Así se invoca el decodificador apropiado para la cabecera.
Opciones (Hop-by-Hop o Destination)
Opciones
Si se usa Hop-by-Hop se identifica en la cabecera IPv6 con el campo Next Header = 0 y se
coloca al comienzo de todas las cabeceras de extensión, ya que se debe procesar en cada
nodo que enrute el datagrama. Podría ser por que se estuvieran transportando Jumbo
frames o mensajes RSVP.
La opción Jumbo Payload se usa en el caso de datagramas con carga mayor a 65.535
bytes (jumbogramas). En este caso, el campo en el Payload Length en el Header principal
va en 0. Permite datagramas de hasta 4 Gbytes.
Destination se coloca al final de las cabecera. Se identifica con el valor Next Header = 60.
Se usa para transportar información adicional sólo necesaria en destino.
Cabeceras de Extensión IPv6 - Routing
Similar a las opciones de ruteo de origen (flexible y estricto) de IPv4. El campo Next
Header = 43 en la cabecera que la apunte. Esta cabecera consta de los siguientes campos:
Next Header (8 bits) / Longitud Cabecera de Extensión (interpretado como múltiplo de 8
bytes) / Routing Type (por ejemplo 0 es flexible) / Segments Left (8 bits) / Listado de
Direcciones
Cabeceras de Extensión IPv6 Fragmentación
Los cambios en el mecanismo de fragmentación se idearon para mejorara el tiempo de
procesamiento en routers:
Se incrementó MTU Default: En IPv4, la MTU mínima que tanto routers como enlaces
físicos debían ser capaces de manejar era de 576 bytes. En IPv6 se duplica este valor
que pasa a ser 1280 bytes. De esta forma se mejora la relación de overhead .
Eliminación de Fragmentación en Ruteo: En IPv6, sólo la fuente puede fragmentar, con
lo cual debe tener en cuenta la menor MTU en la ruta antes de Tx. El re-ensamble se
realiza en destino. Path MTU Discovery: Mecanismo para determinar la menor MTU en
un camino.
Realimentación de mensaje de error por tamaño de MTU: Si los routers se vieran
forzados a fragmentar, deben descartar el datagrama. Con ICMPv6 se permite avisar a la
fuente sobre el problema con dichos datagramas.
Retiro de campos de Fragmentación en la Cabecera: Sólo se incluye una Cabecera de
Extensión cuando es necesario. Esta incluye una bandera MF, un campo de FO y un
campo de identificación.
Cabeceras de Extensión IPv6 Fragmentación
El mecanismo de realimentación se utiliza en el descubrimiento del path MTU. La fuente
Tx un datagrama según el valor MTU de su propio link físico, si este datagrama continúa sin
errores, sabrá que puede seguir con este mismo valor para futuros datagramas a ese
destino. Si recibe un mensaje ICMPv6 Packet Too Big, intenta nuevamente con un tamaño
menor.
Una desventaja de este mecanismo es el problema potencial de la existencia de más de
una ruta entre fuente y destino o la variación de la ruta original. Path MTU Discovery es un
mecanismo estático que se debe repetir toda vez que se reciba algún mensaje ICMPv6
Packet Too Big.
La Cabecera de Fragmentación se identifica con el valor Next Header = 44 en la Cabecera
Principal. Sus campos, procesados en destino, son: Next Header / Reserved 8-bit /
Fragment Offset 13-bit ( en unidades de 8 bytes) / Reserved 2-bit / M flag (1 = more
fragments, 0 = last fragment) / Identification 32 bits.
Cabeceras de Extensión IPv6 Fragmentación
Se consideran dos partes en un paquete:
• No fragmentable: Incluye el Header principal del datagrama original y cualquier header de
extensión que precise estar presente en cada fragmento: Hop-By-Hop Options, Routing.
• Fragmentable: Datos y demás header de extensión (Authentication, Encapsulating Security
Payload y Destination Options.
• Fragmentar es crear una serie de fragmentos que contengan: Parte No Fragmentable /
Fragment Header / Parte Fragmentable.
• Cada fragmento debe tener una longitud múltiplo de 8 bytes.
Cabeceras de Extensión IPv6 - Fragmentación
Cabeceras de Extensión IPv6 - Autenticación
Es uno de los protocolos más importantes en IPSec, ideado para proveer autenticación a
todo o una parte de los contenidos de un datagrama.
Se calcula un Header (AH) según el contenido del datagrama.
La parte del datagrama que se usa para el cálculo y el lugar donde se coloca la cabecera,
depende del modo (Túnel o Transporte) y la versión (IPv4 o IPv6).
La forma de uso es similar a CRC. El algoritmo es del tipo hash, con una clave compartida
entre fuente y destino. Una asociación de seguridad se establece entre ambos. El valor
calculado es Integrity Check Value (ICV), se transmite desde la fuente y se comprueba en
destino.
Se provee autenticación, pero no cifrado.
Cabeceras de Extensión IPv6 - Autenticación
• En modo Transporte, AH se
coloca en el Header principal,
antes de Opciones de Destino y de
cualquier ESP, si estuvieran
presentes.
• En modo Túnel, AH aparece
como cabecera de extensión del
nuevo paquete IP, que encapsula
al original.
Cabeceras de Extensión IPv6 - Autenticación
Cabeceras de Extensión IPv6 - ESP
ESP ofrece privacidad mediante cifrado. ESP soporta su propio esquema de autenticación o
puede usarse combinado con AH.
Cabeceras de Extensión IPv6 - ESP
Direcciones IPv6 - Unicast
• Existen tres tipos de direcciones unicast.
• Los prefijos indican el alcance de la dirección, o sea entorno de una red donde la
dirección puede ser usada y a las posibilidades de comunicación de un nodo con ese tipo
de dirección.
• Link-local (enlace local) se refiere al uso entre nodos de la misma red
• Site-local (sitio local) implica la comunicación dentro de un mismo sitio o administración.
• Global se asocia al uso en Internet.
• A su vez, dentro de las direcciones unicast del tipo global pueden existir subtipos
especiales de direcciones, tales como direcciones IPv6 con direcciones IPv4 embebidas.
También se deja abierta la posibilidad a futuro de definir nuevos subtipos.
• Los dispositivos se consideran del tipo host o router, y puede tener mucho o poco
conocimiento de la estructura interna de la dirección IPv6.
Direcciones IPv6 – Unicast Global
Direcciones IPv6 – Unicast Global
Direcciones IPv6 – Unicast Id Interfaz
Direcciones IPv6 – Unicast Especiales
Direcciones IPv6 – Unicast Especiales
Direcciones IPv6 - Multicast
8
11111111
4
4
Flag Scop
112
Group ID
• Multicast es parte de las especificaciones IPv6, no como en IPv4 que fue agregado
después.
• IPv6 no tiene broadcast para enlace local => multicast al grupo todos los hosts (FF02::1).
• Luego del prefijo que identifica las direcciones multicast, aparecen dos campos que se
utilizan para limitar el ámbito geográfico de la comunicación de grupo.
FF<flags><scope>::<multicast group>
•
• El campo de flags comienza en cero. Los primeros tres bits se setean en 0 y el cuarto es el
flag “T” (Transient). Si es cero, significa que la dirección multicast es de asignación
permanente. Si es 1, significa que es transitoria.
Direcciones IPv6 Multicast
Direcciones IPv6 - Multicast
Dirección IPv6 Multicast Nodo Solicitado
Direcciones IPv6 – Configuración
•
RFC 2462 mecanismo de configuración. El proceso incluye la creación de una
dirección de alcance de enlace local y la verificación de la unicidad de dicha dirección
en ese enlace. Puede realizarse de dos maneras.
• Mecanismo de auto-configuración sin estado no requiere configuración manual de
hosts ni servidores adicionales. El host puede generar sus propias direcciones por
medio de una combinación de la información disponible localmente (identificadores
de interfaz) e información recibida de routers (prefijos que identifican la subred
asociada con un enlace). La dirección es una combinación de ambos. De no existir
routers, un host sólo puede generar direcciones del enlace local pero, a partir de ellas,
puede comunicarse con otros nodos en el mismo enlace.
• Mecanismo de auto-configuración con estado, los hosts obtienen sus direcciones de
interfaz y toda la información necesaria para su configuración, a partir de servidores
DHCPv6. Cuando se requiere un control más rígido sobre las direcciones asignadas.
• Mecanismos complementarios. Un host puede usar sin estado para la configuración
de sus propias direcciones y con estado para obtener otro tipo de información.
Administrador especifica mecanismo por ajuste de ciertos campos en mensajes
ICMPv6 de Aviso de Routers.
Autoconfiguración Stateless.
Autoconfiguración Stateless.
• Los mensajes de Aviso de Router son periódicos, pero si el host no desea
esperar, edita mensajes de Solicitud de Router a la dirección multicast de
todos los routers.
• Los mensajes de Aviso de Router señalan el mecanismo de autoconfiguración
a utilizar y pueden contener opciones de información de prefijo para el caso de
autoconfiguración sin estado, para poder generar direcciones de alcance
global o para el sitio. Además, pueden llevar información del prefijo de subred
y valores de tiempo de vida para las direcciones creadas con el prefijo
anunciado. La generación periódica de Avisos de Router permite que los hosts
actualicen la información recibida también de manera periódica.
• La ventaja más importante de esta posibilidad de autoconfiguración es el
soporte de movilidad IP: los dispositivos pueden cambiar de red, generando
direcciones válidas sin necesidad de conocer de antemano la existencia de
servidores o los prefijos de red.
ICMPv6
• RFC 2463.Idéntico comportamiento que en IPv4. IPv6 Next Header= 58. Es crucial en
IPv6 para descubrimiento de vecinos, de routers, de la MTU del path, el manejo de grupos
multicast, etc..
Type 1: Destination Unreachable.
Code 0: no route to destination.
Code 1: administratively prohibited
Code 3: address unreachable
Code 4: port unreachable
Type 2: Packet Too Big . El mensaje contiene la MTU
ICMPv6
Type 3: Time Exceeded
Code 0: hop limit exceeded
Code 1: fragment reassembly time exceeded
Type 4: Parameter Problem
Code 0: erroneous header field
Code 1: unrecognized Next Header
Code 2: unrecognized IPv6 option
Type 128: Echo request: el mensaje contiene Identifier y Sequence number
Type 129: Echo reply: el mensaje contiene Identifier y Sequence number
ICMPv6 - Router Advertisement
ICMPv6 - Router Advertisement
•
Type (1 byte): Identifica el tipo de mensaje, 134 / Code (1 byte): no usado /
Checksum (2 bytes).
•
Current Hop Limit (1 byte): valor default que el router le pasa al host. Puede ser 0,
indicando que el router no recomienda valor alguno.
•
Flags de Autoconfiguración (1 byte): Sólo dos bits definidos. Si M está en alto, se
indica a los hosts el uso de un método ¨statefull¨ para direccionamiento. Bit O en alto
indica que usen método ¨statefull¨ para información que no sea la dirección.
•
Router Lifetime (2 bytes): Le dice al host cuánto tiempo (en segundos) el router
debería ser usado como default. Si es 0 le indica que no puede usarlo como tal.
•
Reachable Time (4 bytes): Le dice al host cuánto tiempo (en milisegundos) deberían
considerar un vecino alcanzable luego de recibir confirmación de alcanzabilidad.
•
Retransmission Timer (4 bytes): Cantidad de tiempo en milisegundos, que un host
debería esperar antes de ReTx mensaje de Neighbor Solicitation.
•
Options (Var): Source Link-Layer Address, MTU y Prefix Information.
ICMPv6 - Router Solicitation
•
Type (1 byte): 133 / Code (1 byte): 0 / Checksum (2 bytes) / Reserved (4 bytes).
•
Options (Var): Si el dispositivo conoce sus direcciones de capa de enlace, debe incluir en la
opción Source Link-Layer Address.
•
•
•
Los mensajes Router Solicitation se envían a la dirección multicast IPv6 “all routers”.
Los mensajes Router Advertisement no solicitados, se envían a la dirección multicast “all
nodes” de la red local.
• Los mensajes Router Advertisement que son respuesta a Router Solicitation van a la
dirección unicast del solicitante.
ICMPv6 - Neighbor Discovery
• Router Advertisment y Router Solicitation se usan para facilitar funciones de
descubrimiento host-router como parte del protocolo IPv6 Neighbor Discovery (ND).
• ND también interviene en el intercambio de información entre hosts vecinos de la misma
red.
• Se incluyen tareas que sirven para resolución de direcciones en IPv6, determinación de
procesos de next-hop y detección de vecino inalcanzable.
• ICMPv6: Neighbor Solicitation y Neighbor Advertisement.
• Neighbor Solicitation permite chequear que un vecino existe y es alcanzable, e iniciar
resolución de direcciones.
• Neighbor Advertisement confirma la existencia de un host o router, y provee información
de capa de enlace cuando sea preciso.
ICMPv6 - Neighbor Advertisement
ICMPv6 - Neighbor Advertisement
•
Type (1 byte): 136 / Code (1 byte): 0 / Checksum (2 bytes) / Reserved (4 bytes).
•
Flags (1 byte): Flag R (en ¨1¨ cuando lo envía un Router), Flag Solicited (en ¨1¨ cuando
el mensaje es en respuesta a un Neighbor Solicitation), Override (en ¨1¨ para indicar
que el mensaje deber reemplazar la información almacenada en cache en cuanto a la
dirección link-layer).
•
Target Address (16 bytes): Si el mensaje es en respuesta a uno de Neighbor
Solicitation, este es el mismo valor que en el campo Target Address de la solicitud.
Generalmente lleva la dirección IPv6 del dispositivo que Tx el Neighbor Advertisement.
Si el mensaje se envía sin ser solicitado, se coloca la dirección IPv6.
•
Options (Var): Cuando es en respuesta a Neighbor Solicitation multicast, debe
contener la dirección link-layer del que Tx el mensaje. Si es en respuesta a Neighbor
Solicitation unicast, puede incluirla, aunque no sería necesario.
ICMPv6 - Neighbor Solicitation
ICMPv6 - Neighbor Solicitation
Type (1 byte): 135 / Code (1 byte): 0 / Checksum (2 bytes) / Reserved (4 bytes).
Flags (1 byte): Flag R (en ¨1¨ cuando lo envía un Router), Flag Solicited (en ¨1¨ cuando el
mensaje es en respuesta a un Neighbor Solicitation), Override (en ¨1¨ para indicar que el
mensaje deber reemplazar la información almacenada en cache en cuanto a la dirección linklayer).
Target Address (16 bytes): Dirección IPv6 address del nodo solicitado, cuya dirección capa
dos se desea conocer.
Options (Var): Si el dispositivo que envía la solicitud conoce su propia dirección IP y la de
capa 2, debería incluir esta última. Así, se permitirá al que lo reciba enterarse de ambas
direcciones para almacenar en cache.
• Neighbor Solicitation destino unicast a la dirección del “target” o multicast solicited-node
del “target”. Si se genera en respuesta Neighbor Advertisement, va a la dirección unicast del
solicitante, a menos que se haya generado en una dirección no especificada, en cuyo caso se
envía a multicast de “all nodes”. Si Neighbor Advertisement se Tx sin haber sido solicitado, se
envía a multicast “all nodes”.
ICMPv6 - Redirect
Target Address: La del nuevo router para ese destino.
Destination Address: La del destino que debe ser redireccionado.
Options: Target Link-Layer Address podría ser una de las opciones presentes.
ICMPv6 - Redirect
• Es una funcionalidad que usan los routers mediante el protocolo ND. Así, el router le
informa a un host de una mejor ruta para un destino particular.
• Los routers deben detectar situaciones de decisiones de ruteo ineficientes.
ICMPv6 - Neighbor Discovery
ND implementa su funcionalidad usando mensajes ICMPv6. En el estándar ND se
describen 5 tipos de mensajes:
Router Advertisement: Enviados periódicamente por routers para indicar a los hosts su
existencia y proveer información de parámetros.
Router Solicitation : Enviados por hosts para pedir que cualquier router local le envíe
un mensaje Router Advertisement, para no tener que esperar el próximo.
Neighbor Advertisement: Enviado por hosts para indicar su existencia y proveer
información sobre él mismo.
Neighbor Solicitation : Enviado para verificar existencia de otro host y pedirle que le
transmita un mensaje Neighbor Advertisement.
Redirect: Enviado por el router para transmitir información sobre el mejor método para
rutear un dato a un destino en particular.
ICMPv6 - Neighbor Discovery
Funciones Host-Router Discovery realizadas por Routers:
• Aviso de Ruteo: De Tx periódica, pero también se podrían Tx ante cambios. Incluyen
información sobre el router y la red.
• Mantenimiento de Parámetros: Es responsabilidad de los Routers y es información que se
carga en los avisos: default Hop Limit, default MTU e información de prefijo tanto para
enrutamiento como para autoconfiguración.
• Procesamiento de Solicitudes: Routers reciben Router Solicitation y envían Router
Advertisement al que solicita.
Funciones Host-Router Discovery realizadas por Hosts:
• Procesamiento de Aviso: Para configurar los parámetros que se les envía y actualizarlos
según corresponda.
• Generación de Solicitudes: Router Solicitation generalmente se generan al arranque.
• Autoconfiguración: Procesando información de router local.
ICMPv6 - Neighbor Discovery
• Determinación de Next-Hop: Determinación de si la entrega es directa o indirecta. El
prefijo de red obtenido del router local se compara con el destino de cada datagrama. Si
no es local, el siguiente salto se elige de la lista de routers locales determinados por
configuración manual o por ND.
• Resolución de Direcciones: Se usa ND, mediante los mensajes Neighbor Solicitation (con la
IP que se desea resolver) y Neighbor Advertisement (con la respuesta). La Solicitud se
envía a multicast de nodo solicitado.
• Actualización de Vecinos: La Tx de Neighbor Advertisements no es periódica pero, bajo
ciertas condiciones, se pueden Tx estos mensajes sin que se los haya solicitado. Un
ejemplo sería el cambio de una placa de red.
• Detección de no alcanzabilidad de Vecino y Caché de Vecino: Cada dispositivo almacena
información actualizada sobre vecinos. Detectar que cualquiera sea no alcanzable es
importante para adaptar el comportamiento. Para ello se asocia un timer a cada entrada.
Neighbor Solicitation y Neighbor Advertisement se usan para actualizar el cache.
• Detección de Dirección Duplicada: al comienzo.
DHCPv6
• RFC 3315. Contracara de Stateful para Autoconfiguración IPv6.
• Se usa cuando no se encuentra un Router o si el Aviso de Router lo permite.
• Stateful requiere intervención humana ya que usa Dynamic Host Configuration Protocol
for IPv6 (DHCPv6) para la instalación y administración de nodos. El Server DHCPv6 mantiene
una lista de nodos y la información sobre su estado para saber la disponibilidad de cada
dirección IP del rango asignado por el administrador.
Server : responde requerimientos, proveyendo direccción IPv6 y otros parámetros de
configuración, por ejemplo Servidores DNS. Escucha en las direcciones multicast
All_DHCP_Relay_Agents_and_Servers (FF02::1:2) y All_DHCP_Servers (FF05::1:3).
Memoriza estado de los Clientes, garantiza control de acceso seguro a los recursos.
Cliente usa su dirección link local para conectarse al Servidor. Envía requerimientos a la
dirección multicast FF02::1:2 All_DHCP_Relay_Agents_and_Servers.
DHCPv6.
Descargar