首页 > 代码库 > FreeRDP基本连接和图像规范
FreeRDP基本连接和图像规范
1.1.1 RDP简介
Remote Desktop Protocol:
Basic Connectivity and Graphics Remoting Specification
远程桌面协议:基本的连接和图形远程规范
该协议的目的是方便用户从远程计算机图形显示信息传送给用户,并从用户输入命令运送到远程计算机,输入命令在远程计算机上回放与远程计算机系统的相互作用。此协议,还提供一个可扩展的传输机制,它允许专门的通信发生在用户计算机上,在远程计算机上运行的组件组件之间。
1.1.2 RDP综述
1、 消息流
? 连接序列
RDP连接序列的目的是交换客户端与服务器之间设置和指定常见的设置用于持续连接。以致于输入、图形及其他数据可以在客户端和服务器之间交互。RDP连接序列在下面有详细的描述。所有的信息交互都有严格的顺序要求。
图2?1 RDP连接序列
连接序列可以分为八种不同的阶段:
1、 connection initiation连接初始化
客户端通过向服务器发送X.224 Connection Request PDU来发起连接请求。服务器会回复X.224 Connection Confirm PDU。
2、 Basic Settings Exchange基本的设置交互
客户端和服务器之间基本的设置交互是使用MCS(多点通信服务) Connect Initial PDU和MCS Connect Response PDU。这个连接初始化PDU包含基本的会议控制创建请求。而连接回复PDU包含GCC会议常见回复。这些GCC数据包包含基本设置数据(如核心数据,安全数据,网络数据)有客户端和服务器进行解析。
3、 Channel Connection 虚拟通道连接
客户端发送一个MCS Erect Domain Request PDU,接下来发送附加主要用户省份到MCS域的MCSAttach User Request PDU。服务器回复包含用户通道的MCS Attach User Confirm PDU。这是客户端通过发送multiple MCS Channel Join Request PDUs继续加入用户信道,输入/输出,通道及所有的静态虚拟通道(IO和静态虚拟通道ID信息在GCC数据包中)。服务器回复每个通道通过MCS Channel Join Confirm PDU。
基于这点,所有后续从客户端发送到服务器的数据都被封装在一个MCS Send
Data Request PDU,而从服务器到客户端的数据都被封装在一个MCS Send Data
Indication PDU(除了X.224 Data PDU.)
4、 RDP Security Commencement
? 安全增强型连接序列
? 断开-重连序列
? 断开序列
2、 服务器错误报告及状态更新
3、 静态虚拟通道
4、 数据压缩
5、 键盘鼠标输入
6、 基本服务器输出
7、 控制服务器图像输出
8、 服务器重定向
FreeRDP基本连接和图像规范