腾讯 也是没想到|屡次让腾讯上热搜的ping 发明人英年早逝:留下千行源码改变( 二 )
事情源于1983年12月的一天 , Muuss在阿伯丁试验场的弹道研究实验室(BRL)中做实验时 , 突然发现实验室的IP网络出现了异常情况 。
这时候 , 他回忆起几个月前 , 自己曾参与过一次DARPA在挪威举办的研讨会 , 会上一位名叫DaveMills的博士 , 提到过用ICMP数据包测试延迟的方法 。
Muuss认为 , 这个工具的原理 , 就像是发射声波并接收它的回波以计算往返时间一样 。
刚好Muuss在大学的时候学过不少声呐和雷达系统的建模 , 他很快写了一个程序 , 并将之命名为ping , 在声呐中指代声音脉冲、也就是信号的意思 。
随后 , Muuss只用了一晚上 , 就将ping的程序写了出来 。
虽然写出来的时候 , 他所在的实验室已经将网络问题解决了 , 但Muuss还是将它作为一个公有领域软件(publicdomainsoftware , 使用时无需许可证)发布了出去 。
很快加州大学伯克利分校的ErickEngelke发现了这份软件 , 将它改写了一版(遵循GPL开源协议) , 放入伯克利自己开发的Unix操作系统BSD4.3版本中 。
随后 , 计算机工程师TimCrawford又基于MIT开源协议 , 写了一个ReactOS版本的ping代码 。
再之后 , ping被各个计算机大牛写入各种操作系统如macOS、Linux和Windows中 , 又加入了更多的功能 。
如今我们看到的各个系统中自带的ping工具 , 早已经不是最初那个ping.shar程序了 , 其功能和用法都要丰富得多 。
那么 , 如今的ping放到计算机上来说 , 究竟是一个怎样的工具呢?
ping的基本原理
许多计算机发烧友可能会说 , 自己ping用得贼6 。
不过 , 大伙儿知道ping是如何工作的吗?
知其然 , 不妨也了解一下背后的所以然:
ping , 是网络结构里应用层的一个网络管理命令 , 是判断两台主机或路由节点之间网络是否畅通的重要手段 。
简单来说:如果两台主机“ping”得通 , 说明它们之间可以建立连接 。
文章图片
一个小知识:公网(因特网)IP地址具有唯一性 。
这就像你在世界范围(公网)内的一栋楼(主机or路由节点等)里工作 , 这栋楼的地址(IP地址)相对世界来说是唯一的 , 不过楼里面的其他门牌号(内网IP地址)则不一定是唯一的 。
【腾讯 也是没想到|屡次让腾讯上热搜的ping 发明人英年早逝:留下千行源码改变】利用这一特性 , 我们就能用ping测试两台主机或路由节点中的网络连通性 。
具体来说 , 就是使用ping命令 , 先给目标IP地址发送一个遵循ICMP协议的数据包(echorequest) 。
然后可以根据返回数据包的情况(丢包、速度等) , 检查主机或路由节点之间的网络状态 。
Emm…ICMP协议又是什么?
它的全称是:InternetControlMessageProtocol , 即因特网控制报文协议 , ICMP报文封装在IP包里 。
所谓“控制” , 即在IP主机、路由节点之间传递控制消息 , 来反映数据包是否成功到达目标端 , 以及反映网络状况等 。
在IP通信中 , 当IP包成功到达目标地址并返回时 , 会收到ping应答;而当IP包因为某原因 , 未能成功到达目标地址、或未能成功从目标地址返回时 , ICMP返回的数据包中将含有具体原因 , 如:网络不可达、端口不可达等 。
怎样ping起来
下面介绍一下ping的基本操作 。
ping命令在各个常见的操作系统中通用 , 这里以macOS为例:
从Finder中找到“终端” 。
文章图片
- 淘宝|它什么都能做到,马斯克为微信打call,网友评论亮了“不会想买腾讯吧”!
- 腾讯音乐|马斯克盛赞腾讯微信,引发网友很多猜想,太脑洞了
- 腾讯|腾讯广告业务下滑的原因
- 市值暴跌3万亿港元,腾讯向国产手机品牌巨头“开刀”!
- 腾讯音乐|腾讯音乐的护城河被填平后
- 腾讯|格局!腾讯回应未获得首批游戏版号:先让小公司回血更要紧
- 腾讯|SEO排名推广效果不好,你知道为什么吗?
- 互联网|屡次让腾讯上热搜的ping 发明人英年早逝:留下千行源码改变世界
- 马化腾的腰好了,腾讯却躺不下去
- 研发领域|腾讯今年一季度营收1354.7亿元