Microsoft代理服务系统的分析与实现方法

摘要:本文根据实际应用开发经验,详细介绍了Microsoft代理服务系统及其实现过程。对系统工作机制进行了较深刻的分析。以便于读者在建立和维护Intranet或局域网络代理系统时,能够正确地认识和理解Microsoft代理服务系统,并有效地实现之。

  关键词代理服务器Internet Proxy网络在Intranet或一些局域网络中,使用Microsoft代理服务系统,使得局域网用户通过一台代理服务器访问Internet网络, 既节省了IP地址,又节省了连网设备。在内部信息安全方面,代理系统能够实现拒绝外部Internet用户访问Intranet网络资源。特别是在安装了防火墙的系统中,代理服务器运行在防火墙上面,有效的实现内外信息交换。在性能方面,几乎和本工作站直接上网一样,支持任何Internet客户应用程序,提供各种Internet服务。因而,代理服务系统切实为一种经济有效的连网方案。

  一、Microsoft Proxy Server运行机制Microsoft Proxy Server是一种功能很强系统,它包括Web Proxy服务器、Winsock Proxy服务器和Socks Proxy服务器。Web Proxy服务器兼容CREN通信标准,由过滤器和应用程序两部分组成,它与IIS Web服务器相结合,通过TCP80号端口接受客户端的服务请求。过滤器判断收到的HTTP请求是代理格式还是标准格式。如果是标准格式,则交由本地 WWW服务器处理,如果是代理格式,则交由代理应用程序处理。代理应用程序首先在代理缓存区内查找,如果数据已存在,且TTL仍有效,则从缓存区中取出数据,如果不存在,则连接远程目标服务器,并获得数据。不论代理服务器是从缓存区中还是从Internet远程服务器中获取信息,它都将通过80号端口上的 HTTP协议,将信息送给请求者。Winsock Proxy通过截获应用程序的Winsock调用,来完成客户请求。为此必须在客户机上安装Winsock Proxy客户软件,更新客户机原有的Winsock动态链接库。一旦Internet应用程序向新的动态链接库发出Winsock调用,它将在1745 号端口与Winsock Proxy服务器通信。Winsock Proxy服务器首先在本地地址表中查找目标地址,如果存在,则交由客户机上原Winsock动态链接库,作本地请求处理,否则将它重定向到 Microsoft Proxy Server上,完成与外部网络的连接。Sock Proxy支持SOCK4.3a协议,应用系统通过SOCKS接口库对Internet进行存取,为TCP/IP、FTP、Telnet、Gopher服务实现代理。总的来说,Proxy服务器主要是拦截用户所有Internet请求,再由Proxy服务器取而代之,以代替用户去向目标网站索取资料,然后将结果传递回用户主机。在实际应用中,可以有选择的运行其中的一至两种Proxy服务器。值得一提的是,后两种Proxy服务器不提供高速缓存功能。

  二、Microsoft代理服务系统的实现。
  1、系统组成一个典型Intranet代理系统可用下图来表示:NT4、DNS、IIS、FTP、MAIL SERVER、RAS、WINS、IIS BBS NEWS SERVER PROXY SERVER ROUTERor MODEMINTERNETSWITCH HUB WS HUB HUB WS WS WS WS WS该系统中,硬件部分采用交换式集线器高速端口连接服务器,客户机通过普通端口和多级集线器相连,远程部分通过调制解调器和电话线路或路由器和专线连接。软件采用NT4.0、IIS、NETSCAPE Mail Server2.0、Netscape News Server2.01、Microsoft Proxy Server2.0。本系统可以实现对国内外网址的代理或仅对国外网址实行代理。

  2、软件安装与配置
  (1)软件安装Web服务器:依次安装NT4.0、DNS及IIS。

  代理服务器:依次安装NT4.0、Service Pack3 for NT4.0、RAS,接着运行MSP.exe安装Microsoft Proxy Server2.0,同时产生共享目录MSPclnt。

  邮件及新闻组服务器:依次安装NT4.0、NETSCAPE Mail Server2.0、 Netscape News Server2.01。

  客户机:安装Windows95、NETSCAPE Communictor4.03,再打开代理服务器上MSPclnt目录,运行setup.exe文件,安装代理客户软件。

  (2)代理服务器配置打开"开始”按钮-->"程序"-->" Microsoft Proxy Server"-->"Internet ServiceManager",出现服务器管理窗口,分别双击Web、Winsock和Socks代理服务器名,进入配置窗口:service项包含四个子项:

  Packet Filter:设置是否控制外部网络传来的IP数据包,防止非法入侵。

  Security Domain Filters:设置不容许被访问的个人计算机、工作组和域.Alerting:对可疑数据组提出警告,向管理人员发出Email或记录在NT事件日志中。

  Configuration:设置需要拨号的服务和拨号时间表。

  Auto DialCredential:填入拨号网络名称,用户名及口令。

  Client configuration:设置代理服务器名或IP地址,是否自动配置客户浏览器,不需要经过代理的客户机IP地址和域名,是否代理访问局域网内部的Web站点。直接访问而不需要经过代理的IP地址。

  Local Address Table:输入内部局域网络地址范围,以区别外部Internet IP地址。

  Permissions项:为各服务项如FTP、WWW等,设置代理的用户及访问权限。

  Caching项:设置缓存大小,那些协议使用缓存,只保存那些站点的信息及保存时间。

  Routing项:设置第一个代理服务器,及下一步是直接送入Internet还是交给下一个代理服务器。

  Publishing项:为用户发布网页设置Web服务器名、路径及URL地址。

  (3)客户机配置运行NETSCAPE Communictor4.03-->"编辑"-->"首选项" -->"高级"-->"代理服务器",如果选择"手动配置代理服务器",单击"查看",输入代理服务器的地址和端口号,若选择"自动配置代理服务器",输入提供配置文件的URL,单击"重载"。

  三、提高代理服务系统的工作效率与局域网相比,远程网络的传输速度要慢得多,局域网用户通过代理服务和一条线路访问Internet,随着上网用户和信息流通量的增加,代理服务器可能有较大的工作量,这就要求提高代理服务器的性能,使之有效地处理网络内外通信,不至于产生堵塞或速度过慢。为此,可采用以下对策。第一,采用高档微机承担,缩小CPU前台运行时间,如不运行其它应用软件,去掉屏幕保护功能等;第二,为代理服务器解除其它服务,如DHCP服务、工作站服务等;第三,设置较大的缓存区,使得客户机尽可能从缓存区获得数据;第四,正确的配置代理系统,使系统运行既安全又高效;第五,采用多个代理服务器,平均分配网络用户。

  经过优化处理的系统,能够处理几十或上百个用户的连接。

(0)

相关推荐

  • 代理服务器的路由分析

    对于小型用户群体或家庭用户接入Internet,采用拨号上网不失为一种廉价实用的方式.在局域网上通过代理服务器软件便可以解决多用户共享访问Internet问题,代理服务器实质上是一个介于用户群体和Internet之间的桥梁,用以实现其网络用户对Internet的访问. 利用局域网 目前局域网的组网产品很多,以太网交换机或集线器(HUB)价格低廉,非常容易实现局域网客户的互联.本文以现有园区网为例,阐述如何利用PROXY代理服务器实现Internet连接,并进行代理服务器的内部路由分析.本局域网的

  • python实现代理服务功能实例

    代理服务原理很简单,就拿浏览器与web服务器来说.无非是A浏览器发request给B代理,B代理再把request把送给C web服务,然后C的reponse->B->A.要写web代理服务就要先了解下http协议,当然并不要多深入,除非要实现强大的功能:修改XX信息.负载均衡等.http请求由三部分组成:请求行.消息报头.请求正文:详细的网上有,想了解可以看看.下面是一个正常的GET请求头(Cookie部分本人没截屏,使用的系统w7): 可以看到首行:GET是请求方法, /是路径,在后面是协

  • 使用Squid做代理服务器的方法

    说到代理服务器,我们最先想到的可能是一些专门的代理服务器网站,某些情况下,通过它们能加快访问互联网的速度.其实,在需要访问外部的局域网中,我们自己就能设置代理,把访问次数较多的网页保存在缓存中,从而"提高"网络速度.更重要的是,我们能通过代理服务器,达到控制访问权限的目的.在 Windows中,有很多这样的软件,如:WinGate.SyGate等,不过,本文要讨论的,是能给你充分自由的Linux下的Squid. Linux下的代理服务器软件也不是只有Squid,不过在大部分Linux版

  • LINUX下架设代理服务器的教程

    1. LINUX下第三方代理服务器软件的选择 可以选择的其实还是不少,比如Apache:具有强大的功能.高速度和高效率等特点,但在LINUX下作代理服务器的性能优势并不明显,不建议使用:推荐使用Squid ,有关此软件的相关报道也不少,它由一个主要的服务程序squid,一个DNS查询程序dnsserver和几个管理工具组成,其比较明显的特性就是可以减少服务器等待DNS查询的时间,"Linux+Squid"是最好的代理服务器组合! 2.安装Squid 其实如今的Linux中基本都有已编译

  • 局域网代理服务器组建方案 教程

    代理服务器(Proxy Server)是指那些自己不能执行某种操作的计算机,通过一台服务器来执行该操作,该服务器即为代理服务器.代理服务器是伴随着Internet应运而生的网络服务技术,它可以实现网络的安全过滤.流量控制(减少Internet使用费).用户管理等功能,因此代理服务器对家庭网络.小型企业网络的用户十分有用.它不但可以解决许多单位连接Internet引起IP地址不足的问题,还能加快客户机访问网络资源的速度,控制网络流量并节约上网成本,甚至还能作为初级的网络防火墙使用,隔断非法访问信息

  • Microsoft代理服务系统的分析与实现方法

    摘要:本文根据实际应用开发经验,详细介绍了Microsoft代理服务系统及其实现过程.对系统工作机制进行了较深刻的分析.以便于读者在建立和维护Intranet或局域网络代理系统时,能够正确地认识和理解Microsoft代理服务系统,并有效地实现之. 关键词代理服务器Internet Proxy网络在Intranet或一些局域网络中,使用Microsoft代理服务系统,使得局域网用户通过一台代理服务器访问Internet网络, 既节省了IP地址,又节省了连网设备.在内部信息安全方面,代理系统能够实

  • C#调用系统API指定快捷键的方法

    本文实例讲述了C#调用系统API指定快捷键的方法.分享给大家供大家参考.具体分析如下: 快捷键的作用大家都清楚,就是快捷嘛,操作起来方便.用电脑的人很少有没用过Ctrl + C 和Ctrl + V的. 其他很多软件也有各种快捷键.电脑自然没那么聪明,知道我们敲哪些键然后给出相应反应,这都得我们自己写代码实现啊.指定快捷键有两种方式. 方法一.当应用程序某个页面获得焦点时,直接写一个该页面的KeyDown事件处理函数就行,非常的简单.我们大多数时候就用的这种快捷键. 方法二.在任何时候都能使用快捷

  • MySQL 出现错误1418 的原因分析及解决方法

    MySQL 出现错误1418 的原因分析及解决方法 具体错误: 使用mysql创建.调用存储过程,函数以及触发器的时候会有错误符号为1418错误. ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* want to use the less safe log

  • 腾讯云ubuntu服务器tomcat访问慢的原因分析及解决方法

    在腾讯云上配了个一元的学生云,开始一切正常,直到配置tomcat开始出现各种莫名其妙的问题.最莫名其妙的是tomcat启动了,端口也 正常监听,安全组也放行端口了,然后问题来了. 用浏览器访问tomcat主页,会发现超级慢,浏览器一直在等待服务器的响应,从这里可以看出能够接入8080端口,但是服务器没有返回数据.(这个问题折腾几天) 后来在网上找了无数资料,终于发现了原因.tomcat8.0在腾讯云ubuntu14.04上有bug. 问题原因: 随机数引起线程阻塞. tomcat不断启动,关闭,

  • Python获取系统默认字符编码的方法

    本文实例讲述了Python获取系统默认字符编码的方法.分享给大家供大家参考.具体分析如下: 在Python代码中,普通字符串的编码方式与程序源文件编码方式一致的,而很多IDE在默认情况下,将程序源文件按照系统默认字符编码来保存的. 下面给出用Python获取系统默认编码的例子: #!/usr/bin/env python #coding=utf-8 """ 获取系统默认编码 """ import sys print sys.getdefaulte

  • Java从零编写汽车租赁系统全程分析

    目录 覆盖知识 项目需求 设计步骤 开发思路 类的属性和方法 代码展示 效果展示 覆盖知识 程序基本概念.数据类型.流程控制.顺序.选择 .循环.跳转语句.变量.类.方法.继承.多态. 掌握数据库.JDBC.三层架构等相关知识. 掌握Druid连接池.Apache的DBUtils使用 . 项目需求 某汽车租赁公司出租多种轿车和客车,出租费用以日为单位计算. 出租车型及信息如下表所示: 车型 具体信息 日租金 折扣 轿车 宝马X6(京NY28588) 800 days>7天9折 days>30天

  • LeetCode -- Path Sum III分析及实现方法

    LeetCode -- Path Sum III分析及实现方法 题目描述: You are given a binary tree in which each node contains an integer value. Find the number of paths that sum to a given value. The path does not need to start or end at the root or a leaf, but it must go downwards

  • 在linux系统下安装redis的方法

    去官网找到合适的版本,可以直接下载下来,再用fxp上传,也可以直接以下面这种方式下载: $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz $ tar xzf redis-3.2.9.tar.gz $ cd redis-3.2.9 $ make 启动服务: $ src/redis-server 测试是否成功: $ src/redis-cli redis> set foo bar OK redis> get foo "

  • Java中SSM+Shiro系统登录验证码的实现方法

     先给大家展示下效果图: 1.验证码生成类: import java.util.Random; import java.awt.image.BufferedImage; import java.awt.Graphics; import java.awt.Font; import java.awt.Color; /** * 验证码生成器类,可生成数字.大写.小写字母及三者混合类型的验证码. 支持自定义验证码字符数量: 支持自定义验证码图片的大小: 支持自定义需排除的特殊字符: * 支持自定义干扰线

  • 两种iOS调用系统发短信的方法

    一.程序外调用系统发短信 这个方法其实很简单,直接调用openURL即可: NSURL *url = [NSURL URLWithString:@"sms://15888888888"]; [[UIApplication sharedApplication]openURL:url]; 二.程序内调用系统发短信 这种方法有一个好处就是用户发短信之后还可以回到App. 首先要导入MessageUI.framework,并引入头文件: #import <MessageUI/Messag

随机推荐