TCPIP详解-卷一-协议-72Ping程序_免费下载

TCPIP详解-卷一-协议-72Ping程序_免费下载

ID:42566090

大小:729.99 KB

页数:5页

时间:2019-09-17

TCPIP详解-卷一-协议-72Ping程序_免费下载_第1页
TCPIP详解-卷一-协议-72Ping程序_免费下载_第2页
TCPIP详解-卷一-协议-72Ping程序_免费下载_第3页
TCPIP详解-卷一-协议-72Ping程序_免费下载_第4页
TCPIP详解-卷一-协议-72Ping程序_免费下载_第5页
资源描述:

《TCPIP详解-卷一-协议-72Ping程序_免费下载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、7.2Ping程序我们称发送回显请求的ping程序为客户,而称被ping的主机为服务器。大多数的TCP/IP实现都在内核中直接支持Ping服务器—这种服务器不是一个用户进程(在第6章中描述的两种ICMP查询服务,地址掩码和时间戳请求,也都是直接在内核中进行处理的)。ICMP回显请求和回显应答报文如图7-1所示。类型(0或8)代码(0)标识符选项数据检验和序号8字节图7-1ICMP回显请求和回显应答报文格式对于其他类型的ICMP查询报文,服务器必须响应标识符和序列号字段。另外,客户发送的选项数据必须回显,假设客户对这些信息都会感兴趣。Unix系统在实现ping程序时是

2、把ICMP报文中的标识符字段置成发送进程的ID号。这样即使在同一台主机上同时运行了多个ping程序实例,ping程序也可以识别出返回的信息。序列号从0开始,每发送一次新的回显请求就加1。ping程序打印出返回的每个分组的序列号,允许我们查看是否有分组丢失、失序或重复。IP是一种最好的数据报传递服务,因此这三个条件都有可能发生。旧版本的ping程序曾经以这种模式运行,即每秒发送一个回显请求,并打印出返回的每个回显应答。但是,新版本的实现需要加上-s选项才能以这种模式运行。默认情况下,新版本的ping程序只发送一个回显请求。如果收到回显应答,则输出“hostisaliv

3、e”;否则,在20秒内没有收到应答就输出“noanswer(没有回答)”。7.2.1LAN输出在局域网上运行ping程序的结果输出一般有如下格式:键入中断键来停止显示当返回ICMP回显应答时,要打印出序列号和TTL,并计算往返时间(TTL位于IP首部中的生存时间字段。当前的BSD系统中的ping程序每次收到回显应答时都打印出收到的TTL—有些系统并不这样做。我们将在第8章中通过traceroute程序来介绍TTL的用法)。从上面的输出中可以看出,回显应答是以发送的次序返回的(0,1,2等)。ping程序通过在ICMP报文数据中存放发送请求的时间值来计算往返时间。当应

4、答返回时,用当前时间减去存放在ICMP报文中的时间值,即是往返时间。注意,在发送端bsdi上,往返时间的计算结果都为0ms。这是因为程序使用的计时器分辨率低的原因。BSD/386版本0.9.4系统只能提供10ms级的计时器(在附录B中有更详细的介绍)。在后面的章节中,当我们在具有较高分辨率计时器的系统上(Sun)查看tcpdump输出时会发现,ICMP回显请求和回显应答的时间差在4ms以下。输出的第一行包括目的主机的IP地址,尽管指定的是它的名字(svr4)。这说明名字已经经过解析器被转换成IP地址了。我们将在第14章介绍解析器和DNS。现在,我们发现,如果敲入pi

5、ng命令,几秒钟过后会在第1行打印出IP地址,DNS就是利用这段时间来确定主机名所对应的IP地址。本例中的tcpdump输出如图7-2所示。从发送回显请求到收到回显应答,时间间隔始终为3.7ms。还可以看到,回显请求大约每隔1秒钟发送一次。通常,第1个往返时间值要比其他的大。这是由于目的端的硬件地址不在ARP高速缓存中图7-2在LAN上运行ping程序的结果的缘故。正如我们在第4章中看到的那样,在发送第一个回显请求之前要发送一个ARP请求并接收ARP应答,这需要花费几毫秒的时间。下面的例子说明了这一点:保证ARP高速缓存是空的键入中断键来停止显示第1个RTT中多出的

6、3ms很可能就是因为发送ARP请求和接收ARP应答所花费的时间。这个例子运行在sun主机上,它提供的是具有微秒级分辨率的计时器,但是ping程序只能打印出毫秒级的往返时间。在前面运行于BSD/3860.9.4版上的例子中,打印出来的往返时间值为0ms,这是因为计时器只能提供10ms的误差。下面的例子是BSD/3861.0版的输出,它提供的计时器也具有微秒级的分辨率,因此,ping程序的输出结果也具有较高的分辨率。键入中断键来停止显示7.2.2WAN输出在一个广域网上,结果会有很大的不同。下面的例子是在某个工作日的下午即Internet具有正常通信量时的运行结果:键入

7、中断来停止显示这里,序列号为1、2、3、4、6、10、11、12和13的回显请求或回显应答在某个地方丢失了。另外,我们注意到往返时间发生了很大的变化(像52%这样高的分组丢失率是不正常的。即使是在工作日的下午,对于Internet来说也是不正常的)。通过广域网还有可能看到重复的分组(即相同序列号的分组被打印两次或更多次),失序的分组(序列号为N+1的分组在序列号为N的分组之前被打印)。7.2.3线路SLIP链接让我们再来看看SLIP链路上的往返时间,因为它们经常运行于低速的异步方式,如9600b/s或更低。回想我们在2.10节计算的串行线路吞吐量。针对这个例子,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。