In the article "Speed Kills," December 1998, John Enck compared the performance of Microsoft's RDP (Windows NT Server 4.0, Terminal Server Edition's native protocol) and Citrix's Independent Computing Architecture. ICA is the more mature protocol, which Citrix developed in its WinFrame products. Citrix has packaged ICA in a Terminal Server add-on product called MetaFrame. The question John Enck attempted to answer in December was, "Which protocol is faster?"
Now that Terminal Server has been available for a while, and more people have had the chance to test it in their environments, deciding between ICA and RDP is simpler. In this article, I'll look at how the two protocols compete with and complement each other. After running both protocols for the past 9 months, I've concluded that each performs at an adequate level in most situations. I'll discuss performance differences, but I'll emphasize what I consider to be more important considerations—features and cost. (To learn about a third display protocol that UNIX users who connect to Terminal Server can use, see the sidebar "The X-11 Protocol," page 90.)
Does Speed Still Kill?
Although Citrix intended ICA for low-bandwidth applications, John Enck pointed out that RDP also works well in a low-bandwidth environment. Either protocol's speed depends on what you ask the protocol to do—RDP is sometimes significantly faster and sometimes significantly slower than ICA. Determining factors in a speed comparison include whether you require a full-screen draw and redraw or a partial-screen draw and redraw. Other factors include the applications you run (e.g., Internet Explorer—IE—is screen-redraw dependent, whereas a small Microsoft Word text document is not), whether you share limited bandwidth with other users (RDP is a streaming protocol that uses bandwidth when you are connected, regardless of task, whereas ICA sends packets only when the mouse or keyboard is in use), the client you run from and how busy the client is, and the kind of traffic that shares your bandwidth segment. One other significant factor is that ICA dynamically determines its compression ratio according to server performance parameters: If the server has few available processing cycles, ICA compresses less; if more processing cycles are available, ICA compresses more to better optimize bandwidth.
Although I stated that RDP and ICA performance is adequate in most cases, I don't mean improvement isn't desirable. In fact, a servercentric approach becomes more viable and less expensive each time a protocol speed advancement occurs. Every performance improvement translates to more computers fitting on less bandwidth, which lowers the per-connection cost, especially for people who use a servercentric solution over a WAN (a significant percentage of Terminal Server customers use Terminal Server to reduce administration costs at remote sites).
In late February, Citrix released MetaFrame 1.8. One of its features is faster ICA performance based on SpeedScreen 2 technology. SpeedScreen 2 builds on intelligent agent technology, which Citrix introduced in MetaFrame 1.0, and reduces the transmission of frequently redrawn screens. In comparison with MetaFrame 1.0, version 1.8 reduces bandwidth consumption by an average of 25 to 30 percent and reduces the number of transmitted total packets by as much as 60 percent, significantly improving measured speed on restricted bandwidth connections. SpeedScreen 2 facilitates consistent performance regardless of network connection by reducing latency and improving the feel of the server-based application. This technology should help ICA leap ahead of RDP in low-bandwidth speed. But Microsoft won't be far behind with improved performance in RDP, if you believe the rumors of enhancements packaged in Windows 2000 Server (Win2K Server). To read more about improvements to Terminal Server in Win2K Server, see Christa Anderson, "Terminal Server Grows Up," page 103.
Is There More to Life than Speed?
No matter how fast a protocol is, you shouldn't base your decision to use a protocol solely on speed. Although RDP is a capable protocol, it doesn't yet support features that MetaFrame and the ICA protocol support, as you can see in Table 1. How much time passes before Microsoft begins to develop some of these features in RDP is a matter for speculation, and some third-party vendors have already begun such development work. For example, if you purchase a ThinSTAR 300 thin client from Network Computing Devices (NCD), you can also buy an add-on that lets Terminal Server send sound to the ThinSTAR terminal via RDP. The add-on includes a load-balancing feature. Both NCD add-on features work only with the ThinSTAR 300 client, whereas MetaFrame offers the same features independent of client platform (you can use any thin client, PC, or Macintosh computer as long as the machine supports sound).
The feature comparison in Table 1 gives a better basis for choosing a protocol than a straight speed comparison gives. Although ICA comes out on top in features offered, MetaFrame loses in the cost category with a list price of $4995 (RDP adds no additional cost to Terminal Server). So, if you don't know which features are valuable to you, comparing features produces no clear across-the-board winner when you need to choose between ICA and RDP. To make that choice, the best question to ask yourself is, "What am I trying to accomplish?"
To help you answer this question, let's look at several hypothetical enterprise scenarios. I'll describe the optimal solution for each scenario and whether RDP or ICA is part of the solution.
Scenario 1. A large business has UNIX and Macintosh computers and needs to run Microsoft applications and several proprietary Win32 applications.
Scenario 1 solution. Because this company uses non-Windows clients, it requires the ICA protocol. The RDP client won't run from a UNIX or Macintosh machine.
Scenario 2. A small business has 10 computers on a small LAN. All 10 computers run Corel Office suite applications, Netscape, and a custom Windows-based database application. The business plans to upgrade most of its machines and wants to consider clients that require less-frequent software maintenance.
Scenario 2 solution. This company is a perfect match for RDP and Terminal Server. Justifying the cost of MetaFrame for this enterprise would be tough.
Scenario 3. A life insurance company has 300 outside sales representatives, each of whom has a portable printer and modem. The company is looking for a solution that will let it install its Win32-based quoting software and Microsoft Office applications on one main server so that the entire remote sales force can dial in to request quotes and perform other office work.
Scenario 3 solution. This company's solution is a bit ambiguous because the speed of remote connections is good on both RDP and ICA. However, RDP would be a weak solution because the protocol can't automatically attach to a remote user's printer, which means that remote salespeople would require training to manually share out their printers and map them from Terminal Server (assuming that NetBIOS Server Message Block—SMB—is accessible through the connection and that users can find their computers on the browse list). In contrast, you can configure ICA to automatically mount users' printers when they connect to the server and automatically delete the printers when users log off. In addition, remote users running ICA can copy between the server session and their desktop, and can copy files between their hard disk, which automatically maps to the server, and a network hard disk.
Scenario 4. A company has 500 users who will use new thin clients to run general office applications, Oracle applications, and a terminal session with an IBM AS/400. All users are on a LAN.
Scenario 4 solution. This business is a great RDP prospect because many new thin-client choices support RDP. However, the number of users is high and calls for a high number of servers, which introduces the requirement of load balancing and redundancy. Assuming one large server will handle 50 users (the configuration that Terminal Server documentation recommends), this implementation will require 10 servers—no small administrative task, although still easier than configuring 500 new PCs. One MetaFrame add-on is load-balancing software that lets administrators configure multiple servers as one server farm. Client computers connect to the server farm, and the load-balancing software bases its determination of the best server for a user to log on to on parameters the administrator chooses. In addition to providing increased reliability through failover, load balancing lets administrators use a higher number of less-expensive servers. The latest ICA client lets administrators push or pull connection icons from all users' desktops, and even lets administrators push published applications to all users' start menus. On the server side, Citrix's recently released application, Installation Management Services (IMS), will let an administrator install software on one server in a server farm, and IMS will replicate the installation to the other servers in the farm. I would recommend MetaFrame to this company because of the high number of users.
Scenario 5. A company has 15 internal users who will run only a Help desk application and Word from Windows 95 machines and thin clients. In addition to moving to a servercentric environment, this company wants to use one server as a remote server for network administrators and other company employees to dial in to.
Scenario 5 solution. This business needs to use both RDP and ICA. MetaFrame will provide great additional functionality for the dial-in users (such as automatic printer and file-system mapping), although the internal users don't need MetaFrame. If this business has 5 or fewer modems (and thus only 5 people using ICA), the company can use the MetaFrame 5-user product, rather than the 15-user product. Although 5-user MetaFrame isn't upgradeable to more than 5 users, the product costs less than half of the 15-user product's list price.
You Can Use Both
As you can see from the scenarios, instead of choosing between ICA and RDP, you can run both. Base your decision to run both protocols on whether the additional features ICA includes will give you a good return on your investment for your specific application. If you decide that you must choose between RDP and ICA based on a speed comparison, do a pilot test with both RDP and MetaFrame to determine which protocol is faster for your applications.