IGMP采用的一些具体措施
发布时间:2014/9/4 20:31:16 访问次数:953
IGMP设计得很仔细,避免了多播控制信息给网络增加大量的开销。IGMP采用的一些具体措施如下:
(1)在主机和多播路由器之间的所有通信都是使用IP多播。只要有可能, NA05QSA045-TE12L携带IGMP报文的数据报都用硬件多播来传送。困此在支持硬件多播的网络上,没有参加IP多播的主机不会收到IGMP报文。
(2)多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文(虽然也允许对一个特定组发送询问报文)。默认的询问速率是每125秒发送一次(通信量并不太大)。
(3)当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系。因此,网络上多个多播路由器并不会引起IGMP通信量的增大。
(4)在IGMP的询问报文中有一个数值Ⅳ,它指明一个最长响应时间(默认值为10秒)。当收到询问时,主机在O到Ⅳ之间随机选择发送响应所需经过的时延。因此,若一个主机同时参加了几个多播组,则主机对每一个多播组选择不同的随机数。对应于最小时延的响应最先发送。
(5)同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了。这样就抑制了不必要的通信量。
多播路由器并不需要保留组成员关系的准确记录,因为向局域网上的组成员转发数据报是使用硬件多播。多播路由器只需知道网络上是否至少还有一个主机是本组成员即可。实际上,对询问报文每一个组只须有—个主机发送响应。
如果一个主机上有多个进程都加入了某个多播组,那么这个主机对发给这个多播组的每个多播数据报只接收一个副本,然后给主机中的每一个进程发送一个本地复制的副本。
最后我们还要强调指出,多播数据报的发送者和接收者都不知道(也无法找出)一个多播组的成员有多少,以及这些成员是哪些主机。因特网中的路由器和主机都不知道哪个应用进程将要向哪个多播组发送多播数据报,因为任何应用进程都可以在任何时候向任何一个多播组发送多播数据报,而这个应用进程并不需要加入这个多播组。
IGMP的报文格式可参阅有关文档[RFC 3376],这里从略。
IGMP设计得很仔细,避免了多播控制信息给网络增加大量的开销。IGMP采用的一些具体措施如下:
(1)在主机和多播路由器之间的所有通信都是使用IP多播。只要有可能, NA05QSA045-TE12L携带IGMP报文的数据报都用硬件多播来传送。困此在支持硬件多播的网络上,没有参加IP多播的主机不会收到IGMP报文。
(2)多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文(虽然也允许对一个特定组发送询问报文)。默认的询问速率是每125秒发送一次(通信量并不太大)。
(3)当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系。因此,网络上多个多播路由器并不会引起IGMP通信量的增大。
(4)在IGMP的询问报文中有一个数值Ⅳ,它指明一个最长响应时间(默认值为10秒)。当收到询问时,主机在O到Ⅳ之间随机选择发送响应所需经过的时延。因此,若一个主机同时参加了几个多播组,则主机对每一个多播组选择不同的随机数。对应于最小时延的响应最先发送。
(5)同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了。这样就抑制了不必要的通信量。
多播路由器并不需要保留组成员关系的准确记录,因为向局域网上的组成员转发数据报是使用硬件多播。多播路由器只需知道网络上是否至少还有一个主机是本组成员即可。实际上,对询问报文每一个组只须有—个主机发送响应。
如果一个主机上有多个进程都加入了某个多播组,那么这个主机对发给这个多播组的每个多播数据报只接收一个副本,然后给主机中的每一个进程发送一个本地复制的副本。
最后我们还要强调指出,多播数据报的发送者和接收者都不知道(也无法找出)一个多播组的成员有多少,以及这些成员是哪些主机。因特网中的路由器和主机都不知道哪个应用进程将要向哪个多播组发送多播数据报,因为任何应用进程都可以在任何时候向任何一个多播组发送多播数据报,而这个应用进程并不需要加入这个多播组。
IGMP的报文格式可参阅有关文档[RFC 3376],这里从略。
上一篇:网际组管理协议IGMP
上一篇:多播路由选择协议