虚拟通道设计
姓名:赵龙
学号:1887080230
院系:理学院网络工程 082 班
1.如何实现虚拟个人通信系统的设计
一个人持有多部电话,能给自己带来方便同时节省话费吗?让我们来分析一下。
现代企业已经从单纯地追求短期的经济利益的竞争转向了对稳定、忠诚的客户资源的竞
争,因为稳定、忠诚的客户群体对企业未来发展的重要意义。但是,电信运营商如何才能获
得更多稳定、忠诚的客户群体呢?回答非常简单:让用户满意。呼叫目标的不确定性可能会
影响到客户的忠诚度,从而给电信运行商带来了新的挑战!
虚拟个人通信旨在方便电信用户并改善电信运营商的服务质量,通过为申请该项业务的
用户分配一个特定的“虚拟号码”以解决被叫目标的不确定性问题,使电信用户不论在何时、
何地,都可以呼叫该“虚拟号码”使所有的电话呼叫都“随我行”,而不会使电话主叫方产生不
必要的徒劳呼叫,节省了电话主叫方不必要的电话呼叫产生的费用,从而节省了电话通信费
用;对于实施了虚拟个人通信的电信运营商来说,由于可以通过虚拟个人通信提供的服务使
其服务质量得到提升,不仅可以稳定现有的用户,还可以吸引更多的其他运营商的用户的入
网,从而,可以使实施了虚拟个人通信的电信运营商获得更多的用户资源。
虚拟个人通信模型
从前文的讨论可以看出,产生这种被呼叫目标不确定性主要是由于被呼叫目标同时拥有
几个物理号码而造成的,因此,解决被呼叫目标不确定的关键在于能否给每个被呼叫目标赋
予一个惟一的呼叫号码,称这个被赋予的惟一的呼叫号码为“虚拟号码”,之所以称之为虚拟
号码,因为并没有一个物理电话装置与这个虚拟号码对应。然而呼叫是必须与一个具体的物
理电话相关联的,为了建立虚拟号码与物理电话装置的对应关系,可以建立如图1所示的关
联模型:
即在任何一个特定的时刻或时间段,虚拟号码与一个指定的物理号码相关联,而这种可
变的对应关系可由虚拟号码的拥有者根据需要来动态设定,为了表达这种关联,只需在在数
据库中建立如表1所示的结构即可。
建立了虚拟号码与物理号码的对应关系表之后,对这个虚拟号码的每次呼叫,主叫局交
换机将通过特定的号码前缀(该前缀由电信运营商分配)识别本次呼叫为虚拟个人呼叫、并
通过从虚拟个人通信系统的数据库查询而获得本次呼叫的虚拟号码所对应的物理号码,然后
再进行呼叫路由分析和选择,进而通过 SS7(7号信令)或 R2(中国一号信令)完成整个呼
叫的接续及通话过程,如图2所示:
虚拟个人通信的业务呼叫过程如下:
(1)主叫用户发起对虚拟个人通信的虚拟号码的呼叫;
(2)主叫局交换机通过号码前缀识别到本次呼叫为虚拟个人通信呼叫;
(3)主叫局交换机建立与虚拟个人通信系统的 SS7链接,并向虚拟个人通信系统发“查
询请求”;
(4)虚拟个人通信系统向交换机返回“查询结果”;
(5)主叫交换机根据查询结果进行路由分析、并选择呼叫路由;
(6)主叫局交换机根据第5步的结果与被叫局交换机通过 SS7或 R2信令完成信令的接
续;
(7)被叫提机,此处也就是虚拟个人用户提机,主、被叫交换机为主叫用户和被叫用
户建立话音通道,主、被叫用户通话;
(8)主叫或被叫用户挂机,本次通话结束;
利用现有的电信智能网(简称 IN,Intelligent Network)上的“业务交换点”(简称 SSP,
Service Swithing Point)所具备的呼叫查询等待功能,通过“智能网应用协议”(简称 INAP,
Intelligent Network Application Protocol)对申请了虚拟个人通信业务用户的个人语音呼叫向
“业务控制点”(简称 SCP,Service Control Point)发起呼叫路由查询,虚拟个人通信将对从
SSP 送来的虚拟号码从虚拟个人通信的数据库中查询进而获得该用户虚拟号码所对应的真
实电话号码,SSP 得到 SCP 的查询结果后,根据有查询得到的真实电话号码来决定最终的
呼叫路由选择,进而完成“随我行”业务呼叫。虚拟个人通信可以有效地解决现有电话呼叫中
的目标不确定性问题,是电信智能网技术、计算机网技术、数据库技术在电信行业中为解决
电信服务中所面临的实际问题而设计的一种可以提升电信运营商竞争能力的电信增值业务
系统。虚拟个人通信的组成结构如图3所示:
“虚拟个人通信”的组成部分包括:
● SS7/智能网网关
SS7/智能网网关完成“虚拟个人通信”与电话交换网及智能网的信令及消息接口,将来自
固网或移动网络的 SS7呼叫信令及 INAP 消息转换为 IP 的消息包送到“接入服务器”或业务处
理服务器,完成信令的相关转接工作。SS7的链路可工作在任务分担及互为备份的工作模式,
从而可增加系统可靠性。
● 业务处理服务器
接收并处理来自智能网网关的 INAP 协议数据,完成对业务数据库的查询,并通过智能
网网关将查询结果返回给 SSP;接收从语音服务器、PLMN 的短消息系统(SMS,Short
Message Stytem)及 Web 服务器发来的用户修改虚拟号码的请求,完成身份认证及具体的修
改任务。
● 语音服务器
以语音提示的方式,可以使申请了“虚拟个人通信”业务的电信用户方便地修改其虚拟号
码对应的目的电话号码。
● 数据库服务器
采用关系型数据库管理系统对业务数据进行管理,包括以下用户数据库表:用户资料库、
虚拟号与目的电话号码的对应表、用户计费表、其他用于管理的数据库。
● 路由器
为了方便用户通过 Internet 修改虚拟号码对应的目的电话号码,增设了该路由器以完成
与 Internet 的连接。
● Web 服务器
为了方便用户通过 Internet 修改其目的电话号码,增设该 Web 服务器专门处理来自
Internet 的服务请求。
● 管理工作站
用于对业务平台的日常运行维护管理,包括系统配置、系统运行监控、用户资料管理、
日常运行数据报表的打印等。
本文提出了虚拟个人通信的模型及实现的一般原理,它可以作为电信的增值业务系统实
现并提供虚拟个人通信服务以解决现有话音通信中存在的目标不确定问题。在具体的实现中,
可根据实际情况对网络体系结构中的某些部分进行裁减,例如,若不需要提供通过 Internet
网对用户虚拟号码的修改,则可以取消网络体系结构中的路由器及 Web 服务器;同时,应
该处理好大容量并发呼叫的问题。
什么是虚拟设计
虚拟设计是20世纪90年代发展起来的一个新的研究领域,它是计算机图形学、人工智能、
计算机网络、信息处理、机械设计与制造等技术综合发展的产物,在机械行业有广泛的应用
前景,如虚拟布局、虚拟装配、产品原型快速生成、虚拟制造等。目前,虚拟设计对传统设
计方法的革命性的影响已经逐渐显现出来。由于虚拟设计系统基本上不消耗资源和能量,也
不生产实际产品,而是产品的设计、开发与加工过程在计算机上的本质实现,即完成产品的
数字化过程。与传统的设计和制造相比较,它具有高度集成、快速成型、分布合作等特征。
虚拟设计技术不仅在科技界,而且在企业界引起了广泛关注,成为研究的热点。
虚拟设计的特点
虚拟设计是指设计者在虚拟环境中进行设计,主要表现在设计者可以用不同的交互手段
在虚拟环境中对参数化的模型进行修改。
就“设计”而言,传统设计的所有设计工作都是针对物理原型(或概念模型)展开的,而虚
拟设计所有的设计工作都是围绕虚拟原型展开的,只要虚拟原型能达到设计要求,则实际产
品必定能达到设计要求。 就“虚拟”而言,传统设计的设计者是在图纸上用线条、线框勾勒
出概念设计,而虚拟设计设计者在沉浸或非沉浸环境中随时交互、实时、可视化地对原型进
行反复改进,并能马上看到修改结果。 一个虚拟设计系统具备三个功能:3D 用户界面、选
择参数、数据传送机制。
(1)3D 用户界面设计者不再用2D 鼠标或键盘作为交互手段,而是用手势、声音、3D 虚
拟菜单、球标、游戏操纵杆、触摸屏幕等多种方式进行交互。
(2)选择参数设计者用各种交互方式选择或激活一个在虚拟环境中的数据修改原来的数
据,参数修改后,在虚拟环境中的模型也随之变成一个新的模型。
(3)数据传送机制模型修改后所生成的数据要传送到和虚拟环境协同工作的 CAD/CAM
系统中,有时又要将数据从 CAD/CAM 系统中返回到虚拟环境中,这种虚拟设计系统中包
含一个独立的 CAD/CAM 系统,为虚拟环境提供建造模型的功能。在虚拟环境中所修改的
模型有时还要返回到 CAD/CAM 系统中进行精确处理和再输出图形。因此,。这种双向数据
传送机制在一个虚拟设计系统中是必要的。
虚拟设计的优点
(1)虚拟设计继承了虚拟现实技术的所有特点(3I)。
(2)继承了传统 CAD 设计的优点,便于利用原有成果。
(3)具备仿真技术的可视化特点,便于改进和修正原有设计。
(4)支持协同工作和异地设计,利于资源共享和优势互补,从而缩短产品开发周期。
(5)便于利用和补充各种先进技术,保持技术上的领先优势。
虚拟设计与传统 CAD/CAM 系统的区别
虚拟设计与传统 CAD/CAM 系统的区别主要有:
(1)在讲区别的同时,应首先重在继承,尤其是继承原有 CAD 技术的资源和成果;其次,
虚拟设计是以硬件的相对的高投入为代价的。
(2)CAD 技术往往重在交互,设计阶段可视化程度不高,到原型生产出来后才暴露出问
题。
(3)CAD 技术无法利用除视觉以外的其他感知功能。
(4)CAD 技术无法进行深层次的设计,如可装配性分析和干涉检验等。
随着业务的快速发展,企业规模日益扩大,客户分布日益广泛,合作伙伴日益增多,传统
企业网基于固定地点的专线连接方式已难以适应现代企业的需求。于是企业对网络的灵活性、
安全性、经济性、扩展性等方面提出了更高的要求。虚拟专用网(VPN)以其独特的优势赢得
了越来越多的企业的青睐,让企业用户可以不用过多地关注网络的运行与维护,更多地致力
于企业商业目标的实现。
什么是 虚拟专用网
VPN 这个词,大家或许经常听说,但恐怕真正了解的并不多,而实际上,在网络界它
的名声远扬并已广泛应用于企业、政府、金融等各个行业。
VPN 的英文全称是“Virtual Private Network”,即虚拟专用网络,顾名思义,我们可以把
它理解成是虚拟出来的企业内部专线。它可以通过特殊的加密通讯协议,在连接于 Internet
上的位于不同地方的两个或多个企业内部网之间建立一条专用的通讯线路,就好比是架设了
一条专线一样,但是它并不需要真正地去铺设光缆之类的物理线路(图 1)。而且相对 Internet
这个全球性和开放性的、不可管理的国际互联网络,VPN 最大的优势在于企业用户拥有高
度控制性,尤其是基于安全基础上的控制。一个内部 VPN 能使企业对所有的安全认证、网
络系统以及网络访问情况进行控制,建立端到端的安全架构,集成和协调现有的内部安全技
术。
根据不同技术协议标准和应用范围,VPN 分为 MPLS VPN、VPDN、IPsec VPN、SSL VPN
等几种类型。目前比较常见的 VPN 应用形式包括有企业内部网的连接、企业外部网的连接
以及移动工作者到企业的连接,企业实施加密的 VPN 接入主要采用后两种方式,即 IPSec
VPN 和 SSL VPN。
IPSec VPN 和 SSL VPN 在不同领域各有优势,在实施固定点到点的 VPN 和复杂应用的移动
用户接入 VPN 时,一般采用 IPSec VPN 技术,而在实施普通应用的移动用户接入 VPN 时,
通常采用 SSL VPN 技术。单就技术角度而论,IPSec VPN 的安全性要高于 SSL VPN。在具
有较多连接的 IPSec VPN 系统中,如果存在着安全性较低的传输端点,那么整个 VPN 系统
的安全性都要受到威胁。例如,一个企业的子公司网络被攻击者渗透之后,通向总公司的
VPN 连接就为攻击者提供了一条访问路径,而且该路径可以直接穿透总公司的防火墙等安
全设施。
要指出的是,无论采用哪种技术方式,都可以满足企业的需要,这不仅能为企业的员工、
合作伙伴等提供对内网资源的安全远程访问,同时也可以消除因为远程用户客户端的维护等
带来的诸多不便。目前,国内外的网络设备商都相继推出了自己的 VPN 产品,其中包括思
科(Cisco)、华为、ArrayNetworks、F5、天融信等著名设备供应商,产品的形式有的是单
独的 VPN 网关,有的是和其它安全产品整合在一起的,如和防火墙集成在一起。VPN 为企
业用户带来竞争力
对企业而言, VPN 技术最吸引人的就是能够节约成本,这也是 VPN 取胜传统专线网络
的关键所在。据行业调查公司的研究报告显示,相比采用租用传统专线远程接入服务器的企
业,拥有 VPN 的企业能够节省 30%到 70%的开销,开销的降低发生在移动通讯费用、专线
费用、设备投资、支持费用这 4 个领域。
另一方面,安全性增强也是 VPN 的一大优势。目前 VPN 主要采用四项技术来保证数据
通信安全,这四项技术分别是隧道技术(Tunneling)、加解密技术(Encryption & Decryption)、
密钥管理技术(Key Management)、身份认证技术(Authentication),它们增强了网络的智能化
和安全性。同时,对于采用拨号方式建立 VPN 连接的情况,VPN 连接可以实现双重数据加
密,使网络数据传输更安全。另外,可以使用 VPN 连接通过 VPN 服务器将具有高度敏感数
据的服务器物理进行分隔,只有企业内部网上拥有适当权限的用户才能通过远程访问建立
与 VPN 服务器的 VPN 连接,并且可以访问部门网络中受到保护的数据资源。
VPN 还让企业管理者能突破了地域限制。基于 VPN 采用互联网为通讯介质的特性,意
味着它的扩展能力十分巨大。可以说,它能使分布在全国各地甚至世界各地的企业分支机构
员工、长途旅行的工作人员有效掌握企业内部咨询,使得与合作伙伴、客户之间的联系更加
紧密。而且如果企业想扩大 VPN 的容量和覆盖范围,企业须做的事情很少,而且能及时实
现,因为这些工作都可以交由专业的 NSP(网络服务提供商)来负责,从而可以保证工程
的质量,省去一大堆麻烦。
的软硬之争
在 VPN 领域,一直存在软件和硬件的口水战。硬件 VPN 的支持者批评软件产品在安全
性方面存在问题,而软件 VPN 的支持者认为硬件产品在使用和升级上不方便。
与防火墙产品类似,硬件 VPN 设备能够提供较好的性能表现,适用于性能要求较高的
场合,尤其在远程维护方面,大多数硬件 VPN 产品都可以通过 Telnet 或 Web 方式远程登录
并进行控制。不过这种硬件方案非常贵,价格从几万元到 10 多万元不等。而软件 VPN 方案
最大的优势是建立成本相对要低,而且拥有极高的灵活性,缺点是软件 VPN 维护起来相当
麻烦,网络管理员不但要维护 VPN 软件,还要考虑病毒、恶意攻击及相关设备的软、硬件
冲突导致系统平台不稳定的因素出现,同时软件 VPN 的性能在很大程度上取决于所应用的
硬件平台。
因此在较大规模的应用环境中,更适合采用基于硬件的 VPN 解决方案。如果网络规模
不大,选择面向中小企业或小型办公室的软件 VPN 产品比较合适,这种 VPN 软件多集成于
防火墙或路由器中,性价比非常高,且支持多种宽带接入方式,还提供了方便的管理工具,
支持主流的 VPN 协议,如 NETGEAR FVL328、NetScreen-50、Vigor 2300 等。
当然,最终如何选择企业要根据自身的情况而定。在很多情况下软硬件结合的 VPN 方
案能更好地满足用户的要求,以现有网络设备为基础,再配以适当的 VPN 软件来实现 VPN
功能。下面我们以世界文字运算编码(中国)有限公司的 VPN 方案为例进行分析,或许能
对大家有所启示。
VPN 典型应用案例分析
世界文字运算编码(中国)有限公司的总公司设在北京,分公司在香港、上海、广州、
深圳、南宁、苏州、重庆。目前公司总部通过 100Mbps 宽带接入方式接入 Internet,各地分
公司通过 ADSL 拨号方式或者宽带接入 Internet,分公司要实时将信息传送到公司总部,总
部也要将反馈的信息实时向分公司下发。现在公司的情况是:总部通过光纤接入互联网,内
部实现办公自动化和 Web、E-Mail 等服务,其它各分公司与总部的信息交流主要是通过邮
件来实现,现在无法实现办公自动化、Web 等服务。为实现办公自动化、内部 Web 和 E_Mail
服务,能实时地与各地分公司互联,因此公司高层提出网络互联及网络安全的需求,希望在
总公司与分公司之间建立 VPN 连接,以达到以下目的:
●总公司与分公司之间能以安全、稳定、成本低廉的 VPN 连接;
●1 个中心节点与 30 个分节点进行安全互联,加密要求:商业机密,处理速度:10Mbps
以上,要求支持动态 IP 地址;
●通过 VPN 传输实现语音传输,不受网络营运商对 VoIP 服务的限制;
●总部的网络联机必须支持多个 WAN,以同时满足 VPN 及内部上网带宽的需求;
●VPN 设定容易,可由分公司人员自行设置。
基于以上这些需求,总公司要求使用一条 10MB 光纤,配合两条 ADSL 电话线联机,而分
公司以一条 ADSL 电话线作为联机的基础。在设备上,总公司使用 QVM1000 产品,可支
持 3 个 WAN 口和 13 个 LAN 口,连接一条 10MB 光纤和两条 ADSL 线缆,使用两条 ADSL
联机是为方便选择不同的网络营运商服务,以避免单一营运商掉线的风险。未来连接 WAN
的数量还可根据带宽需要,增加光纤或 ADSL 联机。
分公司则采用 QVM330 VPN 路由器,具有两个网络接口,一个用于内网,一个通过
ADSL 线缆对外连接使用,各地分公司选择不同的网络营运商的线路,VPN 联机采用 IPSec
协议,以保证联机的安全性(图 3)。总公司与各分公司的 VPN 设定,通过侠诺专有的
SmartLink 功能进行,网管人员只要将设备寄到分公司,并提供总公司的 VPN 闸道 IP、用
户名及密码,即可由具有一般计算机操作能力的用户完成设定。在外出差或想要连接总公司
或分公司内部网的用户,可使用操作系统内建的 PPTP 或 IPSec 应用软件,由网管人员代为
设定,即可在出差时利用互联网与公司内部网联接。同时,为了确保 VoIP 及视频会议的服
务水准,还可使用 QVM 系列产品中的 QoS(服务品质)功能,限制上网或下载文件占用的带
宽,提供比稳定的语音及影像传输服务。
本应用案例其实就是目前国内较为典型的 VPN 网络连接架构,总公司具有固定真实的
IP,各地分公司采用多种接入方式接入 Internet,通过 VPN 网关在 Internet 上构建起了企业
内部虚拟专用网络。
总结:VPN 之所以受到欢迎,主要原因是采用这种网络连接方式后,企业用户可以节
省长话费、网络设备运行和维护费,而且具有连接快速、WAN 连接管理方便的优势,这样
企业用户就不必花较多的精力关注网络运行和维护了,可以更多地致力于企业商业目标的实
现。
vitual channel program
一.Virtual Channel 的实现
支持虚拟通道(virtual channel,下同)技术。虚拟通道是自定义的一套与 RDP 协议
相关联的独立的数据格式。这项技术使我们不必去改变 RDP 协议,而增加新的功能。
下面几种情况下最适合使用虚拟通道技术。当然,其他的一些情况也可能会使用虚拟通道,
我们并不对虚拟通道机制的使用做特别的限制。
1.普通的核心设备,比如串口或打印机
2.重定向文件系统
3.用户程序,比如远程的剪切和复制
4.音频设备
一个虚拟通道程序需要一个客户端组件和一个服务器端组件构成:
1.服务器端组件运行在终端服务服务器上,它可以是一个用户程序或是一个核心设备。
2.客户端组件是一个动态连接库,当终端服务的客户端程序运行时必须把它加载到内存中。
下面几个段落描述了这些组件:
Virtual Channel Server Application
Virtual Channel Client
Virtual Channel Client Registration
Remote-Control Persistent Virtual Channels
备注:此文章的原作路径为
二.Virtual Channel Server Application
使用虚拟通道技术程序的组件必须是一个在终端服务的服务器端运行的一个客户会话中的
程序。你必须提供运行这个程序的方法。以下的几个方法可以实现程序的运行,比如做一个
登陆脚本,或一个在开始文件夹中的计划或脚本。当然也可以由用户自己激活程序。
你必须把虚拟通道的服务器端程序保存在注册表中,方法是在注册表下面的路径中加入一个
子键。HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\Addins
服务器端程序可以通过调用 WTSVirtualChannelOpen 来得到一个虚拟通道的句柄,在程序中
可以通过这个句柄使用下面的一些方法。
WTSVirtualChannelClose
关闭虚拟通道
WTSVirtualChannelPurgeInput
清除在一个虚拟通道中,客户端发来的所有的输入数据的请求
WTSVirtualChannelPurgeOutput
清除在一个虚拟通道中,客户端发来的所有的输出数据的请求
WTSVirtualChannelQuery
返回一个指定虚拟通道的信息
WTSVirtualChannelRead
从一个虚拟通道的末端服务器中读数据
WTSVirtualChannelWrite
从一个虚拟通道的末端服务器中写数据
Virtual Channel Client
虚拟通道程序的客户端组件是一个动态连接库,这个 dll 在客户计算机的终端服务初始化时
被加载。这个 dll 必须被注册到客户计算机中。更多的信息,请看下一篇文章 Virtual Channel
Client Registration。
客户端 dll 导出了一个 VirtualChannelEntry 函数,这个函数在终端服务初始化时被调用。这
个 VirtualChannelEntry 入口指向一个 CHANNEL_ENTRY_POINTS 结构的指针。这个指针将
被下面几个函数使用到,这些函数时客户 dll 用来访问虚拟通道的函数。
三.VirtualChannelInit
注册使用的虚拟通道的名称,并提供一个 VirtualChannelInitEvent 回调函数,通过这个回调,
终端服务提示客户端一些事件和客户连接
VirtualChannelOpen
打开一个指定虚拟通道末端的客户,并提供 VirtualChannelOpenEvent 回调函数,通过这个
回调终端服务提示客户端一些事件和客户连接
VirtualChannelWrite
在虚拟通道中写数据。终端服务把这些数据发送到虚拟通道的服务器端。.服务器调用
WTSVirtualChannelRead 函数来读取这些数据。
VirtualChannelClose
关闭一个虚拟通道
VirtualChannelEntry 函数必须调用 VirtualChannelInit 函数来初始化一个虚拟通道的访问。当
调用 VirtualChannelInit 时,必须通过 VirtualChannelInitEvent 回调函数的一个指针。终端服
务在初始化完成是调用这个函数,并在与一个终端服务器建立连接后再次调用这个函数。
在连接建立之后,你可以调用 VirtualChannelOpen 函数来打开由 VirtualChannelInit 函数注册
的虚拟通道。VirtualChannelOpen 函数将为你的 VirtualChannelOpenEvent 回调函数指定一个
指针。
当 VirtualChannelOpen 函数调用返回后,你可以调用 VirtualChannelWrite 函数来写虚拟通道
了。写的过程是异步的,因此你不必释放或重新分配缓冲区,直到 VirtualChannelOpenEvent
函数说明这个写的过程已经完成。
当你调用 VirtualChannelWrite 函数时,你可以通过一些用户数据来参看写过程的状态,当调
用 VirtualChannelOpenEvent 时,终端服务将调用通过返回的用户数据通知你写的过程已经
完成。在虚拟通道末端的服务器上,服务器插件调用 WTSVirtualChannelRead 函数来读取这
些数据。
当 服 务 器 端 组 件 把 这 些 数 据 写 入 服 务 器 的 时 候 , 终 端 服 务 也 可 以 调 用
VirtualChannelOpenEvent 函 数 得 到 相 应 的 信 息 。 服 务 器 端 组 件 是 通 过 调 用
WTSVirtualChannelWrite 函数把数据写入到服务器的。
客户端和服务器端组件可以在虚拟通道中写入任意大小的数据。然而,在发送数据之前,终
端服务将把这些数据分割成 CHANNEL_CHUNK_LENGTH 字节大小的片断。终端服务为每
一个数据片断调用 VirtualChannelOpenEvent 函数,而不是把这些数据重新建立成原是大小
的包。每一次调用 VirtualChannelOpenEvent 显示数据片段的大小,并显示出是发送数据的开
始、中间或是末尾。
VirtualChannelClose 函数用来关闭一个通道。然而,你并不必须显示的使用这个函数。因为
当一个哭户从服务器上断开连接时,终端服务会自动的关闭所有的通道。
四.Virtual Channel Client Registration
你必须在注册表中注册客户端 dll 的名称。方法是在下面路径之一加入子键.
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\Addins
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\connection\Addins
加入到 Default\Addins 键下会应用于所有的连接。加入到 connection\Addins 键下仅仅应用于
指定的连接。裂解可以使用连接管理器创建和管理。
子键可以是任意的名称,它必须包含一个 REG_SZ 或者 REG_EXPAND_SZ 型的值。并且也
可以再加一个 REG_DWORD 值。REG_SZ 或者 REG_EXPAND_SZ 值的原型如下。
Name = DLLname
如果使用一个 REG_EXPAND_SZ 值,那么它包括一个未扩展的环境变量,这个变量将在运
行时扩展。DLLname 的值是一个全路径。如果 DLLname 没有包括一个全路径,那么将应用
标准的 Dll 搜索路径。
REG_DWORD 值的原型如下。
RemoteControlPersistent = flag
flag 的值是 1 或 0,0 是默认值。如果是 1,那么这个插件将不会得到远程控制开始与结束
的信息。如果是 0,这个插件将不会得到远程控制开始与结束的信息。
五.Remote-Control Persistent Virtual Channels
在 Windows CE .NET 和 Windows XP 中,一个 DLL 可以指定一个或多个虚拟通道作为永久
远程控制。这样的通道在客户的一个连接会话连接或断开时都不会被关闭。数据将继续通过
这个通道被发送和接收。没有被指定为永久远程控制的虚拟通道将被关闭。永久远程控制的
虚拟通道通过调用 VirtualChannelInit 函数指定。参阅 VirtualChannelInit 函数会得到更多的
信息。
六.Disabling Terminal Services Features
为了增强安全性,你可以选择屏蔽终端服务的一些功能,比如当使用 Remote Desktop
ActiveX Control 连接时的剪切板的重定向和指针的重定向。
怎么屏蔽终端服务的功能
1.在客户计算机的注册表中加入下面的键。
HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server\DisableClipRedirection
HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server\DisablePrinterRedirection
2.把这两个键的值设置为 0。