历史与人物ftp.arl.army.mil
Ping 程序的故事
The Story of the Ping Program
2013 — 2019,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 ping 程序作者 Mike Muuss 写下的《The Story of the Ping Program》,讲述这个最常用的网络诊断工具如何诞生,以及早期网络工程师围绕它留下的轶事。页面篇幅不长,但保留了 Unix/互联网早期调试文化的一手记录。
为什么经久不衰:它既解释了每天都会用到的 ping 从何而来,也保留了早期互联网工程师用简陋工具解决真实故障的创造力和幽默感,因此多年后仍值得一读。
HN 评论精选
把 ping 的连通性输出变成声音,用听诊式排查定位以太网接触不良。
这个故事是我最喜欢的部分:……我听过最棒的 ping 故事是在 USENIX 会议上,一位网络管理员遇到间歇性以太网故障,他把 ping 接到声码器上,相当于写了:ping goodhost | sed -e 's/.*/ping/' | vocoder。他把声码器输出接到办公室音响,音量调到最大,电脑每秒喊一声“Ping, ping, ping...”,他则在楼里到处晃、扭动以太网接头,直到声音停止——就这样找到了间歇性故障。
lkrubner查看英文原文
This story was my favorite part: : : : : : The best ping story I've ever heard was told to me at a USENIX conference, where a network administrator with an intermittent Ethernet had linked the ping program to his vocoder program, in essence writing: ping goodhost | sed -e 's/.*/ping/' | vocoder He wired the vocoder's output into his office stereo and turned up the volume as loud as he could stand. The computer sat there shouting "Ping, ping, ping..." once a second, and he wandered through the building wiggling Ethernet connectors until the sound stopped. And that's how he found the intermittent failure.
惋惜 Mike Muuss 英年早逝,并引用讣告说明其工作遗产。
有趣的故事,我很喜欢声码器这个点子!遗憾的是 Mike 已于 2000 年去世:……Mike Muuss 于 2000 年 11 月 20 日在一场车祸中丧生。他的工作继续见证着他的才智和不屈精神。—— Lee A. Butler
jameswyse查看英文原文
Interesting story, I loved the vocoder idea! Sadly Mike passed away in 2000: Sadly, Mike Muuss was killed in an automobile accident on November 20, 2000. His work lives on in testament to his intellect and indomitable spirit -- Lee A. Butler
补充 ICMP 早于 ping、traceroute 利用 TTL 的巧思,以及不同系统实现差异等技术史。
有意思的是,ICMP ECHO_REQUEST 和 ECHO_REPLY 早于 ping 程序就存在了,由 1981 年 9 月的 RFC 792 定义。我猜 Unix 主机当时已经在回应 ECHO_REQUEST,尽管直到 1989 年的 RFC 1122 才规定要这样做。Phil Dykstra 给 PING 加了 ICMP Record Route 支持,但早期很少有路由器处理它;我的互联网生涯始于 1995 年,从不知道有路由器会这么做。当 LBL 的 Van Jacobson 利用我的内核 ICMP 支持写出 TRACEROUTE 时,我嫉妒得发狂,因为他意识到可以调制 IP TTL 字段来获得 ICMP Time-to-Live Exceeded 消息。真正的 traceroute 使用 UDP 数据报,因为路由器不应该为 ICMP 消息生成 ICMP 错误消息;Windows 版默认用 ICMP,Unix 版现在也可以要求这么做。
js2查看英文原文
It's interesting that ICMP ECHO_REQUEST and ECHO_REPLY predate the ping program. But indeed they are defined by http://tools.ietf.org/html/rfc792 from Sep 1981. I guess that Unix hosts were already replying to ECHO_REQUESTs even though this isn't prescribed till http://tools.ietf.org/html/rfc1122#page-42 from 1989. But I wonder what was sending ECHO_REQUEST before ping? The only other standard use of these packets I know of today is DHCP servers before handing out a lease to ensure a host isn't already using a given IP. Phil Dykstra added ICMP Record Route support to PING, but in those early days few routers processed them It must have been a narrow window in time when routers respected this option. My Internet career goes back to 1995 and I've never known a router to do so. I was insanely jealous when Van Jacobson of LBL used my kernel ICMP support to write TRACEROUTE, by realizing that he could get ICMP Time-to-Live Exceeded messages when pinging by modulating the IP time to life (TTL) field. I wish I had thought of that! :-) Asking a candidate to figure out how traceroute works is one of my interview questions, but if the author of ping didn't think of it, maybe I should drop the question. :) The real traceroute uses UDP datagrams because routers aren't supposed to generate ICMP error messages for ICMP messages. The Windows version I believe uses ICMP by default, and the Unix version, these days, can be asked to. I had always heard that routers do reply to ICMP, but at a lower priority.
Mike Muuss 还创作了 BRL-CAD,并作为早期 Unix 网络先驱出现在《The Cuckoo's Egg》中。
顺便说一句,Mike 也是 BRL-CAD 的作者:……他还出现在 Clifford Stoll 的《The Cuckoo's Egg》(1989)中,这本书对任何对这类文章感兴趣的人来说都是必读,它促成了美国后来许多网络犯罪协调机制(如 US-CERT 等)。书中写道:“……Mike Muuss 是 Ballistic Research Laboratory 的计算机负责人。Mike Muuss 在 Unix 社区因作为网络先驱和‘用优雅程序替代笨拙程序’的创造者而闻名。按 Mike 的说法,好程序不是写出来或搭出来的,而是长出来的。他身高六英尺、留胡子、爱跑步,极其驱动、紧张而执着。Mike 从 70 年代的古老 Unix 版本一路摸爬滚打过来。当 Mike 说话时,其他巫师会听。” RIP。
cat199查看英文原文
also the author of brl-cad, fwiw: https://en.wikipedia.org/wiki/BRL-CAD here, by a PDP/11 (not sure which person he is): https://en.wikipedia.org/wiki/BRL-CAD#/media/File:Pdp11,70_640x507.jpg and mentioned in Clifford Stolls book 'the cuckoos egg' (1989): https://en.wikipedia.org/wiki/The_Cuckoo%27s_Egg which is a complete must read story for anyone interested in this kind of article and led to much of the current cyber-crime coordination in the US (e.g. US-CERT, etc). from that book: "On the heels of Steve's call, Mike Muuss of the Ballistic Research Laboratory called. In Aberdeen, Maryland, the Army runs a research and development laboratory; it's one of the last government labs that doesn't farm out its research to private contractors. Mike's their computer honcho. Mike Muuss's famous throughout the Unix community as a pioneer in networking and as a creator of elegant programs to replace awkward ones. As Mike puts it, good programs aren't written or built. They're grown. A six-foot-tall, mustached runner, he's incredibly driven, intense, and obsessed. Mike's paid his dues on ancient versions of Unix, dating back to the '70s. When Mike talks, other wizards listen." RIP.
历次讨论
同类还值得读
开发者无薪坚持完成 Mac 图形计算器:一个秘密项目的故事
Dev stays without pay to finish Mac Graphing Calculator as skunkworks project
苹果 Mac 图形计算器(Graphing Calculator)开发者的亲述:在项目被砍后,几位工程师在没有报酬、没有正式授权的情况下,以“地下项目”方式偷偷留在公司把软件做完…
历史与人物上首页 6 次 · 2009–2022pacifict.com理查德·费曼与 Connection Machine
Richard Feynman and the Connection Machine
长文回忆费曼晚年参与 Connection Machine 并行计算机项目的经历:他分析路由器、用自创的并行 Basic 编写 QCD 程序,也涉足细胞自动机等主题。
历史与人物上首页 5 次 · 2010–2021longnow.org编辑精选负 2000 行代码
-2000 Lines of Code
folklore.org 上 Andy Hertzfeld 记录的一则苹果 Macintosh 开发轶事:Bill Atkinson 被问到写了多少行代码时,回答“-2000 行…
历史与人物上首页 4 次 · 2014–2022folklore.org编辑精选Dennis Ritchie 的第一版 C 编译器(约 1972 年)
Dennis Ritchie’s first C compiler (c. 1972)
这个 GitHub 仓库保存了 Dennis Ritchie 约 1972 年编写的最早 C 编译器源码,是 C 语言和 Unix 早期历史的一手材料。
历史与人物上首页 4 次 · 2013–2025github.com一位破解赛马密码的赌徒
A Gambler Who Cracked the Horse-Racing Code (2018)
彭博社 2018 年的长篇特写,讲述数学家 Bill Benter 如何用统计模型和算法在赛马博彩中持续盈利、累计赢得近十亿美元的故事。
历史与人物上首页 4 次 · 2018–2024bloomberg.com