文档介绍:华中科技大学
硕士学位论文
基于socket的ADSL路由器进程通信模型的设计与实现
姓名:刘书奎
申请学位级别:硕士
专业:软件工程
指导教师:邱德红
20090522
华中科技大学硕士学位论文
摘要
在目前的多种宽带接入网技术中,ADSL(Asymmetric Digital Subscriber Line,非对
称数字用户线路)是最具前景及竞争力的一种,而 ADSL 路由器是 ADSL 宽带接入
模式中用户端最重要的网络接入设备。为了能够实现路由器的功能和方便用户对其
进行配置管理,通常需要在 ADSL 路由器上运行很多的应用进程,而这些应用进程
之间联系紧密,彼此之间经常需要进行大量的通信,所以 ADSL 路由器进程通信系
统的性能将会对 ADSL 路由器的运行效率产生显著的影响,因此设计一个既能满足
进程间通信需求又能有效提高系统运行效率的进程通信模型就显得很有必要。
系统选择了源代码开放的 Linux 操作系统作为软件开发平台。按照软件工程方
法,首先对 ADSL 路由器进程通信系统进行需求分析,将系统中所运行的进程划分
为配置进程和事务进程,并由此得出系统进程通信需求的结论。在对系统进行总体
设计时,为减少系统中进程间通信通道的数量,通过借鉴路由器转发数据的基本原
理,提出了基于“信息路由”的星形进程通信模型;为减少系统中长期运行进程的数
量,通过借鉴 Linux 操作系统中 inet 机制的基本思想,将系统中的配置进程设计成“动
态启动服务”;通过使用事件注册机制,能够在某个事件发生的时候进行“事件消息
多播”,使得所有注册此事件的进程都能够及时地接收到该事件消息。在对系统进行
详细设计时,通过分析比较 Linux 操作系统所提供的各种进程间通信工具的特点,
选择 UNIX 域的 socket 作为进程间通信通道,同时为了克服无结构字节流的难以识
别和控制的不足,将进程间通信数据设计成为统一的消息格式;为了满足进程通信
系统的通信需求,将该模型的中心进程设计成包括进程信息管理模块、事件注册模
块和信息处理模块等三个子模块,将应用进程设计成包括通信通道建立模块、信息
的发送和接受模块以及任务处理模块等三个子模块。在进程通信系统的实现章节,
限于论文篇幅,给出了星形通信模型的中心进程实现的部分流程图和伪代码,对于
位于该模型周围的应用进程的实现则给出了通信管道建立的伪代码。
从星形进程通信模型的设计方案与在进程间建立直接通信通道的设计方案的比
I
华中科技大学硕士学位论文
较结论可知,该模型不但能够有效的满足系统的进程通信需求,而且能够显著的减
少进程通信通道的数量和长期运行进程的数量,从而有效地提高 ADSL 路由器的运
行效率。
关键词:进程通信星形通信模型信息路由动态启动服务事件消息多播
II
华中科技大学硕士学位论文
Abstract
Now ADSL(Asymmetric Digital Subscriber Line) technology is the most
competitive technology in many access model , and ADSL router is the most
important user access device in the ADSL access model . It is necessary for ADSL
router to run a lot of applications so that it can implement the function of a router and
make it convenience for consumer to configure and manage it effectively . These
applications are releated with each other closely and a lot munication messages
will be transmited from one application to another. So the performance of interprocess
communication will have an evidently effect on the productivity of ADSL router.
Hence, it is necessary for ADSL router to have a good designed interprocess
commu