简易代理服务器的设计

上传人:cn****1 文档编号:559621299 上传时间:2023-08-09 格式:DOC 页数:23 大小:400KB
返回 下载 相关 举报
简易代理服务器的设计_第1页
第1页 / 共23页
简易代理服务器的设计_第2页
第2页 / 共23页
简易代理服务器的设计_第3页
第3页 / 共23页
简易代理服务器的设计_第4页
第4页 / 共23页
简易代理服务器的设计_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《简易代理服务器的设计》由会员分享,可在线阅读,更多相关《简易代理服务器的设计(23页珍藏版)》请在金锄头文库上搜索。

1、简易代理服务器的设计摘 要代理服务器是介于浏览器和Web服务器之间的一台服务器,它的功能是代理网络用户去取得网络信息。它的工作原理是,接收客户机的数据连接请求,并将请求传给Web服务器;再从Web服务器接收返回的数据,最后把数据传给客户端显示。本论文讲述的是关于一个简单的代理服务器的实现,在实现中采用客户机/服务器结构模型开发应用程序,基于一般的访问浏览速度慢、效率底、安全功能不强等原因,将以简单、合理、有效为原则;为了方便分析和设计,系统设计中设置不同的状态量用于标识客户机、代理服务器及服务器间的联结状态。在保证系统基本功能的同时,使用多线程机制使得代理系统有更好的延续性。此代理系统具有简单

2、,易用,网络化等优点,能够完成一般的HTTP访问代理服务。关键词:客户机/服务器结构;多线程;套接字;代理服务器TheDesignofSimpleProxyServerAbstractThe proxy server is a server which situates between the browser and a Web server. Its principle of work is, it receives the connection request from the client, and hands down the requested to the Web server,

3、then receives data which is returned from the Web server., finally hands it down the data to the client. In the realization, it adopts Client/Server structural model to develop application. Because of browse speed slow, low efficient and not safe enough, it takes simple, reasonable and effective as

4、the principle. In the system design, it sets different states to identify client, proxy server and the connective state between servers. When the systems basic function are guaranteed, it use the multithreading to enable the proxy server to have a better continuous feature. This proxy system has the

5、 merit such as simple, easy to use and so on, and it can complete the proxy of general HTTP visit.Key words: Client / Server architecture;Multithreading;Socket;Proxy Server目 录论文总页数:20页1引言11.1课题背景11.2本课题研究的意义11.3本课题的研究方法12理论基础22.1代理服务器22.2目前的代理服务技术32.3Socket 面向连接的编程模型42.4Winsock库52.4.1winsock的寻址方式52.

6、4.2字节顺序62.5系统基本套接字调用62.5.1创建和关闭套接字socket()和closesocket()62.5.2指定本地地址bind()62.5.3设置监听状态-listen()62.5.4建立套接字连接connect()和accept()62.5.5收发数据-send()和recv()73设计方案73.1基本函数设计73.2多线程流程84服务器的实现84.1环境创建84.2功能实现94.2.1数据变量定义94.2.2启动代理服务器104.2.3请求处理过程114.2.4请求响应134.2.5关闭服务器154.2.6控制主函数155测试结果15结 论17参考文献18致 谢19声 明

7、20商业源代码,全套计算机毕业设计免费下载 更多全套设计联系QQ:最新设计大全 1 引言1.1 课题背景普通的因特网访问是一种典型的客户机与服务器结构,而代理服务器将运行于客户机与服务器之间,它作为Internet/Intranet上常用的一种服务器,通常配置在Intranet连接Internet的出口处,主要实现代理传输服务。可以这样认为,代理是双向的。即对于内部网上的用户来说,代理服务器可看作是一个外部网的代理;对于外部网络来说,代理服务器可以看作一个要访问外部网的客户。正是由于代理服务器的这种控制方式,可以使用它提高客户访问外网的效率、节省网络带宽,增强网络安全性以及减少网络投资等。代理

8、服务器从提出到现在,不断的经历着内容更进和技术的革新,各种代理服务器产品更是层出不穷。不难看出,代理服务器在我们信息时代的生活中扮演着越来越重要的作用。1.2 本课题研究的意义随着Internet与Intranet的飞速发展,作为连接Internet与Intranet的桥梁,代理服务器在实际应用中发挥着极其重要的作用。它可用于多个目的,最基本的功能是连接;此外还包括安全性、缓存、内容过滤、访问控制管理等功能。在代理服务器的众多功能中,安全性是一个突出且敏感的功能。绝大多数企业、部门在使用代理服务器的时候,都会考虑这个问题,把它作为选购代理服务器产品的重要依据。目前市场上流行的代理服务器,像Mi

9、crosoft Proxy Server、Netscape Proxy Server、Win Gate等国外的产品,功能和性能等方面都还不错,我们正好可以通过借鉴它们产品的优点,开发一个具有自主产权的代理服务器产品。而且从保证安全性的角度出发,我们也很有必要开发一个自己的代理服务器。除了上面的因素外,通过一个简单的代理程序的开发,我们能从实现过程中学习到网络通信和网络编程的基础知识,加深理解和掌握我们所使用的开发语言。另外,我们也能从中学习到正确的程序开发流程,积累程序开发经验,为以后更深课题的研究打好基础。1.3 本课题的研究方法此代理服务器系统将是建立在Windows NT平台上的网络应用

10、程序设计。由于需要服务器为其他许多称为客户的主机提供服务,而客户主机又可以随时打开和关闭,在选择网络应用程序体系结构时就采用支持这些特点的客户机/服务器结构。还将运用Windows下网络编程的标准接口WinSock ,因为它允许两个或多个应用程序在相同机器上,或者是通过网络相互交流,它是真正协议无关的接口。为了便于直接使用Windows提供的网络编程接口,我们使用Microsoft Visual C+ 6.0作为开发工具,利用MFC类库中提供的两个Socket类CAsyncSocket和Csocket。使用这两个Socket类,我们可以运用面向对象的方法来进行Socket编程,而且它们还分别在

11、较低和较高层次上封装了Windows Sockets API,为程序员开发Socket程序提供了便利。2 理论基础2.1 代理服务器代理服务器的英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。很多人不知不觉中就在用代理服务器共享上网,比如sygate,wingate,isa,ccproxy,NT系统自带的网络共享等,它们可以提供企业级的文件缓存,复制和地址过滤等服务。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于

12、浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求, Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好像一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。更重要的是:Proxy Server (代理服务器)是 Internet链路级网关所提供的

13、一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层。主要的功能有:1、连接Internet与Intranet充当防火墙:因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限;另外,两个没有互联的内部网,也可以通过第三方的代理服务器进行互联来交换信息。2、节省IP开销:前面所讲,所有用户对外只占用一个IP,所以不必租用过多的IP地址,降低网络的维护成本。这样,局域局内没有与外网相连的众多机器就可以通过内网的一台代理服务器连接到外网,大大减少费用。当然也有它不利的一面,如许多网络黑客

14、通过这种方法隐藏自己的真实IP地址,而逃过监视。3、提高访问速度:本身带宽较小,通过带宽较大的proxy与目标主机连接。而且通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,从而达到提高访问速度的目的。4、防止攻击:隐藏自己的真实地址信息,还可隐藏自己的IP,防止被黑客攻击。通过分析指定IP地址,可以查询到网络用户的目前所在地。例如,大家在一些论坛上看到,论坛中明确标出了发帖用户目前所在地,这就是根据论坛会员登录时的IP地址解析的。还有平日里我们最为常用的显IP版QQ,在“发送消息”窗口中

15、,可以查看对方的IP及解析出的地理位置。而当我们使用相应协议的代理服务器后,就可以达到隐藏自己当前所在地地址的目的了。5、突破IP访问限制:使用它可以访问一些有IP禁止访问的服务器,因为封锁只禁止了你和目标服务器的连接,但并没有禁止你与代理服务器的连接 以及代理服务器与目标服务器的连接。代理服务器有许多种,大体来说有HTTP,FTP,SOCKS代理三种,其中又分透明代理和不透明代理。其中透明代理一般是网关,是硬件,所以不讨论透明代理。当机器通过代理服务器上网时。通讯是分两次的,先是机器和代理服务器通讯,再是代理服务器和目的地址通讯。机器和代理服务器通讯时,目的IP是代理服务器的IP。代理服务器和目的地址通讯时,源IP是代理服务器的IP,当然外部的数据也是一样的。在内网中,出现的IP数据,全是内网和代理服务器的IP。因此,从IP包头是看不出任何与外面通讯的信息的。只有从数据中才能看到。2.2 目前的代理服务技术代理服务技术是在一台PC机上安装一套代理软件,主要用于用户对Internet资源的访问。ICS即Internet连接共享(Internet Connection Sharing)的英文简称,是Windows系统针对家庭网络或小型的Intranet网络提供的一种In

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号