This is getting out of hand. CARP was *NEVER* designed or intended to be HA - only distributed caching. If you try to use it for anything else, you'll lose. Quit trying to make CARP into something it's not and never will be. If you want HA, use NLB, but be prepared for the inevitable intra-array traffic increase that this will incur if you enable server-side CARP. From: isapros-bounce@xxxxxxxxxxxxx [mailto:isapros-bounce@xxxxxxxxxxxxx] On Behalf Of Jason Jones Sent: Tuesday, July 15, 2008 8:35 AM To: isapros@xxxxxxxxxxxxx Subject: [isapros] Re: Web Proxy with NLB - Back to basics! 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.