局域网点对点通信系统正文大学学位论文.docx

上传人:b****7 文档编号:9973619 上传时间:2023-02-07 格式:DOCX 页数:68 大小:342.16KB
下载 相关 举报
局域网点对点通信系统正文大学学位论文.docx_第1页
第1页 / 共68页
局域网点对点通信系统正文大学学位论文.docx_第2页
第2页 / 共68页
局域网点对点通信系统正文大学学位论文.docx_第3页
第3页 / 共68页
局域网点对点通信系统正文大学学位论文.docx_第4页
第4页 / 共68页
局域网点对点通信系统正文大学学位论文.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

局域网点对点通信系统正文大学学位论文.docx

《局域网点对点通信系统正文大学学位论文.docx》由会员分享,可在线阅读,更多相关《局域网点对点通信系统正文大学学位论文.docx(68页珍藏版)》请在冰豆网上搜索。

局域网点对点通信系统正文大学学位论文.docx

局域网点对点通信系统正文大学学位论文

 

毕业设计(论文)

局域网点对点通信系统设计

  

摘要

所谓网络中的点对点通信是实现网络上不同计算机之间,不经过任何中继设备而直接交换数据或服务的一种技术。

由于允许网络中任何一台计算机可以直接连到网络中的其他计算机,并与之进行数据交换,这样既可以消除中间环节,也使得网络上的沟通变得更加容易、更加直接。

本文介绍的是一种使用Winsock编程技术,基于TCP/IP协议的、面向连接的流式套接字网络通信程序设计。

本文首先介绍了计算机通信网的基础理论,主要介绍了计算机通信网的组成、通信协议和TCP/IP模型。

其次,详细阐述了VisualC++.NET网络通信编程知识,其中重点介绍了窗体设计和WindowsSocket。

最后给出了利用VC中Winsock控件编写的服务端、客户端通信程序的基本思路,及部分程序。

关键词 点对点;TCP/IP;Socket

 

Abstract

Peertopeercommunicationisacomputercommunicationmethodwhichisusedindifferentcomputerstotransmitdataorservicesdirectly,withoutotherdevice.Asthenetworkallowsanycomputerconnecttoothercomputerdirectlyandexchangedatawitheachother,iteliminatesintermediatelinks,makecommunicationmucheasier,moredirectly.ThepaperintroducesmethodthroughWinsockprogram,basedonTCP/IPandfaceconnectwassetup.

Atfirst,thepaperintroducesthebasetheoryofcomputercommunication,includethecompositionofcomputercommunicationnetwork,communicationprotocolandTCP/IPmodel.Secondly,elaboratethecommunicationtheoryofVisualC++.NET,whichfocusesonWindowsSocketandformsdesign.Intheend,wegivethebasicthoughtsofseverandclienttranslatedprogrammadebyWinsockcontrollerbyVC.

Keywords PeertoPeer;TCP/IP;Socket;

 

目 录

摘要I

AbstractII

目录III

第1章 绪论1

1.1 课题背景1

1.1.1 P2P技术的国内外现状1

1.1.2 P2P技术的研究成果及发展趋势2

1.1.3 P2P技术所存在的问题3

1.2 本文主要研究内容4

第2章 计算机通信基础及相关原理5

2.1 计算机通信网通信原理5

2.1.1 计算机通信的概念5

2.1.2 计算机通信网的组成及网络结构6

2.1.3 TCP/IP协议模型7

2.2 本章小结9

第3章 VisualC++.NET网络通信编程原理10

3.1 窗口与消息10

3.2 MFC应用基础12

3.3 Windows窗体设计13

3.4 WindowsSocket概念及编程机理15

3.4.1 WindowsSockets套接字及分类15

3.4.2 套接字函数16

3.5 本章小结20

第4章 软件程序设计21

4.1 程序流程框图21

4.2 主要程序及功能22

4.2.1 TCPSocket类的封装22

4.2.2 对话框添加相应控件26

4.2.3 对话框初始化32

4.2.4 发送和接收数据线程34

4.3 本章小结35

结论36

参考文献37

致谢38

附录1I

附录2IV

附录3IX

第1章 绪论

1.1 课题背景

1.1.1 P2P技术的国内外现状

目前计算机通信最常用的方法主要是串口通信,USB通信和网络通信。

随着网络技术的发展,网络通信发挥着越来越重要的作用,这是因为计算机网络容易组建与扩展,一个简单的局域网的组建只需要HUB,网卡,网线和几台计算机即可。

因此利用网络技术在局域网上实现通信,具有很强的实用性。

在网络通信中应用最广泛,最热门的技术就是P2P。

P2P的英文全称是peer-to-peer,可以理解为点对点的意思,或称为对等网络计算机,通俗的讲就是端到端[1]。

当对等计算机在客户机/服务器模式下作为客户机进行操作时,它还包含另外一层可使其具有服务器功能的软件。

对等计算机可对其他计算机的要求进行响应。

请求和响应范围和方式都根据具体应用程序不同而不同。

P2P可以简单地定义为通过直接交换共享计算机资源和服务,不同PC用户之间不经过中继设备直接交换数据或服务的技术,它允许互联网用户直接使用对方的文件,使得网络上的沟通变得容易、更直接,真正地消除了中间商。

每个人可以直接连接到其他用户的计算机交换文件,而不是像过去那样连接到服务器去浏览与下载。

Napster是最早出现的P2P系统之一。

Napster实质上并非是纯粹的P2P系统,它通过一个中央服务器保存所有Napster用户上传的音乐文件索引和存放位置的信息。

当某个用户需要某个音乐文件时,首先连接到Napster服务器,在服务器进行检索,并由服务器返回存有该文件的用户信息;再由请求者直接连到文件的所有者传输文件。

Napster首先实现了文件查询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件传输延时

目前,Internet上P2P应用软件层出不穷,如BT、迅雷、PPLive、SNS等,P2P软件用户数量从几十万、几百万到上千万不等,并且还在急剧增加。

P2P计算技术在军事领域、商业领域、政府信息和通讯等领域也得到了广泛的应用,使得各领域的信息交换更加方便,从而提高了信息的流通速度,提高了各领域运作效率。

1.1.2 P2P技术的研究成果及发展趋势

P2P系统最大的特点就是用户之间直接共享资源,其核心技术就是分布式对象的定位机制,这也是提高网络可扩展性、解决网络带宽被吞噬的关键所在。

为了解决对象定位等关键技术,P2P网络出现了多种网络模型,每种模型都有各自的优缺点,有的还存在着本身难以克服的缺陷,因此在目前P2P技术还远未成熟的阶段,各种网络结构依然能够共存,甚至呈现相互借鉴的态势[2]。

(1)集中目录式结构  集中目录式P2P结构是最早出现的P2P应用模式,因为仍然具有中心化的特点也被称为非纯粹的P2P结构。

用于共享MP3音乐文件的Napster是其中最典型的代表,其用户注册与文件检索过程类似于传统的C/S模式,区别在于所有资料并非存储在服务器上,而是存贮在各个节点中。

(2)纯P2P网络模型  纯P2P模式也被称作广播式的P2P模型。

它取消了集中的中央服务器,每个用户随机接入网络,并与自己相邻的一组邻居节点通过端到端连接构成一个逻辑覆盖的网络。

对等节点之间的内容查询和内容共享都是直接通过相邻节点广播接力传递,同时每个节点还会记录搜索轨迹,以防止搜索环路的产生。

(3)混合式网络模型  Kazaa是混合模型的典型代表,它在纯P2P分布式模型基础上引入了超级节点的概念,综合了集中式P2P快速查找和纯P2P去中心化的优势。

Kazaa模型按节点计算能力、内存大小、连接带宽、网络滞留时间等不同,为将节点分为普通节点和搜索节点两类。

(4)结构化网络模型  所谓结构化与非结构化模型的根本区别在于每个节点所维护的邻居是否能够按照某种全局方式组织起来以利于快速查找。

结构化P2P模式是一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务,目前的主流方法是采用分布式哈希表(DHT)技术,这也是目前扩展性最好的P2P路由方式之一。

基于DHT的代表性的研究项目主要包括加州大学伯克利分校的CAN项目和Tapestry项目,麻省理工学院的Chord项目、IRIS项目,微软研究院的Pastry项目、中国科技大学的PPOCEAN项目等。

这些系统一般都假定节点具有相同的能力,这对于规模较小的系统较为有效。

但这种假设并不适合大规模的Internet部署。

同时基于DHT的拓扑维护和修复算法也比Gnutella模型和Kazaa模型等无结构的系统要复杂得多,甚至在Chord项目中产生了“绕路”的问题。

事实上,目前大量实际应用还大都是基于无结构的拓扑和泛洪广播机制,现在大多采用DHT方式的P2P系统缺乏在Internet中大规模真实部署的实例,成功应用还比较少见。

在今后的发展中,在P2P技术上实现数据存取安全、路由安全、用户身份认证和身份管理都需要进一步研究,实现P2P应用之间的统一资源定位,统一路由。

使得P2P技术有一个统一开发标准,将能够融合P2P技术,提升整体性能[3]。

1.1.3 P2P技术所存在的问题

伴随着P2P的发展,也随之产生了一些技术性的问题和社会性的问题。

这些问题具有普遍性,并可能在很多情况下发生。

(1)P2P的网络拓扑结构的研究  拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互联关系,节点之间的拓扑结构一直是确定系统类型的重要依据,目前互连网络中广泛使用集中式、层次式等拓扑结构,Internet本身是世界上最大的非集中式的互联网络,但是九十年代所建立的一些网络应用系统却是完全的集中式的系统、很多Web应用都是运行在集中式的服务器系统上。

集中式拓扑结构系统目前面临着过量存储负载、Dos攻击等一些难以解决的问题。

层次式拓扑结构是一种应用比较广泛的分布式拓扑结构,DNS系统是其最典型的应用。

P2P系统一般要构造一个非集中式的拓扑结构,在构造过程中需要解决系统中所包含的大量节点如何命名、组织以及确定节点的加入、离开方式、出错恢复等问题。

(2)P2P网络的支撑技术  Internet技术的发展使得连入互联网络中的设备不再局限于计算机,在P2P的计算环境中要求任何设备都可以在任何地点很容易的加入到这个环境中,所谓的计算设备既包括有线设备也包括无线设备,这样就需要很多很多网络传输的支撑技术来支持各种不同设备连入整个P2P网络。

(3)带宽问题  由于许多P2P应用程序同时运行客户端和服务器端的应用程序,所以它对上行带宽和下行带宽都要占用,而且很多P2P应用使用了洪泛式(Flooding)的查询技术,这就会导致大量的广播消息充斥整个网络,增加网络流量。

这对大多数提供非对称带宽通道的ISP来说,如果不进行专门的配置就很难适应P2P程序的运行。

(4)黑客和病毒入侵问题  当使用P2P时,验证共享文件来源是否安全是非常困难的。

P2P共享软件存在着两方面的安全隐患:

黑客和病毒。

P2P共享软件常被攻击者选择作为传递恶意代码的载体。

由于在P2P网络中,每个节点御防黑客和病毒攻击能力是不同的,因此只要有一个节点遭到攻击,就可以通过内部共享和通信机制将攻击扩散到附近的邻居节点,在短时间内可以造成网络拥塞甚至瘫痪,甚至通过网络攻击者可以完全控制整个网络。

因此,黑客和病毒的潜在危机对P2P系统安全性和健壮性提出了更高的要求,需要对P2P应用来源和P2P用户进行授权控制。

(5)敏感信息的泄漏问题  当使用P2P传输信息时,P2P软件几乎都设定使用者只能传输特定数据夹中的信息,但如果遭到恶意代码的攻击,就可能门户大开,在不知不觉中会给其他用户访问他人敏感信息的访问权限,这样可能造成有意图的人或公司入侵给人、公司或国家的敏感信息,如获取用户的电脑系统资料、个人信息、银行卡的用户名和密码、公司客户往来信息、国家机密等,因此需要考虑如何保护用户的安全策略。

(6)知识产权问题  因为在P2P网络中没有一个统一管理的机制来对网络中的各个用户进行认证和授权管理,P2P网络中的内容都是分散的,随着P2P共享软件的繁荣加速了盗版媒体的分发,增加了知识产权保护的难度。

1.2 本文主要研究内容

网络中的点对点是实现网络上不同计算机之间,不经过中继设备直接交换数据或服务的一种技术。

由于允许网络中任何一台计算机可以直接连到网络中其他计算机,并与之进行数据交换,这样既可以消除中间环节,也使得网络上的沟通变得更加容易、更加直接。

本设计使用VisualC++.NET语言,应用Socket类编程技术来实现局域网的点对点通信;在第二章主要介绍了计算机通信网的基础知识,如什么是计算机通信,计算机通信网的概念、组成和通信协议,重点是TCP/IP模型;第三章介绍编程软件VisualC++.NET以及本设计用到的相关知识,主要是Socket套接字及其函数;在第四章给出主要程序和整个程序的流程图。

 

第2章 计算机通信基础及相关原理

2.1 计算机通信网通信原理

2.1.1 计算机通信的概念

计算机通信是有两个主要的技术领域发展演而变来的,一是计算机技术,另一个是通信技术。

计算机与通信的相互结合主要有两个方面。

一方面,网络通信为计算机之间的数据传递和交换提供了必要的手段;另一方面,数字计算技术的发展渗透到通信技术中,又提高了通信网络的各种性能。

为了协同工作的目的,在两台或多台“自治的”计算机之间经由数据通路(包括通信网络)进行信息交换,通常称作计算机通信。

关于“自治”,可以理解为如果一台计算机能够强迫启动、关闭或控制另一台计算机,则它们不是自治计算机。

所谓的计算机通信网是指能够互换信息且独立自主的计算机及通信子网的集合,可以形式化地描述为:

计算机通信网是计算机主机、通信子网和通信协议的集合。

计算机的通信子系统是核心要素,它包括了计算机的通信功能。

通信子系统的功能之一是决定数据接收/发送方式、数据的封装/拆卸、传输速率等,从而将不同类型的数据转换为双方都能认可的形式,这项功能是面向应用进程的。

通信子系统的另一个更重要的功能是面向网络的,它为信息的传输确定了合适的数据通路或网络路径,包括通路的建立、维护和撤销、无差错传输数据(差错控制),网络中路由选择与速率匹配(流量控制),以及网络之间的互联等。

我们将通信子系统之间对应的信息交换互称为计算机到计算机的通信。

数据通信系统为计算机之间的信息交换提供了传输媒介,并提供可靠的数据传输能力。

数据通信系统既可以是单条的直接传输通路(如双绞线、同轴电缆、光线或无线信道),也可以是互连的多条的传输通路,即网络通信。

应用进程的作用是为用户提供网络服务,更多的依赖于用户业务。

应用进程之间的通信称为用户到用户的通信。

在应用进程与通信子系统之间必须提供相应的接口,其作用类似于操作系统中的系统调用功能。

基于以上对计算机通信网要素的分析,将计算机通信网按照其功能划分为信息交换和信息处理两部分,及相应由通信子网和资源子网两部分组成。

通信子网负责数据的无差错和有序传递,包括通信处理器、集中器、路由器、网桥等设备,传输媒介可以是电话线路、有线电缆(包括数据传输电缆、有线电视信号传输电缆等)、光线、无线、微波、卫星等,其处理功能包括差错控制、流量控制、路由选择、网络互联等。

资源子网是计算机通信的本地系统环境,包括主机、终端和应用程序等。

资源子网的功能是:

用户资源配置、数据的处理和管理、软件和硬件共享以及负载的均衡等。

还包括一个合适的接口,以保证主机能无缝的接入一个通信子网。

2.1.2 计算机通信网的组成及网络结构

从计算机通信网的物理组成来看,网络的组成元素可以分为网络节点和网络链路两部分。

网络节点又分为端节点和交换节点两种,端节点是指源或宿节点,例如用户主机或用户终端;交换节点指网络通信过程中起控制、暂存和转发信息作用的节点。

例如程控交换机、集中器、路由器、网桥等。

端节点是用户数据的发源地和归宿地,而交换节点本身不向用户提供新的数据,只是对用户数据进行搬运和转移。

通信链路是指传输信息的通路,即通信子网中的传输媒介,其作用是在机器之间传送比特。

因此,通信子网主要由交换节点和通信链路组成,而资源子网中主要包括拥有资源的用户主机和需求资源的用户终端,它们都是端节点。

所以,计算机通信网就是一个由通信子网承载的、传输和共享资源子网的和各类信息的系统。

所谓网络的拓扑结构是指通信子网中的交换节点的互连模式。

按拓扑结构进行划分,网络可以集中式和分布式两种基本类型。

在集中网络内,所有信息都必须经过一个中央处理设备(即交换节点)。

通信链路都是从中央节点向外辐射,这个中心节点的可靠性基本上决定了整个网络的可靠性,集中式网络又成为星型网。

分布式通信子网又称为格状网,即其中任何一个节点都可以和若干个节点直接相连,在分组交换的情况下,即使某个节点或某条链路出现故障,用户发送的数据流也可以经过不同的路径到达目的地,因此分布式网络可靠性较高。

局域网(LAN)是处于一个建筑物、同一大院或方圆数公里地域内的专用网络。

局域网常被用来来接办公室或大学里的个人计算机和工作站,以便共享资源和交换信息。

LAN与其他网络相比具有三个不同特征:

范围、传输技术、拓扑网络。

LAN的覆盖范围比较小,这意味着即使在最坏的情况下起传输时间也是有限的,并且可以预先知道传输的最大时间。

这就简化了网络的设计和网络的管理。

LAN中使用的传输技术使用一条电缆连接多有机器。

传统的LAN速度为10兆比特每秒~100兆比特每秒,传输延时较短(数十个毫秒),并且出错率低。

LAN的拓扑结构通常采用广播式网络,其中常用的是总线型和环形结构。

在广播式LAN中,任意时刻只有一台机器是主站并可以进行数据发送,而其他的机器则不能发送,若要两个或更多机器都想发送信息时,则现需要冲突机制来解决冲突。

IEEE802.3标准,就是通常所称的以太网,就是一种居于总线的局域网,它使用分布式控制,速度为10兆比特每秒或100兆比特每秒。

IEEE802.5标准(IBM令牌环)定义了常见的基于环形的LAN,其速度为千兆比特每秒。

典型的,每个比特环绕一周的时间仅相当于发出几个比特的时间,常常小于整个分组的传输时间。

2.1.3 TCP/IP协议模型

通信协议是指相互通信的双方(或多方)对如何进行信息交换所一致同意的一整套规则。

通信协议的各种类型可以分为以下几种。

面向应用的协议:

为完成某些特定应用的而制定的协议。

从分层的协议结构来看,包括应用层的专用服务元素,例如TCP/IP模型中的FTP、TELNET、SMTP等。

面向应用的协议也可以称为进程到进程协议。

系统到系统协议:

支持系统中特定的应用进程间的数据交换,为应用进程提供网络通信服务,包括应用层的公共服务元素、表示层协议等。

端到端的协议:

完成端到端的可靠传输,建立、保持以及维护端到端的连接,包括会话层协议、TCP和UDP。

点到点协议:

实现直接相连的节点之间的数据传输,如数据链路层协议HDLC和Internet中的PPP协议等。

网络接入协议:

如介质接入控制(MAC)等。

网间互联协议:

从网络介质的延伸,不同网络用户的寻址,到异构网络及按协议的转换。

其他网内协议:

包括流量控制、寻址和路由控制等。

TCP/IP模型起源于1969年美国国防部赞助研究的网络ARPANET---世界上第一个采用分组交换技术的计算机通信网。

1982年开发了一簇新的协议,其中最重要的就是TCP和IP,IP协议用来给不同的通信子网或局域网提供一个统一的互连平台。

TCP协议则是用来为应用程序提供端到端通信和控制功能。

这个结构体系成为TCP/IP协议模型。

TCP/IP模型包括两个协议:

传输控制协议(TCP)和网络传输协议(IP),两者都是非基于任何特定硬件平台的网络协议,既可以用于局域网又可以用于广域网。

TCP/IP协议模型从更实用的角度出发,形成了具有高效率的四层体系结构,即主机-网络层、网络互联层(IP层)、传输层和应用层。

(1)主机-网络层  该层中使用的协议大多数是各通信子网的固有协议,例如以太网802.3协议、令牌环网802.5协议或分组交换网X..25协议等。

主机-网络层的作用是传输经网络互联层处理过的信息,并提供一个主机与实际网络的接口,而具体的接口关系则可以有实际网络的类型所决定。

(2)网络互连层(IP层)  它的功能是使主机可以把分组发往任何网络,并使个分组独立传向目的地(中途可能经有不同网络),这称为数据包方式的信息传送。

这些分组到达的顺序可能和发送的顺序不同,应此需要按顺序发送和接收时,高层必须对分组排序。

分组路由和拥塞控制是IP层设计的主要问题。

网络互联层所使用的协议是IP协议。

它把传输层送来的消息装成数据报文,并把IP数据报文传递给主机-网络层。

IP协议提供统一的IP数据包格式,以消除各通信子网的差异,从而为信息的发送方和接收方提供透明的传输通道。

网络传输层的主要任务是为IP数据报文分配一个全网唯一的数据地址,实现IP数据的识别与管理;IP数据报路由机制;发送或接收时IP数据报的长度和通信子网所要求的数据包长度匹配。

(3)传输层  传输层位应用进程提供了端到端通信功能。

该层协议处理网络互联层没有处理的问题,保证通信连接的可靠性,能够自动适应网络的各种变换。

传输层主要有两个协议,即传输控制协议(TCP协议)和用户数据包协议(UDP)。

TCP协议是面向连接的,以建立高可靠性信息传输连接为目的,它负责把用户数据按一定的格式和长度组成多个数据报进行发送,并在接受到数据后按分解顺序从新组装和恢复数据。

TCP协议与任何特定网络的特征相独立,对分组没有太多的限制,单一般TCP的实现均以网络中可以承载的适当大小座位数据单元的长度,最大长度为65千字节,很大的分组将在IP层进行分割后传输。

为例完成可靠的数据传输任务,TCP协议具有数据报的顺序控制、差错检测、校验以及从发控制等功能。

TCP还要控制流量,以避免快速的发送方“淹没”低速的接收方而是接受无法处理。

UDP是一个不可靠的、无连接的协议,主要用于不需要TCP的顺序和流量控制能力、而是自己完成这些功能的应用程序。

它被广泛的用于端主机和网关以及Internet网络管理中心等的消息通信,以达到控制网管理网络运行的目的,或者应用于快速递送比准确递送更重要的应用程序,例如传输语音或视频图像。

(4)应用层  位于传输层之上的应用层所包含所有的高层协议,为用户提供所需的服务。

主要的服务有;远程登录(Telnet)、用户可以使用异地主机;文件传输(FTP),用户可以在不同的主机之间传送文件;电子邮件(SMTP)用户可以通过主机和终端相互发送信件;Web服务(HTTP),发布和访问具有超文本格式HTML的各种信息;域名系统(DNS),把主机名映射到网络地址。

2.2 本章小结

本章对设计应用到的计算机网络通信的相关知识进行介绍。

首先对计算机通信的概念进行阐述,并说明了计算机通信的基本要素。

其次说明了计算机通信网的组成及分类,对本设计要用到的局域网基本情况进行了阐述。

最后一节为本章重点,对本设计使用的TCP/IP协议模型进行了详细的介绍。

 

第3章 VisualC++.NET网络通信编程原理

3.1 窗口与消息

窗口是Windows操作系统中一种非常基本也是非常重要的对象。

狭义上讲,窗口是指能进行图形处理的视觉上可见的窗口;而从广义上讲,窗口包括可见或不可见的所有能进行消息处理的单元。

而实际上,应用程序创建的这些可接收、处理消息的不可见窗口除了在视觉上不可见外,在消息处

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1