组播路由
- 格式:doc
- 大小:2.16 MB
- 文档页数:25
windowsudp组播路由协议(一)
Windows UDP组播路由协议
概述
该协议旨在定义Windows操作系统中使用的UDP组播路由规则,以实现高效的网络通信。
功能特点
•支持UDP组播数据包的路由转发
•提供可配置的组播路由策略
•支持多播组的动态加入和离开
协议要求
为了正确使用该协议并确保网络通信的稳定性,以下要求需要被满足: - 操作系统必须支持UDP协议 - 操作系统必须支持组播功能- 网络设备必须支持组播功能
协议流程
1.操作系统启动时,加载组播路由表配置文件
2.操作系统监听组播数据包,等待接收
3.当接收到组播数据包时,操作系统判断数据包的目标组播地址是
否在路由表中
4.如果目标组播地址在路由表中,则将数据包转发至对应的网络设
备
5.如果目标组播地址不在路由表中,则丢弃数据包
6.如果有新的组播组加入或离开网络,操作系统根据配置文件更新
组播路由表
组播路由策略配置文件示例
以下为一份组播路由策略配置文件示例:
# 组播路由策略配置文件
# 路由规则1
- 组播组地址:
- 网络设备: eth0
- 转发模式: 无
# 路由规则2
- 组播组地址:
- 网络设备: eth1
- 转发模式: 收听
# 路由规则3
- 组播组地址:
- 网络设备: eth2
- 转发模式: 转发
结论
通过该协议,Windows操作系统可以实现UDP组播数据包的高效路由转发,从而支持多播网络通信。
组播路由策略可根据实际需求进行配置,以满足各种网络环境下的需求。
组播所使用的路由算法
蓝色线段为构造的树,这些点构成的线段的和是最小的,总和只有7,但是因为考虑到从组播源发送到树根还有一定的距离,所以组播包一共发送的长度不一定是最小的。
并且可能会引起数据的重复传输的问题(从源->根->接受者的路径可能重复)。
他最适合的场合是多数共享树与源树相同的环境。
这样就可以达到最小路径了。
第二种树是基于源的树,也称最短路径树。
以发送者为树根到每一个接收者的最短路径构成一棵转发树,从发送者到接收者的路径最优,但需要维护较多的状态信息。
这样,在具有N个主机的组播组中,需要构造N棵不同的路由树,因为每一个源能构造出以自己为根的最优路径的树。
它适用于发送者数量较少而接收者大量的应用,这样可以构造尽量少的树。
共享组播树的特点是:该树具有最小“成本”(树的树枝的链路成本和最小)但是从源到接受者的路径并非最优。
具体解释为:构造出的树的链路和成本最小,但是组播源必须将组播数据首先发送给树根节点,之后树根节点再根据这棵树发送给所有节点。
两种构造组播树的方法都是为了让组播数据包到达所有的组播路由器,两者的区别就是是否把源节点当做根节点,这样可以决定是树成本最小还是路径最优。
通过组播路由算法,有效构造了树,加上组管理协议IGMP,能够实现IP组播的有效传输了。
BGP EVPN(Border Gateway Protocol Ethernet Virtual Private Network)是一种基于BGP的数据中心互联技术,它提供了一种高效的、可扩展的以太网虚拟专用网络解决方案。
在BGP EVPN中,3类路由是指MAC路由、IP路由和组播路由。
本文将从三类路由产生条件的角度来分析BGP EVPN的工作原理。
1. MAC路由的产生条件MAC路由是指在数据中心网络中,用于将MAC位置区域与对应的VTEP(Virtual Tunnel End Point)关联起来的路由信息。
MAC路由的产生条件包括以下几点:1.1 VTEP学习到的MAC位置区域VTEP通过学习数据包中的源MAC位置区域和VLAN信息,将MAC 位置区域与对应的VNI(Virtual Network Identifier)关联起来,然后向控制平面发送MAC路由信息。
1.2 MAC位置区域的变动当VTEP学习到新的MAC位置区域或者已经学习到的MAC位置区域发生变化时,将触发MAC路由的产生。
2. IP路由的产生条件IP路由是指在数据中心网络中,用于将IP位置区域与对应的VTEP关联起来的路由信息。
IP路由的产生条件包括以下几点:2.1 VTEP学习到的IP位置区域VTEP通过学习数据包中的源IP位置区域和VLAN信息,将IP位置区域与对应的VNI关联起来,然后向控制平面发送IP路由信息。
2.2 IP位置区域的变动当VTEP学习到新的IP位置区域或者已经学习到的IP位置区域发生变化时,将触发IP路由的产生。
3. 组播路由的产生条件组播路由是指在数据中心网络中,用于将组播流的源位置区域和接收者关联起来的路由信息。
组播路由的产生条件包括以下几点:3.1 组播流的源位置区域和接收者VTEP通过学习组播流的源位置区域和接收者信息,将其关联起来,并向控制平面发送组播路由信息。
3.2 组播流信息的变动当组播流的源位置区域或者接收者信息发生变动时,将触发组播路由的产生。
组播路由建立了一个从数据源端到多个接收端的无环数据传输路径。
组播路由协议的任务就是构建分发树结构。
组播路由器能采用多种方法来建立数据传输的路径,即分发树。
组播路由也分为域内和域间两大类。
域内组播路由目前已经相当成熟,在众多的域内路由协议中,PIM-DM(协议独立组播—密集模式)和PIM-SM(协议独立组播—稀疏模式)是目前应用最多的协议。
域间路由的首要问题是路由信息(或者说可达信息)如何在自治系统之间传递,由于不同的AS可能属于不同的运营商,因此除了距离信息外,域间路由信息必须包含运营商的策略,这是与域内路由信息的不同之处。
1、域内组播路由协议(1)PIM-DM(Protocol-Independent Multicast Dense Mode,PIM-DM)密集模式组播路由协议适用于小型网络。
一般说来,密集模式下数据包的转发路径是“有源树”——以“源”为根、组播组成员为枝叶的一棵树。
由于有源树使用的是从组播源到接收者的最短路径,因此也称为最短路径树(Shortest Path Tree,SPT)。
(2)PIM-SM(Protocol-Independent Multicast Sparse Mode,PIM-SM)密集模式采用的扩散—剪枝技术,在广域网上是不可取的。
在广域网上,组播接收成员相对稀疏,多采用稀疏模式。
稀疏模式默认所有主机都不需要接收组播包,只向明确指定需要组播包的主机转发。
为了使接收站点能够接收到特定组的组播数据流,连接这些站点的组播路由器必须向该组对应的“汇聚点”RP(Rendezvous Point)(汇聚点需要在网络中构建,是一些虚拟的数据交换地点)发送加入消息,加入消息经过一个个路由器后到达根部,即汇聚点,所经过的路径就变成了共享树的分支。
稀疏模式协议先将组播报文发送到汇聚点,再沿以汇聚点为根的组员为枝叶的“共享树”转发。
为了避免共享树的分支由于未更新而被删除,稀疏模式组播路由协议通过向分支周期性地发送加入消息来维护组播分布树。
组播路由协议组播路由协议(Multicast Routing Protocol)是一种网络协议,用于支持组播传输,将数据从一个源节点传输到多个目的节点。
组播路由协议通过建立一棵组播树来实现数据的传输,其中源节点作为根节点,目的节点作为叶子节点。
组播路由协议有多种类型,常见的包括DVMRP、IGMP、PIM和MOSPF等。
每种协议都有各自的特点和适用场景。
其中,Distance Vector Multicast Routing Protocol(DVMRP)是一种基于距离向量的组播路由协议。
它使用了类似于BGP的距离矩阵来选择最佳的路径,并通过向邻居节点广播消息来更新路由表。
DVMRP适用于小型网络,但在大型网络中可能产生大量的控制消息。
Internet Group Management Protocol(IGMP)是一种用于在主机和组播路由器之间交换组播组信息的协议。
它允许主机加入和离开组播组,并向路由器报告组播组成员。
IGMP采用了查询-报告机制,通过查询消息和报告消息来维护组播组的成员关系。
Protocol Independent Multicast(PIM)是一种独立于底层网络的组播路由协议。
它可以与各种底层网络协议一起使用,如IP、ATM和Frame Relay等。
PIM使用了两种模式:稠密模式(Dense Mode)和稀疏模式(Sparse Mode)。
稠密模式适用于具有大量组播组成员的网络,而稀疏模式适用于成员分布较不密集的网络。
Multicast Open Shortest Path First(MOSPF)是一种基于OSPF协议的组播路由协议。
它通过向OSPF协议添加组播扩展来支持组播传输。
MOSPF使用与OSPF相同的链路状态数据库(LSDB)和最短路径树(SPF)算法来计算最优的组播路径。
无论是哪种组播路由协议,其基本目标是找到一条最佳的路径,以最小的开销实现数据的组播传输。
华为AR系列路由器01-08组播路由管理(IPv6)配置8组播路由管理(IPv6)配置关于本章设备可同时维护多个IPv6组播路由协议,通过控制平⾯与转发平⾯之间的信息交互,控制IPv6组播路由和转发。
8.1 组播路由管理简介(IPv6)介绍组播路由管理的定义和⽬的。
8.2 组播路由管理(IPv6)原理描述介绍组播路由管理中各个功能的实现原理。
8.3 配置组播路由管理(IPv6)任务概览通过IPv6组播转发表,整个IPv6⽹络建⽴了⼀条以组播源为根,组成员为叶⼦的⼀点到多点的转发路径。
同时设备提供了⼀系列IPv6组播路由管理功能,实现组播转发路径的控制与维护。
8.4 组播路由管理(IPv6)配置注意事项介绍配置组播路由管理(IPv6)的注意事项。
8.5 组播路由管理(IPv6)缺省配置介绍缺省情况下,组播路由管理(IPv6)的配置信息。
8.6 配置IPv6组播负载分担通过配置IPv6组播负载分担,可以改变设备RPF检查时若存在多条等价路由只选取⼀条RPF路由的规则。
8.7 配置IPv6组播转发边界通过配置IPv6组播转发边界,可以限制组播报⽂转发范围。
8.8 配置IPv6组播转发表控制参数在IPv6组播路由与转发中,IPv6组播转发表直接控制组播报⽂的转发。
通过配置IPv6组播转发表控制参数,间接的就控制了组播报⽂的转发。
8.9 维护组播路由管理(IPv6)组播路由管理(IPv6)的维护包括:清除IPv6组播转发表项和路由表项、监控IPv6组播路由和转发状况。
8.10 组播路由管理(IPv6)常见配置错误介绍常见配置错误及定位思路。
8.1 组播路由管理简介(IPv6)介绍组播路由管理的定义和⽬的。
定义组播路由管理(Multicast Route Management)主要介绍如何创建或更改组播路由来控制组播报⽂的转发,以及组播转发路径的检测和维护。
⽬的组播路由和转发与单播路由和转发类似,⾸先每个组播路由协议都各⾃建⽴并维护了⼀张协议路由表。
组播路由协议配置(华为)常⽤组播路由协议配置⽅法1IGMP协议配置1.1 IGMP基本设置1.1.1配置路由器加⼊到⼀个组播组:# 将VLAN 接⼝VLAN-interface10 包含的以太⽹端⼝Ethernet 0/1 加⼊组播组#225.0.0.1。
[Quidway-Vlan-interface10] igmp host-join 225.0.0.1 port Ethernet 0/11.1.2控制某个接⼝下主机能够加⼊的组播组igmp group-policy acl-number [ 1 | 2 | port { interface_type interface_ num|interface_name } [ to { interface_type interface_num|interface_name } ] ] 【例如】# 配置访问控制列表acl 2000[Quidway] acl number 2000[Quidway-acl-basic-2000] rule permit source 225.0.0.0# 指定VLAN-interface10上满⾜acl2000中规定的范组,指定组的IGMP版本为2。
[Quidway-Vlan-interface10] igmp group-policy 2000 21.1.3IGMP版本切换igmp version { 1 | 2 }# 在VLAN 接⼝VLAN-interface10 上运⾏IGMP 版本1。
[Quidway-Vlan-interface10] igmp version 11.1.4IGMP查询间隔时间:默认60sigmp timer query seconds# 将VLAN-interface2 接⼝上的主机成员查询报⽂发送间隔设置为150 秒。
[Quidway-Vlan-interface2] igmp timer query 1501.1.5IGMP查询超时时间:默认为2倍的查询间隔时间igmp timer other-querier-present# 配置Querier 的存活时间为300 秒[Quidway-Vlan-interface10] igmp timer other-querier-present 3001.1.6IGMP查询最⼤响应时间:默认为10sigmp max-response-time seconds# 配置主机成员查询报⽂中包含的最⼤响应时间为8 秒。
常用组播路由协议配置方法1IGMP协议配置1.1 IGMP基本设置1.1.1配置路由器加入到一个组播组:Router(config-if)# ip igmp join-group 225.2.2.21.1.2控制某个接口下主机能够加入的组播组ip igmp access-group access-list【例如】Router(config)# access-list 1 225.2.2.2 0.0.0.0Router(config)# interface ethernet 0Router(config-if)ip igmp access-group 1ACL可以同时对组播报文的源和目的地址控制,达到过滤组播源,同时也能过滤特定接收主机的作用,例如:Deny all state for a group Gdeny igmp any host Gpermit igmp any anyDeny all state for a source Sdeny igmp host S anypermit igmp any anyPermit all state for a group Gpermit igmp any host GPermit all state for a source Spermit igmp host S anyFilter a particular source for a group Gdeny igmp host S host Gpermit igmp any host G1.1.3IGMP版本切换Router(config-if)# ip igmp version {2|3}1.1.4IGMP查询间隔时间:默认60sRouter(config-if)# ip igmp query-interval 1201.1.5IGMP查询超时时间:默认为2倍的查询间隔时间Router(config-if)# ip igmp query-timeout 301.1.6IGMP查询最大响应时间:默认为10sRouter(config-if)# ip igmp query-max-response-time 81.2 IGMP Proxy如图2,当C收到组播请求后,发送一条PIM-SM join的消息给B,B发送一个IGMP 的请求到A,A通过一条单播链路将数据传送到B,这个过程就需要一个IGMP的代理,配置如下:图2【例如】Router A Configurationinterface ethernet 0ip address 10.1.1.1 255.255.255.0ip pim dense-mode!interface ethernet 1ip address 10.2.1.1 255.255.255.0ip pim dense-modeip igmp unidirectional link!interface ethernet 2ip address 10.3.1.1 255.255.255.0Router B Configurationip pim rp-address 10.5.1.1 5access-list 5 permit 239.0.0.0 0.255.255.255.255!interface loopback 0ip address 10.7.1.1 255.255.255.0ip pim dense-modeip igmp helper-address udl ethernet 0ip igmp proxy-service!interface ethernet 0ip address 10.2.1.2 255.255.255.0ip pim dense-modeip igmp unidirectional link!interface ethernet 1ip address 10.5.1.1 255.255.255.0ip pim sparse-modeip igmp mroute-proxy loopback 0!interface ethernet 2ip address 10.6.1.1 255.255.255.0Router C Configurationip pim rp-address 10.5.1.1 5access-list 5 permit 239.0.0.0 0.255.255.255!interface ethernet 0ip address 10.8.1.1 255.255.255.0ip pim sparse-mode!interface ethernet 1ip address 10.9.1.1 255.255.255.0ip pim sparse-mode1.3 IGMP Snooping1.3.1开启IGMP轮询Router(config)#ip igmp snooping1.3.2IGMP Snooping调整在单个vlan中启用Snooping:ip igmp snooping vlan1.3.3IGMP Snooping快速离开ip igmp snooping vlan immediate-leaveThe following example shows how to enable IGMP Immediate-Leave processing on VLAN 1:Router(config)# ip igmp snooping vlan 1 immediate-leave1.3.4IGMP Snooping参考多播路由ip igmp snooping vlan mrouterTo add a multicast router port and to configure the multicast router learning method, use the ip igmp snooping vlan mrouter command in globalconfiguration mode.ip igmp snooping vlan vlan-id mrouter {interface interface-id | learnpim-dvmrp}【例如】Switch# configure terminalSwitch(config)# ip igmp snooping vlan 200 mrouter interfacegigabitethernet1/0/2Switch(config)# end1.3.5基于静态地址的IGMP Snoopingip igmp snooping vlan vlan-id static mac-address interface interface-id 【例如】Switch# configure terminalSwitch(config)# ip igmp snooping vlan 105 static 01-00-5e-23-33-12interface gigabitethernet1/0/1Switch(config)# end1.4 监控调试IGMP1.4.1show ip igmp groups1.4.2show ip igmp interface显示内容:(1)IGMP和CGMP在接口下是否启用。
组播路由协议组播路由协议是用于支持组播传输的网络协议,它们允许网络中的多个主机共享相同的数据流。
组播路由协议通常用于视频会议、流媒体和在线游戏等应用中,能够有效地减少网络流量和提高数据传输效率。
在组播通信中,数据包只需在网络上传输一次,然后被路由器复制并发送到所有的接收者。
这种方式与单播和广播通信相比,能够显著减少网络带宽的占用,因此在大规模数据传输和多播会话中非常有用。
常见的组播路由协议包括IGMP(Internet Group Management Protocol)、PIM (Protocol Independent Multicast)和MSDP(Multicast Source Discovery Protocol)等。
IGMP协议用于主机和路由器之间的通信,以便路由器知道哪些主机对特定组播组感兴趣。
PIM协议则用于路由器之间的通信,以便它们能够有效地转发组播数据包。
而MSDP协议则用于在不同的组播域之间传递源信息。
IGMP协议是组播路由协议中最基本的一环,它允许主机向所在的局域网路由器表明自己对哪些组播组感兴趣。
一旦路由器收到主机的加入请求,它就会向其他路由器发送消息,以便它们也能够知道这个组播组的存在。
PIM协议则负责在不同的路由器之间传递组播数据包,确保它们能够有效地到达所有的接收者。
MSDP协议则用于在不同的组播域之间传递源信息,以便它们能够相互通信和传输数据。
在实际网络中,组播路由协议的选择和配置非常重要。
不同的协议有不同的特点和适用场景,需要根据网络的实际情况进行选择。
同时,正确的配置和管理也能够提高网络的性能和稳定性,减少网络故障和安全风险。
总的来说,组播路由协议在网络通信中起着非常重要的作用。
它们能够有效地减少网络流量,提高数据传输效率,同时也能够支持大规模的数据传输和多播会话。
因此,在构建和管理网络时,需要充分考虑组播路由协议的选择和配置,以便实现更高效、更稳定的网络通信。
常用组播路由协议配置方法1 IGMP协议配置1.1 IGMP基本设置1.1.1配置路由器加入到一个组播组:# 将VLAN 接口VLAN-inteface10 包含的以太网端口Ethernet 0/1 #225.0.0.1。
[Quidway-Via n-i nteface10] igmp host-joi n 225.0.0.1 port Ethernet 0/11.1.2控制某个接口下主机能够加入的组播组igmp group-policy acl-nu mber [ 1 | 2 | port { in terface_type in terface_ num |in terface_ name } [ to { in terface_typein terface _nu m|i nteface_ name }]]【例如】#配置访问控制列表acl 2000[Quidway] acl number 2000[Quidway-acl-basic-2000] rule permit source 225.0.0.0# 指定VLAN-inteface10 上满足acl2000 中规定的范组,指定组的[Quidway-Vla n-in terface10] igmp group-policy 2000 21.1.3 IGMP版本切换igmp version { 1 | 2 }# 在VLAN 接口VLAN-inteface10 上运行IGMP 版本1。
[Quidway-Vla n-i nteface10] igmp vers ion 11.1.4 IGMP查询间隔时间:默认60sigmp timer query sec onds#将VLAN-inteface2 接口上的主机成员查询报文发送间隔设置为[Quidway-Vla n-i nteface2] igmp timer query 1501.1.5 IGMP查询超时时间:默认为2倍的查询间隔时间igmp timer other-querier-prese nt#配置Querier 的存活时间为300秒[Quidway-Vla n-i nteface10] igmp timer other-querier-prese nt 3001.1.6 IGMP查询最大响应时间:默认为10sigmp max-resp on se-time sec onds#配置主机成员查询报文中包含的最大响应时间为8秒。
PIM协议解析组播路由协议的工作原理与组播树构建策略随着互联网的快速发展,网络通信的需求也在不断增加。
而组播技术作为一种高效的数据传输方式,被广泛应用于多媒体、在线教育、实时通信等领域。
在组播通信中,路由协议起到了至关重要的作用,而PIM(Protocol Independent Multicast)协议作为一种常用的组播路由协议,具备了良好的适应性和兼容性,可用于不同的网络环境。
本文将从PIM协议的工作原理和组播树构建策略两方面进行探讨。
一、PIM协议的工作原理PIM协议是一种基于源的组播路由协议,它通过建立一棵组播树来实现数据的传输。
在PIM协议中,有两种关键的角色,分别是RP (Rendezvous Point)和DR(Designated Router)。
首先,RP作为数据的分发点,负责将数据从源节点转发到组播树上的其他节点。
在PIM协议中,RP的选举可以采用静态配置或自动选举的方式,具体选择哪种方式取决于网络中的具体需求。
RP在接收到数据后,将根据组播组地址,将数据转发给组播树上的相应分支。
其次,DR作为局域网的代表,负责将RP发送的数据进行分发,并维护组播树的结构。
在PIM协议中,DR会定期发送Hello消息以保证与其他DR的连接正常,并通过特定的协议消息来交换相关的组播信息。
PIM协议的核心原理是,当有源节点发送组播数据时,数据会逐级向上转发,直到达到RP所在的点。
然后,RP根据组播组地址的信息,将数据转发到相应的组播树分支。
最终,数据将通过组播树传输到所有接收组的成员节点。
这种数据转发方式保证了组播通信的高效和可扩展性。
二、组播树构建策略组播树的构建是PIM协议中的一个重要环节,合理的组播树结构能够提高组播传输效率和可靠性。
PIM协议提供了两种组播树构建策略,分别是源特定树(SPT,Source- Specific Tree)和共享树(Shared Tree)。
首先,SPT是一种基于源的组播树构建策略,它在数据传输时以特定源作为树的根节点。
常用组播路由协议配置方法IGMP协议配置IGMP基本设置配置路由器加入到一个组播组:Router(config-if)# ip igmp join-group 225.2.2.2控制某个接口下主机能够加入的组播组ip igmp access-group access-list【例如】Router(config)# access-list 1 225.2.2.2 .0Router(config)# interface ethernet 0Router(config-if)ip igmp access-group 1ACL可以同时对组播报文的源和目的地址控制,达到过滤组播源,同时也能过滤特定接收主机的作用,例如:Deny all state for a group Gdeny igmp any host Gpermit igmp any anyDeny all state for a source Sdeny igmp host S anypermit igmp any anyPermit all state for a group Gpermit igmp any host GPermit all state for a source Spermit igmp host S anyFilter a particular source for a group Gdeny igmp host S host Gpermit igmp any host GIGMP版本切换Router(config-if)# ip igmp version{2|3}IGMP查询间隔时间:默认60sRouter(config-if)# ip igmp query-interval 120 IGMP查询超时时间:默认为2倍的查询间隔时间Router(config-if)# ip igmp query-timeout 30IGMP查询最大响应时间:默认为10sRouter(config-if)# ip igmp query-max-response-time 8IGMP Proxy如图2,当C收到组播请求后,发送一条PIM-SM join的消息给B,B发送一个IGMP的请求到A,A通过一条单播链路将数据传送到B,这个过程就需要一个IGMP的代理,配置如下:图2【例如】Router A Configurationip address .1 255.255.255.0ip pim dense-mode!interface ethernet 1ip address .1 255.255.255.0ip pim dense-modeip igmp unidirectional link!interface ethernet 2ip address .1 255.255.255.0Router B Configurationip pim rp-address .1 5access-list 5 permit 239.0.0.0 0.255.255.255.255 !ip address .1 255.255.255.0ip pim dense-modeip igmp helper-address udl ethernet 0 ip igmp proxy-service!interface ethernet 0ip address .2 255.255.255.0ip pim dense-modeip igmp unidirectional link!interface ethernet 1ip address .1 255.255.255.0ip pim sparse-modeip igmp mroute-proxy loopback 0!ip address .1 255.255.255.0Router C Configurationip pim rp-address .1 5access-list 5 permit 239.0.0.0 0.255.255.255 !interface ethernet 0ip address .1 255.255.255.0ip pim sparse-mode!interface ethernet 1ip address .1 255.255.255.0ip pim sparse-modeIGMP Snooping开启IGMP轮询Router(config)#ip igmp snoopingIGMP Snooping调整在单个vlanxx启用Snooping:ip igmp snooping vlanIGMP Snooping快速离开ip igmp snooping vlan immediate-leaveThe following example shows how to enable IGMP Immediate-Leave processing on VLAN 1:Router(config)# ip igmp snooping vlan 1 immediate-leave IGMP Snooping参考多播路由ip igmp snooping vlan mrouterTo add a multicast router port and to configure the multicast router learning method, use the ipigmp snooping vlan mrouter command in globalconfiguration mode.ip igmp snooping vlan vlan-id mrouter {interface interface-id | learn pim-dvmrp}【例如】Switch# configure terminalSwitch(config)# ip igmp snooping vlan 200 mrouter interfacegigabitethernet1/0/2Switch(config)# end基于静态地址的IGMP Snoopingip igmp snooping vlan vlan-id static mac-address interface interface-id【例如】Switch# configure terminalSwitch(config)# ip igmp snooping vlan 105 static 01-00-5e-23-33-12 interfacegigabitethernet1/0/1Switch(config)# end监控调试IGMPshow ip igmp groupsshow ip igmp interface显示内容:(1)IGMP和CGMP在接口下是否启用。
组播的工作原理组播是一种多播网络传输技术,用于在网络中同时向多个目标主机发送相同的数据包。
其工作原理如下:1. 组播发送者:组播发送者将数据包发送到一个特定的组播组地址。
组播组地址是一个由224.0.0.0到239.255.255.255之间的IP地址范围。
2. 组播路由:组播包在网络中传输时,通过组播路由器在网络节点间传输。
组播路由器用于转发组播包,以使其到达指定的目标主机。
3. IGMP协议:IGMP(Internet Group Management Protocol)是一种用于组播监听和管理的协议。
它允许组播路由器和主机之间进行通信,以确定主机是否对特定组播组感兴趣。
4. 主机加入组播组:当一个主机要接收特定组播组的数据时,它会发送一个IGMP报文给所在网络的组播路由器,表示它对该组播组感兴趣。
路由器则根据接收到的报文,将该主机添加到组播组的成员列表中。
5. 组播数据传输:一旦主机加入组播组成功,组播发送者发送的数据包将被复制并传输到该组播组中的所有成员主机。
组播路由器会根据组播组的成员列表,将数据包转发到每个成员主机。
6. 成员离开组播组:当一个主机不再对特定组播组感兴趣时,它会发送一个IGMP报文给组播路由器,表示它要离开该组播组。
路由器会相应地将该主机从组播组的成员列表中移除。
总结起来,组播利用组播路由器和IGMP协议实现在网络中同时向多个主机发送数据包。
组播发送者将数据包发送到特定的组播组地址,组播路由器根据主机的兴趣和组播组的成员列表,将数据包传输给对应组播组的主机。
主机可以通过发送IGMP报文来加入或离开组播组,从而控制对特定组播组的接收。
第4章组播路由本章主要讲述IP组播报文转发原理及相关协议。
组播报文到达路由器后,查询路由器中的组播转发表,确定是否能够转发以及如何转发;IGMP协议主要用于主机与路由器之间成员关系的管理;动态组播路由协议用于维护全网一致的组播转发表。
本章主要内容:组播介绍IGMP协议相关术语解析IGMP协议介绍PIM-SM协议相关术语解析PIM-SM协议介绍PIM-SM调试命令及调试信息PIM-DM协议介绍DVMRP协议介绍4.1IP组播相关术语解释ip multicasting――ip组播。
在RFC 1112和RFC 2236中定义了I P组播概念,即如何向一个主机组发送报文。
一个主机组是指共享单独一个IP地址的多个设备。
I P组播传送与I P单播相同,都使用“尽力(best-effort)”传输机制发送报文。
这意味着对于该组中的所有主机,都不能保证数据包能够正确无误地、按顺序地接收。
multicast address――组播地址。
目前,保留给IP组播的地址空间是D类地址,范围从224.0.0.0到239.255.255.255。
这些地址的高位比特都被定义为“1110”。
multicast distribution tree――组播分布树。
在组播模型中,源主机可以向任一加入组播组的主机传送信息。
IP组播业务报文在网络中经过的路径成为组播分布树。
它可以分为有源树和共享树两种类型。
source tree――有源树。
树的根是组播信息源,分支形成了通过网络到达接收站点的分布树。
有源树以最短的路径贯穿网络,因此它也常被称为最短路径树(SPT)。
shared tree――共享树。
不使用信息源作为树根,而是使用位于网络中的某些可选择点作为公用根。
此根称为汇聚点(RP)。
reverse path forwarding――逆向路径转发。
组播业务包到达路由器时,路由器对报文执行RPF(检查组播包是否在可返回源站点接口上到达)检查。
检查成功时转发该包,否则丢弃该包。
multicast cache――组播转发缓存。
又称为组播路由表项。
它包含了组播业务报文的合法输入、输出接口信息,是RPF检查的依据。
组播转发缓存由组播路由协议生成并更新。
4.2组播介绍当信息(包括数据、语音和视频)传送的目的地址是网络中的一组用户时,可以采用多种传送方式。
例如可以采用单播(Unicast)方式,为每个用户单独建立一条数据传送通路;又如采用广播(Broadcast)方式,把信息传送给网络中的所有用户,不管他们是否需要,都会接收到广播来的信息。
以上两种方式都浪费了大量宝贵的带宽资源,而且广播方式也不利于信息的安全和保密。
IP组播技术有效地解决了这个问题。
组播源仅发送一次信息,信息在网络关键节点处被复制和分发,因此信息能被准确高效地传送到每个需要它的用户。
简单地说,IP组播是一种保存带宽的技术,它把一个单独的信息流同时传送到多个接收者那里,减少了网络流量。
若网络中有不支持组播的路由器,组播路由器可以采用隧道方式将组播包封装在单播IP包中发送给相邻路由器,相邻的组播路由器再将单播IP头剥掉,然后继续进行组播传输,直至到达目的地。
4.2.1IP组播地址IP组播地址用于标识一个IP组播组。
IANA把D类地址空间分配给组播使用,范围从224.0.0.0 到239.255.255.255。
组播地址前四位均为“1110”。
4.2.1.1IP组播地址的空间划分整个IP组播地址的空间是这样划分的:224.0.0.0 到224.0.0.255 地址范围被IANA 预留,地址224.0.0.0 保留不做分配。
其他地址供路由协议及拓扑查找和维护协议使用。
该范围内的地址属于局部范畴,不论生存时间字段TTL值是多少,都不会被路由器转发也即只能在局域网里传送。
224.0.1.0 到238.255.255.255 地址范围作为用户组播地址,在全网范围内有效。
组播地址239.0.0.0 到239.255.255.255 地址范围为本地管理组播地址administratively scoped addresses,仅在特定的本地范围内有效。
4.2.1.2IP 组播地址到MAC 地址的映射IANA 将MAC 地址范围01:00:5E:00:00:00 ~ 01:00:5E:7F:FF:FF 分配给组播使用,这就要求将28位的IP 组播地址空间映射到23 位的MAC 地址空间中。
具体的映射方法是将组播地址中的低23 位放入MAC 地址的低23 位如图4-1所示:图4-1 组播地址到MAC地址的映射由于IP 组播地址的后28 位中只有23 位被映射到MAC 地址,这样会有32个IP 组播地址映射到同一MAC 地址上。
4.2.2IP组播特性在一般的TCP/IP路由中,一个数据包传输的路径是从源地址路由到目的地址,利用Hop-by-Hop的原理在IP网络中传输。
然而在IP组播环境中,数据包的目的地址不是一个而是一组,形成组地址.。
所有的信息接收者都加入到一个组内,并且一旦加入之后,流向该组地址的数据立即开始向接收者传输。
组中的所有成员都能接收到该数据包,因此为了接收数据包,必须首先成为组的成员,而数据包的发送者并不需要是组中的成员。
组播环境中,数据传向组中的所有成员,不是组中成员的用户不会收到这些数据。
总的来说:IP组播具有如下特性:对组成员所处的位置和成员的数量没有限制。
也就是说:独立的主机可以在任意时间自由地加入或离开组播组;这些成员可以处在Internet的任何地方;一台主机在同一时刻也可以是一个以上组播组的成员。
一台主机可发送数据包到一个组播组,即使该主机不是这个组中的成员。
向一个组播组内的所有IP主机传送报文如同单播一样,只向组地址发送一份报文即可。
路由器不需要保存所有主机的成员关系,它只需知道物理接口所在的网段上是否已经有主机属于某个组播组;主机只需保存自己加入了哪些组播组。
4.2.3IP组播路由协议组播协议包括两个部分:一部分作为IP组播基本信令协议的因特网组播管理协议(IGMP);另一部分是实现IP组播流寻径的组播路由协议(例如:DVMRP、PIM-SM、PIM-DM)。
4.2.3.1因特网组播管理协议IGMP定义了主机与路由器(也适用于路由器与路由器之间)之间组播成员关系的建立和维护机制,是整个IP组播的基础。
IGMP通知路由器有关组成员的信息,路由器使用IGMP来获知与路由器相连的子网上是否存在组播组的成员。
特定的应用程序能知道是来自哪个数据源的信息发送到了哪个组中:如果一个局域网中有一个用户通过IGMP宣布加入某组播组,则局域网中的组播路由器就将该信息通过组播路由协议进行传播,最终将该局域网作为一个分枝加入组播树。
当主机作为某个组的成员开始收到信息后,路由器就会周期性地对该组进行查询,检查组内的成员是否还参与其中,只要还有一个主机仍在参与,路由器就继续转发数据。
当局域网中的所有用户退出该组播组后,相关的分枝就从组播树中删掉。
4.2.3.2组播路由协议因为组播中的组地址是虚拟的,所以不可能如同单播那样,直接从数据源一端路由到特定的目的地址。
组播应用程序将数据包发送给一组希望接收数据的接收者(组播地址),而不是仅仅传送给一个接收者(单播地址)。
组播路由建立了一个从数据源端到多个接收端的无环数据传输路径。
组播路由协议的任务就是构建分发树结构。
组播路由器能采用多种方法来建立数据传输的路径,即分发树。
根据网络的实际情况,组播路由协议可以分成两大类:密集模式和稀疏模式。
(1)密集模式组播密集模式组播路由协议适用于小型网络。
它假设网络中的每个子网都存在至少一个对组播组感兴趣的接收站点。
因此,组播数据包被扩散(“推”)到网络中的所有点。
与此伴随着相关资源(带宽和路由器的CPU等)的消耗。
为了减少这种宝贵网络资源的消耗,密集模式组播路由协议对没有组播数据转发的分枝进行剪枝操作,只保留包含接收站点的分支。
为了使剪掉的分支中有组播数据转发需求的接收站点可以接收组播数据流,剪掉的分支可以周期性地恢复成转发状态。
为了减少等待剪枝分支恢复转发状态的延时时间,密集模式组播路由协议使用嫁接机制主动加入组播分布树。
这种周期性的扩散和剪枝现象是密集模式协议的特征。
一般说来,密集模式下数据包的转发路径是“有源树”――以“源”为根、组员为枝叶的一棵树。
典型的密集模式组播路由协议有:PIM-DM(协议无关组播的密集模式)、DVMRP(距离向量组播路由协议)。
(2)稀疏模式组播稀疏模式默认所有机器都不需要接收组播包,只有明确指定需要的才转发。
接收站点为接收到特定组的数据流,必须向该组对应的“汇聚点”发送加入消息(“拉”),加入消息所经过的路径就变成了共享树的分枝。
发送组播时,组播报文发送到汇聚点,再沿以汇聚点为根、组员为枝叶的“共享树”转发。
为避免共享树的分支由于不被更新而被删除,稀疏模式组播路由协议通过向分支周期性地发送加入消息来维护组播分布树。
发送端如果想要给特定的地址发送数据,首先要在汇聚点进行注册,之后把数据发向汇聚点。
当数据到达了汇聚点后,组播数据包被复制并沿着分发树路径把数据传给对其感兴趣的接收者。
复制仅仅发生在分发树的分支处,这个过程能自动重复直到数据包最终到达目的地。
稀疏模式下的典型组播路由协议是稀疏模式下的协议无关组播(PIM-SM)。
4.2.3.3 IP 组播报文转发单播报文的转发过程中,路由器并不关心单播源地址,只关心报文中的目的地址,通过目的地址决定向哪个接口转发。
在组播中,报文是发送给一组接收者的。
这些接收者用一个逻辑地址标识。
路由器在接收到报文后必须根据源和目的地址确定出上游(指向组播源)和下游方向(把报文沿着远离组播源的方向进行转发),这个过程称作RPF(Reverse Path Forwarding)逆向路径转发。
RPF 执行过程中会用到原有的单播路由表以确定上游和下游的邻接结点。
只有当报文是从上游邻接结点对应的接口(称作RPF 接口)到达时才向下游转发。
RPF 的作用除了可以正确地按照组播路由的配置转发报文外,还能避免由于各种原因造成的环路。
环路避免在组播路由中是一个非常重要的问题。
RPF 的主体是RPF 检查。
路由器收到组播报文后先对报文进行RPF 检查,只有检查通过才转发,否则丢弃。
RPF 检查过程如下:(1) 路由器在单播路由表中查找组播源或RP 对应的RPF 接口。
当使用有源树时查找组播源对应的RPF 接口,使用共享树时查找RP 对应的RPF 接口。
某个地址对应的RPF 接口是指从路由器向该地址发送报文时的出接口。
(2) 如果组播报文是从RPF 接口接收下来的,则RPF 检查通过。
报文向下游接口转发,否则丢弃该报文。
图4-2所示是在使用有源树的情况下的RPF 检查过程。