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. c语言中三个点的解释 : variadic

    3.6 Variadic Macros A macro can be declared to accept a variable number of arguments much as a funct ...

  2. Oracle:ORA-00955: name is already used by an existing object

    下午从生产库导出了一份表结构,用来测试一些问题,由于生产库连接着其他用户下的表所以通过视图在本地模拟一下,于是创建视图: create or replace view csews as select ...

  3. nginx + lua +redis环境搭建

    环境搭建,其实主要是lua的环境,这个环境够麻烦的,在网上找了很多前辈的文章,终于完成了 ,安装redis wget http://download.redis.io/releases/redis-3 ...

  4. web页面全角&半角

    根据Unicode编码,全角空格为12288,半角空格为32 : 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248  全角-->半角函数  //半角转换 ...

  5. Java重点之小白解析--浅谈数据流形式图片上载

    文档上载,上载也不知道哪个大神(混球)起的名字,读起来怪怪的,反正平时我只读上传. 闲话少说,直入主题.先等等这两天做文件上传,都快把宝宝折磨疯了,不会呀,各种查呀,最可悲的是废了老大功夫学会了传送文 ...

  6. SVM学习笔记(二):什么是交叉验证

    交叉验证:拟合的好,同时预测也要准确 我们以K折交叉验证(k-folded cross validation)来说明它的具体步骤.{A1,A2,A3,A4,A5,A6,A7,A8,A9} 为了简化,取 ...

  7. ABAP 动态内表添加单元格颜色字段

    *动态内表alv显示时要求某些单元格显示颜色 *wa_fldcat-datatype不能添加LVC_T_SCOL类型,在创建好内表之后,再添加颜色列. DATA: wa_fldcat TYPE lvc ...

  8. Python Decorator分析

    decorator本身是一个函数,这个函数的功能是接受被修饰的函数(decorated)作为参数,返回包装函数(wrapper)替换被修饰函数(decorated). @decorator func ...

  9. 迅雷VIP帐号获取小工具

    自己写的迅雷vip帐号获取工具,主要是熟悉一下正则表达式 下载地址: 迅雷VIP获取工具 另附vip防踢补丁,不能使用最新迅雷,我使用的是迅雷尊享版2.0.12.258,使用了一段时间,至少没被踢出来 ...

  10. ssh链接数设置问题

    今天碰到一个问题,脚本执行scp文件拷贝,因为拷贝的服务器很多,所以拷贝脚本的实现是在把拷贝动作转后台执行,结果发现一堆文件拷贝失败.比较有迷惑性的是,拷贝失败的通常是同一个文件夹拷贝到所有服务器时失 ...