第13章 IGMP:Internet组管理协议
IGMP用于支持主机和路由器进行多播;
IGMP是IP层的一部分,IGMP报文通过IP数据报进行传输:
IGMP报文长度为固定8 Byte:
报文中,IGMP类型为1表示由多播路由器发出的查询报文,为2说明是主机发出的报告报文;
加入一个多播组
多播的基础就是一个进程的概念,该进程在一个主机的给定接口上加入了一个多播组;
主机通过组地址和接口来识别一个多播组;
主机必须保留一个表,此表中包含所有至少含有一个进程的多播组以及多播组中的进程数量。
IGMP报告和查询
多播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变化情况。使用规则如下:
1) 当第一个进程加入一个组时,主机就发送一个IGMP报告。假如一个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被发送到进程加入组所在的同一接口上。
2) 进程离开一个组时,主机不发送IGMP报告,即便是组中的最后一个进程离开。主机知道在确定的组中已不再有组成员后,在随后收到的IGMP查询中就不再发送报告报文。
3) 多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属于多播组的进程。多播路由器必须向每个接口发送一个IGMP查询。因为路由器希望主机对它加入的每个多播组均发回一个报告,因此IGMP查询报文中的组地址被设置为0。
4) 主机通过发送IGMP报告来响应一个IGMP查询,对每个至少还包含一个进程的组均要发回IGMP报告。
使用这些查询报文和报告报文,多播路由器对每个接口保持一个表,表中记录接口上至少还包含一个主机的多播组。当路由器收到要转发的多播数据报时,它只将该数据报转发到还拥有属于那个组主机的接口上。
图13-3显示了两个IGMP报文,一个是主机发送的报告,另一个是路由器发送的查询。该路由器正在要求那个接口上的每个主机说明它加入的每个多播组。
第14章 DNS:域名系统
原文:http://www.cnblogs.com/hansonwang99/p/5023071.html