版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEiii摘要VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。为了提高数据吞吐率以及实现实时数据处理(如随时取数、随时暂停设备、随时开始传输、随时存盘、随时显示波形、随时设备控制输出等功能),我们采用一种最新、最灵活的设计思想,即数据采集传输和数据处理相独立的思想来完成网管软件的设计。本文就是基于VB的网络管理系统,针对排水管网的网络系统进行管理,从数据采集,网管系统的功能,完成网管软件设计,研究TCP/IP应用程序的开发,winsock套接字以及winsock通信等问题。关键词:VB数据处理网络系统网管软件AbstractVBisavisual,object-orientedevent-drivenapproachandtheuseofthestructureofhigh-levelprogramminglanguage,canbeusedforthedevelopmentoftheWindowsenvironmentofvariousapplications.InVisualBasicenvironment,theuseofevent-drivenprogrammingmechanism,theneweasy-to-usevisualdesigntools,withinthewideruseWindowsapplicationprograminterface(API)function,tousedynamiclinklibrary(DLL),theobjectLinksembeddedwiththeWorldat(OLE),open-enddataconnectivity(ODBC),andothertechnology,canbehighlyefficientandrapiddevelopmentoftheWindowsenvironmentpowerful,richgraphicalinterfaceapplicationsoftwaresystem.
Inordertoimprovedatathroughputandreal-timedataprocessing(forexample,atanytimefromthenumberofsuspendedequipmentatanytime,atanytimebeginningtransmission,archivingatanytime,atanytimedisplaywaveform,atanytimeequipmentcontroloutput,andotherfunctions),wehaveadoptedalatestandmostflexibledesignthinkingThatthetransmissionofdataacquisitionanddataprocessingofindependentthinking
VB-basednetworkmanagementsystems,drainagenetworkforthenetworksystemmanagement,fromdatacollectionandnetworkmanagementsystemfunctions,completenetworkmanagementsoftwaredesign,researchTCP/IPapplicationdevelopment,winsocksocketandwinsockcommunicationsissue.Keywords:VBdatacollectionnetworksystemsnetworkmanagementsoftware目录TOC\o"1-4"\h\z\u第一篇 计算机网络基础 1第一章计算机网络的历史和发展 1第一节计算机网络的历史 1一、远程终端联机系统 1二、计算机互联网络 1三、计算机网络互联 1四、全球网络互联 2第二节计算机网络的发展方向 2第二章网络管理员的任务 2第二篇网管系统功能要求 3第一章配置管理模块 4第一节配置管理的内容 5第二节配置管理设施 6第二章故障管理模块 7第一节 故障管理的内容 8第二节故障管理的处理过程 9一、网络状态检测 9二、事件报告核查和处理 9三、启动备用设备和重新配置网络 9第三章性能管理模块 10第一节性能管理概述 10第二节性能管理过程 11第四章安全管理模块 12第三篇网络管理软件设计 14第一章 网络管理软件设计基础 14第一节网络结构 14一、集中方式 14二、客户机/服务器方式 14三、对等方式 15第二节通信方式 15一、并行通信 15二、串行通信 15第三节TCP/IP协议与WINSOCK套接字 16一、TCP/IP协议 16二、套接口(socket) 18三、Winsock 19第四节Winsock通信函数 19第五节TCP/IP客户服务器程序设计方法 21一、服务器侦听网络 21二、客户申请连接 21三、服务器应答连接请求 21四、传送数据 22五、关闭连接 22第六节 VB实现C/S通信 23一、创建服务器 23二、创建客户 24三、通信 24第二章网管软件的设计 25第一节用户管理 27第二节数据管理 29第三节安全管理 31第四节设备管理 33总结 36参考文献 37致谢 38附录1VisualBasic的数据类型 39附录2VarType函数数据类型 40阳泉职业技术学院──毕业设计说明书PAGE37计算机网络基础信息化社会的基础是计算机和互联计算机的信息网络,计算机网络已经成为重要的基础设施。计算机网络萌芽于20世纪60年代,70年代兴起,80年代继续发展并逐步完善,90年代则迎来了信息化、网络化的高潮。计算机网络改变着人类社会的工作方式和生活方式,在政治、经济文化教育科研军事等领域发挥着越来越重要的作用,计算机网络技术引起了人们的高度重视。本篇将讲述计算机网络的发展、网络的定义、网络的分类、网络的体系与结构、网络拓扑,并简要介绍数据通信的基础知识。第一章计算机网络的历史和发展第一节计算机网络的历史计算机网络的发展经历了从简单到复杂、从单机到多机、由终端与计算机的通信到计算机与计算机直接通信的演变过程。其发展历程大致可概括为以下四个阶段。一、远程终端联机系统由一台中央主机连接众多的、位于分散的地理位置的终端构成,这是计算机网络的雏形。这一阶段,人们开始将独立发展的计算机技术与通信技术结合起来,为计算机网络的出现奠定了理论基础。二、计算机互联网络自20世纪60年代中期开始,出现了若干个计算机网络互联系统。60年代末期,美国国防部资助建立的ARPANET标志着计算机网络的兴起。网络利用通信线路将计算机连接起来,联网的计算机之间可以相互交换数据,实现了资源共享。这一阶段出现的关键技术是数据分组交换数据。三、计算机网络互联自20世纪70年代中期开始,各种分组交换网发展迅速,各计算机厂商也纷纷发展自己的阿计算机网络,随之而来的是网络体系和协议的标准化问题。国际标准化组织于1977年成立了专门的机构来研究该问题,并在1984年发布了“开发系统互联基本参考模型”(OpenSystemInterconnectionBasicReferenceModel)的国际标准,简称OSI,标志着第三代网络——标准化网络的诞生,从此计算机网络在理论上可以互联。四、全球网络互联自20世纪90年代开始,计算机技术、通信技术以及建立在互联计算机网络技术基础上的计算机网络技术得到了迅猛发展。这一阶段最主要的标志是Internet的广泛应用、高速网络技术、网格计算和网络安全技术的研究,其中Internet是第四代网络的核心。第二节计算机网络的发展方向从计算机网络应用来看,网络应用系统将向更深更和更宽的方向发展。(一)Internet信息服务将会得到更大发展。网上信息浏览、信息交换、资源共享等技术将进一步提高速度、容量及信息的安全性。(二)远程会议、远程教学、远程医疗、远程购物等应用将逐步从实验室走出。网络多媒体技术的应用也将成为网络发展的热点。第二章网络管理员的任务网络管理员的基本工作是保持网络平稳的运行。一旦网络出现故障,能够及时恢复,不至于因为故障而造成信息丢失。对小型网络来说,有一两个网络管理员即可。他们要对网络进行日常维护,定期清理。一个小型计算机网络的管理员需要做的工作通常有如下几项:(一)硬件维护,如更换受损的电缆,增加新的打印机,安装新的网络工作站,更换网络中故障的硬件,扩充计算机的内存等等。(二)软件维护,如在网络上安装新的软件,清理过时没有用的旧文件,安装更高版本的应用软件等。(三)根据人员变动情况在网络上增加或删除用户、根据需要增加网络节点等等。(四)确保网络的安全性,如设置不同用户的权限,防止普通用户访问重要数据,确保每个用户使用指定的文件等等。(五)保存日志和记录,如对性能日志、故障日志、配置日志以及用户使用日志及时保存。(六)排除故障,遇到故障时进行诊断并排除,在网络性能下降时及时予以纠正。第二篇网管系统功能要求网络管理工作涉及到的问题很多,如向操作员显示网络运行情况、控制网络部件的运行、管理通信钥匙等等都是网络管理系统需要完成的功能。网络管理系统所要处理的信息、需要输出的信息以及控制活动和管理信息通信如图2.1所示。管理系统需要与网络设备打交道,获取它们的状态信息并控制它们,并且有时也利用它们传送管理信息;它还需要网络管理操作员的控制、输入配置参数等;一部分信息则是管理系统输出的,它包括给操作员的显示信息。管理系统的输入信息包括各种命令,如设备控制命令、工作参数等;从系统获取的信息包括查询返回的系统状态信息和各种报警信息。管理系统需要输出的信息包括管理系统给通信设备的各种控制命令(控制设备进入、退出或变换工作状态等)给操作员的显示信息,如网络当前配置、已收到的告警信息和网络运营报表等。图2.1网管系统与外界的信息交换在该网管系统中,将系统的管理功能大致分为四部分,这四个功能模块分别完成不同的网络管理功能。他们分别是:●配置管理模块●故障管理模块●性能管理模块●安全管理模块图2.2给出了这四个模块之间的关系。配置管理功能负责初始化及网络软、硬件的配置任务;性能管理模块负责监视网络运行状态;故障管理模块负责接收和管理所以告警信息,该模块还要检测、隔离并设法恢复故障设备,尽可能少地让工作人员干预;安全管理模块负责用户鉴别、非法侵入检测和密钥管理等一系列服务。图2.2管理功能模块之间的关系第一章配置管理模块所谓网络的配置就是指网络中应有或实有多少设备、每个设备的功能及其连接关系和工作参数等等,反映了网络的状态。该网本身要随着设备的维修、网络规模的扩大、旧设备的淘汰等原因而经常调整网络的配置。需要调整网络配置的原因很多:(一)随着网络技术和传输技术的演变,陈旧过时的设备和设施将要舍弃,用新设备、新设施和新资源代替。(二)也有可能在网络中添加资源、增加新的设备和设施以增加网络的服务能力。(三)网络管理系统在检测到某个设备或设施发生故障后的故障排除活动将会影响部分网络部件。(四)传输链路中断,造成网络连接关系发生变化。以上对网络配置的改变可能是临时性的、短暂的,但系统配置的改变也可能是永久性的。网络管理系统必须有足够的手段支持这些改变,不论是长期的还是短期的。有时甚至要求在短期内自动修改网络配置,以适应突发性的需要。配置管理就是用来识别、定义、初始化、控制和检测通信网中的管理对象。该系统的配置管理其实就是对网络中变更的管理,以及在网络运行过程中经常修改网络的配置。第一节配置管理的内容该网络管理系统中配置管理功能需要监视和控制的内容如下:(一)网络资源及活动状态(二)定义新的管理对象(三)设置管理对象属性的初始值(四)删除管理对象每个管理对象有许多表征其工作状态和工作性能等的一系列变量。也即管理对象的“属性”。网络中设备和设施的状态和状况是用管理对象的管理控制属性和运营属性来表示的。从管理控制的角度看,网络的资源可以分为三个状态:图2.3管理控制状态之间的关系图2.4管理运营状态之间的关系可用(解锁状态)、不可用(锁住状态)、正在测试(关闭状态),其管理控制状态之间的关系如图2.3所示。从运营的角度看网络资源的状态又可分成可运营、不可运营、活动和忙四个状态,其管理状态之间的关系如图2.4所示。配置管理是网络管理的最基本功能,有时也叫做监控功能。它是网络中对管理对象的变化进行动态管理的核心。其他四个功能模块需要改变管理对象的状态、属性时、是通过配置管理的功能实现的。当配置管理功能模块接到网管操作员或其他管理功能设施的配置变更请求时,配置管理服务设施首先要给出管理对象的当前状态、给出变更合法性的确认,然后对管理对象进行变更操作,最后要验证变更确实已经完成。第二节配置管理设施配置管理功能模块可分解为:状态检测、状态控制、命令发布和配置控制四个子模块,每个子模块的职责分别如图2.5所示。图2.5配置管理功能模块的分解(一)状态检测负责连续在线监测管理对象的状态、状况并向管理进程报告。(二)状态控制负责管理对象的初始化、状态控制和终止;负责整个网络以及所有管理对象的状态的定义和变化管理;及时报告整个网络及所有管理对象的状态变化;动态保持和记录网络内的所有管理对象及它们的状态。(三)命令发布是配置管理的执行机构,它把控制设施发出的各种状态变更等命令转换成具体的控制代码和数据序列,实现控制过程。(四)配置控制支持网络操作员对管理对象的定义、属性等参数的设置、管理对象名字的管理、整个网络的控制状态和控制序列的定义,以及生成管理对象的管理报表。第二章故障管理模块在系统中,当某个部件不能达到规定的工作性能指标时,网络的故障管理功能就要起到其相应的作用,处理系统中发生或发现的故障现象。比如当发现差错率过高(重发次数过多)时,故障报表算法就要比较实际重发次数和设定的门限,以判断是否存在故障。故障活动包括诊断测试、故障恢复或恢复活动和启动备用设备等。此外故障管理还必须支持故障日志控制。故障管理的内容故障管理是网络管理功能中与设备检测、故障设备的诊断、故障设备的恢复或设备故障排除等措施有关的网络管理功能,其目的是保证网络能够提供连续、可靠的服务。故障管理功能模块可以分为以下几个部分:(一)监测管理对象的差错现象,或接收管理对象的差错事件通报;(二)当存在空余设备或迂回路由时,提供新的网络资源服务;(三)创建和维护差错日志库,并对差错日志进行分析;(四)进行诊断测试,追踪和确定故障位置和故障性质;(五)通过资源的更换或维护或其它恢复措施使其重新开始服务;故障管理功能模块可以细分成如图2.6所示的四个部分来实现。这里将它分解成故障检测、故障诊断、故障排除(或恢复)和故障控制四个子功能模块。这些子功能完成的具体任务分别如下:图2.6故障管理模块的分解(一)故障监测服务负责检测出故障通报信息,或接收来自其它管理功能模块的故障通报。一旦检测到故障通报,本子功能就要把它们传递给故障控制设施将它们登记在故障日志中,还要传递到故障诊断甚至故障恢复设施进行处理。同时也负责生成告警显示信息。(二)故障诊断首先启动另一个服务设施去代替有故障的服务设施,然后启动故障诊断过程对有故障服务设施进行测试和分析,如果能够确定故障的位置和故障的性质,则还需要通过故障恢复服务排除故障。故障诊断服务设施意在尽可能减少网络维护人员的介入,即使需要由维护人员干预才能排除故障,故障诊断服务设施也设法给维护人员提供尽可能多的故障信息,以提供维护帮助。(三)故障恢复服务利用预先定义的控制命令序列排除故障,使设备能够恢复服务。使人工介入尽可能减少,即使需要,也最好能够做到只需要维护人员去更换故障管理系统指定的网络硬件。(四)故障控制设施用来建立和维护故障诊断的规则、故障恢复命令序列和故障日志。并且该子功能还要及时的发出报警信息。为管理人员提供详细的报警信息。第二节故障管理的处理过程故障管理一般处于检测状态,检测内容来自网络资源的事件报警和告警信息。一旦检测到故障信息,第一步要做好日志记录。下一步就要确定是什么问题、问题发生在哪里。然后进行故障诊断、测试和排除。故障管理过程中需要由网络状态检测、动态故障追踪、主备切换和配置、测试等几个部分。一、网络状态检测网络状态检测的目的是为了时刻了解网络的当前运行状况,为各种故障恢复行为提供及时的触发条件,为网络工作人员提供网络状况的显示,对各个不能自动处理的网络故障及时提醒操作人员做出反应。该系统中,最主要的还是从网络中收集网络状况数据。二、事件报告核查和处理事件报告的核查和处理方式分为两种:消极处理和积极处理。消极处理包括对日志进行登记等活动,积极处理则包括对各种故障的排除和恢复等活动。三、启动备用设备和重新配置网络解决网络故障问题最快的方法是启动备用设备,通过修改网络配置(转换主备用设备的工作状态等)来恢复网络的服务或恢复网络的性能。启动备份和重新配置可以按预先设置的方案在有问题的地方启动备用系统和设备、或重新配置网络。第三章性能管理模块第一节性能管理概述性能管理包括一系列管理功能,以网络性能为准则收集、分析和调整管理对象的状态,其目的是保证网络可以提供可靠、连续的通信能力并使时延最小。网络性能管理的功能包括如下几个部分:(一)从管理对象中收集与性能有关的数据;(二)管理对象的性能统计,与性能有关的历史数据的产生、记录和维护;(三)分析当前统计数据以检测性能故障、产生性能告警、报告性能事件;(四)将当前统计数据的分析结果与历史模型进行比较以预测性能的长期变化趋势;(五)管理对象的控制,以保证网络的性能为目标。根据这些功能要求,性能管理功能还可以进一步细分成如图2.7所示的四个子功能模块:性能事件的检测、网络或管理对象的性能分析、性能的调节和性能控制。性能事件检测功能负责提供对管理信息流的检测,过滤出有关性能的管理信息,如性能事件通报。性能检测的目的是在发现故障以后进行搜索检测,即在用户发现故障后去查找故障的发生位置并对其做出报告。图2.7性能管理功能模块的分解(一)性能分析功能从众多管理对象中收集性能统计数据;创建和维护性能统计日志;分析当前网络或管理对象的性能以检测性能故障,如果有性能异常则产生性能告警和性能故障事件;对当前性能与历史性能进行比较以预测未来性能趋势;还要对当前和历史的性能形成各种必要的报表。(二)性能调节功能按照要求完成管理对象的控制,这些控制要求是性能分析部分产生的。(三)性能控制功能支持操作员的建立和修改性能评价准则和各种性能门限,设置控制网络运行模式的命令序列,这些命令序列是对性能事件的响应。第二节性能管理过程性能管理过程往往从需求获得性能数据的请求开始。进行定期的性能数据采集或了解服务质量水平等。性能管理功能模块要确定不同情况下所需的性能数据,并根据这些目标,从网络管理系统中获得有关性能统计数据。向网络管理者提出服务响应的同时,也判断性能是否达到了规定的指标。如未达到规定的性能指标,则需对适当的部分作一定的调整,用以改进性能。性能管理的全过程如图2.8所示。图2.8性能管理的检测和调节过程第四章安全管理模块网络资源的共享是有条件的。比如很普通的网络数据,任何人都可以查阅,但有的资源,如员工信息以及一些机密文件等是不能共享的,只有少数高级管理人员才能够阅读有关的数据。因此网络中必须要引入安全机制。网络中的安全机制要提供传输信息加密的手段,而加密过程通常由用户自行完成。但一般来说,网络中的安全及机制还要给网络管理员提供多种手段来保护网络和网络上的用户。安全机制的一系列功能用来保护网络资源的安全。安全是多方面的。比如,进网安全防护、网络数据的安全防护等等。需要进行的安全管理一般要设置相应的防护措施,比如,设置一些权限,一些判断非法的条件等等。网络中各部分按照权限、口令以及判断判断非凡的条件来检测有无积极或消极的非法侵入。因此网络安全管理要达到如下的目的:防止未授权的用户注册到网络上使用网络资源;防止用户查看其它用户的机密文件;保护网络数据不被删除、修改或破坏;防止用户对网络的恶意破坏。为了达到上述目的,网络中一般要提供下属几类安全措施:(一)用户注册每个想使用网络的用户必须由管理人员为其建立帐户、规定权限并设置一个口令。只有已登记的合法用户输入正确的口令才允许在网络上工作并使用网络资源。(二)用户权限每个用户对网络的需要是不同的。网络管理员在为其建立帐户的同时、也规定了用户的权限。用户权限中规定了用户对网络资源的依赖程度,包括网络数据的查阅,网络部件的阅读、修改等。除了上述几点,在安全管理中,还应做好安全日志工作,保证万一非法侵入事件,可以查阅安全日志追究责任。第三篇网络管理软件设计网络管理软件设计基础第一节网络结构一、集中方式集中方式是在20世纪60年代后期形成的。集中方式为多用户系统,它由运算速度很快的主机和与主机相连的用户终端构成。用户通过与主机相连的终端共享计算机的资源。用户在自己的终端上输入命令,要求主机执行自己所发出的任务。而主机则顺序执行各个终端的任务。终端本身处理问题的能力较差。由于经历了较长时间的应用,集中方式在理论与实践中都比较完善,在可靠性、容错能力、系统安全、系统管理、开发手段、数据库和应用程序等方面都形成了完整的、成熟的体系。二、客户机/服务器方式从工作站/文件服务器模式的局域网再进一步,就是“客户机/服务器”结构。客户机是前台处理机,为单用户工作站,它是与用户接口的界面,其任务侧重于表现,提供与业务应用有关的表现、计算、联网、访问数据库和各类接口服务;服务器是后台处理机,是一种存储器共享的多用户处理机,它提供业务所需的计算、联网、访问数据库和各类接口服务,相当于一个数据仓库。“客户机/服务器”结构是由客户机、服务器构成的一种网络计算机环境,它把应用程序要完成的任务分配到客户机和服务器上。“客户机/服务器”可以由异种机构成。在网络中,服务器是它的中枢核心。根据服务器在网络中所起的作用,还可以进一步将它分为文件服务器、打印服务器和通信服务器等,文件服务器可使它的大量磁盘空间提供网络上的客户机使用,接收客户机发出的数据处理、存取请求,打印接收来自客户端的打印任务,并将打印内容存到打印队列中,当在打印队列中轮到该任务时,则交打印机打印输出,通信服务器负责网络中各客户机对主计算机的联系,网与网之间的通信及客户机之间共享高速调制解调器或传真机等通信设备,由此可见,服务器提供网络上的服务,并对磁盘驱动器、打印机和通信设备等的多种同时并发访问的管理。客户机是共享网络资源的计算机。任何一台客户机在使用网络上的硬件设备(如硬盘、通信线路或打印服务器的打印机)时,好像它在独占使用这些设备一样,每一客户机都运行在它自己的并为服务器所认可的操作系统或环境之下。三、对等方式对等方式是指不需要专门的服务器,网络中的计算机既可以充当服务器,为网络上的用户提供共享资源,又可以充当客户机,来共享其它计算机上的共享资源。第二节通信方式在计算机系统的各个部件之间以及计算机与计算机之间,数据通信都是以通信的方式进行交换的,目前的通信有两种基本方式:串行通信和并行通信。一、并行通信并行(Parallel)通信:数据以成组的方式在多个并行信道上同时传输。例如将构成1个字符代码的几位二进制比特位分别在几个并行线路上传输,每个比特使用一个单独的线路。并行通信非常普遍,特别是用于两个短距离的设备之间。最常见的例子是计算机和外围设备之间的通信,如打印电缆。其他的例子还包括CPU、存储器模块和设备控制器之间的通信。
并行通信应用到长距离的连接时就无优点可言了。首先,在长距离上使用多条线路要比使用一条线路昂贵。另外一个问题涉及到比特传输所需要的时间。短距离时,多个信道上同时传输的比特几乎总是能够同时收到。但长距离时,导线上的电阻会或多或少地阻碍比特的传输,从而使它们的到达稍快或稍慢,这将给接收端带来麻烦。二、串行通信串行(Serial)通信:数据流以串行方式在一条信道上传输,即在一条线路上逐个的传送所有的比特。这种传输方式给发送设备和接收设备增加了额外的复杂性。发送方必须明确比特发送的顺序。例如在发送一个字节的8个比特位时,发送方必须确定是先发送高位比特还是先发送低位比特。同样,接收方必须知道一个目标字节中收到的第一个比特位应该放在什么位置上。如果串行通信的双方在比特的顺序上无法取得一致,则数据的传输将出现错误。
由于串行通信的收、发双方只需要有一条传输信道,比较便宜又易于实现,而且用在长距离连接中也比并行通信更加可靠,因此是目前广泛采用的一种方式。但是它每次只能发送一个比特位,所以传输速度比较慢。 第三节TCP/IP协议与WINSOCK套接字一、TCP/IP协议TCP/IP协议(TransferControlnProtocol/InternetProtocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。
TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。是用于计算机通信的一组协议,我们通常称它为TCP/IP协议族。它是70年代中期美国国防部为其ARPANET广域网开发的网络体系结构和协议标准以它为基础组建的INTERNET的是目前国际上规模最大的计算机网络,正因为INTERNET的广泛使用,使得TCP/IP成了事实上的标准。之所以说TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。
从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网间网层、传输层、应用层。其中:
(一)网络接口层这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
(二)网间网层负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理路径、流控、拥塞等问题。
(三)传输层提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
(四)应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。前面我们已经说讨论关于OSI参考模型的相关概念,现在我们来看一看,相对于七层协议参考模型,TCP/IP协议是如何实现网络模型的。OSI中的层功能TCP/IP协议族应用层文件传输虚拟终端电子服务文件服务TFTP,HTTP,SNMP,FTP,DNS,TELENT表示层数据格式化代码转换数据加密没有协议会话层解除或建立与别的接点的联系没有协议传输层提供端对端的接口TCPUDP网络层为数据选择路由IPRIPIGMP数据链路层传输存地址的帧以及错误检测功能MTUPPPARPSLIP物理层以二进制数据形式在物理媒体上传输数据ISO2110IEEE802IEEE802.2数据链路层包括了硬件接口和协议ARP,RARP,这两个协议主要是用来建立送到物理层上的信息和接收从物理层上传来的信息;网络层中的协议主要有IP,ICMP,IGMP等,由于它包含了IP协议模块,所以它是所有机遇TCP/IP协议网络的核心。在网络层中,IP模块完成大部分功能。ICMP和IGMP以及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。传输层上的主要协议是TCP和UDP。正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式:TCP是一个基于连接的协议;UDP则是面向无连接服务的管理方式的协议。应用层位于协议栈的顶端,它的主要任务就是应用了。上面的协议当然也是为了这些应用而设计的,具体说来一些常用的协议功能如下:Telnet:提供远程登录(终端仿真)服务。FTP:提供应用级的文件传输服务,说的简单明了点就是远程文件访问等等服务;SMTP:电子邮件协议。TFTP:提供小而简单的文件传输服务。SNTP:简单网络管理协议。该网管系统的软件就是通过在操作系统下提供的编程接口winsock开发的TCP/IP应用程序。二、套接口(socket)Socket就是套接字,它是网络编程中最常用遇到的概念和工具。在TCP/IP网络中,传送和接收数据就会经常使用到Socket,由于使用Socket能够在网络上处理复杂数据,所以在各种网络应用程序中,涉及到数据传送和接收,一般都会使用Socket,可见要掌握网络编程,精通Socket是非常重要。由于Socket本身的复杂性,决定了掌握它是比较困难的。VisualC#是微软公司推荐的开发.Net平台应用程序的主要语言,随着.Net的深入人心,目前很多有远见的公司都把以前的软件转向了.Net平台。●套接口是通信的基石,一个套接口是通信的一端。在这一端上你可以找到与其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相关的过程。套接口存在于通信域中。通信域是为了处理一般的线程通过套接口的通信而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据。Windowssockets规范支持单一的通信域,即internt域。各种进程使用这个域互相之间用internet协议族来进行通信。●Sockets是一个网络应用层的国际标准,它实际在计算机中提供了一个通信端口,应用程序在网络上传输,接收的消息都通过这个socket接口来实现。在应用程序中就象使用文件句柄一样,可以对socket句柄进行读、写操作。●Socket有三种主要类型:streamsockets,datagramsockets和rawsockets。Streamsocket接口定义了一种可靠的面向连接的服务,它实现了无差错无重复的顺序数据传输。它通过内置的流量控制解决了数据的拥塞,应用程序可以发送任意长度的数据,将数据当作字节流。Datagramsocket接口定义了一种无连接的服务,数据通过相互独立的包进行传输,包的传输是无序的,并且不保证是否出错、丢失和重复。包长度是有限的(隐含长度为8192字节,最大长度可设为32768字节)。Rawsocket接口允许对低层协议如IP和ICMP的直接存取,它主要用于新的网络协议实现的测试等。三、Winsockwinsock是基于windows的一种网络文件传输协议。Windowssockets规范定义并记录了如何使用API与internet协议族(通常我们指的是TCP/IP)连接,尤其要指出的是所有的windowssockets实现都支持流套接口和数据报套接口。应用程序调用windowssockets的API实现相互之间的通信。Windowssockets又利用上下层的网络通信协议功能和操作系统调用实现实际的通信工作。因此利用winsock编写网络应用程序时,不必了解TCP/IPDE细节或调用低级的winsockAPIs,通过对winsock的设置、调用就可很方便的连接到所需的远程机上,并且还可以双向交换数据。第四节Winsock通信函数Socket是面向客户-服务器模型而设计的,针对客户和服务器程序提供不同的Socket系统调用。不管Socket内部机制如何,它提供给应用程序员的最终界面是一组系统功能调用。下面,我们一一给出重要的Socket系统调用。(一)创建Socketsocket()调用格式如下:sockid=socket(af,type,protocol)af:地址族,指本socket所用地址类型.type:
类型,指创建socket的应用程序所希望的通信服务器类型.protocol:协议,指本socket请求的协议.
(二)指定本地地址bind()调用bind()将本地socket地址与所创建的socket联系起来,即将本socket地址赋予socket,以指定本地半相关.bind()的作用相当于给socket命名,调用格式为:bind(sockid,localaddr,addrlen)sockid:socket号.localaddr:本地socket地址.addrlen:地址长度.(三)建立socket连接connect()与accept()调用这两个系统调用用于完成整个相关的建立.其中connect用于建立连接.调用格为:connect(sockid,destaddr,addrlen)destaddr:指向对方socket地址(信宿地址)结构的指针.accept:用于面向连接的服务器,其调用格式为:newsock=accept(sockid,clientaddr,paddrlen)clientaddr:指向客户socket地址指针.paddrlen:客户socket地址长度.(四)listen()调用此调用用于面向连接服务器,表明它愿意接收连接,listen()在accept()之前调用,格式为:listen(sockid,quelen)quelen:请求队列长度.(五)发送数据write(),writev(),send()与sendto(),sendmsg()用于socket数据发送的系统调用一共有五个,其中三个,write(),writev()和send()用于面向连接传输,其余两个用于无连接传输.面向连接的调用可以不指定信宿地址,而无连接的调用必须指定.假如无连接socket的双方均调用过connect(),可以认为是建立有连接的socket,也可以面向连接调用发送数据.三个面向连接调用三者的格式大致相同:write(sockid,buff,bufflen):缓冲发送writev(sockid,iovector,vectorlen):集中发送send(sockid,buff,bufflen,flags):可控缓冲发送其中buff指向发送缓冲区的指针,bufflen是发送缓冲区大小.用于无连接数据发送的调用有两个:sendto(sockid,buff,bufflen,flags,dsadd,addrlen)sendmsg(sockid,message,flags):可控集中无连接发送.(六)接收数据read(),readv(),recv()与recvfrom(),recvmsg()接收数据与发送数据系统调用是一一对应的,两者参数的最大区别是,前者buffer是一个指针,其所指单元初值为欲读数据长度,调用后的值是实际读出的值.第五节TCP/IP客户服务器程序设计方法使用TCP/IP协议通讯,首先要指定通信方式为TCP方式,将Winsock控件的Protocol属性设置为sckTCPProtocol。然后,按TCP通信协议规定,先要申请建立网络连接,然后才能传输数据。一、服务器侦听网络服务器程序窗体中有三个Winsoc控件,Name分别为sckServer、sckBusy和sckListen.其中sckListen是侦听控件;sckBusy是;sckServer连接控件。侦听控件和连接控件不能是同一个Winsock控件。服务器程序必须首先侦听网络,等待客户的连接申请,才有可能建立网络连接。服务器程序开始侦听网络前,需要为侦听用(sckListen)控件的LocalPort属性设置通信接口,然后调用Listen方法。服务器程序开始侦听网络的程序代码如下:sckListen.LocalPort=4477sckListen.Listen ‘侦听网络二、客户申请连接当服务器程序已经启动运行并开始侦听网络后,在客户程序申请连接前,需要为客户Winsock控件的RemodeHost属性设置远程主机,为RemodePort属性设置通信接口,然后再调用Connect方法向服务器程序申请连接。设置远程主机名,可以是计算机名也可是IP地址。如果是主机计算机名,则需要系统翻译为相应的IP地址;如果是主机IP地址,则直接进行连接。三、服务器应答连接请求服务器程序启动侦听网络后,当客户程序执行Connect方法申请连接时,服务器程序的侦听控件(sckListen)触发ConnectionRequest事件,并传递连接请求句柄。编程人员需要在该当事件程序中调用连接控件(sckServer)的Accept方法实现连接。服务器程序应答连接的程序代码如下:PrivateSubsckListen_ConnectionRequest(ByValrequestIDAsLong)sckServer.AcceptrequestID ‘应答连接请求EndSub当服务器程序执行Accept方法建立连接后,客户程序中的接连控件将触发Connect事件通报连接完成,否则触发Error事件通报连接失败。可以在该事件程序中加入连接后的处理程序。如果要求服务器程序支持多用户连接,则需要创建Winsock控件数组,在连接时动态生成Winsock控件与客户程序建立连接。四、传送数据当服务器程序和客户程序连接成功后,可以开始传送数据。建立连接后的服务器程序和客户程序都可以发送或接收数据。当一方要发送数据时,调用SendData方法。DimSendStrAsStringSendStr=“连接成功!”Winsock1.SendDataSendStr ‘传送数据如果一方发送了数据,在连接的另一方控件将产生DataArrival事件,在DataArrival事件处理程序中需要调用GetData方法接收数据。接收数据类型必须与发送数据的类型一致方可正确接收数据。接收数据的程序代码如下:DimRecStrAsStringsckClient.GetDataRecStrPrintRecStr五、关闭连接当应用程序结束数据传送后,必须关闭连接,释放系统资源。当连接的一方关闭连接时,可以调用Close方法。关闭连接程序代码如下:sckClient.Close‘关闭连接一方执行关闭连接后,在连接的另一方控件将产生Close事件。程序需要处理事件,完成关闭连接的最后工作。VB实现C/S通信我们可以利用VB中的WinSock控件实现C/S结构的网络通信。我们可以创建TCP/IP协议或者是UDP协议的连接。我们以tcp/ip协议为例。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器监听,而另一个必须创建Socket客户去连接服务器。通过监听和连接,实现通信。一、创建服务器首先创建一个服务端口号。并开始监听是否有客户请求连接。
建立一个窗体,并向其增加一个Winsock控件,我们通过“工程”菜单中的“部件”添加此控件,添加两文本框Text1,Text2,和一按钮Command1
PrivateSubform_Load()
SockServer.LocalPort=3000′服务器端口号
SockServer.Listen′开始监听
EndSub
PrivateSubform_Unload(CancelAsInteger)
SockServer.Close
EndSub
PrivateSubSockServer_Close()
SockServer.Close
EndSub
PrivateSubSockServer_ConnectionRequest(ByValrequestIDAsLong)SockServer.Close
SockServer.AcceptrequestID′客户请求连接的ID号
EndSub
′当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。
PrivateSubSockServer_DataArrival(ByValbytesTotalAsLong)DimsAsStringSockServer.GetDatasText1.Text=sEndSub当我需要向客户发送数据时,只需调用SendData方法。PrivateSubCommand1_Click()SockServer.SendDataText2.TextEndSub二、创建客户要创建客户连接服务器,首先设置服务器主机名,如IP地址、域名或计算机名,然后设置服务器端口,最后连接服务器。建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件),取名为:SockC1。添加两文本框Text1,Text2,和一按钮Command1PrivateSubform_Load()SockCl.RemoteHost=′″′服务器主机名SockCl.RemotePort=3000′服务器端口名SockCl.Connect′连接到服务器ENDSUb
PrivateSubform_Unload(CancelAsInteger)SockCl.CloseEndSubPrivateSubSockCl_Close()SockCl.CloseEndSubPrivateSubSockCl_DataArrival(ByValbytesTotalAsLong)DimsAsStringSockCl.GetDatas′接收数据到文本框中Text1.Text=sEndSubPrivateSubCommand1_Click()SockCl.SendDataText2.Text′向服务器发送数据EndSub三、通信把这两个窗体分别编译成两个EXE文件,服务器Server.exe和客户Client.exe程序,并把它们分别安装在服务器端和客户端,这样就可以实现服务器和客户机通信了。第二章网管软件的设计网络管理是整个调度系统中非常重要的组成部分,是实现调度通信系统维护和网络管理的核心。网络管理系统软件应能达到如下要求:(一)功能完善。(二)网管系统应能实现对整个系统的维护和管理。(三)能实现远程管理。(四)与其它信息系统能实现互联。(五)安全可靠。(六)界面友好。结合以上要求,该系统选择以网卡做为硬件接口,以基于TCP/IP协议的winsock通信程序做为网管软件的通信层模型。网管软件主要由以下几部分组成:用户管理,数据管理,安全管理,设备管理。本章将详细介绍上述各具体部分在该系统中的具体实现。该系统的网管界面如图3.1所示。在实际网络管理过程中,网络管理应具有的功能非常广泛,网管软件主要由几部分组成。图3.1网管用户界面图3.2工具栏网管用户可以通过对菜单栏和工具栏的简单操作实现对系统信息的查阅或对系统资源的配置。菜单栏简单明了,只要用鼠标单击其中任意一个菜单项,都会弹出该菜单的下拉式菜单。工具栏中按钮的表示如图3.2所示。第一节用户管理在该网管系统中,用户管理主要涉及到用户权限的分配,这里只有两种权限:管理员级权限和普通用户级权限。管理员在需要时可以对网络资源进行配置,即进行软、硬件的维护、故障的排除以及网络用户的管理等工作。只有管理员才可以根据人员的变动情况在网络上增加或删除用户,普通用户只有在管理员将其加入的情况下才可以使用网络资源,而且只能了解网络资源的运行情况,无权对网络资源进行配置。在该系统中系统的管理只需要一人即可。因此无论何时只需要一人在线值班。其中用户的更改和退出只对当前在线用户有效。用户管理模块主要包括用户登录,用户更改,用户创建,用户删除,以及用户退出等工作。用户登录必须是在用户事先注册创建后方可登录。该创建工作必须由网络管理员来进行。用户更改是用户自己对帐户和密码进行的更改。无权对他人的信息进行更改。用户管理流程与用户登录界面分别如图3.3、图3.4所示。图3.3用户管理流程图3.4用户登录界面第二节数据管理数据管理主要涉及对用户数据和主机界面数据的加载、修改、保存,这些数据是系统正常运行的重要信息。该网管系统负责从主机处理机方得到最原始的运行数据,然后对其进行加工处理,使其成为网管用户容易辨别的运行参数,通过运行参数的显示来了解系统的运行情况。这些数据可以保存在网管机的数据库中,每次得到或修改这些数据后都对其进行保存。重新启动系统时,网管机向主处理机发送,然后主处理机再加载。同时这些数据也可以保存在主处理机中,如果保存在主处理机中,必须事先在主处理机中设立一个数据文件并将文件存储在外存储器上,当主处理机采集到这些信息或网管机对这些数据修改后便将其保存在早已设立的数据文件中,每次系统重新启动时,从数据文件中加载数据,每次修改后保存上述数据文件,以确保每次修改能得到保存而且保存结果不会因为系统运行的终止而丢失。图3.5与图3.6分别是整个过程的流程图与软件界面图。图3.5数据管理流程图
图3.6数据管理界面第三节安全管理结合使用用户认证、访问控制、数据传输、存储的保密与完整性机制,以保障网络管理系统本身的安全。维护系统日志,使系统的使用和网络对象的修改有据可查。控制对网络资源的访问,告警信息的收集是通过主处理机与相应单元的通信来实现的。主处理机周期性的向相应单元发送检测信号,以主动实时的收集告警信息。网管机则是周期性的向主处理机发送“询问”信号,以便及时得到告警信息通知网络管理员,并将告警信息收告警日志管理,方便日后查询。其流程图如3.7所示。管理显示如图3.8所示。图3.7告警管理流程图3.8告警管理界面第四节设备管理设备管理主要负责系统的硬件配置、主备用倒换以及各功能单元的激活与去激活。系统的配置信息是系统设备运行的重要参数,决定系统的整体性能和功能。对于有重大告警单元的设备,是采用通信的方式通过主备用倒换实现的。设备管理流程图如图3.9所示。图3.9设备管理流程设备管理要达到的目标如下;(一)使用方便。系统应向用户提供使用方便的界面,使用户摆脱具体设备的物理特性,按照统一的规则使用设备。因为简单的输入输出程序也至少需要几百条指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025学年泰安市一中高一语文上学期期中考试卷附答案解析
- 插花花艺师设备安全技术规程
- 钟表及计时仪器制造工诚信品质水平考核试卷含答案
- 小朋友校园嬉闹摔伤协议书
- 函数的零点与方程的解(2大考点+12大题型)-2026年新高考数学一轮复习(讲义+专练)原卷版
- 海啸应急避险知识竞赛考试题库100题(含答案)
- 四年级学期回顾与展望
- 硕士教育的全景解析
- 《边做边学-After Effects 2021影视后期合成案例教》课件 第9章 添加声音效果
- 甘肃省陇南市康县2025-2026学年七年级上学期周期学业能力评鉴道德与法治试题(含答案)
- 制程质量管理培训
- 《城市轨道交通概论》试题库15套
- 个人借款合同标准范本合集
- 教师招聘考试教育法律法规试题库及答案
- 敲门礼仪培训课件
- 2025年急救专业面试题库和答案
- 大型体育馆音响设备吊装细则
- 员工绩效考核存在的问题及分析
- 2025教师考试试题真题及答案
- 2025年人力资源管理师考试真题及答案
- 临时场地使用协议书
评论
0/150
提交评论