基于主机的跨网段IP多播技术

来源 :发明与创新(综合版) | 被引量 : 0次 | 上传用户:fqdml
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一、多播技术简介和问题的提出
  
  多播(Multicasting)也叫做组播或多址广播,是当前网络技术中的一个热门话题,它所提供的一对多和多对多的数据传输技术在很多领域有着越来越广泛的应用,例如多媒体网络教学、视频会议、网络游戏等。
  尽管目前多播技术在局域网中已经得到了很好的应用,但是在Internet上,多播的使用受到一定的限制。跨越不同网段的多播应用牵涉到比较复杂的问题,其中最重要的一点是多播数据的转发取决于路由器,路由器利用IGMP协议以及与其他路由器之间的通信来决定是否向它的下游路由器或与它直接相连的网段转发多播数据包,同时数据的转发还要取决于路由器接口上配置的TTL阈值。而目前的情况是仍然有很多路由器上面的配置并不支持转发多播数据包,这就使得多播数据无法通过该路由器在不同网段之间传输,多播程序也就无法正常的工作。造成这种状况的原因有技术上的(例如多播路由协议还不成熟,还处于不断的改进中),也有其他方面的。
  要从根本上解决这一问题,只有依赖于多播技术的进一步发展以及ISP改变路由器的配置。但是在当前情况下可以采取一些较为简便的替代方案临时的解决这个问题,其中的一种方案就是基于主机的跨网段多播(Host-BasedMulticast Solution),也称为应用程序级的多播。简单的说,就是在主机端的应用程序中计算所有多播成员的位置信息并按照一定的方法构造和优化网络拓扑结构,当发送多播数据时,对于那些无法直接接收多播数据的成员使用单播代替多播来进行发送,以避开路由器的影响。这种方法实际上就是以多播和单播的混和使用来模拟原来纯粹的多播应用。
  
  二、系统的总体设计基本思路
  
  在整个多播组中的所有节点(成员)可分为三类:一个特殊的成员,称之为中心节点,对应于应用中主要的数据源节点;多个的中继节点,与中心节点之间采用单播进行数据转送,再通过多播转发给其他节点;除了中心节点和中继节点以外的其余节点就是普通节点,它们通过多播从中心节点或中继节点接收数据。
  为了降低控制的复杂程度,系统采用了集中控制方式,也就是只在中心结点上构造和管理整个拓扑结构,在其他成员上并不保存拓扑信息。每个成员在登录时连接到中心节点上,并报告各自的相关信息,供中心节点计算和构造拓扑结构。这种控制方式可以避免在各成员之间传递拓扑信息以及信息的同步的问题,从而降低系统的复杂程度。
  在传输数据时最大限度的利用多播,将所有节点分成多个多播小组,组内的任一个成员发送的多播数据是可以被组里其他成员接收到的。一般情况下,一个多播小组是由处于同一子网下的成员构成的。每个多播小组都使用相同的一个多播地址。由于每个小组处于不同的多播传播域,因此使用相同的地址并不会引起冲突。从这样的每个多播小组中按一定的规则(到中心节点的延时最短)选出一个成员作为中继节点。中继节点使用单播接收从中心节点传送过来的数据,然后再使用多播转发给它所在的小组的每一个成员,也就是说中继节点肩负着转发数据的任务。
  由于在中心结点和各个中继节点之间是使用单播方式进行数据传输,为了提高传输性能,对中心节点和所有中继节点之间的拓扑结构进行优化。
  有关优化的设计思路如下:设置一个延时阈值(该阈值可以根据所传输数据的要求动态改变),当一个中继节点到中心节点的延时小于该阈值时就直接从中心节点接收单播数据。若是一个中继节点到中心节点的延时超过了该阈值,那么它就要检测它到其他标准中继节点(指那些到中心节点的延时没超过阈值的中继节点)的延时,选取其中延时最小的一个中继节点来作为它和中心节点之间的中转站。
  
  中继节点必须负责数据的转发,因此有比较重要的地位。基于系统的可靠性考虑,中心结点要保持与中继节点的控制通信。中心节点及时的了解中继节点的状态,在一个中继节点崩溃后迅速的作出反应,用另外的节点来代替它,从而确保系统能继续正常工作。
  实际数据传输时,并不是每个中继节点都需要使用多播转发数据,而是根据整个组的拓扑情况来决定。只有当一个中继节点所在的多播小组中还有其他普通节点时,这个中继节点才进行数据转发,这样可以避免不必要的数据发送造成网络性能下降。
  当成员分布较为集中,也就是每个多播组中含有较多成员的情况下,可以比较好的利用多播的优势,这时系统的数据传输效率也就比较好。若是成员分布较为分散,就需要比较多的使用单播传送,这样就会降低系统的数据传输效率。在最坏的情况下,即任何两个节点都不处在同一个多播组中,这时整个系统就退化成完全的单播传送。
  
  三、系统总体结构
  
  系统主要分为运行在中心结点和非中心节点(包括中继节点和普通节点)上的两个部分。由于中心节点还负责整个拓扑结构的建立和维护,因此它上面运行的部分较为复杂,而非中心节点上需要进行的处理较少,因此也就相对较为简单。中心节点部分主要可以分为四个模块:数据通信模块,控制通信模块,组成员管理模块和拓扑结构管理模块。由于非中心节点不需要了解和管理拓扑信息,因此非中心节点部分只包括三个模块:管理模块,数据通信模块和控制通信模块。
  
  四、系统流程说明
  
  系统的启动首先要启动中心节点(相当于服务器),然后各个节点登录到中心节点上,中心节点在接受各个节点的登录之后也就完成了拓扑结构的构造,以后就根据这个拓扑结构进行数据传输。部分的工作流程如下:
  新成员登录流程
  1.新成员A首先通过TCP连接到中心节点上,发出一个登录请求。
  2.中心节点在接到这个请求之后就产生一个用以唯一标识节点的PID,然后将此PID回送给A。中心节点还要调用组成员管理模块为A增加一个相应的新节点。
  3.A节点收到中心节点分配的PID之后就将其保存,在自己之后发送的所有控制信息包中都填入这个PID,用以标志身份。同时A节点还要向中心节点报告自己所处子网的网关的IP地址。
  4.A节点在连接上中心节点之后紧接着创建多播socket并加入指定的多播地址,然后发信息通知中心节点。
  5.中心节点在收到A节点加入多播组的通知之后就利用一个多播socket发送多播测试包。在规定的时间里节点A要向中心节点报告是否接收到多播测试包。而中心节点根据A节点的报告就知道A是否可以直接收到多播数据。若A节点无法直接接收多播数据,则根据A节点的网关IP地址把它加入到已有的多播小组或是独立形成一个新的小组。
  6.若是A节点独立形成一个新的小组,则中心节点要根据A节点到中心节点的延时来判断是否需要对拓扑结构进行调整更新。若A节点是加入到一个已有的多播小组,那么中心节点也要根据A节点到中心节点的延时判断时候要改变那个多播小组的中继节点。
  7.在A节点完成完整的登录过程后,中心节点修改其相应数据结构中的状态标志,表明它已成功加入该会话,可以开始接收数据。
  成员退出的流程
  1.要退出会话的成员A首先向中心节点发送退出请求。
  2.中心节点在收到退出请求后查看A节点在拓扑结构中的位置。若A是中继节点,那么中心节点要先从A所在的多播小组中选出另一个节点B来代替A成为新的中继节点,并通知B。
  3.中心节点发信息通知A节点,允许其退出。
其他文献
铺平道路    当你苦思冥想了几个星期的问题忽然间有了灵感,迎刃而解,这个瞬间不同于其他阶段,其实是创造力得以发挥的最终对刻。在19世纪,法国数学家享利·彭加勒充分意识到了一个偶然的瞬间也许便会想出困扰自己许久的数学问题的解题方法,他第一个提出了运用创新方法解决问题的几个基本步骤。  步骤之一是做准备工作,即你应该全身心投入到问题中,尽一切可能搜寻相关信息。你可以充分发挥想象力,不要轻易放过任何相
中科院合肥物质科学研究院等离子体物理研究所研究员、安徽循环经济技术工程院副院长……这些耀眼头衔下的姚建铭,你怎么也不会将他与恶臭的“潲水”联系起来。在安徽合肥西郊生态绝佳的科学岛上,他就是这样一个传奇人物——把“潲水”魔术般变成乙醇、沼气、生物柴油等可再生能源,在源头斩断“地沟油”、“泔水猪”回流餐桌和餐厨废弃物直接饲养畜禽等非法利益链,化害为利,实现社会效益、环境效益和经济效益的“三赢”。  结
高性能超级电容器  技术简介:超级电容器是介于传统电容器和电池之间的一种新型储能元件,具有比传统电容器更高比容量和能量密度,与电池相比,具有更高的功率密度和更长的循环寿命,工作温度范围可达-20~+70℃,已成为世界各国研究的热点之一。超级电容器在航空航天、汽车行业、通信领域、仪器仪表、消费电子、电动玩具等领域都具有重要的应用市场。  目前已建立高性能碳电极材料批量制备、有机电解液配制、卷绕式超级
不少科学家提议,或许可以通过将人造烟雾释放到大气层中迫使气温下降的做法,来解决地球温暖化问题。尽管该项对策令人瞩目,但欲从根本上彻底解决二氧化碳排放,并将这一对策作为长期战略贯彻执行,不仅要冒很高的风险,而且——    一、能否达到预期效果难卜难料    就目前来说,恐怕人类很难制造出人造火山来作为对付地球温暖化的杀手锏。“但可以应用地球工程学模拟火山爆发效果的人造火山是完全可以成功的”,信誓旦旦
2009年2月2日,一个注定将永载世界医疗进程的日子。在这一天里,经过9年漫长煎熬以及难以计数的失败之后,烟台毓璜顶医院李建远教授和他率领的科研团队,在烟台国际博览中心召开“成功获得人类体细胞克隆胚胎介绍会”。    “再生医疗”获权威肯定    很早之前,科学家就希望能利用各种疾病患者的体细胞,克隆出早期人类胚胎,从而在实验室中对这些疾病进行研究,开发新的治疗方法。2000年初,烟台毓璜顶医院联
烧结球团节能添加剂与烟气综合治理新技术  技术简介:采用分子轨道理论、催化燃烧新技术和表面物理化学原理,成功设计出铁矿烧结、球团用多功能的节能添加剂,得到了国家自然科学基金和宝钢联合基金的资助。  在铁矿烧结领域,节能添加剂可降低固体燃料消耗15%—20%,减少废气排放量20%左右,提高烧结矿强度和产量。  在球团领域,研制出复合膨润土,其添加量为1.5%左右,采用润磨时的添加量低于1%。有利于提
农超对接,主要是为优质农产品进入超市搭建平台,是指农户和商家签订意向性协议书,由农户向超市、菜市场和便民店直供农产品的新型流通方式。“农超对接”的本质是将现代流通方式引向广阔农村,将千家万户的小生产与千变万化的大市场对接起来,构建市场经济条件下的产销一体化链条,实现商家、农民、消费者三方共赢。  当前我国正处于经济结构调整、发展方式转变的关键时期,生产要素成本上涨也推高了农产品价格,居民消费支出有
地震斗篷:让地震波远离建筑物    电影中,隐形斗篷可以轻轻松松帮助小魔法师哈利·波特骗过守门人以及他的猫。但法国和英国物理学家表示,隐形斗篷实际上也可以用来帮助建筑物免受地震破坏。这听起来是否太过科幻呢?答案是“不”。  目前,法国马赛菲涅耳研究所的斯特凡·伊诺克及其研究小组正在研究隐形斗篷背后的物理学其它方面的应用。他们的研究成果便是“地震斗篷”,能够让冲击波、暴风浪或者海啸在所遮蔽的物体面前
古人云:山外有山,天外有天。从古至今,强中自有强中手。当我们正沉浸于自己发明的新产品时,是否想过,很快就会有其他更新、更先进的产品出现,进而取代它?为了让自己的产品在市场中保持竞争优势,我们就应该追求更新,用“以新翻新”的方法,让自己的产品不断更新换代,更趋完美,让它更加具有生命力!  以新翻新,顾名思义,就是新上加新。这就要求我们不要轻易满足现状,要在产品原有的基础上,再从某一个角度去重新审视它
直观思维一般是指人们在实践中,外界事物在人们大脑中产生的感觉,这种感觉往往是人对事物的视觉、味觉、嗅觉、听觉及触觉等。直观思维是开发人们创造思维的基础。有两个经典直观思维的例子:一是地质学家魏格纳通过看地图发现创立了“大陆漂移学说”,第二个是日本东京帝国大学教授池田菊苗在吃海带汤时发觉口感不一样,之后他在海带里提取了谷胺酸物质,发明了今天我们做菜调味的味精。那么,直观思维在日常生活中的应用范围如何