Mike Muuss fez seu novo programa funcionar antes do nascer do sol. Naquela altura, seu colega Chuck Kennedy já havia consertado o hardware de rede que o programa deveria investigar. Muuss havia passado a noite construindo uma ferramenta para um problema que desapareceu antes que ele pudesse enviar seu primeiro pacote de teste. Ele chamou o programa de ping.[1]
Em dezembro de 1983, Muuss estava lidando com um comportamento estranho na rede IP do Laboratório de Pesquisa Balística do Exército dos EUA. Uma observação que ele havia ouvido meses antes ofereceu um ponto de partida. Em uma reunião da DARPA na Noruega, em julho daquele ano, Dave Mills havia descrito o uso de ecos eletrônicos para medir o tempo que as mensagens levavam para viajar por um caminho de rede. Muuss se lembrou da ideia e começou a codificar.[1]
Seu programa compilou com sucesso, mas depois se recusou a funcionar. O kernel UNIX subjacente não tinha suporte para os sockets ICMP brutos que seu código precisava. Muuss descreveu-se como "enfurecido". Ele escreveu o suporte de kernel que faltava também, fazendo com que ambas as partes funcionassem antes do amanhecer. Kennedy, conhecido como Kermit, já havia encontrado e reparado o hardware quando Muuss pôde lançar seu primeiro pacote ping.[1]
Muuss havia modelado sistemas de sonar e radar na faculdade, e ele pegou emprestado o som do sonar para o nome. Um pulso viaja para fora; um eco retorna. Seu software usou mensagens já definidas no Protocolo de Mensagens de Controle da Internet: Echo e Echo Reply. O protocolo especificava que a máquina receptora retornasse os dados enviados a ela. Cronometrar essa troca deu a Muuss uma maneira de sondar a jornada para outra máquina e voltar.[1][2]
Em Berkeley, os desenvolvedores incorporaram o código-fonte e suas modificações de kernel ao Berkeley UNIX. O reparo de emergência foi feito sem o ping, mas outras pessoas poderiam usar a próxima cópia sem escrever sua própria correção noturna. Muuss mais tarde descreveu seu programa como um "hack" noturno de mil linhas e brincou que, se soubesse que se tornaria sua conquista mais famosa, talvez tivesse passado mais um ou dois dias adicionando opções.[1]
Um manual moderno do Linux descreve a mesma troca de requisições e respostas, com tempos de ida e volta e estatísticas de perda de pacotes. Ele também oferece uma opção audível. O programa pode produzir um som quando uma resposta chega, permitindo que alguém ouça por uma conexão funcionando em vez de observar cada nova linha aparecer.[3]
Em uma conferência da USENIX, Muuss ouviu uma história sobre um administrador que levou essa ideia de ouvir muito mais longe. De acordo com o relato registrado por Muuss, o homem conectou o ping a um vocoder, alimentou sua saída através do estéreo de seu escritório e aumentou o volume o máximo que pôde suportar. Uma vez por segundo, o computador gritava "Ping, ping, ping..." enquanto ele caminhava pelo prédio, mexendo nos conectores Ethernet.[1]
Muuss chamou-a de a melhor história de ping que ele já havia ouvido. O nome que ele havia emprestado do sonar havia se tornado uma ferramenta audível de localização de falhas: o administrador continuou movendo-se de conector para conector até que os gritos parassem. Esse silêncio lhe disse onde estava a falha intermitente.[1]
Fontes
- Mike Muuss, A História do Programa PING
- RFC 792, Protocolo de Mensagens de Controle da Internet
- Manual do Linux, ping(8)
Foto: Chuck Kennedy (esquerda), Mike Muuss (centro) e Doug Kingston no Laboratório de Pesquisa Balística. Esta fotografia não mostra a noite em que o ping foi escrito. Ron Natalie, Wikimedia Commons, CC BY-SA 4.0. Cortada e redimensionada; derivativa sob a mesma licença.






