因特网 COM 服务
简介
组件对象模型(COM)因特网服务(COM Internet Service,简称CIS)为新的分布式COMDCOM)传输协议提供了支持,如众所周知的通道型传输控制协议(TCP),这个协议允许DCOM经由TCP 80端口工作。这允许一台客户机和一台服务器在当前绝大多数的代理服务器和防火墙之间通信,因此使得一类新的基于COM的因特网方案有效。
除了新的DCOM协议以外,CIS也提供一种新的简单的代号——OBJREF代号——这方便了在因特网方案中COM的使用。OBJREF代号代表了一个正在运行对象的引用,并且有一个显示名字,能够内含在HTML页中并受限于ActoveX控件或客户机applet中。
这篇论文解释了COM因特网服务是什么,它们怎样工作,以及怎样配置计算机运行微软Windows来使用这些服务。这篇论文假定读者对分布式COMDCOM配置工具有一个基本的了解。
新的DCOM传输协议
在许多因特网环境下,客户机和服务器的网络连通性受限于限制的数量。例如:
一个滤除了网络带外交通的代理服务器可能会作为客户机连接到因特网的大门。这常常是指运行在公司环境下的应用程序,但是它也可能在一个经由ISP连接到因特网的用户运行应用程序时使用。
防火墙常常控制引入因特网的流量,定义网络端口,信息包和协议之间如何结合可以公认的保护服务器(或者客户机)网络环境。
实际上,这样限制的网络作用就是一个客户机和服务器可能会有一套非常严密的协议和端口结合来执行一次会话。因为DCOM1024-65535这样一个范围内动态地选择网络端口,而在这个范围内,Internet-to-intranet网络通信实际上是不被允许的,它也不可能可靠的经由因特网使用现有的DCOM传输协议(尽管它们完全适合企业内部互联网)。此外,防火墙经常被设置成限制接入135口,DCOM要依靠这个端口来提供多种服务(看脚注1)。
通道型TCP协议在每一次DCOM连接的开始时引入了一次专门的握手,这使得其可以通过大多数的防火墙和代理。握手之后,电信协议就是简单的TCP上的DCOM。除了这篇论文中下面列举出的警告之外,这意思是:
协议对客户机和服务器是透明的。客户机代码和服务器代码都不需要使用CIS修改。
TCP协议上所有的DCOM服务都可以得到——包括DCOM安全和寿命管理(即“pinging”)服务。
通道型TCP协议的限制
通道型TCP协议受限于下列限制:
它需要服务器这边装有tcpip协议就是指传输控制协议CIS-接入COM对象的机器上安装有因特网信息服务器4.0或者更高版本,因为CIS的部分功能需要使用ISAPI滤波器才能实现。
由于通道型TCP在初始握手后由非HTTP流量组成,所以CIS需要代理服务器和防火墙允许这种流量经由一个端口向HTTP开放。
注意:由于这些限制,实际上CIS并不支持回叫。这意味着你的应用程序不能使用连接点或者警告接收机制来实现告示。然而,如果CIS客户机能够行使CIS服务器的功能,并且如本文下面所讨论的那样来配置,没有什么能阻止客户机接收DCOM呼叫——包括回叫。
协议概述
通道型TCP协议如图1所示。

 

1.如果客户机配置指出到服务器的HTTP流量应该被通过一个代理发送,客户机DCOM运行环境建立了一个TCP/IP协议连接到那个代理。然后它发送HTTP CONNECT方法到那个需要连接<服务器主机>上的80端口的代理。
2.代理建立了一个<服务器主机>TCP/IP连接。注意:这方法假定代理被配置成可以在客户机连接的端口上实现HTTP CONNECT方法。代理上的这个端口配置有时被称为使能SSL通道
3.如果客户机配置没有使用代理,DCOM运行环境就建立一个到<服务器主机>80端口的连接。接着,无论客户机是否使用代理,客户机都有一个到<服务器主机>80端口的连接(或许由代理引起的)。现在客户机发送RPC_CONNECT命令到需要连接到<服务器主机>DCOM服务器的服务器上(看Endnote 2)。
4.随着对RPC_CONNECT的响应,RPC服务器运行环境(部分是由ISAPI滤波器/扩展对实现的)建立了一个到DCOM服务器的本地连接(看Endnote 3)。
5.  客户机和服务器现在已经建立了一个中介的TCP/IP连接,并且通过TCP会话参加了DCOM
配置通道型TCP协议
在表1中所列的操作系统斗支持通道型协议。这部分描述了在支持的操作系统中怎样配置 这个协议。在操作系统或者服务包发布信息都提供了适当的安装指南。
1 支持通道型TCP/IP的操作系统
操作系统
客户机
服务器(需要IIS4.0或者更高)
Windows®95 w/DCOM95 1.2
Windows®98 w/DCOM98 1.3
Windows NT® 4.0 Workstation w/SP4
Windows NT® 4.0 Server w/SP4
Windows® 2000 Workstation
Windows® 2000 Server
客户机配置
Windows 95Windows 98
CIS需要DCOM95 1.2或者更新本安装在你的装有Windows 95的机器上。DCOM95 1.2可以从微软COM主页上下载得到,msdn.microsoft/isapi/gomscom.asp?Target=/com/default.asp
Windows 98中,你必须装有DCOM98 1.3或者更新的版本。DCOM98 1.3将会搭载在Windows98 OSR1中并且能够从微软COM主页上下载。
为实现CIS 客户机支持,如下运行CISCNFG公用程序:
CISCNFG tcp_http
CISCNFG配置DCOM使用的协议,并且可以使用在下列建议中:
1.tcp(只有TCP上的DCOM
2.http(只有通道型TCP
3.tcp_http(先尝试TCP上的DCOM,然后在用通道型TCP
在运行完CISCNFG之后,你必须重新引导你的系统。
Windows NT 4.0 SP4Windows 2000
Windows NT 4.0服务包4Windows 2000中包括CIS支持。
为实现CIS你需要在DCOM协议列表中添加通道型TCP协议。你可以通过运行DCOMCNFG来修改协议列表。
1.选择Default Protocols栏。
2.使用Add按钮添加Tunneling TCP/IP
3.重新引导系统来看看改变是否生效。
注意:如果多重协议被配置,DCOM试图按照一定的在DCOM协议列表中出现的规则使用它们。
HTTP代理配置
如果你的客户机位于代理服务器之后,你需要确保你的客户机机器被正确配置以便使用代理服务器来接入网络。为了配置你的客户机能够使用代理服务器,在控制面板中打开因特网。这也可以经由一个在“Registry Keys Affecting CIS”中描述的注册键来设置。注意这个配置也和其它使用HTTP的应用程序的RPC运行环境共用,特别是微软的IE
服务器配置
Windows NT Server 4.0上配置RPC代理
CIS要求在你的装有Windows NT 4.0服务器的计算机上安装服务包4CIS也要求运行因特网信息服务器4.0(包括因特网业务管理器)。IIS4.0Windows NT 4.0选项包的一部分。
注意 CIS不应该在运行微软代理服务器的计算机上安装。
1.在你的Inetpub目录下创建一个RPC子目录。
例如,在命令行中,显示:md c:/inetpub/rpc
在下面的指令中这个目录将以%inetpub%rpc的形式被引用。
2.Rpcproxy.dllWindows系统目录拷贝到%inetpub%rpc中。
例如,在命令行中,显示:copy %windir%\system32\rpcproxy.dll c:\inetpub\rpc
3.为你创建的目录创建一个虚拟的根目录。如下:
start菜单中选择Programs,指向Windows NT 4.0 Option Pack,然后是Microsoft Internet  Information Server,再单击Internet Server Manager
在控制树上(左窗口中),选择Console Root/IIS/<maching name>/Default Web Site
右击Default Web Site,单击Create New,然后单击Virtual Directory。在新虚拟目录向导里,输入下列各项:
Alias to be used access virtual
RPC
Physical path
%inetput%rpc
Permissions
Execute Access
4.不要关闭因特网业务管理器。把网址默认连接时间改为5分钟。接着继续:
在控制树上(左窗口中)选择Console Root/IIS/<machine name>/Default Web Site
右击Default Web Site,然后单击Properties
Default Web Site Properties 对话框中,选择Web Site标签。
Connection Timeout改为300
单击OK。不要选择因特网业务管理器。
安装RPC代理ISAPI过滤器。在控制树上(左窗口中)选择Console Root/IIS/<machine name>,右击计算机名字,单击Properties,为Master WWW Service Properties选择Edit,选择ISAPI Filters标签,选择Add,然后输入:
Filter name
Rpcproxy
Executable
%inetput%\rpc\rpcproxy.dll
5.你现在可以关掉因特网业务管理器。
6.停止,然后重启因特网信息服务器:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。