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!