ICMP协议
-
Internet控制消息协议(Internet Control Message Protocol)
-
TCP/IP协议簇的核心协议之一,位于网络层
-
作用
-
用于网络设备之间传递各种差错和控制信息
-
收集网络信息,诊断排除各种网络故障
-
学习目的:
-
描述ICMP的应用场景
-
理解常见的ICMP报文类型
-
掌握Ping和Tracert的应用
ICMP应用场景
[]问题?为什么RTB看了报文就知道ip20.0.0.1/24是RTA的下的ip?
-
ICMP重定向
-
-
-
主机A想给服务器A发送报文
-
判断不在同一子网,发送给默认网关10.0.0.1/24
-
RTB收到报文后,发现报文应该转发到RTA,此时转发路径是最好的选择,所以RTB给主机发送一个Redirect消息,通知主机A将报文发送给RTA,再发送到服务器A。
-
-
-
ICMP差错检测
-
-
ICMP Echo
-
ICMP Echo Request:查询响应某些信息
-
ICMP Echo Reply:响应某些信息
-
常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息:报文往返时间。
-
-
-
ICMP错误报告
-
-
ICMP定义了各种错误信息
-
作用:诊断网络连接性问题,判断数据传输失败的原因
-
eg:环路发生,导致报文在网络中循环,最终TTL超时,网络设备会发送TTL超时信息给发送端设备。
-
eg:目的不可达
-
网络不可达:无法找到目的网络
-
主机不可达:无法找到目的网络中的主机
-
-
-
-
-
ICMP数据包格式
-
-
Type:ICMP消息类型
-
Code:同一消息类型中的不同信息
-
FCS:检验字段用于检查消息是否完整
-
包含32比特可变参数
-
通常设为0
-
ICMP Redirect:指定网关IP地址
-
主机根据IP将报文发送给指定网关
-
-
Echo请求消息中:包含标识符和序号
-
源端将两个参数收到的回复消息和本端发送的请求消息进行对比,一一回应。
-
-
-
-
-
ICMP消息类型和编码类型
-
-
ICMP应用------Ping
-
-
-
目的地址:192.168.200.202
-
-
ICMP报文长度:32 bytes
-
响应时间:1ms
-
TTL:125
-
-
-
-
ICMP应用------Tracert
-
作用:检测网络丢包及时延的有效手段,帮助网管发现路由环路
-
操作: 基于报头中的TTL值来逐跳跟踪报文的转发路径
-
源端设TTL的值=1,报文到达第一个节点后,TTL超时,报文被丢弃,节点向源端发送TTL超时消息,消息携带时间戳。然后设TTL=2,循环直到报文到达目的地,这样就能统计出每个节点和往返时间。
-
-
提问:
-
Ping使用的死哪儿类ICMP消息
-
Echo请求消息(Type=8)
-
Echo回复消息(Type=0)
-
-
当网络设备收到TT值为0的IP报文时,如何操作
-
丢弃报文,给源端发送TTL超时消息。
-