ICMP与IGMP的区别
程序员文章站
2022-03-04 22:12:52
...
装载:http://www.cppblog.com/yehao/articles/145652.html
ICMP与IGMP的区别
ICMP协议,英文全称(Internet Control Message Protocol),就是网际控制信息协议。主要是用于补充IP传输数据报的过程中,发送主机无法确定数据报是否到达目标主机。ICMP报文分为出错报告报文和查询报文两种。若数据报不能到达目标主机,ICMP出错报告报文可以以回送信息的方式,向源主机发去信息,并不能纠正数据报中的任何出错。除了出错报告,ICMP还可以诊断出某些网络问题,这就是ICMP的查询报文。
IGMP协议,英文全称(Internet Group Management Protocol),网络组管理协议。主要用于建立和管理多播组,对IP分组广播进行控制。
internet控制消息协议ICMP是用于报告错误并代表IP对消息进行控制。
IP运用互联组管理协议IGMP来告诉路由器,某一网络上指导组中的可用主机。
ICMP
ICMP源抑制消息:当TCP/IP主机发送数据到另一主机时,如果速度达到路由器或者链路的饱和状态,路由器发出一个ICMP源抑制消息。
ICMP数据包结构
类型:一个8位类型字段,表示ICMP数据包类型。
代码:一个8位代码域,表示指定类型中的一个功能。如果一个类型中只有一种功能,代码域置为0。
检验和:数据包中ICMP部分上的一个16位检验和。
指定类型的数据随每个ICMP类型变化的一个附加数据。
IGMP
IGMP信息传给别的路由器以使每个支持多路广播的路由器获知哪个主机组和哪个网络中。
IGMP包结构
版本:IGMP的版本,值一般为0x1h。
类型:IGMP消息的类型。0x1h类型称为主机成员请求,在多路广播路由器上用于指定多级组中的任何成员轮询一个网络。0x2h类型称为主机成员报告,在主机上用于发布指定组中的成员情况或对一个路由器的主机成员请求进行回答。
未用:未用的域名被发送者置零且被接收者忽略。
检验和:IGMP头的一个16位检验和。
组地址:主机用该组地址在一个主机成员请求中存储IP多路广播地址。在主机成员请求中,组地址被全置零,而且硬件级的多路广播地址被用