public:it:freerdp

这是本文档旧的修订版!


FreeRdp

  • 基于TCP连接,标准没有规定服务端端口,默认端口为3389
  • 消息流里的多字节数据统一使用小头字节序(little-endian)
  • RDP连接示意


@startuml rdpconn

skinparam sequenceMessageAlign center
skinparam shadowing false

header RDP 连接序列说明(无中间网关) V0.1.0 by weiyongjiu
hide footbox
participant RDP客户端
participant RD会话主机
autonumber "[0]"
==初始化连接==
RDP客户端 -> RD会话主机: X.224 Connection Request PDU
rnote right RDP客户端
**PDU**:(protocol data unit)协议数据单元
end note
return X.224 Connection Confirm PDU
==交换基本设置==
RDP客户端 -> RD会话主机:Multipoint Communication Service (MCS) \n Connect Initial PDU with GCC Conference Create Request
return MCS Connect Response PDU with \n GCC Conference Create Response
== 通道连接==
RDP客户端 -> RD会话主机: MCS Erect Domain Request PDU
RDP客户端 -> RD会话主机: MCS Attach User Request PDU
return MCS Attach User Confirm PDU
loop#Yellow 多个频道, 本例为6个
RDP客户端 -> RD会话主机: MCS Channel Join Request PDU
return MCS Channel Join Confirm PDU
|||
end
==RDP安全起步==
RDP客户端 -> RD会话主机: Security Exchange PDU
==交换安全设置==
RDP客户端 -> RD会话主机: Client Info PDU
==可选:自动侦测网络质量==
RD会话主机 -> RDP客户端: Auto-Detect Request PDU(s)
return Auto-Detect Response PDU(s)
==授权许可==
RD会话主机 -> RDP客户端: License Error PDU - Valid Client
==可选:多通道引导==
RD会话主机 -> RDP客户端: Initiate Multitransport Request PDU
return Initiate Multitransport Response PDU
==交换功能==
RD会话主机 -> RDP客户端: Demand Active PDU
return Confirm Active PDU
==连接完成==
rnote right RDP客户端
连接完成阶段并不是固定的,
消息流具体详见[MS-RDPBCGR] 章节 1.3.1.1
end note
RDP客户端 -> RD会话主机: Synchronize PDU
RDP客户端 -> RD会话主机: Control PDU - Cooperate
RDP客户端 -> RD会话主机: Control PDU - Request Control
RDP客户端 -> RD会话主机: zero or more Persistent Key List PDU
RDP客户端 -> RD会话主机: Font List PDU
RD会话主机 -> RDP客户端: Synchronize PDU
RD会话主机 -> RDP客户端: Control PDU - Cooperate
RD会话主机 -> RDP客户端: Control PDU - Granted Control
RD会话主机 -> RDP客户端: Font Map PDU
|||

@enduml

  • public/it/freerdp.1644544427.txt.gz
  • 最后更改: 2022/02/11 09:53
  • oakfire