Just recently I was asked to advice in a situation with saturated lines on a Citrix XenApp 6.5 configuration with hundreds of different locations. With XenApp 6.5 and XenDesktop 5.5, with Receiver 3.0 (including Online Plugin 13.0), Citrix introduced support for true network based Quality of Service (QoS) to the ICA or HDX protocol so one of the options was to do QoS on the connections to the datacenters
ICA has 4 groups of ICA Channels, by using multistream ICA (multiport ICA) we can assign a TCP port for each of those four ICA Channels. By using different TCP ports we can assign priorities to the network traffic, we can use the registry to assign those channels to a separate TCP port and thus configure QoS on those ports (and channels).
Multi Stream ICA Configuration Registry key
The registry key to configure multistream ICA can be found in the following location: “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd\MultiStreamIca”.
Invalid Displayed Gallery
As you can see Streams and VirtualChannels are the two sub-keys available.
The streams contain the ICA streams and can be a secondary stream of a primary stream. There can only be one primary stream and the format is as following:
- Where the stream number starts with 0 and increments by one.
- The Stream type is either ‘S’ for Secondary or ‘P’ for primary.
Virtual Channels contains the Virtual Channel Stream Pairs. The format for this key is “VirtualChannelName,Stream number;”
- Where VirtualChannelName is the name of the virtual channel which is predefined and can be reviewed here: CTX131001
- Stream number is the stream number that virtual channel uses.
This is something easily misread, one of the requirements for multistream ICA (when not using a branch repeater) is that Session Reliability must be enabled. As one of the last requirements you’ll need to configure QoS on your network on the configured port so you can do bandwidth management per functionality.
So we’ve configured the virtual channels with the proper multistream number and QoS but we still have to configure the ports that can be used. We can do that with Citrix policies (in Citrix App Console/Studio or Active Directory):
The default port number can’t be changed as it’s the default CGP port but the other ports can be changed to what suits your situation. In this example we configured the ports to be from high to low like the priority and with this configuration we have a Citrix farm configured for multistream ICA, you’ll still need to configure QoS on your network.
Latest posts by Kees Baggerman (see all)
- XenServer and Nutanix: Insights on the how - September 7, 2017
- Making sure your Citrix Desktops are utilized with Powershell v2 - September 6, 2017
- Protecting your Citrix desktops on Nutanix using powershell - August 4, 2017
- Citrix Provisioning on Nutanix AHV [Updated with PVS support for AHV] - June 28, 2017
- Microsoft SCVMM and Citrix PVS, exporting retries to a CSV - June 19, 2017