CAPA DE INTERNET: PROTOLO IP Profesor Daniel Díaz Ataucuri Introducción Protocolo IPv4 Protocolo IPv6 Internet Control Message Protocol ICMPv4 ICMPv6 Sistema Autónomo Algoritmo Bellman-Ford Algoritmo Dijkstra CAPA DE INTERNET: PROTOLO IP Profesor Daniel Díaz Ataucuri ddiaz1610@gmail.com http://www.danieldiaza.com Catedrático Titular a Tiempo Parcial FIEE-UNI / UNMSM Director de Investigación y Desarrollo Tecnológico del INICTEL-UNI Lima, Enero-Diciembre de 2014
INTRODUCCIÓN
CAPA DE INTERNET o RED R1 R2 R3 R4 R5 R6 Función: LAN UNMSM LAN UNI DESTINO UNMSM R2 DESTINO UNFV R5 DESTINO UNMSM R3 DESTINO UNFV R3 DESTINO UNMSM ---- DESTINO UNFV R4 DESTINO UNMSM R6 DESTINO UNFV R6 DESTINO UNMSM R4 DESTINO UNFV ---- LAN UNI LAN UNMSM LAN UNFV R1 R2 R3 R4 R5 R6 Destino UNMSM Paquete IP Función: Determinar la trayectoria de los paquetes IP Destino UNMSM Paquete IP
FUNCIONES DE LA CAPA DE INTERNET Determinación (routing) del trayecto E2E o path: ►Estático: El administrador de red pueden definir el trayecto. ►Dinámico.- Uso de algoritmos de enrutamiento (routing algorithms) para definir el trayecto y protocolos de enrutamiento dinámico para actualizar tablas. Compartir recursos con todas las aplicaciones: ►No realiza ningún establecimiento de llamada (no hay estados); es decir, inicialmente no hay señalización. Será necesario mejorar el modelo de Internet?
MODELO DE SERVICIO DE CAPA DE INTERNET: Circuito virtual Aplicación Transporte Red Enlace de datos 1 Inicio de llamada 2 Ingreso de 3 Aceptación de 4 Llamada conectada 5 Envío de datos 6 Recepción de Mensajes de señalización
MODELO DE SERVICIO DE CAPA DE INTERNET: Datagrama Aplicación Transporte Red Enlace de datos Arquitectura de Red Modelo de servicio Garantía de Ancho de banda No-pérdida Orden Internet Best Effort No Indica congestión Servicio datagrama
EL PROTOCOLO IP Protocolo ICMP Protocolo IGMP Protocolo TCP Protocolo UDP Protocolo Sin conexión y no confiable Protocolo IP Red Ethernet Red Wireless Red
PROTOCOLO IPv4
FORMATO DEL PROTOCOLO IPv4 Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 0 4 8 16 19 31 40 bytes max Cabecera 20 bytes Cabecera IP Datos del datagrama
FORMATO DEL PROTOCOLO IPv4 Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 0 4 8 16 19 31 40 bytes max Cabecera 20 bytes Versión: Indica versión del protocolo IP. HLEN o Longitud de Encabezado Mide la longitud del encabezado en grupo de 04 bytes. Valor inicial 05. Longitud Total: Indica la longitud del paquete de datos IP en bytes. Máximo 65 535 bytes!!
FORMATO DEL PROTOCOLO IPv4 Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 0 4 8 16 19 31 40 bytes max Cabecera 20 bytes Tipo de Servicio o ToS: Indica como debe ser tratado un paquete de datos. Prioridad D T R Sin uso Inicialmente se define: Tipo de transporte A fines de 1998 se ha definido, para IPv4/IPv6: DSCP CU
MTU tamaño máximo del paquete IP FRAGMENTACION IP se encapsula en tramas de la capa 2 que dependen de la tecnología de la red implementada. La red de capa 2 tiene un parámetro denominado MTU (Máxima Unidad de Transferencia) que nos indica la máxima longitud de transferencia de datos. MTU tamaño máximo del paquete IP
FRAGMENTACION Fragmentación en el origen y los routers. ► Flag de NO fragmentación (en 0 normalmente) ► Flag de MAS fragmentos (el último fragmento en 0) Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 0 4 8 16 19 31 40 bytes max Cabecera 20 bytes Identificador Desplazamiento x D F M ► Todos los fragmentos de un mismo paquete IP. lleva el mismo identificador. ► Dos orígenes pueden tener el mismo identificador. ► Reensamblado por origen e identificador. ► Expresado en unidades de 8 bytes la posición de los datos. ► 213 8192 fragmentos ► 8192x8bytes=64Kbytes. Fragmentación en el origen y los routers. Reensamblado en el destino
EJEMPLO DE FRAGMENTACION 192.168.0.19 192.168.0.1 ping –l 4600 192.168.0.1 Ver archivo ping-l 4600 tramas 9-10-11-12 4600 Datos del ping 4600 8 Encapsulamiento en ICMPv4 Cabecera ICMPv4 4600 8 Encapsulamiento en IPv4 20 4608 Cabecera IPv4 Long.Total=4628=1214h ID=B690h Fragmentación 1480 20 168 MF=1 Long.Total=1500=05DCh ID=B690h Desplazz=0 MF=0 Long.Total=188=00BCh Desplazz=4440/8=555=022Bh Desplazz=1480/8=185=00B9h 2 6 Mac de Destino Capa 2 1480 20 Mac de Origen Tipo 1500=MTU 188< MTU 202 1514
FORMATO DEL PROTOCOLO IPv4 Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 0 4 8 16 19 31 40 bytes max Cabecera 20 bytes Identificador: Identifica a un paquete de datos IP. ►No Fragmentar. En 1 no se debe fragment ►More fragments. Indica que no es el final Indicador o Flags: Desplazamiento de fragmento: Especifica el desplazamiento en el paquete de datos original.
FORMATO DEL PROTOCOLO IPv4 Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 0 4 8 16 19 31 40 bytes max Cabecera 20 bytes TTL o Tiempo de Vida: Especifica la duración en segundos de un paquete. Protocolo: Indica que protocolo de nivel superior se usó. http://www.iana.org/assignments/protocol-numbers Suma de Chequeo de cabecera o Header Checksum: Asegura la integridad de la cabecera.
ALGUNOS VALORES DEL CAMPO PROTOCOLO http://www.iana.org/assignments/protocol-numbers 0 IPv6 Hop-by-Hop 1 ICMP 2 IGMP 4 IP en IP 6 TCP 17 UDP 41 IPv6 46 RSVP 58 ICMPv6 134 RSVP-E2E-IGNORE 135~254 No asignado 255 Reservado
calcular el CheckSum del Protocolo IPv4. ALGORTIMO DE SUMA DE CHEQUEO EN IPv4 4 5 00 00 3C 4 F 00 00 00 2 0 01 74 E3 C8 25 23 4F C8 25 23 44 Complemento a 1 BAC3 B0FF DFFE 148B 1496 4500 + 003C = 453C C825 +2344 = EB69 4F00 + 0000 = 4F00 2001 + 0000 = 2001 C825 +234F = EB74 El campo CheckSum debe ser colocado en 0000 inicialmente, para calcular el CheckSum del Protocolo IPv4. 274E1 74E1 + 2 74E3 Valor al campo Check Sum
ESTRUCTURA DE LAS DIRECCIONES EN IPv4 Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 40 bytes max Cabecera 20 bytes 0 31 Dirección de red Dirección host Red Host netid hostid Una dirección IP consiste de dos números: IP Address = <número de red> <número de host>
habilitar la dirección CLASES DE DIRECCIONES EN IPv4 Clase A 224-2=16 777 214 host 0 7 8 15 23 31 Dirección host 0-127 27-2=126 redes 216-2=65 534 host Clase B 128-191 1 Dirección host 214-2=16 382 redes Clase C 192-223 1 Dirección host 28-2=254 host 221-2=2 097 150 redes En los routers actuales se puede habilitar la dirección de red extremas Clase D ID de grupo multicast 1 Clase E Reservado para uso futuro 1
Notación decimal con puntos NOTACIÓN DE DIRECCIONES EN IPv4 Mi PC 1100 1000 0010 0101 1000 0011 0011 0001 200 37 131 49 200.37.131.49 Notación decimal con puntos o dotted-decimal
DIRECCIONES PRIVADAS EN IPv4 (RFC 1918, http://www.ietf.org/rfc/rfc1918.txt) La RFC 1918 describe la asignación de direcciones IP para redes privadas. El objetivo es re-usar direcciones Bloques de direcciones IP privadas ►10.0.0.0 - 10.255.255.255 Prefijo: 10/8 ►172.16.0.0 - 172.31.255.255 Prefijo: 172.16/12 ►192.168.0.0- 192.168.255.255 Prefijo: 192.168/16 Surge el mecanismo de traducción de direcciones o NAT
CUAL ES LA IDEA DE SUBNETTING El número de host es dividido en dos partes: un segundo número de red o subnet y un número de host. Clase A 224-2=16 777 214 host 0 7 8 15 23 31 Dirección host 0-127 27-2=126 redes El mismo principio para clase B y C. Clase A 2n-2 subredes 7 bits n bits 24-n bits Dirección host 0-127 27-2=126 redes Dirección de Subnet 224-n-2 host IP Address = <número de red> <número subnet><número de host>
CONCEPTO DE MASCARA DE SUBNET Para identificar en la dirección IP el número de subnet y el número de host se usa una máscara de subnet. Clase A 7 bits n bits 24-n bits Dirección host 0-127 Dirección de Subnet Dirección local AND Indica que bits de la Dirección Local son usados para identificar una sub-red Indica el número de red 1 1 1 1 1 1 1 1 1 1 1 1……..1 1 1 1 0 0 0 0 0 0 ……. 0 0 0 0 0 0 Máscara
CIDR Es una manera flexible de asignar direcciones de red en los routers. Se introdujo en 1993. Es un esquema diferente a las clases A, B y C. CIDR propone una dirección sin clase pppp pppp . pppp pppp . pp00 0000 . 0000 0000 Prefijo Ejemplo: 198.200.0.0/16 La máscara de red tiene 16 bits
EJEMPLO DE SUBNETEO ……. Prefijo de red 201.1.1.0/24 Fa0/0 Fa0/2 Fa0/1 SW1 SW2 SW3 62 direcciones IP como máximo en cada subred Prefijo de red 201.1.1.0/24 201.1.1.65/26 201.1.1.66/26 201.1.1.126/26 201.1.1.1/26 201.1.1.2/26 201.1.1.62/26 201.1.1.129/26 201.1.1.130/26 201.1.1.190/26 201.1.1.0/24 = 201.1.1. xxxx xxxx /24 26-2 = 62 direcciones IP 201.1.1.0000 0000/26 xx xxxx 201.1.1.0011 1111/26 201.1.1.0/26 201.1.1.0100 0000/26 xx xxxx 201.1.1.0111 1111/26 201.1.1.64/26 201.1.1.1000 0000/26 xx xxxx 201.1.1.1011 1111/26 201.1.1.128/26
VARIABLE-LENGTH SUBNET MASKS - VLSM VLSM es subnetear una red subneteada. R1 R2 R3 R6 R5 R4 . SW1 SW2 200.1.1.0/26 200.1.1.64/26 Red LAN con prefijo de red 200.1.1.0/24, cada subred con 62 IP máximo. Prefijo de red LAN 200.1.1.0/24 200.1.1.xxxx xxxx 26-2 = 62 direcciones IP 22= 4 Subredes 200.1.1.0000 0000 = 200.1.1.0/26 Subred 0 200.1.1.0100 0000 = 200.1.1.64/26Subred 1 Máscara = 11111111 11111111 11111111 11000000 255 . 255 . 255 . 192
EJEMPLO DE VLSM Para los enlaces WAN volvamos a subnetear: . VLSM . 200.1.1.0/26 200.1.1.64/26 200.1.1.128/30 200.1.1.132/30 200.1.1.136/30 200.1.1.140/30 200.1.1.144/30 200.1.1.148/30 200.1.1.160/30 200.1.1.152/30 200.1.1.156/30 1 2 3 4 5 6 7 8 Para los enlaces WAN volvamos a subnetear: 200.1.1.1000 0000 = 200.1.1.128/26Subred 2 VLSM 200.1.1.1000 0000 = 200.1.1.128/30 VLSM 0 200.1.1.1000 0100 = 200.1.1.132/30 VLSM 1 200.1.1.1000 1000 = 200.1.1.136/30 VLSM 2 200.1.1.1010 0000 = 200.1.1.160/30 VLSM 8 . NOTA: El comando ip subnet-zero habilita la subred 0, en los IOS anteriores al 12.0
IMPORTANCIA DE LA MÁSCARA 203. 3 . 3 . 133 AND 255.255.255.0 Primera máscara 203. 3 . 3 . 128 203. 3 . 3 . 133 AND 255.255.255.128 Segunda máscara No coincide con el segundo prefijo de red de la tabla No coincide con el primer prefijo de red de la tabla 203. 3 . 3 . 0 R1 R3 R4 R2 R5 R6 130.1.1.8/30 130.1.1.20/30 130.1.1.4/30 130.1.1.24/30 130.1.1.12/30 130.1.1.16/30 .1 .5 .6 .9 .10 .21 .22 .17 .18 .13 .14 .25 .26 201.1.1.0/24 202.2.2.0/24 203.3.3.0/25 203.3.3.128/25 .129 .55 .133 Red de Máscara de Salto Destino Red Destino Siguiente 202.2.2.0 255.255.255.0 130.1.1.6 203.3.3.0 255.255.255.128 130.1.1.6 203.3.3.128 255.255.255.128 130.1.1.18 IP 203.3.3.133 IP 203.3.3.133 203. 3 . 3 . 128 203. 3 . 3 . 133 AND 255.255.255.128 Tercera máscara Si coincide con el tercer prefijo de red de la tabla Salto siguiente 130.1.1.18
SUPER-REDES O AGREGACIÓN 200.10.4.0/24 200.10.5.0/24 200.10.7.0/24 200.10.6.0/24 S0 200.10.4.0 255.255.252.0 S0 “summarization” 200.10.0000 0100.0/24 200.10.0000 0101.0/24 200.10.0000 0110.0/24 200.10.0000 0111.0/24 200.10.0000 0100.0/22 200.10.4. 0/22
...... ENRUTAMIENTO ESTATICO POR DEFECTO S0 S1 RED 1 RED 2 RED n 10.0.56.4/30 10.0.56.5/30 10.0.56.6/30 INTERNET S0 S1 ...... Red LAN Red de destino Máscara Salto siguiente 0.0.0.0 0.0.0.0 10.0.56.6 Cualquier red Cualquier máscara
ANALISIS DE UNA RED IPv4 R1 R2 R4 R5 R6 R3 R7 .1 .2 .5 .6 .9 .10 .13 30.1.1.0/30 30.1.1.4/30 30.1.1.8/30 30.1.1.12/30 30.1.1.16/30 30.1.1.20/30 .1 .2 .5 .6 .9 .10 .13 .14 .17 .18 .21 .22 200.1.1.0/24 200.2.2.0/24 200.3.3.0/24 R3 R7 Fa0/0 Fa0/1 Fa1/0
ANALISIS DE UNA RED IPv4 R1 R2 R4 R6 R3 R7 R5 Campo ID en todos 30.1.1.0/30 30.1.1.4/30 30.1.1.8/30 30.1.1.12/30 30.1.1.16/30 30.1.1.20/30 .1 .2 .5 .6 .9 .10 .13 .14 .17 .18 .21 .22 200.1.1.0/24 200.2.2.0/24 200.3.3.0/24 R3 R7 R5 0.0.0.0 0.0.0.0 30.1.1.2 0.0.0.0 0.0.0.0 30.1.1.21 0.0.0.0 0.0.0.0 30.1.1.17 200.1.1.0 255.255.255.0 30.1.1.1 200.3.3.0 255.255.255.0 30.1.1.14 200.2.2.0 255.255.255.0 30.1.1.6 200.1.1.0 255.255.255.0 30.1.1.5 200.3.3.0 255.255.255.0 30.1.1.5 200.2.2.0 255.255.255.0 30.1.1.10 200.1.1.0 255.255.255.0 30.1.1.9 200.3.3.0 255.255.255.0 30.1.1.9 200.2.2.0 255.255.255.0 30.1.1.22 200.1.1.0 255.255.255.0 30.1.1.13 200.3.3.0 255.255.255.0 30.1.1.18 200.2.2.0 255.255.255.0 30.1.1.13 Trayectoria IPorg=200.1.1.2 IPdes=200.3.3.2 TTL=40H = 64 (decimal) Suma de Chequeo=af21H MACorg=00 50 79 66 68 00 MACdes=ca 00 10 0c 00 08 Trayectoria IPorg=200.1.1.2 IPdes=200.3.3.2 TTL= 3fH = 63 (decimal) Suma de Chequeo=b021H MACorg=ca 00 10 0c 00 06 MACdes=ca 01 10 oc 00 08 IPorg=200.1.1.2 IPdes=200.3.3.2 TTL=3eH = 62 Suma de Chequeo=b121H MACorg=ca 01 10 0c 00 1c MACdes=ca 04 of 9c 00 06 Campo ID en todos los paquetes IP es f7a2H = 63394 IPorg=200.1.1.2 IPdes=200.3.3.2 TTL= 3dH = 61 Suma de Chequeo=b221H MACorg=ca 04 0f 9c 00 08 MACdes=c0 05 0f 9c 00 06 IPorg=200.1.1.2 IPdes=200.3.3.2 TTL= 3cH = 61 Suma de Chequeo=b321H MACorg=c0 05 0f 9c 00 08 MACdes=00 50 79 66 68 02
TABLA DE ENRUTAMIENTO ESTATICO El enrutamiento estático lo define el administrador. El enrutamiento estático no impone sobrecarga en la Red debido a que no hay protocolos dedicados. El enrutamiento estático presenta poca escalabilidad: ► Si la red cambia, el administrador debe actualizar la tabla. ► La red no se adapta a fallas.
TABLA DE ENRUTAMIENTO ESTATICO especificar la interfaz También se puede especificar la interfaz de salida del router
DISTANCIA ADMINISTRATIVA Red de destino 212.3.4.0/26 10.1.1.6/30 10.1.1.10/30 Mayor confiabilidad Red de destino Máscara Salto siguiente Distancia Administrativa 212.3.4.0 255.255.255.192 10.1.1.6 178 212.3.4.0 255.255.255.192 10.1.1.10 77 Primera opción
TABLA DE ENRUTAMIENTO DINAMICO El enrutamiento dinámico es definido por un algoritmo de enrutamiento implementado en cada router: Se necesita protocolo de enrutamiento El enrutamiento dinámico es escalable y adaptable: La red puede crecer y adaptarse. El enrutamiento dinámico origina sobrecarga en la red: Se envían paquetes entre routers. Una mejor solución podría ser una red híbrida: ► Parte de la red usa enrutamiento estático y otra parte enrutamiento dinámico.
Estadísticas al 21 de abril de 2012 PROBLEMÁTICA DE IPv4 Estadísticas al 21 de abril de 2012 http://www.lacnic.net/sp/registro/espacio-disponible-ipv4.html ► Al 21 de abril de 2012 solo quedan 62 366 208 direcciones IPv4 libres. ► Cuando se llegue a 4 194 304 direcciones IPv4 libres se considerará que el stock se acabó. Cuando se alcance 2 097 152 de direcciones disponibles en LACNIC se dará inicio al siguiente acuerdo: “Policies Relating to the Exhaustion of IPv4 Address Space” http://www.lacnic.net/en/politicas/manual11.html
PROBLEMAS DE LA ACTUAL INTERNET Los principales protocolos de Internet ya cumplió 30 años: IPv4 fue definido en 1981!! Sobre IPv4 se puede indicar que: ►Un paquete de datos debe ser procesado en cada nodo. ►Falta optimizar los protocolos de encaminamiento. ►Todos fragmentan: sobrecarga en los routers. ►Falta de seguridad. ►Servicio tipo “best effort”. ►Movilidad IP. ►Falta de direcciones IP.
Las aplicaciones de tiempo real exigen cada vez QUE NECESITA INTERNET Evolucionar (no revolucionar) sus protocolos a otros que ofrezcan menor retardo E2E, mejor seguridad, más direcciones IP, entre otros. Cambiar su arquitectura de red. ►DiffServ. ►MPLS. ►IntServ. ►MPLS/DiffServ Las redes IP deben ofrecer una adecuada QoS. Porque todo esto? Las aplicaciones de tiempo real exigen cada vez más recursos de la red
EVOLUCION DE LOS PROTOCOLOS Acondicionar a los protocolos de Internet a las nuevas aplicaciones. Surge IPv6 a los finales de 1998. ►RFC 2460. Que nos ofrece: ►Más direcciones IP. ►Solución a los problemas de seguridad IP. ►Adecuación para nuevas aplicaciones que surjan. ►Autoconfiguración
CAMBIAR ARQUITECTURA DE RED (1/2) Redes basadas en prioridades: DiffServ Campo DS (Differented Service) ►Asigna prioridades a cada paquete IP. ►Cada router debe dar un trato diferenciado a cada paquete IP según su prioridad (PHB). ►Arquitectura válida para IPv4 e IPv6. ►Pero…..cada paquete IP debe ser procesado en cada nodo. Tiempo real Tradicional Web VoIP Redes basadas en flujos: IntServ Campo Etiqueta de flujo ►Cada paquete IP se asocia a un flujo. ►Previamente se reserva recursos para un flujo con RSVP. ►Válido sólo en IPv6………… ►Pero…..cada paquete IP debe ser procesado en cada nodo. Se define QoS por cada flujo FLUJO 1 FLUJO 2
CAMBIAR ARQUITECTURA DE RED (2/2) En las anteriores arquitecturas se mantiene un gran problema: ► Toda la cabecera IP debe ser procesada en cada router. Que hacer? EXP Etiqueta MPLS TTL S Adicionar una Etiqueta delante del protocolo IP. ►Cada router sólo analiza la Etiqueta para el envío del dato. ►Arquitectura válida para varios protocolos de capa 3: MPLS. ►Red orientada a conexión. ►Se puede asociar una “PRIORIDAD” en la cabecera MPLS: MPLS/DiffServ. Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección IP de origen Dirección IP de destino PDU de la capa superior DS Etiqueta de flujo Dirección de origen Longitud de carga útil Límite salto Cabe.sigte Cabecera de extensión
EL FIN DE IPv4 http://portalipv6.lacnic.net/
DISTRIBUCIÓN DE IPv6 DE LOS BLOQUES /32 http://portalipv6.lacnic.net/estadisticas-globales/ Información al 27 de enero de 2014 LACNIC = 5.5% AFRINIC = 3.8% APNIC = 37.3% ARIN = 12.1 % RIPENCC = 41.4% Lectura RECOMENDADA: Plan de fomento para la incorporación del protocolo IPv6 en España http://www.boe.es/boe/dias/2011/06/21/pdfs/BOE-A-2011-10786.pdf
MEJORAS EN EL PROTOCOLO IPv4 PDU de la capa superior Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino 0 4 8 16 19 31 40 bytes max Cabecera 20 bytes Ver Tipo Serv. Longitud total TTL Protocolo Dirección de origen Dirección de destino HLEN Identificador Desplaz de frag. Indic Suma de chequeo Opciones-relleno Actualizados Eliminados
PROTOCOLO IPv6
ESTRUCTURA DEL PROTOCOLO IPv6 DS Etiqueta de flujo Dirección de origen 40 bytes Ver Longitud de carga útil Límite salto Cabe.sigte Dirección IP de destino Dirección IP de origen 0 4 8 12 16 24 31 Cabecera extensión 1 Cabecera extensión 2 . Cabecera extensión n PDU de la capa superior
Dirección IP de destino CAMPOS DE IPv6 DS Etiqueta de flujo Dirección de origen 40 bytes Ver Longitud de carga útil Límite salto Cabe.sigte Dirección IP de destino PDU de la capa superior Cabecera de extensión Dirección IP de origen 0 4 8 12 16 24 31 Opcional Versión Indica la versión del protocolo. Valor en 6=0110 Ver Longitud de carga útil Límite salto Longitud de carga útil Indica el tamaño de la carga útil en bytes (cabecera de extensión + PDU de capa superior). Límite de saltos Se disminuye en la unidad en cada nodo. Si Hop Limit llega a cero, el router descarta el paquete
Dirección IP de destino CAMPOS DE IPv6-Campo DS DS Etiqueta de flujo Dirección de origen 40 bytes Ver Longitud de carga útil Límite salto Cabe.sigte Dirección IP de destino PDU de la capa superior Cabecera de extensión Dirección IP de origen 0 4 8 12 16 24 31 Opcional Asigna prioridad a cada paquete perteneciente a una aplicación, aun si es de la misma fuente. DS Define la arquitectura DiffServ Cuando está en 0000 0000, corresponde al best effort.
CAMPO DS-DIFFERENTED SERVICE En la RFC 2474 “Definition of the Differentiated Services Field in IPv4 and IPv6 Headers ” se define este campo. RFC 2474 0 1 2 3 4 5 6 7 DSCP CU Differentiated Service CodePoint Currently Podría ser usado para Unused notificar congestión Bits más significativo
CAMPO ETIQUETA DE FLUJO DS Etiqueta de flujo Dirección de origen 40 bytes Ver Longitud de carga útil Límite salto Cabe.sigte Dirección IP de destino PDU de la capa superior Cabecera de extensión Dirección IP de origen 0 4 8 12 16 24 31 Opcional Que es un flujo? Es una secuencia de paquetes enviados desde un host transmisor a otro receptor (unicast) o a varios receptores (multicast). Etiqueta de flujo Dirección IP de origen Etiqueta de flujo + Flujo
USO DE LA ETIQUETA DE FLUJO Los routers deben tratar adecuadamente los paquetes de datos pertenecientes a un flujo. SEÑALIZACIÓN Internet Flujo 1 Asignar calidad Q1 Flujo 1 Asignar calidad Q1 Flujo 1 Asignar calidad Q1 Flujo 1 Asignar calidad Q1 Flujo 1 Asignar calidad Q1 Flujo 1 Flujo 1 con Q1
CAMPO CABECERA SIGUIENTE DS Etiqueta de flujo Dirección de origen 40 bytes Ver Longitud de carga útil Límite salto Cabe.sigte Dirección IP de destino PDU de la capa superior Cabecera de extensión Dirección IP de origen 0 4 8 12 16 24 31 Opcional Identifica el tipo de cabecera que sigue a la cabecera básica IPv6. Cabe.sigte Las cabeceras de extensión, también tienen este campo. Las cabeceras de extensión sólo son procesadas por los routers si se indica. Las cabeceras de extensión son procesadas en orden.
VALORES DE CABECERA SIGUIENTE 0 Cabecera extensión salto-a-salto 4 Protocolo Internet 6 Protocolo de control de transmisión (TCP) 17 Protocolo datagrama de usuario (UDP) 43 Cabecera de encaminamiento 44 Cabecera de fragmentación 45 Protocolo de encaminamiento interdominio 46 Protocolo de Reserva de Recursos (RSVP) 50 Carga útil de seguridad de encapsulamiento 51 Cabecera de autenticación 58 Protocolo de Control de Mensaje Internet (ICMPv6) 59 Ninguna cabecera siguiente 60 Cabecera de extensión para el destino
Dirección IP de destino DIRECCIONES EN IPv6 En la RFC 3513 se define la Arquitectura de las Direcciones IPv6 (Abril de 2003). DS Etiqueta de flujo Dirección de origen 40 bytes Ver Longitud de carga útil Límite salto Cabe.sigte Dirección IP de destino PDU de la capa superior Cabecera de extensión Dirección IP de origen 0 4 8 12 16 24 31 Opcional En la RFC 4291 se define la Arquitectura de las Direcciones IPv6 (Febrero de 2006) y actualiza a la RFC 3513.
NOTACION DE LAS DIRECCIONES IPv6 Una dirección IPv6 se divide en 08 grupos de 16 bits cada uno “unidos” por “:” 128 bits bbbb bbbb bbbb bbbb 16 bits Cada grupo se expresa en hexadecimal. ►Ejemplo de una dirección IPv6 2001 : 1a13 : 0000 : 0000 : 12bc : 0045 : fe00 : 0001 0001 0010 1011 1100
CONVENCIONES EN DIRECCIONES IPv6 Los bits en 0 a la izquierda se pueden comprimir. ► 2001 : 1a13 : 0000 : 0000 : 12bc : 0045 : 0fe0 : 0001 ► Se puede escribir como: 2001 : 1a13 : 0 : 0 : 12bc : 45 : fe0 : 1 Campos sucesivos en 0 se pueden representar con “::” ► 2001 : 1a13 : 0 : 0 : 12bc : 45 : fe0 : 1 Sólo un “::” en una dirección ► Se puede escribir como: 2001 : 1a13 :: 12bc : 45 : fe0 : 1 ► Otro ejemplo: FF02:0:0:0:0:0:0:1 = FF02::1
PREFIJO DE DIRECCION IPv6 Dirección IPv6 / longitud de prefijo Prefijos de dirección IPv6 es similar a la forma de los prefijos de dirección IPv4 en notación CIDR. Dirección IPv6 / longitud de prefijo Ejemplo, si el prefijo asignada a una red es: ► 2001 : 13a0 :: / 32 ► Esto quiere decir que : 2001 : 13a0 : 0000 :0000 : 0000: 0000: 0000 : 0000 Identifica la RAAP Para ser distribuido dentro de la RAAP
(Según la RFC 3513-Abril de 2003) DIRECCIONES EN IPv6 (Según la RFC 3513-Abril de 2003) LINK – LOCAL UNICAST SITE - LOCAL GLOBAL UNICAST Prefijo de red FE80::/10 03 tipos de direcciones UNICAST ADDRESS ANYCAST MULTICAST Prefijo de red FECO::/10 Prefijo de red Diferente al anterior Es una dirección Global unicast Prefijo de red FF00::/8
(Según la RFC 4291-Febrero de 2006) DIRECCIONES EN IPv6 (Según la RFC 4291-Febrero de 2006) UNICAST ADDRESS ANYCAST MULTICAST LINK – LOCAL GLOBAL UNICAST Prefijo de red FE80::/10 Diferente al anterior Es una dirección Global unicast FF00::/8 03 tipos de direcciones
DIRECCION UNICAST GLOBAL IPv6 Es aceptado por todos los routers de la Internet IPv6. ► Son equivalentes a las direcciones públicas IPv4. Una dirección unicast global usa el rango de dirección que empieza en 001 ó 2000::/3 Direcciones unicast especiales: ► No especificada, 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 = :: ► Loopback, 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1 = ::1
DIRECCIONES UNICAST LINK-LOCAL Son direcciones que sólo pueden ser alcanzados por nodos ubicados en el mismo enlace local. Link-local son requeridos por procesos de Neighbor Discovery y son configurados automáticamente. El prefijo es FE80::/10 ID Interfaz 64 bits 10 bits 54 bits 1111 1110 10 FE80::/10
DIRECCIONES UNICAST SITE - LOCAL Son direcciones que sólo pueden ser alcanzados e identificados dentro del ambiente del usuario (customer site) Son similares a las direcciones IPv4 privadas. El prefijo es FEC0::/10 ID Interfaz 64 bits 10 bits 16 bits ID Subred 1111 1110 11 FEC0::/10 Es eliminado en la RFC 4291
STATELESS AUTOCONFIGURATION (RFC 2464: Transmission of IPv6 Packets over Ethernet Netorks) Es la característica plug-and-play que habilita a interfaces conectarse a una red IPv6 sin realizar una configuración manual o el uso de un server DHCPv6. ► No se mantienen estados (ó tablas) En un enlace Ethernet, se realiza: ► Cada interfaz crea siempre su propio prefijo de red tipo link-local unicast (FE80::/10). ► Cada interfaz crea un Identificador (Interfaz ID) utilizando el algoritmo EUI-64 (lo analizamos en la siguiente transparencia). ► Cada interfaz verifica que ésta dirección es única. Envía mensaje ICMPv6 hacia la nueva dirección. ► Si no hay respuesta al mensaje ICMPv6, se asigna definitivamente la dirección IPv6 a la interfaz.
EXTENDED UNIVERSAL IDENTIFIER (EUI-64) (RFC 2464: Transmission of IPv6 Packets over Ethernet Netorks) ccccccug cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx 24 bits ID de la compañía y administrado por la IEEE ID de extensión y seleccionado por el fabricante u 0 ; la IEEE administra la dirección. u 1 ; localmente administrada la dirección. g 0 ; dirección unicast. g 1 ; dirección multicast. Dirección IEEE 802 de 48 bits FF FE 64 bits Dirección EUI-64 u es complementado
OBTENCIÓN DE UNA DIRECCION EUI-64 Dirección MAC: 00-02-3F-76-A0-7D Prefijo de red: FE80::/10 00-02-3F-76-A0-7D OUI Neighbor solicitation Neighbor advertisement NOTA: ipv6 if Para ver interfaces IPv6 en una PC 00-02-3F FF-FE 76-A0-7D 0000 0000 0000 0010 02-02-3F FF-FE 76-A0-7D FE80::202:3FFF:FE76:A07D
DIRECCION ANYCAST IPv6 Direcciones anycast comparten el mismo formato de una dirección unicast. Una dirección anycast es una dirección unicast global asignada a un grupo de interfaces, típicamente en diferentes nodos ► Con BGP: En una red multihomed, cada router de un ISP puede tener una dirección anycast. El cliente accederá al router del ISP más cercano. Anycast puede tener diversos usos: ► Acceso a base de datos “espejos” distribuida en la red IPv6.
DIRECCIONES MULTICAST Una dirección multicast identifica a un grupo de interfaces en diferentes nodos. El prefijo es FF00::/8 ID Grupo 112 bits 08 bits 1111 1111 FLAG Scope 4 bits O R P T El ID Grupo identifica el grupo multicast
DIRECCIONES MULTICAST En la mayoría de los casos ID Grupo 112 bits 08 bits 1111 1111 FLAG Scope 4 bits O R P T T =0 Dirección Permanente T =1 Dirección Temporal P =0 Dirección Multicast no es asignado basado en un prefijo de red unicast P =1 Dirección Multicast si es Temporal Prefijo (*) (*) RFC 3306 “Unicast-Prefix-based IPv6 Multicast Addresses” (**) RFC 3956 “Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address” R =1 Utilizado conjuntamente con protocolos multicast Detalles en RFC 3956 Rendezvous (**) Point Address En la mayoría de los casos el campo FLAG está 0000
DIRECCIONES MULTICAST ID Grupo 112 bits 08 bits 1111 1111 FLAG Scope 4 bits Scope RFC 4291 “IP Version 6 Addressing Architecture Los routers analizan el campo scope para determinar si enruta el tráfico multicast.
DIRECCIONES MULTICAST PREDEFINIDOS Las siguientes direcciones multicast no deben ser asignados a ningún grupo multicast: ► FF00:: hasta FF0F:: Direcciones multicast link-local reservadas FF02::1 FF02::2 FF02::9 FF02::1:FFxx:xxxx Todos los nodos Todos los routers Todos los routers RIPng Solicited-node Ver 8.3.8 del CCNP ► xx:xxxx corresponde a los 24 bits más a la derecha de la dirección unicast o anycast del nodo. Direcciones multicast site-local reservada FF05::2 Todos los nodos
CABECERAS DE EXTENSIÓN El protocolo IPv6 típico NO debe contener cabecera de extensión. Sólo el host de origen genera una cabecera de extensión y éstas son múltiplos de ocho bytes (08). Cada cabecera de extensión contiene como primer campo Cabecera Siguiente, que indica la cabecera de extensión que continua. La última cabecera de extensión indica el protocolo de la capa superior o carga útil.
ENCADENAMIENTO DE LAS CABECERAS DE EXTENSION Ver Pri Etiqueta de flujo Longitud de carga útil Cab sigte=0 Límite salto Dirección origen Dirección destino Opción salto-a-asalto Cab sigte=43 Información de encaminamiento Cab sigte=44 Información de fragmentación Cab sigte=51 Autenticación de datos Cab sigte=6 Cabecera TCP y datos
IPv6 – PARA EL FUTURO Ver Pri Etiqueta de flujo Longitud de carga útil Cab sig=100 Ver Pri Etiqueta de flujo Longitud de carga útil Cab sig=0 Límite salto Dirección origen Dirección destino Nueva Cabecera =100 (por ejemplo) Opción salto-a-asalto Cab sigte=43 Información de encaminamiento Cab sigte=44 Información de fragmentación Cab sigte=51 Autenticación de datos Cab sigte=6 Cabecera TCP y datos Opción para el futuro_2050 Cab sigte=0
TIPOS DE CABECERAS DE EXTENSIÓN Cabecera de extensión salto-a-salto. Cabecera de extensión de destino: Cabecera de extensión de encaminamiento. Cabecera de extensión de fragmentación. Cabecera de extensión de autenticación. Cabecera de extensión de encapsulamiento de seguridad de la carga útil
CABECERAS DE ENCAMINAMIENTO(1/2) En unidades de 08 bytes sin incluir los primeros 08 bytes. Indica los segmentos que quedan para alcanzar el destino. 0 8 16 24 31 Cabecera siguiente Long. de cabecera Tipo : 0 Segmentos que quedan Reservado Dirección (0) Dirección (1) . . . . . . Dirección (n - 1)
CABECERAS DE ENCAMINAMIENTO(2/2) Enrutamiento por origen HOST 1 Router A Router E Router C Router D Router B Router F HOST 2 6 4 Etiqueta de flujo Long.datos 43 Salto Origen : HOST1 Destino : Router A 6 4 Etiqueta de flujo Long.datos 43 Salto Origen : HOST1 Destino : Router C 6 4 Etiqueta de flujo Long.datos 43 Salto Origen : HOST1 Destino : Router D 6 4 Etiqueta de flujo Long.datos 43 Salto Origen : HOST1 Destino : HOST2 next Tipo:0 8 n=4 Reservado Addr (0): Router C Addr (1): Router D Addr (2): Router E Addr (3): HOST2 next Tipo:0 8 n=3 Addr (0): Router A Addr (1): Router D Addr (2): Router E Addr (3): HOST2 Reservado next Tipo:0 8 n=2 Addr (0): Router A Addr (1): Router C Addr (2): Router E Addr (3): HOST2 Reservado next Tipo:0 8 n=0 Addr (0): Router A Addr (1): Router C Addr (2): Router D Addr (3): Router E Reservado
PROCESO DE LA FRAGMENTACION No frag. Parte fragmentable No frag. Frag. 1 Frag. 2 …….. Frag. n PROCESO DE FRAGMENTACIÓN No frag. Cabecera de fragmentación Frag. 1 No frag. Cabecera de fragmentación Frag. 2 . Más detalle en la RFC 2460 No frag. Cabecera de fragmentación Frag. n
CABECERA DE FRAGMENTACION 0 8 16 24 31 Cabecera siguiente Reservado Desplaz de fragmento Res M Identificador de fragmento Cabecera siguiente Campo de 08 bits, indica el tipo de cabecera que sigue. Desplazamiento de fragmento Campo de 13 bits. Indica de ubicación del fragmento dentro del datagrama original. Se mide en 08 bytes. Bit M M=1 indica más (More) fragmento. M=0 es el último fragmento. Identificador de fragmento Campo de 32 bits e indica a que datagrama IP original pertenece el fragmento.
INTERNET CONTROL MESSAGE PROTOCOL - ICMPv4 -
INTRODUCCION DE ICMP El protocolo IP no informa al host de origen si el paquete de datos llegó correctamente al destino. Las aplicaciones necesitan conocer si el paquete llegó o no correctamente al destino. Es necesario definir un protocolo que informe si el paquete de datos NO llegó al destino. Surge el protocolo: Internet Control Message Protocol, ICMP.
al dispositivo de origen REPORTE DE ERROR EN UNA RED IP ICMP sólo informa al dispositivo de origen acerca del estado del paquete. Origina Error Detecta error Datos Transmisor Receptor ICMP no puede informar los problemas de los routers intermedios. ICMP no corrige el problema en la red.
ó Campo CABECERA SIGUIENTE=3AH ICMP REPORTE DE ERROR Paquete de datos con error Cabecera IP Datos del protocolo IP 64bits Cabecera IP Porción de datos Cabecera ICMP Datos ICMP No existe prioridad para ICMP. No existe confiabi-lidad Campo PROTOCOL=1 ó Campo CABECERA SIGUIENTE=3AH para ICMP Cabecera IP Datos IP Cabecera ICMP Datos ICMP
Solicitud y respuesta de eco Tráfico generado por el comando ping ICMP VERIFICANDO CAPA INTERNET: Solicitud y respuesta de eco 1 ICMP echo request 2 ICMP echo reply Tráfico generado por el comando ping
Otros campo, cabecera IP+datos ENCAPSULAMIENTO DE ICMPv4 EN IPv4 Ver HLEN Tipo Serv. Longitud total Identificador Indic 0 4 8 16 19 31 20 bytes Desplaz de frag. TTL Protocolo 1 Suma de chequeo Dirección de origen Dirección de destino Cabecera IP Protocolo ICMP Tipo Código Suma de chequeo Otros campo, cabecera IP+datos Cabecera de la trama del paquete IP ICMP Datos
CAMPO TIPO EN ICMPv4 Respuesta de eco Destino inaccesible Disminución de origen Redireccionar (cambiar de ruta) Solicitud de eco Tiempo excedido para un datagrama Problema de parámetros en un datagrama Solicitud de timestamp Respuesta de timestamp Obsoleto Solicitud de máscara de dirección Respuesta de máscara de dirección Traceroute Campo Tipo Tipo de mensaje ICMP 3 4 5 8 11 12 13 14 15 16 17 18 30 (*) Más detalle en, http://www.iana.org/assignments/icmp-parameters
CONSIDERACIONES BASICAS DE ICMPv4 ICMP es una parte “obligada” de IP y es generado por el router o por host de destino. Destino de ICMP no es el programa de aplicación. ICMP está diseñado para evitar el problema de generar mensajes de error sobre mensajes de error. Cada mensaje ICMP siempre presenta en Común 03 campos: Tipo, Código y Suma de verificación.
Otros campos, cabecera IP+datos FORMATO DEL PROTOCOLO ICMPv4 Otros campos, cabecera IP+datos Tipo Código 0 7 8 15 16 23 31 Suma de verificación Tipo.- Identifica el mensaje Código.- Más información sobre el mensaje. Suma de verificación.- Checksum del mensaje ICMP.
cabecera IP+primeros 64 bits del paquetes de datos ICMPv4: REPORTE DE DESTINO NO ACCESIBLE Es utilizado cuando un router no puede direccionar o entregar un paquete de datos. 0 7 8 15 16 23 31 cabecera IP+primeros 64 bits del paquetes de datos No utilizado , en CERO Tipo (3) Código (0-12) Suma de verificación No detecta la totalidad de errores. El campo Código especifica el tipo de error.
ICMPv4: REPORTE DE DESTINO NO ACCESIBLE Red inaccesible Host inaccesible Protocolo inaccesible Puerto inaccesible Es necesario fragmentar y configurar DF Falla en la ruta de origen Red de destino desconocida Host de destino desconocida Host de origen aislado Red de destino administrativamente prohibida Host de destino administrativamente prohibida Red inaccesible por el tipo de servicio Host inaccesible por el tipo de servicio Valor de código Significado 1 2 3 4 5 6 7 8 9 10 11 12 (*) Más detalle en, http://www.iana.org/assignments/icmp-parameters
ICMPv4: REPORTE DE TIEMPO EXCEDIDO Rutas excesivamente largas: ► El protocolo RIP acepta como máximo 15 saltos.
cabecera IP+primeros 64 bits de datagrama ICMPv4: REPORTE DE TIEMPO EXCEDIDO Errores en la tabla de ruteo puede originar un ciclo de Ruteo, o bucle, y puede estar conformado por dos routers o varios routers Para evitar los ciclos de ruteo se utiliza el campo TTL en IPv4. 0 7 8 15 16 23 31 cabecera IP+primeros 64 bits de datagrama No utilizado , en CERO Tipo (11) Código (0-1) Suma de verificación Código=0, conteo de tiempo excedido; Código=1, tiempo de reensamblado excedido
ICMPv4 VERIFICANDO CAPA INTERNET Utiliza mensaje de solicitud y respuesta para determinar si la Capa Internet del destino es alcanzable. El comando utilizado es ping. La solicitud contiene datos opcionales y la respuesta contiene una copia de estos datos. Datos opcionales Identificador Número de secuencia Tipo (0 ó 8) Código (0) 0 7 8 15 16 23 31 Suma de verificación Campo Tipo: 8 solicitud; 0 respuesta
ANALISIS DEL COMANDO PING: REQUEST Cabecera IP MAC de Destino MAC de Origen Tipo IP ICMP TRAMA ping DATA Proceso de encapsulamiento Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil Cabecera 20 bytes 4 5 00 00 3C 06 78 0 00 80 01 B0 93 C0 A8 01 64 C0 A8 01 01 Carga útil 20 bytes Cabecera Datos opcionales Identificador Número de secuencia Tipo (0 ó 8) Código (0) Suma de verificación 02 00 01 00 08 00 4A 5C 61 62 63 64 65 66 67 68 Siguen más valores
INTERNET CONTROL MESSAGE PROTOCOL - ICMPv6 - (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification RFC 4443 Marzo del 2006
Dirección IP de destino ENCAPSULAMIENTO DE ICMPv6 EN IPv6 DS Etiqueta de flujo Dirección de origen 40 bytes Ver Longitud de carga útil Límite salto Cabe.sigte 3AH Dirección IP de destino Dirección IP de origen 0 4 8 12 16 24 31 Cabecera IP Protocolo ICMP Tipo Código Suma de chequeo Otros campo, cabecera IP+datos Cabecera de la trama del paquete IP ICMP Datos
CLASES DE MENSAJES ICMPv6 Los mensajes ICMPv6 son de dos clases: ►Reporte de error ►Verificación de la Capa Internet Los mensajes de Reporte de Error contienen el bit de mayor peso en CERO del campo TIPO. ►Tipo de mensaje desde 0 hasta 127 Los mensajes de Verificación de la Capa Internet contienen el bit de mayor peso en UNO del campo TIPO. ►Tipo de mensaje desde 128 hasta 255
MENSAJES REPORTE DE ERROR ICMPv6 Destino inalcanzable ►Campo TIPO = 0000 0001 Paquete demasiado grande ►Campo TIPO = 0000 0010 Tiempo excedido ►Campo TIPO = 0000 0011 Problema de parámetro ►Campo TIPO = 0000 0100 Experimentación privada ►Campo TIPO = 0110 0100 y 0110 0101 (100 y 101) Reservado para expansión ►Campo TIPO = 0111 1111
MENSAJES DE VERIFICACIÓN DE CAPA INTERNET ICMPv6 Requerimiento ECHO (Echo Request) ►Campo TIPO = 1000 0000 Respuesta ECHO (Echo Reply) ►Campo TIPO = 1000 0001 Experimentación privada ►Campo TIPO = 1100 1000 y 1100 1001 (200 y 201) Reservado para expansión ►Campo TIPO = 1111 1111
MENSAJE REPORTE DE ERROR DESTINO INALCANZABLE 00000001 CODE SUMA DE CHEQUEO 0 7 8 15 31 No usado (00 00) Paquete invocado sin exceder el mínimo MTU IPv6 Este mensaje es generado cuando un paquete IPv6 no puede ser enviado a su dirección destino. Las razones son detalladas en el campo CODE.
MENSAJE REPORTE DE ERROR DESTINO INALCANZABLE CODE= 0 ; No existe ruta de destino en la tabla de enrutamiento. -Se debe a que no existe “default route”. CODE= 1 ; Comunicación con destino administrativamente prohibido. -Routers con “firewall”. CODE= 2 ; Más allá del alcance de dirección origen -Ocurre cuando la dirección origen es link-local y el destino global-scope. CODE= 3 ; Dirección inalcanzable. -No corresponde a ninguna anterior. CODE= 4 ; Puerto NO alcanzable. -El protocolo de transporte no recibió el paquete de datos. CODE= 5 ; Dirección de origen fallado por políticas de ingreso/salida. -El paquete con la dirección de origen no está permitido ser enviado. CODE= 6 ; Rechazo de ruta de destino. -Router ha sido configurado para rechazar los tráficos de un prefijo.
MENSAJE REPORTE DE ERROR PAQUETE DEMASIADO GRANDE 00000010 00000000 SUMA DE CHEQUEO 0 7 8 15 31 MTU Paquete invocado sin exceder El mínimo MTU IPv6 Es usado como parte del Path MTU Discovery Este mensaje es enviado por un router en respuesta a un paquete que no puede ser enviado ya que el enlace de salida tiene gran MTU. El campo CODE es colocado en CERO por el emisor e ignorado por el receptor.
MENSAJE REPORTE DE ERROR TIEMPO EXCEDIDO 00000011 CODE (0 ó1) SUMA DE CHEQUEO 0 7 8 15 31 No usado (00 00) Paquete invocado sin exceder El mínimo MTU IPv6 Este mensaje es enviado por un router si recibe un paquete con Hop Limit en CERO o decrementa el Hop Limit a CERO. CODE=0 Este mensaje se envía para reportar que el tiempo de re-ensamblado a expirado. CODE=1
MENSAJE REPORTE DE ERROR PROBLEMA DE PARAMETRO 00000100 CODE (0-2) SUMA DE CHEQUEO 0 7 8 15 31 Puntero Paquete invocado sin exceder El mínimo MTU IPv6 Code=0. Campos de Cabecera errada Code=1. Tipo Cabecera Siguiente errada Code=2. Cabecera opción no reconocible. Si un nodo al procesar un paquete encuentra un problema con un campo en la cabecera IPv6 o la cabecera opcional no puede ser procesado, se genera este mensaje ICMPv6. Se localiza el problema dentro del paquete.
MENSAJE REPORTE DE ERROR PROBLEMA DE PARAMETRO 00000100 CODE (0-2) SUMA DE CHEQUEO 0 7 8 15 31 Puntero Paquete invocado sin exceder El mínimo MTU IPv6 El puntero identifica el octeto de la cabecera original donde el error fue detectado. Un mensaje ICMPv6 con TIPO=4 y CODE=1 y el Campo PUNTERO=40. Indica que la cabecera opcional, después de la cabecera básica IPv6, contiene un campo Cabecera Siguiente que no es reconocible.
MENSAJE DE INFORMACION MENSAJE ECHO REQUEST 10000000 CODE = 0 SUMA DE CHEQUEO 0 7 8 15 31 Datos ……. NUMERO DE SECUENCIA IDENTIFICADOR Se genera ECHO Request cuando el nodo desea conocer el estado del nodo destino, para ello hace un requerimiento. Mensaje para propósito de diagnóstico.
MENSAJE DE INFORMACION MENSAJE ECHO REPLY 10000001 CODE = 0 SUMA DE CHEQUEO 0 7 8 15 31 Datos ……. NUMERO DE SECUENCIA IDENTIFICADOR Un mensaje ECHO Reply debe ser enviado en respuesta a un mensaje ECHO Request.
ANALISIS DEL IPv6/ICMPv6
ANALISIS DEL IPv6/ICMPv6
ANALISIS DEL IPv6/ICMPv6
EXISTIÓ IPv5 ? RFC 4861
SISTEMAS AUTÓNOMOS
SISTEMAS AUTONOMOS (AS) SISTEMA AUTÓNOMO 1000 Es un conjunto de redes bajo una administración común y comparten una estrategia de enrutamiento común. Un AS se identifica por un número de 16 bits o 32 bits ► LACNIC es el que lo “administra” en nuestra región. ► RFC 4893 “BGP Support for Four-octet AS Number Space”
SE AGOTAN LOS ASN DE 16 BITS http://www.lacnic.net/web/anuncios/2014-2byte-asn-nearing-depletion
POLÍTICAS DE LACNIC PARA ASIGNAR ASN http://www.lacnic.net/sp/politicas/manual4.html
NUMERO DE SISTEMAS AUTONOMOS (ASN) http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-1/ipj_9-1.pdf Los ASN 0 y 65535 son reservados. El bloque de ASN: 64512 hasta 65534 es para uso privado. El ASN 23456 es también reservado. El bloque de ASN desde el 1 hasta el 64511, excepto el 23456, es utilizado para el enrutamiento en la Internet. Ingreso y salida de datos Router de borde Aquí se programa el ASN con BGP
ACTUALIZACIÓN DE TABLA DE ENRUTAMIENTO DENTRO DE UN AS Inform. Luego se ejecuta un algoritmo en cada router para encontrar la tabla de enrutamiento -- -- -- Algoritmo Dato Inform. Inform. Inform. Dato Protocolo de enrutamiento envía información de los routers: usa el algoritmo. Protocolo enrutado: Contiene los datos
COMUNICACIÓN ENTRE SISTEMAS AUTONOMOS LAN 1 LAN 2 LAN 3 LAN 4 LAN 5 LAN 6 LAN a LAN b Sistema Autónomo Se como llegar a LAN a, b y 4,5,6 Se como llegar a LAN a, b Se como llegar a LAN a, b Se como llegar a LAN a, b y 1,2,3 LAN 1, 2, 3, etc LAN 4, 5, 6, LAN a, b, Se como llegar a LAN 4,5,6 y 1,2,3 LAN 4,5,6 Se como llegar a LAN 1,2,3 y 4,5,6 Se como llegar a LAN 1,2,3 Se como llegar a LAN 4,5,6 LAN 1,2,3 Sesión TCP Sesión TCP LAN a, b, 4, 5, 6 eBGP LAN a, b LAN a, b, 1,2,3 LAN 1,2,3 LAN 4,5,6 LAN a, b iBGP Cada router de borde tienen dos tablas
CLASIFICACIÓN DE LOS PROTOCOLOS DE ENRUTAMIENTO IGP: RIP, IGRP, OSPF, EIGRP EGP: BGP SISTEMA AUTÓNOMO
ENRUTAMIENTO DINÁMICO: ALGORITMO BELLMAN-FORD ó Vector Distancia
ALGORITMO BELLMAN-FORD (1/8) (Vector Distancia) Adiciona el costo del enlace Desde A hacia Enlace Costo A Local Desde B hacia B Desde C hacia C Desde D hacia D Desde E hacia E Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Costo del= enlace 1 Envía su vector A=0 Nodo A tiene en su tabla un vector de distancia de A=0 Nodo B tiene en su tabla un vector de distancia de B=0 Nodo C tiene en su tabla un vector de distancia de C=0 Nodo D tiene en su tabla un vector de distancia de D=0 Nodo E tiene en su tabla un vector de distancia de E=0
ALGORITMO BELLMAN-FORD (2/8) Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 B 1 A 2 B 2 1 A D 3 1 A 2 Envía sus vec- tores B=0,A=1 Envía sus vec- tores B=0,A=1 Envía sus vec- tores D=0,A=1 tores B=0,A=1 Envía sus vec- B 4 1 A 2 D 6 1 A 2 Nodo B tiene en su tabla dos vectores de distancia de B=0 y A=1 Nodo D tiene en su tabla dos vectores de distancia de D=0 y A=1
ALGORITMO BELLMAN-FORD (3/8) Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 A 1 B 2 D Envía sus vecto- res A=0,B=1,D=1 A 3 1 B 2 D Nodo A tiene en su tabla tres vectores de distancia de A=0, B=1 y D=1 Nodo C tiene en su tabla tres vectores de distancia de C=0, B=1 y A=2 Nodo E tiene en su tabla tres vectores de distancia de E=0, B=1, A=2 y D=1
ALGORITMO BELLMAN-FORD (4/8) Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 C 2 1 B A 3 Envía sus vecto- res C=0,B=1,A=2 C 5 1 B 2 A 3
ALGORITMO BELLMAN-FORD (5/8) Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5 E 6 1 B 2 A 3 D C 5 4 Envía sus vectores Vectores E=0, B=1 A=2, D=1 y C=1
ALGORITMO BELLMAN-FORD (6/8) Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5
ALGORITMO BELLMAN-FORD (7/8) Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5 Vectores B=0, A=1 D=2, C=1 y E=1 B 1 A 2 D 3 C E 4 E 5 1 E 4 1 D 5 2 Envía sus vectores E 6 1 C 6 2
ALGORITMO BELLMAN-FORD (8/8) Enlace 1 Enlace 2 Enlace 6 Enlace 5 Enlace 3 A B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5 Por fin converge el algoritmo
VECTOR DISTANCIA: enlace cortado (1/7) B C D E Enlace 4 Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5
VECTOR DISTANCIA: enlace cortado (2/7) B C D E Enlace 4 Costo del enlace= Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5 B=0, A= ,D= , C=1 y E=1 B 2 1 A D C E A=0, B= ,D=1, C= y E= B 4 1 A D C 2 E A 3 1 B D 2 C E
VECTOR DISTANCIA: enlace cortado (3/7) B C D E Enlace 4 Costo del enlace= Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5 D 3 1 A 2 B E C D=0, A= 1,B= , E= 1 y C= 2 D 6 1 A 2 B E C 3
VECTOR DISTANCIA: enlace cortado (4/7) B C D E Enlace 4 Costo del enlace= Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5 C=0, B= 1,A= , E= 1 y D= 2 C 2 1 B A E D 3 C 5 1 B 2 A E D 3
VECTOR DISTANCIA: enlace cortado (5/7) B C D E Enlace 4 Costo del enlace= Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 1 3 2 4 6 5 E 4 1 B 2 A 3 D C E 5 1 B 2 A 3 D C E=0, B= 1,A= 2, D= 1 y C= 1 E 6 1 B 2 A 3 D C
VECTOR DISTANCIA: enlace cortado (6/7) B C D E Enlace 4 Costo del enlace= Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 4 3 1 2 5 6 D 3 1 A 2 B E C D=0, A= 1,B= 2, E= 1 y C= 2 D 6 1 A 2 B 3 E C
VECTOR DISTANCIA: enlace cortado (7/7) B C D E Enlace 4 Costo del enlace= Costo del enlace=1 Costo del Enlace=1 Desde A hacia Enlace Costo Local Desde B hacia Desde C hacia Desde D hacia Desde E hacia 4 3 1 2 5 6 Por fin converge el algoritmo http://www.it.uc3m.es/~prometeo/rsc/apuntes/encamina/encamina.html http://catarina.udlap.mx/u_dl_a/tales/documentos/lem/bautista_h_e/capitulo2.pdf
ENRUTAMIENTO DINÁMICO: ALGORITMO DIJKSTRA ó Estado de Enlace
ALGORITMO DE Dijkstra D(v) p(v) c(i,j) 2 4 3 5 1 n-2 n-1 n i j c(i,j) p(v) c(i,j) = Costo del enlace desde el nodo i al nodo j Si los nodos no están directamente conectados c(i,j) = ∞ Por ejemplo, c(1,4) = ∞ D(v) = Costo del trayecto desde el nodo origen al destino v actual de menor costo. Por ejemplo; D(4) = c(1,3) + c(3,4) asumiendo que: c(1,3) + c(3,4) < c(1,2) + c(2,4) p(v) = Nodo previo, vecino a v, a lo largo del actual camino más corto desde el origen a v. Del ejemplo anterior, el nodo previo al nodo 4 es el nodo 3 = p(4) N = Grupo de nodos que definen el camino más corto desde el origen. Del ejemplo anterior: N = {1, 3, 4}
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 5 2 3 1 A F B C D E A B C D E F Matriz de distancia = M (i,j) = 0 2 5 1 ∞ ∞ 2 0 3 2 ∞ ∞ 5 3 0 3 1 5 1 2 3 0 1 ∞ ∞ ∞ 1 1 0 2 ∞ ∞ 5 ∞ 2 0
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Inicialización B C D (2,A) (5,A) (1,A) A Paso N D(B), p(B) D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 0 A 2, A 5, A 1, A ∞ ∞
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 1 (5,A) B C (2,A) (1,A) A 3 2 E D 1 (3,D) (4,D) (2,D)
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 1 B C (2,A) (5,A) (1,A) A 3 2 E D 1 (3,D) (4,D) (2,D) Paso N D(B), p(B) D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 0 A 2, A 5, A 1, A ∞ ∞ 1 AD 2, A 4, D 2,D ∞
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 2 B C (2,A) (5,A) (1,A) A 3 2 E D 1 (3,D) (4,D) (2,D) (1,A) A D (4,D) 1 F C 2 (2,D) E (3,E) (4,E)
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 2 (1,A) A D (4,D) 1 F C 2 (2,D) E (3,E) (4,E) Paso N D(B), p(B) D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 0 A 2, A 5, A 1, A ∞ ∞ 1 AD 2, A 4, D 2,D ∞ 2 ADE 2, A 3, E 4,E
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 3 (1,A) A D (4,D) 1 F C 2 (2,D) E (3,E) (4,E) (1,A) A D (2,A) B (2,D) E C 3 (3,E) (5,B)
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 3 (1,A) A D (2,A) B (2,D) E C 3 (3,E) (5,B) Paso N D(B), p(B) D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 0 A 2, A 5, A 1, A ∞ ∞ 1 AD 2, A 4, D 2,D ∞ 2 ADE 2, A 3, E 4,E 3 ADEB 3, E 4,E
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 4 (1,A) A D (2,A) B (2,D) E C 3 (3,E) (5,B) (1,A) A D (2,A) B (2,D) E C (3,E) F 5 (4,E) (8,C)
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 4 (1,A) A D (2,A) B (2,D) E C (3,E) F 5 (4,E) (8,C) Paso N D(B), p(B) D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 0 A 2, A 5, A 1, A ∞ ∞ 1 AD 2, A 4, D 2,D ∞ 2 ADE 2, A 3, E 4,E 3 ADEB 3, E 4,E 4 ADEBC 4,E
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Algoritmo Dijkstra para el nodo de origen A. ► Paso 5 (1,A) A D (2,A) B (2,D) E C (3,E) F (4,E) Paso N D(B), p(B) D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 0 A 2, A 5, A 1, A ∞ ∞ 1 AD 2, A 4, D 2,D ∞ 2 ADE 2, A 3, E 4,E 3 ADEB 3, E 4,E 4 ADEBC 4,E 5 ADEBCF 4,E
EJEMPLO DEL ALGORITMO DE Dijkstra Figura 4.4 del libro “Computer Networking”, J Kurose, pag 302 Creación de una árbol invertido desde nodo A. Paso N D(B), p(B) D(C), p(C) D(D), p(D) D(E), p(E) D(F), p(F) 0 A 2, A 5, A 1, A ∞ ∞ 1 AD 2, A 4, D 2,D ∞ 2 ADE 2, A 3, E 4,E 3 ADEB 3, E 4,E 4 ADEBC 4,E 5 ADEBCF 4,E B D A 2 1 E C F
IMPLEMENTACION DEL ALGORITMO DE DIJKSTRA Los routers deben conocer sus vecinos ► El router A debe conocer la existencia de los routers B, C y D. ► El router A debe enviar protocolo de descubrimiento. HELLO HELLO Cada router forma una base de datos con sus routers vecinos. A Router B Router C Router D B Router A F Router E .........
IMPLEMENTACION DEL ALGORITMO DE DIJKSTRA Cada routers envía sus estados a sus routers vecinos ►Costo, máscara de enlace WAN, dirección IP, etc. 5 2 3 1 A F B C D E Estado A Estado C Estado A ►Cada router contiene una base de datos con los estados de los demás routers. Esta base de datos es idéntica en toda la red.
IMPLEMENTACION DEL ALGORITMO DE DIJKSTRA B D A 2 1 E C F Estados de todos los routers 5 2 3 1 A F B C D E En cada router se aplica el algoritmo de Dijkstra. ► Es obtiene una topología de árbol invertido por router.
Muchas Gracias Francia, Enero de 2013