ICMP协议(Internet控制消息协议)

简介: 本文详细的介绍ICMP协议,内含详细的实例解析,该文你值得拥有。

系列文章目录

华为数通学习(3)


目录

前言

一,什么是ICMP协议?

二,实例:路由之间相互直连ping

三,了解ICMP报文

编辑

3.1,为什么要了解这个字段呢?

四,ICMP重定向 (路径优化-绕路-最优路径)

五,ICMP错误报告

总结


前言

随着华为公司的不断发展,数据通信这门技术也越来越重要,很多人都开启了数据通信学习,本文就介绍了ICMP协议,是我们通过数通王国的第十一站(我们在文章中使用的是华为的ENSP软件)。


一,什么是ICMP协议?

Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议。

ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。

image.gif编辑

作用:帮助我们监测链路有没有问题的,最常见的就是ping直连之间能不能通。

ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。

二,实例:路由之间相互直连ping

image.gif编辑

我们对R3进行抓包,看一下

[AR2]ping 192.168.12.3

 PING 192.168.12.3: 56  data bytes, press CTRL_C to break

  Reply from 192.168.12.3: bytes=56 Sequence=1 ttl=255 time=250 ms

  Reply from 192.168.12.3: bytes=56 Sequence=2 ttl=255 time=30 ms

  Reply from 192.168.12.3: bytes=56 Sequence=3 ttl=255 time=40 ms

  Reply from 192.168.12.3: bytes=56 Sequence=4 ttl=255 time=20 ms

  Reply from 192.168.12.3: bytes=56 Sequence=5 ttl=255 time=20 ms

image.gif编辑

ICMP报文解释:

有两个报文,request,replay,一问一答,它的作用是用来用来在网络设备间传递各种差错和控制信息,就是两个设备互相去发这个信息一问一答的方式,A问一句,B还在吗?如果B还在,B就会回复,我在,然后B问A你还在吗?

三,了解ICMP报文

image.gif编辑

00是回复报文,80是请求报文,中间的那些就是一些不正常的代表网络不通,如果网络是通的只能看到00和80

image.gif编辑

image.gif编辑

3.1,为什么要了解这个字段呢?

因为有的时候遇到故障了,我们要根据报文去分析,具体到故障的细节

四,ICMP重定向 (路径优化-绕路-最优路径)

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。

image.gif编辑

解释:

当主机a他的网关的 10.0.0.100,然后呢网关是RTB,就代表主机A出去外面,报文首先第一跳肯定是发给RTB的但是现在它要访问的目的地是服务器A,因为主机A的默认网关是RTB所以没有办法,报文要先给RTB,然后RTB在发给服务器A,本来可以直接发给RTA的,所以这个时候RTB作为一个网关设备,它就会向我们这台主机A发送一个ICMP的重定向的报文,让主机A下次如果还找服务器A,就直接给服务器A发报文,可以理解为重新给你指路,告诉你,主机A你下一次要访问服务器A,请你直接把报文发给服务器A吧,不需要在给我发了。

五,ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。如:当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。

image.gif编辑

设备命令:

<AR2>tracert 192.168.12.3

traceroute to  192.168.12.3(192.168.12.3), max hops: 30 ,packet length: 40,pres

s CTRL_C to break

1 192.168.12.3 30 ms  30 ms  20 ms

<AR2>

image.gif编辑

image.gif编辑


总结

恭喜你,你通过本章的学习了ICMP协议,华为数通还有很多宝藏等着你去探险,加油!只为成为更好的自己。

相关文章
|
网络协议 网络架构
网络协议与攻击模拟-05-ICMP协议
网络协议与攻击模拟-05-ICMP协议
96 0
|
Linux C语言 C++
Linux ICMP协议实现:C/C++编程指南
ICMP(Internet Control Message Protocol)是网络通信中的重要协议,用于在IP网络中传递错误消息和诊断信息。在Linux系统中,我们可以使用C/C++编程语言来实现基本的ICMP功能,例如发送ICMP回显请求(Ping)和解析ICMP消息。本文将带您深入了解C/C++实现的ICMP协议,包括套接字编程、构造ICMP报文、发送和接收ICMP消息等,以及提供实际的代码示例。
862 1
|
2月前
|
网络协议 Unix 网络架构
网际控制报文协议ICMP
网际控制报文协议(ICMP)是TCP/IP体系结构中网际层的关键组件,用于提高IP数据报的成功传输率。ICMP主要处理两类报文:差错报告报文与询问报文。前者包括终点不可达、源点抑制、时间超过、参数问题及重定向等五类;后者则涵盖回送请求/回答及时间戳请求/回答。ICMP广泛应用于检测网络连通性的PING工具和追踪数据包路径的traceroute工具中。两者分别利用ICMP的回送请求报文及差错报告报文实现功能。
63 10
|
6月前
|
存储 网络协议 算法
基于 Wireshark 分析 ICMP 协议
基于 Wireshark 分析 ICMP 协议
|
3月前
|
网络协议 网络架构
用户态协议栈03-icmp实现
用户态协议栈03-icmp实现
|
3月前
|
监控 安全 网络安全
ICMP 协议详解及其消息格式
【8月更文挑战第20天】
277 0
|
4月前
|
人工智能 缓存 网络协议
网络层之三层交换、icmp协议、arp协议
网络层之三层交换、icmp协议、arp协议
|
4月前
|
网络协议 Linux 分布式数据库
【Linux】DNS系统,ICMP协议,NAPT技术详解
NAPT(Network Address Port Translation),也被称为端口地址转换,是一种NAT(网络地址转换)的形式。NAPT允许多个设备在内部网络上使用私有IP地址,并通过单个公共IP地址与外部网络进行通信。NAPT通过改变传输层的端口号来实现这一点,从而允许多个内部设备共享同一个公共IP地址。
61 0
|
6月前
|
网络协议 Linux 网络安全
IP 数据包格式 ICMP协议
IP 数据包格式 ICMP协议
|
6月前
|
域名解析 缓存 网络协议