Ping程序在TCP/IP中的应用

本文详细介绍了Ping程序的工作原理及其与ICMP协议的关系。包括如何通过标识符和序列号来跟踪请求与应答,以及如何判断网络连接的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们称发送回显请求的ping程序为客户,而称被ping的主机为服务器。大多数的TCP/IP实现都在内核中直接支持Ping服务器—这种服务器不是一个用户进程(在第6章中描述的两种ICMP查询服务,地址掩码和时间戳请求,也都是直接在内核中进行处理的)。

  ICMP回显请求和回显应答报文如图1所示。

  

图1 ICMP回显请求和回显应答报文格式

  对于其他类型的I C M P查询报文,服务器必须响应标识符和序列号字段。另外,客户发送的选项数据必须回显,假设客户对这些信息都会感兴趣。

  U n i x系统在实现p i n g程序时是把I C M P报文中的标识符字段置成发送进程的I D号。这样即使在同一台主机上同时运行了多个p i n g程序实例,p i n g程序也可以识别出返回的信息。

  序列号从0开始,每发送一次新的回显请求就加1.p i n g程序打印出返回的每个分组的序列号,允许我们查看是否有分组丢失、失序或重复。I P是一种最好的数据报传递服务,因此这三个条件都有可能发生。

  旧版本的p i n g程序曾经以这种模式运行,即每秒发送一个回显请求,并打印出返回的每个回显应答。但是,新版本的实现需要加上-s选项才能以这种模式运行。默认情况下,新版本的p i n g程序只发送一个回显请求。如果收到回显应答,则输出“host is alive ”;否则,在2 0秒内没有收到应答就输出“no answer(没有回答)”。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值