论文部分内容阅读
随着IPTV与网络会议等基于IP网络的业务的广泛应用,这种在同一时刻进行一对多数据传输的业务方式,若采取单播转发的方式会在用户大量激增的情况下对主干带宽带来严重的负荷,因此国际上提出了组播协议,以组播数据转发代替单播数据转发,尽量保证在同一方向上线路上只传送一份数据拷贝,以缓解各种业务增长而带来的带宽压力。
本文主要研究组播路由协议pim-sm。IETF在RFC2362中对该协议进行了完整的定义,而基本思想是通过建立属性的组播转发路径达到节约网络带宽的目的,在进行协议分解的基础上,文中建立了组播pim-sm的OOA模型,实现了底层函数接口并在嵌入式Vxworks平台上进行了协议的具体实现,包括:(1)采用面向对象的设计方法提供更容易理解的切入点;(2)实现中引入泛型以提高代码重用率;(3)保持模块间低耦合性使得代码具有较高可维护性;(4)实现一个初始版本pim-sm协议的软件模型,并可后续完善;(5)完成大部分pim-sm协议定义的逻辑功能包括转发组播数据功能。
论文包括以下几个部分:第一章介绍组播由来,并描述pim-sm协议机制原理:第二章以OOA设计出pim-sm的软件架构;第三章从架构模型出发,实现底层实现库、边界类以及pim-sm类,最终搭建一个代码框架;第四章设计了pim接口类以及接口容器类,并实现邻居机制;第五章设计了pim组播组类以及组容器类,实现了组播路由的维护管理机制,并测试组播路由和组播数据转发功能;第六章对软件模型细节进行了完善;第七章为总结与展望并以此结束全文。
本文的创新点在于以下几点:
(1)在嵌入式通信软件的设计中借用OOA的对过程化封装思想来提高软件设计的可理解性,保持模块间的松藕和性。
(2)在实现中引入泛型概念提高代码的重用率。
(3)周期性JP消息生成设计中采用特殊的中间信息维护与刷新机制。