最近阅读了《TCP/IP详解 卷1:协议》。作者对“TCP/IP协议族”进行了详细的介绍,让读者对因特网上运行的协议有了一个全面的了解。本书共三十章,协议的总数也很多,不失为一本很好的网络参考书。
我们经常使用“ping”来测试网络的连通性,想必大家对“ping 127.0.0.1”不会感到陌生。本文对“ping”进行简单的介绍,具体请参见原书第7章。
1. 什么是“ping”?
“ping”程序由Mike Muuss编写,目的是为了测试另一台主机是否可达。
该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。它能测出到这台主机的往返时间,以表明该主机离我们有“多远”。此外,“ping”还能检测IP记录路由和时间戳选项。
2. “ping”的应用
用“ping”程序作为诊断工具来深入剖析ICMP。ICMP回显请求和回显应答报文的格式如下表所示。
类型(0或8) |
代码(0) |
检验和 |
标识符 |
序号 |
|
选项数据 |
将发送回显请求的“ping”程序称为客户,将被“ping”的主机称为服务器。“ping”程序可以运行在LAN、WAN、线路SLIP链路和拨号SLIP链路等上面。
在局域网上面运行“ping”程序的结果输出包括:序列号和TTL,同时要计算往返时间。“ping”程序通过在ICMP报文数据中存放发送请求的时间值来计算往返时间。它还为我们提供了查看IP记录路由(RR)选项的机会。
3. 总结
“ping”程序是对两个TCP/IP系统连通性进行测试的基本工具,它只利用ICMP回显请求和回显应答报文,而不用经过传输层。
本文只对“ping”程序进行了粗略的说明,若想了解更多,请上网查询或阅读相关书籍。