martes, 19 de noviembre de 2019

QoS es el acrónimo de Quality of Service, o calidad de servicio, que establece diversos mecanismos destinados a asegurarnos la fluidez en el tráfico de la red. Para ello, lo que hace es dar prioridad al tráfico según el tipo de datos que transportan.

FUNCIÓN

La conexión de red, tanto de área local como acceso a Internet es finita, está limitada por la capacidad de la banda ancha que tengas contratada. Este factor de escasez es el que administra QoS, para tratar de que las preferencias del tráfico se adapten a nuestras prioridades. Si tu red va fluida, no va a suponer una gran diferencia si el QoS está configurado o no, pero de notar algún cuello de botella puntual o latencia, en ese momento es cuando se debe plantear su configuración.
Los problemas que pueden aparecer en las redes conmutadas son:
  • · Bajo rendimiento / Baja velocidad.
  • · Pérdidas de paquetes.
  • · Retardos en las entradas de paquetes.
  • · Una alta latencia.
  • · Entrega de paquetes en desorden.
  • · Errores de comunicación.
Para evitar estos problemas se debe hacer uso del QoS, o Calidad del Servicio, una característica que incluyen muchos de los routers del mercado mediante la cual son capaces de priorizar cierto tráfico respecto al demás para garantizar que unas determinadas conexiones siempre van a funcionar sin problemas, con una prioridad por encima de las demás.

Técnicas de QoS

Hay una serie de posibilidades de implementación de QoS para las más variadas necesidades. Entre los proveedores de acceso a Internet, modelos como servicios integrados (IntServ), servicios diferenciados (DiffServ) y MPLS son bastante difundidos. En las empresas, donde no se tiene el control de los puntos intermedios entre el origen y el destino de las conexiones, lo más común es implementar técnicas de QoS en los equipos de borde, que hacen la interfaz de la red local con Internet, sobre todo en firewalls UTM.

Entre las técnicas de QoS más comunes aplicadas en redes corporativas, se destacan:

·      Priorización: en esta técnica el tráfico se clasifica y recibe prioridades diferentes según el tipo, origen o destino. En situaciones de congestión, los paquetes con mayor prioridad se envían en detrimento de otros.
·       Reserva de recursos: permite dividir los recursos de la red entre tráficos de diferentes tipos, orígenes o destinos, definiendo límites y garantía de banda.
Es importante destacar que la priorización y la reserva de recursos pueden ser aplicadas separadamente o en conjunto, de acuerdo con las necesidades de la red. Sin embargo, deben respetar una premisa: los controles siempre se aplican sobre el tráfico de salida del equipo. Esto se debe a que sólo después de procesar los paquetes es posible clasificarlos y definir una acción: seguir con su reenvío predeterminado, retrasar su entrega (afilándolo), o descartarlo, de acuerdo con las reglas de QoS previamente establecidas. En cuanto al tráfico entrante, no tenemos control de los paquetes enviados, restando en ese caso, aceptarlo o rechazarlo.

QoS en firewalls UTM

No existe estandarización en lo que se refiere a la implementación y nomenclatura de QoS en firewalls UTM. Algunos proveedores abstraen los conceptos técnicos y facilitan bastante la implementación, otros exigen un grado de conocimiento mayor del usuario, poniendo disponible una infinidad de opciones de configuración. Algunos términos comúnmente utilizados para referirse a configuraciones de calidad de servicio, además de QoS, son: traffic shaping, control de banda, traffic policing, queuing, entre otros.

En general, las configuraciones de QoS en los firewalls se realizan en tres etapas:

·     Definición del tipo de control. Se refiere a la técnica de QoS utilizada, pudiendo estar limitado a optar entre priorización y reserva de recursos o posibilitar configuraciones más refinadas, como el tipo de algoritmo de tratamiento de filas (PRIQ, CBQ, HFSC) y mecanismos de control de congestión (RED, ECN).
·       Definición de perfiles. Se refiere a la categorización y parametrización de los flujos de tráfico para que los controles sean aplicados. Los conceptos como filas, canalizaciones y clases se utilizan normalmente con el propósito de categorizar los flujos. Dependiendo del tipo de control elegido, es posible definir las reservas de bandas, garantías, límites y prioridades.
·        Asociación de perfiles con el tráfico. Para que los controles sean aplicados es necesario clasificar el tráfico y luego relacionar a los perfiles. En los firewalls esta asociación puede ser configurada en una sección específica para ese propósito dentro del producto o directamente en reglas de control de acceso, donde ya se tiene información de direcciones de origen y destino, protocolo, puerto y aplicación, facilitando la clasificación del tráfico.
Independientemente de la solución de firewall o técnica que utilice, una política eficiente de QoS es esencial para asegurar la calidad de los accesos a los servicios más importantes para el negocio.

Cómo configurar el QoS de un router

Lo primero que debemos hacer es acceder a la configuración del router e iniciar sesión en él con el usuario que más permisos tenga (admin/admin, por ejemplo).
Una vez dentro debemos localizar el apartado QoS que, en cada firmware, estará en una ruta diferente. En la mayoría de los casos estará dentro de NAT, cerca de las opciones de abrir y cerrar puertos.

Lo primero que deberíamos encontrarnos será la opción de activar o desactivar globalmente el QoS, la red para la que se va a aplicar (para la WAN o para la LAN/WLAN, (según queramos aplicar el control a toda la WAN o solo a la LAN de dicho router) y el ancho de banda que vamos a controlar.

También deberíamos poder ver las opciones que nos permiten priorizar determinados paquetes pequeños (susceptibles a problemas) del protocolo TCP, como ACK, SYN, FIN y RTS.
La configuración del QoS nos debería dejar elegir también los diferentes servicios que queremos priorizar en la red. Por ejemplo, en el caso de DD-WRT podemos dar prioridad a servicios como YouTube, Xbox Live, o WhatsApp (entre otros muchos, incluidos juegos online como el WoW) de forma automática. 

Además, también deberíamos poder priorizar por interfaz, por redes e incluso por direcciones de manera que cada ordenador de la red tenga, por ejemplo, una velocidad de bajada y subida máximas, una prioridad de paquetes sobre todo lo demás e incluso prioridad sobre determinados servicios.

Además, también nos va a permitir incluso configurar unos límites de velocidad por defecto para todos los usuarios de manera que las reglas se apliquen a la inversa, es decir, que todos los usuarios tengan la velocidad limitada SALVO los que nosotros especifiquemos en los apartados anteriores.
Recordamos que esto no suele funcionar en la mayoría de los routers, especialmente en los de gama baja o los que proporcionan las propias compañías. Si queremos hacer un uso eficaz del QoS lo mejor es optar por un router de gama alta y, si es con un firmware libre como DD-WRT, mucho mejor. 


miércoles, 23 de octubre de 2019

El Protocolo Simple de Administración de Red o SNMP (Simple Network Management Protocol) por sus siglas en inglés, es un estándar de administración de redes basado en el conjunto de protocolos TCP/IP, que permiten la consulta a los diferentes elementos que constituyen la red. 
Se utiliza para administrar redes basadas en TCP/IP y IPX

Permite a los administradores de red:
  • Supervisar la operación de la red. 
  • Configurar equipos. 
  • Encontrar y resolver fallos. 
  • Analizar prestaciones de los equipos.
  • Acceder a la información de productos de diferentes fabricantes de una misma manera, desarrollando una herramienta común de monitoreo. 


SNMP es un protocolo de capa de aplicación (capa 7 del modelo OSI) que abarca los ámbitos de fallas, rendimiento y acciones. Ofrece además, un esquema para reunir, organizar y comunicar información de administración entre los dispositivos que conforman una red.
Este esquema logra ser común a un gran número de componentes de hardware, soportando:
·        Diversidad de dispositivos: desde dispositivos de red como enrutadores, switches, firewalls o access points hasta dispositivos de usuarios finales como impresoras, escáneres, estaciones o servidores.
·        Diversidad de marcas: la mayoría de las marcas, al presentar un producto, se aseguran de que dicho producto tenga incluido el soporte a SNMP.

Arquitectura SNMP

La arquitectura de SNMP se basa en dos componentes básicos:
·       Agentes SNMP.
·       Administradores SNMP.
En el siguiente diagrama presentamos un esquema básico de esta arquitectura SNMP:



Los agentes SNMP son piezas de software que corren en los elementos a ser administrados. Son los encargados de reunir la data sobre el dispositivo en cuestión. Luego, cuando los administradores SNMP solicitan dicha data a través de queries, el agente hará el envío correspondiente.

Los agentes SNMP también pueden enviar al Administrador SNMP información que no corresponde a un query sino que parte de un evento que ocurre en el dispositivo y que requiere ser notificado. Entonces, se dice que el agente SNMP envía de forma proactiva un TRAP de notificación.

Los Administradores SNMP o gestores SNMP son encontrados como parte de una herramienta de administración o de monitorización y están diseñados para funcionar como consolas donde se centraliza toda la data captada y enviada por los agentes SNMP.

Componentes básicos de SNMP

Una red administrada a través de SNMP consiste de tres componentes claves:
  • Dispositivos administrados.
  • Agentes.
  • Sistemas administradores de red (NMS’s)
Un dispositivo administrado es un nodo de red que contiene un agente SNMP y reside en una red administrada. Estos recogen y almacenan información de administración, la cual es puesta a disposición de los NMS’s usando SNMP. Los dispositivos administrados, a veces llamados elementos de red, pueden ser routers, servidores de acceso, switches, bridges, hubs, computadores o impresoras.

Un agente es un módulo de software de administración de red que reside en un dispositivo administrado. Un agente posee un conocimiento local de información de administración, la cual es traducida a un formato compatible con SNMP.

Un NMS ejecuta aplicaciones que supervisan y controlan a los dispositivos administrados. Los NMS’s proporcionan el volumen de recursos de procesamiento y memoria requeridos para la administración de la red. Uno o más NMS’s deben existir en cualquier red administrada.

Comandos básicos de SNMP

Los dispositivos administrados son supervisados y controlados usando cuatro comandos SNMP básicos: Lectura, escritura, notificación y operaciones transversales.

El comando de lectura es usado por un NMS para supervisar elementos de red. El NMS examina diferentes variables que son mantenidas por los dispositivos administrados.

El comando de escritura es usado por un NMS para controlar elementos de red. El NMS cambia los valores de las variables almacenadas dentro de los dispositivos administrados.

El comando de notificación es usado por los dispositivos administrados para reportar eventos en forma asincrónica a un NMS. Cuando cierto tipo de evento ocurre, un dispositivo administrado envía una notificación al NMS.

Las operaciones transversales son usadas por el NMS para determinar qué variables soporta un dispositivo administrado y para recoger secuencialmente información en tablas de variables, como por ejemplo, una tabla de rutas.



Los agentes y las estaciones de gestión utilizan mensajes de SNMP para comunicarse. Las estaciones de gestión pueden enviar y recibir información. Los agentes pueden responder a las peticiones y enviar mensajes no solicitados en forma de captura. Las estaciones de gestión y los agentes utilizan las funciones siguientes:

    GetRequest

A través de este mensaje el NMS solicita al agente retornar el valor de un objeto de interés mediante su nombre. En respuesta el agente envía una respuesta indicando el éxito o fracaso del requerimiento. Si el requerimiento fue adecuado, el mensaje resultante también contendrá el valor del objeto solicitado. Este mensaje puede ser usado para recoger un valor de un objeto, o varios valores de varios objetos, a través del uso de listas.

    GetNextRequest

Este mensaje es usado para recorrer una tabla de objetos. Una vez que se ha usado un mensaje GetRequest para recoger el valor de un objeto, puede ser utilizado el mensaje GetNextRequest para repetir la operación con el siguiente objeto de la tabla. Siempre el resultado de la operación anterior será utilizado para la nueva consulta. De esta forma un NMS puede recorrer una tabla de largo variable hasta que haya extraído toda la información para cada fila existente.

    SetRequest

Este tipo de mensaje es utilizado por el NMS para solicitar a un agente modificar valores de objetos. Para realizar esta operación el NMS envía al agente una lista de nombres de objetos con sus correspondientes valores.

    GetResponse

Este mensaje es usado por el agente para responder un mensaje GetRequest, GetNextRequest, o SetRequest.

    Trap

Un trap es generado por el agente para reportar ciertas condiciones y cambios de estado a un proceso de administración.
SNMP inicialmente soportó un número limitado de traps desde los dispositivos administrados:
  • Cold start: Indica que el agente ha sido inicializado o reinicializado.
  • Warm start: Indica que la configuración del agente ha cambiado.
  • Link down: Indica el cambio en el estado (fuera de servicio) de una interfaz de comunicación.
  • Link up: Indica el cambio en el estado (en servicio) de una interfaz de comunicación.
  • Authentication failure: Indica que el agente ha recibido un requerimiento de un administrador no autorizado.
  • EGP neighbor loss: Indica que en sistemas en que los routers están utilizando el protocolo EGP, un equipo colindante se encuentra fuera de servicio.
Todos los nuevos traps que son incluidos por los vendedores se encuentran clasificados en la categoría enterprise.

    GetBulkRequest

Este mensaje es usado por un NMS que utiliza la versión 2 del protocolo SNMP típicamente cuando es requerida una larga transmisión de datos, tal como la recuperación de largas tablas. En este sentido es similar al mensaje GetNextRequest usado en la versión 1 del protocolo, sin embargo, GetBulkRequest es un mensaje que implica un método mucho más rápido y eficiente, ya que a través de un solo mensaje es posible solicitar valores de múltiples objetos administrados.

    InformRequest

Un NMS que utiliza la versión 2 del protocolo SNMP transmite un mensaje de este tipo a otro NMS con las mismas características, para notificar información sobre objetos administrados.


Referencias

Graciani, M. (Septiembre de 2010). Universidad de Castilla, La Mancha. Obtenido de https://www.dsi.uclm.es/personal/MiguelFGraciani/mikicurri/Docencia/LenguajesInternet0910/web_LI/Teoria/Protocolos%20de%20nivel%20de%20aplicacion/Protocolo%20SNMP.htm.

Oracle. (Junio de 2015). docs.oracle. Obtenido de https://docs.oracle.com/cd/E40701_01/html/E40347/bachcfcb.html#scrolltoc.
Rosa, A. l. (16 de Mayo de 2019). Pandorafms. Obtenido de https://pandorafms.com/blog/es/protocolos-de-administracion-de-redes/.