The ICA client software is the fundamental element allowing a computing device to attach to and run sessions off of a MetaFrame XP server. Without ICA client software installed, a device cannot run ICA sessions. From the MetaFrame XP server's perspective, it doesn't matter which ICA client platform is used or how a client connects to the server. This is actually the true beauty of MetaFrame XP. All users get the exact same application experience-regardless of their client platform.
ICA Client to MetaFrame XP Server Communication
Fundamentally, the ICA client software needs to do two things to allow users to access MetaFrame XP applications:
- It locates the MetaFrame XP server and the application that the user wants to use.
- It establishes the remote sessions, via the ICA protocol, with the MetaFrame XP server.
Just about any type of client software in the world needs to take these two steps to connect to a server resource. For example, if we were talking about web browsers instead of ICA software, then our client software would be the web browser. The first step (the location of the server) is done by the user typing in the name of a website, such as www.citrix.com. The second step (establishing the session) is accomplished as the server sends web pages to the client via the HTTP protocol.
Let's observe these two steps from and ICA client perspective.
Step 1. ICA Client Locates Servers and Applications
In order for any ICA client software to connect to a MetaFrame XP server, the client software needs to be able to find the MetaFrame XP server. There are six different ways that this can occur, although not all versions of the ICA client software support all methods.
Throughout this chapter, we'll look at different ICA client platforms and how they can be configured to automatically connect to specific servers via specific protocols. However, any configuration that you set up will always use one of these six protocol combinations to find a server:
- TCP/IP. Using the TCP/IP method, the ICA client software will send out a broadcast to UDP port 1604. Any MetaFrame XP servers listening on this port will respond.
- IPX. Using the IPX method, the ICA client software will send out a broadcast via the IPX protocol.
- SPX. Using the SPX method, the ICA client software will send out a broadcast via the SPX protocol.
- NetBIOS. Using the NetBIOS method, the ICA client software will send out a NetBIOS broadcast.
- TCP/IP + HTTP. When the TCP/IP + HTTP method is used, the ICA client software will try to connect via the HTTP protocol to a host called "ica" in order to automatically download configuration information for servers and applications.
- SSL + HTTPS. When the SSL + HTTPS method is used, the ICA client software will try to connect via an HTTP request encrypted with SSL, to a host called "ica."
In many instances, users establish their ICA sessions with MetaFrame XP servers by specifying the name of a published application rather than the name of a specific server. This was discussed back in Chapter 4.
The ICA client software is responsible for displaying a list of the available published applications (and published content if the servers are running Feature Release 1 or 2) for the user. Any time a user uses the ICA client software to view the available applications in a server farm or to refresh the list of applications in a server farm, the following process takes place:
Figure 10.1: How the ICA client software obtains a list of available applications.
- The ICA client software contacts a MetaFrame XP server to obtain the list of applications that are available.
- The MetaFrame XP server sends the user's credentials to the zone data collector.
- The zone data collector compiles the list of applications for that user and sends it back to the MetaFrame XP server.
- The MetaFrame XP server sends the list to the ICA client.
Step 2. ICA Client Software Establishes Session
Once a MetaFrame XP server is located, the ICA client software is able to connect to it for the user session. This user session can take place over one of several protocols:
- Async (modem).
Figure 10.2 illustrates the process that occurs when a user chooses to launch an ICA session via a published application.
Figure 10.2: A user launches a published application
- The user selects a published application to run from the list of applications presented in their ICA client software (from the list the software previously obtained from a MetaFrame XP server and the zone data collector). In the example in Figure 10.2, the application selected is "Word 2002."
- The name of the application that the user selected is passed to the MetaFrame XP server.
- The MetaFrame XP server passes the name of the application to the zone data collector.
- The zone data collector sends the address of the MetaFrame XP server running Word 2002 back to the first MetaFrame XP server. (This might also involve a load balancing calculation as outlined in Chapter 4.)
- The MetaFrame XP server that the user initially contacted sends the address of the server running Word 2000 to the ICA client.
- The ICA client software on the user's client device establishes an ICA connection with the application.