| 【中文题名】 | 基于UDP协议的通信设备模拟器的设计与实现 |
| 【英文题名】 | A Simulator's Design and Development Base on UDP |
| 【学科专业】 | 软件工程 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-6-11 |
| 【中关键词】 | 模拟器,UDP,线程池,负载平衡,完全,IO端口 |
| 【英关键词】 | Simulator,UDP,Threadpool,Load Balance,Complete IO Port,Communication Device, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>计算机的应用>信息处理(信息加工)>计算机仿真 |
| 【论文摘要】 |
本论文主要讨论了基于UDP协议的通信设备模拟器的设计与开发。通信设备模拟器是用来模拟真实设备与网络管理软件进行通信的一种工具软件,它广泛应用于通信设备制造行业和中央网管软件开发行业。一个好的模拟器不仅可以为企业节约成本,也可以解决一些实际上没办法用真正设备来模拟的各种测试场景。但是,在大量通信设备的并发模拟中,大量线程的创建和维护消耗了很多的系统资源,从而易导致系统或网络超出负载而瘫痪。为了解决此问题,本论文从如下几个方面展开讨论。
1.详细介绍了通信设备模拟器的基本原理和要求。在通信协议的数据结构和协议流程的设计中,应用了负载平衡机制。
2.讨论了用时间片轮询访问的方法来取代设备的实时连接。
3.在模拟器的设计中应用了完全IO端口技术。完全IO端口是到目前为止最为复杂的输入输出模式。但是,当一个应用不得不同时处理大量的Socket时,它也提供了使系统性能达到最佳的可能性。
4.线程池技术的应用。现在在服务器端的应用程序几乎都采用了“线程池”技术,这主要是为了提高系统效率。线程池可以更有效地使用线程,它为应用程序提供一个由系统管理的工作者线程池。至少会有一个线程来监听... |
| 【论文题纲】 |
|
摘要 |
4-5 |
|
ABSTRACT |
5-8 |
|
第一章 绪论 |
8-9 |
|
1.1 课题背景 |
8 |
|
1.2 课题内容 |
8 |
|
1.3 论文结构 |
8-9 |
|
第二章 SGMP通信设备模拟器的基本特性 |
9-12 |
|
2.1 SGMP的主要功能 |
9 |
|
2.2 SGMP支持特征和性能 |
9-10 |
|
2.3 负载平衡机制在SGMP设计中的实现 |
10 |
|
2.4 SGMP用户界面和操作流程 |
10-12 |
|
第三章 网络协议 |
12-15 |
|
3.1 TCP/IP协议簇 |
12-13 |
|
3.2 UDP协议 |
13 |
|
3.3 SGMP服务器端网络管理软件的架构 |
13-15 |
|
第四章 专用通讯协议的数据结构的定义 |
15-23 |
|
4.1 定义协议结构的注意事项 |
15 |
|
4.2 SGMP协议数据 |
15-16 |
|
4.3 SGMP数据报头的数据结构 |
16-18 |
|
4.4 SGMP 扩展头结构 |
18 |
|
4.5 SGMP数据单元结构 |
18-20 |
|
4.5.1 普通的数据单元结构 |
18-19 |
|
4.5.2 特殊的的数据单元结构 |
19-20 |
|
4.6 一些设计数据单元的经验及举例 |
20-23 |
|
4.6.1 注册响应包中的数据单元的设计 |
20-21 |
|
4.6.2 设备监控数据包的设计 |
21-23 |
|
第五章 专用通信协议流程的定义 |
23-29 |
|
5.1 定义专用通信协议流程基本要素 |
23-24 |
|
5.2 专用通信协议流程定义及举例 |
24-26 |
|
5.2.1 一个配置流程的定义和场景 |
24-25 |
|
5.2.2 一个监控流程的定义和场景 |
25-26 |
|
5.3 设备状态机制的设定 |
26-29 |
|
5.3.1 SGMP简单注册机制 |
26-27 |
|
5.3.2 SGMP复杂注册流程机制 |
27-28 |
|
5.3.3 配置设备状态转换机制 |
28-29 |
|
第六章 专用通信协议(SGMP)的封装 |
29-35 |
|
6.1 SGMP协议数据单元类图 |
29 |
|
6.2 SGMP注册请求包数据结构 |
29-30 |
|
6.3 SGMP注册请求包的代码 |
30-35 |
|
第七章 协议数据的二进制信息分析 |
35-37 |
|
第八章 通信设备模拟器的设计与实现 |
37-53 |
|
8.1 模拟器架构的设计和解决方案 |
37-38 |
|
8.1.1 SGMP协议模拟器的数据流程图 |
37-38 |
|
8.1.2 SGMP模拟器的架构图 |
38 |
|
8.2 如何进行 SOCKET 编程 |
38-44 |
|
8.2.1 与SOCKET编程相关的几个概念 |
38-39 |
|
8.2.2 通信进程的客户机/服务器模式 |
39-40 |
|
8.2.3 基本套接字的调用 |
40-43 |
|
8.2.4 SOCKET 模块 |
43-44 |
|
8.3 缓冲模块 |
44 |
|
8.4 完全IO端口,线程池 |
44-52 |
|
8.4.1 完全IO端口 |
44 |
|
8.4.2 工作者线程和完全端口 |
44-45 |
|
8.4.3 一个对Winsocket 完全端口模型封装的类 |
45 |
|
8.4.4 线程池和完全IO端口 |
45-46 |
|
8.4.5 线程池模块 |
46-49 |
|
8.4.6 工作者线程模块 |
49-52 |
|
8.5 状态管理模块 |
52-53 |
|
总结 |
53-54 |
|
致谢 |
54-55 |
|
参考文献 |
55 |
|
| 【DOI】 | LunWen.ID:2.2008.367505 |