Revision Summary Date Revision History Revision Class Comments 3/30/2012 1.0 New Released new document. 7/12/2012 1.0 None No changes to the meaning, language, or formatting of the technical content. 10/25/2012 2.0 Major Updated and revised the technical content. 1/31/2013 2.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 3.0 Major Updated and revised the technical content. 11/14/2013 4.0 Major Updated and revised the technical content. 2/13/2014 4.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 4.0 None No changes to the meaning, language, or formatting of the
technical content. 6/30/2015 5.0 Major Significantly changed the technical content. 9/24/2015 5.1 Minor Clarified the meaning of the technical content. 10/16/2015 5.1 None No changes to the meaning, language, or formatting of the technical content. 9/26/2016 5.2 Minor Clarified the meaning of the technical content.
client's behalf, the license server issues a license out of its available pool of licenses. Member protocols used to enable transporting device data or resource data between an RDP client and an RD Session Host server Protocol Name Description Short Name Remote Desktop Protocol: Clipboard Virtual Channel Extension This protocol provides basic programmatic access to the clipboard provided by an operating system and ensures that any application has the capability to place data onto the clipboard, extract data from the clipboard, enumerate the data formats available on the clipboard, and register to receive notifications when the system clipboard is updated. Remote Desktop Protocol: File System Virtual Channel Extension This protocol provides access between the RD Session Host server and the RDP client file system drivers by redirecting all requests and responses between the two.
Remote Desktop Protocol: Serial and Parallel Port Virtual Channel Extension This protocol specifies the communication used to enable the redirection of ports between a terminal client and an RD Session Host server. By redirecting ports from the RDP client to the RD Session Host server, applications running on an RD Session Host server can access the remote devices attached to those ports. Remote Desktop Protocol: Print Virtual Channel Extension This protocol specifies the communication used to enable the redirection of printers between an RDP client and an RD Session Host server. By redirecting printers from the RDP client to the RD Session Host server, applications running on a server can access the remote devices as if they were printers. Remote Desktop Protocol: Smart Card Virtual Channel Extension This protocol enables client smart card devices to be available, within the context of a single RDP session, to
server-side applications. Remote Desktop Protocol: Remote Programs Virtual Channel Extension This protocol is a Remote Desktop Protocol (RDP) feature (as specified in ) that presents a remote application (running remotely on a remote application integrated locally (RAIL) server) as a local user application (running on the RAIL client computer). Also known as RAIL. Remote Desktop Protocol: Multiparty Virtual Channel Extension This protocol enables the remote display of desktop and application content. To effectively implement an or collaborative solution, additional information is conveyed to keep the participants apprised of who else is involved, in addition to applications or windows are being shared. Remote Desktop Protocol: Audio Output Virtual Channel Extension This protocol transfers audio data from the RD Session Host server to the RDP client. For example, when the RD Session Host
server plays an audio file, this protocol is used by the RD Session Host server to transfer the audio data to the RDP client. The RDP client can then play the audio. Remote Desktop Protocol: Dynamic Virtual Channel Extension This protocol implements a generic communication channel on top of the virtual channel protocol. A dynamic virtual channel (DVC) is established over an existing static virtual channel. Remote Desktop Protocol: Plug and Play Devices Virtual Channel Extension This protocol specifies the communication used to enable the redirection of plug and play devices between an RDP client and an RD Session Host server. Remote Desktop Protocol: XML Paper Specification (XPS) Print Virtual Channel Extension This protocol specifies communication between a virtual printer driver installed on an RD Session Host server and a printer driver installed on the RDP client. The primary purpose of this protocol is to acquire printing capabilities
and to display a user interface on the RDP client. Remote Desktop Protocol: Audio Input Virtual Channel Extension This protocol enables the transfer of audio data from the RDP client to the RD Session Host. For example, an application running on an RD Session Host can record audio data. This data will be transferred from the RDP client to the RD Session Host, allowing the application to record from an audio device installed on the RDP client. Remote Desktop Protocol: USB Devices Virtual Channel Extension This protocol is used to redirect universal serial bus (USB) devices from a terminal client to the terminal server, which allows the server access to a device that is physically connected to the client as if the device were local to the server. Remote Desktop Protocol: Video Virtual Channel Extension This protocol enables the transfer of synchronized audio and video data from an RD Session Host specific
to an RDP client. The RDP client can play the audio and video data and synchronize this data using the timing information provided by the protocol. Remote Desktop Protocol: UDP Transport Extension This protocol extends to use User Datagram Protocol (UDP) transport. Remote Desktop Protocol: Graphics Pipeline Extension This protocol is used by RDPBCGR to enable smart processing of graphics data. Remote Desktop Protocol: Multitransport Extension This protocol enables open multiple transports as an extension to RDPBCGR. Remote Desktop Protocol: Virtual Channel Echo Extension This protocol is used to determine network characteristics (such as round-trip time (RTT)) between an RD Session Host and an RDP client. Remote Desktop Protocol: Video Optimized Remoting Virtual Channel Extension This protocol is designed to be run within the context of a Remote Desktop Protocol (RDP) virtual channel established between an RDP Client and an RD Session Host. This protocol
Examples Example 1: Connecting from an RDP Client to an RD Session Host This example demonstrates the process of connecting from an RDP client to an RD Session Host as described in section . Prerequisites A valid, non-expired license exists for the client on the License Server. The RD Session Host server is operational and listening for an RDP connect request on port 3389. If the RDP client is the IPv6 protocol, the RD Session Host supports the IPv6 protocol. Initial System The RDP client and RD Session Host are not connected. System State The RDP client is connected to the RD Session Host; the RDP client can sending mouse and keyboard input to the RD Session Host; and the RD Session Host can send graphics output to the RDP client. Sequence of Events The diagram that follows illustrates one example of the messages that are exchanged between an RDP client and an RD Session Host in an environment no intermediary gateway is used. The sequence of Connection Finalization events (steps 15-23) is not fixed, and the possible message flow is specified in detail in section 1.3.1.1. Figure 6: Sequence illustrating RDP Client connecting to an RD Session Host The connection sequence is described in the following The RDP client initiates the connection when the user provides the name of the remote desktop to connect to. The RDP client initiates a connection to the RD Session Host by sending an X.224 Connection Request protocol data unit (PDU), as described in [MS-RDPBCGR] section 1.3.1.1. The RD Session Host responds with an X.224 Connection Confirm PDU. The RDP client sends a Multipoint Communication Service (MCS) Connect Initial PDU with GCC Conference Create Request. The RD Session Host responds with an MCS Connect Response PDU with GCC Conference Create Response. The RDP client sends an MCS Erect Domain Request PDU. The RDP client sends an MCS Attach User Request PDU. The RD Session Host responds with an MCS Attach User Confirm PDU. The RDP client sends multiple (in this case six) MCS Channel Join Request PDUs. The RD Session Host sends multiple (in this case six) MCS Channel Join Confirm PDUs. The RDP client a Security Exchange PDU.
Protocol syntax refers to data elements (such as packets, structures, enumerations, and methods) as well as interfaces. Protocol revision refers to changes made to a protocol that affect the bits that are sent over the wire. The changes made to this document are listed in the following table. For more information, please contact . Section Tracking number (if applicable) and description Major change (Y or N) Change type Microsoft Implementations Windows Server 2016 Technical Preview to applicability list. N Content update.
Index A 34 11 8 16 C 33 51 33 33 16 16 16 16 8 5 Considerations 34 33 D Dependencies 16 16 Design intent 18 16 24 31 E 16 33 Establishing a secure connection between an rdp client and an rd session host server use cases 18 35 Extensibility 50 33 33 16 F 8 8 G 5 H 33 I 50 33 6 16 5 M 50 O Overview 5 11 8 5 P 16 50 R Redirection functionality use cases 24 6 Requirements 33 33 8 16 S 33 8 16 16 16 33 System overview 5 11 8 16 18 16 24 31 T 11 Terminating a connection between an rdp client and an rd session host server use cases 31 51