组播的技术

组播的技术,第1张

公共互联网中的一些团体经常会用到IP组播(Mbone就是一个例子),此外IP组播还被用于Internet2等私有IP网络中的一些特殊应用。链路本地组播是指将IP组播包发往处于同一物理的或虚拟的数据链路层的若干主机组。由于这种组播不需要复杂的路由,因此其应用要广泛得多。在IPv6中,它被用于地址解析,而在零配置网络中,它取代了低效的广播协议,完成服务发现、名字解析和地址冲突解析的功能。
IP组播会议的第一次大规模演示是在1992年3月的第23届IETF大会上,当时它被用于向全世界的研究人员和感兴趣的观察员们广播一些会议。之后,IETF的一些会议就被有选择地继续在MBONE和一些私有组播网络上多播。
组播安全性是一个重要的问题。标准的、实用的通信安全解决方案一般采用的是对称加密。但是将其应用于IP组播流量可能会使任何一个接收方都拥有冒充发送方的能力。这显然是令人无法接受的。IETF的MSEC工作组正在开发用以解决这一问题的安全协议,这些协议大多都是在IPsec协议集的体系框架内开发的。
IPsec不能被用于组播方案,这是因为IPsec安全关联是被绑定到两个而非多个主机的。IETF提出了一个新的协议——TESLA,就组播安全性而言,这个协议是灵活且令人信服的。 组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议,域间组播路由协议包括MBGP、MSDP等协议。同时为了有效抑制组播数据在链路层的扩散,引入了IGMP Snooping、CGMP等二层组播协议。对组播的技术历史作出了巨大的贡献!
IGMP建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。 组播IP地址用于标识一个IP组播组。IANA(internet assigned number authority)把D类地址空间分配给IP组播,其范围是从224000到239255255255。如下图所示(二进制表示),IP组播地址前四位均为1110八位组⑴ 八位组⑵ 八位组⑶ 八位组⑷1110
XXXX XXXXXXXX XXXXXXXX XXXXXXXX组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。
224000~22400255为预留的组播地址(永久组地址),地址224000保留不做分配,其它地址供路由协议使用。
224010~238255255255为用户可用的组播地址(临时组地址),全网范围内有效。
239000~239255255255为本地管理组播地址,仅在特定的本地范围内有效。常用的预留组播地址列表如下:
224000 基准地址(保留)
224001 所有主机的地址
224002 所有组播路由器的地址
224003 不分配
224004dvmrp(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由器
224005 ospf(Open Shortest Path First,开放最短路径优先)路由器
224006 ospf dr(Designated Router,指定路由器)
224007 st (Shared Tree,共享树)路由器
224008 st主机
224009 rip-2路由器
2240010 Eigrp(Enhanced Interior Gateway Routing Protocol,增强网关内部路由线路协议)路由器 2240011 活动代理
2240012 dhcp服务器/中继代理
2240013 所有pim (Protocol Independent Multicast,协议无关组播)路由器
2240014 rsvp (Resource Reservation Protocol,资源预留协议)封装
2240015 所有cbt 路由器
2240016 指定sbm(Subnetwork Bandwidth Management,子网带宽管理)
2240017 所有sbms
2240018 vrrp(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)
239255255255 SSDP协议使用
组播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有三个版本,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协议的路由器周期性的发送Hello消息,用以发现邻接的PIM路由器,并且负责在多路访问网络中进行指定路由器(DR)的选举。这里,DR负责为其直连组成员朝着组播分发树根节点的方向发送加入/剪枝消息,或是将直连组播源的数据发向组播分发树。 组播的规范是在1989年出版的,但是它的使用受到了限制。Internet上的路由器目前并不是都具有组播的能力。在这样一种情况下,研究者们为了在现有情况下开发和测试组播协议的应用,建立了组播骨干网(Multicast Backbone,Mbone)。Mbone支持组播分组的路由选择而不打扰其它的因特网业务流。
Mbone是一种跨越几个大陆的,由志愿者合作完成的实验性的网络。它是一个相互连接的子网和路由器的集合,这些子网和路由器支持IP组播业务流的传送。作为因特网上的虚拟网络,Mbone通过隧道(Tunneling)来旁路因特网上无组播能力的路由器。
隧道把组播数据包封装在IP包(即单播数据包)中来通过哪些不支持组播路由的网络。如图5所示,MR3和MR4是支持IGMP协议的有组播能力的路由器,他们把组播数据包封装在单播数据包中来发送,同时它们还从收到的单播数据包中取出组播数据包。R1和R2是没有组播能力的路由器,它们像传送其它普通单播数据包那样来传送封装有组播数据包的单播数据包。 点对多点应用是指一个发送者,多个接收者的应用形式,这是最常见的组播应用形式。
典型的应用包括:
媒体广播:如演讲、演示、会议等按日程进行的事件。其传统媒体分发手段通常采用电视和广播。这一类应用通常需要一个或多个恒定速率的数据流,当采用多个数据流(如语音和视频)时,往往它们之间需要同步,并且相互之间有不同的优先级。它们往往要求较高的带宽、较小的延时抖动,但是对绝对延时的要求不是很高。
媒体推送:如新闻标题、天气变化、运动比分等一些非商业关键性的动态变化的信息。它们要求的带宽较低、对延时也没有什么要求。
信息缓存: 如网站信息、执行代码和其他基于文件的分布式复制或缓存更新。它们对带宽的要求一般,对延时的要求也一般。
事件通知:如网络时间、组播会话日程、随机数字、密钥、配置更新、有效范围的网络警报或其他有用信息。它们对带宽的需求有所不同,但是一般都比较低,对延时的要求也一般。
状态监视:如股票价格、传感设备、安全系统、生产信息或其他实时信息。这类带宽要求根据采样周期和精度有所不同,可能会有恒定速率带宽或突发带宽要求,通常对带宽和延时的要求一般。 多点对多点应用是指多个发送者和多个接收者的应用形式。通常,每个接收者可以接收多个发送者发送的数据,同时,每个发送者可以把数据发送给多个接收者。
典型应用包括:
多点会议: 通常音/视频和白板应用构成多点会议应用。在多点会议中,不同的数据流拥有不同的优先级。传统的多点会议采用专门的多点控制单元来协调和分配它们,采用组播可以直接由任何一个发送者向所有接收者发送,多点控制单元用来控制当前发言权。这类应用对带宽和延时要求都比较高。
资源同步:如日程、目录、信息等分布数据库的同步。它们对带宽和延时的要求一般。
并行处理: 如分布式并行处理。它对带宽和延时的要求都比较高。
协同处理:如共享文档的编辑。它对带宽和延时的要求一般。
远程学习: 这实际上是媒体广播应用加上对上行数据流(允许学生向老师提问)的支持。它对带宽和延时的要求一般。
讨论组:类似于基于文本的多点会议,还可以提供一些模拟的表达。
分布式交互模拟(DIS):它对带宽和时延的要求较高。
多人游戏: 多人游戏是一种带讨论组能力的简单分布式交互模拟。它对带宽和时延的要求都比较高。
Jam Session:这是一种音频编码共享应用。它对带宽和时延的要求都比较高。
多点对点的应用
多点对点应用是指多个发送者,一个接收者的应用形式。通常是双向请求响应应用,任何一端(多点或点)都有可能发起请求。典型应用包括:
资源查找:如服务定位,它要求的带宽较低,对时延的要求一般。
数据收集:它是点对多点应用中状态监视应用的反向过程。它可能由多个传感设备把数据发回给一个数据收集主机。带宽要求根据采样周期和精度有所不同,可能会有恒定速率带宽或突发带宽要求,通常这类应用对带宽和延时的要求一般。
网络竟拍:拍卖者拍卖产品,而多个竟拍者把标价发回给拍卖者。
信息询问: 询问者发送一个询问,所有被询问者返回应答。通常这对带宽的要求较低,对延时不太敏感。
Juke Box:如支持准点播(Near-On-Demand)的音视频倒放。通常接收者采用“带外的”协议机制(如>

没有添加对应组播路由,是无法用程序收到组播数据的。组播组是一个用IP组播地址进行标识的接收者集合,主机通过加入某组播组成为该组播组的成员,从而可以接收发往该组播组的组播数据。组播源通常不需要加入组播组。

内网是指在企业、组织或家庭局域网中形成的网络,电信组播地址通常需要在内网中通过软件或网络设备进行访问。
要在内网中打开电信组播地址,一般需要进行以下几步:
1 确认网络设备是否支持组播:首先需要确认网络设备(如路由器、交换机等)是否支持组播功能,如果不支持组播功能,无法在内网中打开电信组播地址。
2 在本地计算机配置组播地址:在本地计算机的网络配置中,需要添加组播地址,以便接收到组播信号,通常需要使用特定的软件或设置组播分组地址。
3 确认组播地址是否被屏蔽:有些企业会为了安全原因限制组播信号的传递,因此需要确认组播地址是否被防火墙或其他安全设备屏蔽。
以上是一般情况下内网打开电信组播地址的一些基本步骤,具体 *** 作方式还需根据具体情况进行设置和调整。同时,由于涉及到网络安全问题,建议在 *** 作前应当咨询网络管理员或相关技术人员的意见和指导。

你是要做一个组播服务器程序吗?如果是,你的服务器应该要支持IGMP协议。
你现在想让组播服务器在公网上转发数据,进行实验。我认为这种实验方法存在2个问题:
1,网络环境不具备。你的组播报文从服务器到主机的过程中需要经过一系列switch和router,所有这些设备必须都支持组播协议,才会形成组播树,将你的消息转发到所有主机。(这个外部的环境不可控)。
2、即使一系列的网络设备支持,网络运营商也不会允许私人随意占用 组播IP地址。
建议你自己搭建一个私网环境进行实验。在这个环境中,只要你的服务器和主机都处在相同的组播组中,就可以了。在这个私网环境中,224011是一个合法的组播IP

你能够在不使用组播协议的情况下进行组播路由吗?换句话说,你能简单地把组播数据包发送到一个地址吗? 先提供一点背景知识。从一个源点向多个接收者发送同样的信息有三种主要的方法。需要这种技术的最普通的应用是桌面视频会议。在视频会议中,一个发送的信息将发送给多个接收者。首先是单播,单个数据包发送给每一个预定的接受者。这种方法浪费带宽和资源。发送一个单一的广播数据包到网络的所有端口这种广播方式可以解决浪费带宽的问题。然而,由于有广播业务,所有的主机不管是否需要都要接收这些信息。因此,建立了组播协议。组播协议仅向加入组播组的网络中的一组主机发送信息流。 RFC 1112(IP多点传送的主机扩展)中规定的互联网组管理协议(IGMP)是IP组播标准。为了保证组播在网络上顺利执行,所有连接的设备都要求网络硬件支持IGMP。 为了解决这个问题,有很多方法为直接连接到交换机的那些没有直接支持IGMP的设备创建支持IGMP的功能。在交换机中安装一个IGMP服务器。这个服务器监听和接收组播组信息并且把组播信息流发送到指定的接收者。多平台和 *** 作系统支持IGMP服务器配置。然而,这个解决方案不适合多个设备,只能在有限的基础上予以考虑。

openwrt配置组播代理如下:
openwrt路由器设置代理服务器。代理服务器需同时配置代理服务器。访问Kubeconnectl:本地数据和Radius认证,实现通过WEBTouch进行连接。代理连接代理根据部署的部署方式,详细介绍请参考《应用性能管理-iPer部署指南》。部署组件前,需要先配置好Kubeconnector代理,具体配置请参考《iBuild接口参考》。请参考《iBuild相关 *** 作》。配置部署代理,否则将无法购买。管理代理设置完成后,代理设置为“Docker”代理,代理选择已创建的代理。可通过CCEclient-clientSecret,对Docker镜像节点进行注入、证书等配置。通过DockerPort连接的终端节点。单击“更换”,设置已有的代理(包括访问秘钥和证书)。LoginSuccess当“代理连接OBS”关闭时,表示业务拉取任务。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13421448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-02
下一篇 2023-08-02

发表评论

登录后才能评论

评论列表(0条)

保存