[isapros] Re: Web Proxy with NLB - Back to basics!

  • From: Jason Jones <Jason.Jones@xxxxxxxxxxxxxxxxx>
  • To: "isapros@xxxxxxxxxxxxx" <isapros@xxxxxxxxxxxxx>
  • Date: Tue, 15 Jul 2008 16:35:03 +0100

Totally agree and you actually echo some of my original comments!

Your comment of:

 Jim >> When you factor in HTTP request timeout and TCP timeouts, the user 
experience for a WPAD-based HA solution ultimately fails to meet the basic 
definition of the word "solution"

is exactly what I am getting at...so if we agree on the above being true, what 
*is* the best solution, just scrap client-side CARP altogether and go NLB for 
WP too if HA is the primary requirement?

I still feel we are being contradictory here, as the standard recommendations 
mentioned by Tom provide poor Web proxy HA and yet we still keep coming back to 
this recommendation...we also say don't do NLB and CARP yet this is the exact 
scenario in the blog post discussing Kerberos authentication for web proxy 
clients (unless I am confused :))

At the moment I feel like my only retort for customers is "Microsoft recommends 
using CARP for web proxy clients, but actually if you want a HA solution this 
option sucks!" :-P


From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jim Harrison
Sent: 15 July 2008 14:45
To: 'isapros@xxxxxxxxxxxxx'
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

..what he said.

As a rule, I strongly, most emphatically discourage dependency on any client 
application to provide any form of LB or HA - it's a failure state just waiting 
to happen.  Contrary to appearances or other misguided article statements, 
client-side CARP is not designed to provide LB or HA.  The fact that it 
provides a list of proxies for a given request indicates only that the ISA dev 
team recognized that giving the application choices was a useful thing to do.  
The CARP script can exert no influence whatsoever on the consuming 
application's behavior in that regard.

Case in point:

Outlook 2003+ is able to connect to Exchange 2003+ using RPC/HTTP.  This is 
true also of RDP client 6.1 when connecting to TSG.  the point here is that 
they both have a common code path through WinHTTP.  When WinHTTP is configured 
for auto-discovery, it imposes a limit that has been documented in MSDN for 
quite some time (at least since 2004 from my experience): 
http://msdn.microsoft.com/en-us/library/aa383157(VS.85).aspx.

The upshot of this limitation is as follows:
Scenario;

-          WinHTTP-based client behind a CERN proxy array (doesn't have to be 
ISA or TMG).

-          WinHTTP is configured for auto-discovery

-          Proxy1 is unavailable to proxy clients, but is responsive to its 
peers

1.       The WinHTTP client app sends its request to WinHTTP

2.       WinHTTP requests and processes the WPAD script

3.       The script output lists Proxy1 as the first choice for this request

4.       WinHTTP tries to connect, but cannot reach Proxy1

5.       WinHTTP connects to Proxy2 and requests the WPAD script

6.       (repeat 2-4)

7.       WinHTTP connects to Proxy3 and requests the WPAD script

8.       (repeat 2-4)

9.       WinHTTP connects to Proxy4 and requests the WPAD script

10.   (repeat 2-4)

11.   ...

Since Proxy1 is responsive to the other array members, the peer status request 
sent periodically between array members will include the client-unreachable 
proxy in the WPAD script.

The point here is that in spite of your and the ISA dev team's best intentions 
and efforts, the client app will be your biggest pain.  The ISA dev team did 
everything they could from the remote server perspective to give the client all 
it needed to make such decisions, but ultimately, it's up to the client app to 
behave properly.
When you factor in HTTP request timeout and TCP timeouts, the user experience 
for a WPAD-based HA solution ultimately fails to meet the basic definition of 
the word "solution".

HTH,
Jim

From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Thomas W Shinder
Sent: Tuesday, July 15, 2008 4:57 AM
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

Hi Jason,

There is no clearcut winner. The standard recommendations go as such:

SecureNAT is supported by NLB
Firewall Client is supported by DNS Round Robin
Web Proxy Client is supported by CARP

Whenever you go outside this recommendation, things get murky, messed up and 
unsupported :)

Thomas W Shinder, M.D.
Site: www.isaserver.org<http://www.isaserver.org/>
Blog: http://blogs.isaserver.org/shinder/
Book: http://tinyurl.com/3xqb7
MVP -- Microsoft Firewalls (ISA)
From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jason Jones
Sent: Tuesday, July 15, 2008 2:45 AM
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

As ever, thanks for the responses chaps...still not really sure of the best way 
forward. I was trying to find a clear winner rather than have to elaborate each 
of the possible options for every customer who asks for web proxy fault 
tolerance and just end up saying "you choose...". Maybe it just isn't clear 
cut...I wish CARP could somehow could be made NLB aware, if this isn't an 
oxymoron :)

Not quite sure I get the "Use NLB or CARP but never both" comment as this seems 
contradictory to the blog post you did and also what I have read on 
www.microsoft.com/isa<http://www.microsoft.com/isa> You also follow up with "if 
you're willing to tolerate" e.g. never, unless you want to :-P confused :-S

Jason Jones | Security | Silversands Limited | Desk: +44 (0)1202 360489 | 
Mobile: +44 (0)7971 500312 | Email/MSN: 
jason.jones@xxxxxxxxxxxxxxxxx<mailto:jason.jones@xxxxxxxxxxxxxxxxx>

From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jim Harrison
Sent: 15 July 2008 01:46
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

..so will the CARP proxy client benefit not at all from the use of NLB.
Use NLB or CARP but never both.
If you're willing to tolerate the inevitable increase in intra-array traffic 
that will surely result from NLB-based web proxy traffic, then go for #3 (which 
was never numbered :)).

From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jason Jones
Sent: Monday, July 14, 2008 7:15 AM
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

So, chaps...

Is option 3 a workable best of both worlds compromise?

I accept that FWC will need to use a non-VIP configuration.

Please...........:-)

Jason Jones | Security | Silversands Limited | Desk: +44 (0)1202 360489 | 
Mobile: +44 (0)7971 500312 | Email/MSN: 
jason.jones@xxxxxxxxxxxxxxxxx<mailto:jason.jones@xxxxxxxxxxxxxxxxx>

From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Thomas W Shinder
Sent: 14 July 2008 15:11
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

Yep, I realized that soon after writing that with my eyes closed :)

Thomas W Shinder, M.D.
Site: www.isaserver.org<http://www.isaserver.org/>
Blog: http://blogs.isaserver.org/shinder/
Book: http://tinyurl.com/3xqb7
MVP -- Microsoft Firewalls (ISA)
From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jim Harrison
Sent: Monday, July 14, 2008 8:49 AM
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

You can't use the FWC to gain LB either.
When the FWC connects to the VIP, it'll request the config data from that IP 
and will be rewarded with data from a specific server.  For the next 6 hours, 
the FWC will communicate *ONLY* to that server via the IP derived from 
resolving the name inn the FWC settings for that network.  If you try to cheat 
by configuring the FWC and WP settings so that they refer to the VIP, then you 
will enjoy the benefits of a circular traffic flow policy (I demonstrated this 
at the MVP summit this year).

Last word on the subject of LB FWC or CARP traffic :
Just
Don't
Do
It

From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Thomas W Shinder
Sent: Monday, July 14, 2008 5:53 AM
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

Hi Jason,

I was thinking of not using CARP at all. Just use the FWC to support load 
balancing and failover, and let those connections be cached without CARP. Or 
disable caching completely. I often think that caching actually reduces the 
overall end user performance perception in many cases, because there just 
aren't enough users to reach the numbers required to make caching statistically 
significant.

On the other hand, failover and load balancing is always statistically 
significant :)

Tom

Thomas W Shinder, M.D.
Site: www.isaserver.org<http://www.isaserver.org/>
Blog: http://blogs.isaserver.org/shinder/
Book: http://tinyurl.com/3xqb7
MVP -- Microsoft Firewalls (ISA)
From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jason Jones
Sent: Monday, July 14, 2008 7:31 AM
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

Sorry Tom, didn't quite get this: "In this scenario you can get the advantages 
of caching with the Firewall client, and you can take advantage of NLB when 
using the firewall client. So, all you lose are some nominal gains conferred 
from CARP"

Which scenario/option? - do you mean option 3? If so, which network do you need 
to enable it on? Intra-Array "feels" right, but not 100% sure...

Jason Jones | Security | Silversands Limited | Desk: +44 (0)1202 360489 | 
Mobile: +44 (0)7971 500312 | Email/MSN: 
jason.jones@xxxxxxxxxxxxxxxxx<mailto:jason.jones@xxxxxxxxxxxxxxxxx>

From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Thomas W Shinder
Sent: 14 July 2008 13:25
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Re: Web Proxy with NLB - Back to basics!

Hi Jason,

I think you've got the analysis down right. CARP and NLB have never been two 
great tastes that taste great together.

In this scenario you can get the advantages of caching with the Firewall 
client, and you can take advantage of NLB when using the firewall client. So, 
all you lose are some nominal gains conferred from CARP.

Tom

Thomas W Shinder, M.D.
Site: www.isaserver.org<http://www.isaserver.org/>
Blog: http://blogs.isaserver.org/shinder/
Book: http://tinyurl.com/3xqb7
MVP -- Microsoft Firewalls (ISA)
From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jason Jones
Sent: Monday, July 14, 2008 4:05 AM
To: isapros@xxxxxxxxxxxxx
Subject: [isapros] Web Proxy with NLB - Back to basics!

Hi All,

After a bit of debate and some guidance really...I may be a little clumsy 
trying to get my thoughts across here, but please bear with me :)

After reading the recent blog post from Yuri/Jim called Understanding By-Design 
Behavior of ISA Server 2006: Using Kerberos Authentication for Web Proxy 
Requests on ISA Server 2006 with NLB this got me thinking about an old 
conundrum that keeps coming up now again in terms of web proxy fault tolerance.

As stated in the above post (and the current best practice I think) it is 
recommended to configure web proxy clients to use client-side CARP by way of 
the array script. However, client-side CARP is not "NLB aware" and hence the 
script contains references which related to the server DIPs and not the NLB 
VIPs. Consequently, NLB is merely used to provide fault tolerance and load 
balancing for access to the script only. I am aware that the array script 
includes a basic form of fault tolerance, but this is not really a "proper" 
fault tolerance solution and in my experience is not sufficient for most 
customers looking for web proxy availability.

So, based upon this, I understand we have the following options:


(1)    Accept the limitations in terms of client-side CARP fault tolerance and 
choose performance as the overriding factor

(2)    Force web proxy clients to use a manual proxy server definition and 
direct requests to the NLB VIP and lose the benefits of client-side CARP in 
favour of NLB fault tolerance.

Neither of the above options is ideal in my experience - what do you guys 
normally choose/do???

I have also heard talk of a third option where we can use server-side CARP in 
conjunction with option 2 above. The downside is that each array member will 
now how to process the script on behalf of the client, which adds CPU cycles 
per array member. This seems to be a very good compromise to me, but I have 
never been that clear on how best to configure this - which network should CARP 
be enabled on - Localhost, Internal, or the custom Intra-Array network????  
Also, what sort of CPU impact are we looking at here? Is it just a few more % 
per array member, or are we talking about needing an extra CPU per array member 
to cope with demand?

In my experience, if customers are looking at EE with a view to using NLB fault 
tolerance (as many do) then they are a little disappointed with option 1, as in 
reality NLB is not really providing the benefits they anticipated. However, the 
loss of the CARP is also a bit of a blow if option 2 is chosen. So, option 3 
seems to be the only viable "best of both" workarounds?

Apologies if this is a little back to basics, but I am keen to make sure I get 
my thinking straight on this one as it keeps coming up and I want to make sure 
I gets my ducks in line from now onwards :)

Any other ideas/thoughts welcome!

Cheers

JJ


________________________________
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual to whom it is addressed. If you have 
received this email in error, or if you believe this email is unsolicited and 
wish to be removed from any future mailings, please contact our Support Desk 
immediately on 01202 360360 or email helpdesk@xxxxxxxxxxxxxxxxx

If this email contains a quotation then unless otherwise stated it is valid for 
7 days and offered subject to Silversands Professional Services Terms and 
Conditions, a copy of which is available on request. Any pricing information, 
design information or information concerning specific Silversands' staff 
contained in this email is considered confidential or of commercial interest 
and exempt from the Freedom of Information Act 2000.

Any view or opinions presented are solely those of the author and do not 
necessarily represent those of Silversands

Silversands Limited, 3 Albany Park, Cabot Lane, Poole, BH17 7BX.
Company Registration Number : 2141393.

________________________________
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual to whom it is addressed. If you have 
received this email in error, or if you believe this email is unsolicited and 
wish to be removed from any future mailings, please contact our Support Desk 
immediately on 01202 360360 or email helpdesk@xxxxxxxxxxxxxxxxx

If this email contains a quotation then unless otherwise stated it is valid for 
7 days and offered subject to Silversands Professional Services Terms and 
Conditions, a copy of which is available on request. Any pricing information, 
design information or information concerning specific Silversands' staff 
contained in this email is considered confidential or of commercial interest 
and exempt from the Freedom of Information Act 2000.

Any view or opinions presented are solely those of the author and do not 
necessarily represent those of Silversands

Silversands Limited, 3 Albany Park, Cabot Lane, Poole, BH17 7BX.
Company Registration Number : 2141393.

________________________________
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual to whom it is addressed. If you have 
received this email in error, or if you believe this email is unsolicited and 
wish to be removed from any future mailings, please contact our Support Desk 
immediately on 01202 360360 or email helpdesk@xxxxxxxxxxxxxxxxx

If this email contains a quotation then unless otherwise stated it is valid for 
7 days and offered subject to Silversands Professional Services Terms and 
Conditions, a copy of which is available on request. Any pricing information, 
design information or information concerning specific Silversands' staff 
contained in this email is considered confidential or of commercial interest 
and exempt from the Freedom of Information Act 2000.

Any view or opinions presented are solely those of the author and do not 
necessarily represent those of Silversands

Silversands Limited, 3 Albany Park, Cabot Lane, Poole, BH17 7BX.
Company Registration Number : 2141393.

________________________________
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual to whom it is addressed. If you have 
received this email in error, or if you believe this email is unsolicited and 
wish to be removed from any future mailings, please contact our Support Desk 
immediately on 01202 360360 or email helpdesk@xxxxxxxxxxxxxxxxx

If this email contains a quotation then unless otherwise stated it is valid for 
7 days and offered subject to Silversands Professional Services Terms and 
Conditions, a copy of which is available on request. Any pricing information, 
design information or information concerning specific Silversands' staff 
contained in this email is considered confidential or of commercial interest 
and exempt from the Freedom of Information Act 2000.

Any view or opinions presented are solely those of the author and do not 
necessarily represent those of Silversands

Silversands Limited, 3 Albany Park, Cabot Lane, Poole, BH17 7BX.
Company Registration Number : 2141393.

________________________________
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual to whom it is addressed. If you have 
received this email in error, or if you believe this email is unsolicited and 
wish to be removed from any future mailings, please contact our Support Desk 
immediately on 01202 360360 or email helpdesk@xxxxxxxxxxxxxxxxx

If this email contains a quotation then unless otherwise stated it is valid for 
7 days and offered subject to Silversands Professional Services Terms and 
Conditions, a copy of which is available on request. Any pricing information, 
design information or information concerning specific Silversands' staff 
contained in this email is considered confidential or of commercial interest 
and exempt from the Freedom of Information Act 2000.

Any view or opinions presented are solely those of the author and do not 
necessarily represent those of Silversands

Silversands Limited, 3 Albany Park, Cabot Lane, Poole, BH17 7BX.
Company Registration Number : 2141393.

Other related posts: