Você está tirando o máximo do seu traceroute?

Quem trabalha com redes eventualemente já deve ter se deparado com um utilitário chamado traceroute. Trata-se de um utilitário presente em diversos sistemas operacionais, e que já vêm embutido na maior parte das versões do Windows e distros Linux/BSD.

Estou aqui para defender que este pequeno utilitário tem que estar na lista de utilitários de diagnóstico, se você quer ser um profissional de Redes/Infra que se preze. Já resolvi diversos problemas com o traceroute no dia-a-dia, então gostaria de compartilhar com vocês o pouco que sei sobre esta ferramenta.

Antes de chegar à melhor parte, precisamos entender que o traceroute se baseia em mensagens ICMP do tipo TTL Timeout. Como o ICMP é parte da pilha TCP/IP, praticamente todas as máquinas na rede estão aptas a tratar este tipo de mensagem.

O TTL é um mecanismo que protege a rede contra loops de roteamento, e tem um funcionamento bem simples: a cada roteador que o pacote atravessa, ou seja, a cada “hop”, o valor do TTL é subtraído. Caso o valor chegue em “0”, o pacote automaticamente é descartado. Isto permite que erros de rota não criem pacotes “zumbis” que ficariam eternamente sendo roteados sem nunca chegar ao destino e consumindo preciosos recursos da rede.

Já o TTL Timeout é uma mensagem que é disparada pelo roteador toda vez que ele verifica um pacote com TTL=0 e o descarta. Naturalmente o pacote é enviado de volta ao remetente original do pacote, isto permite ao remetente ser avisado que o pacote foi descartado, e uma boa parte dos roteadores envia estas mensagens.

Vamos ao traceroute: o traceroute funciona basicamente enviando pacotes a um destino em conjuntos de 3, com uma pitadinha de tempero: ele manipula o valor do TTL de forma tal que o pacote será descartado pelos roteadores no caminho do seu destino, ou seja, ele envia pacotes inicialmente com TTL=1, depois com TTL=2, depois com TTL=4 e por aí vai.

Vamos entender o processo: o primeiro roteador que receber este pacote, com TTL=1, irá subtrair o TTL e verificará que o TTL será igual a 0. Como já vimos, isto vai causar o descarte/drop do pacote e o roteador irá enviar uma mensagem ICMP TTL Timeout de volta para o remetente. Aí começa a mágica. No pacote, o roteador estampa o seu IP, permitindo ao remetente saber de qual roteador na internet/lan veio a mensagem. A saída do traceroute imprime na tela os tempos de resposta para cada um dos pacotes recebidos do roteador. Normalmente a saída é algo assim:

C:Usersusername>tracert google.com

Rastreando a rota para google.com [64.233.163.104]
com no máximo 30 saltos:

1     1 ms    <1 ms    <1 ms  192.168.1.1

O processo se repete, desta vez com o TTL=2, em seguida com TTL=3, até que o pacote chegue ao roteador da rede de destino ou estoure o limite (que por padrão, no windows 7, são 30 hops, mas pode ser alterado).

Em alguns casos, não se recebe retorno de algum roteador. Isto pode ser causado por um filtro/firewall/acl/configuração no próprio roteador ou na rede em que ele se encontra. Observe a saída abaixo, onde o 2o. roteador no caminho não enviou nenhuma mensagem ICMP Timeout:

C:Usersusername>tracert google.com
Rastreando a rota para google.com [64.233.163.104]
com no máximo 30 saltos:
1     1 ms    <1 ms    <1 ms  192.168.1.1
2     *        *        *     Esgotado o tempo limite do pedido.
3    77 ms    12 ms    70 ms  161.servidor.supercabo.com.br [189.124.128.161]

Moral da história: o traceroute te permite mapear os roteadores no caminho de um determinado destino. Nos exemplos mostrados acima, disparei um traceroute com destino google.com. Como no meu ambiente de rede de onde escrevo este post há um roteador, ele aparece logo no primeiro “hop” da listagem. O 3o roteador no caminho está já na rede da Cabo Telecom em Natal. Não omiti a resolução DNS na saída porque esta informação já é pública.

Outro poderoso aspecto que a saída do traceroute esconde é que é possível verificar até roteadores dentro de redes locais (inclusive com IPs privados, a exemplo das faixas 10.0.0.0/8, 182.16.0.0/16 e 192.168.0.0/24), que a princípio não estão disponíveis para serem alcançados diretamente via IPs públicos.

Espero ter mostrado um pouco do poder do traceroute e incentivo os profissionais de redes a usá-lo para auxiliar no diagnóstico de problemas de conectividade.

Publicidade

Tradutor Universal: Breve em um Celular perto de você

Caramba, eu já vinha acompanhando a evolução dos serviços de tradução do Google, e meio que já esperava isso, mas não dá pra deixar de ficar impressionado. O que o Google anunciou hoje é nada mais nada menos que um tradutor universal, um aplicativo para celular que recebe uma frase em um idioma e traduz para outro, sintetizando a voz no idioma de destino.

O que me vem a cabeça são os computadores do seriado Star Trek, aonde é possível se comunicar em qualquer idioma (incluindo de outras raças alienígenas), two-way. Quem sabe um dia a gente chega lá. Eu diria que estamos bastante perto, com uma pequena diferença que os computadores ainda não entendem exatamente o que queremos (talvez nem mesmo nós humanos consigamos nos entender, mas isso é assunto pra outro post).

O aplicativo do Google permite, por exemplo, a comunicação instantânea e sem intermediários de um nativo alemão e um nativo brasileiro, cada um falando em seu idioma de berço. As possibilidades são enormes. As viagens vão mudar. O turismo vai mudar. A internet vai mudar. O mundo vai mudar.

Confira post da Veja Online sobre o assunto: http://veja.abril.com.br/noticia/vida-digital/google-apresenta-tradutor-de-voz-e-servico-de-tv-em-feira

Website Analytics: Bounce Rates

Quando se analiza os dados de tráfego que um website recebe, usando ferramentas como o Google Analytics, várias informações são apresentadas, e muitas vezes estas informações não dizem muito a quem não tem conhecimento do significado de certos termos.

Eu estou aprendendo sobre Web Analytics, então estou longe de ser um especialista. Porém, como todo bom curioso, o Google é meu amigo, e acontece que acabei caindo num artigo que achei bastante interessante. O artigo fala sobre diversos aspectos e termos a respeito de Web Analytics, o link para ele está no final deste post.

Um destes termos é o “bounce rate”. Bounce rate é a quantidade de visitantes de um determinado site que, após abrir a primeira página, sai do site sem ir para outros item ou subpágina. O bouce rate é normalmente expressado como uma percentagem.

O bounce rate pode indicar problemas com os visitantes do site. Se o visitando chega na página mas não clica em nada, isso pode indicar problemas. Naturalmente isto não é uma regra, e vai variar bastante com o tipo do site e o conteúdo exibido. Um post de blog, por exemplo, que foi indexado pelo Google, naturalmente vai ter um alto índice de bounce rate, pois muitos visitantes virão da máquina de busca e não irão encontrar o que estão procurando.

O artigo que falei coloca como valores razoáveis de bouce rate algo em torno de 30%, sendo que 50% pode ser um motivo para preocupação.

Artigo que originou este post: http://sixrevisions.com/usabilityaccessibility/unleashing-the-power-of-website-analytics/

Mais um recurso legal do GMail

Hoje o Google soltou mais um recurso em beta para o GMail. Não paro de me impressionar com empresas com o Google e a Apple.

O nome do recuros é Priority Inbox. A idéia, como usual é simples, mas bastante útil. Pra quem recebe muitos emails, que tal separar os emails mais importantes?

Muitas vezes acontece comigo. Eu sou heavy-user de email, sem filtragem, recebo 200+ mensagens por dia, e mesmo com meus filtros, às vezes acabo demorando para dar resposta a um email que é mais importante que os demais.

Pois é, o Google promete que vai me ajudar. Gostei da idéia. Habilitei o recurso, vamo testar pra ver no que dá.