IP组播通信机制及其实现_刘波
IP多播及编程

IP多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。
多播作为一点对多点的通信,是节省网络带宽的有效方法之一。
在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有多播才是最好的选择。
多播能使一个或多个多播源只把数据包发送给特定的多播组,而只有加入该多播组的主机才能接收到数据包。
目前,IP多播技术被广泛应用在网络音频/视频广播、AOD/VOD、网络视频会议、多媒体远程教育、“push”技术(如股票行情等)和虚拟现实游戏等方面。
一、IP多播技术简介1.IP多播地址和多播组IP多播通信必须依赖于IP多播地址,在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255,并被划分为局部链接多播地址、预留多播地址和管理权限多播地址三类。
其中,局部链接多播地址范围在224.0.0.0~224.0.0.255,这是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包;预留多播地址为224.0.1.0~238.255.255.255,可用于全球范围(如Internet)或网络协议;管理权限多播地址为239.0.0.0~239.255.255.255,可供组织内部使用,类似于私有IP地址,不能用于Internet,可限制多播范围。
使用同一个IP多播地址接收多播数据包的所有主机构成了一个主机组,也称为多播组。
一个多播组的成员是随时变动的,一台主机可以随时加入或离开多播组,多播组成员的数目和所在的地理位置也不受限制,一台主机也可以属于几个多播组。
此外,不属于某一个多播组的主机也可以向该多播组发送数据包。
2.IP多播技术的硬件支持要实现IP多播通信,要求介于多播源和接收者之间的路由器、集线器、交换机以及主机均需支持IP多播。
IP组播,二层组播IGMPSnooping,组播代理,跨VLAN组播

IP组播,二层组播IGMPSnooping,组播代理,跨VLAN组播一、IP组播技术简介组播技术指的是单个发送者对应多个接收者的一种网络通信。
组播技术中,通过向多个接收方传送单信息流方式,可以减少具有多个接收方同时收听或查看相同资源情况下的网络通信流量。
传统的IP通信主要包括单播和广播有两种方式。
对于单播和广播来说,不仅会将信息发送给不需要的主机而浪费带宽,也可能由于路由回环引起严重的广播风暴,同时还会浪费大量带宽,增加了服务器的负载。
所以,传统的单播和广播通信方式不能有效地解决单点发送多点接收的问题。
IP组播是指在IP网络中将数据包发送到网络中的某个确定的组播组。
IP组播是指源主机只发送一份数据,数据中的目的地址为组播地址;组播组中的所有接收者都可接收到同样的数据拷贝,并且只有组播组内的主机可以接收该数据,网络中其它主机不能收到。
IP组播有效地解决了单点发送多点接收的问题,能够大量节约网络带宽、降低网络负载。
更重要的是,可以利用网络的组播特性方便地提供一些新的增值业务,包括远程医疗、网络电台、远程教育、在线直播、网络电视、视频会议等信息服务领域。
在IP多媒体业务日渐增多的情况下,随着互联网建设的迅猛发展和新业务的不断推出,IP组播有着巨大的市场潜力,组播业务也将逐渐得到推广和普及。
二、二层组播IGMP Snooping协议IGMP Snooping称为互联网组管理协议,它是运行在数据链路层设备上的组播约束机制,主要用于管理和控制组播组。
运行IGMP Snooping的设备通过对收到的IGMP报文进行分析,为端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发组播数据。
当二层设备没有运行IGMP Snooping时,组播数据在二层被广播;当二层设备运行了IGMP Snooping后,已知组播组的组播数据不会在二层被广播,而在二层被组播给指定的接收者。
IGMP Snooping是通过监听IGMP协议包,提取相应的信息,形成组播成员关系表,然后对组播业务按照组成员关系进行转发,保证组成员收到正确的组播业务,而其余主机无法收到。
IP组播技术介绍x

组播转发:使 用组播路由器 进行组播数据
的转发
组播应用:广 泛应用于视频 会议、网络电 视、网络游戏
等场景
基于MPLS的组播实现
MPLS(多协议 标签交换)是一 种网络协议用于 在IP网络上实现 高效、灵活的数 据传输。
MPLS组播是一种 基于MPLS技术的 组播实现方式它 通过在MPLS网络 中建立组播转发 表实现组播数据 的高效传输。
组播地址 分配原则: 避免地址 冲突提高 组播效率
组播的QoS保障
组播服务质量(QoS):确保组播数据传输的质量和可靠性 组播服务质量模型:包括丢包率、延迟、抖动等指标 组播服务质量控制:通过调整传输速率、带宽分配等手段实现 组播服务质量保障技术:包括拥塞控制、流量控制、差错控制等
组播的安全性保障
组播的路由算法
距离矢量路由算法 (DVR):通过计算距离 和矢量来选择路由
链路状态路由算法(LSR): 通过收集链路状态信息来 计算路由
源特定路由算法(SSR): 根据源节点信息选择路由
共享树路由算法(ST): 通过构建共享树来选择路 由
基于源树的路由算法 (STP):通过构建基于源 树的路由来选择路由
基于目的树的路由算法 (DPT):通过构建基于 目的树的路由来选择路由
组播的树形结构
组播源:发送组播数据的设备 组播路由器:负责转发组播数据的设备 组播组:接收组播数据的设备集合
组播树:组播路由器和组播组之间的逻 辑连接关系
组播树的构建:根据组播源和组播组的 关系动态构建组播树
组播树的维护:根据网络拓扑变化动态 调整组播树
IP组播的关键技 术
组播的地址分配
IP组播地
址
:
***.*.*.*-
《IP组播介绍》课件

组播组地址与广播地址的区别
组播组地址
用于标识一个组播组的唯一地址,具有范围限制, 只在特定组播域内有效。
广播地址
用于向一个网络或子网中的所有设备发送信息,没 有范围限制,可以覆盖整个网络。
组播分组的传播方式
1
直接传播
分组从数据源直接传送到组播组内的所有接收者。
2
反向路径树传播
通过建立一棵反向路径树,消息从源节点向下逐级传播,到达目标接收者。
3
核心投递树传播
在组播骨干网络上建立一棵投递树,消息从核心节点向叶子节点传播,到达目标 接收者。
IGMP协议的作用
组播组成员管理
通过IGMP协议,主机可以向交换机报告其加入或离开组播组,实现组播成员的动态管理。
查询与响应机制
交换机会周期性发送查询消息,主机则通过响应消息告知其是否仍然对组播数据感兴趣。
组播路由协议的分类及特点
DMRP
基于源的组播路由协议,适用于 小规模组播。
PIM- D M
基于跳的组播路由协议,适用于 中等规模组播。
PIM- SM
基于跳的组播路由协议,适用于 大规模组播。
PIM协议的介绍
1 PIM-DM
通过建立多棵反向路径树,实现组播数据的传输。
2 PIM-SM
通过组播源注册与轮询机制,实现组播数据的传输。
IP组播介绍
IP组播是一种数据通信方式,可实现将数据同时发送给多个接收者的功能。本 课件将详细介绍IP组播的基本概念、优势及应用场景。
什么是IP组播?
IP组播是一种基于IP网络的数据通信方式,通过使用组播地址将数据同时发送给多个接收者,实现高效的多播 传输。
IP组播的优势和应用场景
IP组播具有高效、节省带宽、可扩展性强的优势,广泛应用于多媒体直播、视 频会议、分布式计算等场景。
IP组播技术介绍及实现例子

IP组播技术介绍及实现例子2011-01-27 18:471002人阅读评论(1)收藏举报引言近年来,随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网络视频会议、网络音频/视频广播、AOD/VOD、股市行情发布、多媒体远程教育、CSCW协同计算、远程会诊。
这就带来了带宽的急剧消耗和网络拥挤问题。
为了缓解网络瓶颈,人们提出各种方案,归纳起来,主要包括以下四种:●增加互连带宽;●服务器的分散与集群,以改变网络流量结构,减轻主干网的瓶颈;●应用QoS机制,把带宽分配给一部分应用;●采用IP Multicast(译为组播、多播或多路广播,下文不加区分)技术。
比较而言,IP组播技术有其独特的优越性——在组播网络中,即使用户数量成倍增长,主干带宽不需要随之增加。
这个优点使它成为当前网络技术中的研究热点之一。
本文简单介绍了组播的发展、分析了组播网络的体系结构、算法和协议,讨论了组播技术的应用,总结了组播技术的难点,希望通过本文能使读者对组播技术有总体的了解。
一、IP组播发展简史20世纪80年代中期,斯坦福大学的博士生S. E. Deering发表Host group: A multicast extension to the Internet Protocol (RFC0966) 和Host extensions for IP Multicasting (RFC0988) 两篇论文。
他总结出:“OSPF的链路状态机制完全能被扩展用来支持组播……,RIP的基本机制能被用来作为一种新的距离向量的组播路由协议的基础。
”这些论断提出了IP组播的可能性。
1988年,D. Waltzman, C. Portridge, S. E. Deering发表题为《距离向量组播路由协议》的文章(RFC1075),它是组播路由协议的首次实践;1991年12月,S. E. Deering发表了他的博士论文《数据报互连网络中的组播路由》(RFC1112)。
网络IP的多播和组播技术

网络IP的多播和组播技术在计算机网络中,多播和组播是一种非常重要的通信技术。
与广播(广播是将一个消息发送给一个网络中的所有主机)不同,多播和组播技术可以将消息同时发送给一个预定义的组,这样可以实现高效的通信和资源共享。
本文将介绍网络IP的多播和组播技术,并探讨其应用领域和优势。
一、多播和组播的基本概念和原理1.1 多播多播是指将数据报通过互联网的一组特定目的地传送到多个接收器的网络数据传输方式。
多播使用单一的传输链路来传输数据报,并且只有具有兴趣的接收器才会接收到这些数据报。
多播可以降低网络流量,提高带宽利用效率。
多播的数据包是使用多播地址发送的,多播地址是一个特殊的IP地址,范围从224.0.0.0到239.255.255.255。
多播地址中的数字是组的标识符,组成员将自动根据组的订阅选择性地接收数据包。
1.2 组播组播是多播的一种应用方式,它基于多播技术,在网络中传输组播数据包。
组播的目标地址是一个预定义的组播地址,只有加入这个组的主机才能接收到组播数据。
组播技术在现实世界中有很多应用,比如视频会议、在线教育、多媒体流媒体等。
组播可以大大简化网络管理和减少带宽占用,特别是在广域网中传输大规模的实时数据。
二、多播和组播的应用领域2.1 视频会议多播和组播技术在视频会议中应用广泛。
传统的视频会议需要将每个参会者的视频和音频数据分别发送给每个参会者,这样会占用大量的带宽和处理资源。
而使用多播和组播技术,视频和音频数据只需发送一次,然后被多个参会者接收,大大减少了网络流量,并提高了参会者的观看体验。
2.2 流媒体流媒体是一种通过网络传输音频和视频数据的技术。
通过使用多播和组播技术,可以实现高效的流媒体传输。
多播和组播使得多个用户可以同时观看同一事件的实时视频,为大型体育赛事、音乐会和直播活动等提供了良好的用户体验。
2.3 内容分发网络(CDN)内容分发网络是一种在全球范围内分布式存储和分发内容的网络架构。
IP地址的多播与广播通信原理

IP地址的多播与广播通信原理IP地址是用于在互联网上唯一标识计算机和其他网络设备的数字标识。
除了用于点对点通信的单播,IP地址还支持多播和广播通信方式。
在本文中,我将介绍IP地址的多播与广播通信原理。
一、IP地址的多播通信原理多播是一种将数据包从一个源地址传输到一组目标地址的通信方式。
多播通信可以有效地减少网络流量和资源占用,适用于需要同时传输数据给多个接收者的场景,如视频流、音频流等。
在IP地址的多播通信中,发送方使用特殊的多播IP地址作为目标地址。
多播IP地址的范围是224.0.0.0到239.255.255.255。
这个地址范围被划分为多个多播组,每个多播组有一个唯一的多播地址。
当发送方发送一个多播数据包时,它会将数据包发送到一个特殊的多播地址,并在IP数据包的头部设置一个特殊的标志,以指示这是一个多播数据包。
在网络中,路由器会根据多播地址的范围和配置,将数据包转发给与该多播组相关联的接收者。
接收者可以通过加入一个多播组来接收多播数据包。
加入多播组时,接收者向网络发送一个IGMP(Internet Group Management Protocol)报文,并指定要接收的多播组地址。
路由器会将这个报文传递给发送方,以确保发送方将数据包发送到正确的多播组。
二、IP地址的广播通信原理广播是一种将数据包发送到网络上的所有主机和设备的通信方式。
广播通信常用于网络管理、查找设备等场景。
在IP地址的广播通信中,发送方使用特殊的广播IP地址作为目标地址。
广播IP地址的表示方法是将目标地址的主机部分设置为255,例如192.168.0.255。
路由器在转发广播数据包时,会将数据包发送到所有连接的网络以及主机上。
所有接收到广播数据包的设备都会处理该数据包。
需要注意的是,在大多数现代网络中,广播通信受到严格的限制。
由于广播可能造成网络拥塞和安全隐患,许多路由器和交换机默认禁止广播转发。
因此,在进行广播通信时,需要确保网络设备的配置和策略允许广播传输。
基于IP组播的电视播放技术的研究与实现的开题报告

基于IP组播的电视播放技术的研究与实现的开题报告一、选题背景随着互联网技术的发展,越来越多的电视用户开始使用IP电视作为主要的观看方式,而IP组播技术是IP电视播放的一种核心技术。
本课题旨在研究基于IP组播的电视播放技术,通过对该技术的深入分析和实现,为电视用户提供更加稳定、高效、高清晰度的观看体验。
二、研究目的1. 研究IP组播技术的原理及相关技术知识,了解其在电视播放中的应用。
2. 分析当前IP组播技术在电视播放中存在的问题,提出相应的优化方法。
3. 设计并实现基于IP组播的电视播放系统,提高电视播放的稳定性和流畅度。
4. 测试和评估该系统的性能,验证其在实际应用中的可行性和效果。
三、研究内容1. 深入了解IP组播技术的原理,了解其在电视播放中的应用方式。
2. 分析当前IP组播技术在电视播放中的问题,包括网络拥堵、传输效率低等,并提出相应的优化方法。
3. 设计并实现基于IP组播的电视播放系统,包括播放器、服务器等。
4. 对该系统进行性能测试,包括流畅度、稳定性、画质等方面的测试和评估。
四、预期成果1. 对IP组播技术的原理和应用方式进行深入研究,并撰写一份完整的研究报告。
2. 提出IP组播技术在电视播放中存在的问题及相应的优化方法,并撰写一份优化方案报告。
3. 设计并实现基于IP组播的电视播放系统,包括播放器、服务器等,并撰写一份系统实现报告。
4. 对该系统进行性能测试,并撰写一份测试和评估报告。
五、研究方法1. 文献综述法:调研相关文献,了解IP组播技术的原理和应用方式,对其进行深入研究。
2. 实验研究法:根据研究内容的需要,通过实验设计和数据分析,验证和评估所提出的优化方法和系统的性能。
3. 软件开发法:根据研究内容的需要,设计和开发基于IP组播的电视播放系统。
六、研究进度安排第一阶段:2022年3月-5月调研相关文献,深入了解IP组播技术的原理和应用方式。
第二阶段:2022年6月-8月分析IP组播技术在电视播放中存在的问题,并提出优化方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
resources This paper introduces the mechanism of IP multicast communication and the implementation of MultiChat --a conversational system
with Winsock 2 in order to realize conversations for persons based on text using IP multicast Key words IP multicast Winsock Internet group management protocol Multicast route Multicast tree
1 IP组播通信机制
(1) IP组播地址与组播组 IP组播地址是D 类IP地址 介于224. . . 与239.255. 255.255之间 其中224. . . 与224.0.0.255之间的地址是 为路由协议以及其它低级拓扑查找与维护协议保留的 用户 不可使用 例如224.0.0.2代表子网内的所有路由器 224.0.0. 1代表子网内的所有主机 它们只能由IGMP协议使用 一个 组播地址用来标识一组目标主机 对应同一个组播地址的目 标主机构成一个组播组 在一个组播地址发送数据时 数据 将发给属于该组播组的各个成员 IP组播地址分为两类 永久性组播地址和暂时性组播地 址 永久性组播地址是由Internet中央管理机构分配 用于固 定的组播组 不管是否存在组成员 该组播组始终存在 暂 时性组播地址的分配没有规定 用户可自由选择 不同网络 中的组播应用若只限制在本网络内 可以采用相同的IP组播 地址 而不会引起冲突 但如果组播的范围是跨网络的 采 用相同的IP组播地址就会引起冲突 解决方法最好是由一个 网络管理机构统一分配 或者是随机选择一个组播地址 监
测网上各主机的IGMP响应 如果发生冲突 再尝试另一个 地址 直到无冲突为止
(2)IP组播的控制层面与数据层面 组播通信包括控制层面与数据层面[3] 控制层面规定了 组成员如何组织起来 数据层面规定数据如何在组成员之间 传送 控制层面包括有根控制层面和无根控制层面
有根控制层面 存在一个特殊的组成员 作为根节点 其他 组成员都是叶节点 每个组播组都只有一个根节点 由根节点负责 组播组的创建 根节点可向任意数量的叶节点发出邀请 然后叶节 点适时申请加入相应的组播组
当路由器接收到一个组播分组时 记下发送站点S和接口I 如果I属于通向S的最短路径 就将分组转发给除I外的所有 接口 如果在第 步测试失败 就不转发分组 RPF算法利用路由表确定接收分组的接口I是否是通向S 的最短路径 然后决定如何处理分组(转发或丢弃) 实际上 需要计算的是从发送站点到当前站点的最短路径 而不是从 当前站点到发送站点的最短路径 当数据链路不对称时 它 们可能不同 一种好的做法是在路由器接收到一组播分组 时 若它处在从发送站点到下一跳之间的最短路径上就转发 分组 否则就不转发 利用OSPF的组播扩充 生成从发送 站点到所有目的站点的"最短路径树" T2 T2具有下列特性 组播分组通过的路径是从发送站点到目的站点的最短路径 不同的发送站点对应的"最短路径树"不同 来自不同站点的 组播分组可通过不同链路传送 从而减少网络拥塞的发生 对于由上述方法生成的树T 利用组成员关系信息剪裁 掉T中不含组成员的树枝 生成组播树Ts 然后利用Ts转发 由S发出的组播分组 剪枝(Prune)的主要过程如下所示 在发送节点S发出第一个组播分组时执行扩散操作 即让第
(4)IP组播路由 当前Internet上进行组播的经验主要来自Mbone[2] 在 MBone里使用的组播路由算法是 调用"反向路径转发"RPF 算法 根据路由表为每个发送站点S生成一棵反向路径转发 树T1 调用剪枝算法对T1进行剪枝 以生成发送站点S对应 的组播树 图1描述了路由表的表项结构
目的站点 IP地址
作者简介 刘 波 1968~ 统 计算机网络 收稿日期 2 0 0 0 - 1 1 - 2 3
男 讲师 主要研究方向 操作系
131
播组的数据时 就会将数据转发给子网上对应的组成员 当在一个路由器上注册了一个或多个组播组时 该路由
器每隔一段时间就会利用IGMP协议(使用IP地址224.0.0.1)向 子网发出组成员身份查询报文 子网内的组成员利用IGMP 协议报告自己的组成员身份 如果存在一个成员仍在使用某 个组播地址 它就会用一条IGMP消息作出响应 以便路由 器知道子网内仍然存在那个组播组的成员 以后会继续转发 那个组播地址对应的组播数据 否则路由器会停止为那个组 播地址转发任何数据 为了避免IGMP查询和应答报文占用 太多的带宽资源 IGMP协议第二版允许组成员在脱离组播 组时主动向路由器发送一条"离开"消息 而不是等待路由器 的查询 在路由器上保存着一个参考性的组成员计数 每当 收到一条"离开"消息 就将相应的组成员计数减一 当子网 上所有成员都脱离了某个组播地址时 路由器会停止转发属 于该组播组的数据
到达目 的站点 的距离
下一跳 路由器
的IP 地址
通向该 路由器 的接口
表项更 新对应
的计 时器
图1 路由表的表项结构 路由器使用"距离向量组播路由协议"DVMRP(Distance Vector Multicast Routing Protocol)交换距离向量 (目的站点 IP 到该站点的距离)的更新信息 以更新路由表 RPF算 法使用路由表计算反向路径(从当前路由器到发送站点S的路 径) 生成反向路径转发树 路由器之间还使用DVMRP协议 交换当前组成员状况信息 由RPF算法生成反向路径转发树T1的主要过程如下
无根数据层面 不存在根节点 所有组成员都是叶节点 各 成员节点之间是对等的 所有组成员都能向组内其他成员发送数 据 也可接收由其他成员回送的数据
IP组播在控制层面与数据层面上都是无根的 任何成员 可随时加入或脱离组播组 组成员数目与网络拓扑可动态变 化 网络中的任何节点如果只打算向某个组播组发送数据 则不必加入该组播组 但如果打算从某个组播组接收数据 则必须先要加入该组播组
(3)Internet组管理协议(IGMP) IGMP协议[4]由IP组播通信专用 用于管理组成员加入 或脱离组播组 当一个主机加入一个组播组时 它利用 IGMP协议(使用IP地址224.0.0.2)通知子网上的所有路由器 以便在路由器上建立相应的组播路由 表明在该子网上存在 属于那个组播组的成员 以后当路由器接收到发送给那个组
无根控制层面 不存在根节点 所有组成员都是叶节点 各 成员节点之间是对等的 任何成员都可自由地加入一个组播组
数据层面包括有根数据层面和无根数据层面 有根数据层面 存在一个根节点 其他组成员都是叶节点
数据的传输只能在根节点与叶节点之间进行 既可是单向的 也 可 是双向的 由根节点发出的数据可由每个叶节点接收到 而由叶节 点发出的数据只会被根节点接收到
组播(Multicast)是一种将数据从一个成员发出 然后传 输给其他一个或多个成员的通信技术 介于单播(Unicast)与 广播(Broadcast)之间 其中单播是指将数据从一个发送站点 传输到一个接收站点 而广播是指将数据发送给网络中的所 有站点 在需要向多个站点发送相同数据时 采用单播方 式 发送站点必须将同样的数据重复发送多次 网络通信量 大 采用广播方式 网络中的每个站点都将接收到数据 不 管该站点是否需要该数据 这样会浪费较多的主机资源 而 采用组播通信 发送站点向某一特殊IP地址(即IP组播地址) 发送数据 网络中与该地址相关的接收站点都可接收到数 据 无关站点将不接收这些数据 因而可有效减轻网络通信 负担 避免资源浪费 组播通信是一种非常有效的通信方 式 在Internet上有较广泛的应用 例如在多媒体会议[1] 计 算机支持的协同工作CSCW 多站点文件传输和资源发现[2] 等方面具有特殊的作用
并采用Winsock2实现了一个
Mechanism and Implementation of IP Multicast Communication
LIU Bo
(Department of Computer Science South China Normal University Guangzhou 510631) Abstract Multicast communication is a very effective communication mode which can lighten greatly network loads and avoid wasting
第 27卷 第 6期
Vol.27
6
计算机工程 Computer Engineering
2001年 6月 June 2001
网络与通信
文章编号 1000 3428(2001)06 0131 03
文献标识码 A
中图分类号 TP914.3
IP组播通信机制及其实现
刘波
华南师范大学计算机科学系 广州 510631 摘 要 组播通信可有效减轻网络负担 避免资源浪费 是一种十分有效的通信方式 介绍了IP组播通信机制 多方会话系统MultiChat 以通过IP组播实现多人之间基于正文的对话 关键词 IP组播 Winsock Internet组管理协议 组播路由 组播树
经过一段时间(该时间与网络拓扑 组成员关系的变化时限 有关) "剪枝"报文会从路由器的内存中删除 下一个组播分组将再 次扩散到T的所有节点 开始新的剪枝过程 以适应组成员关系和 网络拓扑的变化
上面的剪枝过程主要存在下列缺点
组播树Ts需频繁地更新 适应组成员关系的变化 路由器必须为每个组播组和发送节点保存相关信息 如果组 播组数目很大 就可能耗尽路由器的内存资源 第一个分组要在网络上扩散 如果在Internet上定期重复传输 这种分组 会消耗大量的网络资源 组播树的生成还与"存活时间"(TTL)有关 在主机加入 组播组时 可设置TTL值 当组播数据通过路由器时 路由 器会将其中的TTL值减1 若TTL不为0 才转发给相邻的各 个网络 但对于目标地址在224. . . 与224.0.0.255之间的 组播数据 不论其TTL有多大 路由器都不会对其进行转 发 通过设置TTL 可限制组播数据到达的范围 从而限制 组播树的规模 应恰当设置TTL值 太小会使某些成员之间 不能通信 太大会浪费网络资源 (5)支持IP组播的软硬件配置要点 要实现IP组播 所使用的网卡必须支持组播通信 为此网 卡要具有组播过滤功能 这可以由硬件组播过滤器或网卡驱动 程序来实现 IP组播中的数据帧头包含了一个特殊的MAC地 址 其中包含了IP组播地址 这使网卡很容易识别接收到的数 据是否是组播数据及组播地址是什么 软件方面 各组成员 组成员之间的路由器都必须提供对IGMP协议的支持 (6)IP组播的Winsock实现 对于Win32平台 利用Winsock可访问的IP协议来提供 对IP组播通信的支持 Winsock可创建的套接字包括流套接 字和数据报套接字等多种类型 但只有创建基于UDP协议的 数据报套接字 才支持IP组播 在组播时 网络中传输的组 播数据报与普通UDP包基本相同 只是目标主机地址换成了 IP组播地址 IP组播通信与普通的UDP协议通信一样 都是 "无连接"的 "不可靠"的 Winsock提供了两种不同的方法(Winsock 1与Winsock 2) 实 现 IP 组 播 在 Winsock 1 中 通 过 执 行 API 函 数 setsockopt 并 使 用 选 项 IP_Add_MemberShip(IP_Drop_ MemberShip)加入(脱离)IP组播组 而在Winsock 2中引入了 一个新函数WSAJoinLeaf 专门负责组播组的加入 针对 WSAJoinLeaf返回的句柄调用CloseSocket 将脱离相应的组 播组 利用Winsock实现IP组播通信的主要过程如下