QoS aplicado a VoIP FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN LICENCIATURA EN REDES Y SISTEMAS OPERATIVOS
Materia QoS & Multicasting Integrantes Carlos Bustamante Paúl Granja Ángel Lacerna C
Prof. Ing. Nestor Arréaga
¿Por qué implementamos QoS a VoIP? Muchas veces nos encontramos con problemas de sonido y ecos entre terminales VoIP. Se habla mucho de los problemas provenientes de convertir la comunicación analógica en IP, pero en este caso nos referimos a la comunicación IP-IP. Es muy importante disponer de una red planificada al efecto, si se puede separar la voz de los datos, mejor. Unos switches gestionables que prioricen por tipo de tráfico sería estupendo. Pero la mayoría de los problemas vienen cuando la comunicación se realiza a través de Internet con usuarios nómadas u otras sedes. Con QoS podemos priorizar el tráfico de VoIP sobre el resto de servicios IP, incluso reservarle un ancho de banda exclusivo.
Elementos básicos de QoS El avance progresivo de las redes convergentes ha hecho que nuestras redes de datos brinden soporte de conectividad a tráfico con requerimientos de performance muy diferentes: VoIP, videoconferencias, navegación web, transacciones sobre bases de datos, sistemas de soporte de la operación de la empresa, etc. Cada uno de estos tipos de tráfico tiene requerimientos diferentes de ancho de banda, condiciones diferentes de delay, pérdida de paquetes, etc.
Para la implementación QoS, Cisco IOS brinda 4 posibilidades diferentes: Configuración por CLI. Permite configurar manualmente interfaz por interfaz las opciones de QoS. Es un método poco escalable. Configuración por MQC. Permite una configuración modular de QoS a partir de la definición de clases y políticas. Es la opción para la configuración detallada de QoS en dispositivos Cisco IOS en la actualidad. AutoQoS VoIP. Permite de modo simple y rápido configurar requerimientos de QoS en redes que implementan VoIP. AutoQoS Enterprise. Implementación que en base a la operación de NBAR detecta hasta 10 tipos diferentes de tráfico que atraviesan enlaces WAN. Disponible a partir de Cisco IOS 12.3(7)T.
QoS Aplicado a VoIP
Pag 1
¿Qué es AutoQos VoIP? AutoQoS entrega una nueva función en el software Cisco IOS y en el software de sistema operativo del Cisco Catalyst (Catalyst OS), que simplifica la implementación de IP QoS en redes de área local y amplia (LANs y WANs). Con AutoQoS, Cisco automatiza la infraestructura IP para implementar comunicaciones IP y de Voz sobre IP (VoIP) desde el wiring closet, a través de backbones IP grandes empresariales, y para servicios administrados de proveedores de servicio. Las empresas pequeñas y medianas se benefician de la habilidad de implementar más fácilmente IP QoS en sus redes, para tecnología IP, y reducir los costos operativos. Este nivel de automatización también permite a compañías, que probablemente no tienen el personal y los recursos necesarios, implementar QoS, y ayuda a los proveedores de servicio a permitir QoS en cientos de miles de dispositivos de los clientes como parte de sus ofertas de servicios administrados, y hacerlo de una manera más fácil. Con esta funcionalidad, los despliegues QoS pueden ser más rápidos y hasta tres veces menos costosos que antes. Ahora, con AutoQoS, Cisco entrega una solución innovadora que puede entregar un conjunto consistente de herramientas automáticas de QoS para routing y switching a través de plataformas múltiples para servicios IP de extremo a extremo. Diseñar e implementar QoS sobre LANs y WANs múltiples es un esfuerzo complejo y de labor intensa. Cisco Auto QoS simplifica y automatiza los despliegues IP QoS y permite a las empresas pequeñas y medianas y a las grandes compañías, implementar y administrar servicios avanzados como VoIP. El AutoQoS junto con Cisco Works QoS Policy Manager, ofrece nuevas capacidades para simplificar despliegues de VoIP. AutoQoS automatiza elementos críticos del despliegue de QoS como clasificar aplicaciones, generar políticas, configuraciones, monitoreo y reportes, y consistencia. También incrementa la disponibilidad de la red al reducir errores de operadores y de configuración.
Revisemos primero lo básico QoS ofrece entre otros, estos beneficios: Prioriza el tráfico que es sensible al delay; por ejemplo, para asegurarnos de que el tráfico de voz no sea afectado por un delay excesivo se le da prioridad al momento de reenviarlo. Prioriza tráfico de modo tal que las aplicaciones no-críticas para la operación de la empresa no ralenticen o entorpezcan el tráfico que corresponde a aplicaciones críticas para el negocio de la empresa. Prioriza tráfico para asegurar que tráfico indeseable en la red no sobrecargue el uso de ancho de banda. Preservar el ancho de banda dilatando el reenvío de información no crítica para la empresa.
QoS Aplicado a VoIP
Pag 2
En dispositivos Cisco IOS se puede configurar QoS de diferentes modos. Las 4 opciones principales son: Configurar QoS manualmente creando listas de acceso para identificar tráfico que luego es controlado con comandos específicos de QoS. Utilizar el QoS Wizard de SDM (Security Device Manager) de Cisco para crear políticas QoS predefinidas que pueden ser editadas más tarde. Utilizar AutoQoS para crear políticas basadas en el flujo de tráfico en tiempo real a través del router o switch. Utilizar AutoQos para crear políticas predefinidas para el flujo de tráfico de VoIP a través de los dispositivos Cisco IOS.
Los beneficios de AutoQoS AutoQoS se encuentra disponible en los routers Cisco IOS desde la serie 2600 hasta la serie 7200 y también en la mayoría de los routers Cisco que utilizan versiones de IOS 12.2(15)T y posteriores. AutoQoS ofrece los siguientes beneficios: No requiere una comprensión avanzada de QoS del mismo modo que si se desea configurar desde la línea de comandos. Se pueden modificar las políticas de QoS y reutilizarlas, del mismo modo que si se tratara de un template. Se ahorra mucho tiempo de configuración. Antes de ejecutar los comandos AutoQoS, se debe habilitar CEF utilizando el comando Router(config)#ip cef Adicionalmente se requiere la configuración de la declaración de ancho de banda en las interfaces ya que AutoQoS utiliza esta información cuando se configuran limitaciones de ancho de banda por protocolo para ser priorizados. Router(config)#interface serial0/0 Router(config-if)#bandwidth 2000000 Si se modifica la configuración de este parámetro una vez que se activó AutoQoS, será necesario reiniciar AutoQoS. También es necesario tener presente no configurar AutoQoS en modo configuración global, sino en las interfaces.
Configuración de AutoQoS Su configuración es muy simple y fácil, lo verdaderamente complicado es comprender qué es lo que se está configurando, modificar la configuración si es necesario, y probar lo hecho para ver si funciona como se esperaba. A modo de ejemplo configuremos AutoQoS para VoIP.
QoS Aplicado a VoIP
Pag 3
AutoQoS para VoIP opera sobre cierto tipo de interfaces. El ejemplo más simple es su activación en un enlace E1 punto a punto entre las interfaces seriales de 2 routers que utilizan este enlace para enviar tráfico de VoIP. Para configurar AutoQoS, la secuencia de comandos en la interfaz que hace de origen del tráfico que deseamos controlar es: Router(config)#interface serial0/0 Router(config-if)#auto qos voip Con ese solo comando, Cisco IOS automáticamente genera una serie de comandos de configuración que se pueden verificar utilizando show running-config: class-map match-any AutoQoS-VoIP-Remark .match ip dscp ef .match ip dscp cs3 .match ip dscp af31 class-map match-any AutoQoS-VoIP-Control-UnTrust .match access-group name AutoQoS-VoIP-Control class-map match-any AutoQoS-VoIP-RTP-UnTrust .match protocol rtp audio .match access-group name AutoQoS-VoIP-RTCP ! policy-map AutoQoS-Policy-UnTrust .class AutoQoS-VoIP-RTP-UnTrust ..priority percent 70 ..set dscp ef .class AutoQoS-VoIP-Control-UnTrust ..bandwidth percent 5 ..set dscp af31 .class AutoQoS-VoIP-Remark ..set dscp default .class class-default ..fair-queue ! interface Serial0/0 .auto qos voip .service-policy output AutoQoS-Policy-UnTrust ! ip access-list extended AutoQoS-VoIP-Control .permit tcp any any eq 1720 .permit tcp any any range 11000 11999 .permit udp any any eq 2427 .permit tcp any any eq 2428 .permit tcp any any range 2000 2002 .permit udp any any eq 1719
QoS Aplicado a VoIP
Pag 4
.permit udp any any eq 5060 ip access-list extended AutoQoS-VoIP-RTCP .permit udp any any range 16384 32767
Algunos elementos básicos para comprender lo que está haciendo: Las listas de acceso definen cierto tipo de tráfico. Los class-maps convierten ese tráfico en clases. El comando identifica el tráfico que debe colocar en cada clase a través de la lista de acceso. El policy-map asigna prioridades a las clases. Ese policy-map está aplicado a la interface, para afectar el tráfico que sale a través de ella. Este mismo procedimiento debe aplicarse en la interfaz del otro extremo del enlace, Es altamente recomendable implementar primero este comando en un laboratorio de prueba, antes de utilizarlo en la red en producción.
PRÁCTICA : Voz sobre IP 1. Introducción: En esta práctica se configuran las funcionalidades básicas de una central con teléfonos IP nativos directamente conectados. El diagrama de la red que se configura como ejemplo es la siguiente
QoS Aplicado a VoIP
Pag 5
En cuanto al material del que se dispone para realizar esta práctica, se utilizará un catalyst de la serie 3500, un router 1760 y tres teléfonos IP, dos de ellos modelo 7940 y el tercero 7905. Se configuran dos redes una de voz (192.168.130.0) y otra de datos (192.168.131.0) Se utilizan los puertos fast-ethernet 0/21, 0/22, 0/23 y 0/24 del catalyst, en los que hay que definir dos VLANs de números 11 y 12. En el router tienen que estar presentes los ficheros correspondientes a los modelos de los teléfonos que se utilizarán. En nuestro caso, comprobar que los siguientes ficheros están cargados en el router: P00403020214.bin para el teléfono 7905 P00303020214.bin para el teléfono 7940
2. Configuración de las VLAN en el catalyst Es imprescindible configurar correctamente el catalyst para que los teléfonos que se conectan a él directamente puedan comunicarse con el router y descargarse los ficheros de configuración. En primer lugar hay que definir dos redes VLAN diferentes para voz y datos Catalyst# vlan database para entrar en el submenú de configuración Catalyst(vlan)# vlan 12 name Red datos damos un número y un nombre a la vlan Catalyst(vlan)# vlan 11 name Red telefonos damos número y nombre a la vlan A continuación incorporamos los puertos del catalyst a las vlan recién creadas: El interfaz que va directamente conectado al router es algo diferente a los demás. Aquí se fija la encapsulación según el protocolo 802.1q1: interface FastEthernet0/24 description Puerto conectado a 1760 (soporta Dot1q) switchport trunk encapsulation dot1q switchport trunk native vlan 12 switchport trunk allowed vlan 1,11,12,1002-1005 switchport mode trunk no ip address duplex full speed 100
Los interfaces que se conectan a los teléfonos directamente interface FastEthernet0/23 description Puerto DOT1Q para telefono IP switchport trunk encapsulation dot1q switchport trunk native vlan 12 switchport mode access switchport voice vlan 11
QoS Aplicado a VoIP
Pag 6
no ip address spanning-tree portfast
Hacer lo mismo con los puertos 0/21 y 0/22.
3. Configuración del router En primer lugar se configuran los parámetros de QoS (calidad de servicio) en el router para aplicar políticas de calidad diferentes a los paquetes de datos que pertenecen al protocolo RTP (real time protocol) que se caracterizan por un código dscp (Differentiated Services Code Point) y empiezan por ef (101110) y los paquetes de control que empiezan por af31 (101110) Una vez definidas los mapas de QoS, se aplican estas calidades a las políticas con diferente parámetro de prioridad (5 y 3) respectivamente. class-map match-all L3-to-L2_VoIP-RTP match ip dscp ef class-map match-all L3-to-L2_VoIP_Cntrl match ip dscp af31 ! ! policy-map output-L3-to-L2 class L3-to-L2_VoIP-RTP set cos 5 class L3-to-L2_VoIP_Cntrl set cos 3
Ahora se aplican las políticas de calidad de servicio a los interfaces y se crean las vlan en el router haciendo una partición lógica del único interfaz ethernet que tiene. interface FastEthernet0/0 description Puerto conectado a Catalyst (VoIP) no ip address no ip mroute-cache load-interval 30 speed 100 full-duplex ! interface FastEthernet0/0.11 description subred de voz nativa 192.168.130.0 encapsulation dot1Q 11 ip address 192.168.130.1 255.255.255.0 service-policy output output-L3-to-L2 ! interface FastEthernet0/0.12 description Subred de datos 192.168.131.0 en red VoIP encapsulation dot1Q 12 ip address 192.168.131.1 255.255.255.0 service-policy output output-L3-to-L2
QoS Aplicado a VoIP
Pag 7
4. Configuración del router como servidor DHCP Para que los teléfonos reciban una IP dinámicamente es necesario que el router sea un servidor DHCP. Para ello se configura lo siguiente. Se reservan unas direcciones que no se asignan ip dhcp excluded-address 192.168.130.1 192.168.130.10 ip dhcp excluded-address 192.168.131.1 192.168.131.10
Se asigna el rango de direcciones IP que se pueden asignar a los teléfonos. La opción 150 permite que los teléfonos descarguen del router su imagen vía tftp ip dhcp pool ip-phones network 192.168.130.0 255.255.255.0 default-router 192.168.130.1 option 150 ip 192.168.130.1
Se asigna el rango de direcciones IP que se pueden asignar a otros dispositivos conectados en la red de datos. ip dhcp pool clientes-datos network 192.168.131.12 255.255.255.0 default-router 192.168.131.1 !
5. Configuración del reloj del router Los teléfonos reciben el día y la hora del router. Es importante asegurar que el reloj del router es correcto y para ello se configura el protocolo NTP indicando la dirección ip en la que el router puede descargarse estos datos. En nuestro caso no se configura porque no tenemos acceso a un servidor NTP. Si se configurara, un ejemplo de configuración sería: Router(config)# clock timezone pst 1 Router(config)# ntp server 172.18.106.15
En nuestro caso sirve con poner en hora el reloj del router buscando los comandos adecuados
6. Configuración básica del ITS (IOS Telephony Service) en el router En primer lugar se cargan los archivos correspondientes a los modelos de los teléfonos del laboratorio, se especifica la dirección IP de la subred de datos para que los teléfonos puedan descargarse su configuración por tftp. También se fija el número de teléfonos posibles (24) y el máximo número de dn (números de directorio) telephony-service
QoS Aplicado a VoIP
Pag 8
load 7960-7940 P00303020214 load 7905 CP79050101SCCP030530B max-ephones 24 max-dn 120 ip source-address 192.168.131.1 port 2000
A continuación se configura el servidor TFTP en el router (asegúrate previamente de que los ficheros que necesitas están cargados en el router) tftp-server flash:P00303020214.bin tftp-server flash:CP79050101SCCP030530B.sbin
Ahora se crean los ficheros de los teléfonos en el call manager a partir de los archivos .bin que se acaban de cargar. Para ello se incluye el siguiente comando: create cnf-files
En tercer lugar se configuran los teléfonos IP en el router. Antes de configurarlos conecta los teléfonos IP a los puertos correspondientes del catalyst. Después con “show ephone” comprueba que los teléfonos han sido reconocidos. Apunta las direcciones IP que les asigna el dhcp ¿son direcciones de la red de datos o de voz? Comprueba la conectividad desde la consola del router. Apunta también las direcciones MAC correspondientes a cada ephone. Ahora ya se pueden configurar los teléfonos. Es necesario tener en cuenta que CISCO distingue teléfonos (ephones) y números de directorio (ephone-dn) Un ejemplo de configuración para los tres teléfonos disponibles en la práctica podría ser (tened en cuenta que los teléfonos 7940 permiten dos números de directorio mientras que el 7905 sólo permite 1) ephone-dn 1 number 1234 name Paco ! ephone-dn 2 number 6543 name Maria ! ephone-dn 11 number 3265 name Pepe ! ephone-dn 20 number 1000 name telefonistas ! ephone-dn 21 number 2000 name servicio tecnico !
QoS Aplicado a VoIP
Pag 9
Ahora se asignan los números de directorio definidos anteriormente a los teléfonos. Importante: El router asigna el número de ephone en el orden en que se conectan los teléfonos. La dirección MAC es única y propia de cada teléfono. En definitiva, hay que asegurarse de qué MAC corresponde a cada ephone a la hora de configurarlo. ephone X (número ephone correspondiente a esta dirección mac: 1, 2 ó 3) mac-address 0011.93CE.F038 button 1:1 2:20 ! ephone Y (número ephone correspondiente a esta dirección mac: 1, 2 ó 3) mac-address 0011.5CD8.A724 button 1:11 (éste teléfono solo permite un número) ! ephone Z (número ephone correspondiente a esta dirección mac: 1, 2 ó 3) mac-address 0011.9271.3EEC button 1:2 2:21 ! !
Una vez configurado es necesario desconectar y volver a conectar los teléfonos para que carguen la nueva configuración o resetear el router.
7. Conferencia a tres Para permitir conferencias entre los tres teléfonos es necesario añadir el comando telephony-service max-conferences 3
QoS Aplicado a VoIP
Pag 10