1. Introducción
1.1. Motivación y Objetivo General
1.2. Esquema del Trabajo
2. Estudio general del protocolo IPv6
2.1. Direcciones IPv6
2.1.1. Notación de direcciones
2.1.2. Alcances y tipos de direcciones IPv6
2.1.2.1. Loopback Address (::1/128)
2.1.2.2. Sin especificar, Any Address (::/0)
2.1.2.3. Direcciones de enlace local (Link-local)
2.1.2.4. Direcciones locales privadas de sitio (Site-local)
2.1.2.5. Direcciones locales únicas (Unique Local)
2.1.2.6. Direcciones globales unicast/basadas en provider
2.1.2.7. Direcciones multicast y anycast
2.1.2.8. IPv4 mapeado en IPv6 (0:0:0:0:0:ffff:a.b.c.d/96)
2.1.2.9. IPv4 compatible IPv6 (0::a.b.c.d/96)
2.1.3. Tiempo de vida de las direcciones IPv6 .
2.2. Estructura del datagrama IPv6
2.2.1. Campos del encabezado IPv6
2.2.1.1. Campo versión
2.2.1.2. Campo clase de tráfico
2.2.1.3. Campo etiqueta de flujo (Flow Label)
2.2.1.4. Tamaño de los datos/carga (Payload)
2.2.1.5. Próximo encabezado
2.2.1.6. Límite de saltos
2.2.1.7. Direcciones
2.3. Encapsulamiento de IPv6
2.3.1. Point-to-Point
2.3.2. Ethernet/IEEE 802
2.3.2.1. Ethernet II
2.3.2.2. Redes wireless IEEE 802.11
2.4. Internet Control Message Protocol v6 (ICMPv6)
2.5. Ejemplos con IPv6
3. Introducción a QoS & ISA
(Integrated Services)
3.1. Introducción
3.2. Como trabaja ISA, sus pasos
3.3. Componentes del modelo ISA
3.3.1. Parámetros de QoS
3.3.2. Policing vs Shaping
3.3.3. RSVP (Resource Reservation Protocol)
3.3.3.1. Operación de RSVP
3.3.4. Mensajes RSVP
3.3.4.1. Identificador de sesión
3.3.4.2. RSVP Path Message
3.3.4.3. RSVP Reservation Message
3.3.4.4. RSVP Error Message
3.3.4.5. RSVP Confirmation Message
3.3.4.6. RSVP Teardown Message
3.3.4.7. Soft State (Estados Dúctiles)
3.3.5. Control de Admisión
3.3.6. Clasificación de Paquetes
3.3.7. Encolado y planificación de paquetes
3.4. Modelos de Servicio ISA
3.4.1. Modelo Guaranteed Service
3.4.2. Modelo Controlled-load Service
3.5. IntServ en IPv6
3.6. Ejemplo con IntServ
3.7. Conclusiones sobre IntServ
4. Estrategias de encolado
4.1. Introducción
4.2. Breve introducción a la teoría de colas
4.3. Colas en el router
4.4. Disciplinas de encolado
4.4.1. Encolado FIFO/FCFS
4.4.2. Priority Queueing (PQ)
4.4.3. Fair Queueing (FQ)
4.4.4. Fair Queueing Estoc´astico (SFQ) .
4.4.5. Weighted Fair Queueing (WFQ)
4.4.6. Class Based / Weighted Round Robin Queueing
4.4.7. Deficit Weighted Round Robin (DWRR)
4.4.8. Class-Based Weighted Fair Queueing (CBWFQ)
4.4.9. LLQ
4.5. Técnicas para descarte de datagramas
4.5.1. Técnica de descarte Tail Drop
4.5.2. Técnica de descarte Drop-from-Front
4.5.3. Técnica de descarte RED
4.5.4. Técnica de descarte WRED
4.5.5. Weighted Tail Drop (WTD)
4.5.6. Otras implementaciones
4.6. Ejemplos con disciplinas de encolado
5. DiffServ (Differentiated Services)
5.1. Introducción
5.2. DiffServ vs. IntServ
5.2.1. C´omo trabaja DiffServ
5.3. Componentes del modelo DiffServ
5.3.1. Nodos de Borde/Edge
5.3.1.1. Medición
5.3.1.2. Marcado/Marking
5.3.1.3. Acondicionamiento/Conditioning
5.3.2. Nodos Internos/Core
5.3.3. Bandwidth Broker
5.4. Proceso de marcado en DiffServ
5.4.1. IP Precedence/Precedencia IP
5.4.2. Flags de optimización IP/IP Optimize Flags
5.4.3. Nueva especificación del ToS
5.4.4. Especificación de DSCP, re-definición de ToS
5.4.4.1. Class Selector Code Point
5.4.4.2. Valores IANA DSCP
5.4.5. Proceso de Marcado de DSCP
5.5. Relación entre DiffServ y SLA
5.5.1. Encolado y planificación de datagramas
5.6. Clases Estándares de DiffServ
5.6.1. Default PHB (Best-Effort)
5.6.2. Assured Forwarding (AF) PHB
5.6.2.1. Recomendaciones de Implementación de AF
5.6.3. Expedited Forwarding (EF) PHB
5.6.3.1. Recomendaciones de Implementación de EF
5.7. Mapeando DiffServ a Capa de Enlace
5.8. Ejemplo con DiffServ
5.9. Conclusiones sobre DiffServ
6. Análisis de propuestas de utilización del Flow Label
6.1. Protocolo de Internet, versión 6 (IPv6)
6.2. Nuevas posibilidades ofrecidas por IPv6
6.3. RSVP y Servicios Integrados (ISA) con el Flow Label de IPv6
6.4. Una propuesta para la Especificación del Flow Label de IPv6
6.5. Un modelo para el uso en DiffServ de la etiqueta de especificación del
FL IPv6
6.6. Una propuesta para la Especificación del Flow Label de IPv6
6.7. Una especificación modificada para el uso del Flow Label en IPv6 con
el fin de proveer una eficiente QoS usando una propuesta híbrida
6.8. Un enfoque radical para proveer QoS sobre Internet usando el campo
Flow Label de 20 bits
6.9. Especificación del Flow Label de IPv6
6.10. Usando el campo Flow Label de 20 bits del encabezado IPv6 para
indicar la QoS deseable para servicios en Internet
6.11. Comparación del rendimiento de la QoS en IPv6 entre los modelos de
IntServ, DiffServ
6.12. Clasificación de paquetes IPv6 basada en el Flow Label, dirección origen y destino
6.13. Proveyendo QoS de extremo a extremo usando el Flow Label de IPv6
6.14. Provisión de QoS en IPv6 de extremo a extremo en redes heterogéneas
6.15. Provisión de QoS en IPv6 de extremo a extremo en redes heterogéneas
usando agregación del Flow Label
6.16. Estudio de casos de uso propuestos para el Flow Label de IPv6
6.17. Justificación de la Actualización de la especificación de IPv6 Flow Label
6.18. Especificación del Flow Label de IPv6 (nueva versión)
6.19. Usando el Flow Label de IPv6 para balance de carga en “granjas” de
servidores
6.20. Conclusiones de los documentos analizados
7. Flow Label en práctica
7.1. Introducción
7.2. Análisis de lineamientos de IETF para implementaciónn
7.2.1. RFC-2133: Basic Socket Interface Extensions for IPv6 (Obsoleta)
7.2.2. RFC-2553: Basic Socket Interface Extensions for IPv6 (Obsoleta)
7.2.3. RFC-3493: Basic Socket Interface Extensions for IPv6
7.2.4. Draft de Socket API para asignar el Flow Label
7.3. Análisis de soporte en Sistemas Operativos
7.3.1. Soporte de Flow Label en GNU/Linux
7.3.2. Manejo de congestión por TCP en GNU/Linux
7.4. Herramientas desarrolladas
7.4.1. Herramienta de marcado de FL
7.4.2. Herramienta de comparación de FL
8. Implementación usando el Flow Label para QoS
8.1. Primer propuesta del uso del campo Flow Label para marcar QoS en
GNU/Linux
8.1.1. Tests realizados, primer propuesta
8.1.1.1. Tests Individuales a 10Mbps
8.1.1.2. Tests combinados a 10Mbps sin QoS
8.1.1.3. Tests combinados a 10Mbps con QoS
8.1.1.4. Tests a 10Mbps con QoS, otro ejemplo
8.1.2. Conclusiones del primer modelo
8.2. Propuesta del uso del campo Flow Label para algoritmos de Control
de Congestión
8.2.1. Tests realizados, segunda propuesta
8.2.1.1. Tests combinados a 10Mbps sin QoS para diferenciar CC
8.2.1.2. Tests combinados a 10Mbps con QoS
8.2.2. Conclusiones del segundo modelo
9. Conclusiones
A. Ejemplos de uso ICMPv6
A.1. ICMPv6, descubrimiento de vecinos
A.2. ICMPv6, proceso de auto-configuración sin estado
A.2.1. Configuración manual/estática
A.2.2. ICMPv6 Duplicate Address Detection y Router Discovery
B. Ejemplo con IntServ y RSVP
C. Ejemplos con disciplinas de encolado
C.1. Ejemplo de WFQ
C.2. Ejemplo de PRIO en cisco
C.3. Ejemplo de CBWFQ/LLQ en cisco
C.4. Ejemplo de CBWFQ sobre IPv6 en cisco
C.5. Ejemplo de PRIO en GNU/Linux
C.6. Ejemplo de HTB/CBQ en GNU/Linux
C.7. Ejemplo de Ring Buffers
C.7.1. Ejemplo de Ring Buffers en Cisco
D. Ejemplos con DiffServ
D.1. Ejemplo DiffServ sobre cisco IPv4
D.2. Ejemplo DiffServ sobre GNU/Linux IPv4
D.3. Ejemplo DiffServ con ToS sobre GNU/Linux IPv6
D.4. Ejemplo DiffServ con DSCP sobre GNU/Linux IPv6
Bibliografía