一、引言
这篇文章主要参考英文版RDPBCGR协议,可以认为是一篇翻译文章,但我这里并不会简单地翻译那篇文章,最主要的是提取里面重要的部分,加以整理,分析和讲解。并在必要的地方添加FreeRDP的代码,结合代码和文档一起分析。需要声明的是,代码均取自开源FreeRDP,不会使用公司内部代码及任何商业机密。
二、基本名词及简写约定
Remote Desktop Protocol(RDP) ——> 远程桌面连接协议
Basic Connectivity and Graphics Remoting(BCGR) ——> 基本链接和图形远程访问
Generic Conference Control(GCC) ——> 通用会议控制
Transport Layer Security(TLS)——> 传输层加密
Multipoint Communication Service(MCS) ——> 多点通信服务
Basic Encoding Rules (BER) ——> 基本编码规则
binary large object (BLOB) ——> 二进制大对象
certification authority (CA) ——> 证书授权
input method editor (IME) ——> 输入方法编辑器
Message Authentication Code (MAC) ——> 消息授权码
Network Level Authentication (NLA) ——> 网络级授权
Packed Encoding Rules (PER) ——> 封装式编码规则
protocol data unit (PDU) ——> 协议数据单元
Transmission Contro