首页 IGMP原理简介【华为】

IGMP原理简介【华为】

举报
开通vip

IGMP原理简介【华为】IGMP原理简介 IGMP 协议是IP 组播在末端网络上使用的主机对路由器的信令机制,分为两个功能部分:主机侧和路由器侧。IGMP 工作机制如下所述: 1. 接收者主机向所在的共享网络报告组成员关系。 2. 处于同一网段的所有使能了IGMP 功能的组播路由器选举出一台作为查询器,查询器周期性地向该共享网段发送组成员查询消息。 3. 接收者主机接收到该查询消息后进行响应以报告组成员关系。 4. 网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。如果超时无响应,组播路由器就认为网段中没有该组播组的成员,从而取...

IGMP原理简介【华为】
IGMP原理简介 IGMP 协议是IP 组播在末端网络上使用的主机对路由器的信令机制,分为两个功能部分:主机侧和路由器侧。IGMP 工作机制如下所述: 1. 接收者主机向所在的共享网络报告组成员关系。 2. 处于同一网段的所有使能了IGMP 功能的组播路由器选举出一台作为查询器,查询器周期性地向该共享网段发送组成员查询消息。 3. 接收者主机接收到该查询消息后进行响应以报告组成员关系。 4. 网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。如果超时无响应,组播路由器就认为网段中没有该组播组的成员,从而取消相应的组播数据转发。 5. 所有参与组播传输的接收者主机必须应用IGMP 协议。主机可以在任意时间、任意位置、成员总数不受限制地加入或退出组播组。 6. 支持组播的路由器不需要也不可能保存所有主机的成员关系,它只是通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的接收者,即组成员。而各主机只需要保存自己加入了哪些组播组。 IGMPv1工作机制 IGMPv1 协议主要基于查询和响应机制完成组播组管理。在多路由器共享网段上,由三层路由协议选举出唯一的组播信息转发者(Assert Winner 或DR),并作为IGMPv1 的查询器,负责该网段的组成员关系查询。网络上IGMPv1 消息交互如图9-1 所示。 主机加入组播组的基本过程如下: 1. IGMP 查询器(RouterB)周期性地向共享网段内所有主机以组播方式(目的地址为组播地址)发送普遍组Query 查询消息。该报文的目的地址为224.0.0.1,表示该网段上的所有主机和路由器。 2. 网段内所有主机都接收到该普遍组查询消息。如果主机(如HostB 和HostC)希望加入某组播组G1,则以组播方式发送Report 报告。该报文的目的地址为224.0.0.1,报文中携带组播组G1 的地址信息。 3. 网段中所有主机和路由器都接收到该Report 报告,并获知组播组G1 地址信息,此时网段中其它也希望加入该组播组G1 的主机将不再发送针对相同组播组的Report 报告。同时,网段中预备加入另一组播组G2 的主机发送针对组播组G2 的Report 报告以响应普遍组查询消息。 4. 经过查询和响应过程后,IGMP 路由器了解到本网段内存在组播组G1 对应的组播组成员,则由组播路由协议生成(*,G1)组播转发项并以此作为组播数据的转发依据。之后,组播路由协议将发起上游路由更新以维护组播转发树。 5. 组播源发出的组播数据经过组播路由到达IGMP 路由器,如果IGMP 路由器上存在(*,G1)组播转发项,则转发该组播数据到此共享网段,G1 组播组成员主机接收该数据。 6. IGMPv1 中没有专门定义离开组播组的消息。当主机离开某组播组后,将不再发送以此组播组地址为目的地址的Report 报告。当网段中不再存在该组播组成员后,IGMP 路由器将不能收到任何针对此组播组的Report 报告,则IGMP 路由器删除该组播组对应的转发项。 IGMPv2新增功能 IGMPv2 对IGMPv1 所做的改进主要有以下几个方面: 查询器选举机制 IGMPv1 中,当某共享网段上存在多个组播路由器时,查询器的选择由组播路由协议决定。 IGMPv2 中使用独立的查询器选举机制,规定该网段上IP 地址最小的组播路由器为查询器。 离开组机制 在IGMPv1 中,主机悄然离开组播组,不会向任何组播路由器发出任何通知。这时组播路由器只能依靠普遍组查询消息响应超时来获知组播组成员的离开。 在IGMPv2 中,当某主机决定离开组播组G1 时,它会向该网段以组播方式发送IGMP Leave 报文。该报文的目的地址为224.0.0.2,表示该网段上的所有路由器,报文中携带组播组G1 的地址。随后,为了明确网段中是否还包含组播组G1 的其它成员主机,查询器会向网络中发送指定次数的特定组查询消息。 对指定组的查询 在IGMPv1 中,由组播路由器发起的普遍组查询面向该网段下的所有组播组。 在IGMPv2 中,增加了针对特定组的查询。IGMP 查询器在收到主机发送的离开组播组G1 的Leave 报文时,将向该网段中发送针对G1 的查询报文。该报文的目的地址为组播组G1 的地址,只有属于该组播组的主机才会进行响应,从而发送携带组播组G1 地址信息的Report 报告。IGMPv2 和IGMPv1 版本的响应消息(即Report 报告)和查询消息具有相同的报文结构,报文中仅携带组地址信息。 特定组查询报文也称为最后成员查询报文。IGMP 查询器在收到主机发送的IGMPLeave 报文后,发送指定组查询报文的次数由健壮系数来确定。 最大响应时间 IGMPv2 中设置了最大响应时间,以限制查询器等待主机响应组查询报文(即发送report 报文)的最长时间。 IGMPv3改进功能 IGMPv3 在继承IGMPv2 的基础上进一步增强了主机的控制能力,支持指定源/组功能:主机在加入某组播组G 的同时,能够明确的要求接收或不接收某特定组播源S 发出的组播信息。* 当主机要求从某些指定源接收组播报文时,其IGMP Report 报告中的Filter-Mode字段将被设置为Include 模式,并在该报告中指定组播源地址Sources。鉴于描述方便,其IGMP Report 报告可以被标记为Include Sources(S1,S2,……)。 * 如果主机拒绝接收某些指定源的组播报文,则Filter-Mode 字段将被设置为Exclude 模式,并指定组播源地址Sources,表示从除指定源外的所有源地址接收组播报文。其IGMP Report 报告可以被标记为Exclude Sources(S1,S2,……)。 例如,网络中存在S1 和S2 两个组播源,均向组播组G 发送组播报文,User 仅希望接收从组播源S1 发往组播组G 的信息,典型组网如图9-2 所示。 如果主机和路由器之间应用IGMPv1 或IGMPv2,User 加入到某组播组G 后,将接收到来自组播源S1 和S2 的组播信息。如果采用IGMPv3,主机User 可以要求加入指定源S1 对应的组播组G,或退出指定源S2 对应的组播组G,从而仅有来自S1 的组播信息才能传递到User。 携带源地址的查询消息 IGMPv3 支持指定源/组查询。IGMPv3 报文中包含组播源地址字段和多种控制字段(如查询器的健壮系数、查询间隔等)。进行普遍组查询时,不携带组地址,也不携带源地址;进行指定组查询时,携带 组地址,不携带源地址;进行指定源/组查询时,携带组地址,还携带1 个或多个源地址信息。 包含多个组记录的响应消息 IGMPv3 的响应消息(即Report 报告)的目的IP 地址为224.0.0.22,该报文携带1个或多个组记录,在每个组记录中,包含组播组地址、数目不等的源地址信息。组记录可以分为多种类型,如: * 当前状态记录 报告了接口的当前接收状态,分为Include 和Exclude 两种状态类型。Include 表示包含指定源地址列表,Exclude 表示不包含指定源地址列表。 * 过滤模式改变记录 报告接口接收状态从Include 状态切换到Exclude 状态,或从Exclude 状态切换到Include 状态。 * 源地址列表改变记录 报告新源地址加入,或删除某源地址。 1.  IGMP 简介 IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 IGMP 的版本 到目前为止,IGMP 有三个版本: ?         IGMPv1(由RFC 1112 定义) ?         IGMPv2(由RFC 2236 定义) ?         IGMPv3(由RFC 3376 定义) 所有版本的IGMP 都支持ASM(Any-Source Multicast,任意信源组播)模型;IGMPv3 可以直接应用于SSM(Source-Specific Multicast,指定信源组播)模型,而IGMPv1 和IGMPv2 则需要在IGMP SSM Mapping 技术的支持下才能应用于SSM 模型。 2. IGMPv1 工作机制 IGMPv1 主要基于查询和响应机制来完成对组播组成员的管理。 当一个网段内有多台组播路由器时,由于它们都能从主机那里收到IGMP 成员关系报告报文(Membership Report Message),因此只需要其中一台路由器发送IGMP 查询报文(Query Message)就足够了。这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为IGMP查询器。 对于IGMPv1 来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者DR(Designated Router,指定路由器)作为IGMP 查询器。 IGMP 查询相应示意图 如上图所示,假设Host B与Host C想要收到发往组播组G1 的组播数据,而Host A想要收到发往组播组G2 的组播数据,那么主机加入组播组以及IGMP查询器(Router B)维护组播组成员关系的基本过程如下: (1)     主机会主动向其要加入的组播组发送IGMP 成员关系报告报文以声明加入,而不必等待IGMP查询器发来的IGMP 查询报文; (2)     IGMP 查询器周期性地以组播方式向本地网段内的所有主机与路由器发送IGMP 查询报文(目的地址为224.0.0.1); (3)     在收到该查询报文后,关注G1 的Host B 与Host C 其中之一(这取决于谁的延迟定时器先超时)——譬如Host B 会首先以组播方式向G1 发送IGMP 成员关系报告报文,以宣告其属于G1。由于本地网段中的所有主机和路由器都能收到Host B 发往G1 的报告报文,因此当Host C 收到该报告报文后,将不再发送同样针对G1 的报告报文,因为IGMP 路由器(Router A和Router B)已知道本地网段中有对G1 感兴趣的主机了。这个机制称为主机上的IGMP 成员关系报告抑制机制,该机制有助于减少本地网段的信息流量; (4)     与此同时,由于Host A 关注的是G2,所以它仍将以组播方式向G2 发送报告报文,以宣告其属于G2; (5)     经过以上的查询和响应过程,IGMP 路由器了解到本地网段中有G1 和G2 的成员,于是由组播路由协议(如PIM)生成(*,G1)和(*,G2)组播转发项作为组播数据的转发依据,其中的“*”代表任意组播源; (6)     当由组播源发往G1 或G2 的组播数据经过组播路由到达IGMP 路由器时,由于IGMP 路由器上存在(*,G1)和(*,G2)组播转发项,于是将该组播数据转发到本地网段,接收者主机便能收到该组播数据了。 IGMPv1 没有专门定义离开组播组的报文。当运行IGMPv1 的主机离开某组播组时,将不会向其要离开的组播组发送报告报文。当网段中不再存在该组播组的成员后,IGMP 路由器将收不到任何发往该组播组的报告报文,于是IGMP 路由器在一段时间之后便删除该组播组所对应的组播转发项。 3. IGMPv2 的改进 与IGMPv1 相比,IGMPv2 增加了查询器选举机制和离开组机制。 ?         查询器选举机制 在IGMPv1 中,当某共享网段上存在多个组播路由器时,由组播路由协议(如PIM)选举的指定路由器充当查询器。 在IGMPv2 中,增加了独立的查询器选举机制,其选举过程如下: (1)     所有IGMPv2 路由器在初始时都认为自己是查询器,并向本地网段内的所有主机和路由器发送IGMP 普遍组查询(General Query)报文(目的地址为224.0.0.1); (2)     本地网段中的其它IGMPv2 路由器在收到该报文后,将报文的源IP地址与自己的接口地址作比较。通过比较, IP 地址最小的路由器将成为查询器, 其它路由器成为非查询器(Non-Querier); (3)      所有非查询器上都会启动一个定时器(即其它查询器存在时间定时器Other Querier Present Timer)。在该定时器超时前,如果收到了来自查询器的IGMP 查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。  ?          离开组机制 在IGMPv1 中,主机离开组播组时不会向组播路由器发出任何通知,导致组播路由器只能依靠组播组成员查询的响应超时来获知组播组成员的离开。 而在IGMPv2 中,当一个主机离开某组播组时: (1)     该主机向本地网段内的所有组播路由器(目的地址为224.0.0.2)发送离开组(Leave Group)报文; (2)     当查询器收到该报文后, 向该主机所声明要离开的那个组播组发送特定组查询(Group-Specific Query)报文(目的地址字段和组地址字段均填充为所要查询的组播组地址); (3)     如果该网段内还有该组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间(Max Response Time)内发送成员关系报告报文; (4)     如果在最大响应时间内收到了该组播组其它成员发送的成员关系报告报文,查询器就会继续维护该组播组的成员关系;否则,查询器将认为该网段内已无该组播组的成员,于是不再维护这个组播组的成员关系。  4. IGMPv3 的改进 IGMPv3 在兼容和继承IGMPv1 和IGMPv2 的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。 ?         主机控制能力的增强 IGMPv3 增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某组播组G的同时,能够明确要求接收或拒绝来自某特定组播源S的组播信息。当主机加入组播组时: 若要求只接收来自指定组播源如S1、S2、……的组播信息,则其报告报文中可以标记为INCLUDE Sources(S1,S2,……); 若拒绝接收来自指定组播源如S1、S2、……的组播信息,则其报告报文中可以标记为EXCLUDE Sources(S1,S2,……)。 指定源组的组播流路经 如上图所示,网络中存在Source 1(S1)和Source 2(S2)两个组播源,均向组播组G发送组播报文。Host B仅对从Source 1 发往G的信息感兴趣,而对来自Source 2 的信息没有兴趣。 如果主机与路由器之间运行的是IGMPv1 或IGMPv2,Host B 加入组播组G 时无法对组播源进行选择,因此无论Host B 是否需要,来自Source 1 和Source 2 的组播信息都将传递给Host B。 当主机与路由器之间运行了IGMPv3 之后,Host B 就可以要求只接收来自Source 1、发往G 的组播信息(S1,G),或要求拒绝来自Source 2、发往G 的组播信息(S2,G),这样就只有来自Source 1 的组播信息才能传递给Host B 了。 ?          查询和报告报文功能的增强 (1)     携带源地址的查询报文 IGMPv3 不仅支持IGMPv1 的普遍组查询和IGMPv2 的特定组查询,而且还增加了对特定源组查询的支持: ?? 普遍组查询报文中,既不携带组地址,也不携带源地址; ?? 特定组查询报文中,携带组地址,但不携带源地址; ??特定源组查询报文中,既携带组地址,还携带一个或多个源地址。 (2)     包含多组记录的报告报文 IGMPv3 报告报文的目的地址为224.0.0.22,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为多种类型,如下: ??IS_IN:表示组播组与组播源列表之间的过滤模式为INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据。 ??IS_EX:表示组播组与组播源列表之间的过滤模式为EXCLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据。 ??TO_IN:表示组播组与组播源列表之间的过滤模式由EXCLUDE 转变为INCLUDE。 ??TO_EX:表示组播组与组播源列表之间的过滤模式由INCLUDE 转变为EXCLUDE。 ??ALLOW:表示在现有状态的基础上,还希望从某些组播源接收组播数据。如果当前的对应关系为INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为EXCLUDE,则从现有组播源列表中删除这些组播源。 ??BLOCK:表示在现有状态的基础上,不再希望从某些组播源接收组播数据。如果当前的对应关系为INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的对应关系为EXCLUDE,则向现有组播源列表中添加这些组播源。 5.  组播模型分类 根据接收者对组播源处理方式的不同,组播模型分为以下三类: ?         ASM 模型:Any-Source Multicast,任意信源组播 在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。在ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。 ?          SFM 模型:Source-Filtered Multicast,信源过滤组播 该模型继承了ASM 模型,从发送者角度来看,两者的组播组成员关系完全相同。SFM 模型在功能上对ASM 模型进行了扩展。在SFM 模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。 ?         SSM 模型:Source-Specific Multicast,指定信源组播 在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。该模型为用户提供了一种能够在客户端指定组播源的传输服务。 SSM 模型与ASM 模型的根本区别在于:SSM 模型中的接收者已经通过其它手段预先知道了组播源的具体位置。SSM 模型使用与ASM/SFM 模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。 6. IP组播 ??对于IP 组播,需要关注下列问题: ?         组播源将组播信息传输到哪里?即组播寻址机制; ?         网络中有哪些接收者?即主机注册; ?         这些接收者需要从哪个组播源接收信息?即组播源发现; ?         组播信息如何传输?即组播路由。 ??IP 组播属于端到端的服务,组播机制包括以下四个部分: ?         寻址机制:借助组播地址,实现信息从组播源发送到一组接收者; ?          主机注册:允许接收者主机动态加入和离开某组播组,实现对组播成员的管理; ?          组播路由:构建组播报文分发树(即组播数据在网络中的树型转发路径),并通过该分发树将报文从组播源传输到接收者; ?          组播应用:组播源与接收者必须安装支持视频会议等组播应用的软件,TCP/IP 协议栈必须支持组播信息的发送和接收。 为了让组播源和组播组成员进行通信,需要提供网络层组播地址,即IP 组播地址。同时必须存在一种技术将IP 组播地址映射为链路层的组播MAC 地址。 ??IP 组播地址 ?         IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用,范围从224.0.0.0 到239.255.255.255,具体分类及其含义如下表所示。 IPv4 组播地址的范围及含义 地址范围 含义 224.0.0.0~224.0.0.255 永久组地址。除224.0.0.0 保留不做分配外,其它地址供路由协议、拓扑查找和协议维护等使用,常用的永久组地址及其含义如表1-3 所示。对于以该范围内组播地址为目的地址的数据包来说,不论其TTL(Time to Live ,生存时间)值为多少,都不会被转发出本地网段 224.0.1.0~238.255.255.255 用户组地址,全网范围内有效。包含两种特定的组地址:232.0.0.0/8:SSM 组地址;233.0.0.0/8:GLOP 组地址 239.0.0.0~239.255.255.255 本地管理组地址,仅在本地管理域内有效。使用本地管理组地址可以灵活定义组播域的范围,以实现不同组播域之间的地址隔离,从而有助于在不同组播域内重复使用相同组播地址而不会引起冲突。详情请参见RFC 2365     说明: ?  组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。 ?   GLOP 是一种AS(Autonomous System,自治系统)之间的组播地址分配机制,将AS 号填入该范围内组播地址的中间两个字节中,每个AS 都可以得到255 个组播地址。有关GLOP 的详细介绍请参见RFC 2770。 永久组地址 含义 224.0.0.1 所有系统,包括主机与路由器 224.0.0.2 所有组播路由器 224.0.0.3 未分配 224.0.0.4 DVMRP(Distance Vector Multicast Routing Protocol ,距离矢量组播路由协议)路由器 224.0.0.5 OSPF(Open Shortest Path First ,开放最短路径优先)路由器 224.0.0.6 OSPF 指定路由器/备用指定路由器 224.0.0.7 ST(Shared Tree ,共享树)路由器 224.0.0.8 ST 主机 224.0.0.9 RIP-2(Routing Information Protocol version 2 ,路由信息协议版本2)路由器 224.0.0.11 移动代理 224.0.0.12 DHCP(Dynamic Host Configuration Protocol ,动态主机配置协议)服务器/中继代理 224.0.0.13 所有PIM(Protocol Independent Multicast , 协议无关组播)路由器 224.0.0.14 RSVP(Resource Reservation Protocol ,资源预留协议)封装 224.0.0.15 所有CBT(Core-Based Tree ,有核树)路由器 224.0.0.16 指定SBM(Subnetwork Bandwidth Management ,子网带宽管理) 224.0.0.17 所有SBM 224.0.0.18 VRRP(Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)     ??以太网组播MAC 地址 ?         以太网传输单播IP 报文的时候,目的MAC 地址使用的是接收者的MAC 地址。但是在传输组播数据包时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用组播MAC 地址。 ?         IANA规定,IPv4 组播MAC地址的高24 位为0x01005E,第25 位为0,低23 位为IPv4 组播地址的低23 位。IPv4 组播地址与MAC地址的映射关系如下图所示。 IPv4 组播地址与MAC 地址的映射关系 ?         由于IPv4 组播地址的高4 位是1110,代表组播标识,而低28 位中只有23 位被映射到IPv4 组播MAC 地址,这样IPv4 组播地址中就有5 位信息丢失。于是,就有32 个IPv4 组播地址映射到了同一个IPv4 组播MAC 地址上,因此在二层处理过程中,设备可能要接收一些本IPv4 组播组以外的组播数据,而这些多余的组播数据就需要设备的上层进行过滤了。 7. 组播协议 通常,我们把工作在网络层的IP 组播称为“三层组播”,相应的组播协议称为“三层组播协议”,包括IGMP、PIM、MSDP、MBGP 等;把工作在数据链路层的IP 组播称为“二层组播”,相应的组播协议称为“二层组播协议”,包括IGMP Snooping、组播VLAN 等。 ?         三层组播协议 三层组播协议包括组播组管理协议和组播路由协议两种类型,它们在网络中的应用位置如下图。 三层组播协议的应用位置 (1)     组播组管理协议 在主机和与其直接相连的三层组播设备之间通常采用组播组的管理协议IGMP(Internet Group Management Protocol,互联网组管理协议),该协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。 (2)      组播路由协议 组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。 对于ASM 模型,可以将组播路由分为域内和域间两大类: ?         域内组播路由用来在AS 内部发现组播源并构建组播分发树,从而将组播信息传递到接收者。在众多域内组播路由协议中,PIM(Protocol Independent Multicast,协议无关组播)是目前较为典型的一个。按照转发机制的不同,PIM 可以分为DM(Dense Mode,密集模式)和SM(Sparse Mode,稀疏模式)两种模式。 ?         域间组播路由用来实现组播信息在AS 之间的传递,目前比较成型的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 有:MSDP(Multicast Source Discovery Protocol,组播源发现协议)能够跨越AS 传播组播源的信息;而MP-BGP(MultiProtocol Border Gateway Protocol,多协议边界网关协议)的组播扩展MBGP(Multicast BGP)则能够跨越AS 传播组播路由。 对于SSM 模型,没有域内和域间的划分。由于接收者预先知道组播源的具体位置,因此只需要借助PIM-SM 构建的通道即可实现组播信息的传输。 ?         二层组播协议 二层组播协议包括IGMP Snooping和组播VLAN等,它们在网络中的应用位置如下图。 二层组播协议的应用位置 (1)     IGMP Snooping IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)是运行在二层设备上的组播约束机制,通过窥探和分析主机与三层组播设备之间交互的IGMP 报文来管理和控制组播组,从而可以有效抑制组播数据在二层网络中的扩散。 (2)      组播VLAN 在传统的组播点播方式下,当连接在二层设备上、属于不同VLAN 的用户分别进行组播点播时,三层组播设备需要向该二层设备的每个VLAN 分别发送一份组播数据;而当二层设备运行了组播VLAN 之后,三层组播设备只需向该二层设备的组播VLAN 发送一份组播数据即可,从而既避免了带宽的浪费,也减轻了三层组播设备的负担。 8. 组播报文的转发机制 在组播模型中,IP 报文的目的地址字段为组播组地址,组播源向以此目的地址所标识的主机群组传送信息。因此,转发路径上的组播路由器为了将组播报文传送到各个方位的接收站点,往往需要将从一个入接口收到的组播报文转发到多个出接口。与单播模型相比,组播模型的复杂性就在于: ?         为了保证组播报文在网络中的传输,必须依靠单播路由表或者单独提供给组播使用的路由表(如MBGP 路由表)来指导转发; ?         为了处理同一设备在不同接口上收到来自不同对端的相同组播信息,需要对组播报文的入接口进行RPF(Reverse Path Forwarding,逆向路径转发)检查,以决定转发还是丢弃该报文。RPF 检查机制是大部分组播路由协议进行组播转发的基础。 9. IGMP SSM Mapping IGMP SSM Mapping 通过在路由器上配置SSM 静态映射规则,从而为运行IGMPv1 或IGMPv2 的接收者主机提供对SSM 模型的支持。 SSM 模型要求在接收者主机所在的网段,路由器能够了解主机加入组播组时所指定的组播源。如果接收者主机上运行的是IGMPv3,则可以在IGMPv3 的报告报文中直接指定组播源的地址;如果某些接收者主机只能运行IGMPv1 或IGMPv2,则在IGMPv1 或IGMPv2 的报告报文中无法指定组播源的地址。这种情况下需要通过在路由器上配置IGMP SSM Mapping 功能,将IGMPv1 或IGMPv2报告报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息。 在下图所示的SSM网络中,Host A、Host B和Host C上分别运行IGMPv1、IGMPv2 和IGMPv3。 在不允许将Host A和Host B升级为IGMPv3 的情况下,若要为Host A和Host B也提供SSM组播服务,则需在Router A上使能IGMP SSM Mapping并配置相应的映射规则。 IGMP SSM Mapping组网图 配置完成后,当Router A 收到来自主机的IGMPv1 或IGMPv2 报告报文时,首先检查该报文中所携带的组播组地址G,然后根据检查结果的不同分别进行处理: (1) 如果G 不在SSM 组地址范围内,则提供ASM 组播服务。 (2) 如果G 在SSM 组地址范围内: ??若Router A 上没有G 对应的IGMP SSM Mapping 规则,则无法提供SSM 组播服务,丢弃该报文; ??若Router A 上有G 对应的IGMP SSM Mapping 规则,则依据规则将报告报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息,可以提供SSM 组播服务。 IGMP SSM Mapping 不对IGMPv3 的报告报文进行处理。 10. IGMP Proxy 在一些简单的树型网络拓扑中,边缘设备上并不需要运行复杂的组播路由协议(如PIM),可以通过在这些设备上配置IGMP Proxying(IGMP 代理)功能,使其代理下游主机来发送IGMP 报文及维护组成员关系,并基于该关系进行组播转发。在上游设备看来,配置了IGMP Proxying 功能的设备(称为IGMP 代理设备)不再是一个PIM 邻居,而只是一台主机。 如上图所示,IGMP Proxying中定义了以下两种接口类型: ??上行接口:又称代理接口,指IGMP 代理设备上运行IGMP Proxying 功能的接口,即朝向组播分发树树根方向的接口。由于该接口执行IGMP 协议的主机行为,因此也称为主机接口(Host Interface)。 ??下行接口:指IGMP 代理设备上除上行接口外其它运行IGMP 协议的接口,即背向组播分发树树根方向的接口。由于该接口执行IGMP 协议的路由器行为,因此也称为路由器接口(Router Interface)。 IGMP 代理设备上维护着一个组成员关系数据库(Membership Database),将所有下行接口维护的组成员关系记录都存到这个数据库中。组成员关系记录的结构如下:(Multicast-address,Filter-mode,Source-list),每条记录都是各下行接口上具有相同组地址的成员关系记录的合集。 上行接口正是依据这个数据库来执行主机行为——当收到查询报文时根据当前数据库状态响应报告报文,或者当数据库变化时主动发送报告或离开报文;而下行接口则执行路由器行为——参与查询器的选举、发送查询报文并根据报告报文维护组成员关系等。 11. 组播传输的特点 ?         “组播组”是一个用IP 组播地址进行标识的接收者集合,主机通过加入某组播组成为该组播组的成员,从而可以接收发往该组播组的组播数据。组播源通常不需要加入组播组。 ?         信息的发送者称为“组播源”,一个组播源可以同时向多个组播组发送信息,多个组播源也可以同时向一个组播组发送信息。 ?         所有加入某组播组的主机便成为该组播组的成员,组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。 ?         支持三层组播功能的路由器或三层交换机统称为“组播路由器”或“三层组播设备”。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。组播路由器本身也可能是组播组的成员。 12. 组播技术的优点 ?         提高效率:减轻信息源服务器和网络设备CPU 的负荷; ?         优化性能:减少冗余流量; ?         分布式应用:使用最少的网络资源实现点到多点应用。 13. 组播相对单播、广播的优势 ?         相比单播来说,组播的优势在于:由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。 ?         相比广播来说,组播的优势在于:由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性;另外,广播只能在同一网段中进行,而组播可以实现跨网段的传输。 组播信息传输与电视节目传输的类比 步骤 电视节目的传送过程 组播方式的信息传输过程 1 电视台S 通过频道G 传送电视节目 组播源S 向组播组G 发送组播数据 2 用户U 将电视机的频道调至频道G 接收者U 加入组播组G 3 用户U 能够收看到由电视台S 通过频道G 传送的电视节目了 接收者U 能够收到由组播源S 发往组播组G 的组播数据了 4 用户U 关闭电视机或切换到其它频道 接收者U 离开组播组G       14. 组播技术应用 ?         多媒体、流媒体的应用,如:网络电视、网络电台、实时视/音频会议; ?         培训、联合作业场合的通信,如:远程教育、远程医疗; ?         数据仓库、金融应用(股票); ?         其它任何“点到多点”的数据发布应用。 IGMP V3报文格式 Type=(0X11,8bit) Max_Resp_Code(8bit) CheckSum(16bit) Group Address(32bit) Resv (4bit) S(1bit) QRV(3bit) QQIC(8bit) Number_of_Source(n,16bit) Source address[i] (i取值从1到n)               相关字段的说明: 1.Max_Resp_Code:接收设备在接收到一个组播报文后到发出响应报文的最大时间; 2.Resv:发送的时候以0填充,接收的时候不做处理; 3.S:标志位,当该值置1的时候,表明我发出该报文的设备扮演的是路由器角色,所有收到此报文的其它路由器都不应该启动定时刷新器,但这并不影响主机发送报文; 4.QRV:健壮性系数; 5.QQIC:查询间隔时间,单位是秒; 6.Number_of_Source:节目流的个数; 7.Source address[i] (i取值从1到n):各个具体的节目流地址。 V3只有查询报文和报告报文,在今天的文章中,我想谈谈V3的报告报文。 Type=0X22 Reserved( 8bit) Checksum(16bit) Reserved( 16bit) Number_of_Group_Records(M) Group Record[i] (i 从 1 到M)         下面对每个字段作下解释吧: 1. Reserved( 8bit)和 Reserved( 16bit):都是表示保留字段,不过在IGMP中为了使它们都保持对应的长度,所以才有了长度上的区别,它在发送的时候是以0填充,在接收的时候是不作任何处理的。 2. Number_of_Group_Records(M):该字段表示该报告报文中包含有几个组记录,也就是有几个节目; 3. Group Record[i] (i 从 1 到M):一个主机可能需要点播多个组播地址的组播业务,每个记录包含了对应于其中一个组播地址的源地址列表等信息,也就是节目的地址,它受到2的大小的影响。 在这里要注意的就是,每个Group Record[i]又有以下的具体报文格式: Record Type Aux_Data_Len Number_of_Group_Sources (N) Multicast Address Source Address [i] (i从1到N) Auxiliary Data       下面对Group Record[i]的每个字段作下说明: 1. Record  Type:它一共有6个取值,IS_IN、IS_EX、TO_IN、TO_EX、ALLOW、BLOCK; 2. Aux_Data_Len:辅助数据的长度; 3.Number_of_Group_Sources:节目的地址的个数; 4.Multicast  Address:组播组的地址,一个组播组可以有多个节目; 5. Source  Address [i]  (i从1到N):具体的每个节目地址; 6.Auxiliary  Data:辅助数据。 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf : 学习了IGMP V3以后,可以大概总结一下,在IGMP V3中它有了以下的改进功能,下面总结一下,供大家学习和探讨: 1.增加了主机的控制能力; 如何实现:IGMP V3不仅可以指定加入的组播组G,还能明确要求从哪个指定组播源S接受信息,这也是指定源组播功能。 2.查询消息可以携带源地址;(源地址就是节目流地址) 3.响应消息包含多组记录: 如何实现:IGMP V1 V2版本的响应消息和查询消息具有相同的报文结构,即报文中仅包含组地址信息。IGMP V3响应消息包含的组地址为224.0.0.22,,其中可以携带1个多则多个组记录,在每个组记录中,包含组播组地址、数目不等的源地址信息。 4.取消响应的抑制机制: 原因:由于IGMP V3响应报文中同时携带源地址和组播组地址,而且包括Include和Exclude两种状态,为了减轻主机负担无需响应抑制机制,即组成员可以独立报告响应消息。 Debug ip igmp all *Jan  5 06:16:26: %7: [IGMP-ENCODE] Send Gen Query: Sent General Query on FastEthernet 1/0, ret=32 *Jan  5 06:18:31: %7: [IGMP-ENCODE] Send Gen Query: Sent General Query on FastEthernet 1/0, ret=32 ----- 02:05 == 125s *Jan  5 07:20:51: %7: [IGMP-DECODE] Dec Msg: IGMP V2 Membership Report, Max. Rsp. Code 0 *Jan  5 07:25:11: %7: [IGMP-TIB] Group Rec Del: G=224.1.1.1 07:25:11 – 07:20:51 = 04:20 Group Memberbership interval  默认的时间间隔为260s
本文档为【IGMP原理简介【华为】】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_614050
暂无简介~
格式:doc
大小:100KB
软件:Word
页数:0
分类:互联网
上传时间:2019-09-19
浏览量:30