(计算机应用技术专业论文)基于cs的网络监控管理系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于cs的网络监控管理系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于cs的网络监控管理系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于cs的网络监控管理系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于cs的网络监控管理系统的设计与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)基于cs的网络监控管理系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 c/s 的网络监控管理系统的设计与实现 - 2 - 摘要 随着计算机网络应用的日益广泛局部网络的管理已经成为网络管理的重 要内容本文在详细研究和分析了局部网络管理需求和实现的关键技术的基础 上提出了集网络控制管理以及管理者和用户交流功能于一体的网络管理新概 念并且以 windows 2000 操作系统为开发平台在 visual c+6.0 环境下开发 了基于 c/s 的网络监控管理系统 第一章介绍了网络监控系统的发展现状和本课题研究的主要内容 第二章介绍了本系统采用的关键技术多线程技术进程间通讯技术网 络通讯技术windows 系统的鼠标和键盘消息模拟技术屏幕抓取技术图像 编码和解码技术等同时介绍了网络通信协议的选择winsock 的网络编程基 本原理和一些在软件开发过程中用到的网络编程接口函数 第三章介绍了系统的设计与实现包括系统的设计要求系统的功能划分 以及系统每个模块的具体实现过程和技术 第四章讲述了系统安全部分的设计与实现通过对传输信息的加密与解密 保证了信息的秘密性和可靠性 第五章介绍了系统的调试运行结果并对结果进行了分析 最后对该系统进行了总结和展望 关键字网络监控套接字client/server 模型browser/server模型cryptoapi 基于 c/s 的网络监控管理系统的设计与实现 - 3 - abstract with the extensive application of computer network,the management of local network becomes the important content of network management.by researching and analysis of local network management requirement and key technology of implement in detail, this article introduces a new network management concept combing network monitoring, control and management, communication function.and then a network monitoring software based on windows 2000 is developed in the environment of microsoft visual c+6.0. in the first chapter,the thesis introduces the present situation of network monitoring system and the research content for this topic. in the chapter 2,the thesis introduces the key technologies: technology of multithreading, communication between procedures, network communication, the message simulation of mouse action and keyboard in windows 2000 system,capturing the screen of remote computer, the encoding and decoding of images and so on.these are discussed in detail: the selection of network communication protocol, the principle of winsock network programme and the important api functions. in the chapter 3,the thesis introduces the design and implement of the system,including designing requirement ,the systematic functions, and the detailed implement and technology of each module of system. in the chapter 4,the thesis tells the design and implement of the safe part of the system. through encrypting and decrypting information , the system guarantees the secret and dependability of the information. in the chapter 5,the thesis introduces the debugging operation result of the system, and analyses the result. finally,summarize this system and look into the distance. key words:network monitoring and control; sockets; client/server model; browser/server model; cryptoapi 基于 c/s 的网络监控管理系统的设计与实现 - 6 - 第一章 绪 论 1.1 引言 当今的信息社会网络技术的快速发展使得人类社会的各个方面发生了巨 大的变化人们已经不再仅仅局限于使用一台单独的计算机网络互联及网络 化的管理应用极大地提高了效率在娱乐通讯信息服务等社会生活领域以 及金融邮电等各种生产服务部门都有自己的网络并且日益完善而部门与 部门之间也相互连接实现资源的共享借此增强部门内部的信息交流以及各个 部门之间的协同工作因此网络已经成为政府和企业不可或缺的一个组成部 分 目前对于企业或单位局域网的管理者来说网络用户比较复杂网络使用 情况不容易控制使用者可能滥用网络或者从事与工作学习无关的活动影 响企业或单位生产经营的效率造成企业或单位成本的过量的开销据统计 公司员工的上网活动 50%以上与工作无关比如在上班时间浏览与工作内容无 关的网站使用 qq 聊天涉及网络游戏等不仅给公司造成巨大损失而且 也败坏了内部风气另外计算机的用电量也占企业或单位经营成本的一部分 但一些员工的节约意识比较薄弱没有养成人走关机的习惯无形中也造成了 极大的资源浪费 因此网络监控管理软件的研发就成了众多的软件企业与科研机构的主要 研发热点之一这种应用软件因其具有极其广泛的应用领域如网络多媒体教 室网络管理与控制网络服务在线技术支持等使得它具有非常良好的发 展前景与商业价值 1.2 网络监控管理系统概述 1.2.1 网络监控管理的概念 网络监控管理指的是通过计算机网络对分布在网络上的计算机实现远程 监控管理工作这种监控管理是通过对基于网络通讯的标准通讯协议和对目 标主机的准确控制来实现的网络监控管理就是建立在现代的计算机技术通 信技术控制技术以及图形技术上的一个新的应用它采用多元的信息传输 监控管理和一体化的集成实现了消息资源和任务的共享达到了监控的 实时快速和有效并能够跟其他的计算机网络系统互联向用户提供了一个 更高效更全面更安全更快捷的服务方式改变了传统的监控模式 随着计算机网络的迅猛发展全球信息化已经成为人类未来发展的大趋势 基于 c/s 的网络监控管理系统的设计与实现 - 7 - 网络监控管理也必将对人们提高工作效率实现信息和资源共享打破空间限 制和实现技术革新等各个方面起到积极的作用而且也将对信息安全等网络 安全领域防止网络犯罪等领域的技术发展提供有益的技术支持所以对于 网络监控管理技术的研究分析具有深远的意义 1.2.2 网络监控管理系统的工作模式 信息技术的高速发展推动了应用程序结构不断更新从单机时代的主机/终 端模式文件服务器时代的共享数据模式客户机/服务器时代的 client/server 模式简称 c/s 模式到电子商务时代的 browser/server模式 简称 b/s 模式 应用程序的体系结构已经发生了巨大的变化采用主机/终端模式的应用系统的 缺点是事务处理数据管理都要由主机实现而客户机仅能对主机上的数据库 进行简单的操作因此主机负担过重 c/s 模式克服了主机/终端模式的缺点但是应用逻辑安装在每个客户机上 如果系统要升级就只能对客户机逐一进行如果客户机分布在不同的地点 维护和升级任务将非常繁重 b/s 模式是一种以 web 技术为基础的新型的系统平台模式把 c/s 模式中 的服务器部分分解为一个数据服务器与一个或多个应用服务器构成一个三层 结构的客户服务器体系它克服了主机/终端模式和 c/s 模式的缺点但由于客 户通过浏览器就可以访问数据库若系统的安全权限管理不严密容易出现不 安全的因素 1.2.3 网络监控管理系统的分类 根据网络监控通信中所使用的传输信道的不同网络监控管理系统可以分 为有线系统和无线系统两类 (1) 有线系统 根据信道的运营方式不同可以分为公用网和专用网常用的公用网包括 公用电话交换网公众数据网等公用电话交换网public switching telephone networdpstn基于电路交换它的设计主要用于语音通信在各个网络之 间完全互联网络在本地环路部分是模拟的在主干线路是数字的数字数据 网digital data networkddn是采用数字信道传输信号的数据传输网一 般用于向用户提供专用的数字传输信道或提供将用户接入公用数据交换网的 接入信道传输链路有光纤微波等具有传输质量高速度快等优点利用 公用网作为网络监控管理的通信信道由于现在大部分电话网采用的是时分多 路复用技术(time-division multiplexingtdm ) 因而传输速率受到一定的影响 误码率也比较高线路可靠性较差 基于 c/s 的网络监控管理系统的设计与实现 - 8 - 相对于公用网来说专用网是国防铁道等专业部门自己建立的或者向电 信部门租用线路构成的网络比如电力系统的线路有线电视网等利用专用 网作为网络监控管理的通信信道成本较高两端(监控端和受控端的设备)不 容易移动资源浪费比较严重 (2) 无线系统 无线系统是指通过无线信道传输信息的系统常用的无线系统主要是电信 部门提供的公用无线网络如 gsmcdma 等无线系统以开放式传播来传 递信息打破了一定要有全封闭式传输线路的限制并将通信方式从静态推广 至可移动式的准动态其代价是牺牲了全封闭式的优质人造信道换取了无需 采用固体介质专用线路的开放式传输的灵活性但是信道的开放性必然会引起 信道的时变性和随机性从而大大降低了通信容量和质量在网络监控管理系 统中无线传输适合于那些不便于布线或者需要移动的场合能够发挥其无需 布线的优势但是容易受干扰安全性较差传输距离对环境的依赖性较大 总体成本较高因为两端都需要无线发射和接收装置 1.3 网络监控管理系统的国内外研究现状与发展前景 1.3.1 国内外的研究现状 在计算机技术电子技术和通讯技术迅猛发展的过程中监控系统的技术 水平也从初期的模拟信息传输和监控飞速发展到了数字化网络化信息传输和 监控作为现代工业技术的一个重要支撑技术与组成要素网络监控管理技术 近几年越来越受到人们的重视许多新的监控方法不断涌现出来如智能监控 在线监控和远程监控等 目前网络监控管理系统已经在安全监控生产过程监控住宅小区等领 域得到广泛应用网络监控管理系统以其远距离监控管理的独特优势逐渐赢得 广大客户的青睐对其进行研究将会带来巨大的社会效益和经济效益 针对网络监控管理国内外都有不同程度的研究相对来说由于西方国 家在信息技术和计算机控制技术发展上的优势他们在研究网络监控管理方面 相对早一些而且有些公司也有相关的产品问世比如在基于因特网的网络监 控方面美国伯克立大学研制的 telegarden 是一个通过因特网远程控制的种植 花草的工业机器人手臂用户通过机器人手臂上的摄像机所传输的图像对这 个花园内进行简单的操作如种植花草浇水等国内由于计算机技术与通讯 技术的飞速发展近几年也开始积极开展这方面的研究目前国内不少高校 及科研单位已投入大量技术力量和资金设计和开发各类网络监控系统比如西 安交大电子信息学院开发的三峡大坝分布式网络监控系统上层采用标准以太 基于 c/s 的网络监控管理系统的设计与实现 - 9 - 网底层网络采用 rs-485 协议总线技术加上服务器监控工作站构成一个 适合工业现场的局域网监控系统国内的哈尔滨工业大学正在研制基于因特网 控制的机器人另外由西安交通大学开发的基于因特网的快速成型和快速加 工技术只要用户安装了 www 浏览器就可以通过 http 获得远程服务部 tsb(tele-service bureau)的在线技术支持和数据交换 1.3.2 发展前景 (1) 家庭办公将成为时尚 gartnet group 公司预言到 2006 年全世界将有 2 亿以上的人经常不在办公 室内工作 (2) 远程技术支持的流行 通常技术支持必须依赖技术人员和用户之间的口头交流来进行这种交 流既耗时又容易出错许多商业用户对计算机知之甚少然而当遇到问题时 他们必须向技术人员提供故障情况并获得相关操作比如向无法看到计算机屏 幕的技术人员描述问题的症状按技术人员的提示精确地描述屏幕上的内容 在尝试解决问题时技术人员可能指导用户执行一系列复杂的过程而这些过 程对用户来说或许完全不熟悉如果用户不能正确地按要求操作反而可能使 问题恶化以上这些情形既费时又费事工作效率很低网络监控管理软件能 使技术人员直接操作远程计算机就像操作本地机器一样无须用户介入技 术人员就能得到问题的第一手资料从而加快问题的解决 (3) 远程教学的发展 在远程教学中需要大量使用计算机远程教学软件通过这种软件师生可 以进行实时的交流对话和传递文件因此网络监控管理软件在远程教学中 将大有作为 (4) 企业内部管理 现在很多企业开始使用监控系统用摄像的方式来监控员工的行为但是 这种监控系统对员工的敲键发送邮件等细小的行为依然无能为力网络监控 管理软件却能轻松地管理这些细节问题因此网络监控管理软件在企业的内 部管理上将发挥很大的作用 1.4 本文选题及研究的主要内容 网络监控管理是一个具有重要的研究价值的课题它在工业国防等各方 面有着广泛需求随着网络技术的进一步发展网络速度越来越快家庭办公 基于 c/s 的网络监控管理系统的设计与实现 - 10 - 将成为未来的时尚远程技术支持将逐渐占据技术支持的主流远程教学和培 训也将快速发展企业规模将迅速扩大所有这些发展都为网络监控管理软件 提供了一个广阔的天地根据 idc 预计网络监控软件市场将从 1998 年的 6.77 亿美元发展到 2002 年的 19 亿美元年增长率达 31.5%是软件技术支持消费 中第 3 个增长最快的领域但是许多网络监控管理软件都需配有硬件设备 这不仅使得实际应用的成本升高而且也使实施应用增加了技术障碍 本文利用网络通信技术winsock 技术实现了一个基于 c/s 的网络监控管 理系统 程序的开发采用面向对象的开发技术 利用 visual c+6.0 在windowsxp 平台上开发程序的界面和框架利用 mfcmicrosoft foundation class实现 远程监控部分采用基于客户机/服务器的模式开发网络通信部分采用面向连接 的传输控制协议(transmission control protocoltcp)利用 winsock 接口开发 整个系统采用开放的分层的面向对象的体系结构可以根据不同需求和环 境进行灵活的组合和配置是一个简单实用高效的监控系统 论文主要进行了以下工作 (1) 研究 winsock 的网络编程原理用 winsock api 实现了网络通信模块 (2) 研究多线程编程技术 (3) 研究进程间通讯技术 (4) 用哈夫曼算法实现图像压缩 (5) 在 visual c+6.0 中实现鼠标和键盘的消息模拟 (6) 在 visual c+6.0 中用 cryptoapi保证数据通信的安全 基于 c/s 的网络监控管理系统的设计与实现 - 11 - 第二章 网络监控技术的基本原理 2. 1 tcp/ip体系结构 tcp/ip 起源于 20 世纪 60 年代末美国政府资助的一个分组交换网络研究项 目现在已经发展成为计算机之间最常应用的组网形式它是一个真正的开放 系统因为其协议组件的定义及多种实现可以不用花钱或花很少的钱就可以得 到需要说明的是tcp/ip 协议不是单个协议而是一组协议它们用分层的 方式开发以协作方式完成在具体物理介质上的通信功能tcp/ip 协议体系在 和开放系统互联open system interconnectionosi的竞争中取得了决定性的 胜利得到了广泛的认可成为事实上的网络协议体系标准 2.1.1 tcp/ip分层模型 网络协议通常分不同层次进行开发每一层分别负责不同的通信功能 tcp/ip 通讯协议采用了 4 层的层级结构每一层负责不同的功能其层次结构 如图 2-1 所示1 应用层 传输层 互联网层 网络接口层 图 2-1 tcp/ip 参考模型 (1) 网络接口层 该层通常包括操作系统中的设备驱动程序和计算机中对应的接口卡它们 一起处理与电缆或其他任何传输媒介的物理接口细节该层包含的协议主 要有地址解析协议address resolution protocolarp和反向地址解析协议 reverse address resolution protocolrarp (2) 互联网层 该层主要负责解决路由跨网络传送等问题把 ip 报文从源端传送到目的 端该层协议采用非连接传输方式不保证 ip 报文顺序到达在 tcp/ip 协议 体系中互联网层是由网际协议internet protocolipinternet 控制报文协议 internet control message protocolicmp以及 internet组管理协议internet 基于 c/s 的网络监控管理系统的设计与实现 - 12 - group management protocoligmp等组成 (3) 传输层 该层主要为两台主机上的应用程序提供端到端的通信在 tcp/ip 协议体系 中有两个互不相同的传输协议tcp 和用户数据报协议user datagram protocoludptcp 为两台主机提供高可靠性的数据通信它保证源端发送 的字节流毫无差错地按顺序到达目的端udp 则为应用层提供一种非常简单的 服务它只是把称作数据报的分组从一台主机发送到另一台主机但不保证该 数据报能到达另一端任何必需的可靠性必须由应用层来提供 (4) 应用层 该层负责处理特定的应用程序细节几乎各种不同的 tcp/ip 实现都会提供 下面这些通用的应用程序远程连接服务的标准协议 telnet 文件传输协议 file transfer protocolftp简单邮件传输协议simple mail transfer protocol smtp简单网络管理协议simple network management protocolsnmp 2.1.2 传输层协议 (1) udp udp 协议提供的是一种不可靠的无连接的数据报传输的服务udp 提供 协议端口可以为一台机器上的多个应用程序提供数据传输的多路复用同时 也提供用户数据报端到端的数据验证 udp 利用 ip 协议来传送报文它既不对所传送报文实行端到端的确认 也不保证报文按序到达同时也没有提供流量控制等手段控制两站点间数据传 输的流量3 不管怎样udp 仍然具有相当广泛而且相当灵活的应用实际上现代通 信网络具有很高的可靠性udp 为此提供了尽可能的最小控制开销有时为了 可靠地传递少量的数据而浪费大量的控制信息是很不值得的即使由于某种 原因通信质量下降也能够由程序控制重传或者切换到另一个可能的服务 器上正因为如此有许多常见的应用是采用 udp 协议来实现的比如说为 其他 tcp/ip 应用提供名字解析服务的域名解析系统(domain name server dns)单纯文件传输协议(trivial file transfer protocoltftp )snmp 等都采 用 udp 协议传输数据同时 udp 还具有实时传递数据的特性因此许多应用 程序都使用 udp 传送音频和视频等大量的多媒体数据例如实时传输协议 real-time transport protocolrtp在因特网上的实现就是利用 udp 来实时 传递数据的 基于 c/s 的网络监控管理系统的设计与实现 - 13 - (2) tcp ip 协议建立了 tcp/ip 网络无连接不可靠的最基本数据报传送服务udp 利用 ip 协议来传送报文这样就增加了同一台主机上多个应用同时传输数据的 多路复用功能然而 udp 和 ip 协议一样 也只能提供无连接和不可靠的服务3 和 udp 不同tcp 虽然也是建立在 ip 协议之上但 tcp 却能提供面向连 接可靠的流传输为此它也付出了相当大的开销tcp 在进行数据传输前 首先会在源端点和目的端点之间建立一条连接如果连接建立失败源端点和 目的端点之间就不再会有数据传送对于传输的每个报文tcp 都需要源端点 向目的端点发送确认信息如果在适当的间隔内源端点收不到确认源端点会 重新发送未被确认的报文不管下层的 ip 数据报是否按序到达目的主机tcp 都会保证数据按照原有的发送顺序传递给应用程序另外tcp 还提供了流量 控制和拥塞控制避免了因接收缓冲区溢出或者网关拥塞而导致的大量数据重 传 tcp 提供了非常可靠的数据传输服务这非常方便编程使用因而有大量 的应用采用它 2.1.3 tcp和udp协议的比较 使用 udp 时每个数据报中都给出了完整的地址信息因此无须建立发送 方和接收方的连接对于 tcp 协议由于它是一个面向连接的协议在进行数 据传输之前必然要建立连接所以在 tcp 中多了连接建立的时间 一般情况下tcp 和 udp 共存于一个 internet 中前者提供高可靠性服务 后者提供高效率服务高可靠性的 tcp 用于一次要交换大量报文的情形比如 文件传输远程登录等高效率的 udp 用于一次传输交换少量报文尤其是交 易型应用比如数据库查询的情形其可靠性由应用程序提供因为交换次数 不多即便发生传输错误必须重传应用程序也不会为此付出太大的代价 总之tcp 在网络通信上具有极强的生命力例如 telnet 和 ftp 都需要不 定长度的数据被可靠地传输相比之下udp 操作简单而且仅需要较少的维 护因此通常用于局域网中高可靠性的应用程序对于 tcp 来说可靠的传输 是要付出代价的确认与超时重传等机制必然要占用计算机的处理时间和网络 的带宽因此 tcp 传输的效率不如 udp 高因此对于不需要保证严格的传 输可靠性的应用比如视频会议系统并不要求音频视频数据绝对正确而只要 保证连贯性就可以了这种情况下显然使用 udp 会更合理一些 2. 2 网络监控管理系统的基本体系结构 信息技术的高速发展推动了应用程序结构不断更新从单机时代的主机/终 基于 c/s 的网络监控管理系统的设计与实现 - 14 - 端模式文件服务器时代的共享数据模式客户机/服务器时代的 c/s 模式到 电子商务时代的 b/s 模式应用程序的体系结构已经发生了巨大的变化主机/ 终端模式由于硬件选择有限硬件投资得不到保证已被逐步淘汰而文件服 务器时代的共享数据模式只适用小规模的局域网对于用户多数据量大的情 况就会产生网络瓶颈特别是在互联网上不能满足用户要求因此网络监控 管理系统平台模式主要考虑的是 c/s 模式和 b/s 模式 2. 2. 1 c/s结构 c/s 结构是常用的网络设计模型网络通信要求在两台计算机或互相对话 的两个程序之间建立网络连接网络连接包括通信进程的两端以及它们之间的 通道 (1) c/s 结构的概念 按照计算机体系结构的观点可以把 c/s 结构分为硬件的 c/s 结构和软件 的 c/s 结构硬件的 c/s 结构是指将给定的处理任务在两台或多台机器之间进 行分配其中客户机用来提供用户接口客户机使用的各种资源有硬件服务器 提供把提供服务的一方称为硬件服务器如打印服务器文件服务器等 软件的 c/s 结构是指一个软件系统或应用系统按照逻辑功能分成若干个组成部 分再根据相对角色的不同将其分别定义为客户端软件和服务器端软件客 户端软件能够请求服务器端软件提供服务服务器端软件则专门用于处理客户 端请求服务器端软件常提供下列类型的服务数据库服务远程过程调用和 应用程序服务 c/s 结构将网络应用程序分为两部分客户端部分和服务器端部分网络 连接的客户端请求服务器端提供服务和信息服务器端对客户端的请求做出响 应也就是说在 c/s 结构中网络应用程序完成两个独立的和定义好的功能 请求信息和对请求信息做出响应请求信息是客户端应用程序对请求信息做 出响应的程序充当服务器端程序 (2) c/s 结构的特点 c/s 应用系统基本运行关系体现为请求/响应的应答模式每当用户需 要访问服务器时就由客户端发出请求服务器接受请求并响应然 后执行相应的服务将执行结果送回给客户端由它进一步处理后再提交给用 户 c/s 结构被设计成两层模式显示逻辑和事务处理逻辑部分均被放在客户 端数据处理逻辑和数据库放在服务器端5从 c/s 意义上来讲一层就代表 一个具有定义好的特定功能平台在一个两层系统中第一层包含一个运行主 基于 c/s 的网络监控管理系统的设计与实现 - 15 - 应用程序的客户工作站这个客户程序除了系统所要求的所有逻辑功能外还 拥有用户接口功能因为客户程序负责这么多核心的功能所以在两层结构的 环境中的客户端应用程序通常被称为胖客户具体的说胖客户是指加载了应 用程序的核心功能的一个两层客户/服务器环境中的一个客户机这种结构如图 2-2 图 2-2 两层 c/s 模式结构 两层 c/s 结构的特点如下所列 ? 具有成熟的设计开发方法和工具经过多年的积累基于 c/s 模式的系 统设计开发方法已被用户所熟悉和掌握 ? c/s 开发和维护的成本较高对不同客户端要开发不同的程序编程工 作量大如果应用程序要进行安装和升级均需要在所有的客户机上进行 复杂而且麻烦 ? c/s 的客户端具有显示与处理数据的功能负载较重应用系统的功能 越来越复杂客户端的应用程序也变得越来越庞大而不断提高客户机的 配置又加重了投资的成本 ? c/s 系统模块中每一部分的变动均要关联到其他模块的变动灵活性差 ? c/s 系统中的客户机直接同服务器相连数据库的事务处理逻辑包含在 客户端应用程序中未经授权的用户可以很容易的通过应用程序侵入系统 2. 2. 2 b/s结构 随着 internet/intranet 技术的不断发展尤其是基于 web 的信息发布和检索 技术导致了整个应用系统的体系结构从 c/s 的主从结构向灵活的分布式结构 演变在当今以 web 技术为核心的信息网络中这一演变给体系结构的应用赋 予了新的内涵这种新型的分布式结构就是 b/s 结构b/s 模式结构如图 2-3 所 示 客户机服务器 请求 响应 基于 c/s 的网络监控管理系统的设计与实现 - 16 - 图 2-3 b/s 模式结构 b/s 模式是一种以 web 技术为基础的新型的系统平台模式把传统 c/s 模 式中的服务器部分分解为一个数据服务器与一个或多个应用服务器web 服务 器构成一个三层结构的客户服务器体系 第一层客户端浏览器是用户与整个系统的接口客户端的应用程序精简 到用一个通用的浏览器软件如微软公司的 ie 等浏览器将 html 代码转化 成图文并茂的网页网页还具备一定的交互功能允许用户在网页提供的申请 表上输入信息提交给后台并提出处理请求这个后台就是第二层的 web 服务 器 第二层web 服务器将启动相应的进程来响应这一请求并动态生成一串 html 代码其中嵌入处理结果返回给客户端的浏览器如果提交的请求包 括数据的存取web 服务器还需与数据库服务器协同完成这一处理工作 第三层数据库服务器的任务是负责协调不同的 web 服务器发出的请求 管理数据库 b/s 模式具有以下优势 (1) 简化了客户端 它无须象 c/s 模式那样在不同的客户端上安装不同的客户应用程序客户 端只要安装有浏览器软件即可使用系统这样不但可以节省客户端的硬盘空间 与内存而且使安装过程更加简便网络结构更加灵活用户只需通过浏览器 查询和处理相关的数据其次它简化了系统的开发和维护系统的开发者无 须再为不同级别的用户设计开发不同的客户应用程序只需把所有的功能都实 现在 web 服务器上然后按照不同的功能为各个组别的用户设置权限就可以了 各个用户通过 http 请求在权限范围内调用 web 服务器上不同处理程序从而 完成对数据的查询或修改 相对于 c/sb/s 的维护具有更大的灵活性当形势变化时它无须再为每 一个现有的客户应用程序升级而只需对 web 服务器上的服务处理程序进行修 订这样不但可以提高企业的运作效率还省去了维护时协调工作的不少麻烦 客户端浏览器 web 服务 以网页格式 返回用户请求 客户网页请求 数据请求 数据应答 数据库 基于 c/s 的网络监控管理系统的设计与实现 - 17 - 如果一个企业有上千台客户机且分布在不同的地点那么便于维护将会显得 尤 为重要 (2) 使用户的操作变得更简单 对于 c/s 模式客户应用程序有自己特定的规格使用者需要接受专门培 训而采用 b/s 模式时客户端只是一个简单易用的浏览器软件无论是决策 层还是操作层的人员都无须培训就可以直接使用b/s 模式的这种特性还 使系统维护的限制因素更少 2.2.3 c/s模型与b/s模型的比较 在 c/s 结构模式的网络中用户界面业务功能数据处理和信息查询等 的完成基本上都在客户端该模式下所有的客户机与服务器相连服务器负责 数据的处理客户端负责与用户的交互向后台的服务器发出请求其数据业 务流程如图 2-2 所示c/s 结构的数据交互性强能够处理大量的数据流存取 安全处理速度快界面友好根据该特点c/s 模式适合于固定小范围安 全性要求高处理数据量大的领域 在 b/s 结构模式中internet 客户端不再与数据相关联的服务器直接相连 而是通过 web 服务器与数据库服务器相连用户的请求先送到 web 服务器再 由 web 服务器通过中间件送到数据库服务器而 web 服务器负责将处理结果格 式化为 html 格式最后再反馈给客户其数据业务流如图 2-3 所示在该模 式下数据处理在数据库服务器上完成业务功能由 web 服务器完成用户界 面就是客户端的浏览器该模式的客户端程序简单而统一以浏览器作为统一 的用户界面操作简便系统开发和维护费用少软件更新仅涉及到服务器端 的软件更新由于其客户端不直接与数据库服务器相连接提高了数据库的安 全但是由于客户端不需安装其它的软件客户通过浏览器就可以访问数据 库若系统的安全权限管理不严密容易出现不安全的因素根据这个特点 该模式适合于在安全性和数据交互性不高地点灵活的广域范围内 本系统主要针对局域网中的网络监控并且监控端与受控端之间存在大量 的数据流因此本系统采用两层 c/s 结构作为应用程序的结构 2. 3 基于winsock的网络通信原理 套接字(sockets)最初是由加利福尼亚大学 berkeley 分校为 unix 操作系统 开发的网络通信接口随着 unix 操作系统的广泛使用套接字成为当前最流 行的网络通信应用程序接口之一 套接字是通信的基石是支持 tcp/ip 协议的网络通信的基本操作单元可 基于 c/s 的网络监控管理系统的设计与实现 - 18 - 以将套接字看作不同主机间的进程进行双向通信的端点每个网络对话包括两 个端点本地主机(或进程)和远端主机(或进程)它构成了在单个主机内及整个 网络间的编程界面4套接字存在于通讯域中通讯域是为了处理一般的线程 通过套接字通讯而引进的一种抽象概念套接字通常和同一个域中的套接字交 换数据winsock 规范支持单一的通讯域即 internet 域各种进程使用这个域 互相之间用 tcp/ip 协议体系来进行通讯套接字可以根据通讯性质分类这种 性质对于用户是可见的应用程序一般仅在同一类的套接字间通讯不过只要 底层的通讯协议允许不同类型的套接字间也照样可以通讯根据网络通信的 特性套接字可分为两类流套接字和数据报套接字流套接字提供了双向有 序的无重复并且无记录边界的数据流服务数据报套接字支持双向的数据流 但并不保证是可靠有序无重复的流和数据报套接字编程时序图分别如图 2-4 和图 2-5 所示 图 2-4流套接字编程时序图 图 2-4 说明服务器必须先启动直到它执行完 accept 调用进入等待状态 后才能接受客户请求假如客户先启动则 connect将返回出错代码连接不 成功面向连接的服务器处理的请求往往比较复杂不是一来一去的请求应答 所能解决的而且往往是并发服务器 利用 winsock 编程可划分成以下几项内容 (1) 初始化 winsock 资源 在使用 winsock 之前必须对其进行初始化使用 wsastartup 函数可对 socket() bind() listen() accept() read() write() closesocket() 阻塞等待客 服务器 socket() connect() write() read() closesocket() 客户机 建立连接 请求数据 应答数据 基于 c/s 的网络监控管理系统的设计与实现 - 19 - winsock 库进行初始化操作 (2) 创建套接字并绑定 调用 socket 函数创建一个待使用的套接字通过这个函数的参数定义了套 接字的类型网络地址类型和使用的协议使用 bind 函数绑定套接字通过它 将创建好的套接字与本地地址和本地端口联系起来一个完整的网络通信必须 具备协议本地地址本地端口远端地址和远端端口 5 个基本要素在创建 套接字时确定了协议类型而在绑定套接字时确定本地地址和本地端口远端 地址和远端端口的确认需要通过下面讨论的连接和通信类函数实现 (3) 建立 socket连接 在客户端使用 connect 函数和服务器建立连接而在服务器端则使用 listen 监听来自客户的连接请求并通过调用 accept 函数接受客户的连接请求 (4) 通过套接字进行网络通信 发送数据使用 writewritevsendsendto 和 sendmsg 函数其中前三个用 于面向连接的数据发送另外两个用于无连接的数据发送接收数据使用 read readvrecvrecvfrom和 recvmsg他们和上面的发送函数是一一对应的 (5) 关闭套接字 释放 winsock 资源在通信结束后使用 closesocket 关闭不再使用的套接字 并调用 wsacleanup 释放底层的资源 图 2-5数据报套接字编程时序图 图 2-5 说明无连接服务器也必须先启动否则客户服务请求就传不到服务 socket() bind() readfrom() 处理服务请求 sendto() closesocket() 阻塞等待客 服务器 socket() bind() sendto() readfrom() closesocket() 客户机 服务请求 服务应答 基于 c/s 的网络监控管理系统的设计与实现 - 20 - 器进程无连接服务器一般都是面向事务处理的一个请求一个应答就完成了 客户程序与服务程序之间的相互作用 2. 4 winsock下网络通信的编程实现2 2.4.1应用程序与winsock的关系 目前通信网的协议多采用 tcp/ip但是所开发的网络通信应用程序并不能 直接与 tcp/ip 核心打交道而是与网络应用编程接口 winsock api 打交道 winsock api 则可直接与 tcp/ip 核心进行沟通winsock api 在继承了 berkeley 套接字主要特征的基础上又对它进行了重要扩充如提供了异步处理函数 增加了符合 windows 消息驱动特性的网络事件异步选择机制这些扩充有利于 应用程序开发者编写符合 windows 编程模式的软件它使在 windows下开发高 性能的网络通信程序成为可能5应用程序调用 winsock api 实现相互之间的通 讯winsock 又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯 工作这样就隐藏了网络底层复杂的结构和协议应用程序在网络上传输接 收的信息都通过这个 socket 接口来实现在应用程序中就像使用文件句柄一 样可以对 socket 句柄进行读写操作应用程序与 winsock 的关系如图 2- 6 所示 图 2-6 应用程序与 winsock的关系 2.4.2 winsock网络编程接口函数 在 vc 中进行 winsock 的 api 编程开发需要用到 winsock2.hws_32.lib ws2_32.dll 三个文件其中 winsock2.h是 winsock api 的头文件ws_32.lib 是 winsock api 链接库文件在使用中把它作为项目的非缺省链接库包含到项目 文件中去ws2_32.dll 是 winsock 的动态链接库位于 windows 的系统目录下 应用程序 网络编程接口如 winsock api 网络通信协议服务界面如 tcp/ip 网络操作系统 物理通信介质 基于 c/s 的网络监控管理系统的设计与实现 - 21 - winsock 以链接库的形式向程序员提供一个功能强大的函数集通过对这 个函数集的调用应用程序可以完成特定的任务下面列出最常用的几个函数 (1)初始化 winsock函数 wsastartup() 函数原型声明如下 int pascal far wsastartup(word wversionrequestedlpwsadata lpwsadata) 由于 winsock 的服务是以动态链接库 winsock dll 形式出现的所以必须 先调用 wsastartup()对 winsock dll 进行初始化协商 winsock 的版本支持 并分配必要的资源如果在调用 winsock 函数之前没有对 winsock dll 进行 初始化则会返回 socket_error 错误该函数共有两个参数其中参数 wversionrequested 用于指定准备加载的 winsock 库的版本lpwsadata 参数是 指向 lpwsadata 结构的指针该结构包含了加载的库版本有关的信息在本 文中本系统采用的是 winsocket 2.0 版本的具体代码如下 wsadata wsadata; if (wsastartup(makeword(2,2), if ( lobyte( wsadata.wversion ) != 2 |hibyte( wsadata.wversion ) != 2 ) wsacleanup(); return -1; (2) 创建一个套接字的函数 socket() 建立 socket 描述字并为此 socket 建立其所使用的资源函数原型声明如 下 socket pascal far socket(int afint typeint protocol) 该函数有三个参数其中参数 af 用于指定网络地址类型unix 系统支持 的地址族有af_unixaf_inetaf_ns 等windows 系统当前只支持 af_inet它表示该套接字在 internet域中进行通信 参数 type 用于指定套接字类型若取 sock_steam 表示要创建的套接字 是流套接字而取 sock_dgram 表示要创建的套接字是数据报套接字 参数 protocol用于指定网络协议如果使用者不指定则设为 0 此函数调用成功返回 socket 对象失败则返回 invalid_socket调用 wsagetlasterror()可得知原因 基于 c/s 的网络监控管理系统的设计与实现 - 22 - 在本系统中创建一个用于通信的流式套接字的代码如下 m_ssocket = socket(af_inet, sock_stream, 0); if(m_ssocket wcmd = cmd_mouse_hook) /鼠标单击模拟 mouse_event (lpsendmsg-dwhookflags,lpsendmsg-dwhookparam1, lpsendmsg-dwhookparam2,0,0); 2. 7. 2 键盘的控制 模拟按键功能是通过向系统发送按键消息来实现的一般虚拟键值(vk_)由 keydown 或 keyup 事件得到keybd_event()是实现模拟按键的常用函数函 数 keybd_event()的原型声明如下 void keybd_event(byte bvkbyte bscandword dwflagsdword dwextrainfo) 函数 keybd_event()综合一个按键事件系统用这个事件产生 wm_keyup 或 wm_ keydown 消息 函数 keybd_event()有 4 个参数其中参数 bvk 指所按键的虚拟键值取值 范围在 1 至 254 之间常见的特殊键值有tab (9) ,shift (16) ,ctrl (17) ,alt (18)capslock (20)esc (27)win (9192)numlock(144)及 scrolllock(145) 等 参数 bscan指定按键的扫描码 参数 dwflags 定义函数的操作的类型键按下或者弹起 参数 dwextrainfo 指定一个附加的与键值有关联的 32 位值 2. 8 哈夫曼编码 在网络监控管理软件的远程屏幕控制中大数据量的图像信息会给存储器 的存储容量通信干线信道的带宽以及计算机的处理速度增加极大的压力单 纯靠增加存储器容量提高信道带宽以及计算机的处理速度等方法来解决这个 问题是不现实的这时就要考虑压缩10压缩的关键在于编码如果在对数据 进行编码时对于常见的数据编码器输出较短的码字而对于少见的数据则 用较长的码字表示就能够实现压缩哈夫曼编码是数据压缩中一种较为常用 的编码技术 哈夫曼编码是哈夫曼树的一个应用哈夫曼树又称最优二叉树是一种带 基于 c/s 的网络监控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论