Então, o que um geek faz num feriado? Vai estudar protocolos de rede, é claro.
E de leva aproveita para entender melhor o sistema de acesso banda larga do
Vírtua.
Uma das proteções dos provedores é justamente a desinformação.
Quanto menos difundido o conhecimento operacional dos equipamentos e da rede,
mais segura está a empresa e por isso, seus usuários. Mas existem softwares e
técnicas para conseguir informações úteis aos usuários. Muitas vezes, é
possível detectar problemas rapidamente com um mínimo de informações e com
ferramentas amplamente disponíveis como ping e tracert.
Resolvi descobrir algumas coisas sobre o Vírtua. Por exemplo, queria saber
a versão do firmware instalado no modem, o modelo e como funciona o sistema de
limite de velocidades (isso não é um tutorial para hacking!). Aproveitei para
investigar por que, durante o dia, o serviço fica fora do ar por alguns
minutos e volta. Investiguei também os roteadores e a forma de conectar do
cable modem e como poderia ser feito a contagem de tráfego.
O primeiro problema foi conectar ao modem. A configuração padrão não
permite que você consiga acessá-lo. Mas eles possuem 2 IPs: um para o
computador pessoal e outro para comunicação com o roteador. Para conseguir
isso, basta configurar um IP alternativo no Windows. Você não altera em nada a
sua conexão e o modem fica disponível para responder a pings, por exemplo.
Para verificar se funciona, basta usar o prompt de comando e digitar ping
192.168.100.1.
Agora que ele está respondendo aos comandos, pode-se ver a página de
diagnóstico interno, com algumas informações úteis sobre o modem. Uma das
telas, exibe a frequência de operação e potência do sinal.
Essa primeira parte foi fácil, não? Apenas com essas informamções, já é
possível saber se o modem está conectado ou não. Se o problema está no sinal
ou alguma interferência externa alterou os parâmetros da rede.
Parte II: Coletando Informações
Na parte I desse artigo, vimos como fazer um diagnóstico básico. Agora,
partiremos para uma investigação mais profunda do modem RCA. Um dos pacotes de
software que não estavam funcionando para fazer diagnósticos na rede era o SolarWinds Broadband
Engineers Edition, que reune de uma só vez mais 40 ferramentas de
monitoramento de rede. A versão menos específica e útil para qualquer tipo de
rede chama-se Solarwinds Engineers Edition. Devo avisar que esses programas
são mais indicados para profissionais da área, para um aproveitamento total.
Ou um geek fuçador também pode. :-)
Para essa fase, precisamos desabilitar
qualquer firewall de software ou hardware, conectar o modem direto na placa de
rede, sem passar por hubs, switches ou routers.
Uma ferramenta útil é o DocsDiag, um software de diagnóstico para cable modem do padrão DocSis,
apesar de ainda não ter certeza que esse modem seguia o padrão. Para usar esse
programa, você irá precisar da Java Virtual Machine instalada.
Notei que havia algum problema com o Simple Network Management Protocol (que fornece um vasto leque de opções
de gerenciamento e faz parte do TCP/IP) ou SNMP quando tentei usar o DocsDiag.
Na própria página, eles sugerem desligar o cabo coaxial, reiniciar o cable
modem e tentar usar o programa novamente. Isso foi feito e os resultados foram
(seriais e mac address omitidos propositalmente):
C:\net>java -jar docsdiag.jar
DocsDiag v030720 Copyright 2001-3 Robin Walker rdhw@cam.ac.uk
System up time = 0 days 00h 00m 41.34s
Downstream channel frequency = 843000000 Hz
Downstream received signal power = 0.0 dBmV (or not supported)
Upstream channel frequency = 5000000 Hz
SigQu: Signal to Noise Ratio = -114.9 dB
Cable modem status = Not ready
Upstream transmit signal power = 0.0 dBmV
Repare que a maior parte das informações são inúteis, porque o modem está
desligado. Entretando, descobrimos que o Vírtua desabilitou o protocolo SNMP
(por ele funcionar sem o cabo e logo ao colocar novamente, ele pára de
responder), a marca real do fabricante, o modelo e o sistema operacional
interno. Com alguma pesquisa, é possível descobrir que ele é um modem padrão Data Over Cable Service Interface Specifications 1.1 (DOCSIS 1.1). Também
foi possível encontrar a página oficial com o manual do aparelho. Uma observação: RCA e Thomson têm
websites sofríveis. Navegar por eles é como ir ao dentista numa segunda-feira
de manhã chuvosa: uma merd@ droga.
Esse padrão, desenvolvido pela Cablelabs permite um controle maior, por parte dos administradores de
rede, do cable modem. Eles podem atualizar o firmware remotamente, habilitar e
desabilitar funções, alterar a velocidade do modem para download e upload e
saber, pelo endereço físico (o MAC address), qual o consumo de banda daquele
equipamento.
A porta USB, apesar de possuir um MAC address para ela, está desabilitada.
Uma pena, pois poderia permitir o acesso a dois computadores ao mesmo tempo,
sem a necessidade de um hub, por exemplo.
Para quem não sabia nada sobre o próprio acesso a Internet, estamos
caminhando bem. O modem pertence a duas redes: uma não temos acesso e ele
possui um IP de nível A, 10.12.x.x. A outra rede é para a nossa placa de rede
"enxergar", em modo bridge, fornecendo o acesso a rede primária. Sem
os serviços SNMP, o DocsDiag não teve como verificar o nosso IP da rede Vírtua.
Use o comando tracert www.virtua.com.br. o primeiro IP é o
do Universal Broadband Router (UBR), da figura acima.
Para coletar ainda mais informações, use o comando: C:\net>java -jar
docsdiag.jar -vvv.
Ele vai simplesmente exibir TUDO sobre a configuração do aparelho.
Parte III: Sniffers & Pacotes
Nos dois primeiros artigos, foi explorado o lado estático das informações,
ou seja, as que já estavam disponíveis ao usuário. Com apenas algumas
ferramentas e buscas no Google, foi possível entender melhor a tecnologia
usada pelo Vírtua e de certa forma, qualquer provedor a cabo, já que os
padrões são mundiais.
Agora, vamos explorar o lado dinâmico do acesso à
Internet. A metáfora do título é justamente um cão farejador de pacotes de
correio, só que nesse caso, usamos um programa para "cheirar" pacotes de
dados. Daí o nome em inglês package sniffer. Usaremos um dos mais
completos deles, chamado Ethereal. É open source, freeware e reconhece mais
de 700 protocolos. Na verdade, são dois programas: o Ethereal + WinPCap 3.1 (Windows
Packet Capture). Esse segundo instala um serviço de monitoramento de todo o
tráfego de rede que a sua máquina pode enxergar. Basta fazer o download do
Ethereal mais completo e ele já possui tudo o que você precisa.
O uso é simples. Basta configurar o programa para capturar todo o tráfego
de rede filtrado pelo protocolo UDP. Não inicie imediatamente, pois é
preciso alguns preparativos antes.
Para reduzir o tráfego não intencional, desligue o firewall e qualquer
outro programa que acesse internet, como MSN, Google Talk, Windows Update,
etc. Feche todos os aplicativos que podem requerer acesso. A interferência
desses programas gera tráfego desnecessário para a análise dos pacotes. Em
seguida, desligue o modem desconectando o cabo de força.
Inicie a captura do Ethereal e em seguida, religue o cable modem. Em
alguns segundos, você estará fazendo o sniffing de todos os pacotes de dados
que a placa de rede do seu computador. Esse monitoramento de tráfego é
extremamente útil para quem trabalha com redes. É possível aplicar vários
tipos de filtro e detectar problemas com um grande grau de certeza. Aos
preocupados de plantão, isso não é, de forma alguma, ilegal.
Abaixo, uma amostra do que é visto pelo Ethereal, na inicialização do
modem. Repare que foi aplicado um filtro para a máscara 255.255.255.255,
filtrando ainda mais. Isso facilita a leitura da comunicação entre o router
Cable Modem Termination System (CMTS) e o seu cable modem.
A análise desses pacotes foi o que forneceu as maiores descobertas sobre
o serviço do Vírtua e permitiu várias conclusões também. O Ethereal ficou
ligado durante aproximadamente 3 horas e o arquivo foi salvo para análise. E
aproveitei para fazer vários testes de performance e velocidade com ele,
monitorando o que ocorria, de verdade, na placa de rede e no cable modem.
Como vimos no artigo II, o modem pode e é configurado externamente, pelo
provedor que nesse caso é o Vírtua. Uma das configurações é o IP da máquina,
atribuído pelo router através de um serviço chamado Dynamic Host
Configuration Protocol. O DHCP pode ser usado para outras configurações,
como máscara, gateway, etc. Praticamente todas as informações necessárias
para se conectar àquela rede são fornecidas de forma automática por ele.
Logo após sincronizar a hora, o cable modem tenta encontrar um servidor
de Trivial File Transfer Protocol ou TFTP para fazer o download de um
pequeno arquivo binário de configuração e boot do modem. Nesse arquivo,
estão as configurações de velocidade máxima de download e upload que você
contratou para o serviço, assim como várias outras pertinentes ao serviço,
graças ao DOCSIS. Para a operadora, isso significa que todas as otimizações
podem ser feitas de forma automática sem necessidade de intervenção manual
dos usuários. Quem trabalha com suporte sabe que não há limites para o
estrago que uma pessoa desinformada pode fazer.
O Ethereal é capaz de identificar esses arquivos de forma não intrusiva,
ou seja, não é preciso acessar diretamente o cable modem, basta usar a sua
placa de rede, que enxerga essas informações e ignora tudo, pois não é
direcionado a ela. Essas informações podem ser lidas dentro da área Bootstrap Protocol.
Parte IV: Análise
Depois de feitas as análises dos pacotes de dados, várias informações úteis
foram obtidas pelo Ethereal. Esses dados foram os nomes dos arquivos de
configuração do modem, assim como o IP do Trivial File Transfer Protocol
Server (TFTP Server). Através de técnicas de spoofing e o uso de ferramentas
específicas foi possível fazer o download desses arquivos de configuração.
Antes de continuarmos, um leitor mais leigo pode achar que isso foi uma
invasão de sistemas, mas não houve nada disso. Nada foi feito a não ser
alterar configurações da placa de rede e o uso de softwares específicos.
O serviço do Vírtua possui velocidade variável. Por várias vezes, um
usuário com uma velocidade de até 8Mbps não usa essa largura de banda se está
apenas conversando pelo MSN. Como o Vírtua nada mais é do que uma rede usando
cabo coaxial, é preciso otimizar o seu uso. O servidor de controle envia um
pacote de informações para configurar o cable modem chamado 150_1pc.cm, que é
a velocidade mais baixa do Vírtua. Vejamos o conteúdo dele:
Fácil entender, não? Ele habilita a rede, diz que o download e o upload
ficam em 150kbps e na última linha deixa apenas 1 único computador acessar.
Esse arquivo foi usado quando a tarefa consistia em navegar pela Internet, em
websites de notícias. É claro que vários outros usuários estavam fazendo o
mesmo, mas se alguém fosse fazer um download, poderia ir até o seu limite de
velocidade, com folga.
Ao iniciar o download do Ubuntu Linux, o modem recebeu o arquivo
2000_1pc.cm: network_access = on;
cos {
class_id = 1; max_down_rate = 2000000;
max_up_rate = 300000;
up_chan_prio = 1;
min_up_rate = 0;
max_burst_size = 0;
cos_bpi_enable = disabled;
}
max_num_cpe = 1;
Essa velocidade foi suficiente, já que os servidores não conseguiam enviar
mais rápido. Obs: Informações complementares foram removidas.
No meio da tarde, o serviço estava fora do ar. O download havia acabado e
eu estava apenas escrevendo alguns rascunhos dessa série de artigos. Um
arquivo chamado disable.cm foi enviado para o modem:
E todas as vezes que existem falhas, esse arquivo estava sendo enviado para
o modem. Se o mesmo acata as ordens imediatamente, não foi possível saber, mas
assim que acesso voltou o modem havia recebido o arquivo 300_1pc.cm, que
permitiu assistir um stream de vídeo no ifilm.com.
Esses arquivos são bastante pequenos, variando de 76 bytes até 1337 bytes,
não chegando ao payload de um pacote de dados inteiro (1460 bytes). Em dado
momento, habilitei downloads do eMule e do BitTorrent ao mesmo tempo e o
arquivo 4000_1pc.cm foi enviado ao modem:
Se algum espertalhão acha que é possível alterar a velocidade do modem
subindo um arquivo para o mesmo, não adianta nada. Em questão de minutos o
modem recebe o pacote correto de dados. Além disso, isso seria alterar a
configuração original de um hardware em regime de comodato e seria um "gato"
na conexão. Mas com esse sistema dinâmico, a festa duraria muito pouco.
Não consegui entender o porque do arquivo disable.cm. Parece que ele foi
esquecido no meio dos arquivos para determinar as várias velocidades
disponíveis e ele desliga o acesso a rede até a próxima sincronização.
Em resumo Vírtua atua com um sistema de velocidades dinâmicas, garantindo
uma velocidade alta quando você realmente precisa dela. Existem muitos
servidores com limites na taxa de upload, então não é preciso reservar banda
de 8Mbps se o total consumido naquele instante é de 300kbps. Por várias vezes,
o download começa bem alto e vai caindo. A culpa é, na maioria das vezes, a
taxa máxima de upload do servidor e um arquivo de configuração com velocidade
mais baixa que o normal.
Hoje fiz um experimento em que o download começou em 40kbps e subiu até
480kbps, matendo-se na maior parte do tempo ao redor de 465kbps. E foi
exatamente o que você pensou. A velocidade atingiu o pico máximo quando o
arquivo 4000_1pc.cm foi recebido pelo modem.
Espero que tenham gostado e obrigado por ter lido até aqui.
Custos, Comparações e Dúvidas
Fico muito feliz com a receptividade do artigo sobre o Vírtua. Esse poderia
ser considerado um apêndice ao que foi escrito. Aproveito também para responder
aos comentários.
Comparação com o Velox e Speedy
Os preços praticados pelo Vírtua são competitivos se comparados a outros
serviços de banda larga no Brasil. Um parêntese cabe aqui: o grande vilão dos
custos são os impostos exorbitantes. A banda larga em geral deveria ser 30% mais
barata e com isso mais popular. É fato que a relação com a Internet muda com
conexão rápida e permanente.
Para facilitar as contas, todos os preços foram arredondados. Comparação
entre os planos de entrada do Velox, Vírtua e Speedy, de acordo com os seus
websites:
Observação:
- Ao ultrapassar o limite, não será cobrado MB ou GB adicional. O usuário ficará
com velocidade limitada a 150kbps até o final do mês.
O Velox é o serviço mais caro e foi um dos motivos da minha troca. O plano
300 simplesmente não vale a pena nem mesmo para quem usa casualmente. Ao tentar
desligar, eles ofereceram o plano de 1Mbps pelo preço do Velox 300. Isso seria o
preço justo. Ainda assim, preferi trocar. Fiquei com pena de quem contrata o
Speedy. É o pior plano que eu já vi e espero que os meus amigos de Sampa possam
deixar suas impressões aqui. A franquia de 4GB não dá pra nada hoje em dia. Só
mesmo quem lê e-mail, joga damas online e lê notícias.
O Vírtua apresentou um serviço entry level o dobro da velocidade
mais rápida oferecida pelo Velox e 8 vezes o oferecido pelo Speedy. Não há custo
extra pelo MB, o que ajuda bastante. O serviço é de velocidade variável, mas
eles são atingidos, sob demanda.
Custo x Benefício - Qual o melhor plano?
Fácil, o de 4Mbps. Basta ler a tabela abaixo:
O plano base começa em R$ 100,00. Por 20% a mais de custo, você dobra a
franquia de consumo de 20GB para 40GB e de velocidade nominal disponível de
2Mbps para 4Mbps.
O pior plano é o de 8Mbps. Faça a comparação com o plano de 4GB:
8Mbps é 83% mais caro, mas aumenta a franquia em apenas 50%, para 60GB e 100% de
velocidade.
Uma comparação simplificada com o plano base mostra que:
4Mbps: para cada +1% no custo, +5% de franquia
e +5% de banda.
8Mbps: para cada +1% no custo, +1,7% de
franquia e +2,5% de banda.
O Modem é um Roteador? Posso compartilhar?
Não. Sim. :-)
O modem fornece apenas a conexão em modo bridge, nada mais. O padrão DOCSIS
permite que ele seja configurado para aceitar atualizações de firmware apenas
pela porta coaxial. O mais provável é que ao detectar uma versão diferente, ou
ele pára de funcionar ou é revertido com a versão original.
O compartilhamento da conexão é feito como na figura de esquema simplificado do
artigo II. Basta usar um router desses que vendem no mercado. A configuração
demorou 3 minutos.
O Vírtua é bom?
O serviço é bom e depois de 1 mês de uso, estou satisfeito. A única observação
são os tais arquivos disable.cm enviados ao modem. Resolvendo isso, acabam-se as
falhas de web aleatórias quando você deixa de usar web por um período
prolongado. Nunca aconteceu de um download ser interrompido no meio na madrugada
ou um jogo online falhar por desconexão.
Eu tinha o serviço do Velox e não achava de forma alguma ruim. Apenas achei
que o preço cobrado, comparativamente, estava fora do mercado e resolvi mudar.
Quando eles ofereceram o mesmo preço do plano de 300 para 1Mbps, considerei, e
resolvi migrar para o Vírtua. Posso dizer que ao fazer o primeiro download a
450kB/s é bom demais. Assistir a um stream de 700kbps sem o menor problema, ao
mesmo tempo que fazia um download, também. :-)