Evitar la congestin engloba una serie de mecanismos de QoS que sirven
para que no se produzca el fenmeno tail drop, es decir, para evitar en la medida de lo posible que se descarten paquetes. Dichos mecanismos pueden ser RED, WRED y CBWRED. Tail drop El fenmeno tail drop ocurra cuando llegaban nuevos paquetes a una cola llena, la que simplemente los descarta ante la imposibilidad de encolarlos. Tail drop tiene consecuencias nefastas en flujos de datos TCP. Una de ellas es la sincronizacin global de TCP. Cuando Tail drop ocurre, los flujos de datos TCP (asumiendo que hay varios) se detienen y reducen su tamao de ventana simultneamente, a esto se le conoce como slow start. A partir de este proceso la utilizacin de la interfaz baja notablemente, est menos congestionada y aumenta el ancho de banda disponible. Siguiendo el comportamiento natural de TCP, los flujos de datos empiezan a aumentar el tamao de ventana. En un perodo de tiempo la interfaz volver a estar congestionada y el ciclo se repetir de nuevo. Tail drop Limitaciones.
El resultado de la sincronizacin global de TCP es pasar de perodos de
congestin a perodos de baja utilizacin de la interfaz, ambos casos son no deseados. Este fenmeno solamente afecta a flujos de trfico TCP y durante este proceso, los flujos de trfico UDP o trfico no IP, si los hubiera, tomaran ventaja y utilizando el ancho de banda disponible despus de un perodo de congestin, dejaran a los flujos TCP quizs fuera de juego. Random Early Detection RED
RED (Random Early Detection) es un mecanismo que previene el tail
drop descartando paquetes de manera aleatoria antes de que ste se produzca. La cantidad de paquetes que son descartados crece a medida que va creciendo el tamao de la cola de la interfaz. RED no diferencia entre flujos y simplemente descarta aleatoriamente; estadsticamente hablando la idea es que descartar ms paquetes provenientes de flujos agresivos. RED slo es efectivo cuando la mayor parte de los flujos de datos son TCP, ya que el resto de los flujos no disminuiran ante un descarte de paquetes por parte de RED. Como funciona RED
RED determina cundo descartar paquetes basndose en
dos valores, el umbral mnimo y el umbral mximo. Cuando el tamao de la cola es menor que el umbral mnimo no se produce ningn descarte. Si el tamao de la cola es superior al umbral mnimo e inferior al umbral mximo, se produce un descarte aleatorio de paquetes. Si el tamao de la cola es superior al umbral mximo, se descartan todos los paquetes. El descarte aleatorio de paquetes que se produce entre el umbral mnimo y mximo es calculado en base a un valor llamado denominador de probabilidad de marca (MPD) y se descartarn 1 de cada cierta cantidad de MDP. Por ejemplo, si el valor del MPD se establece en 10 y el tamao de la cola tiene establecido un umbral mnimo y mximo, RED descartar 1 de cada 10 paquetes. Weighted Random Early Detection WRED WRED (Weighted Random Early Detection) funciona de manera similar a RED, pero con la capacidad aadida de poder decidir qu trfico descartar en caso de que fuera necesario. Con WRED es posible configurar diferentes perfiles (umbral mnimo, mximo y MPD) para dar ms prioridad a unos flujos de trfico que a otros. La prioridad se basa en los valores IP Precedence o DSCP. WRED considera el trfico RSVP sensitivo a los descartes, de manera que el trfico que no sea RSVP es descartado primero. WRED no debe aplicarse a colas de trfico VoIP, ya que dicho trfico es extremadamente sensitivo a los descartes de paquetes y dara lugar a conversaciones entrecortadas, adems de tratarse de trfico UDP. Class Based Wighted Random Early Detection CB-WRED CBWRED (Class Based Wighted Random Early Detection) es el resultado de aplicar WRED a las clases de CBWFQ. Para habilitar CBWRED en una interfaz se utiliza el comando randomdetect. CBWRED no puede ser configurado en una interfaz simultneamente con CQ, PQ o WFQ. CBWRED se configura a travs del comando random-detect en cada una de las clases del policy-map. Al aplicar WRED a cada una de las colas se modifica el comportamiento por defecto tail drop. Notificacin explcita de congestin ECN
Notificacin explcita de congestin es una extensin del Protocolo de Internet y en
el Protocolo de control de transmisin y se define en RFC 3168. ECN permite un extremo a otro la notificacin de congestin de la red sin dejar caer los paquetes. ECN es una funcin opcional que slo se utiliza cuando ambos extremos se apoyan y estn dispuestos a utilizarlo. Convencionalmente, las redes TCP/IP se congestionan y dejan caer los paquetes. Cuando ECN se negocia con xito, un enrutador ECN puede poner una marca en la cabecera IP en lugar de dejar caer un paquete con el fin de indicar la congestin inminente. El receptor del paquete se hace eco de la indicacin de congestin al remitente, lo que reduce su velocidad de transmisin como si se detecta un paquete descartado.