标题：组播
释义
组播（多播）:一种通讯模式。主机之间“一对一组”的通讯模式，也就是加入了同一个组的主机可以接收到此组内的所有数据，网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组，网络中的路由器和交换机有选择的复制并传输数据，即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要（加入组）的主机，又能保证不影响其他不需要（未加入组）的主机的其他通讯
传输方法
本发明提供了一种文件组播传输方法和系统，其中，该方法包括：当发送端处理机启动文件的组播传输时，初始化组播控制结构表；根据组播控制结构表，发送端处理机向接收端处理机发送预传输信息，并将关于将要进行组播传输的文件的数据包填入组播数据包结构表中；在填写完组播数据包结构表之后，发送端处理机采用组播方式发送数据包，并将数据包放入发送端处理机的发送缓冲区中；在接收到数据包之后，接收端处理机向发送端处理机反馈数据包接收确认消息，并将数据包放入接收端处理机的接收缓冲区中；以及根据组播数据包结构表，接收端处理机判断组播传输是否完成，并在确定组播传输完成后，将接收到的数据包写入存储设备并清空接收缓冲区。
技术发展
发展历史  Multicast在Internet网络发展的过程中，组播是一个旧概念而不是一个新概念。但它由于各种原因发展比较缓慢。
IP组播的概念于1988年最早出现在Steve Deering的博士论文中，在1989年Steve Deering对标准IP网络层协议进行了扩展，提出了IP组播规范；1992年3月第一次建立组播主干网MBone，IETF并成功地在组播网上举行了一次会议，才引起人们的广泛关注。而第一个WWW浏览器出现在1990年，到1993年已发展到100个WWW站点，所以组播和WWW虽处于同一时期，但组播的发展远远慢于WWW，主要原因是IP组播通信模式需要相当状态和复杂性的路由器，要求路由器能提供每个群组和每个源的信息状态，并且随着Internet网络的越来越复杂给组播的进一步的发展带来了困难。后来，出现了一些设计精巧的组播路由协议（如PIM-DM、PIM-SM），使组播IP包能正确而又迅速地发送给成千上万的接收者，IP组播的技术和应用开始快速发展。组播的应用目前，IP组播可以运行在任意构造的网络之上，包括因特网、ATM、帧中继、SMDS和卫星，涉及网络的许多领域，能应用在视频和电信会议、多媒体种类、新闻发  Geocast  Broadcast布和那些来自太空的远程实况广播。
IP网络
组播技术是IP网络数据传输三种方式之一，在介绍IP组播技术之前，先对IP网络数据传输的单播、组播和广播方式做一个简单的介绍：  组播单播（Unicast）传输：在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据，也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时，将导致发送者负担沉重、延迟长、网络拥塞；为保证一定的服务质量需增加硬件和带宽。
组播（Multicast）传输：在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据，也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。
广播（Broadcast）传输：是指在IP子网内广播数据包，所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包，不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小，只在本地子网内有效，通过路由器和网络设备控制广播传输。
组播解决了单播和广播方式效率低的问题。当网络中的某些用户需求特定信息时，组播源（即组播信息发送者）仅发送一次信息，组播路由器借助组播路由协议为组播数据包建立树型路由，被传递的信息在尽可能远的分叉路口才开始复制和分发。
相关技术
IP组播公共互联网中的一些团体经常会用到IP组播（Mbone就是一个例子），此外IP组播还被用于Internet2等私有IP网络中的一些特殊应用。  链路本地组播是指将IP组播包发往处于同一物理的或虚拟的数据链路层的若干主机组。由于这种组播不需要复杂的路由，因此其应用要广泛得多。在IPv6中，它被用于地址解析，而在零配置网络中，它取代了低效的广播协议，完成服务发现、名字解析和地址冲突解析的功能。
IP组播会议的第一次大规模演示是在1992年3月的第23届IETF大会上，当时它被用于向全世界的研究人员和感兴趣的观察员们广播一些会议。之后，IETF的一些会议就被有选择地继续在MBONE和一些私有组播网络上多播。
组播安全性是一个重要的问题。标准的、实用的通信安全解决方案一般采用的是对称加密。但是将其应用于IP组播流量可能会使任何一个接收方都拥有冒充发送方的能力。这显然是令人无法接受的。IETF的MSEC工作组正在开发用以解决这一问题的安全协议，这些协议大多都是在IPsec协议集的体系框架内开发的。
IPsec不能被用于组播方案，这是因为IPsec安全关联是被绑定到两个而非多个主机的。IETF提出了一个新的协议——TESLA，就组播安全性而言，这个协议是灵活且令人信服的。IP组播三种的传递方式密集组播 
稀疏组播 
源特定组播
现在的组[1]播算法往往具备结合前两种模式的能力。IP组播技术体系结构组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP（互连网组管理协议）。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播  组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议，域间组播路由协议包括MBGP、MSDP等协议。同时为了有效抑制组播数据在链路层的扩散，引入了IGMP Snooping、CGMP等二层组播协议。对组播的技术历史作出了巨大的贡献！
IGMP建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息，运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息，以使组播数据在域间进行转发。组播IP地址组播IP地址用于标识一个IP组播组。IANA（internet assigned number authority）把D类地址空间分配给IP组播，其范围是从224.0.0.0到239.255.255.255。如下图所示（二进制表示），IP组播地址前四位均为1110八位组⑴ 八位组⑵ 八位组⑶ 八位组⑷1110
XXXX XXXXXXXX XXXXXXXX XXXXXXXX组播组可以是永久的也可以是临时的。组播组地址中，有一部分由官方分配的，称为永久组播组。永久组播组保持不变的是它的ip地址，组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的，甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址，可以被临时组播组利用。
224.0.0.0～224.0.0.255为预留的组播地址（永久组地址），地址224.0.0.0保留不做分配，其它地址供路由协议使用。
224.0.1.0～238.255.255.255为用户可用的组播地址（临时组地址），全网范围内有效。
239.0.0.0～239.255.255.255为本地管理组播地址，仅在特定的本地范围内有效。常用的预留组播地址列表如下：
224.0.0.0 基准地址（保留）
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 dr（Designated Router，指定路由器）
224.0.0.7 st (Shared Tree，共享树）路由器
224.0.0.8 st 主机
224.0.0.9 rip-2 路由器 
224.0.0.10 Eigrp(Enhanced Interior Gateway Routing Protocol，增强网关内部路由线路协议）路由器 　224.0.0.11 活动代理
224.0.0.12 dhcp 服务器/中继代理 
224.0.0.13 所有pim (Protocol Independent Multicast，协议无关组播）路由器
224.0.0.14 rsvp （Resource Reservation Protocol，资源预留协议）封装 
224.0.0.15 所有cbt 路由器
224.0.0.16 指定sbm（Subnetwork Bandwidth Management，子网带宽管理）
224.0.0.17 所有sbms 
224.0.0.18 vrrp（Virtual Router Redundancy Protocol，虚拟路由器冗余协议）
239.255.255.255 SSDP协议使用  组播IP地址和组播MAC地址的对应关系组播MAC地址组播MAC地址的高24bit为0x01005e，第25bit为0，即高25bit为固定值。MAC地址的低23bit为组播IP地址的低23bit。由于 IP 组播地址的前4bit 是1110，代表组播标识，而后28bit 中只有23bit 被映射到MAC 地址，这样IP 地址中就有5bit 信息丢失，导致的结果是出现了32 个IP 组播地址映射到同一MAC 地址上。组播在网络中的应用  组播数据传输过程在组播方式中，信息的发送者称为“组播源”，信息接收者称为该信息的“组播组”，支持组播信息传输的所有路由器称为“组播路由器”。加入同一组播组的接收者成员可以广泛分布在网络中的任何地方，即“组播组”没有地域限制。需要注意的是，组播源不一定属于组播组，它向组播组发送数据，自己不一定是接收者。多个组播源可以同时向一个组播组发送报文。
假设只有 Host B、Host D 和Host E 需要信息，采用组播方式时，可以让这些主机加入同一个组播组（Multicast group），组播源向该组播组只需发送一份信息，并由网络中各路由器根据该组播组中各成员的分布情况对该信息进行复制和转发，最后该信息会准确地发送给Host B、Host D 和Host E。组成员关系协议 (IGMP)IGMP协议运行于主机和与主机直接相连的组播路由器之间，主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息，同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态（即该网段是否仍有属于某个组播组的成员），实现所连网络组成员关系的收集与维护。
IGMP有三个版本，IGMPv1由RFC1112定义，目前通用的是IGMPv2，由RFC2236定义。IGMPv3目前仍然是一个草案。IGMPv1中定义了基本的组成员查询和报告过程，IGMPv2在此基础上添加了组成员快速离开的机制，IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。这里着重介绍IGMPv2协议的功能。
IGMPv2通过查询器选举机制为所连网段选举唯一的查询器。查询器周期性的发送普遍组查询消息进行成员关系查询；主机发送报告消息来应答查询。当要加入组播组时，主机不必等待查询消息，主动发送报告消息。当要离开组播组时，主机发送离开组消息；收到离开组消息后，查询器发送特定组查询消息来确定是否所有组成员都已离开。
通过上述IGMP机制，在组播路由器里建立起一张表，其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后，只向那些有G的成员的端口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定，IGMP协议并不负责。网络二层组播相关协议网络二层组播相关协议包括IGMP Snooping,IGMP Proxy和CGMP协议。
IGMP Snooping的实现机理是：交换机通过侦听主机发向路由器的IGMP成员报告消息的方式，形成组成员和交换机接口的对应关系；交换机根据该对应关系将收到组播数据包只转给具有组成员的接口。
IGMP Proxy与IGMP Snooping实现功能相同但机理相异：IGMP snooping只是通过侦听IGMP的消息来获取有关信息，而IGMP Proxy则拦截了终端用户的IGMP请求并进行相关处理后，再将它转发给上层路由器。
CGMP(Cisco Group Management Protocol）是Cisco基于客户机/服务器模型开发的私有协议，在CGMP的支持下，组播路由器能够根据接收到的IGMP数据包通知交换机哪些主机何时加入和脱离组播组，交换机利用由这些信息所构建的转发表来确定将组播数据包向哪些接口转发。GMRP是主机到以太网交换机的标准协议，它使组播用户可以在第二层交换机上对组播成员进行注册。组播路由协议 ：PIM-SM众多的组播路由协议中，目前应用最多的协议是 PIM-SM稀疏模式协议无关组播。
在PIM-SM域中，运行PIM-SM协议的路由器周期性的发送Hello消息，用以发现邻接的PIM路由器，并且负责在多路访问网络中进行指定路由器（DR）的选举。这里，DR负责为其直连组成员朝着组播分发树根节点的方向发送"加入/剪枝"消息，或是将直连组播源的数据发向组播分发树。编址A类 0.0.0.0 - 127.255.255.255
B类 128.0.0.0 - 191.255.255.255
C类 192.0.0.0 - 223.255.255.255
D类 224.0.0.0 - 239.255.255.255
A,B,C类ip包转发基于目的ip地址。D类（组播地址）包转发基于源地址。组播地址的分类保留——224.0.0.0 - 224.0.0.255
用户组播地址——224.0.1.0 - 238.255.255.255
本地管理组——239.0.0.0 - 239.255.255.255 （用于私人组播领域，类似私有IP地址）
RPF：
a multicast packet received on an interface will be accepted if received on the interface that would be used to send a unicast ip packet back to the source;this is called reverse path forwarding(RPF).
逆向路径转发：
设备在接口上收到组播报文后，如果去往组播源的单播路由也是从该接口学到的，则转发组播数据，否则丢弃。
有没有以太网专用的MAC组播地址？
以下列出一些以太网专用的组播地址：
Ethernet multicast address Type Field Usage
01-00-0C-CC-CC-CC 0x0802 CDP (Cisco Discovery Protocol),VTP (VLAN Trunking)
01-00-0C-CC-CC-CD 0x0802 Cisco Shared Spanning Tree Protocol Address
01-80-C2-00-00-00 0x0802 Spanning Tree Protocol (for bridges) IEEE 802.1D组播组成员身份的监视组播路由器负责监视一个组播组中的所有成员，看他们是否想继续它们在组播组中的成员身份。组播路由器定时的发送询问信息到组播地址224.0.0.1.在这条信息中，组地址域设定为0.0.0.0.这意味着这种询问是面向一个主机所在所有组播组，而不是一个组播组。组播路由器希望从每一个组播组都获得一个应答组播组成员身份的继续具有组播能力的主机保留有一个想继续组播组成员身份的进程表。当一个主机接收到一个由组播路由器发出的询问信息，它就检查一下它所保留的进程表。对于每一个组播组，如果至少有一个进程想继续组播组成员身份，主机就必须向组播路由器发送一条报告信息。需要注意的是这种为了响应询问消息而发送的报告信息是为了确认对组播组成员身份的继续而不是为了作为新的成员加入组播组。而且为了使不同的组播组中的成员身份得以继续，对于不同的组播组就必须分别发送报告信息。组播组成员的退出在IGMPv1中，当每一个主机离开某一个组播组时，它不通知任何组播路由器就自然地离开，组播路由器定时（如120秒）向IP子网中的所有组播组询问，如果某一个组播组在IP子网中已经没有任何成员，则组播路由器在确认这一事件后，不再将该组播组的数据在子网中进行传送，同时通过路由信息的交换，将相应的组播路由器从特定的组播组分配树中删除.这种不通知任何人而悄悄离开的方法，使得组播路由器知道IP子网中已经没有任何成员的事件延时了一段时间，所以在IGMPv2中，当每一个主机要离开某一个组播组时，需要通知子网组播路由器，组播路由器立即向IP子网中的所有组播组询问，从而减少了系统处理停止组播的延时.离开组播组时主机要发送信息这一点是IGMP Version 2和IGMP Version 1的主要区别。组播的路由具有组播能力的网络由支持本地组播的局域网通过具有组播能力的路由器连接而成。IP组播路由的关键是为每一个组播组建立组播的分配树，当组播的分配树建立好时，每个组播路由器只要将该组的数据沿着分配树进行传播就可以了。组播路由协议组播路由协议分为域内组播路由协议，域间路由协议　　
域内路由协议有两类：密集模式和稀疏模式
第一类是建立在组播组成员在网络上的分布比较密集并且带宽比较充足的基础上的。此种模式称为密集模式组播路由协议（Dense-Mode Multicast Routing Protocol）。它采用“洪泛（flooding）”技术把信息传帮到网络的所有的路由器上，因而不适用于大规模的网络。密集模式组播路由协议包括距离向量组播路由协议（Distance Vector Multicast Routing Protocol,DVMRP），组播开放最短路径优先协议（Multicast Open Shortest Path First,MOSPF），密集模式独立组播协议（Protocol-independent Multicast-Dense Mode,PIM－DM）。
第二类组播路由协议是建立在组播组成员的分布比较稀疏并且带宽并不是很充足的基础上的，比如说由Internet上不同区域的主机相连的组播网络或通过ISDN线连起来的主机网络。这种稀疏模式并不意味着组播组中的成员很少，它只是表明组播组中成员的分布比较稀疏。稀疏模式组播路由协议（Spare-Mode Multicast Routing protocol）包括基准树协议（Core Based Trees,CBT），稀疏模式独立组播协议（Protocol-independent Multicast-Sparse Mode,PIM－SM）。
域间组播路由协议
IP组播扩展到整个Internet 需要域间组播路由协议的支持。用于域间组播路由协议有：多协议边界网关协议（Multiprotocol Border Gateway Protocol ，MBGP），组播源发现协议（Multicast Source Discover Protocol，MSDP）。[2]组播骨干网组播的规范是在1989年出版的，但是它的使用受到了限制。Internet上的路由器目前并不是都具有组播的能力。在这样一种情况下，研究者们为了在现有情况下开发和测试组播协议的应用，建立了组播骨干网（Multicast Backbone，Mbone）。Mbone支持组播分组的路由选择而不打扰其它的因特网业务流。
Mbone是一种跨越几个大陆的，由志愿者合作完成的实验性的网络。它是一个相互连接的子网和路由器的集合，这些子网和路由器支持IP组播业务流的传送。作为因特网上的虚拟网络，Mbone通过隧道（Tunneling）来旁路因特网上无组播能力的路由器。
隧道把组播数据包封装在IP包（即单播数据包）中来通过哪些不支持组播路由的网络。如图5所示，MR3和MR4是支持IGMP协议的有组播能力的路由器，他们把组播数据包封装在单播数据包中来发送，同时它们还从收到的单播数据包中取出组播数据包。R1和R2是没有组播能力的路由器，它们像传送其它普通单播数据包那样来传送封装有组播数据包的单播数据包。交互式的IP组播IP组播的最大的用处就是用来做Internet上的音频和视频的传输，比如向成百上千的使用者发送音频和视频数据流。可是传统的IP组播的有一个最大的缺点就是这些所有的使用者都是被动的接受者。换句话说，IP 组播并没有让这些使用者进行交互式主动参与的内置机制。利用H.323国际标准中对会议成员的管理技术，SAP（Session Announcement Protocol），SDP(Session Description Protocol),RTCP(Real-time Transport Control Protocol）等协议，就可以使传统的IP组播技术具有交互功能。交互式IP组播技术应用范围很广，特别是Internet上多媒体的传输业务。比如视频会议，远程教育，Internet上的视频点播（VoD）等。
应用
组播应用大致可以分为三类： 点对多点应用，多点对多点应用和多点对点应用。点对多点的应用点对多点应用是指一个发送者，多个接收者的应用形式，这是最常见的组播应用形式。
典型的应用包括：
媒体广播：如演讲、演示、会议等按日程进行的事件。其传统媒体分发手段通常采用电视和广播。这一类应用通常需要一个或多个恒定速率的数据流，当采用多个数据流（如语音和视频）时，往往它们之间需要同步，并且相互之间有不同的优先级。它们往往要求较高的带宽、较小的延时抖动，但是对绝对延时的要求不是很高。
媒体推送：如新闻标题、天气变化、运动比分等一些非商业关键性的动态变化的信息。它们要求的带宽较低、对延时也没有什么要求。
信息缓存： 如网站信息、执行代码和其他基于文件的分布式复制或缓存更新。它们对带宽的要求一般，对延时的要求也一般。
事件通知：如网络时间、组播会话日程、随机数字、密钥、配置更新、有效范围的网络警报或其他有用信息。它们对带宽的需求有所不同，但是一般都比较低，对延时的要求也一般。
状态监视：如股票价格、传感设备、安全系统、生产信息或其他实时信息。这类带宽要求根据采样周期和精度有所不同，可能会有恒定速率带宽或突发带宽要求，通常对带宽和延时的要求一般。多点对多点的应用多点对多点应用是指多个发送者和多个接收者的应用形式。通常，每个接收者可以接收多个发送者发送的数据，同时，每个发送者可以把数据发送给多个接收者。
典型应用包括：
多点会议: 通常音/视频和白板应用构成多点会议应用。在多点会议中，不同的数据流拥有不同的优先级。传统的多点会议采用专门的多点控制单元来协调和分配它们，采用组播可以直接由任何一个发送者向所有接收者发送，多点控制单元用来控制当前发言权。这类应用对带宽和延时要求都比较高。
资源同步：如日程、目录、信息等分布数据库的同步。它们对带宽和延时的要求一般。
并行处理: 如分布式并行处理。它对带宽和延时的要求都比较高。
协同处理：如共享文档的编辑。它对带宽和延时的要求一般。
远程学习: 这实际上是媒体广播应用加上对上行数据流（允许学生向老师提问）的支持。它对带宽和延时的要求一般。
讨论组：类似于基于文本的多点会议，还可以提供一些模拟的表达。
分布式交互模拟（DIS）：它对带宽和时延的要求较高。
多人游戏: 多人游戏是一种带讨论组能力的简单分布式交互模拟。它对带宽和时延的要求都比较高。
Jam Session：这是一种音频编码共享应用。它对带宽和时延的要求都比较高。多点对点的应用多点对点应用是指多个发送者，一个接收者的应用形式。通常是双向请求响应应用，任何一端（多点或点）都有可能发起请求。典型应用包括：
资源查找：如服务定位，它要求的带宽较低，对时延的要求一般。
数据收集：它是点对多点应用中状态监视应用的反向过程。它可能由多个传感设备把数据发回给一个数据收集主机。带宽要求根据采样周期和精度有所不同，可能会有恒定速率带宽或突发带宽要求，通常这类应用对带宽和延时的要求一般。
网络竟拍：拍卖者拍卖产品，而多个竟拍者把标价发回给拍卖者。
信息询问: 询问者发送一个询问，所有被询问者返回应答。通常这对带宽的要求较低，对延时不太敏感。
Juke Box：如支持准点播（Near-On-Demand）的音视频倒放。通常接收者采用“带外的”协议机制（如HTTP、RTSP、SMTP，也可以采用组播方式）发送倒放请求给一个调度队列。它对带宽的要求较高，对延时的要求一般。
其他信息
目前组播技术还有许多未解决的问题，例如：组播安全、组播拥塞控制、组播状态聚集、组播流量计费、无拥塞控制、数据包重复、数据包的无序交付等等！
英译
词典解释 
名词n. 
1.【电脑】多重播送以下结果来自互联网网络释义
multicast
1.多路广播，多播，组播
词博英语社区（IT专业英语词典-M)
multicast多路广播，多播，组播
⒉多点传送
【推荐】CISCO CCNA词汇表- 电...
multicast多点传送
Multicast
⒈多点广播
Vocabulary 关于学习（英语）关...
Multicast多点广播