VoIP com QoS em ambientes Linux/Cisco
Transcrição
VoIP com QoS em ambientes Linux/Cisco
Universidade do Minho SISTEMAS TELEMÁTICOS Ficha de Trabalho no ¯ 1 VoIP com QoS em ambiente Linux/Cisco Ano Lectivo 2005/2006 — LESI / LMCC — 5o ¯ Ano Objectivos Configurar QoS para aplicações VoIP numa rede com routers CISCO e estações de trabalho Linux. Pelo facto das estações de trabalho Linux do Laboratório de comunicações não permitirem a entrada e saı́da de som, é incentivado a realização pelos alunos de parte deste trabalho utilizando os seus próprios Labtops, ligados via acesso sem fios ao resto da rede. Introdução Dado que serviço VoIP é sensı́vel a perdas de pacotes, atrasos e variações no atraso, torna-se necessário que a rede de suporte ao serviço ofereça mecanismos de QoS para tratar os pacotes de voz de forma adequada. Esse tratamento pode passar por um estrangulamento da largura de banda disponı́vel para o restante tráfego de modo a garantir uma fatia de largura de banda suficiente em situações de congestão, ou no tratamento diferenciado do tráfego nó a nó. Configuração VoIP no LabCom Em cada uma das estações de trabalho Linux está instalado o software X-Lite[3], um telefone VoIP baseado no protocolo SIP[5]. No servidor Kepler está instalado o asterisk [4], configurado para funcionar como uma central telefónica VoIP. Na verdade o asterisk é muito mais que uma central PBX 1 , pois pode fazer de gateway para uma rede PSTN 2 recorrendo a hardware especı́fico (não instalado) e ainda funcionar como verdadeiro Call Center, gerindo voice mail, conferências, etc. A activação do asterisk pressupõe que se fez previamente um plano de numeração para todas as extensões. Foram configuradas 15 extensões SIP para ligação a 15 telefones SIP, uma por cada estação de trabalho linux, e 5 para portáteis na rede sem fios. Para facilitar a identificação numeraram-se as extensões com base nos dois últimos números do endereço IP de cada máquina. As extensões SIP começam todas com 2 para se distinguirem das restantes. Assim, um utilizador na máquina pc10, cujo endereço IP é o 192.168.90.20, irá usar uma extensão 29020, enquanto um portátil na rede Wireless que adquira o endereço 192.168.87.1 poderá usar a extensão 28701. Para mais detalhes ver os ficheiros de configuração na directoria /etc/asterisk, em particular o sip.conf e o extensions.conf. 1 2 Private Branch eXchange Public Switched Telephone Network Para poder usar o telefone VoIP é necessário fazer algumas configurações prévias. Em primeiro lugar dos dispositivos de entrada e saı́da de som (que infelizmente não funcionam nos linux do LabCom :-(). De seguida a configuração de rede: Menu - System Settings - Network. Neste painel é necessário configurar o servidor de DNS e eliminar as referências aos servidores externos, préconfigurados. Por fim a configuração do proctocolo de sinalização SIP: Menu - System Settings - SIP Proxy - [Default]. A configuração base necessária é a seguinte: Enabled: Yes Display Name: LabCom Username: 29090 -- usar numero da extensao! Authorization User: 29090 -- usar numero da extensao! Password: 29090 -- usar numero da extensao! Domain/Realm: kepler.labcom.uminho.pt SIP Proxy: kepler.labcom.uminho.pt Para testar a funcionalidade da sua extensão, marque o número um dos seguintes números pré-definidos: 1000, 1111, 500, 600, 1234, etc. Configuração das estações Linux As interfaces de rede dos sistemas linux estão configurados com filas de espera de tamanho 1000 e disciplina pfifo fast, como poderá verificar executando o comando ip link show. Trata-se de uma fila FIFO3 especial, que procura respeitar o campo ToS4 dos pacotes, distribuindo-os por três filas virtuais FIFO, designadas por banda 0, 1 e 2. Enquanto houver pacotes na banda 0, não se processam pacotes da banda 1. Tem funcionamento similar ao PRIO, mas não admite reconfiguração. Ver mais detalhes em [8]. Configuração do router CISCO Os routers CISCO estão configurados para um cenário Best-Effort. Praticamente todas as filas de espera estão configuradas com FIFO e não há marcação de pacotes nem tratamentos diferenciados, como se pode ver rapidamente com um comando show interfaces na linha relativa a Queueing strategy. Procedimentos e Experiências a realizar Passa-se a apresentar o conjunto de procedimentos e experiências a realizar que deverá relatar detalhadamente no seu relatório. 1-VoIP utilizando sinalização SIP • Configure e teste o telefone X-Lite: /usr/local/bin/xtensoftphone 3 4 First In, First Out Type of Service Siga as recomendações dadas na introdução e teste com as extensões pré-configuradas. • Para verificar modo de funcionamento do SIP, obtenha uma captura de tráfego completa com o ethereal: – sudo ethereal (Capture->Start-> ...) – xtensoftphone – Espere que o telefone se registe no servidor SIP e faça uma chamada completa para uma extensão. • Depois da captura e análise de todos os protocolos usados (SIP, SDP, RTP/RTCP, ...) responda no relatório às seguintes questões: – Entre que entidades foram trocadas mensagens SIP? Directamente entre o chamador e o chamado ou via servidor SIP? Usando TCP ou UDP? Mostre a sequência completa num diagrama temporal simplificado. – A chamada de voz passou pelo servidor SIP ou foi estabelcida directamente entre o chamador e o chamado? Justifique. Poderia ser de outra forma? – Qual a codificação de audio usada? Onde é usado o SDP? 2-Configuração do Asterisk • Faça a descarga do software asterisk para a sua estação de trabalho Linux e instale-o. • Estabeleça um canal sip (sip.conf) e um canal H.323[6] (h323.conf) • Defina um plano de numeração prevendo a existência de terminais H.323 e SIP. Para esse efeito deve editar o ficheiro extensions.conf • Instale um softphone H.323 na sua estação de trabalho ou labtop e assegure-se do seu correcto funcionamento na ligação a telefones SIP. • Como se conseguiria ligar o asterisk na sua estação e o que está instalado no Kepler? Indique o procedimento a realizar passo a passo. • Imagine um cenário em que precisava de usar o asterisk numa organização com telefones analógicos, VOIP e uma ligação à Rede Telefónica. Como tinha que configurar o asterisk e os vários canais? 3 - Uma polı́tica de QoS para VoIP Ao ambiente de teste VoIP Best-Effort atrás descrito, pretende-se acrescentar algum suporte de QoS. Em particular pretende-se distinguir todo o tráfego em três categorias em definidas: uma para o tráfego de de voz propriamente dito, outra para o tráfego de sinalização (SIP, neste caso) e outra para o restante tráfego. No contexto do LabCom só faria sentido distinguir adicionalmente o tráfego NFS, por ser determinante para as estações de trabalho Linux, mas não vamos inclui-lo na solução. O que se pretende é que proponha e cooncretize na prática uma polı́tica de QoS com estas linhas gerais. 3.1- Configuração QoS para VoIP no CISCO Os pacotes SIP e os pacote de voz RTP têm requisitos de QoS ligeiramente diferentes. Planeie a aplique uma configuração para cada interface de rede do router-lab de modo a de modo a distinguir o tráfego SIP e o tráfego de VoIP do restante tráfego. Defina uma solução que permita a cada extensão VoIP efectuar uma chamada de voz, mesmo que a rede esteja congestionada. Justifique a sua solução. Verifique o seu funcionamento. 3.2- Configuração QoS para VoIP no Linux Esta secção é um trabalho opcional mas que será considerada na classificação como um indicador do empenho dos alunos, A interface de rede do sistema Linux também poderá estar congestionada acabando por anular os efeitos da polı́tica de QoS aplicada no router e no resto da rede. Se os pacotes não conseguirem sair da máquina a qualidade da ligação de voz estará comprometida logo na origem. Será pois de todo o interesse marcar e dar tratamento adequado aos pacotes de sinalização SIP e de voz logo no próprio interface de rede do sistema Linux. Com base nos conceitos apresentados na aula, reconfigure de forma adequada o interface eth0 da sua estação de trabalho. Use os comandos ip, tc e iptables de forma adequada. Teste e justifique a sua configuração. Bibliografia 1. RFCs - http://www.ietf.org/rfc.html 2. Documentação Routers CISCO - http://www.cisco.com/univercd/ 3. X-Lite Softphone - http://www.xten.com/index.php?menu=download 4. Asterisk - Open Source PBX - http://www.asterisk.org/ 5. SIP - http://www.cs.columbia.edu/sip/ 6. H.323 - http://www.voip-info.org/wiki/view/H.323 7. Cisco QoS Documentation - http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito doc/qos.htm 8. Linux Advanced Routing & Traffic Control HOWTO - http://lartc.org/lartc.html 9. QoS VoIP Wiki - http://www.voip-info.org/wiki-QoS
Documentos relacionados
Dissertacao Mercia Eliane Bittencourt
Diferentemente das aplicações usuais da Internet, as aplicações avançadas de rede que envolvem a transmissão em tempo real de som e imagem, para funcionarem bem, precisam que a rede ofereça ...
Leia mais