《TCP/IP详解》笔记——ICMP

本系列是针对《TCP/IP详解》的笔记总结,包含各章节的主要内容。有助于帮助你快速了解并掌握TCP/IP的协议的相关内容。

目录

1、概述
2、ICMP协议分类
3、不会产生ICMP的情况

1、ICMP概述

 IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文,占4个字节)协议。
 当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机(接收端—->发送端,正常的发送端至接收端的IP帧中不包含该信息)。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。
这里写图片描述
  ICMP报文有不同的报文类型,不同类型由这个8bit的类型和8bit的代码共同决定。一个类型下可能有多个代码。比如: 类型0表示回显应答(ping应答);类型1表示目的不可达,其中代码0表示网络不可达,代码1表示主机不可达,代码2表示协议不可达,代码3表示端口不可达等等…

2、ICMP协议分类

  ICMP协议大致分为两类,一种是查询报文,一种是差错报文。
 

查询报文:该过程是主动 ,尽管也是会返回差错报文,其中查询报文有以下几种用途:查询操作:

  • ping查询(不要告诉我你不知道ping程序);
  • 子网掩码查询(用于无盘工作站在初始化自身的时候初始化子网掩码);
  • 时间戳查询(可以用来同步时间),通过执行tracerouter命令实现。

差错报文:该过程是被动产生在数据传送发生错误的时候,主动发送回来的

3、不会产生ICMP的情况

  1. ICMP差错报文不会产生ICMP差错报文(出IMCP查询报文)(防止IMCP的无限产生和传送)
  2. 目的地址是广播地址或多播地址的IP数据报。
  3. 作为链路层广播的数据报。
  4. 不是IP分片的第一片。
  5. 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地 址或多播地址。

猜你喜欢

转载自blog.csdn.net/xk7298/article/details/80558781
今日推荐