ICMP协议
2017-12-23 00:36
127 查看
ICMP(Internet Control Message Protocol)因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。
ICMPv6为了与IPv6配套使用而开发的互联网控制信息协议。与IPv4一样,IPv6也需要使用ICMP,旧版本的ICMP不能满足IPv6全部要求,因此开发了新版本的ICMP,称为ICMPv6。
基本功能
互联网控制信息协议是 IP协议的一个重要组成部分。ICMPv6向源节点报告关于目的地址传输IPv6包的错误和信息,具有差错报告、网络诊断、邻节点发现和多播实现等功能。
ICMPv6报文总体上被分为两种类型:差错报文和信息报文。差错报文的识别是通过在消息类型字段值的高比特位中设置0。因此,差错报文的报文类型从0到127;信息报文的类型从128到255。
ICMPv6出了具备IPv4 ICMP的基本功能外,还包含以下两个功能:
1.组播收听发现协议(MLD,Multicast Listener Discovery)
该协议完成子网内的组播成员管理。MLD协议定义了3条ICMPv6消息:
(1)组播收听查询消息:组播路由器向子网内的组播收听者发送此消息,以获取组播收听者的状态。
(2)组播收听者报告消息:组播收听者向组播路由器汇报当前状态,包括离开某个组播组。
(3)组播收听者
2.邻居发现协议(Neighbor Discovery)
邻居发现协议实现了IPv6种的地址解析协议(ARP)、ICMPv6路由器发现协议以及ICMPv6重定向消息的功能,用来管理同一链路上结点间的通信。
(1)路由器通告消息:该路由器以组播方式向所在链路发送,宣告其可用性及其相关的挽留过配置参数。该消息发送有两种方式,一种是非请求、周期性的路由器通告;另一种是请求的路由器通告,即收到主机发出的路由器请求后作为应答发出。
(2)路由器请求消息:该消息由主机向本地路由器发出,要求其立即发送路由器通告消息。
(3)邻居请求消息:结点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证自己的地址在本地链路上是否唯一。
(4)邻居通告消息:结点在收到邻居请求消息或链路层地址改变时,发送邻居通告消息,向邻结点通告自己的链路地址信息。
(5)重定向消息:路由器发送重定向消息告诉主机重新定向它发送分组到目的结点的路径。
我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。
ICMPv6为了与IPv6配套使用而开发的互联网控制信息协议。与IPv4一样,IPv6也需要使用ICMP,旧版本的ICMP不能满足IPv6全部要求,因此开发了新版本的ICMP,称为ICMPv6。
基本功能
互联网控制信息协议是 IP协议的一个重要组成部分。ICMPv6向源节点报告关于目的地址传输IPv6包的错误和信息,具有差错报告、网络诊断、邻节点发现和多播实现等功能。
ICMPv6报文总体上被分为两种类型:差错报文和信息报文。差错报文的识别是通过在消息类型字段值的高比特位中设置0。因此,差错报文的报文类型从0到127;信息报文的类型从128到255。
ICMPv6出了具备IPv4 ICMP的基本功能外,还包含以下两个功能:
1.组播收听发现协议(MLD,Multicast Listener Discovery)
该协议完成子网内的组播成员管理。MLD协议定义了3条ICMPv6消息:
(1)组播收听查询消息:组播路由器向子网内的组播收听者发送此消息,以获取组播收听者的状态。
(2)组播收听者报告消息:组播收听者向组播路由器汇报当前状态,包括离开某个组播组。
(3)组播收听者
2.邻居发现协议(Neighbor Discovery)
邻居发现协议实现了IPv6种的地址解析协议(ARP)、ICMPv6路由器发现协议以及ICMPv6重定向消息的功能,用来管理同一链路上结点间的通信。
(1)路由器通告消息:该路由器以组播方式向所在链路发送,宣告其可用性及其相关的挽留过配置参数。该消息发送有两种方式,一种是非请求、周期性的路由器通告;另一种是请求的路由器通告,即收到主机发出的路由器请求后作为应答发出。
(2)路由器请求消息:该消息由主机向本地路由器发出,要求其立即发送路由器通告消息。
(3)邻居请求消息:结点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证自己的地址在本地链路上是否唯一。
(4)邻居通告消息:结点在收到邻居请求消息或链路层地址改变时,发送邻居通告消息,向邻结点通告自己的链路地址信息。
(5)重定向消息:路由器发送重定向消息告诉主机重新定向它发送分组到目的结点的路径。
相关文章推荐
- Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
- Windows下禁止ping命令(禁用ICMP协议访问)
- ICMP协议基本格式
- 透析ICMP协议(四): 牛刀初试之二 应用篇ping(RAW Socket)
- TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute .
- UNIX网络编程——利用ARP和ICMP协议解释ping命令
- ping 原理与ICMP协议---转
- Linux下利用ICMP协议实现ping命令
- ICMP协议
- 【网络协议】ICMP协议、Ping、Traceroute
- ping 原理与ICMP协议
- TCP/IP(四)ICMP协议,ping和Traceroute
- 计算机网络(5)-----ICMP协议和PING程序
- TCP/IP illustrated 阅读笔记(六) ICMP协议
- ICMP协议与ping命令
- ping 原理与ICMP协议
- 《TCP/IP详解 卷1》 笔记: ICMP协议
- 为了了解Icmp协议,自己写了一个
- 使用ICMP协议绕过防火墙拦截
- TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute