Session state management may not work as expected when ISA Server 2004 accesses a Web site that uses the round robin feature of DNS to achieve load balancing

Article translations Article translations
Article ID: 897075 - View products that this article applies to.
Expand all | Collapse all

On This Page

SYMPTOMS

When Microsoft Internet Security and Acceleration (ISA) Server 2004 accesses a Web site, session state management on the Web site may not work as expected. Therefore, user data for unique sessions may not be retained.

This problem occurs when the Web site is hosted on a server that uses the round robin feature of the Domain Name System (DNS) to achieve load balancing.

CAUSE

This problem occurs because ISA Server cycles through the Internet Protocol (IP) addresses that are returned by the DNS query when ISA Server makes TCP connections to the Web servers. The round robin feature randomizes the IP addresses in the results of such queries. Therefore, requests are sent to different computers in the Web farm.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Internet Security and Acceleration Server 2004. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
891024 How to obtain the latest ISA Server 2004 service pack

Hotfix Information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

ISA Server 2004, Standard Edition
To apply this hotfix, you must have ISA Server 2004 Standard Edition Service Pack 1 installed. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
891024 How to obtain the latest ISA Server 2004 service pack
ISA Server 2004, Enterprise Edition
No prerequisites are required.

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this fix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
ISA Server 2004, Standard Edition
   Date         Time   Version       Size     File name
   -------------------------------------------------------
   17-May-2005  17:04  4.0.2163.259  654,608  W3filter.dll
ISA Server 2004, Enterprise Edition
   Date         Time   Version       Size     File name
   -------------------------------------------------------
   24-May-2005  05:53  4.0.3440.259  669,976  W3filter.dll

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Internet Security and Acceleration Server 2004 Service Pack 2.

MORE INFORMATION

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
Important In ISA Server 2004, Enterprise Edition, this hotfix has no effect if the following two conditions are true:
  • Network Load Balancing (NLB) is nonintegrated and is configured by using Network Load Balancing Manager.
  • The affinity is set to "none."
If NLB is configured in integrated mode by using ISA Server Management, the hotfix effectively resolves the session state management problem. This hotfix prevents ISA Server from cycling through the IP address list when the round robin feature is being used. By defaut, however, ISA Server cycles through the IP address list. This hotfix does not change the default ISA Server behavior.

To prevent ISA Server from cycling through IP address lists, use the following script. This script sets a value named "DNSSearchValue" in a new vendor parameters set. The default behavior occurs when DNSSearchValue equals zero or does not exist at all. Any other value for DNSSearchValue forces the proxy to use a fixed IP address.

Note By using this script, you may reduce the effectiveness of the round robin feature for load balancing.

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Copyright (c) Microsoft Corporation. All rights reserved.
' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
' HEREBY PERMITTED.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' This script adds a new VendorParametersSets under the array root.
' add a new VendorParametersSet and add a value name "DNSSearchValue" set to 1.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub AddDNSSearchValue()

    ' Create the root object.
    Dim root  ' The FPCLib.FPC root object
    Set root = CreateObject("FPC.Root")

    ' Declare the other objects that are required.
    Dim array       ' An FPCArray object
    Dim VendorSets  ' An FPCVendorParametersSets collection
    Dim VendorSet   ' An FPCVendorParametersSet object

    ' Get references to the array object
    ' and the network rules collection.
    Set array = root.GetContainingArray
    Set VendorSets = array.VendorParametersSets

    On Error Resume Next
    Set VendorSet = VendorSets.Item( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )

    If Err.Number <> 0 Then
        Err.Clear

        ' Add the item
        Set VendorSet = VendorSets.Add( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )
        CheckError
        WScript.Echo "New VendorSet added... " & VendorSet.Name

    Else
        WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value("DNSSearchValue")
    End If

    if VendorSet.Value("DNSSearchValue") <> 1 Then

        Err.Clear
        VendorSet.Value("DNSSearchValue") = 1

        If Err.Number <> 0 Then
            CheckError
        Else
            VendorSets.Save false, true
            CheckError

            If Err.Number = 0 Then
                WScript.Echo "Done, saved!"
            End If
        End If
    Else
        WScript.Echo "Done, no change!"
    End If

End Sub

Sub CheckError()

    If Err.Number <> 0 Then
        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
        Err.Clear
    End If

End Sub

AddDNSSearchValue
When arrays are used, similar symptoms may occur because of Cache Array Routing Protocol (CARP). CARP exceptions can be configured in ISA Server 2004.
For more information about how to install ISA Server 2004 hotfixes and updates, click the following article number to view the article in the Microsoft Knowledge Base:
885957 How to install ISA Server hotfixes and updates

Properties

Article ID: 897075 - Last Review: October 9, 2011 - Revision: 4.0
APPLIES TO
  • Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2004 Standard Edition
Keywords: 
kbautohotfix kbqfe kbfix kbbug kbHotfixServer KB897075

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com