| 【中文题名】 | 基于P2P技术的远程控制系统 |
| 【英文题名】 | |
| 【学科专业】 | 电子与通信工程 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-7-19 |
| 【中关键词】 | 互联网,P2P,IP,UDP,TCP,NAT |
| 【英关键词】 | Internet,P2P,IP,UDP,TCP,NAT,ZIP, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>自动化技术及设备>自动化系统>自动控制、自动控制系统>计算机控制、计算机控制系统 |
| 【论文摘要】 |
网络应用日益发展的突出体现就是网络终端结点的增加和网上信息流量的增加,因而“带宽”就成为集中共享服务器这种传统方式的瓶颈,P2P技术在解决此类问题的过程中得到了迅速地发展。由于IPV4地址数目的限制,使用NAT共享固定IP地址的用户在实现点对点连接时会遇到困难。目前有几种穿透NAT技术很流行,其中“挖洞”技术通常用于UDP连接。
本文着重分析该技术的实现原理和方法,同时讨论如何建立一个TCP协议的点对点连接。目前NAT并非都支持“挖洞”技术,但随着重要的P2P应用的产生(如IP电话和在线游戏等),将会有越来越多的NAT支持“挖洞”技术。
本文首先介绍了TCP/IP协议和传输控制协议,然后深入探讨了基于P2P技术的远程控制系统,并以远程控制系统数据传输使用TCP“挖洞”技术为例进行讨论。
数据传输常常包含桌面图像,这类数据信息量大,本文讨论了使用ZIP压缩算法以减少数据传输量的技术。
本文讨论的其它内容,包括远程控制时对鼠标、键盘输入消息的截获以及回放的技术,这涉及到操作系统的许多具体技术问题。 |
| 【论文题纲】 |
|
摘要 |
7-8 |
|
ABSTRACT |
8-9 |
|
缩略语 |
9-10 |
|
第一章 绪论 |
10-13 |
|
1.1 研究背景与选题意义 |
10-12 |
|
1.1.1 P2P技术介绍 |
10 |
|
1.1.2 P2P发展历史 |
10-11 |
|
1.1.3 选题的意义 |
11-12 |
|
1.2 研究目标与主要工作 |
12 |
|
1.3 论文的内容安排 |
12-13 |
|
第二章 TCP/IP协议简介 |
13-17 |
|
2.1 引言 |
13 |
|
2.2 分层 |
13-14 |
|
2.3 互联网的地址 |
14-15 |
|
2.4 封装 |
15 |
|
2.5 端口号 |
15-17 |
|
第三章 TCP:传输控制协议 |
17-28 |
|
3.1 引言 |
17 |
|
3.2 TCP的首部 |
17-19 |
|
3.3 TCP连接的建立与终止 |
19-20 |
|
3.3.1 建立连接协议 |
19 |
|
3.3.2 连接终止协议 |
19-20 |
|
3.4 TCP的状态变迁图 |
20-21 |
|
3.5 同时打开 |
21 |
|
3.6 同时关闭 |
21-22 |
|
3.7 TCP的成块数据流 |
22-24 |
|
3.7.1 滑动窗口 |
22-24 |
|
3.7.2 窗口大小 |
24 |
|
3.7.3 PUSH标志 |
24 |
|
3.8 TCP的超时与重传 |
24-28 |
|
3.8.1 往返时间测量 |
25-26 |
|
3.8.2 慢启动 |
26 |
|
3.8.3 拥塞避免算法 |
26-28 |
|
第四章 远程控制系统数据传输基于P2P技术的实现原理 |
28-48 |
|
4.1 引言 |
28-30 |
|
4.2.本章用到的术语 |
30-33 |
|
4.3 穿透NAT的P2P技术 |
33-46 |
|
4.3.1 服务器中转 |
33-34 |
|
4.3.2 逆向连接 |
34-35 |
|
4.3.3 UDP hole punching(UDP"挖洞") |
35-39 |
|
4.3.3.1 位于不同NAT后面 |
36-37 |
|
4.3.3.2 位于同一NAT后面 |
37-38 |
|
4.3.3.3 位于多级NAT后面 |
38-39 |
|
4.3.3.4 保持端口绑定 |
39 |
|
4.3.4 UDP端口预测 |
39-41 |
|
4.3.5 TCP Hole Punching(TCP"挖洞") |
41-46 |
|
4.3.5.1 Sockets和TCP端口重用 |
42 |
|
4.3.5.2 建立点对点TCP连接 |
42-44 |
|
4.3.5.3 应用程序需进行的处理 |
44-45 |
|
4.3.5.4 Simultaneous TCP open(TCP同时打开) |
45 |
|
4.3.5.5 顺序"挖洞" |
45-46 |
|
4..4 应用程序设计思路 |
46-48 |
|
4.4.1 多地址主机 |
46 |
|
4.4.2 TCP P2P应用程序 |
46-48 |
|
第五章 远程控制系统上层控制部分的实现 |
48-57 |
|
5.1 引言 |
48 |
|
5.2 ZIP压缩原理与算法实现 |
48-55 |
|
5.2.1 原理部分: |
48-55 |
|
5.2.2 实现部分 |
55 |
|
5.3 控制操作系统的方法分析 |
55-57 |
|
5.3.1 钩子原理 |
55 |
|
5.3.2 挂钩函数 |
55-56 |
|
5.3.3 脱钩 |
56 |
|
5.3.4 鼠标键盘钩子 |
56-57 |
|
第六章 总结及展望 |
57-58 |
|
参考文献 |
58-60 |
|
致谢 |
60-61 |
|
学位论文评阅及答辩情况表 |
61 |
|
| 【DOI】 | LunWen.ID:2.2008.384102 |