收藏 分销(赏)

数字语音教室中远程控制设计实现论文.doc

上传人:仙人****88 文档编号:9461774 上传时间:2025-03-27 格式:DOC 页数:47 大小:606.50KB
下载 相关 举报
数字语音教室中远程控制设计实现论文.doc_第1页
第1页 / 共47页
数字语音教室中远程控制设计实现论文.doc_第2页
第2页 / 共47页
点击查看更多>>
资源描述
毕业设计(论文) 第 42 页 毕业设计(论文) 设计(论文)题目 数字语音教室系统中远程控制 设计与实现 学生姓名 学生学号 专业班级   指导老师 院长 (系主任) 5 月 25 日 数字语音教室中远程控制的设计与实现 摘 要 计算机远程控制已经得到了非常广泛和重要的应用,本文主要介绍数字语音教室系统中远程控制的设计与实现,该设计将为系统提供一个方便可行的命令控制机制和安全可靠的命令传输方案。 在命令控制机制的设计中,我们将讨论并分析命令的编码,命令包的设计,命令的封装和解析,命令对象的注册规则,以及命令控制机制实现的体系结构和命令执行的流程。在命令的传输方案设计中,我们将以组播技术为基础,介绍和分析网络传输中的命令通道和数据通道,命令的发送和监听,组播地址管理和分组的实现,以及如何应用组播实现数据的安全可靠传输。在介绍传输机制设计之前,首先会详细的介绍一些关于组播技术方面的知识,如组播组的概念、组播的实现、组播的一些协议、组播的应用等。 关键词:命令编码,命令解析,组播,组播组 The design and the implementation of Remote Control in digital voice classrooms system Abstract Computer remote control has been very widely and important used. This paper mainly introduces the design and the implementation of Remote Control in digital voice classrooms system. The system design will provide a convenient and reliable command control mechanisms and command transmission scheme. In the command control mechanism design, we will discuss and analyze the command coding, the design of command package, command encapsulation and command package parsing, rules on the registration of command objects, the architecture of command-control mechanism and the flow of command implementation.In command transmission design,on the basis of multicast, we will introduce and analyse the command channel and the data channel of network transmission ,the sending and the monitoring of command, multicast address management and the implement of grouping, and how to use multicast to achieve safe and reliable data transmission. Before introducing the transmission mechanism design, we will introduce some knowledge about multicast technology in detail first,such as multicast group,the implement of multicast,some protocols relate to multicast,the applications of multicast and so on. Key words: command coding, command parsing, multicast, unicast, multicast group 目 录 1. 绪论 1 1.1 概述 1 1.2 课题研究背景和意义 2 1.3 论文结构 3 2. 组播技术介绍 4 2.1 组播基本概念 4 2.1.1 产生和概念 4 2.1.2 组播技术的特点 4 2.2 组播技术的应用 5 2.3组播的实现 6 2.3.1 组播工作原理 6 2.3.2 组播地址机制 6 2.3.3 组播成员管理 8 2.3.4 组播报文转发 11 2.3.5 组播树 12 2.4 组播路由协议 12 2.5 IP组播中存在的问题与发展 15 2.5.1 组播的可靠性 15 2.5.2 组播的安全性 16 2.5.3 组播信息包的复制 16 3. 课题的设计与实现 17 3.1 命令控制机制的设计 17 3.1.1 总体设计 17 3.1.2 命令编码 17 3.1.3 命令包的设计 23 3.1.4 命令控制对象的注册规则 25 3.1.5 命令控制机制内部类设计 26 3.1.6 命令执行的流程 29 3.2 命令传输设计 33 3.2.1 总体设计 33 3.2.2 命令通道和数据通道 33 3.2.3 组播的实现 34 3.2.4 命令的发送和监听 36 3.2.5 命令的可靠传输 37 结论 39 致谢 40 参考文献 41 1 绪论 1.1 概述 远程控制技术在各行各业已经有了非常广泛而重要的应用,如远程监控工业深加工,工程爆破和航空导航等。随着网络技术的不断发展和成熟,计算机系统中的远程控制技术应用也日趋成熟和广泛。远程控制可能对网络管理、技术人员来说提供了一种便捷、高效的手段。 计算机远程控制的主要用途: 1. 获取目标计算机屏幕图像、程序窗口及进程列表; 2. 记录并提取远端键盘事件,即本地所做的一切操作都可以同步显示在控制端用户屏幕上,就像在本地机上查看一样清楚,有的还专门有记录被控制端计算机敲击键盘操作过程,并形成文件,以供调用; 3. 可以打开、关闭目标计算机的任意目录并实现共享,可以无所不能,包括关闭对方计算机; 4. 提取拔号网络及普通程序的密码; 5. 控制远程计算机进程,如打开、关闭、移动远程计算机窗口;控制远程计算机鼠标的移动与操作;关闭系统(包括电源)、重新启动等; 6. 上传、下载、删除远程计算机的文件,就如操作自已计算机一样; 7. 远程系统维护; 8. 启动过程计算机外设等等[1]。 远程控制的基本原理: 1. 服务器端运行相应的控制软件,在服务器端的某个端口处于侦听状态(这些端口常因软件不同而不同,在设置系统时不要轻容改变)有的软件还会在服务器端程序中指定要连接的计算机,其他用户或计算机的连接请求不会接受; 2. 当服务器端程序运行后,客户端在本地计算机中运行相应远程控制程序的客户端程序,通常在运行这个程序时会指定要连接的服务端主机名或IP地址,程序运行后就会向所有网络搜索指定的计算机名或IP; 3. 搜索到后客户端口发出TCP连接请求,如果服务器端口处于侦听空闲则响应并向客户端发出请求确认信号并同时向客户端发出登录用户信息确认框; 4. 登录条件如不合法则拒绝用户的连接[2]。 计算机远程控制的实现一般分为两部分:命令控制机制和命令传输机制。其中命令控制机制包括命令编码,命令封装和解析等;传输机制包括网络环境,传输方式,可靠传输和实时传输等[3]。 1.2 课题研究背景和意义 数字语音教室软件的应用已经非常广泛,实现方式多种多样,技术也日趋成熟。系统中远程控制技术的应用也不断完善,功能不断全面化,操作简单化。远程控制不仅要对整个系统进行全面操作和控制,也要保证命令操作和传输的可靠性和准确性,在设计和实现上就可能面临着很多困难。 本课题设计是在数字语音教室系统中设计并且实现一个远程控制机制。目的是为了支持数字语音教室系统的操作和控制,为系统实现一个方便可靠的命令控制机制和数据传输方案。控制命令涉及整个数字语音教室系统的全部功能部分,命令传输在局域网内完成。通过此方案的设计与实现,可以利用系统进行数字语音的多媒体教学。 目前,国内外相关领域已经有了比较成熟的设计方案和产品,但大多采用软硬件结合的方法实现,如加入磁带机,录音机等。本课题是在一个纯软件环境下实现系统的控制功能。系统中远程控制涉及到了整个系统的全部功能模块,控制命令繁多而分散,不容易划分和综合。这样在设计和实现的时候就可能面临着一些新的难题,如命令的编码,命令包结构的设计等。在网络中进行命令传输时,数据丢失和网络异常情况难免会发生,为保证命令的实时准确,控制命令的可靠传输非常重要,如何实现这一点也是系统设计时候特别应该注意的问题。如果发生命令的丢失或异常,网络中个别主机没有收到命令,该如何进行补救,采用什么样的错误处理机制。或者是重复收到相同的命令该如何区分并避免逻辑混乱。 针对以上可能出现的问题,在最初的设计阶段就要有针对性地分析。在需求分析和设计的时候可以使用rose对系统进行建模,理清系统各功能及其之间的联系,这样便于对繁多分散的命令进行控制和编码。网络层的命令传输使用组播技术实现,并对主机命令接受状态进行维护,采用重传的方式保证可靠传输,发送方式分为组播发送和单播发送。设定命令周期用来判断相临的两个组播命令是重新发送的还是新的操作,避免逻辑错误。 数字语音教室系统中的远程控制实现机制也伴随着教学需求的变化和相关技术的成熟而不断改变和完善,一方面要适应教学的需要,一方面还要保证系统的可用性,可靠性和操作的方便性等。这就要求在设计和实现上要平衡各种需求,力求找到一个最佳的平衡点。未来的发展主要集中在安全、可靠、实时、方便等几个方面的设计和实现[4]。 1.3 论文结构 第一章为论文的绪论,主要介绍课题研究目的和意义,研究中存在的问题和简单的分析。 第二章专门介绍组播技术的知识,包括组播的产生和基本概念、组播技术的应用、组播的实现、组播地址管理和成员管理、组播相关协议等内容。 第三章详细阐述了系统中远程控制的设计方案,包括两大部分:命令控制机制的实现和数据传输方案。 小结部分总结了课题的设计方案和结果、研究的意义和作用,并进一步提出了需要讨论和改进的问题。 2 组播技术介绍 2.1 组播基本概念 2.1.1 产生和概念 随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,这就带来了带宽的急剧消耗和网络拥挤问题。为了缓解网络瓶颈,人们提出各种方案,其中一种是采用IP Multicast(组播、多播或多路广播)技术,它是一种能最大限度利用现有带宽的技术。比较而言,IP组播技术有其独特的优越性,在组播网络中,即使用户数量成倍增长,主干带宽不需要随之增加[4]。 IP组播是利用一种协议将IP数据包从一个源传送到多个目的地,将信息的拷贝发送到一组地址,到达所有想要接收它的接收者处。IP 组播将数据包以尽力传送(best-effort)的形式发送到网络中的某个确定节点子集,这个子集称为组播组(multicast group)。IP 组播的基本思想是,源主机只发送一份数据,这份数据中的目的地址为组播组地址;组播组中的所有接收者都可接收到同样的数据拷贝,并且只有组播组内的主机(目标主机)可以接收该数据,网络中其它主机不能收到。IP组播群组中成员的关系是动态的,主机可以随时加入和退出群组[6]。 它的基本方法是:当某一个人向一组人发送数据时,它不必将数据向每一个人都发送数据,只需将数据发送到一个特定的预约的组地址,所有加入该组的人均可以收到这份数据。这样对发送者而言,数据只需发送一次就可以发送到所有接收者,大大减轻了网络的负载和发送者的负担。 2.1.2 组播技术的特点 1. 群地址 在组播网中,每个组播群组拥有惟一的组播地址(D类地址),一部分IP组播地址是由Internet管理机构分配的,其他的组播地址作为暂时地址被用户使用;组播数据包可以送到标识目的组机的组地址,发送者不必知道有哪些组成员,它自己不必是组成员,对组成员中主机的数目和位置也没有限制。主机不需要和组成员以及发送者商量,可以任意加入和离开组播组;使用组地址,不必知道主机指定的位置,可以找到具有此组播地址的任何资源和服务器,在动态变化的信息提供者中搜寻到需要的信息,或者发布信息到任意大小的可选用户群。 2. 规模可扩展性   如果网络速率提高,广域组播网络的容量需要扩大,后来产生的组播路由算法和协议如PIM-DM、PIM-SM、CBT等都支持网络规模的扩展,而上述的群地址和动态性也是适应规模可扩展性的另一方面。 3. 健壮性 IP组播网络使用的路由协议和算法能适应网络路由动态变化,它采用软件状态刷新机制,制作路由备份等方法,来维护群组成员之间的连接,加强网络的健壮性。 4. 路由算法的独立性 组播路由算法和协议独立于单播路由使用的协议,但又依靠现存的单播路由表,在域内适应网络拓扑的变化,动态生成组播树。 5. 组播生成树的灵活性 组播生成树的形成与发送者和接收者的分布、网络的流量状况以及组成员的动态性有关,且组播生成树也反映了不同的组播路由算法和组播应用。灵活的组播生成树有利于数据包的传送,不容易造成网络的拥塞。 2.2 组播技术的应用 由于IP组播能有效减少网络和主机开销,较单播和广播有其独特优越性,因此,IP组播已经得到了广泛的应用,主要有几个方面: 1. 基于因特网的视频组播。这方面的应用很广泛,如实时视频会议系统、远程教学系统、远程演示系统和视频点播系统(VOD)等等。 2. 特别互联网工作组(Special internet group,简称SIG)。它是由世界各地的具有共同兴趣的人组成,可以包括体育、音乐、计算机软件、硬件等一切可以引起共同兴趣的东西。比较有名的有E-MAIL讨论组和ACM的技术讨论组。 2.3组播的实现 2.3.1 组播工作原理 组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播组的地址才能接收到数据包。简单地说,主机通过使用Internet组管理协议加某个组中,并且可以动态离开组,即成员关系常有变化,路由器跟踪这种关系并试图形成一条到达组播成员的无回路路径。组播路有些已用于得到正在使用的组播组的路径上那些路由器,以及到达这些组播组的最佳路径信息。一旦报文到达目标LAN,该报文就有可能泛洪或转发到主机。三种传输方式比较如下: 单播(Unicast)传输:在发送者和每一接收者之间需要单独的数据信道。如果一台主机同时给很少量的接收者传输数据,一般没有什么问题。但如果有大量主机希望获得数据包的同一份拷贝时却很难实现。这将导致发送者负担沉重、延迟长、网络拥塞。为保证一定的服务质量需增加硬件和带宽。 组播(Multicast)传输:它提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络。 广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网主机都投递一份数据包,不论这些主机是否乐于接收该数据包。广播的使用范围非常小,只在本地子网内有效,因为路由器会隔离广播通信。广播传输增加非接收者的开销。 2.3.2 组播地址机制 2.3.2.1 组播IP地址 IP组播地址用于标识一个 IP 组播组。IANA 把 D 类地址空间分配给组播使用,范围从 224.0.0.0 到 239.255.255.255[7]。如图1.1所示(二进制表示),IP 组播地址前四位均为“1110”。   图1.1 组播地址格式 2.3.2.2 组播地址的划分 整个 IP 组播地址的空间划分如图1.2所示。   图1.2 组播地址划分 其中: 224.0.0.0 到 224.0.0.255 地址范围被 IANA 预留,地址 224.0.0.0 保留不做分配,其它地址供路由协议及拓扑查找和维护协议使用。该范围内的地址属于局部范畴,不论生存时间字段(TTL)值是多少,都不会被路由器转发; 224.0.1.0 到 238.255.255.255 地址范围作为用户组播地址,在全网范围内有效。其中233/8 为 GLOP 地址。GLOP 是一种自治系统之间的组播地址分配机制,将 AS 号直接填入组播地址的中间两个字节中,每个自治系统都可以得到 255 个组播地址; 239.0.0.0 到 239.255.255.255 地址范围为本地管理组播地址(administratively scoped addresses),仅在特定的本地范围内有效。 当 IP 层收到组播数据报文时,根据组播目的地址查找组播转发表,对报文进行转发。 2.3.2.3 IP组播地址到 MAC地址的映射 IANA 将 MAC 地址范围 01:00:5E:00:00:00 ~ 01:00:5E:7F:FF:FF 分配给组播使用,这就要求将28位的 IP 组播地址空间映射到 23 位的 MAC 地址空间中,具体的映射方法是将组播地址中的低 23 位放入 MAC 地址的低 23 位,如图1.3所示,   图1.3 组播地址到MAC地址的映射 由于 IP 组播地址的后 28 位中只有 23 位被映射到 MAC 地址,这样会有 32 个 IP 组播地址映射到同一 MAC 地址上。 2.3.3 组播成员管理 2.3.3.1 IGMP ( Internet Group Management Protocol ) IGMP 协议运行于主机和与主机直接相连的组播路由器之间,IGMP 实现的功能是双向的:一方面,通过 IGMP 协议,主机通知本地路由器希望加入并接收某个特定组播组的信息;另一方面,路由器通过 IGMP 协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。通过 IGMP,在路由器中记录的信息是某个组播组是否在本地有组成员,而不是组播组与主机之间的对应关系。 1. 加入组播组 当某个主机加入某一个组播组时,它通过“成员资格报告”消息通知它所在的IP子网的组播路由器,同时将自己的IP模块做相应的准备,以便开始接收来自该组播组传来的数据。如果这台主机是它所在的IP子网中第一台加入该组播组的主机,通过路由信息的交换,组播路由器加入组播分布树。 加入之后,接收方主机的网络接口卡开始侦听与组播组地址相关的组播MAC地址,路由器把发送方的信息包一跳一跳地发送到有接受者的网段上去,局域网路由器根据信息包中的组地址转换成与之相关的MAC地址,接收方侦听到这个地址,收到信息包后,将IP层的组播数据包取出传向上层。 2. 退出组播组 在IGMP v1中,当主机离开某一个组播组时,它将自行退出。组播路由器定时使用“成员资格查询” 消息向IP子网中的所有主机的组地址(224.0.0.1)查询,如果某一组播组在IP子网中已经没有任何成员,那么组播路由器在确认这一事件后,将不再在子网中转发该组播组的数据。与此同时,通过路由信息交换,从特定的组播组分布树中删除相应的组播路由器。这种不通知任何人而悄悄离开的方法,使得组播路由器知道IP子网中已经没有任何成员的事件延时了一段时间,在IGMP v2.0中,当每一个主机离开某一个组播组时,需要通知子网组播路由器,组播路由器立即向IP子网中的所有组播组询问,从而减少了系统处理停止组播的延时。 到目前为止,IGMP 有三个版本。IGMPv1(RFC1112)中定义了基本的组成员查询和报告过程;目前通用的是 IGMPv2,由 RFC2236 定义,在 IGMPv1 的基础上添加了组成员快速离开的机制;IGMPv3 中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。以下着重介绍 IGMPv2 协议的原理。 IGMPv2 的原理如图1.4所示, 图1.4 IGMPv2的工作原理 当同一个网段内有多个组播路由器时,IGMPv2 通过查询器选举机制从中选举出唯一的查询器。查询器周期性地发送通用组查询消息进行成员关系查询;主机发送报告消息来响应查询。主机发送报告消息的时间有随机性,当检测到同一网段内有其它成员发送同样的消息时,则抑制自己的响应报文。如果有新的主机要加入组播组,不必等待查询器的查询消息,而是主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。对于作为组成员的路由器而言,其行为和普通的主机一样,响应其它路由器的查询。 通过上述机制,在组播路由器里建立起一张表,其中记录了路由器的各个接口所对应的子网上都有哪些组的成员。当路由器接收到某个组 G 的数据报文后,只向那些有 G 的成员的接口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定,不是 IGMP 协议的功能。 2.3.3.2 二层环境中组成员管理的实现 IGMP 组播成员管理机制是针对第三层设计的,在第三层,路由器可以对组播报文的转发进行控制,只要进行适当的接口配置和对 TTL 值的检测就可以了。但是在很多情况下,组播报文要不可避免地经过一些二层交换设备,尤其是在局域网环境里。如果不对二层设备进行相应的配置,则组播报文就会转发给二层交换设备的所有接口,这显然会浪费大量的系统资源。IGMP 监听(IGMP Snooping)可以解决这个问题。 IGMP 监听的工作原理如下: 主机发出 IGMP 成员报告消息,这个消息是给路由器的;在 IGMP 成员报告经过交换机时,交换机对这个消息进行监听并记录下来,形成组成员和接口的对应关系; 交换机在收到组播数据报文时,根据组成员和接口的对应关系,仅向具有组成员的接口转发组播报文。 IGMP 监听可以解决二层环境中的组播报文泛滥问题,但要求交换机具有提取第三层信息的功能;其次,要求交换机对所有的组播报文进行监听和解读,这会产生很多的无效工作;此外,组播报文监听和解读工作也会占用大量的 CPU 处理时间。 2.3.4 组播报文转发 1. 逆向路径转发(Reverse Path Forward: RPF) 当组播数据包到达路由器时,路由器作RPF检查,以决定是否转发或抛弃该数据包,若成功则转发,否则抛弃。RPF检查过程如下: 检查数据包的源地址,以确定该数据包经过的接口,是否在从源到此的路径上; 若数据包是从可返回源主机的接口上到达,则RPF检查成功,转发该数据包到输出接口表上的所有接口,否则RPF检查失败,抛弃该数据包。 2. 组播转发缓存 对于每一个输入组播数据包进行RPF检查会导致较大的路由器性能损失。因此,建立组播转发缓存时,通常由组播路由确定RPF接口。然后将RPF接口变成组播转发缓存项的输入接口。一旦RPF检查程序使用的路由表发生变化,必须重新计算RPF接口;并更新组播转发缓存项。 3. TTL阈值 每当路由器转发组播数据包,IP包中的TTL(Time To Live)值都减1。若数据包的TTL减少到0,则路由器将抛弃该数据包。TTL阈值可用于组播路由器的各个接口,以防止在该接口上转发低于TTL阈值的组播数据包。这样可对组播的范围加以控制。 4. 管理权限边界 除TTL阈值外,组播提供另一种称为管理权限的地址机制作为边界,以限制组播信息转发到域外。管理权限的组播地址是从239.0.0.0到239.255.255.255,这段地址被认为是本地分配(类似于单播中的192.168.xx.xx),不能用于Internet。这种机制使得在Intranet内部可重复使用组播地址,提高组播地址空间的利用率。 2.3.5 组播树 在单播模型中,数据包通过网络沿着单一路径从源主机向目标主机传递,但在组播模型中,组播源向某一组地址传递数据包,而这一地址却代表一个主机组。为了向所有接收者传递数据,一般采用组播分布树描述IP组播在网络里经过的路径。 组播分布树有两种基本类型 有源树和共享树。 1. 有源树 有源树也称为基于信源的树或最短路径树(Shortest Path Tree:SPT)。它是以组播源为根构造的从根到所有接收者路径都最短的分布树。如果组中有多个组播源,则必须为每个组播源构造一棵组播树。由于不同组播源发出的数据包被分散到各自分离的组播树上,因此采用SPT有利于网络中数据流量的均衡。同时,因为从组播源到每个接收者的路径最短,所以端到端(end-to-end)的时延性能较好,有利于流量大、时延性能要求较高的实时媒体应用。SPT的缺点是:要为每个组播源构造各自的分布树,当数据流量不大时,构造SPT的开销相对较大。 2. 共享树 共享树也称RP树(RPT),是指为每个组播组选定一个共用根(汇合点RP或核心),以RP为根建立的组播树。同一组播组的组播源将所要组播的数据单播到RP,再由RP向其它成员转发。目前,讨论最多同时也是最具代表性的两种共享树是Steiner树和有核树(CBT)。 共享树在路由器所需存储的状态信息的数量和路由树的总代价两个方面具有较好的性能。当组的规模较大,而每个成员的数据发送率较低时,使用共享树比较适合。但当通信量大时,使用共享树将导致流量集中及根(RP)附近的瓶颈。 2.4 组播路由协议 要想在一个实际网络中实现组播数据包的转发,必须在各个互连设备上运行可互操作的组播路由协议。组播路由协议可分为三类:密集模式协议(如DVMRP,PIM-DM)、稀疏模式协议(如PIM-SM,CBT)和链路状态协议(MOSPF)[6]。 1. 距离向量组播路由协议(Distance Vector Multicast Routing Protocol:DVMRP) DVMRP由单播路由协议RIP扩展而来,两者都使用距离向量算法得到网络的拓扑信息,不同之处在于RIP根据路由表前向转发数据,而DVMRP则是基于RPF。为了使新加入的组播成员能及时收到组播数据,DVMPR采用定时发送数据包给所有的LAN的方法,然而这种方法导致大量路由控制数据包的扩散,这部分开销限制了网络规模的扩大。另一方面,DVMRP使用跳数作为计量尺度,其上限为32跳,这对网络规模也是一个限制。目前提出了分层DVMRP,即对组播网络划分区域,在区域内的组播可以按照任何协议进行,而对于跨区域的组播则由边界路由器在DVMRP协议下进行,这样可大大减少路由开销。 2. 开放式组播最短路径优先协议(Multicast Open Shortest Path First:MOSPF) MOSPF是一种基于链路状态的路由协议,是对单播OSPF协议的扩展。 同OSPF类似,MOSPF定义了三种级别的路由: MOSPF区域内组播路由:用于了解各网段中的组播成员,构造(源网络S,组G)对的SPT; MOSPF区域间组播路由:用于汇总区域内成员关系,并在自治系统(AS)主干网(区域0)上发布组成员关系记录通告,实现区域间组播包的转发。 MOSPF AS 间组播路由:用于跨AS的组播包转发。 区域内MOFPF利用了链路状态数据库,对单播OSPF数据格式进行扩充,定义了新的链路状态通告(Link State Advertisement:LSA),使得MOSPF路由器了解哪些组播组在哪些网络上。路由器使用Dijkstra算法构造(源网络S,组G)对的SPT。MOSPF与DVMRP相比,路由开销较小,链路利用率高,然而Dijkstra算法计算量很大,为了减少路由器的计算量,MOSPF执行一种按需计算方案,即只有当路由器收到组播源的第一个组播数据包后,才对(S,G)SPT计算,否则利用转发缓存(cache)中的(S,G)SPT。 MOSPF继承了OSPF对网络拓扑的变化响应速度快的优点,但拓扑变动使所有路由器的缓存失效重新计算SPT,因而消耗大量路由器CPU资源。这就决定了MOSPF不适合高动态性网络(组成员关系变化大、链路不稳定),而适用于网络连接状态比较稳定的环境。 3. 协议无关组播(Protocol Independent Multicast:PIM) PIM由IDMR(域间组播路由)工作组设计,PIM不依赖于某一特定单播路由协议,它可利用各种单播路由协议建立的单播路由表完成RPF检查功能,而不是维护一个分离的组播路由表实现组播转发。由于PIM无需收发组播路由更新,所以与其它组播协议相比,PIM开销降低了许多。PIM的设计出发点是在Internet范围内同时支持SPT和共享树,并使两者之间灵活转换,因而集中了它们的优点提高了组播效率。PIM定义了两种模式:密集模式(Dense-Mode)和稀疏模式(Sparse-Mode) 1) PIM-DM PIM-DM与DVMRP很相似,都属于密集模式协议,都采用了“扩散/剪枝”机制。同时,假定带宽不受限制,每个路由器都想接收组播数据包。主要不同之处在于DVMRP使用内建的组播路由协议,而PIM-DM采用RPF动态建立SPT。该模式适合于下述几种情况:高速网络;组播源和接收者比较靠近,发送者少,接收者多;组播数据流比较大且比较稳定。 2) PIM-SM PIM-SM与基于“扩散/剪枝”模型的根本差别在于PIM-SM是基于显式加入模型,即接收者向RP发送加入消息,而路由器只在已加入某个组播组输出接口上转发那个组播组的数据包。PIM-SM采用共享树进行组播数据包转发。每一个组有一个汇合点(Rendezvous Point: RP),组播源沿最短路径向RP发送数据,再由RP 沿最短路径将数据发送到各个接收端。这一点类似于CBT,但PIM-SM不使用核的概念。PIM-SM主要优势之一是它不局限于通过共享树接收组播信息,还提供从共享树向SPT转换的机制。尽管从共享树向SPT转换减少了网络延迟以及在RP上可能出现的阻塞,但这种转换耗费了相当的路由器资源,所以它适用于有多对组播数据源和网络组数目较少的环境。 4. 有核树组播路由协议(Core-Based Trees: CBT) CBT的基本目标是减少网络中路由器组播状态,以提供组播的可扩展性。为此,CBT被设计成稀疏模式(与PIM-SM相似)。CBT使用双向共享树,双向共享树以某个核心路由器为根,允许组播信息在两个方向流动。这一点与PIM-SM不同(PIM-SM中共享树是单向的,在RP与组播源之间使用SPT将组播数据转发到RP),所以CBT不能使用RPF检查,而使用IP包头的目标组地址作检查转发缓存。这就要求对CBT共享树的维护就需非常小心,以确保不会产生组播路由循环。 从路由器创建的组播状态的数量来看, CBT比支持SPT的协议效率高,在具有大量组播源和组的网络中,CBT能把组播状态优化到组的数量级。 CBT为每个组播组建立一个生成树,所有组播源使用同一棵组播树。CBT工作过程大体如下: 首先选择一个核,即网络中组播组的固定中心,来构造一棵CBT; 主机向这个核发送join命令; 所有中间路由器都接收到该命令,并把接收该命令的接口标记为属于这个组的树; 如果接收到命令的路由器已是树中一个成员,那么只要再标记一次该接口属于该组;如果路由器第一次收到join命令,那么它就向核的方向进一步转发该命令,路由器就需要为每个组保留一份状态信息; 当组播数据到达一个在CBT树上的组播路由器时,路由器组播数据到树的核。以保证数据能够发送到组的所有成员。 CBT将组播扩张限制在接收者范围内,即使第一个数据包也无需在全网扩散,但CBT导致核周围的流量集中,网络性能下降。所以某些版本的CBT支持多个核心以平衡负载。 2.5 IP组播中存在的问题与发展 2.5.1 组播的可靠性 IP组播天生不可靠,IP组播数据包使用用户数据报协议(UDP),而UDP是一种“尽力而为”的协议[8]。因此,IP组播应用必定会遇到数据包丢失和乱序问题。从端到端传输延迟和可靠性方面考虑,组播应用可大致分为三类: 1)实时交互应用,如视频会议系统,这类应用对可靠性要求相对较低,但对端到端传输延迟和网络抖动的要求很高。 2)实时非交互型应用,如数据广播,这类应用传输延迟要求相对前一类应用较低,但在一定延迟范围内,却对可靠性提出更高要求。 3)非实时应用,如软件分发,这类应用中,可靠性是最基本的要求,在满足可靠性要求的前提下,必须保证传输延迟在可接受的范围之内。 对于不同类型的应用必须在确认方式(肯定确认ACK和否定确认NACK),集中确认与分布确认、重传机制、重传范围、流量控制、拥塞控制、end-to-end延迟和广播延迟、网络抖动、可伸缩性与网络的异构性等方面做出综合考虑,提出相应的解决办法。 迄今为止,在广域网环境中已经存在许多可靠组播协议,包括可靠组播协议RMP(Reliable Multicast Protocol)、可扩展可靠组播SRM(Scalable Reliable Multicast)、基于日志的可靠组播LBRM(Log-Based Reliable Multicast)和可靠组播传输协议RMTP(Reliable Multicast Transport Protocol)。 2.5.2 组播的安全性 安全组播就是只有注册的发送者才可以向组发送数据;只有注册的接收者才可以接收组播数据。然而IP组播很难保证这一点。 首先,IP组播使用UDP,任何主机都可以向某个组播地址发送UDP包,并且低层组播机构将传送这些UDP包到所有组成员。其次,Internet缺少对于网络层的访问控制。第三,组成员可以随时加入/退出组播组。这几点使组播安全性问题同组播的可靠性问题一样难以解决。 总的来说,安全组播可分为集中式和分布(分层)式密钥管理体系。目前,对于组播安全性问题已有Nave密钥管理、Iolus、Nortel框架和SRM(Secure Reliable Multicast)等解决方案。Matthew J. Mayer等人提出了安全组播评估标准,回顾并讨论了安全组播体系结构、组密钥管理和信源认证等问题。然而现有的解决方案都不同程度的存在不足,安全组播仍然是一个技术难点。 2.5.3 组播信息包的复制 由于路由器会主动地把组播信息包拷贝转发到多个接口,复制过程成为路由器上的工作负载,如果路由器没有一种有效的复制机制,则当输出接口很多时路由器负载将明显增加。 3 课题的设计与实现 3.1 命令控制机制的设计 3.1.1 总体设计 命令控制机制主要包括命令的编码,命令包的设计和结构,命令的封装和解析,命令对象的注册规则和命令
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服