Remote Computing Protocols: Citrix ICA and Other Alternatives

Citrix Independent Computing Architecture (ICA) is a proprietary protocol that specifies a set of rules for passing data between servers and clients over a network. With ICA, an application installed on a remote server can be accessed by a user from another location using any compatible ICA client. When a user interacts with the application, any changes made go back to the server over the network. ICA clients are available for Windows, macOS, Unix and other operating systems.

What Are Remote Display Protocols?

Citrix ICA is a remote display protocol, just like PC over IP (PCoIP), RemoteFX and HDX. As such, it allows a desktop at a remote location to be displayed over another screen in another location. Remote display protocols are used mostly in hosting remote applications in a Virtual Desktop Infrastructure (VDI).

When they first came out, remote display protocols were used primarily to display graphical content and transmit audio content from the host server to client PCs, with processing done mainly on the host and the clients merely displaying the results.

There have been significant improvements in remote display protocols in recent years. From being mere displays of whatever is being shown on the host, they are now able to process some of the data that used to be handled solely on the host in a process known as redirection. However, this transition means a need for more robust hardware and software on the client-side.

What Is ICA, and How Does It Work?

Citrix ICA serves as the foundation of Citrix VDI solutions and is used in Citrix Virtual Apps and Desktops, among other Citrix products. It also serves as the base for HDX, another Citrix remote display protocol that helps enhance the user experience for applications delivered via ICA.

Citrix ICA is a Layer 6, or presentation layer, protocol—it prepares the data at the server for presentation to Layer 7, or the application layer. It delivers video and audio output from the server to the client and sends any input from the client back to the server. It uses Transmission Control Protocol (TCP) port 1494 to deliver traffic between server and client.

Citrix ICA enhances the user experience with Session Reliability, which it harnesses over TCP port 2598. Based on the Common Gateway Protocol (CGP), this feature allows clients to continue showing the server’s screen even when the network connection is slow or unreliable.

Optimized for wide area networks (WANs) and high-latency connections, Citrix ICA also supports other optimization features, including quality of service (QoS). While it was designed back at a time when the fastest internet connection was a 56k modem, it has been improved in recent years to deliver a better experience, although it now requires more expensive and powerful hardware. Currently, Citrix ICA also has a wider array of features.

What’s the History of ICA?

Citrix started out as a developer of remote access products for pre-Windows Microsoft, which at that time was still using OS/2 as the OS for its computing hardware. Founded in 1989, Citrix came out with Citrix ICA in 1991, using it in its first product, Citrix Multiuser, designed originally for OS/2.

After Microsoft broke away from IBM due to differences in how to position the new Windows 3.1 in the market, Citrix redesigned Citrix Multiuser to make it compatible with both DOS and Windows.

Citrix further improved Citrix ICA when Windows came out with Windows NT in 1992. It licensed Citrix ICA to Microsoft for use in NT as WinFrame, allowing multiple users to access a single Windows NT machine simultaneously.

Citrix licensed Citrix ICA to Microsoft in 1997, making it essentially the foundation of what would later become the ubiquitous Remote Desktop Protocol (RDP). Thus, while it is often touted as an alternative to RDP, the latter is in fact based on ICA.

What Are Citrix ICA Virtual Channels?

Further improved in the years that followed, making Citrix ICA became more capable than RDP. These improvements included its use of virtual channels for printing, typing, video, audio, and universal serial bus (USB), among other functions.

Virtual channels allow secure communications between a client and a server-side application using a virtual driver residing on the client. Citrix Virtual Apps and Desktops and other Citrix products use virtual channels and drivers to add more functionality to their new versions.

Using software development kits (SDKs) from Citrix, customers and third-party vendors can also create virtual channels for their own Citrix ICA-compatible applications.

How Does Parallels RAS Provides a Better User Experience to Access Local Devices through RDP?

Parallels® Remote Application Server (RAS) is a remote working solution that provides secure access to virtual desktops and applications. It streamlines delivery of virtual desktops and applications to any device from anywhere and at any time, enhances data security through centralized access control and monitoring, and allows organizations to quickly scale their IT infrastructures on demand with auto-provisioning.

With device redirection, Parallels RAS leverages features available in local devices for more convenient usage of server-based desktops or virtual published applications. For example, local printers can be used for better printing performance and response time, sound input and output redirection means audio is available even when using a server-based teleconferencing application, and personal data and files can be kept on local drives while still using remote applications on the server.

Download the trial to see how Parallels RAS can help simplify your VDI user experience.