局域网点对点通信系统正文大学学位论文.doc
《局域网点对点通信系统正文大学学位论文.doc》由会员分享,可在线阅读,更多相关《局域网点对点通信系统正文大学学位论文.doc(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(输入章及标题)毕业设计(论文)局域网点对点通信系统设计II摘 要摘 要所谓网络中的点对点通信是实现网络上不同计算机之间,不经过任何中继设备而直接交换数据或服务的一种技术。由于允许网络中任何一台计算机可以直接连到网络中的其他计算机,并与之进行数据交换,这样既可以消除中间环节,也使得网络上的沟通变得更加容易、更加直接。本文介绍的是一种使用Winsock编程技术,基于TCP/IP协议的、面向连接的流式套接字网络通信程序设计。本文首先介绍了计算机通信网的基础理论,主要介绍了计算机通信网的组成、通信协议和TCP/IP模型。其次,详细阐述了Visual C+.NET网络通信编程知识,其中重点介绍了窗体设
2、计和Windows Socket。最后给出了利用VC中Winsock控件编写的服务端、客户端通信程序的基本思路,及部分程序。关键词点对点;TCP/IP;SocketXXIXAbstractPeer to peer communication is a computer communication method which is used in different computers to transmit data or services directly, without other device. As the network allows any computer connect to
3、other computer directly and exchange data with each other, it eliminates intermediate links, make communication much easier, more directly. The paper introduces method through Winsock program , based on TCP/IP and face connect was set up.At first, the paper introduces the base theory of computer com
4、munication, include the composition of computer communication network, communication protocol and TCP/IP model. Secondly, elaborate the communication theory of Visual C+.NET, which focuses on Windows Socket and forms design. In the end, we give the basic thoughts of sever and client translated progr
5、am made by Winsock controller by VC.Keywords Peer to Peer;TCP/IP;Socket;燕山大学本科生毕业设计(论文)目录摘要IAbstractII目录III第1章绪论11.1课题背景11.1.1P2P技术的国内外现状11.1.2P2P技术的研究成果及发展趋势21.1.3P2P技术所存在的问题31.2本文主要研究内容4第2章计算机通信基础及相关原理52.1计算机通信网通信原理52.1.1计算机通信的概念52.1.2计算机通信网的组成及网络结构62.1.3TCP/IP协议模型72.2本章小结9第3章Visual C+.NET网络通信编程原理
6、103.1窗口与消息103.2MFC应用基础123.3Windows窗体设计133.4Windows Socket概念及编程机理153.4.1Windows Sockets套接字及分类153.4.2套接字函数163.5本章小结20第4章软件程序设计214.1程序流程框图214.2主要程序及功能224.2.1TCPSocket类的封装224.2.2对话框添加相应控件264.2.3对话框初始化324.2.4发送和接收数据线程344.3本章小结35结论36参考文献37致谢38附录1I附录2IV附录3IX燕山大学本科生毕业设计(论文)第1章绪论1.1课题背景1.1.1P2P技术的国内外现状目前计算机通
7、信最常用的方法主要是串口通信,USB通信和网络通信。随着网络技术的发展,网络通信发挥着越来越重要的作用,这是因为计算机网络容易组建与扩展,一个简单的局域网的组建只需要HUB,网卡,网线和几台计算机即可。因此利用网络技术在局域网上实现通信,具有很强的实用性。在网络通信中应用最广泛,最热门的技术就是P2P。P2P的英文全称是peer-to-peer,可以理解为点对点的意思,或称为对等网络计算机,通俗的讲就是端到端1。当对等计算机在客户机/服务器模式下作为客户机进行操作时,它还包含另外一层可使其具有服务器功能的软件。对等计算机可对其他计算机的要求进行响应。请求和响应范围和方式都根据具体应用程序不同而
8、不同。P2P可以简单地定义为通过直接交换共享计算机资源和服务,不同PC用户之间不经过中继设备直接交换数据或服务的技术,它允许互联网用户直接使用对方的文件,使得网络上的沟通变得容易、更直接,真正地消除了中间商。每个人可以直接连接到其他用户的计算机交换文件,而不是像过去那样连接到服务器去浏览与下载。Napster是最早出现的P2P系统之一。Napster实质上并非是纯粹的P2P系统,它通过一个中央服务器保存所有Napster用户上传的音乐文件索引和存放位置的信息。当某个用户需要某个音乐文件时,首先连接到Napster服务器,在服务器进行检索,并由服务器返回存有该文件的用户信息;再由请求者直接连到文
9、件的所有者传输文件。 Napster首先实现了文件查询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件传输延时目前,Internet上P2P应用软件层出不穷,如BT、迅雷、PPLive、SNS等,P2P软件用户数量从几十万、几百万到上千万不等,并且还在急剧增加。P2P计算技术在军事领域、商业领域、政府信息和通讯等领域也得到了广泛的应用,使得各领域的信息交换更加方便,从而提高了信息的流通速度,提高了各领域运作效率。1.1.2P2P技术的研究成果及发展趋势P2P系统最大的特点就是用户之间直接共享资源,其核心技术就是分布式对象的定位机制,这也是提高网络可扩展性、解决网络带宽被吞噬
10、的关键所在。为了解决对象定位等关键技术,P2P网络出现了多种网络模型,每种模型都有各自的优缺点,有的还存在着本身难以克服的缺陷,因此在目前P2P技术还远未成熟的阶段,各种网络结构依然能够共存,甚至呈现相互借鉴的态势2。(1)集中目录式结构集中目录式P2P结构是最早出现的P2P应用模式,因为仍然具有中心化的特点也被称为非纯粹的P2P结构。用于共享MP3音乐文件的Napster是其中最典型的代表,其用户注册与文件检索过程类似于传统的C/S模式,区别在于所有资料并非存储在服务器上,而是存贮在各个节点中。(2)纯P2P网络模型纯P2P模式也被称作广播式的P2P模型。它取消了集中的中央服务器,每个用户随
11、机接入网络,并与自己相邻的一组邻居节点通过端到端连接构成一个逻辑覆盖的网络。对等节点之间的内容查询和内容共享都是直接通过相邻节点广播接力传递,同时每个节点还会记录搜索轨迹,以防止搜索环路的产生。(3)混合式网络模型Kazaa是混合模型的典型代表,它在纯P2P分布式模型基础上引入了超级节点的概念,综合了集中式P2P快速查找和纯P2P去中心化的优势。Kazaa模型按节点计算能力、内存大小、连接带宽、网络滞留时间等不同,为将节点分为普通节点和搜索节点两类。(4)结构化网络模型所谓结构化与非结构化模型的根本区别在于每个节点所维护的邻居是否能够按照某种全局方式组织起来以利于快速查找。结构化P2P模式是一
12、种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务,目前的主流方法是采用分布式哈希表(DHT)技术,这也是目前扩展性最好的P2P路由方式之一。基于DHT的代表性的研究项目主要包括加州大学伯克利分校的CAN项目和Tapestry项目,麻省理工学院的Chord项目、IRIS项目,微软研究院的Pastry项目、中国科技大学的PPOCEAN项目等。这些系统一般都假定节点具有相同的能力,这对于规模较小的系统较为有效。但这种假设并不适合大规模的Internet部署。同时基于DHT的拓扑维护和修复算法也比Gnutella模型和Kazaa模型等无结构的系统要复杂得多,甚至在Chord项目中产生了“绕路
13、”的问题。事实上,目前大量实际应用还大都是基于无结构的拓扑和泛洪广播机制,现在大多采用DHT方式的P2P系统缺乏在Internet中大规模真实部署的实例,成功应用还比较少见。在今后的发展中,在P2P技术上实现数据存取安全、路由安全、用户身份认证和身份管理都需要进一步研究,实现P2P应用之间的统一资源定位,统一路由。使得P2P技术有一个统一开发标准,将能够融合P2P技术,提升整体性能3。1.1.3P2P技术所存在的问题伴随着P2P的发展,也随之产生了一些技术性的问题和社会性的问题。这些问题具有普遍性,并可能在很多情况下发生。(1)P2P的网络拓扑结构的研究拓扑结构是指分布式系统中各个计算单元之间
14、的物理或逻辑的互联关系,节点之间的拓扑结构一直是确定系统类型的重要依据,目前互连网络中广泛使用集中式、层次式等拓扑结构,Internet本身是世界上最大的非集中式的互联网络,但是九十年代所建立的一些网络应用系统却是完全的集中式的系统、很多Web应用都是运行在集中式的服务器系统上。集中式拓扑结构系统目前面临着过量存储负载、Dos攻击等一些难以解决的问题。层次式拓扑结构是一种应用比较广泛的分布式拓扑结构,DNS系统是其最典型的应用。P2P系统一般要构造一个非集中式的拓扑结构,在构造过程中需要解决系统中所包含的大量节点如何命名、组织以及确定节点的加入、离开方式、出错恢复等问题。(2)P2P网络的支撑
15、技术Internet技术的发展使得连入互联网络中的设备不再局限于计算机,在P2P的计算环境中要求任何设备都可以在任何地点很容易的加入到这个环境中,所谓的计算设备既包括有线设备也包括无线设备,这样就需要很多很多网络传输的支撑技术来支持各种不同设备连入整个P2P网络。(3)带宽问题由于许多P2P应用程序同时运行客户端和服务器端的应用程序,所以它对上行带宽和下行带宽都要占用,而且很多P2P应用使用了洪泛式(Flooding)的查询技术,这就会导致大量的广播消息充斥整个网络,增加网络流量。这对大多数提供非对称带宽通道的ISP来说,如果不进行专门的配置就很难适应P2P程序的运行。(4)黑客和病毒入侵问题
16、当使用P2P时,验证共享文件来源是否安全是非常困难的。P2P共享软件存在着两方面的安全隐患:黑客和病毒。P2P共享软件常被攻击者选择作为传递恶意代码的载体。由于在P2P网络中,每个节点御防黑客和病毒攻击能力是不同的,因此只要有一个节点遭到攻击,就可以通过内部共享和通信机制将攻击扩散到附近的邻居节点,在短时间内可以造成网络拥塞甚至瘫痪,甚至通过网络攻击者可以完全控制整个网络。因此,黑客和病毒的潜在危机对P2P系统安全性和健壮性提出了更高的要求,需要对P2P应用来源和P2P用户进行授权控制。(5)敏感信息的泄漏问题当使用P2P传输信息时,P2P软件几乎都设定使用者只能传输特定数据夹中的信息,但如果
17、遭到恶意代码的攻击,就可能门户大开,在不知不觉中会给其他用户访问他人敏感信息的访问权限,这样可能造成有意图的人或公司入侵给人、公司或国家的敏感信息,如获取用户的电脑系统资料、个人信息、银行卡的用户名和密码、公司客户往来信息、国家机密等,因此需要考虑如何保护用户的安全策略。(6)知识产权问题因为在P2P网络中没有一个统一管理的机制来对网络中的各个用户进行认证和授权管理,P2P网络中的内容都是分散的,随着P2P共享软件的繁荣加速了盗版媒体的分发,增加了知识产权保护的难度。1.2本文主要研究内容网络中的点对点是实现网络上不同计算机之间,不经过中继设备直接交换数据或服务的一种技术。由于允许网络中任何一
18、台计算机可以直接连到网络中其他计算机,并与之进行数据交换,这样既可以消除中间环节,也使得网络上的沟通变得更加容易、更加直接。本设计使用Visual C.NET语言,应用Socket类编程技术来实现局域网的点对点通信;在第二章主要介绍了计算机通信网的基础知识,如什么是计算机通信,计算机通信网的概念、组成和通信协议,重点是TCP/IP模型;第三章介绍编程软件Visual C+.NET以及本设计用到的相关知识,主要是Socket套接字及其函数;在第四章给出主要程序和整个程序的流程图。第2章计算机通信基础及相关原理2.1计算机通信网通信原理2.1.1计算机通信的概念计算机通信是有两个主要的技术领域发展
19、演而变来的,一是计算机技术,另一个是通信技术。计算机与通信的相互结合主要有两个方面。一方面,网络通信为计算机之间的数据传递和交换提供了必要的手段;另一方面,数字计算技术的发展渗透到通信技术中,又提高了通信网络的各种性能。为了协同工作的目的,在两台或多台“自治的”计算机之间经由数据通路(包括通信网络)进行信息交换,通常称作计算机通信。关于“自治”,可以理解为如果一台计算机能够强迫启动、关闭或控制另一台计算机,则它们不是自治计算机。所谓的计算机通信网是指能够互换信息且独立自主的计算机及通信子网的集合,可以形式化地描述为:计算机通信网是计算机主机、通信子网和通信协议的集合。计算机的通信子系统是核心要
20、素,它包括了计算机的通信功能。通信子系统的功能之一是决定数据接收/发送方式、数据的封装/拆卸、传输速率等,从而将不同类型的数据转换为双方都能认可的形式,这项功能是面向应用进程的。通信子系统的另一个更重要的功能是面向网络的,它为信息的传输确定了合适的数据通路或网络路径,包括通路的建立、维护和撤销、无差错传输数据(差错控制),网络中路由选择与速率匹配(流量控制),以及网络之间的互联等。我们将通信子系统之间对应的信息交换互称为计算机到计算机的通信。数据通信系统为计算机之间的信息交换提供了传输媒介,并提供可靠的数据传输能力。数据通信系统既可以是单条的直接传输通路(如双绞线、同轴电缆、光线或无线信道),
21、也可以是互连的多条的传输通路,即网络通信。应用进程的作用是为用户提供网络服务,更多的依赖于用户业务。应用进程之间的通信称为用户到用户的通信。在应用进程与通信子系统之间必须提供相应的接口,其作用类似于操作系统中的系统调用功能。基于以上对计算机通信网要素的分析,将计算机通信网按照其功能划分为信息交换和信息处理两部分,及相应由通信子网和资源子网两部分组成。通信子网负责数据的无差错和有序传递,包括通信处理器、集中器、路由器、网桥等设备,传输媒介可以是电话线路、有线电缆(包括数据传输电缆、有线电视信号传输电缆等)、光线、无线、微波、卫星等,其处理功能包括差错控制、流量控制、路由选择、网络互联等。资源子网
22、是计算机通信的本地系统环境,包括主机、终端和应用程序等。资源子网的功能是:用户资源配置、数据的处理和管理、软件和硬件共享以及负载的均衡等。还包括一个合适的接口,以保证主机能无缝的接入一个通信子网。2.1.2计算机通信网的组成及网络结构从计算机通信网的物理组成来看,网络的组成元素可以分为网络节点和网络链路两部分。网络节点又分为端节点和交换节点两种,端节点是指源或宿节点,例如用户主机或用户终端;交换节点指网络通信过程中起控制、暂存和转发信息作用的节点。例如程控交换机、集中器、路由器、网桥等。端节点是用户数据的发源地和归宿地,而交换节点本身不向用户提供新的数据,只是对用户数据进行搬运和转移。通信链路
23、是指传输信息的通路,即通信子网中的传输媒介,其作用是在机器之间传送比特。因此,通信子网主要由交换节点和通信链路组成,而资源子网中主要包括拥有资源的用户主机和需求资源的用户终端,它们都是端节点。所以,计算机通信网就是一个由通信子网承载的、传输和共享资源子网的和各类信息的系统。所谓网络的拓扑结构是指通信子网中的交换节点的互连模式。按拓扑结构进行划分,网络可以集中式和分布式两种基本类型。在集中网络内,所有信息都必须经过一个中央处理设备(即交换节点)。通信链路都是从中央节点向外辐射,这个中心节点的可靠性基本上决定了整个网络的可靠性,集中式网络又成为星型网。分布式通信子网又称为格状网,即其中任何一个节点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 点对点 通信 系统 正文 大学 学位 论文
限制150内