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
Multistream ICA
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.
Streams
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:
“Stream#,Stream Type;”
- 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
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.
Requirements
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.
Citrix Policies
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.
Kees Baggerman
Latest posts by Kees Baggerman (see all)
- Nutanix AHV and Citrix MCS: Adding a persistent disk via Powershell – v2 - November 19, 2019
- Recovering a Protection Domain snapshot to a VM - September 13, 2019
- Checking power settings on VMs using powershell - September 11, 2019
- Updated: VM Reporting Script for Nutanix with Powershell - July 3, 2019
- Updated (again!): VM Reporting Script for Nutanix AHV/vSphere with Powershell - June 17, 2019