文档介绍:-
. z.
IGMP
IGMP 是Internet,主机只根据组地址来决定参加*个组并从任何一个源接收发给该组地址的组播流。而使用IGMPv3的主机通告该主机所希望参加的 多播组,同时还通告该主机所希望接收的多播源的地址。主机可以通过一个包括列表或一个排除列表来指明希望从哪些源能接收多播流。同时IGMPv3带来的另外一个好处是节省带宽,防止不需要的、非法的组播数据流占用网络带宽,这尤其在多个多播源共用一个多播地址的网络环境中表现明显。
IGMPv3的过程同v2类似。IGMPv3能够向下兼容IGMPv1和IGMPv2。
IGMPv3查询和报告报文增强了功能:
(1)携带源地址的查询报文
IGMPv3 不仅支持IGMPv1 的普遍组查询和IGMPv2 的特定组查询,而且还增加了对特定源组查询的支持:
普遍组查询报文中,既不携带组地址,也不携带源地址;
特定组查询报文中,携带组地址,但不携带源地址;
特定源组查询报文中,既携带组地址,还携带一个或多个源地址。
(2)包含多组记录的报告报文
IGMPv3 ,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为多种类型,如下:
IS_IN:表示组播组与组播源列表之间的过滤模式为INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据。
IS_E*:表示组播组与组播源列表之间的过滤模式为E*CLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据。
TO_IN:表示组播组与组播源列表之间的过滤模式由E*CLUDE 转变为INCLUDE。
TO_E*:表示组播组与组播源列表之间的过滤模式由INCLUDE 转变为E*CLUDE。
ALLOW:表示在现有状态的根底上,还希望从*些组播源接收组播数据。如果当前的对应关系为INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为E*CLUDE,则从现有组播源列表中删除这些组播源。
BLOCK:表示在现有状态的根底上,不再希望从*些组播源接收组播数据。如果当前的对应关系为INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的对应关系为E*CLUDE,则向现有组播源列表中添加这些组播源。
IGMPv3的join包如下:
-
. z.
IGMPv3的leave包如下:
IGMPv3的query包如下:
IGMP三个版本的比拟:
四、组播IP地址:
组播地址围
保存组播地址
本地管理组地址
用户组播地址
组播MAC地址:
以太网: 01-00-5e-**-**-**
常用的保存组播地址
永久组地址
含义
所有系统,包括主机与路由器
所有组播路由器
2