日期:2014-05-16  浏览次数:20566 次

Linux协议栈之ICMP和IGMP传输协议

ICMP(Internet Control Message Protocol)和IGMP(Internet Group Management Protocol)fenbie用于网络侦错和组播,多播管理。

如下一些常用的IP分组:

224.0.0.1:该子网所有系统组

224.0.0.2:该子网所有路由器组

224.0.1.1:网络时间协议NTP

224.0.0.9:路由协议RIP-2

多播MAC地址是48bit需IP贡献低23位加01:00:5e前缀。

IGMP使用规则:

1.当第一个进程加入一个组时,主机就发送一个IGMP报告。

2.进程离开一个组时,主机不发送IGMP报告。主机在知道组中不在有成员时,在随后说到的IGMP查询中不再发送报告报文。

3.多播路由器会定时发送IGMP查询是否有任何主机包含有属于多播组的进程。

4.主机通过发送IGMP报告来响应一个IGMP查询,对每个至少包含一个进程的组均要发送IGMP报告。

?

inte_protocol_base变量指向系统中所有定义的这些“上层协议”,对应的inet_protocold的结构查找并使用这些这个系统队列,如TCP被插入到6这个位置。