代理服务器的研究与实现

代理服务器的研究与实现

ID:9502439

大小:56.00 KB

页数:7页

时间:2018-05-01

代理服务器的研究与实现_第1页
代理服务器的研究与实现_第2页
代理服务器的研究与实现_第3页
代理服务器的研究与实现_第4页
代理服务器的研究与实现_第5页
资源描述:

《代理服务器的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、代理服务器的研究与实现  代理服务器作为连接Inter与Intra的桥梁,在实际应用中发挥着极其重要的作用。它可用于多个目的,最基本的功能是连接,此外还包括安全性、缓存、内容过滤、访问控制管理等功能。目前市场上主要是国外的代理服务器产品,而国外的产品并不能很好的适应国内企业的需求。本文实现了一个代理服务器系统,可代理HTTP,FTP,TEL,SMTP,POP这五个常用协议,此外还有用户管理和拨号等功能。  引言  随着Inter与Intra的飞速发展,作为连接Inter与Intra的桥梁,代理服务器在实际应用中发挥着极其重要的作用。它可用于多个目的,最基本的功能

2、是连接,此外还包括安全性、缓存、内容过滤、访问控制管理等功能。具体来说主要有以下特点:  (1)可通过一个公用IP地址供多个用户同时访问Inter  (2)在内部网络和外部网络之间构筑起防火墙  (3)通过缓存区的使用降低网络通信费用  (4)对局域网用户进行访问权限和信息流量计费管理  (5)对进入局域网的Inter信息实现访问内容控制  (6)在确保局域网安全的环境下提供Inter信息服务  在代理服务器的众多功能中,安全性是一个突出且敏感的功能。绝大多数企业、部门在使用代理服务器的时候,都会考虑这个问题,把它作为选购代理服务器产品的重要依据。目前市场上流行

3、的代理服务器,像MicrosoftProxyServer、NetscapeProxyServer、TP和POP),那就只能在应用层以下代理,也即传输层代理。传输层代理直接与TCP层交互,更加灵活。要求代理服务器具有部分真正服务器的功能:监听特定TCP或UDP端口,接收客户端的请求同时向客户端发出相应的响应。另一种代理需要改变客户端的IP栈,即SOCKS代理。它是可用的最强大、最灵活的代理标准协议。SOCKV4允许代理服务器内部的客户端完全地连接到外部的服务器,SOCKV5增加了对客户端的授权和认证,因此它是一种安全性较高的代理。  为便于统一处理,本文采用传输层

4、代理,即不管协议是否支持代理,都采用传输层代理模式。代理服务器接收内部网的TCP和UDP包,改变源和目的IP地址,甚至改变TCP或UDP头,然后将包发送到外部网。  传输层代理主要有两种方案:端口重定向和客户端服务器代理。端口重定向比较简单,代理服务器通过监听特定的TCP或UDP端口接收连接,希望连接到外部网络的客户端通过该端口,连接到代理服务器,代理服务器使用另外的端口和IP地址发出对远端目的地的连接。建立连接以后,所有客户端和远端目的地的数据都由代理服务器转发。客户端服务器代理需要安装客户端,用户启动与外部网络通信的程序时,代理客户端封装包并直接转发给代理服

5、务器。代理服务器打开封装并将包传输给外部网络。接到响应时,代理服务器封装数据并转发给客户端。这种方案有一个严重缺点,由于客户端程序的安装,改变了TCP/IP栈的工作方式,使代理复杂化,增加了发生问题的机会。  出于对可靠性和简单性方面的考虑,本代理服务器系统采用端口重定向方案,只是简单定制了客户端的操作过程。代理服务器监听特定端口,客户端需要连接到外部网络时,要先显式地连接代理服务器的监听端口。代理服务器响应后,客户端指出需要连接的远端目的地,由代理服务器来进行连接。连接成功以后,代理服务器转发数据,客户端的操作就象直接与远端相连一样了。  本代理服务器系统的总

6、体框架如图2所示:  系统由七大模块组成。TEL代理模块、HTTP代理模块、FTP代理模块、SMTP代理模块和POP代理模块分别实现了对应协议的代理。用户管理模块贯穿整个代理服务器系统,主要负责对用户的认证和访问权限控制等。拨号连接模块是专为那些通过拨号访问Inter的用户提供的服务。  代理服务器的实现  本代理服务器系统建立在FC类库中提供的两个Socket类CAsyncSocket和Csocket。这两个类不仅使我们可以用面向对象的方法来进行Socket编程,而且它们还分别在较低和较高层12下一页....,。次上封装了ail的接收等等。因此TEL代理的实现

7、是其它代理实现的基础,可以用TEL代理来测试其它代理。  2.2TEL代理的实现  TEL代理的工作流程可归纳为:启动该代理服务,监听客户端连接。当客户端的连接请求到达代理服务器后,代理服务器根据访问控制文件,以及连接的源和目的地址对连接进行过滤,若是不合法的连接,则予以拒绝。然后代理程序代理服务器端与客户端建立连接,并代理客户端与服务器端建立连接,当三方的连接接通后,代理程序在服务器与客户端之间转发命令及反馈,直到有一方退出或超时时结束代理服务,其流程如图3所示:  其它几个协议的实现与TEL在TCP连接上是类似的。其中FTP协议特殊一点,它使用了两个TCP连

8、接,控制连接和数据连接。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。