快好知 kuaihz订阅看过栏目

 

远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。大部分的Windows都有客户端所需软件。其他操作系统也有这些客户端软件,例如Linux、FreeBSD、Mac OS X。服务端电脑方面,则听取送到TCP3389端口的数据。

目录

1 功能
2 优点
3 版本
4 RDP 6.0的新功能
5 第三方客户端
7 外部链接

功能

- 多种显示支持,包括8,15,16,24,32位色。

- 128位加密,使用RC4加密算法。(此为内定的加密方式;比较旧版的客户端可能使用较弱的加密强度)

- 支持 TLS(Transport Layer Security,前身为SSL)。

- 声音转向(redirection)支持,用户可以在远程电脑运行有声音的应用程序,但是将声音导引至客户端电脑来听。

- 文件系统转向支持,用户可在使用远程电脑的过程中,取用本地(客户端)电脑上的文件系统。

- 打印机转向支持,在使用远程电脑时,可以使用本地(客户端)电脑上的打印机输出,包括直接连在客户端电脑的打印机或网络共享打印机。

- 通信端口转向支持,远程电脑上的应用程序可以使用本地(客户端)电脑上的串行端口或平行端口。

- Windows 的剪贴板数据可以在远程及本地电脑之间互通。

优点

与远程桌面协议兼容的客户端可在多种操作系统上运行,许多Linux系统上甚至将RDP客户端功能列为核心功能之一。此外,用户也不一定要有宽带网络才能连上他们的远程电脑桌面,RDP即使在56K拨接网络下,都还可以提供每秒更新五到六个画面的效果。

版本

RDP 的设计建构于国际电信联盟T.share协议(又称为 T.128),发展以来各个版本大致为

- 4.0版:这是第一个版本。随同终端机服务(Terminal Services)出现在Windows NT 4.0 Server、Terminal Server Edition。

- 5.0版:由Windows 2000 Server提供。加入了许多新功能,包括打印到客户端打印机,针对网络带宽使用的改进等等。

- 5.1版:由Windows XP Professional(XP Home不支持服务端功能)提供。支持24位颜色显示及声音的支持。

- 5.2版:由Windows Server 2003提供,包括了console mode connections,session directory,以及客户端资源的取用。Windows CE 5.0及6.0均有这个版本的客户端部分,但Windows CE没有作为服务端的功能。

- 6.0版:必须要有Windows XP SP2 或 Windows Server 2003 SP1/SP2 或 Windows XP Professional x64 Edition。包括许多重大改进,最值得注意的是可以从远程使用单一应用程序,而非整个桌面;以及32位颜色显示的支持。

- 6.1版:必须要有Windows Server 2008 或 Windows Vista SP1 或 Windows XP SP3(或SP2之后安装过KB952155的更新档)。

- 7.0版:由Windows Server 2008 R2或Windows 7引入。该版本的客户端可以是Windows XP SP3、Windows Vista SP1/SP2,但须安装KB969084。该版本的客户端不支持Windows Server 2003 x86和Windows Server 2003 / Windows XP Professional x64 editions。

- 7.1版:必须要有Windows 7 SP1或Windows Server 2008 R2 SP1,主要增加了RemoteFX的功能。

- 8.0版:由Windows 8或者Windows Server 2012引入。Windows 7 SP1和Windows Server 2008 R2 SP1要支持该协议须先安装KB2574819,再安装KB2592687。

- 8.1版:由Windows 8.1和Windows Server 2012 R2引入。Windows 7 SP1和Windows Server 2008 R2 SP1要支持该协议须先安装KB2574819、KB2857650,再安装KB2830477。之后最好再安装KB2913751。

-10.0版:必须要有Windows 10。

新功能

- 远程应用程序:客户端电脑上特定文件格式的相关应用程序可以在远程电脑上。

- 无缝隙窗口:在客户端电脑上可以直接运行在远程电脑上的应用程序。(不用先连上整个远程电脑的桌面) - 终端服务器网关:可以使用 front-end IIS server,经由https,来连接 back-end Terminal Services servers。

- 支持远程Windows Aero画面

- 支持远程的 Windows Presentation Foundation 应用程序:兼容的客户端如果支持 .NET Framework 3.0 就能在本地电脑上显示完整的 Windows Presentation Foundation 效果。

- 周边设备转向经过重新设计,可以使用更多样的设备。

- 经由 WMI(Windows Management Instrumentation),所有终端服务都可以configure,都可 scriptable。 - 针对客户端做带宽调整。

- 支持32位显示。

- 支持双显示器,包括宽屏幕显示。

- 支持IPv6协议,可以工作在纯IPv6的TCP/IP网络环境中。

第三方客户端

mRemote

MultiDesk

Remote Desktop Organizer

Terminals

另见

Terminal Services

Citrix MetaFrame

Independent Computing Architecture

X窗口系统

VNC

NX technology

rdesktop

协议

RDP:可靠数据协议(RDP:Reliable Data Protocol)

RDP 是一种面向连接的传输协议,其主要设计来为主机监控应用程序如下载 / 上传以及远程调试进行有效的大批数据传输。RDP 尝试只提供那些必需的服务,达到操作有效、尺度小的效果。其主要功能如下:

RDP 为每个传输层连接端口提供一个全双工通信信道;

RDP 尝试可靠发送所有用户信息,一旦发送失败,将向用户报告错误。RDP 扩展 IP 数据报服务使之能够可靠发送;

RDP 尝试侦测并删除所有损坏的和重复的数据段,它在数据段头使用校验码及序列号实现这一过程;

RDP 随意地提供数据段序列发送,必须在连接建立时就指定数据段的序列发送;

RDP 会响应确认序列之外的数据段,这会释放发送端的资源。

与 TCP 相比,RDP 所支持的功能更为简单。RDP 的流控制,缓冲以及连接管理模式都是相当简单的。RDP 的目标就是能够简单有效地执行并能适合一系列的应用程序。

RDP 函数集也可能是子集从而进一步减小特殊执行的大小。例如,一台向其它主机请求下载的目标处理器可能执行一个仅支持默认的开放式函数和单连接的 RDP 模块。这个模块也可能选择不执行非顺序响应确认。

协议结构

RDP 第二版协议头结构(见附图)

Control flags ― 8个控制位划分如下:

SYN:SYN 位表示当前为同步段。

ACK:ACK 位表示协议头有效的承认序号。

EACK:EACK 位表示当前为扩展承认字段。.

RST:RST 位表示该数据包为复位字段。

NUL:NUL 位表示该数据包为空字段。

0:表示该字段的值必须设置为0。

Ver no:版本号,当前版本号为2。

Header length ― RDP 协议头长度。

Source Ports ― 源地址,识别通信发生的过程。网络访问协议头中,源地址和目标地址的端口标识符的结合完全限定了连接并形成连接标识符。如此 RDP 可用于区分两台主机间的多连接。

Destination Ports ― 目标地址,识别通信中的目标过程。

Data Length ― 该字段中的数据长度(八位),该数据长度不包括 RDP 协议头。

Sequence number ― 该字段的序列号。

Acknowledgement number ― 如果 ACK 位设置在协议头部,这就是字段序列号,即该字段发送端最后正确按序列接收的顺序。一旦连接成功,就应该发送该字段。

Checksum ― 检验和确保完整性。

Variable Header Area ― 用于传输 SYN 和 EACK 字段的参数。

其他信息

远程桌面协议是基于和 T-120 系列协议标准相同的扩展。多声道能够协议允许单独的虚拟信道,应用于携带的演示文稿数据、 串行设备的通讯、 授权信息、 高加密的数据 (键盘,鼠标活动) 等等。因为 RDP 是核心 T.Share 协议的扩展,多个其他功能将保留在 RDP 中如:体系结构支持多点 (多方会话) 所需的功能的一部分。多点数据传递允许从传送中"实时"到多个方而不必将相同的数据发送到每个会话单独 (例如,虚拟白板) 应用程序的数据。

在 Windows 终端服务器此第一版本中但是,我们都集中在提供可靠、 快速点对点 (单个会话) 通信。只有一个数据通道将使用在初始版本的终端服务器 4.0 但是在未来的产品中 RDP 的灵活性提供充足的空间的功能。

Microsoft 决定实现 RDP 连接以便 Windows NT 终端服务器提供服务。原因是它提供了非常可扩展基础从中生成很多更多的功能。RDP 提供 64,000 单独的通道的数据传输。但是,当前传输活动仅使用单个通道 (用于键盘、 鼠标和演示文稿数据)。

而且,RDP 旨在支持许多不同类型的网络拓扑 (例如 ISDN、 POTS 和许多 LAN 协议 (如 IPX、 NetBIOS、 TCP/IP,等)。当前版本的 RDP 将只运行通过 TCP/IP,但带有客户反馈其他协议支持可能会添加在将来的版本。

在发送和接收通过 RDP 堆栈数据所涉及的活动本质上是常见 LAN 网络今天七层 OSI 模型标准相同。从应用程序或服务以进行传输的数据被通过向下该协议堆栈 sectioned、 定向到一个通道 (通过 MCS)、 加密、 包装、 加图文框、 打包到网络协议和最后寻址和通过网络发送到客户端。返回的数据相同方法只适用于反向,与数据包被去除的它的地址,然后打开解密,依此类推直到数据呈现给应用程序使用。在第四个和第七层,其中数据是加密、 自动换行和加图文框、 定向到一个通道和确定优先级别之间进行协议堆栈修改的关键部分。

一个应用程序开发人员的要点是中使用 RDP, Microsoft 具有抽象出处理协议堆栈的复杂性。这使他们只需编写干净的、 设计完善的行为良好 32-位应用程序,然后由终端服务器和 $ 其客户端连接实现 RDP 堆栈负责的其余部分。

有关应用程序在终端服务器上的交互方式和内容时要注意的一个 Windows 终端服务器的基础结构为开发应用程序的详细信息,查看"优化应用程序的 Windows NT Server 4.0,终端服务器版"白皮书。 对多点通信服务 (MCSMUX)、 通用会议控件 (GCC)、 Wdtshare.sys 和 Tdtcp.sys 是值得讨论 RDP 堆栈实例中的四个组件。MCSmux 和 $ GCC 是国际电信联盟 (ITU) T.120 系列的一部分。MCS 由组成两种标准: T.122,定义了多点的服务和 T.125,指定数据传输协议。MCSMux 控件通道 (通过在协议内的预定义虚拟信道多路复用数据) 的工作分配、 优先级别和发送的数据的分段。 它实质上是提取到从该 GCC 的角度来看的单个实体的多个 RDP 牌叠。GCC 负责管理这些多个通道。在 GCC 允许创建和删除的会话连接和 $ 通过 MCS 所提供的控制资源。每个终端服务器协议 (当前,支持唯一的 RDP 和的 Citrix ICA) 将具有一个协议堆栈实例加载 (等待连接请求一个侦听程序堆栈)。终端服务器设备驱动程序协调并管理 RDP 协议活动,是由组成的较小的组件的 UI 传输、 压缩、 加密、 帧和等上 RDP 驱动程序 (Wdtshare.sys) 和传输驱动程序 (Tdtcp.sys) 将打包到基础协议网络协议,TCP/IP。

RDP 被开发的完全独立于此案例的 TCP/IP 中其基础的传输堆栈。RDP,正在完全独立于其传输堆栈,我们可以将其他网络协议的其他传输驱动程序添加为客户需要为它们的方法很少或没有对基础的协议部分的重大更改随增长。这些是 RDP 的性能和网络上 extendibility 的主要元素。

投稿
非常不爽,删了吧! 相关词条:文化 语言文字 专业术语 远程桌面 终端机 FreeBSD 串行端口 网络带宽 远程桌面 应用程序开发 国际电信联盟 设备驱动程序