Remote desktop protocol (RDP) is a secure network communications protocol from Microsoft. RDP is designed for remote management, remote access to virtual desktops, applications and an RDP terminal server.
RDP allows network administrators to remotely diagnose and resolve problems that individual users encounter. To use RDP, network administrators would use RDP client software, and the individual users would use RDP server software.
RDP works by providing users with a graphical interface, that allows them to connect to another computer remotely. RDP works with multiple different types of network technologies.
RDP is available for most versions of the Windows operating system. RDP for Apple macOS is also an option. An open source version is available, as well. RDP is an extension of the ITU-T T 128 application sharing protocol.
Remote access is an efficient and comfortable way for corporate IT personnel to remotely connect to computer interfaces to install and configure software, uninstall software, troubleshoot issues, etc. Generally, it is widely used in the corporates due to the reason that it provides easy accessibility to a computer, device or a network from a remote distance but it also supports the access to home networks. Simply put, the remote access eliminates the need for the physical presence to log into a system.
Basic Architecture
RDP is based on, and an extension of, the ITU T.120 family of protocols. RDP is a multiple-channel capable protocol that allows for separate virtual channels for carrying device communication and presentation data from the server, as well as encrypted client mouse and keyboard data. RDP provides an extensible base and supports up to 64,000 separate channels for data transmission and provisions for multipoint transmission.
On the server, RDP uses its own video driver to render display output by constructing the rendering information into network packets by using RDP protocol and sending them over the network to the client. On the client, RDP receives rendering data and interprets the packets into corresponding Microsoft Windows graphics device interface (GDI) API calls. For the input path, client mouse and keyboard events are redirected from the client to the server. On the server, RDP uses its own keyboard and mouse driver to receive these keyboard and mouse events.
In a Remote Desktop session, all environment variables—for example, variables determining color depth and wallpaper enabling and disabling—are determined by the RCP-Tcp connection settings. This applies to all functions and methods that set environment variables in the
Features
Microsoft RDP includes the following features and capabilities:
Encryption
RDP uses RSA Security’s RC4 cipher, a stream cipher designed to efficiently encrypt small amounts of data. RC4 is designed for secure communications over networks. Administrators can choose to encrypt data by using a 56- or 128-bit key.
Bandwidth reduction features
RDP supports various mechanisms to reduce the amount of data transmitted over a network connection. Mechanisms include data compression, persistent caching of bitmaps, and caching of glyphs and fragments in RAM. The persistent bitmap cache can provide a substantial improvement in performance over low-bandwidth connections, especially when running applications that make extensive use of large bitmaps.
Roaming disconnect
A user can manually disconnect from a remote desktop session without logging off. The user is automatically reconnected to their disconnected session when he or she logs back onto the system, either from the same device or a different device. When a user’s session is unexpectedly terminated by a network or client failure, the user is disconnected but not logged off.
Clipboard mapping
Users can delete, copy, and paste text and graphics between applications running on the local computer and those running in a remote desktop session, and between sessions.
Print redirection
Applications running within a remote desktop session can print to a printer attached to the client device.
Virtual channels
By using RDP virtual channel architecture, existing applications can be augmented and new applications can be developed to add features that require communications between the client device and an application running in a remote desktop session.
Remote control
Computer support staff can view and control a remote desktop session. Sharing input and display graphics between two remote desktop sessions gives a support person the ability to diagnose and resolve problems remotely.
Network load balancing
RDP takes advantage of network load balancing (NLB), where available.
In addition, RDP contains the following features:
- Support for 24-bit color.
- Improved performance over low-speed dial-up connections through reduced bandwidth.
- Smart Card authentication through Remote Desktop Services.
- Keyboard hooking. The ability to direct special Windows key combinations, in full-screen mode, to the local computer or to a remote computer.
- Sound, drive, port, and network printer redirection. Sounds that occur on the remote computer can be heard on the client computer running the RDC client, and local client drives will be visible to the remote desktop session.
How Remote Access Helps
In this digital age, the world is working 24/7. So, it becomes important for employees to access their computers and servers connected to the corporate network when they are not physically present in the office or location. On the other hand, since the advent of BYOD, the number of endpoints in a corporate network has been drastically doubling and tripling in the recent times, and this majorly includes the smartphones. All such developments demand the system administrators access employee devices to monitor and resolve issues as and when they arise. Remote access helps address such needs effectively and makes it convenient for users on the corporate network.
RDP: The Basics
“The Microsoft Remote Desktop Protocol (RDP) provides remote display and input capabilities over network connections for Windows-based applications running on a server.” (MSDN)
Essentially, RDP allows users to control their remote Windows machine as if they were working on it locally (well, almost).
Figure 1: What is RDP?
Communication in RDP is based on multiple channels, and the protocol theoretically supports up to 64,000 unique channels.
The basic functionality of RDP is to transmit a monitor (output device) from the remote server to the client and the keyboard and/or mouse (input devices) from the client to the remote server. The communication during an RDP connection will be extremely asymmetric, while most of the data will go from the server to the client. RDP communication is encrypted with RSA’s RC4 block cipher by default.
Figure 2: Asymmetric communication
Before we get into how an RDP connection actually works, let’s examine the protocols/standards on which RDP relies. The RDP protocol stack looks as follows:
Figure 3: Protocol stack
TPKT is known as the ISO Transport Service on top of TCP. TPKT enables peers to exchange information units that are known as Transport Protocol Data Units (TPDU or PDU).
X.224 is a Connection-Oriented Transport Protocol, it provides a connection-mode transport service. RDP uses it in the initial connection request and response.
T.125 MCS is a Multipoint Communication Service. It allows RDP to communicate through and manage multiple channels.
Sending and receiving data through the RDP stack is essentially the same as the 7 layer OSI model for communication. The data transmitted is sectioned, directed to a channel, encrypted, wrapped, framed and packaged before going over the wire to the other party, then it goes through the same process in reverse.
The implementation of MS RDP has abstracted all of the complexity of the protocol stack, and it allows developers to write extensions to the protocol easily.
RDP Connection
In this part, we’ll explain the basics of an RDP connection. Keep in mind that for the sake of simplicity, some details were left out. For more information about the connection (including exact structures, constants, etc.)
Connection Sequence
Figure 4: Connection stages
The RDP connection can be broken down into a few stages:
- Connection Initiation
- Basic Settings Exchange
- Channel Connection
- Security Commencement
- Secure Settings Exchange
- Licensing
- Capabilities Exchange
- Connection Finalization
- Data Exchange
Connection Initiation
Figure 5: Connection initiation
The RDP connection is initiated by the client using an X.224 Connection request PDU. This packet contains an RDP Negotiation Request that holds a few connection flags and the security protocols supported by the client. Those security protocols can be in one of two categories:
Standard RDP Security
- Default of RSA’s RC4 encryption
Enhanced RDP Security
- TLS
- CredSSP (TLS + NTLM/Kerberos)
- RDSTLS – RDP enhanced with TLS
More information about RDP Security is available in the next section.
The connection is confirmed by the server using an X.224 Connection Confirm PDU. This packet contains the RDP Negotiation Response which is used to inform the client of the selected security protocol (chosen from the client’s supported protocols) that will be used throughout the entire connection lifetime.
From this point on, subsequent data will be wrapped in an X.224 Data PDU.
Basic Settings Exchange
Figure 6: Basic settings exchange
At this stage, basic settings are exchanged between the client and the server using an MCS Connect Initial PDU and an MCS Connect Response PDU (respectively). These settings (both from the client and the server) include:
- Core Data – RDP Version, Desktop resolution, color depth, keyboard information, hostname, client software information (product ID, build number), etc.
- Security Data – Encryption methods, size of session keys, server random (used later to create session keys) and server’s certificate (some of this is only relevant when using Standard RDP Security).
- Network Data – Information about the requested and allocated virtual channels. This contains the number of channels and an array of specific virtual channels. The client requests the exact type of channels in the request, and the server supplies the actual channel IDs in the response. For more information about those channels see the Channels in RDP section below.
Channel Connection
Figure 7: Channel connection
After establishing the list of virtual channels that will be used in the RDP session, here comes the stage at which every individual channel connection is made. This has a few sub-stages:
- MCS Erect Domain Request – Height in the MCS Domain. Since RDP doesn’t take advantage of advanced MCS topologies, it will be 0.
- MCS Attach User Request – request for a User Channel ID
- MCS Attach User Confirm – ID of the User Channel
- (+5) MCS Channel Join Requests and Confirmations – The client will start to request joining the virtual channels by using their IDs. Starting with the User Channel, I/O Channel and continuing with the virtual channels negotiated in the basic settings exchange. The server will, in turn, confirm every successful channel join.
From this point on, subsequent data sent by the client will be wrapped in an MCS Send Data Request PDU, while data sent by the server will be wrapped in an MCS Send Data Indication PDU. Data can now be redirected to virtual channels.
Advantages of Remote Access
Get Valuable Data Security
Remote desktop services enable businesses to store their company data and desktops in the cloud. As a result, employees and managers can access desktops from any device.
No matter what company you operate, the data you store is essential to ongoing business operations. In many cases, it’s essential to keep this data accessible, secure, and updated.
As we move into a digital age, one of the biggest risks business owners face is data loss through breaches, hacking, or simple technological failure.
Non-remote desktop services pose a higher risk of data loss to owners. This is because these desktops store data on hard drives, accessible from only one vantage point.
Cloud-stored data isn’t impacted by device failure of any kind. Using remote desktop services boosts data security, giving you the peace of mind you need when transmitting and utilizing valuable data.
Most services will have additional safety features and encryption services built into them.
2. Boost Employee Productivity
A lot of factors can influence employee productivity. At the top of this list is working environment.
Employees tend to be more productive and efficient when engaged, connected, and respected.
This is particularly the case when they use innovative or social technologies in the workplace.
If you’re looking for ways to keep your employees happy and productive, invest in remote desktop services. Remote services make it easier for your workers to complete tasks remotely.
For one thing, remote work may be the way of the future. For another, greater workplace mobility will give your employees the freedom to do their jobs comfortably, without feeling chained to a standard desktop.
Employees who feel in control of their work performance and environment are more likely to be motivated to tackle projects efficiently. Streamlined project completion and results can maximize your business’s entire productivity levels.
3. Save Money
Most businesses spend between 4 and 6 percent of their revenue on Information Technology (IT) services. IT services are particularly crucial for staying on top of data management and device maintenance.
However, budgeting for IT services can be costly, particularly if you are a small business or a startup.
Using remote desktop services rather than a single-location desktop system can save you money in the long run. Remote services don’t require nearly as much IT attention as standard desktop services.
This is because these services are cloud based and don’t depend on a central drive to function on a daily basis.
Investing in remote desktop services means investing in reliable storage solutions at a fraction of the cost of standard IT services. If issues do arise, you’ll likely have a dedicated support team available at all hours to assist with data management and system operation.
Money saved on this investment can be put towards other valuable components of your business trajectory, such as company expansion, new hires, and professional development.
4. Easily Manage and Access Data
A lot of people assume that remote services require more complicated means of accessing and managing company data. They assume that remote networks require complicated login information, for example, accessible through select devices.
This couldn’t be further from the truth. Using remote desktop services makes it easy to manage and access data from any location.
In many cases, desktop services enable remote workers to access key data from virtually any device, including mobile phones and personal laptop computers.
Users will have to input certain login information to access this data, but this is typically equivalent to what they would input on a standard office desktop.
What’s more, a task manager remote desktop permits authority figures to assess remote employee work progress. As such, you can monitor holistic work performance at any time.
Remote services do not mean that employees will suddenly be able to access all crucial data, however. Just like any desktop, you’ll be able to assign permissions to certain files and systems to prevent data breaches and maintain privacy.Easily monitor, control and maintain devices connected to the network
Quickly troubleshoot using the remote access
Effortlessly access the files on connected devices, servers or network
Define the access rights to files and folders for different categories of users
Supports business growth by providing quicker access to files.
Drop your comment below.