Recentemente começou a aparecer nas redes sociais um tal traceroute 216.81.59.173, principalmente na timeline dos nerds de plantão. A brincadeira me fez lembra do meu velho exemplar do TCP/IP Illustrated, Volume 1, companheiro inseparável de muitas noites de estudo no início da minha carreira.

Se você abrir um terminal e executar esse comando vai acompanhar uma breve narrativa do episódio IV do Star Wars, subtítulo A New Hope. Se não tiver acesso a um terminal agora, ou não fazer ideia do que seja um, segue a transcrição do output, a diversão começa na linha, ou melhor, no hop 12 (explicação continua abaixo):

traceroute to 216.81.59.173 (216.81.59.173), 60 hops max, 60 byte packets
 1  * * *
 2  core-cce-b.uspnet.usp.br (143.107.255.225)  0.286 ms  0.498 ms  0.481 ms
 3  border1.uspnet.usp.br (143.107.251.29)  0.455 ms  0.438 ms  0.419 ms
 4  border1.uspnet.usp.br (143.107.151.161)  0.388 ms  0.369 ms  0.348 ms
 5  ansp.ptta.ansp.br (200.136.37.1)  21.547 ms  22.028 ms  22.501 ms
 6  198.32.252.141 (198.32.252.141)  112.654 ms  112.596 ms  112.558 ms
 7  198.32.252.121 (198.32.252.121)  112.772 ms  112.758 ms  112.740 ms
 8  nota.he.net (198.32.124.176)  116.449 ms  116.433 ms  116.660 ms
 9  10gigabitethernet1-1.core1.atl1.he.net (72.52.92.53)  129.879 ms  136.125 ms  131.046 ms
10  216.66.0.26 (216.66.0.26)  128.375 ms  130.013 ms  128.436 ms
11  * * *
12  Episode.IV (206.214.251.1)  168.720 ms  167.804 ms  167.252 ms
13  A.NEW.HOPE (206.214.251.6)  165.508 ms  167.729 ms  170.453 ms
14  It.is.a.period.of.civil.war (206.214.251.9)  169.027 ms  167.939 ms  170.261 ms
15  Rebel.spaceships (206.214.251.14)  172.063 ms  165.807 ms  170.324 ms
16  striking.from.a.hidden.base (206.214.251.17)  167.850 ms  168.486 ms  168.580 ms
17  have.won.their.first.victory (206.214.251.22)  166.301 ms  166.834 ms  167.842 ms
18  against.the.evil.Galactic.Empire (206.214.251.25)  164.308 ms  166.784 ms  164.027 ms
19  During.the.battle (206.214.251.30)  165.552 ms  163.835 ms  165.087 ms
20  Rebel.spies.managed (206.214.251.33)  165.282 ms  166.572 ms  170.600 ms
21  to.steal.secret.plans (206.214.251.38)  167.065 ms  166.779 ms  166.830 ms
22  to.the.Empires.ultimate.weapon (206.214.251.41)  170.259 ms  165.588 ms  167.586 ms
23  the.DEATH.STAR (206.214.251.46)  172.321 ms  170.072 ms  169.074 ms
24  an.armored.space.station (206.214.251.49)  168.072 ms  168.330 ms  168.039 ms
25  with.enough.power.to (206.214.251.54)  167.302 ms  167.294 ms  170.548 ms
26  destroy.an.entire.planet (206.214.251.57)  172.318 ms  172.059 ms  175.301 ms
27  Pursued.by.the.Empires (206.214.251.62)  165.316 ms  166.312 ms  165.352 ms
28  sinister.agents (206.214.251.65)  170.036 ms  168.047 ms  173.518 ms
29  Princess.Leia.races.home (206.214.251.70)  172.530 ms  172.837 ms  169.583 ms
30  aboard.her.starship (206.214.251.73)  172.313 ms  169.312 ms  170.563 ms
31  custodian.of.the.stolen.plans (206.214.251.78)  167.833 ms  170.021 ms  167.572 ms
32  that.can.save.her (206.214.251.81)  164.322 ms  167.323 ms  167.041 ms
33  people.and.restore (206.214.251.86)  167.090 ms  168.578 ms  171.545 ms
34  freedom.to.the.galaxy (206.214.251.89)  169.540 ms  170.818 ms  168.773 ms
35  0-------------------0 (206.214.251.94)  168.555 ms  167.545 ms  168.317 ms
36  0------------------0 (206.214.251.97)  174.582 ms  173.029 ms  173.281 ms
37  0-----------------0 (206.214.251.102)  167.553 ms  170.065 ms  173.312 ms
38  0----------------0 (206.214.251.105)  168.792 ms  169.281 ms  171.263 ms
39  0---------------0 (206.214.251.110)  169.041 ms  169.077 ms  168.319 ms
40  0--------------0 (206.214.251.113)  167.067 ms  164.551 ms  169.831 ms
41  0-------------0 (206.214.251.118)  164.025 ms  168.297 ms  171.813 ms
42  0------------0 (206.214.251.121)  171.812 ms  169.807 ms  167.839 ms
43  0-----------0 (206.214.251.126)  168.283 ms  170.559 ms  169.083 ms
44  0----------0 (206.214.251.129)  167.549 ms  166.817 ms  165.801 ms
45  0---------0 (206.214.251.134)  170.795 ms  171.555 ms  178.795 ms
46  0--------0 (206.214.251.137)  173.055 ms  173.551 ms  172.317 ms
47  0-------0 (206.214.251.142)  171.094 ms  174.834 ms  175.022 ms
48  0------0 (206.214.251.145)  167.540 ms  174.764 ms  171.814 ms
49  0-----0 (206.214.251.150)  176.053 ms * *
50  0----0 (206.214.251.153)  171.321 ms  172.058 ms  169.066 ms
51  0---0 (206.214.251.158)  171.304 ms  171.034 ms  172.535 ms
52  0--0 (206.214.251.161)  171.538 ms  169.066 ms  172.297 ms
53  0-0 (206.214.251.166)  172.799 ms  174.304 ms  172.073 ms
54  00 (206.214.251.169)  173.508 ms  167.787 ms  174.312 ms
55  I (206.214.251.174)  173.798 ms  173.553 ms  172.784 ms
56  By.Ryan.Werber (206.214.251.177)  171.306 ms  171.571 ms  172.280 ms
57  When.CCIEs.Get.Bored (206.214.251.182)  175.548 ms  175.313 ms  171.303 ms
58  read.more.at.beaglenetworks.net (206.214.251.185)  171.546 ms *  170.319 ms
59  FIN (206.214.251.190)  170.330 ms * *

Pra quem não sabe o que o traceroute faz, muito menos o que significa esses pequenos trechos de texto com pontos no lugar de espaços, seguido de um monte de números em cada linha, não tem graça nenhuma, realmente. Mas é exatamente aí que mora toda a beleza da coisa.

O traceroute é uma ferramenta de testes para redes TCP/IP e, como o nome sugere, exibe o caminho a partir do computador onde está sendo executado, até o endereço de destino, no caso o 216.81.59.173. O mecanismo utilizado pra mapear esse caminho não é tão relevante aqui, basta saber que o traceroute envia pacotes especialmente preparados para cada equipamento no caminho para descobrir seu endereço e tempo de reposta. Se quiser saber mais detalhes comece pelo artigo na wikipedia.

Cada linha mostrada acima representa um roteador no caminho entre seu computador e o computador de destino. Roteador é um equipamento que conecta duas ou mais redes, por exemplo esse popularmente conhecido roteador Wi-Fi que você tem aí na sua casa, ele conecta a rede da operadora com a sua rede interna, no caso uma rede sem fio. Depois, dentro da operadora existem algumas dezenas ou centenas de roteadores que se conectam a redes de outras operadoras, e assim vai, formando uma rede mundial também conhecida como Internet :)

Cada linha do traceroute é formada pelo hostname, o endereço IP associado a esse nome, e os tempos de reposta dos pacotes enviados pelo traceroute. Como você pode deduzir, a história é contada através do hostname de cada roteador, que nada mais é que um nome amigável dado a cada equipamento de forma a facilitar sua identificação pelos humanos.

Esse hostname é descoberto através de uma consulta a um serviço de nomes, chamado DNS (Domain Name System), o mesmo que transforma um endereço como www.google.com em um endereço IP que os computadores utilizam para se comunicar. Mas no caso do traceroute a operação é inversa, pois ele descobre o endereço IP de cada roteador e o traduz para um nome. Essa operação é chamada de DNS reverso, e é realizada através de registros no domínio especial .in-addr.arpa.

Ou seja, o autor da brincadeira, Mr. Ryan Werber, registrou o nome reverso de cada endereço IP que faz parte do caminho até o host 216.81.59.173. Por exemplo, ele registro ou nome Episode.IV para o IP 206.214.251.1, o nome “A.NEW.HOPE” para o endereço 206.214.251.6 e assim por diante.

Claro que esse ambiente foi especialmente preparado para contar a história, pois dificilmente são necessários tantos hops (roteadores no caminho) para se alcançar um destino. Repare que todos os endereços do caminho começam com 206.214.251.x, que faz parte de uma rede controlada pela Epik Networks, Inc..

Esse trabalho todo pra contar essa história tão querida é o que torna a brincadeira especial.

May the Force be with you!


comments powered by Disqus

leia também...

jmeter-reports

Nas últimas semanas dediquei boa parte do meu tempo trabalhando em testes de performance do Abril ID, o sistema de autenticação utilizado por quase todos os sites da casa.Utilizamos o...

Java JDK 1.5 no OS X Lion e Mountain Lion

Basicamente segui os passos descritos no artigo Java 1.5 for OS X Mountain Lion, exceto que não usei o Pacifist nos passos 6 e 7 (20 pratas pra extrair um...

Mongo on Rails no MongoDB São Paulo

No dia 13 de Julho tivemos o evendo anual MongoDB São Paulo, que pela primeira vez realizado inteiramente pela 10gen, empresa responsável pelo desenvolvimento do MongoDB e que inclusive está abrindo um escritório...

Monitoração da JVM via JMX e SNMP

Este post apresenta de forma sucinta os passos necessários para configuração dos agentes JMX e SNMP na Máquina Virtual Java (JVM) assim como exemplos de utilização das ferramentas jconsole e snmpwalk para monitoração. Esse...