segunda-feira, 19 de abril de 2010

Modem 3G Sony Ericsson MD300 USB no Linux

Marcio Barbado Junior
(BDS Labs)



Este é um tutorial prático para instalar no GNU/Linux o modem 3G, modelo MD300, fabricado pela Sony Ericsson para operar em sistemas operacionais proprietários.

Pode-se em certa medida, aproveitar este conteúdo para qualquer combinação entre uma distro e um modem 3G USB, fazendo-se pequenas adaptações nos passos descritos, que são especificamente focados no modem MD300 e em distribuições baseadas em Fedora/Red Hat e Debian.

É possível o utilizar com HSDPA, UMTS, EDGE e GPRS mas o equipamento não oferece suporte para chamadas de voz GSM. Também pode enviar e receber mensagens SMS. Tudo isso é fácil, considerando-se Windows e Mac OS.

Essas situações contudo causam "dores de cabeça" a usuários Linux, e muitos acabam deixando de utilizar o pinguim por não terem seu hardware devidamente reconhecido. Problema recorrente.

O caso é que usuários PJ (ou pessoa jurídica, empresariais) são grandes disseminadores de paradigmas tecnológicos, e o dispositivo da Sony Ericsson representa uma grande barreira à adoção do Linux na medida em que a operadora Claro vem sugerindo a seus clientes "corporativos" a utilização do modem em questão, o que inclusive constitui uma especie de venda casada, já que ao aceitarem a "sugestão", os clientes se vêem obrigados a possuir/adquirir uma licença paga de modo que possam usufruir do equipamento.

A questão toda se resume à constatação de uma estrategia velada, adotada por grandes players do mercado, que acaba por minar a confiabilidade do Linux.

Assim, as presentes linhas objetivam aliviar o incômodo e o desrespeito causado aos usuários do pinguim, e principalmente perseverar na batalha em prol da transparência de códigos E nessa missão, discorrem principalmente sobre udev e wvdial.

1 Introdução



Utilizou-se para redação destas linhas um sistema Fedora 10 de 64 bits, kernel "2.6.27.5". As adaptações para Debian são citadas sempre que preciso, e com pequenas alterações, o roteiro poderá resolver problemas de outras distribuições Linux que estiverem utilizando outros modems 3G USB.

Apesar do que afirmam alguns especialistas, versões de kernel posteriores à "2.6.19" podem encontrar dificuldades para entender um modem 3G USB [1].

No Brasil, o MD300 é utilizado principalmente em sistemas operacionais Windows e nesses, é gerenciado por um software proprietário chamado "Wireless Manager", que se instala automaticamente, "espetando-se" o modem.

Bem, a historia é diferente no Linux. O pinguim exigirá que se escreva uma regra de udev, e que se configure o wvdial para então aceitar e entender o equipamento.

A regra de udev elimina o problema da detecção automática da memória flash presente no equipamento, e ativa o dispositivo /dev/ACM0 ou seja, o udev permitirá que o MD300 seja devidamente reconhecido pelo sistema. O wvdial é um discador dial-up inteligente que será utilizado para fazer o modem funcionar com PPP (daemon pppd) após ser reconhecido.

É dito "inteligente" pois utiliza algoritmos heurísticos para obter a conexão Algumas vezes, tais algoritmos mais atrapalham do que ajudam.
São mostrados com simplicidade e detalhes, todos os passos necessários para suplantar as barreiras impostas pela Sony Ericsson aos usuários Linux. Tais dificuldades serão combatidas, e a rede da Claro será utilizada sem a necessidade de se conhecer o PIN e/ou o PUK do equipamento. Todavia, faz-se preciso o conhecimento de algumas informações elementares da operadora como o APN e o "número" para o qual ligar por exemplo.

1.1- Medidas preliminares


Caso se esteja utilizando o SELinux -- recomenda-se que sim -- coloque-o provisoriamente em modo permissivo até que o modem esteja funcionando corretamente. Isso é feito no arquivo /etc/sysconfig/selinux com a linha:

SELINUX=permissive

Outro ponto a se verificar diz respeito às presenças do kppp, gnome-ppp, wvdial e minicom, ferramentas que poderão ser usadas:

$ rpm -q kppp gnome-ppp wvdial minicom
ou:

$ which kppp gnome-ppp wvdial minicom

Caso não estejam presentes, deve-se ao menos realizar a instalação do wvdial embora os comandos abaixo instalem as três, que é a recomendação deste tutorial:

# yum install kppp gnome-ppp wvdial minicom
ou:

# apt-get -y install kppp gnome-ppp wvdial minicom

Uma medida a se tomar após as instalações diz respeito à permissão de escrita que os usuários devem possuir em:

/etc/ppp/pap-secrets
e:

/etc/ppp/chap-secrets
que são arquivos utilizados pelo wvdial.
O próximo passo é permitir que contas de usuário utilizem o wvdial pois o mesmo só pode ser executado pela conta root. Isso pode ser feito com o sudo, lembrando que o wvdial fica costumeiramente em /usr/bin/wvdial.

2- udev rulez! [2]



Constitui um percalço comum em distribuições Fedora / Red Hat e RHEL, a situação em que o sistema não consegue disponibilizar o modem automaticamente. Isso pode estar relacionado à memória flash contida no dispositivo, que provavelmente estará sendo detectada e montada automaticamente como uma mídia USB genérica no diretório /media/ (ou /mnt/ para distribuições baseadas em Debian).

O problema existindo, irá interferir na correta detecção do MD300. Pode-se detectar essa falha rapidamente se o sistema utilizar um ambiente gráfico, constatando-se o ícone MD300 no Desktop. E nesses casos basta dizer ao sistema operacional para não detectar a memória flash do modem como uma mídia USB.

Todavia, essa correção NÂO deve ser feita através do gerenciador gráfico de dispositivos USB ou editando-se o arquivo /etc/fstab. A questão é resolvida com o udev!

Sucessor do devfs, o versátil udev é um componente escrito em C, que opera dinamicamente sobre o diretório /dev/, local em que cria arquivos de dispositivos. É comum para dispositivos seriais, a utilização de arquivos do tipo tty*, exemplo:

/dev/ttyS3
ou:

/dev/ttyUSB0

O equipamento Sony Ericsson possui várias funções, capazes de ativar dispositivos no diretório /dev/ como, por exemplo:





FUNÇÃODISPOSITIVOEXEMPLO
rede/dev/eth[N]/dev/eth2
memória flash/dev/sdb[N]dev/sdb1
modem/dev/ttyS[N]/dev/ttyS1


A função memória flash, quando detectada, impede o correto uncionamento do MD300 mas o mesmo NÃO pode ser dito sobre a função de rede -- em geral dispositivo /dev/eth2.
Cabe destacar a existência de uma correspondência aproximada entre os padrões para portas seriais em UNIX e MS-DOS.
Enquanto o padrão de Redmond é COMn, com n iniciado em 1 -- or exemplo: COM1 --, o padrão UNIX é ttySn, com n iniciado em 0. No exemplo dado, /dev/ttyS0.
A tabela abaixo apresenta essa correspondência de forma mais detalhada:

















/dev/ttys0 (COM1)porta 0x3f8IRQ 4
/dev/ttys2 (COM3)porta 0x3e8IRQ 4
/dev/ttys3 (COM4)porta 0x2e8IRQ 3


Qual (ou quais) dos ttySn corresponde (ou correspondem) ao MD300?

Pois é: nenhum deles. A regra a ser escrita irá inibir o reconhecimento da memória flash e mostrar que para o MD300, o sistema operacional utiliza /dev/ttyACM0.

Faz-se a regra do udev através da criação de um arquivo de texto com sufixo .rules no diretório /etc/udev/rules.d/:

# vim /etc/udev/rules.d/50-md300modem.rules

Copia-se o conteúdo a seguir neste arquivo. Cuidado com as aspas simples e duplas ao copiar e colar. Confira se elas foram transportadas corretamente depois de colar:

ACTION!="add", GOTO="3G_End"
BUS=="usb", SYSFS{idProduct}=="d0cf", SYSFS{idVendor}=="0fce",
PROGRAM="/bin/sh -c 'echo 3 > /sys/%p/bConfigurationValue'"
LABEL="3G_End"


Os valores de SYSFS{idProduct} e SYSFS{idVendor} devem ser obtidas através do dmesg:

$ dmesg | grep usb

que apresentará em sua saída, tais informações:

usb 3-2: New USB device found, idVendor=0fce, idProduct=d0cf
usb 3-2: Product: Sony Ericsson MD300
usb 3-2: Manufacturer: Sony Ericsson


Criado o arquivo, reinicia-se o sistema operacional.

3- wvdial [3] [4]



Grosso modo, o wvdial (ou Weave Dial) é um discador escrito em C++ por Dave Coombs e Avery Pennarun, e licenciado sob a LGPL, que não é "viral" como a GPL, infelizmente.

O programa, que utiliza o protocolo PPP através do daemon pppd, deve ser utilizado pela conta root a princípio, e automatiza diversas tarefas, tornando desnecessário o conhecimento de PIN e PUK para a conexão.

Utilizado em linha de comando, caso não possua opções, o discador irá ler seu arquivo de configurações globais:

/etc/wvdial.conf


e em seguida, um dos arquivos das contas de usuário, que são:
~/.wvdial.conf

ou:

~/.wvdialrc


eventualmente presentes no diretório home do usuário
Os arquivos de configuração seguem o padrão .ini do Windows. Os nomes das seções estão entre colchetes e seus conteúdos são sequências de linhas no modelo:

variável = valor


Linhas comentadas são iniciadas pelo caractere "ponto e virgula", ou ";". Antes mesmo de se usar o wvdial pela primeira vez, é preciso executar como root o programa wvdialconf, que possivelmente identificará a porta serial do modem:

# wvdialconf /etc/wvdial.conf


Caso a ferramenta tenha êxito, o dispositivo referente ao MD300 será detectado e algumas informações básicas de configuração serão carregadas no arquivo global /etc/wvdial.conf, que em seguida deve ser editado com informações especificas:

# vim /etc/wvdial.conf


Utiliza-se o seguinte conteúdo no arquivo -- algumas linhas já terão sido preenchidas pelo wvdialconf:

[Dialer Defaults]
Modem = /dev/ttyACM0
Modem Type = USB Modem
Baud = 460800
Init = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br"
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99***1#
Dial Command = ATM1L3DT
Username = claro
Password = claro
Stupid Mode = 1
Auto DNS = on
Check DNS = on
Check Def Route = on
Remote Name = *
Carrier Check = on
Auto Reconnect = on
Abort on No Dialtone = on
Dial Attempts = 3
ISDN = 0


Atenção com as aspas.

O exemplo é especifico para o MD300 e para a Claro. Valores à direita de = e algumas variáveis poderão mudar em acordo com o modem e a operadora utilizada. O comando:

$ man wvdial.conf

fornece mais informações sobre o devido preenchimento do arquivo /etc/wvdial.conf, procedimento este que após ser concluído, deve ser seguido de uma reinicialização do sistema operacional com o modem espetado, e então a conexão pode ser gerenciada pelo kppp e/ou pelo gnome-ppp; e/ou diretamente pelo wvdial:

$ sudo wvdial

e para se desconectar, caso tenha usado o wvdial, pressione Ctrl + c.

4- Soluções de problemas



Caso a conexão fique instável, é possível como root, verificar o que ocorre no sistema em tempo real com o tail, utilizando-se a opção -f (de follow) para seguir os últimos registros:

# tail -f /var/log/audit/audit.log

ou:

# tail -f /var/log/messages

Os registros do arquivo /var/log/audit/audit.log serão úteis caso o SELinux esteja ativado.

As seções a seguir cobrem os problemas mais comuns que podem aparecer com os procedimentos aqui descritos.

4.1- Arquivos de configurações do wvdial [4]



Talvez o leitor tenha optado por editar arquivos do usuário, que são o:

~/.wvdial.conf

e/ou o:

~/.wvdialrc

e o wvdial não o(s) esteja utilizando.

Isso se resolve colando todas as configurações supracitadas no arquivo global, chamado /etc/wvdial.conf.

4.2- Conecta mas o web browser não carrega conteúdo



Cabe salientar que em alguns casos a saída que o wvdial apresenta no terminal leva a crer que os servidores de nomes (DNS) foram devidamente obtidos, exemplo:

--> pppd: =
--> primary DNS address 200.169.119.221
--> pppd: =
--> secondary DNS address 200.169.119.222
--> pppd: =


O sintoma é o navegador reclamando de um endereço qualquer como www.google.com ou www.bdslabs.com.br. O conteúdo simplesmente não é exibido.
E, ao contrário do que possa parecer, talvez esteja ocorrendo um erro relacionado a DNS.

Isso pode ser verificado da seguinte forma. Caso seja possível pingar um IP (por exemplo, 200.169.119.221) mas não seja possível pingar um nome (por exemplo, www.google.com), então o problema é de fato a obtenção dos servidores de nomes, e a solução é adicionar as seguintes linhas no final do arquivo/etc/resolv.conf:

domain bandalarga.claro.com.br
nameserver 200.169.119.221
nameserver 200.169.119.222


Este procedimento corresponde à copia do conteúdo presente em /etc/ppp/resolv.conf no arquivo /etc/resolv.conf.
O arquivo /etc/ppp/resolv.conf possuirá os IPs mostrados na saída do wvdial.

4.3- Não é possível se descobrir a porta serial do modem



Uma opção para essa situação é utilizar o programa minicom [5].

Nativo em muitas distros, ele só pode ser configurado e testado em uma porta serial de cada vez. A configuração começa através do comando:

# minicom -s

que leva ao menu configuration no qual se escolhe a opção Serial port setup. Uma vez lá, modifique Serial Device e retorne ao menu. Escolha então Save setup as dfl e em seguida, Exit from Minicom. Execute o programa novamente:

# minicom

e digite:

AT

é esperada uma resposta OK; caso não se obtenha tal resposta, digite:

ATQ0 V1 EI

novamente, espera-se uma resposta OK. Caso ela não venha mesmo assim, refaça a configuração do minicom utilizando outro dispositivo e repita os testes.

Um programa que pode ajudar o minicom se chama setserial. Este, pode obter e modificar informações das portas seriais. O seguinte comando é um exemplo que obtem informações básicas sobre algumas delas:

# setserial -g -a /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

Uma saída típica do setserial pode ser:

/dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS1, Line 1, UART: unknown, Port: 0x02f8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS3, Line 3, UART: unknown, Port: 0x02e8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal auto_irq


5- Conclusões



Frequentemente se verifica a fabricação de equipamentos USB que funcionam apenas em sistemas proprietários Esta é uma das razões que prejudica a disseminação do Linux.

Particularmente, alguns fabricantes de equipamentos 3G como a Huawei, preocupam-se com sistemas operacionais livres. A Sony Ericsson infelizmente não faz parte desse grupo.

É possível contudo, combater esse desrespeito a usuários Linux através da devida modificação do sistema. E na maioria dos casos, isso se resume a escrever uma regra udev, configurar e utilizar devidamente o wvdial.

Contato



Marcio Barbado Jr. é empresário e ativista do Software Livre, sendo um dos proprietários da BDS Labs, em

http://www.bdslabs.com.br

Marcio possui larga experiência em programação, projeto e integração de sistemas.

E-mail para contato: contato@bdslabs.com.br

6- Referências



[1] LINUX MAGAZINE #63 (FEVEREIRO de 2010) - Pergunte ao Klaus
http://www.linuxmagazine.com.br/article/pergunte_ao_klaus_lm63
Visitado em 16/04/2010

[2] Entendendo o udev - Carlos E. Morimoto

http://www.guiadohardware.net/tutoriais/acessando-dispositivos-usb-escrevendo-regras/entendendo-udev.html

Visitado em 16/04/2010

[3] WvDial | freshmeat.net
http://freshmeat.net/projects/wvdial/
Visitado em 16/04/2010

[4] páginas man (manuais de utilização) wvdial e wvdial.conf
Visitado em 16/04/2010

[5] Modem-HOWTO -- 18. Troubleshooting
http://tldp.org/HOWTO/Modem-HOWTO-18.html
Visitado em 16/04/2010

terça-feira, 6 de abril de 2010

Confiabilidade do projeto SAWiM (parte 1 de 2)

Fábio Damião Barbosa Ricci

Redes Mesh sem fio possuem grandes vantagens comparadas às redes cabeadas, destacando-se principalmente pelo baixo custo, implementação gradual e tolerância a falhas [1]. Elas podem ser tão confiáveis quanto redes cabeadas através do uso adequado de protocolos de comunicação, encriptação, modulação de sinal, uso adequado de antenas, topologia de rede etc. Tais ferramentas foram desenvolvidas e aperfeiçoadas justamente para garantir à comunicação sem-fio as características já inerentes de uma comunicação cabeada.

Baseada nestas premissas o projeto SAWiM [2] busca conciliar esta confiabilidade de comunicação com o desenvolvimento de um novo tipo de controlador semafórico.

Em visita realizada ao estande de empresas fabricantes de controladores semafóricos na feira de infraestrutura de transportes TranspoQuip [3] em 2009, houve certa resistência a um novo conceito de controlador semafórico, já que este é um produto desenvolvido há muito tempo e com muito cuidado para garantir confiabilidade de operação. Com isso, sua tecnologia pouco evoluiu no decorrer de décadas. Devido a esta lenta evolução, pôde-se perceber grande interesse por parte de engenheiros da empresa sobre a nova tecnologia de Rede Mesh, que poderia ser utilizada na interligação dos controladores de tráfego com a central de controle e, com isso, além de garantir a tão consagrada confiabilidade dos controladores eletrônicos de tráfego, garantir também sua controlabilidade a partir de um centro de gerência.

O desenvolvimento do projeto SAWiM deve gerar um produto capaz de se adequar às especificações das companhias de engenharia de tráfego metropolitanas, que estabelecem as mínimas condições técnicas e funcionais. Tais exigências especificam características técnicas básicas, características funcionais, modos de operação, características gerais de projeto e construção, documentação técnica, ensaios, inspeção e aceitação.

Apesar dos semáforos aparentarem para o usuário serem apenas dispositivos simples que acionam lâmpadas, todas as suas especificações são complexas com parâmetros técnicos e funcionais detalhados, como por exemplo os que especificam sequência de cores, períodos de entreverdes e tempos de segurança, tipos de estágios quanto ao tempo de duração (fixa ou variável) e quanto a ocorrência dentro do ciclo de duração (dispensáveis ou indispensáveis).

Esta e outras normas devem ser seguidas por se tratar de um dispositivo que deve lidar com a vida humana. Sua padronização elétrica e funcional garante a homogeneidade e confiabilidade do sistema semafórico como um todo.

O projeto do controlador SAWiM é composto por 2 módulos interligados por um cabo: um módulo Mesh que possui um sistema Linux embarcado responsável pela programação e comunicação, e um módulo Atuador. Sua principal diferença com um controlador convencional é o fato de haver um controlador por semáforo e sua comunicação adjacente e programação de ações são feitas pelo software rodando em Linux no módulo Mesh, permitindo, com isso, uma grande maleabilidade de ações e processamento devido à grande flexibilidade operacional de um sistema Linux. O módulo Atuador se responsabiliza pela realização das ações, medições e sensoriamento, comunicando-se intermitentemente com o módulo Mesh.

A comunicação em Rede Mesh é feita com semáforos intra-grupo quando é necessária a alteração de sinalização em apenas um grupo semafórico e também pode ser feita inter-grupos, quando é necessária uma sincronização entre grupos semafóricos, de cruzamentos diferentes.

A ilustração abaixo descreve um exemplo simplificado de comunicação:

Exemplo de comunicação entre controladores SAWiM.

Neste exemplo, temos a comunicação intra-grupo entre o controlador mestre, seu adjacente e seu opositor. Também há comunicação inter-grupos entre 2 controladores SAWiM mestres. Neste exemplo de comunicação inter-grupos, o controlador mestre A envia uma mensagem de comando ao controlador mestre B para alterar sua sinalização após um período de t segundos, realizando, com isso, a sincronização sequencial de tempos de verde (onda verde [4]).

Por tudo isso, o projeto SAWiM tem como objetivo quebrar paradigmas de sistemas de controladores semafóricos, desenvolvendo uma nova tecnologia passível de grande confiabilidade, maleabilidade funcional e baixo custo. Apesar disso, por se tratar de um novo produto em desenvolvimento, ainda é impossível compararmos sua confiabilidade com os consagrados controladores atuais.

Referências

[1] Redes mesh e grafos.
http://tecnologiassemfio.wordpress.com/2010/01/22/redes-mesh-e-grafos/

Visitado em 08/04/2010

[2] Trânsito e Redes Mesh

http://tecnologiassemfio.wordpress.com/2010/02/12/transito-e-redes-mesh/

Visitado em 09/04/2010

[3] TranspoQuip.
http://www.transpoquip.com.br/br/index.html

Visitado em 09/04/2010

[4] Onda verde – Instituto Trânsito Brasil.
http://www.transitobrasil.org/anexos/artigos/145.pdf

Visitado em 09/04/2010

sexta-feira, 2 de abril de 2010

Banda larga, 3G e contas

Hilton Garcia Fernandes



Em 16 de outubro de 2009, durante a Futurecom 2009 [1], o presidente da Oi [2], Luiz Eduardo Falco deu uma entrevista à Convergência Digital TV [3], que foi publicada no Youtube [4].

Nesta entrevista, Falco faz várias afirmações que valem a pena ser discutidas; algumas bastante polêmicas. Contudo, uma das mais importantes, título do video e apresentada no resumo do video no Youtube, não está contida no video. Pode ser localizada em matérias relacionadas, como [5], de Ethevaldo Siqueira [6]. Seria a afirmativa de que as teles já investiram cerca de R$ 11 bilhões e têm cerca de 200.000 km de rede construída. Muitos a discutem, mas isto não será feito aqui, pois outro é o foco deste texto.

O que será discutido são duas afirmações de Falco, a respeito da possibilidade e oportunidade de banda larga no 3G [7], e uma estimativa de custos apresentada por ele para uma rede desse tipo.

Web 2.0 e transparência



Por uma questão de justiça, deve-se louvar a transparência permitida pela Web 2.0 [8], que permite que conteúdos como o deste vídeo possam ser oferecidos para a população. Antes dela, seria difícil conhecer o pensamento vivo do presidente de uma operadora como a Oi.

Também foi possível que a população se manifestasse a respeito das opiniões do presidente da Oi expressas na entrevista [4]. Em geral de forma bastante agressiva, com palavrões e, num primeiro momento, até mesmo com racismo. Felizmente, a Web 2.0 tem seus mecanismos de ajuste e os ataques racistas foram retirados.

De qualquer modo, o que resta é que a população -- e os brasileiros usuários do Youtube são parte importante dela --, está bastante insatisfeita com o padrão de serviços oferecidos pelas teles.

Banda larga 3G



A afirmação de Falco que causou polêmica em [4] foi a que não é possível, e nem desejável que os usuários tenham direito a 3G com banda maior do que 300 kbps.

Segundo o raciocínio de Falco, seria muito caro desenvolver redes para oferecer 30 Mbps, ou megabits por segundo, para a população. E, afinal de contas, com 300 kbps se tem navegação satisfatória, para usuários individuais, segundo ele.

Um ponto muito triste é que as operadoras venderam planos de capacidades muito maiores do que os 300 kbps -- na faixa de 1 Mbps. Com certeza elas se resguardaram em cláusulas contratuais de fornecimento garantido, possivelmente de apenas 10% do valor nominal: assim 1 Mbps nominal vira apenas 100 kbps garantidos.

Não é de se surpreender que usuários tenham se manifestado de modo tão agressivo quanto aquele visto nos comentários da entrevista [4].

Sem querer colocar as teles como empresas malévolas, é necessário admitir que, mundialmente, toda comunidade de telecomunicações se surpreendeu com o crescimento, no último ano, do consumo da banda larga móvel. Em termos mundiais, ele foi de cerca de 72% [9]. No Brasil, chegou a ser de incríveis 327% [10].

Duas conclusões:

  1. há uma demanda incrivelmente reprimida no atendimento da Internet, que que leva usuários a procurarem alternativas de atendimento.

    Claro que o brasileiro é um povo fascinado por novidades, e é claro que há conveniências na banda larga móvel. Mas 327% são 327%;


  2. o modelo concorrencial brasileiro, que analistas ponderados como Cláudio Dascal não hesitam em chamar de "cartel" [11], tem sido muito tolerante com as empresas também quanto à exigência de serviços e planos de investimento.

    Afinal, mesmo que o erro, humana ou tecnicamente seja inevitável, a correção também deveria sê-lo: se o consumo de banda larga 3G excedeu as expectativas, as agência reguladoras deveriam pressionar as empresas para uma solução que garantisse melhor qualidade de serviço. Mesmo que os contratos, juridicamente, ainda sejam válidos, garantir apenas 10 % do valor nominal é extremamente insatisfatório para empresas e usuários.




Contas para infra-estrutura



Um outro ponto muito interessante na entrevista de Falco [4] é sua afirmativa de que, em uma rede de operadora típica, valem as seguintes proporções aproximadas de custo:

  • o backbone [12] corresponde a 15% do custo global da rede;

  • o backhaul, ou a parte da rede por onde ele trafega [12], custa entre 35 e 50%;

  • o last mile, ou rede de atendimento ao cliente [12], custa cerca de 50%



Em uma entrevista, alguma imprecisão entre valores deve ser tolerada. Sendo assim, se o custo da rede do backhaul varia entre 35% e 50%, é provável que, nesta estimativa, o custo do last-mile (outro grande custo) também deva variar entre estas faixas visando chegar a 100%. Como o custo do backbone é o menor dos três componentes, sua variabilidade aparentemente tem de ser menor.

Seria interessante aplicar as contas ao projeto de rede nacional de banda larga, aventada pelo governo federal [12]. Em primeiro lugar, segue a imagem do mapa de fibra óptica disponível.

Backbone da Eletronet

Pode-se ver que é uma rede muito ampla que cobre mais do que o litoral, chegando ao Tocantins e ao interior do Maranhão. Alguns [13] estimaram a rede da Eletronet em cerca de R$ 600 milhões. Portanto, o total da rede, segundo esses cálculos estaria em em cerca de R$ 4 bilhões. Estes recursos seriam suficientes para cobrir grande parte do território nacional -- ou pelo menos a parte onde está grande parte da população.

Simetricamente, as teles têm comentado [5] que seus investimentos chegam a R$ 11 bilhões. Refazendo as contas, tem-se que, destes cerca de R$ 1,6 bilhões seriam o custo de seu backbone. Dividindo esse valor por 4 -- pois parece ser este o número das maiores operadoras -- ter-se-iam backbones de R$ 400 milhões. Ou cerca de 67% inferiores àqueles da Eletronet, já bastante impressionantes. Seria interessante ver mapas dos backbones das teles para fazer essa comparação de modo justo.

Estas são contas muito simplificadas, que não levam em conta a história de cada companhia: algumas teles receberam parte de seu backbone das estatais que compraram; outras têm grande parte de sua clientela em área relativamente reduzida.

Mas fazem pensar que números da casa de bilhões ou milhões de reais devem ser apresentados com bastante cuidado, maior do que aquele que está sendo praticado no debate do PNBL.

Referências



[1] Futurecom 2009
http://www.futurecom2009.com.br/
Visitado em 25 de março de 2009

[2] Oi (telecomunicações)
https://secure.wikimedia.org/wikipedia/pt/wiki/Oi_(telecomunica%C3%A7%C3%B5es)
Visitado em 25 de março de 2009

[3] Convergência Digital TV
http://www.convergenciadigital.com.br/cgi/cgilua.exe/sys/start.htm?sid=84
Visitado em 25 de março de 2009

[4] Banda Larga: Brasil não pode se dar ao luxo de duplicar infraestrutura
http://www.youtube.com/watch?v=0tMRE1t93NU&feature=related
Visitado em 25 de março de 2009

[5] Teles e especialistas rejeitam estatização - Ethevaldo Siqueira
http://www.ethevaldo.com.br/Generic.aspx?pid=1555
Visitado em 25 de março de 2009

[6] Ethevaldo Siqueira
https://secure.wikimedia.org/wikipedia/pt/wiki/Ethevaldo_siqueira
Visitado em 25 de março de 2009

[7] 3G
https://secure.wikimedia.org/wikipedia/pt/wiki/3g
Visitado em 25 de março de 2009

[8] Web 2.0
https://secure.wikimedia.org/wikipedia/pt/wiki/Web_2.0
Visitado em 25 de março de 2009

[9] Allot MobileTrends: Global Mobile Broadband Traffic Report Shows Significant 72% Growth in Worldwide Mobile Data Bandwidth Usage in H2, 2009
http://bit.ly/boQr46
Visitado em 25 de março de 2009

[10] Banda larga móvel cresce 227%
http://bit.ly/bw5JiY
Visitado em 25 de março de 2009

[11] Mais um competidor em telefonia celular?

Teletime, Ano 13, no. 130, Março 2010

[12] Plano Nacional de Banda Larga: primeiras ideias
http://tecnologiassemfio.blogspot.com/2010/02/plano-nacional-de-banda-larga-primeiras.html
Visitado em 02 de abril de 2009

[13] Oi negocia compra de dívida da Eletronet por R$ 140 mi
http://insight-laboratoriodeideias.blogspot.com/2010/02/oi-negocia-compra-de-divida-da.html
Visitado em 25 de março de 2009

sexta-feira, 26 de março de 2010

Conectividade de redes mesh

Ricardo Andrade Dalla Bernardina



Redes mesh podem ser estudadas pela teoria dos grafos [1]. Para seu correto funcionamento é necessário que qualquer AP (Acess Point) tenha comunicação com qualquer outro. Por isso, é natural a relação entre a conectividade entre um AP e todos outros de uma rede mesh, e o fato do grafo associado a eles ser conexo ou não [2]. Com esta finalidade criou-se o programa connect.g [3] para avaliar se o grafo de uma rede mesh é conexo, utilizando a linguagem gvpr [4]. o programa é mostrado a seguir:
BEGIN {
graph_t comp;
}
N {
comp = compOf ($G, $);
printf ("%s\n", $G.name);
if (comp.n_nodes < $G.n_nodes) {
printf("'%s' is not a connected graph.\n", $G.name);
}
else{
printf("'%s' is a connected graph.\n", $G.name);
}
exit(0);
}

No passo BEGIN é declarado o grafo comp. Este grafo é usado no passo N para receber o valor da chamada de compOf() do grafo de que se deseja verificar a conectividade. A função compOf() verifica, dado um grafo g e um nó n deste grafo, quais nós de g estão conectados com o nó n. A resposta de uma chamada a compOf() é um subgrafo com os nós que estão em ligados a n, sem as arestas em g.

No programa é feita a chamada compOf ($G, $), onde $G significa o grafo sendo atualmente processado, e $ o nó atual no passo N. Como em um grafo conexo, qualquer nó deve estar ligado com todos os outros nós, o número de nós do resultado do compOf() deve ser igual ao número de nós do grafo original. Por isso, comparação
if (comp.n_nodes < $G.n_nodes)


Nela é avaliado se o número de nós do resultado de compOf() é menor que o número de nós do grafo original. Se a resposta for positiva, o grafo não é conexo. Então, é exibida na tela a mensagem de não conexão do grafo. Caso a resposta seja negativa, o número de nós do resultado do compOf() é igual ao número de nós do grafo original, pois não há possibilidade de haver maior número de nós no grafo do compOf() em comparação com o grafo original. Desse modo, a tela exibirá mensagem informando que o grafo é conexo.

É feita logo a seguir, uma chamada exit(0), para que o programa não exiba a mesma resposta até serem analisados todos os nós -- pois se o grafo não for conexo, a chamada a compOf() para qualquer um dos nós gerará um componente conexo com menos vértices do que o grafo original.

Assim, basta testar um único nó -- portanto, este é um método bastante eficiente.

Referências



[1] Redes mesh e grafos
http://tecnologiassemfio.wordpress.com/2010/01/22/redes-mesh-e-grafos/
Acessado em 25/03/2010

[2] Teoria dos grafos
https://secure.wikimedia.org/wikipedia/pt/wiki/Teoria_dos_grafos
Acessado em 25/03/2010

[3] connect.g
http://sites.google.com/site/hgfernan/arquivos/connect.g?attredirects=0
Acessado em 25/03/2010

[4] Apresentação do gvpr
http://tecnologiassemfio.wordpress.com/2010/02/05/apresentacao-do-gvpr/
Acessado em 25/03/2010

sexta-feira, 19 de março de 2010

Yet Another Asterisk Tutorial

Daniel Caraça



Atualmente, a telefonia é um meio de comunicação indispensável. Apesar de existirem muitos outros meios de comunicação, é ainda vencedora a simplicidade e eficácia da telefonia na transmissão de informações. Infelizmente, seu custo pode ser alto, principalmente levando em consideração ligações de longa distância. Uma solução que tem sido a cada dia mais usada é a de unir a telefonia com a internet, criando o VoIP [1], ou "Voz por IP", que pode fazer ligações de longa distância a preços de ligações locais. Utilizando Softwares Livres [2], a implementação do VoIP se torna muito barata e ainda conta com a vantagem de fácil instalação e manutenção.

Uma conexão de baixa qualidade com a Internet pode trazer problemas para uma ligação VoIP. Quando se faz uma ligação normal, tem-se a sensação de estar falando com uma pessoa logo ao lado, pois a transmissão da voz é instantânea. Mas quando por algum motivo ocorre algum atraso, o usuário sente um certo desconforto e fica falando "Alô, alô?" até que a outra pessoa responda, ou seja, até que o sinal da resposta chegue. Assim para se ter uma comunicação eficaz por VoIP, deve-se dar muita importância a parâmetros como latência (ou a demora em responder) [3] e jitter (ou a irregularidade desse tempo) [4], importantes para se garantir a qualidade de serviço da ligação [5].

Em cidades digitais implementadas com redes mesh [6] há a possibilidade dos dados passarem por mais de um nó antes de chegar ao destino final -- cada nó intermediário é chamado de hop. Se o número de hops for muito grande, isto aumentará a latência da comunicação.

A latência da comunicação faz uma comunicação VoIP ser um ótimo teste para uma rede. Pois apesar de números obtidos por benchmarks [7] darem bastante informação, nada melhor do que sentir "na pele", intuitivamente, a qualidade da rede.

Este tutorial, aparentemente, mais um de tantos outros, tem como objetivo mostrar como pode ser simples fazer uma conexão VoIP entre dois computadores, o que é base até mesmo de sistemas VoIP de grande tamanho, conectando muitos computadores. A abordagem aqui têm ênfase na simplicidade, e apenas o mínimo necessário será explicado. Uma outra diferença importante deste texto é que aqui se ensina como a associar nomes aos ramais, o que não é o tipo de coisa mostrada em qualquer tutorial.

São usados 3 computadores, sendo 1 deles o servidor e os outros 2 os clientes. Nos clientes será usado um softphone; ou seja: um software que simula um telefone. Neste tutorial está sendo usado o Ekiga [8], que já vem instalado no Ubuntu [9], hoje a distribuição Linux mais popular [10]. Contudo, em qualquer outra distribuição o Ekiga funcionará da mesma forma. No servidor será usado o asterisk [11], um servidor VoIP que é Software Livre [2]. Para instalá-lo nas distribuições Debian [12], Ubuntu [9] e outras que possuam apt-get [13], basta digitar o seguinte comando:
# sudo apt-get install asterisk

Caso a distribuição em uso não possua o comando apt-get, há vários tutoriais na internet sobre como instalar o asterisk em outras distribuições através dos comandos correspondentes a elas, como por exemplo, o comando yum [14] do Fedora [15] e o yaST [16] do openSUSE [17]

O asterisk funciona da seguinte forma: quando um usuário se loga no servidor com um programa cliente, o asterisk cria uma rota para se comunicar com o computador dele. Isso significa que o asterisk saberá para onde deve redirecionar a ligação caso alguém ligue para o ramal do usuário. Isso quer dizer também que, caso o usuário não se logue, o asterisk não saberá como chegar a seu computador. As configurações dele são feitas através de arquivos de configuração, onde se adicionam ramais, estabelecem-se as ações para as chamadas etc. Dois arquivos muito usados são o sip.conf e o extensions.conf, os quais serão modificados a seguir:

sip.conf:
- Nesse arquivo estão informações sobre os ramal que utilizarão o protocolo SIP [18] para se comunicar.

1) Há uma linha no arquivo que inicia-se com:
bindaddr=0.0.0.0

Caso se use 0.0.0.0, o asterisk escutará em todas as interfaces, mas parece aconselhável colocar apenas o IP da interface principal do servidor, pois assim não serão bloqueadas portas para VoIP de outras interfaces, como pode ver visto na descrição da chamada de sistema bind [19]

2) Adicione as seguintes linhas no final do arquivo:
[2000]
type=friend
secret=1234
host=dynamic
context=teste

[2001]
type=friend
secret=4321
host=dynamic
context=teste

3)Explicando:
- [] o nome entre as chaves será seu login e o seu ramal para o protocolo SIP

- type é o tipo de usuário. Existem 3 tipos: friend, peer e user. Respectivamente eles podem receber e fazer ligações, apenas receber ligações e apenas fazer ligações

- secret é a senha se logar no servidor

- host é o IP do computador do cliente, ou dynamic caso o IP seja dinâmico

- context é o contexto, ou grupo, que o usuário estará no arquivo extensions.conf. Caso ele pertença a um contexto, não poderá ligar para outro ramal pertencente a outro contexto, pelo menos sem redirecionamento de chamada.

Isto cria dois usuários SIP com o mínimo de informações possível.

extensions.conf
-- Aqui estarão descritas as ações para os números discados

1) As seguintes linhas devem ser adicionada ao final do arquivo:
[ntsf]
exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,2,Hangup
exten => joao,1,Dial(SIP/2000,20)
exten => joao,2,Hangup

exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,Hangup
exten => maria,1,Dial(SIP/2001,20)
exten => maria,2,Hangup

2) Explicando:
- [] o nome entre as chaves será o nome do contexto, ou grupo, que pertencem essas extensões.

- exten => 2000,x,..... significa que quando ligarem para o ramal 2000, serão executados os comandos iniciados por 2000, começando pela prioridade 1, depois 2 e assim por diante...

- ....,Dial(SIP/2000,20) significa que o asterisk irá chamar durante 20 segundos o computador que se logou como 2000 (ramal definido no arquivo sip.conf).

- Hangup significa que irá finalizar a ligação, caso não completada.

- os nomes joao e maria não foram definidos em nenhum outro lugar, mas podemos utilizá-los. Esse é o interessante do arquivo extensions: ele diz ao asterisk o que fazer quando alguém liga para algum ramal. Assim ligar para um numero não significa que só se poderá falar com uma pessoa que usa ramal, pois é possível criar ramais de redirecionamento, ramais de secretária eletrônica, ramais de atendimento etc. Fazendo dois ramais diferentes executarem a mesma ação, é um método fácil de dar aos usuários a escolha entre utilizar números ou nomes.

Com isso já se tem o suficiente para fazer uma ligação utilizando o asterisk. A última coisa que é necessário fazer é carregar esses arquivos no asterisk. Para isso, basta digitar:
# sudo asterisk -r

Assim a CLI [20] do asterisk será aberta. Deve-se agora digitar os dois comandos seguintes:
# sip reload
# dialplan reload


Assim os arquivos sip.conf e extensions.conf serão carregados e o asterisk está pronto para gerenciar as ligações.

Nos clientes, abre-se o Ekiga, clica-se na aba Edit e depois em Accounts. Na tela aberta, clica-se em Accounts e depois em Add a Sip account. Na outra tela que se abrirá, informa-se no registrar o IP da maquina onde esta o asterisk, no user e authentication user coloque o ramal, como por exemplo 2000, e como password a respectiva senha. Como nome, coloque qualquer um, pois é um parâmetro para o Ekiga, e no timeout algum valor de tempo em segundos, como por exemplo 60. Agora pressione Ok e de close na outra tela. Faça isso para o outro computador e com isso as configurações estão terminadas.

Para fazer a ligação digite, em algum dos clientes, ramal@ip.do.servidor no local onde está sip:. Aperte enter ou clique no botão verde e a ligação será feita.

Essas configurações apenas possibilitam fazer ligações entre 2 computadores, mas o asterisk tem um potencial muito maior, permitindo secretária eletrônica, sons, espera, salas de conferencias, etc. Caso se interesse por mais informação, há muitos tutoriais na internet que se aprofundam mais, como o VoIP Wiki [21]

Referências



[1] VoIP
https://secure.wikimedia.org/wikipedia/pt/wiki/VoIP
Visitado em 23/03/2010

[2] Software Livre
https://secure.wikimedia.org/wikipedia/pt/wiki/Software_livre
Visitado em 23/03/2010

[3] Latência
https://secure.wikimedia.org/wikipedia/en/wiki/Latency_(engineering)
Visitado em 23/03/2010

[4] Jitter
https://secure.wikimedia.org/wikipedia/pt/wiki/Jitter
Visitado em 23/03/2010

[5] O que é Traffic shaping, afinal?
http://tecnologiassemfio.wordpress.com/2010/02/26/o-que-e-traffic-shaping-afinal/
Visitado em 23/03/2010

[6] Redes mesh e grafos
http://tecnologiassemfio.wordpress.com/2010/01/22/redes-mesh-e-grafos/
Visitado em 23/03/2010

[7] Benchmark
http://tecnologiassemfio.wordpress.com/2010/01/29/benchmark-distribuidos-para-redes-mesh/
Visitado em 23/03/2010

[8] Ekiga
https://secure.wikimedia.org/wikipedia/pt/wiki/Ekiga
Visitado em 23/03/2010

[9] Ubuntu
https://secure.wikimedia.org/wikipedia/pt/wiki/Ubuntu
Visitado em 23/03/2010

[10] DistroWatch.com
http://distrowatch.com/index.php
Visitado em 23/03/2010

[11] asterisk
https://secure.wikimedia.org/wikipedia/pt/wiki/Asterisk
Visitado em 23/03/2010

[12] Debian
https://secure.wikimedia.org/wikipedia/pt/wiki/Debian
Visitado em 23/03/2010

[13] Advanced Packaging Tool
https://secure.wikimedia.org/wikipedia/pt/wiki/Advanced_Packaging_Tool
Visitado em 23/03/2010

[14] Yum
http://fedoraproject.org/wiki/Tools/yum
Visitado em 23/03/2010

[15] Fedora
http://en.wikipedia.org/wiki/Fedora_(operating_system)
Visitado em 23/03/2010

[16] YaST
http://en.opensuse.org/YaST
Visitado em 23/03/2010

[17] openSUSE
http://en.wikipedia.org/wiki/OpenSUSE
Visitado em 23/03/2010

[18] Session Initiation Protocol
http://en.wikipedia.org/wiki/Session_Initiation_Protocol
Visitado em 23/03/2010

[19] Bind
http://publib.boulder.ibm.com/infocenter/tpfhelp/current/index.jsp?topic=/com.ibm.ztpf-ztpfdf.doc_put.cur/gtpc2/cpp_bind.html
Visitado em 23/03/2010

[20] Command Line Interface
http://en.wikipedia.org/wiki/Command-line_interface
Visitado em 23/03/2010

[21] VoIP Wiki
http://www.voip-info.org/wiki/view/Asterisk
Visitado em 23/03/2010

sexta-feira, 12 de março de 2010

PNBL, lá e cá (parte 1 de 4)

Hilton Garcia Fernandes



O debate sobre o Plano Nacional de Banda Larga, ou PNBL, está se aquecendo. Mas já se mostram posições excessivamente ideológicas, o que compromete o debate. Por exemplo, atribuindo a idéia do PNBL a um viés estatista ou até esquerdista do atual e, possivelmente, do próximo governo federal.

Assim, o propósito deste conjunto de textos é contribuir para que a discussão da iniciativa importante do PNBL passe a ocorrer sobre terreno firme. Afinal, além do tema atrair a polêmica entre privatistas e estatistas, este é um ano de eleições -- e há mesmo vozes muito equilibradas que afirmam que a atual formulação do PNBL é principalmente eleitoreira [1].

Um ponto importante é admitir que, de fato, ele pode ter impacto nas eleições. E que a atual equipe dirigente, inegavelmente hábil, pode realmente o estar usando com interesses eleitorais.

Contudo, ainda assim, é iniciativa que tem muito mérito e, com certeza, necessidade em um país no qual a banda larga é das mais caras do mundo [2]. Sendo assim, não se deve permitir que o tema tão importante se esgote em discussões que são de saída infrutíferas.

Uma das formas de se atingir uma visão menos parcial -- afinal, todos temos uma -- é comparar o incipiente PNBL nacional com outras iniciativas em todo mundo. Isto nos vai permitir observar se, de fato, são esquerdistas que promovem PNBL. E, eventualmente, vai nos ajudar a lidar com o complexo que Nelson Rodrigues atribuía a toda nação brasileira [3].

Há vários países que estão planejando nacionalmente suas redes: muitos têm mesmo uma tradição de planejamento: são desde países socialistas, como China, até países que, mesmo sendo inegavelmente capitalistas, têm políticas de planejamento estruturante. Por menos que os mercadistas admitam, entre eles estão os EUA. Sem falar em Alemanha e outros países, que alguns consideram social-democracias e, por isso, menos capitalistas.

Mas também há entre os países que planejam nacionalmente sua oferta de banda larga aqueles que estão entre os países em desenvolvimento e consideram importante estruturar sua oferta de banda larga, estimulando setores sem o desenvolvimento esperado e reativando a concorrência, no melhor sentido da palavra.

Por último, além da necessidade em si de políticas nacionais, há a necessidade premente de se ativar a oferta de banda-larga: ela é causada pelos celulares modernos que devem consumir crescentes quantidades de banda da Internet [4], devido ao 3G [5] que usam, e também ao Wi-Fi [6]. Sem falar, é claro, no esgotamento de endereços IP [7].

Seguem alguns exemplos de políticas públicas sendo propostas para diversos países.

Austrália



A Australia [8], uma democracia liberal, dificilmente poderia ser chamada de um país socialista. Apesar disso, a forma com que decidiu abordar o problema de sua rede nacional de banda larga [9] poderia ser chamado de esquerdista por algumas pessoas ideologicamente mais pró-mercado. A Australia abriu uma licitação (ou bidding) e, apesar de várias companhias terem se inscrito, considerou-se que nenhuma proposta atendia os requisitos do edital (ou RFP) [10].

Por isso, foi constituída uma companhia estatal, a NBN [11], para implantar a rede nacional.

Apesar de ser muito tentador comparar o caso brasileiro com o estatal -- a Telebras é estatal, a NBN também --, os termos da comparação são equivocados:

  • lá se fala em FTTH [12], com velocidades de 20 Mbps para 90 % da população, 12 Mbps para o restante [9], aqui falamos em menos de 1 Mbps para cerca de 70% da população, segundo o Ministério das Comunicações [13];

  • lá se procurou o modelo estatal devido à crise financeira mundial [11], aqui a razão para se considerar isso foi a falta de investimento da indústria -- não importa a razão que levou a isso: falha do modelo das telecomunicações, excesso de impostos etc.


Um ponto interessante é que os valores aventados para projetos tão diferentes são relativamente próximos: no caso da Australia, cerca de A$ 43 bilhões para cobrir o país [9], ou US$ 39 bilhões [14], com FTTH [12]; no caso do Brasil, fala-se em R$ 75 bilhões [13], ou US$ 42 bilhões [14].

Porém, esta é uma comparação inadequada, de vez que, apesar da área territorial dos países serem semelhantes, a população da Australia (um décimo da brasileira) é principalmente concentrada no litoral. Na verdade, fontes mais afinadas com a equipe que está discutindo o PNBL (infelizmente o Min. das Comunicações não é parte integrante dela), estimam em cerca de R$ 20 bilhões [15], ou US$ 11 bilhões [14], o custo de PNBL brasileira.

Fontes à esquerda criticaram fortemente todas as propostas do Min. das Comunicações [17], como puro lobby das teles que atualmente dominam o mercado. Contudo, o PNBL brasileiro está ainda sob discussão [18].

Na próxima postagem desta série, serão discutidos os planos nacionais dos EUA. Malásia e África do Sul.

Referências



[1] Telebrás, Eletronet e PNBL (170) - Ainda a "Reunião do PNBL" + O "Anãozinho" + Resumo sobre o FUST + A Lei do FUST (íntegra)
http://www.wirelessbrasil.org/bloco/2010/fevereiro/fev_39.html
Visitado em 11/03/2010

[2] Plano Nacional de Banda Larga: primeiras ideias
http://tecnologiassemfio.wordpress.com/2010/02/19/plano-nacional-de-banda-larga-primeiras-ideias/
Visitado em 06/03/2010

[3] Complexo de vira-lata
https://secure.wikimedia.org/wikipedia/pt/wiki/Complexo_de_vira-lata
Visitado em 06/03/2010

[4] BROADCASTING AND THE BROADBAND FUTURE: A PROPOSED FRAMEWORK FOR DISCUSSION

http://www.nab.org/documents/newsRoom/pdfs/122209_SpectrumFramework.pdf
Visitado em 11/03/2010

[5] 3G
https://secure.wikimedia.org/wikipedia/en/wiki/3G
Visitado em 06/03/2010

[6] Wi-Fi
https://secure.wikimedia.org/wikipedia/pt/wiki/Wi-fi
Visitado em 06/03/2010

[7] Agotamiento de las direcciones IPv4
https://secure.wikimedia.org/wikipedia/es/wiki/Agotamiento_de_las_direcciones_IPv4
Visitado em 06/03/2010

[8] Australia
https://secure.wikimedia.org/wikipedia/en/wiki/Australia
Visitado em 11/03/2010

[9] National Broadband Network
https://secure.wikimedia.org/wikipedia/en/wiki/National_Broadband_Network

Visitado em 11/03/2010

[10] EXTRACT FROM THE EVALUATION REPORT FOR THE REQUEST FOR PROPOSALS TO ROLL-OUT AND OPERATE A NATIONAL BROADBAND NETWORK FOR AUSTRALIA
http://www.dbcde.gov.au/__data/assets/pdf_file/0007/110014/Summary_observations_for_website.pdf
Visitado em 10/03/2010

[11] National Broadband Network: 21st century broadband
http://www.dbcde.gov.au/all_funding_programs_and_support/national_broadband_network
Visitado em 10/03/2010

[12] Fiber to the x
https://secure.wikimedia.org/wikipedia/en/wiki/Fiber_to_the_x
Visitado em 11/03/2010

[13] UM PLANO NACIONAL PARA BANDA LARGA: O BRASIL EM ALTA VELOCIDADE
http://www.mc.gov.br/wp-content/uploads/2009/11/o-brasil-em-alta-velocidade1.pdf
Visitado em 11/03/2010

[14] Xe.com: AUD to USD rate: 1.0 AUD = 0.915068 USD
http://www.xe.com/ucc/convert.cgi?Amount=1&From=AUD&To=USD&image.x=52&image.y=9&image=SubmitVisitado em 11/03/2010

[15] Xe.com: BRL to USD rate: 1.0 BRL = 0.564724 USD
http://www.xe.com/ucc/convert.cgi?Amount=1&From=BRL&To=USD&image.x=49&image.y=15&image=Submit
Visitado em 11/03/2010

[16] Telebrás, Eletronet e PNBL (180) - Análise de Clóvis Marques sobre a reativação da Telebrás
http://www.wirelessbrasil.org/bloco/2010/fevereiro/fev_51.html
Visitado em 11/03/2010

[17] "Telebrás no PNBL é a garantia da universalização da banda larga"
http://www.vermelho.org.br/noticia.php?id_secao=6&id_noticia=118549
Visitado em 11/03/2010

[18] "Telebrás, Eletronet e PNBL (211) -"Plano de banda larga pode não sair do papel este ano e Telebrás despenca no pregão" + "Você é acionista e não sabe?" + Msg de Clóvis Marques sobre a audiência pública no Senado"
http://www.wirelessbrasil.org/bloco/2010/marco/mar_33.html
Visitado em 11/03/2010

terça-feira, 2 de março de 2010

O que é Traffic shaping, afinal?

Rodrigo Filipe Silva Carramate


Traffic shaping [1], ao contrário do que muitos pensam, não é apenas uma forma de os provedores comerciais limitarem taxas de transferência dos chamados heavy users, que transferem muita informação pela Internet. É bem verdade que há inúmeros relatos de usuários que dizem ter sido afetados pelo traffic shaping, sobretudo daqueles adeptos do peer-to-peer (como eMule e BitTorrent) [2], mas esta prática questionável por parte dos provedores está longe de ser a única utilidade do shaping, que, quando bem utilizado, pode tornar as redes muito mais produtivas.

Do inglês shaping (em português, formatar ou modelar), o nome já elucida bastante a finalidade do procedimento, que nada mais é do que modelar a banda da rede, ou ainda atribuir um perfil de controle de banda à rede.

O leitor pode, então, se perguntar porque deveria querer introduzir limites em sua rede, quando, na verdade, quer maximizar sua capacidade. Para responder a esta pergunta devemos nos lembrar que os diferentes tipos de tráfego na rede também têm diferentes prioridades: ninguém ficaria incomodado de enviar um e-mail e este chegar um ou dois segundos mais tarde ao seu destinatário. Por outro lado, se esta pessoa estiver em uma videoconferência com o seu chefe em Miami e tiver que esperar os mesmos dois segundos entre cada palavra que ele diz, a situação tende a ficar bastante desagradável. Os dois casos citados explicam um dos benefícios do uso do traffic shaping: a priorização de tráfego, que tem por objetivo atrasar a transmissão de pacotes menos urgentes a fim de entregar mais rapidamente outros mais prioritários, esta característica do traffic shaping constitui um dos mecanismos de QoS [3], ou a tentativa de garantir diferentes níveis de serviço da rede para diferentes aplicações dela.

Uma outra vantagem do uso do traffic shaping é a quantização de banda por tipo de tráfego. Para explicar a necessidade desta utilização vamos supor que esteja em seu escritório, a poucas horas da entrega daquele relatório essencial para a conclusão do projeto, quando misteriosamente a rede, tão necessária para o término do relatório, demora minutos para carregar uma simples página da Internet. Por outro lado, no computador ao lado seu colega faz download de músicas através de torrents a alta taxa de transferência. Há grandes chances de as conexões criadas pelo seu colega estarem utilizando toda a banda disponível para a Internet na rede do escritório. Obviamente nesta situação exagerada, poderíamos simplesmente bloquear a utilização de torrents na empresa, mas suponhamos que, por alguma razão, seu uso seja necessário.

Desta forma seria necessário limitar a taxa de transferência concedida a esse tipo de tráfego, o que se trata de uma outra utilidade do traffic shaping. Com as taxas para o download e upload de torrents limitadas, a navegação na Web certamente ficaria mais rápida.

Outra face do traffic shaping é o agendamento de perfis, no qual o gerente da rede, por meio de ferramentas adequadas ao seu sistema operacional, implementa o disparo automático de configurações pré-programadas, desta forma podendo adequar as quantidades de banda às necessidades específicas dos vários horários.

No caso de cidades digitais [4] temos uma grande variedade de usos, devido à complexidade das redes. Podemos, por exemplo, imaginar uma cidade em que tenha sido projetada uma rede para atender tanto a repartições da prefeitura quanto à população em geral. Uma regra de traffic shaping apropriada a essa estrutura seria reservar uma quantidade razoável de banda às repartições durante os seus respectivos horários de funcionamento. Esta medida preveniria o uso de todos os recursos pela população, evitando limitações na conectividade da prefeitura. Do mesmo modo, após o horário de funcionamento poderia se estabelecer uma regra onde essa banda fosse novamente disponibilizada à população, promovendo melhora na conexão a ela oferecida.

Podemos, então, entender o traffic shaping como um conjunto de regras planejado a fim de otimizar a rede e moldá-la a necessidades específicas. Infelizmente há quem o utilize para lesar consumidores. Por exemplo, proibindo tráfegos como Peer-to-Peer, ou a telefonia pela Internet, chamada VoIP [5].

Referências

[1] Traffic shaping
Visitado em 26/02/2010

[2] Quality of Service
Visitado em 26/02/2010

[3] Peer_to_peer
Visitado em 26/02/2010

[4] O que é Cidade Digital?
Visitado em 26/02/2010

[5] VoIP

Visitado em 26/02/2010

Saiba Mais

Controle de tráfego

QoS