网络层中的ICMP协议是实现什么功能

一.什么是ICMP?

因特网控制报文协议ICMP(Internet Control Message Protocol)是一个差错报告机制,主要用于在主机与路由器之间传递控制信息,是TCP/IP协议簇中的一个重要子协议,通常被IP层或更高层协议(TCP或UDP)使用,属于网络层协议。通常刚搭建网络时,就需要去进行一个测试,测试网络的联通性就需要去检查诊断和排除各种网络故障以及用户数据,但是IP地址并不能提供可靠运输,并且在丢包时也不能正确的向传输层传递是否丢包以及丢包的原因。

ICMP如何工作?

从技术角度来说,ICMP就是一个差错报告机制,其工作机理也比较简单,即当数据包处理过程出现差错时,ICMP向数据包的源端设备报告这个差错,它既不会纠正这个差错,也不会通知中间的网络设备。因为ICMP报文被封装在IP数据包内部,作为IP数据包的数据部分通过互联网传递。IP数据包中的字段包含源端和最终的目的端,并没有记录报文在网络传递中的全部路径(除非IP数据包中设置了路由记录选项)。因此当设备检测到差错时,它无法通知中间的网络设备,只能向源端发送差错报告。

源端在收到差错报告后,它虽然不能判断差错是由中间哪个网络设备所引起的,但是却可以根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发传递失败的数据包。

ICMP报文格式如图所示,每一个ICMP消息都将包含引发这条ICMP消息的数据包的完全IP包头,ICMP报文则作为IP数据包的数据部分封装在IP数据包内部。ICMP包头中包含的三个固定字段就是源端设备确定发生错误的类型的主要依据。

源端在收到差错报告后,它虽然不能判断差错是由中间哪个网络设备所引起的,但是却可以根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发传递失败的数据包。

ICMP报文格式如图所示,每一个ICMP消息都将包含引发这条ICMP消息的数据包的完全IP包头,ICMP报文则作为IP数据包的数据部分封装在IP数据包内部。ICMP包头中包含的三个固定字段就是源端设备确定发生错误的类型的主要依据。

  • ICMP差错报文不会产生ICMP差错报文(但ICMP查询报文可能会产生ICMP差错报文),此条规定主要为了防止ICMP消息的无限产生和传递;
  • 目的地址是广播地址或多波地址的IP数据报文;
  • 作为链路层广播的数据包;
  • 不是IP分片的第一片;
  • 源地址不是单个主机的数据包,也就是说,源地址不能为零地址、环回地址、广播地址或多播地址。
  • ICMP协议报文分为
  • 1.查询报文    ping命令
  • 2.差错控制报文:
  • (1)终点不可达
  • 时间超时

.用Ping命令来测试网络连通
1, 使用ipconfig /all观察本地网络设置是否正确
2, Ping 127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好;
3, Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;
4,Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常。
5, Ping远程IP地址(ping www.baidu.com),这主要是检查本网或本机与外部的连接是否正常。


 

ping-a将地址解析为主机

ping -n count 地址         指定发送的回送请求消息数。 默认值为 3

ping - -help        直接解析出命令的意思

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值