本系列是针对《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的情况
- ICMP差错报文不会产生ICMP差错报文(出IMCP查询报文)(防止IMCP的无限产生和传送)
- 目的地址是广播地址或多播地址的IP数据报。
- 作为链路层广播的数据报。
- 不是IP分片的第一片。
- 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地 址或多播地址。