2013-08-27 15:44:52


  • 第7章 Ping程序

  • 7.1 引言

“ping”这个名字来源于声纳定为操作。Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。

一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那台主机。反过来,如果不能Telnet到某太主机,那么通常可以用Ping程序来确定问题出在哪里。Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”。

随着Internet安全意识的增强,出现了提供访问控制清单的路由器和防火墙,那么像上面没有限定的断言就不再成立了。一台主机的可达性可能不只取决于IP层是否可达,还取决于使用何种协议以及端口号。Ping程序的运行结果可能显示某台主机不可达,但我们可以用Telnet远程登录到该主机的25号端口(邮件服务器)。

  • 7.2 Ping程序

我们称发送回显请求的ping程序为客户,而称被ping的主机为服务器。大多数TCP/IP实现都在内核中直接支持Ping服务器——这种服务器不是一个用户进程。

ICMP回显请求和回显应答报文格式如下:

标识符:为发送ping进程的ID号。

序号:从0开始,每发送一次新的回显请求就加1。ping程序打印处返回的每个分组的序号,允许我们查看是否有分组丢失、失序或重复。

  • 7.2.1 LAN输出

上图为在局域网运行ping程序的输出结果。从上面的输出中可以看出,回显应答是以发送的次序返回的(0,1,2等)。

上图中的往返时间(time)都为0ms,这是由于作者主机程序使用的计时器分辨率较低的缘故。当应答返回时,用当前时间减去存放在ICMP报文中的时间值,即是往返时间(这和ICMP时间戳请求-应答的原理基本相同)。

上图是tcpdump的抓包结果。通常,第一个往返时间值要比其他的大,这是因为目的端的硬件地址不再ARP告诉缓存中的缘故。正如第四章所讲的,在发送第一个回显请求之前要发送一个ARP请求并接收ARP应答,这需要花费几毫秒的时间。

  • 7.2.2 WAN输出

这里序号就不像局域网那样连续了,我们发现有52%的丢包率,虽然在广域网上丢包现象很普遍,但是52%的丢包率显然是不正常的。通过广域网我们可能看到重复的分组(序号相同),失序的分组(序列号不是降序排列)。

  • 7.2.3 线路SLIP链接

SLIP是串行线路所以传输速度很慢,我们第2章有学过串行线路吞吐量的计算。图中的输出结果是已经将slip网络的传输速率降到了1200b/s,这样做是为了能够产生一些特殊的结果。而ping程序发送的ICMP报文有56个字节,加上20个字节的IP首部和8个字节的ICMP首部以及2个字节的起始位和结束位,共86字节。所以往返时间大约为1433(86 * 8.33 * 2)ms。

上面的输出可以证实我们的计算,由于程序每个1s发送一个ICMP回显请求,但是要等1.48s才能接受一个应答,因此在第一条应答返回之前已经发出去两条回显请求(0s和1s时)。这就是为什么最后会显示丢失一个分组,实际上并没有丢失,而是在计算丢失率的时候,它正在返回途中。

  • 7.2.4 拨号SLIP链路

在拨号SLIP链路的两端增加了调制解调器,调制解调器会带来包括数据压缩、错误控制等功能。而带来的影响就有:调制解调器本身的时延,随着数据压缩导致分组长度减少,使用错误控制协议分组长度增加,接收端的调制解调只能验证循环检验字符后才能释放数据,处理每端计算机异步串行接口。这种种影响导致RTT(往返时间)从大变小,并最终保持稳定,且其具体值或范围难以提起推算。

『TCP/IP详解——卷一:协议』读书笔记——18的更多相关文章

  1. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  2. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  3. 『TCP/IP详解——卷一:协议』读书笔记——14

    2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其 ...

  4. 『TCP/IP详解——卷一:协议』读书笔记——13

    2013-08-24 16:03:39 4.6 ARP代理 ARP代理(Proxy ARP):如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求.这样可 ...

  5. 『TCP/IP详解——卷一:协议』读书笔记——11

    2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议. ...

  6. 『TCP/IP详解——卷一:协议』读书笔记——07

    2013-08-20 17:51:49 第三章 IP:网际协议 3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP和IGMP数据都以IP数据报格式传输.再来看一下图 ...

  7. 『TCP/IP详解——卷一:协议』读书笔记——06

    2013-08-20 14:41:01 2.8 最大传输单元MTU MTU,最大传输单元:以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节.这个不同网络对应的传输上限 ...

  8. 『TCP/IP详解——卷一:协议』读书笔记——05

    2013-08-19 22:35:57 2.6 PPP:点对点协议 PPP点对点协议修改了SLIP协议中的所有缺陷: 1. 在串联链路上封装IP数据报的方法.PPP即支持数据为8位&无奇偶检验 ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——04

    2013-08-18 16:31:17 第2章 链路层 2.1 引言 链路层主要有三个目的: 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接受ARP应答 为RARP发送RARP请求和接 ...

随机推荐

  1. 分享一个MarkDown的配色主题

      下载地址(戳我)

  2. I/O流——字符流

    字符流 字节流提供处理任何类型输入/输出操作的足够功能,但不能直接操作Unicode字符,因而需要字符流. 字符流层次结构的顶层是Reader和Writer抽象类. 实际上,字符流的底层就是字节流. ...

  3. java io流之字符流

    字符流 在程序中一个字符等于两个字节,那么java提供了Reader.Writer两个专门操作字符流的类. 字符输出流:Writer Writer本身是一个字符流的输出类,此类的定义如下: publi ...

  4. MVC Html.ValidationSummary()样式优化

    先看效果图 在MVC中常用ValidationSummary显示校验信息,默认样式为 针对Html.ValidationSummary()如何做优化 样式一: 在MVC中,如果你使用验证总结方法任何验 ...

  5. 使用ajax实现无刷新改变页面内容

    如何使用ajax实现无刷新改变页面内容(也就是ajax异步请求刷新页面),下面通过一个小demo说明一下,前端页面代码如下所示 1 <%@ Page Language="C#" ...

  6. Multi-armed Bandit Problem与增强学习的联系

    选自<Reinforcement Learning: An Introduction>, version 2, 2016, Chapter2 https://webdocs.cs.ualb ...

  7. JS鼠标移入,移出事件

    该事件的效果就像百度首页的设置选项,当鼠标移入,移出时的效果,废话不多说了,直接上码. <!DOCTYPE html><html lang="en">< ...

  8. z-index和transform

    z-index和transform是CSS中的属性,但很少同学将二者联系到一起,感觉他们八杆子打不上.事实真的是这样吗?如果你也不能确认,这篇文章就值得你花点时间阅读.因为阅读完了,你会有所收获的. ...

  9. 【转】java项目转web项目

    将项目文件.project文件的<natures>...</natures>代码段中加入    <nature>org.eclipse.wst.common.pro ...

  10. inotify resources exhausted

    inotify resources exhausted tail -f /var/log/kubelet.log tail: inotify resources exhausted tail: ino ...