3.1.5 Message Processing Events and Sequencing Rules
Sending and receiving messages is symmetrical between the DVC server manager and the DVC client manager. After the server creates a DVC, applications running on either the server or the client can initiate sending a message. The PDUs and the sending sequence are the same regardless of who initiates sending the message.
Messages are sent and received using four different PDUs, depending on the total length of the message being sent and whether bulk compression is used.
The maximum message size that an application can pass to a DVC manager for sending to a receiver at one time is 2^32-1 bytes. The Remote Desktop Protocol: Dynamic Virtual Channel Extension specifies a maximum PDU size of 1,600 bytes. A data PDU consists of a header and message data. Large messages are fragmented by the sending DVC manager and reassembled by the receiving DVC manager. This is provided as a service to the requesting application.
Data transmitted over an unreliable channel MUST NOT be fragmented because an unreliable channel cannot guarantee that there will be no dropped or out-of-order sequence packets. In terms of the transports described in section 2.1, static virtual channels and UDP-R multitransport connections provide reliable data transportation, while UDP-L multitransport connections are unreliable and MUST NOT transport fragmented data.