摘 要
随着信息技术的发展,网络无疑为我们带了更多的便利,因此一个好的系统要具有网络功能。针对虚拟实验台系统的实际功能,采用P2P技术作为其网络通讯基础具有很大的优势:降低服务器资源占用,提高通讯传输效率。但由于NAT的广泛使用,使得不同的内网间系统通讯比较困难。希望P2P通讯具有实用价值,穿透NAT实现不同内网间的系统通讯是一个需要解决的重要问题。
在基于网络的虚拟实验平台中,有很多功能涉及到网络通讯,为了提高系统的模块化程度,减少系统重复开发量,将网络通信部分独立出来,设计实现名为VLP2P的P2P通讯库。设计中,也设计了通讯库的测试程序。经实际测试,基本达到预期设计目标。http://www.16sheji8.cn/
关键词:虚拟实验平台;P2P技术;UDP;穿透NAT;Scoket编程
Network-based Virtual Experimental Platform——
Design and Implementation of VLP2P Communication Library
Abstract
With the development of information technology, networks will provide us with more convenience undoubtedly. Therefore, a good system must have network functions. According to real functions of the virtual experiment platform, P2P technology has powerful benefits to decrease probability of using server resources and upgrade the transmission efficiency, as a base of networking communication. While, because of the existence of NAT issues, it is difficult to communicate among different local networks. To make P2P communication get values in real application, an important problem required to solve is the system communication among different networks by penetrating NAT.http://www.16sheji8.cn/
There are many functions related to network communication in the virtual experiment platform based on network. For improve modularization of the system and decrease repetitive developing work, the network communication is extracted as an independent part to design and implement P2P communication library named VLP2P. In the thesis, the testing program for communication library is also designed. With real testament, it has proven that the communication library has achieved the initial purpose..
Key words: Virtual Experiment Platform; P2P Technology; UDP; Penetrating NAT; Socket programming
目录
论文总页数:20页
1 引言 1
1.1. 项目背景 1
1.2. 项目介绍 1
1.2.1 虚拟实验平台 1
1.2.2 平台网络通信 1http://www.16sheji8.cn/
1.3. 项目要求 1
1.3.1 功能要求 1
1.3.2 B/S与 C/S 2
1.3.3 通信协议的选择 2
1.4. 项目难点及解决方法 2
1.4.1 IP处理问题 2
1.4.2 Client之间的通信问题 2
2. 网络基础知识介绍 2
2.1. SOCKET编程 2
2.2. P2P网络简介(INTRODUCTION) 3
3. 项目网络通信的实现过程 4
3.1. NAT的一些基本概念 4
3.2. 通信过程 4
3.3. 通信过程总结 7
4. 实现代码及其效果简介 8
4.1. 程序主要功能介绍 8
4.2. 主要代码介绍 8
4.3.1 服务器监听过程主要代码 8
4.3.2 客户端连接过程主要代码 8
4.3.3 下载实验文本(客户端主要代码) 9
4.3.4 下载实验文本(服务器端主要代码) 9
4.3.5 P2P下载实验文本(客户端主要代码) 10
4.3.6 客户端P2P下载实验文本(服务器端主要代码) 11
4.3. 效果演示 12
4.3.1 开启服务及客户端登陆 12
4.3.2 通过服务器下载实验文本 13
4.3.3 退出连接 14
结 论 14http://www.16sheji8.cn/
参考文献 14
附 录 16
致 谢 19
声 明 20
1 引言
Internet进行访问。NAT技术可以为TCP、UDP以及ICMP的部分信息进行透明中继。NAT技术具体实现方法是通过IP地址映射来实现IP地址的复用。NAT网关充当了路由器的角色,所有外出的网络包都必须路由到NAT网关;同样,所有由外网发往内网的网络包也必须经过NAT网关。NAT网关通过一定的规则,将由内部网向外部网发送的数据包中的源地址映射为一个Internet合法地址,而将由外向内的数据包中的目的地址替换成相应的内网IP地址。NAT网关有内网接口和外网接口,其中外网接口和Internet相连,必须拥有合法IP地址,内网接口则和内网相连,可以分配任意指定的一个内网IP地址,一般情况下,这个IP地址就是内部主机的默认网关。http://www.16sheji8.cn/
1.1. 项目背景
随着信息技术的发展,网络无疑为我们带了更多的便利,因此一个好的系统必须要具有网络功能,这个功能不仅局域网,那就存在一个穿透NAT的问题,伴随着P2P技术的出现,利用UDP实现P2P网络穿越NAT的即时通讯技术,我们不在为此而烦恼。
1.2. 项目介绍
1.2.1 虚拟实验平台
虚拟实验平台是通过软件编程仿真各种电子器件,可以做各种电路实验及设计性实验、 基本电路实验、 直流电路、 交流电路、 动态电路、 这些功能模块成为虚拟平台与实验者之间的桥梁, 共同构成网上虚拟实验室系统,起到帮助学生完成实验任务。http://www.16sheji8.cn/
1.2.2 平台网络通信
实现虚拟实验平台具有网络基本功能,实现虚拟实验平台具有网络基本功能,客户机和主机,客户机和客户机之间的即时通讯、文件的传输。由于采用了最新的P2P穿透NAT的技术,因此可以实现冲破局域网的限制,实现真正的异地连接,同学可以在家里利用一台普通的能够上网的PC,就能把老师布置的实验作业完成,并且,老师可以通过服务器端,了解进度情况,并且可以适时的指导其实验。