深圳做网站(龙华信科),wordpress远程图片,wordpress 主题复用,晋城市公共事业建设局网站网际控制报文协议ICMP
1#xff1a;网际控制报文协议ICMP基本概述 ICMP报文被封装在IP数据报中发送
1#xff1a;ICMP报文格式
ICMP报文作为IP数据报的数据载荷#xff0c;IP协议为其添加一个首部使之成为IP数据报 2#xff1a;ICMP报文类型
ICMP报文分为两大类#x…网际控制报文协议ICMP
1网际控制报文协议ICMP基本概述 ICMP报文被封装在IP数据报中发送
1ICMP报文格式
ICMP报文作为IP数据报的数据载荷IP协议为其添加一个首部使之成为IP数据报 2ICMP报文类型
ICMP报文分为两大类一类是差错报告报文一类是询问报文
这两类报文的功能如下 2ICMP差错报告报文
常见的ICMP差错报告报文有以下五种
1终点不可达 注释上图是发送终点不可达报文不是发送终点可达报文表述有误
简单举例
主机H1给H2发送IP数据报H1会将IP数据报发送给路由器R1由R1帮其转发若R1的路由表中没有与网络N3匹配的路由条目例如H2的特定主机路由N3的路由默认路由则R1就不知道如何转发该数据报了只能将其丢弃并向发送该数据报的源主机H1发送ICMP差错报告报文具体类型为终点不可达 2源点抑制 简单举例
还是主机H1给H2发送IP数据报当该数据报传送到路由器R2时由于R2拥塞也就是R2比较繁忙R2根据自己的丢包策略丢弃了该IP数据报并向发送该数据报的源主机H1发送ICMP差错报告报文具体类型为源点抑制同理主机也有可能出现因为拥塞而丢弃IP数据报并发送ICMP差错报告报文的情况例子服务器拒绝服务 3时间超过超时 简单举例
还是主机H1给H2发送IP数据报该IP数据报从H1发出时其首部中生存时间TTL字段的值被设置为2当该数据报传送到路由器R1后R1将其TTL字段的值减去1结果是1这表明该数据报的生存时间还没有结束R1将其转发出去当该数据报传送到路由器R2后R2将其TTL的字段值减去1结果是0这表明该数据报的生存时间结束了R2丢弃该数据报并向发送该数据报的源主机H1发送ICMP差错报告报文具体类型为时间超过 其他情况 4参数问题 简单举例
还是主机H1给H2发送IP数据报但是该数据报在从H1到路由器R1的传送过程中受到了干扰其首部出现了误码当该数据包传送到R1后R1检测到该数据报的首部出错于是丢弃该数据报并向发送该数据报的源主机H1发送ICMP差错报告报文具体类型为参数问题 5改变路由重定向 简单举例
假设给主机H1指定的默认网关是路由器R1则H1要发送到网络N2的IP数据报都会传送给R1由其帮忙转发但是久而久之R1发现发往N2的数据报的最佳路由不应该经过R1而是应该经过R4时就由改变路由报文把这个情况告诉H1于是H1就在自己的路由表中添加一个项目即到达N2应该经过R4而不是默认网关R1之后H1要发往N2的IP数据报都会传送给R4由其帮忙转发 特殊情况 练习1 3ICMP询问报文
常用的ICMP询问报文有以下两种
回送请求和回答报文
时间戳请求和回答报文 这两类报文的功能如下 1ICMP的两个典型应用
分组网间探测与跟踪路由 1分组网间探测PING 简单举例 使用windows命令行工具PING测试我的主机与中国互联网络信息中心官方网站服务器的连通性主机总共发送了四个ICMP回送请求报文并且成功收到了相应的四个ICMP回送回答报文由于往返的ICMP报文上都有时间戳因此很容易得出往返时间
注释有些主机或服务器为了防止恶意攻击并不会理睬外界发来的这种报文
2跟踪路由traceroute 简单举例 图中的每一行有三个时间这是因为针对路径中的每一个路由器要进行三次测试时间中出现*号表示在超时时间内没有收到路由器发来的响应报文出现这种情况的原因有多种例如路由器对IP数据报出现差错的情况进行策略性的差错报告例如10个同样的差错只报告一个而不是针对每一个同样的错误都发送一个相应的差错报告否则容易受到恶意攻击
接下来我们以windows版本为例看看ICMP是如何实现跟踪路由的功能
如下图所示
假设主机H1想知道到达主机H2需要经过那些路由器于是H1给H2发送ICMP回送请求报文该报文被封装在IP数据报中进行发送IP数据报首部中生存时间TTL的值被设置为1IP数据报到达路由器R1后其TTL的字段的值被减去1结果为0因此R1丢弃该数据报并向发送该数据报的源主机H1发送封装有ICMP差错报告报文的IP数据报ICMP差错报告报文类型为时间超过这样H1就知道了到达H2路径中的第一个路由器的IP地址如下图所示 H1继续发送下一个封装有ICMP回送请求报文的IP数据报IP数据报首部中生存时间TTL的值被设置为2经过路由器R1的转发后该数据报TTL的字段的值被减去1该数据报到达R2后数据报TTL的字段的值再被减去1结果为0因此R2丢弃该数据报并向发送该数据报的源主机H1发送封装有ICMP差错报告报文的IP数据报ICMP差错报告报文类型为时间超过这样H1就知道了到达H2路径中的第二个路由器的IP地址
如下图所示 后面的以此类推知道到达目的主机H2并发送ICMP回送回答报文的IP数据报这样H1就知道已经跟踪到路径中的最后一站