网络互连与互联网 - ICMP 因特网控制报文协议

ICMP协议是TCP/IP协议簇的一部分,用于网络控制和错误报告。它的工作原理涉及发送和接收报文来检测网络问题。报文格式包括类型、代码、校验和等字段,报文类型涵盖查询报文如回显请求和应答,以及差错报告报文如网络不可达和超时。此外,ICMP还用于网络诊断工具如ping和tracert。
摘要由CSDN通过智能技术生成

1 概述

ICMP 协议
全称:Internet Control Message Protocol,因特网控制报文协议
属于:TCP/IP 协议簇的一个子协议,属于网络层
作用:通过 ICMP 可以知道故障的具体原因和位置

2 ICMP 协议

2.1 工作原理

在这里插入图片描述

  • ICMP 提供出错报告信息
    • ① 源端设备发送 Message 给目的端设备
    • ② 目的端设备返回 Message 给源端设备
    • ③ 源端设备根据返回的 Message 判断错误的类型(ICMP 报文中的 类型代码
  • 常见的命令有:ping、tracert

2.2 报文格式

在这里插入图片描述

中文名英文名长度 bit说明
类型Type8报文类型:差错报告报文、查询报文
代码Code8类型 + 代码:表示具体的错误
校验和CheckSum16数据发送到目的地后校验报文是否有错误
标识Identifier16对发送的每个数据报进行标识
序列号Sequence Number16对发送的每一个数据报文进行编号
数据Data可选数据内容

2.3 报文类型

常见的 ICMP 报文类型
种类类型描述含义
查询报文8 或 0 回显(Echo ) 请求 或 应答测试目的是否可以到达以及了解相关的状态
13 或 14时间戳(Timestamp) 请求 或 应答显示请求、应答的时间
差错报告报文 3 终点不可达 源端发送的数据报到不了目的端
5 重定向 路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)
11 超时 当路由器收到生存时间为 0 的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文
12 参数问题 当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文

3 扩展

3.1 完整 ICMP 报文类型

完整 ICMP 报文类型
类型代码描述查询报文差错报告报文
0 0 Echo Reply —— 回显应答(Ping应答)
3 0 Network Unreachable —— 网络不可达
1 Host Unreachable —— 主机不可达
2 Protocol Unreachable —— 协议不可达
3 Port Unreachable —— 端口不可达
4 Fragmentation needed but no frag. bit set —— 需要进行分片但设置不分片
5 Source routing failed —— 源站选路失败
6 Destination network unknown —— 目的网络未知
7 Destination host unknown —— 目的主机未知
8 Source host isolated (obsolete) —— 源主机被隔离(已作废)
9 Destination network administratively prohibited —— 目的网络被强制禁止
10 Destination host administratively prohibited —— 目的主机被强制禁止
11 Network unreachable for TOS —— 由于服务类型TOS,网络不可达
12 Host unreachable for TOS —— 由于服务类型TOS,主机不可达
13 Communication administratively prohibited by filtering —— 由于过滤,通信被强制禁止
14 Host precedence violation —— 主机越权
15 Precedence cutoff in effect —— 优先中止生效
4 0 Source quench —— 源端被关闭(基本流控制)
5 0 Redirect for network —— 对网络重定向
1 Redirect for host —— 对主机重定向
2 Redirect for TOS and network —— 对服务类型和网络重定向
3 Redirect for TOS and host —— 对服务类型和主机重定向
8 0 Echo request —— 回显请求(Ping请求)
9 0 Router advertisement —— 路由器通告
10 0 Route solicitation —— 路由器请求
11 0 TTL equals 0 during transi t—— 传输期间生存时间为 0
1 TTL equals 0 during reassembly —— 在数据报组装期间生存时间为 0
12 0 IP header bad (catchall error) —— 坏的IP首部(包括各种差错)
1 Required options missing —— 缺少必需的选项
13 0 Timestamp request —— 时间戳请求
14 0 Timestamp reply —— 时间戳应答
15 0 Information request (obsolete) —— 信息请求(已作废)
16 0 Information reply (obsolete) —— 信息应答(已作废)
17 0 Address mask request —— 地址掩码请求
18 0 Address mask reply —— 地址掩码应答

3.2 网工软考真题

【2023上半年-17】使用Traceroute命令时,由中间路由器返回的ICMP超时报文中Type和Code分别是()。
A.Type=3 Code=0
B.Type=8 Code=0
C.Type=11 Code=0
D.Type=12 Code=0

参考答案:C

【2021上半年-20】ICMP是TCP/IP分层模型第三层协议,其报文封装在( )中传送。
A.以太帧
B.IP 数据报
C.UDP 报文
D.TCP 报文

参考答案:B

【2015上半年-14】关于ICMP协议,下面的论述中正确的是() 。
A.通过 ICMP 可以找到与 MAC 地址对应的 IP 地址
B.通过 ICMP 可以把全局 IP 地址转换为本地 IP 地址
C.ICMP 用于动态分配 IP 地址
D.ICMP 可传送 IP 通信过程中出现的错误信息

参考答案:D

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值