Curso Selectivo Perfil Seguridad Calidad de Servicio TEMA 6 Calidad de Servicio en Redes VPN ♦ Introducción ♦ Conceptos previos ♦ Mecanismos específicas ♦ La compresión de datos ♦ Herramientas ♦ Flujos concurrentes DMVPN ♦ El Modular QoS CLI de Cisco ♦ Creación de políticas QoS con CLI ♦ Creación de políticas anidadas ♦ Criterios de clasificación ♦ Ejemplos de diseño Introducción ♦ Control de ancho de banda – ‘Policers’ • • • • Bajo consumo de memoria Modelado de tráfico en diente de sierra Permite medir velocidad y marcar tráfico Cuando se usa como modelador de tráfico, produce pérdida de paquetes – Token-Bucket • Medición de velocidad • Eliminación de paquetes – ‘Shapers’ • Mayor consumo de recursos • Modelado de tráfico lineal • No elimina paquetes Mecanismos específicos ♦ ♦ Cuando las necesidades de calidad de servicio son muy críticas, especialmente para tráfico isócrono, es necesario recurrir a mecanismos de reserva estricta. RSVP – Resource Reservation Protocol • ♦ Reserva recursos en la red para flujos de datos unidireccionales LFI – – Fragmentación a nivel de enlace. Diseñado especialmente para enlaces serie con mPPP Compresión de datos ♦ Definición: – ♦ Características: – – – ♦ La compresión de datos reduce el tamaño de las tramas sobre un enlace. De este modo se reduce el tiempo necesario para transmitir dicha trama. Utiliza un esquema de compresión a ambos lados del enlace, que permite eliminar caracteres de datos en la parte del emisor y reponerlos en el receptor Produce enlaces de velocidad variable Consumo de recursos Las técnicas utilizadas estarán basadas en el uso de diccionarios Tipos: – De cabeceras – Stacker – Predictor – • • IP/UDP cRTP 40:4 TCP Van Jacobson 40:3 • Basado en el algoritmo Lempel-Ziv. Utiliza un diccionario codificado que sustituye secuencias repetidas de caracteres • • • Intenta predecir la próxima secuencia de caracteres en la corriente de datos utilizando un índice para localizar la secuencia en el diccionario de compresión. Mayor consumo de memoria y menor consumo de CPU. El más rápido. MPPC • • • Funciona solo sobre PPP Basado en el algoritmo Lempel-Ziv La longitud máxima de un datagrama MPPC es similar al MTU de la interfaz PPP, con la condición de no superar los 8192 bytes, puesto que ese es el tamañoi del buffer histórico Compresión de datos ♦ Interfaces soportados – FRF.9, para Frame Relay – LAPB (Link Access Procedure Balanced) – HDLC (High-Level Data Link Control) – X.25 – PPP (Point-to-Point Protocol) con LZS, Predictor, y MPPC (Microsoft Point-to-Point Compression) – ISAKMP ♦ La compresión no siempre puede ser idónea, pudiendo verse afectada por: – La falta de estándares. Ambos extremos deben operar con el mismo algoritmo – Tipos de datos • Algoritmos similares puede producir ratios de compresión diferentes. Ciertos tipos de datos pueden ser menos comprimibles que otros, pudiéndose alcanzar ratios de 6:1, aunque los promedios por regla general suelen estar en 2-3:1 – Datos ya comprimidos – Capacidad del procesador Compresión de datos ♦ Compresión de datos encriptados – Tradicionalmente, la compresión de datos siempre ocurre a nivel 2 y la encriptación a nivel3 – Los datos encriptados no pueden ser comprimidos, debido a que por definición no producen patrones repetitivos – LZS enviará los datos encriptados sin comprimir, ya que el algoritmo aumentaría el volumen de los datos – La solución a este problema es comprimir a nivel 3 mediante un protocolo conocido com IPComp, antes del proceso de cifrado. – IPComp se encuentra definido en la RFC 2393, y se negocia en la fase ISAKMP de IPsec. Aunque puede ser negociado, se utiliza normalmente el algoritmo de compresión LZS Herramientas ♦ Nistnet – – Es un software de emulación de red, que funciona sobre plataforma Linux. Permite reproducir de forma controlada situaciones reales de comportamientos de red con el objetivo de poder evaluar aplicaciones IP sensibles a determinados parámetros, como: Retardos o latencias Ancho de banda Pérdidas de paquetes Herramientas NistNet Software de libre distribución: http://snad.ncsl.nist.gov/itg/nistnet/ Utilizado para la elaboración del modelo QoS QUASIMODO (1999) Linux + NistNet WAN Servidor (iperf,ttcp) LAN 1 – – – LAN 2 ♦ Servidor (iperf,ttcp) Flujos Concurrentes en DMVPN ♦ Dos tipos de tráfico: – IPSEC • GRE • Aplicaciones corporativas • Correo corporativo 10.1.0.0/16 Ethernet0/1 R1 – NO IPSEC ADSL • Navegación • Servicios Internet Internet ADSL ADSL R3 R5 10.2.0.0/16 10.3.0.0/16 ADSL Serv. Correo Local R4 10.3.0.0/16 Mecanismos de clasificación en VPN ♦ Por campo de precedencia Campo Tos P2 ♦ P1 P0 T2 T1 T0 CU1 CU0 Por campo DSCP Campo DSCP o DiffServ DS5 Vers. IHL TOS Protocolo Dirección Origen DS2 DS1 DS0 CU1 CU0 Herencia de los bits QoS en las cabeceras de túnel GRE e IPSEC Identificación TOS DS3 Longitud Total ‘Flag’ ‘Offset’ Suma de control Dirección Destino Vers. IHL GRE/IPSEC TOS Identificación TOS Protocolo Dirección Origen Longitud Total ‘Flag’ ‘Offset’ Suma de control Dirección Destino Datos ♦ DS4 Mecanismos de clasificación en VPN ♦ Qos pre-classify El encaminador crea una copia de la cabecera interior, y ejecuta su política QoS basada en los campos de dicha cabecera. Sin esta caracterísitica, el dispositivo de clasificación de paquetes solo puede ver un único flujo encriptado, puesto que los paquetes que atraviesan el mismo túnel tienen las mismas cabeceras y reciben el mismo tratamiento en el evento de congestión – Si se desea clasificar paquetes conforme a la cabecera interior, se debe aplicar la política sobre la interfaz Tunel, sin el comando qos pre-classify – Si se desea clasificar paquetes conforme a la cabecera externa, se debe aplicar la política sobre la interfaz física sin el comando qos pre-classify – Si se desea una clasificación basada en la cabecera interna, y luego aplicarla sobre la interfaz física dado que puede ser un punto de congestión, es necesario habilitar el comando qos pre-classify El ‘Modular Qos CLI de Cisco’ ♦ El ‘Modular QoS CLI’ permite al usuario la especificación de clases de tráfico independientemente de las políticas QoS utilizadas ♦ Para su configuración se utiliza una interfaz en modo comando (CLI y command line interface) ♦ Para su implementación es necesario realizar tres pasos: – Definir una clase de tráfico, mediante el comando class-map – Crear una política de servicio asociando la clase definida, a una o varias políticas QoS, mediante el comando policy-map. – Enlazar la política de servicio a la interfaz correspondiente mediante el comando service-policy Modular Qos CLI, class-map ♦ class-map – El comando class-map, se utiliza para definir una clase de tráfico. Dicha clase debe contener tres elementos: • Un nombre • Una serie de comandos match • Una instrucción que indique cómo evaluar dichos comandos – Ejemplos: class-map match-any hack match protocol http url "*/cmd.exe*" match protocol http url "*winnt/system*" match protocol http url "*WINNT/*“ class-map match-all Masivo match access-group 119 class-map match-all Congestion match precedence 5 Modular Qos CLI, policy-map ♦ ♦ ♦ ♦ policy-map El comando policy-map se utiliza para asociar una clase de tráfico, definida mediante el comando class-map, con una o más políticas QoS. El resultado de esta asociación se denomina ‘política de servicio’. Una política de servicio debe contener tres elementos: – – – Un nombre Una o varias clases de servicio Políticas QoS Ejemplos: policy-map CONGESTION class class-default police cir 1750000 conform-action transmit exceed-action set-prec-transmit 5 violate-action set-prec-transmit 5 policy-map nivel class AppGtt priority percent 50 22000 class Interactivo bandwidth percent 17 class Masivo bandwidth percent 7 class class-default bandwidth percent 1 – – El comando priority permite establecer una reserva estricta de caudal (tráfico isócrono) El comando bandwith establece reservas no estrictas, permitiendo un mejor uso del canal para tráfico de datos no isócrono Modular Qos CLI, service-policy ♦ ♦ ♦ ♦ ♦ service-policy El comando service-policy se utiliza para aplicar la política de servicio a la interfaz. Los cálculos de ratios y anchos de banda se realizan conforme a la capacidad de la interfaz. La suma de reservas de caudal mediante los camandos priority y bandwith no pueden superar el 75% de la capacidad de la interfaz. Ejemplos: interface Ethernet0/0 … service-policy input CONGESTION service-policy output GLOBAL0 … interface e1/1 … service-policy output poliUA1 … interface FastEthernet0 ... service-policy input MARK service-policy output GLOBAL1 ... ! Modular QoS CLI, políticas anidadas ♦ Políticas anidadas – Uso del comando service-police Router(config)# policy-map child Router(config-pmap)# class voice Router(config-pmap-c)# priority 50 Router(config)# policy-map parent Router(config-pmap)# class class-default Router(config-pmap-c)# shape average 10000000 Router(config-pmap-c)# service-policy child – Ejemplo con ‘policer’: Modular Qos CLI, ejemplos Control de congestión remota para tráfico ascendente: policy-map nivel class AppUA priority percent 50 22000 class Interactivo bandwidth percent 17 class Masivo bandwidth percent 7 class class-default bandwidth percent 1 Ethernet0/1 Service-policy output GLOBAL1 re m ot a R1 sti co ng e mo ta Co nt ro ld e re es tió n e on g ol d nt r ld ec Co ota rem tión s ge con ón Frame-Relay 8Mbps tro policy-map GLOBAL1 class Avila shape average 128000 service-policy nivel class Ferrol 10.2.0.0/16 shape average 128000 service-policy nivel class Pobla shape average 128000 service-policy nivel class slowboy police cir 48000 bc 5250 be 10500 conform-action transmit exceed-action drop 10.1.0.0/16 Co n ♦ Avila R3 Pobla R5 10.3.0.0/16 Ferrol Serv. Correo Local R4 10.3.0.0/16 Rate-Limit ♦ ♦ ♦ Los ‘rate-limit’ de Cisco permiten implementar políticas basadas en ‘policers’. Su aparición en IOS es anterior a MQC y se utilizan en aquellos interfaces que aún no soportan MQC, o en enrutadores con recursos muy limitados. Ejemplo: interface Tunnel0 ... rate-limit output 64000 1875 3750 conform-action transmit exceed-action continue rate-limit output access-group 115 8000 1875 3750 conform-action transmit exceed-action transmit rate-limit output access-group 109 8000 1875 3750 conform-action transmit exceed-action transmit rate-limit output 24000 1875 3750 conform-action transmit exceed-action drop ... tunnel source ATM0.1 tunnel mode gre multipoint tunnel key 12213 tunnel tos 2 tunnel protection ipsec profile VpnUA ! interface ATM0.1 point-to-point ip nat outside ... rate-limit output 64000 1875 3750 conform-action transmit exceed-action continue rate-limit output access-group 114 8000 1875 3750 conform-action transmit exceed-action transmit rate-limit output 48000 1875 3750 conform-action transmit exceed-action drop ! access-list 109 remark Control Remoto QoS access-list 109 dynamic QoSUpOff permit ip any any access-list 114 remark para distinguir el trafico que proviene del tunel (tunnel tos 2) access-list 114 permit ip any any tos min-monetary-cost access-list access-list access-list access-list access-list 115 115 115 115 115 dynamic Up3 permit ip any any permit tcp 10.0.0.0 0.255.255.255 10.1.1.0 0.0.0.255 range 7020 7030 permit tcp 10.1.1.0 0.0.0.255 range 7020 7030 10.0.0.0 0.255.255.255 permit tcp host 10.1.1.14 10.0.0.56 0.255.255.7 eq cmd permit tcp 10.0.0.56 0.255.255.7 eq cmd host 10.1.1.14 W0 100 Mbps LINK FDX 100 Mbps LINK FDX W1 W0 100 Mbps LINK FDX 100 Mbps LINK W0 100 Mbps LINK FDX 10/100 ETHERNET 0/0 CONSOLE AUX nivel class AppUA priority 50% 22000 class Interactivo bandw 17% class Masivo bandw 7% class default bandw 1% Cisco 2620 2000 Kbps W1 CONGESTION class default policer 1500000 set prec 5 2052 class Avila shape 128000 sp nivel 2060 class Zaragoza shape 128000 sp nivel 2061 class Logro shape 128000 sp nivel 2058 class Ferrol shape 128000 sp nivel ... class default shape 128000 sp nivel AUX 51 2K 12 8 ISP nivel class AppUA priority 50% 22000 class Interactivo bandw 17% class Masivo bandw 7% class default bandw 1% GLOBAL0 pre 5 class Congestion shape 1500000 nbar class hack drop 2054 class slowboy police 48000 eth0 rQos W1 W0 100 Mbps LINK 10/100 ETHERNET 0/0 FDX CONSOLE AUX Cisco 2620 GLOBAL1 prec 5 class Congestion shap 1500000 nbar class hack drop 2064 class slowboy police 48000 CONSOLE Internet 2000 Kbps Ejemplo con control QoS local y remoto FDX 10/100 ETHERNET 0/0 bp s Kb AUX s Kbp CONSOLE 512 bps K 128 10/100 ETHERNET 0/0 ps 10/100 ETHERNE T 0/1 10/100 ETHERNE T 0/1 Cisco 2651 Cisco 2651 W1 2052 class Avila shape 256 sp nivel 2060 class Zaragoza shape 256 sp nivel 2061 class Logro shape 256 sp nivel 2058 class Ferrol shape 256 sp nivel ... class default shape 550000 sp nivel eth1 CONGESTION class default policer 1500000 set prec 5 Central Referencias ♦ Cisco Modular Quality of Service Command-Line Interface Overview http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/120newft/120limit/120xe/ 120xe5/mqc/mcli.htm#wp1019660 ♦ Modular QoS CLI (MQC) Three-Level Hierarchical Policer http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a00801 10bcd.html ♦ Reference Guide to Implementing Crypto and QoS http://www.cisco.com/warp/public/105/crypto_qos.html ♦ National Institute of Standards and Technology http://snad.ncsl.nist.gov/itg/nistnet/ Curso Selectivo Perfil Seguridad FIN Tema 6