- Ancho de banda
- Latencia
- Jitter (variación en la latencia)
- Fiabilidad
Se compone de:
- Classification and Marking (Clasificación y marcado)
- Queueing and congestion (Gestión de colas y congestión)
- Shaping and Policing (Forma y política)
CLASSIFICATION AND MARKING
Tenemos 3 modelos:
- Best Effort -> no usa QoS.
- Intergrated Services (IntServ) -> usa un protocolo de señalización (RSVP) para decirles a los routers del camino del tráfico que va a necesitar ancho de banda en un flujo concreto. Tiene poco escalabilidad. Los routers del camno aplican las siguientes acciones:
- Admision Control
- Classification
- Policing
- Queueing and Scheduling
- Differentiated Services (DiffServ) -> los dispositivos reconocen las clases de tráfico y aplica diferentes niveles de QoS.
Entramos más en detalle porque es el más usado actualmente.
El tráfico que entra se identifica (interface de entrada, QoS, aplicación, origen y destino), se clasifica y se agrupa en clases. Esto se hace en el equipo frontera de la red. Esta clasificación se le suele llamar "packet marking" y lo que hace es meter un valor (DSCP, IP Precedence, Qos de capa 2) en el paquete. De esta manera le decimos cómo debe ser tratado en la red una vez ha entrado en nuestro equipo frontera. A este proceso se le llama Per-Hop Behavior (PHB)
La clasificación y marcado deben hacerse lo más cerca de la fuente de origen.
Para el marcado tenemos las siguientes opciones:
- Capa 3 - Usan el "ToS byte"
- DSCP -> 6 bits
- IP Precedence -> 3 bits
- Capa 2 - Depende de la encapsulación
- Frame Relay DE bit -> 1 bit
- MPLS EXP bits -> 3 bits
- 802.1q/ISL CoS bits -> 3 bits
DSCP
El comportamineto (PHB) que podemos configurar puede ser.
- Default -> Aplica un modelo Best Effort. El valor es 0 (000000).
- Expedited Forwarding (EF) -> Es la mejor prioridad. El valor de DCSP en binario es 46 (101110)
- Assured Forwarding (AF) -> Podemos configurar 4 clases y 3 preferencias de descarte. Su formato es:
- x es un valor entre 1 y 4. El más alto gana.
- y es un valor entre 1 y 3. El má alto tiene más posibilidades de descarte del paquete
De esta manera, la mejor prioridad que podemos configurar es AF41, la segunda sería AF42 y así sucesivamente.
- Class Selector (CS) -> compatible con los valores de IP Precedence. Usa el campo "Precedence" del ToS bytes. Tiene 7 clases. Su formato es:
Tabla de compatibilidad de valores |
QUEUEING AND CONGESTION
Queueing (encolamiento) va a ocurrir siempre que un equipo tenga que retardar un paquete porque la interface está al 100%. Aquí es cuando nosotros definimos que hacer en caso de congestión (descartar, darle más/menos prioridad, etc). Las técnicas que podemos aplicar son:
- FIFO -> First In - First Out. El primer paquete que entra en la cola es el primero que sale. Lo único configurable es el tamaño de la cola.
- Fair Queueing -> comparte/balancea por igual el ancho de banda entre los diferentes flujos que se mandan por la interface. Este flujo se basa en las direcciones ip y puertos de origen y destino.
- Weighted Fair Queueing (WFQ) -> el ancho de banda asignado a cada flujo se basa en un marcado (DSCP/IP Precedence)
- Class Based Weighted Fair Queueing (CBWFQ) -> igual que el anterior pero ahora la clase y el marcado se asignan manualmente. Se usa para garantzar ancho de banda a los tipo de tráfico. Se usan el class-map y el route-map ara configurarlo.
- Low Latency Queueing (LLQ) - cambia el orden de los paquetes para salir por le interface. Se usa para asignar poca latencia a un tráfico.
- Random Early Detection & WRED - llamado Congestion Avoidance. Lo que haces descarta paquetes aleatoriamente antes de que la cola se llene. Cuanto más alta es la prioridad, menos posibilidades de descartar el paquete. Cuando el paquete es descartado, el emisor no recibirá el ACK, por lo que el sistema de control de congestión de TCP (Slow Start) hará su trabajo, es decir, reducirá la ventana. También evita el Globla TCP Synchronization, que sucede cuando múltiples flujos no reciben el ACK y sus procesos de Slow Start se sincronizan haciendo un uso ineficiente de la red.
- Shaped & Shared Round Robin - para switches de capa 2
SHAPING AND POLICING
Se usa para forzar que haya congestión. El objetivo es disminuir el ratio de paquetes que se envían o que se reciben. Por lo tanto tenemos que configurar tanto en entrada como en salida.
Traffic Shaping se usa para dar un ratio espećifico a un flujo. Cuando supera ese ratio el equipo encola y retarda el envío. Solo se puede configurar para la salida del tráfico (outbound)
Traffic Policing marca los paquetes que superan el límite que hemos asignado. Esta marca puede ser para descartar el paquete (típico en ISP) o cambiar el marcado de QoS. No encola el tráfico que supera el límite. Puede ser aplicado tanto en entrada como en salida.
Shaping implica tener un buffer de memoria ya queq retiene el tráfico. Policing no ncesita de memoria.
MQC (Modular Quality of Service Command Line iNTERFACE)
Esto es simplemente la nueva sintaxis para implementar QoS que nos permite múltiples métodos de QoS por interface y dirección.
A partir de la IOS 12.4(20)T CBWFQ se sustituye por HQF (Hierarchical Queueing Framework) con prácticamente las mismas funcionalidades.
Para implementar Qos tenemos 3 pasos:
- Clases de tráfico -> definimos el criterio basándonos en direcciones ip, puertos o inclus a nivel de aplicación (NBAR - Network Base Application Recognition).
- class-map X
- match X - ip, access-list, DSCP, mac, NBAR, etc. Podemos configurar varios en una misma clase
- Política de tráfico -> definimos las acciones a tomar.
- policy-map X
- Aplicación de política -> aplicamos la política a una interface (in/out).
- service-policy input/output X
Documento de Cisco sobre Clasificación y Marcado
Documento de Cisco sobre QoS
No hay comentarios:
Publicar un comentario