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

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