There have been some design changes in RDS (remote desktop services) and in RDC (remote desktop client). Let’s start by discussing the legacy RDP. RDP is a layered binary-encoded protocol that runs on a lossless connection-oriented transport. Some of RDP’s layers originated in code derived from the NetMeeting project, which in turn had roots in ITU standards (such as T.120). As RDP has evolved, the layers have diverged significantly from those standards for performance reasons as headers have been collapsed down and bit-packed for efficiency. Many of the core design choices in RDP have been made to optimize for performance – bandwidth on the wire as well as encode/decode speed. Many key-protocol structures are hand-designed to explicitly use the least amount of space possible.
|