Symptom
Tänk på scenariot där du har Outlook eller andra MAPI-program som ansluter till Exchange Server 2010 via en belastningsutbalanserare för maskinvara eller annan nätverksenhet. Programmet kräver också TCP-anslutningar som körs länge för att fungera som förväntat. Om nätverksenheten stänger inaktiva anslutningar via en timeout-inställning misslyckas MAPI-programmet med att slutföra förfrågningar via anslutningen. Om programmet är Outlook kan du se följande händelser i programhändelseloggen på klientdatorn:
Loggnamn: Programkälla: Händelse-ID för Outlook: 25aktivitetskategori: Ingennivå: Informationsnyckelord: Klassiskanvändare: Saknas-dator: Computer.contoso.comBeskrivning:Det gick inte att utföra önskad åtgärd. Det valda kommandot är inte giltigt för den här mottagaren. Anslutningen till Microsoft Exchange är inte tillgänglig. Outlook måste vara online eller anslutet för att slutföra den här åtgärden..
Loggnamn: Programkälla: Outlook-händelse-ID: 26aktivitetskategori: Ingennivå: Informationsnyckelord: Klassiskanvändare: Saknas: Computer.contoso.comBeskrivning:Anslutning till Microsoft Exchange har återställts.
Orsak
En konfiguration för en belastningsutjämning för maskinvara eller annan nätverksenhet, till exempel en brandvägg eller proxy, orsakar att klientanslutningarna försvinner. När enheten stänger inaktiva anslutningar, via timeout eller annan konfiguration, misslyckas programmet med att slutföra efterföljande begäranden via anslutningen som stängdes.
Lösning
Du kan lösa problemet genom att tänka på följande lösningar:
-
Kontrollera konfigurationen av nätverksenheten, enligt leverantörsrekommendationerna eller genom att kontakta leverantörens tekniska supportteam. Detta kan kräva att timeouten på nätverksenheten ökar så att långvariga anslutningar inte stängs i förtid.
-
För en programserver som ansluter till Exchange Server 2010 anger du programserverns TCP-Keep-Alive tid till ett värde som är mindre än timeoutfönstret för inaktivitetsanslutning på nätverksenheten. Om timeouten för inaktiv anslutning på enheten till exempel är 15 minuter anger du TCP-Keep-Alive på programservern till ett värde som är mindre än 15 minuter.
Som standard är TCP-Keep-Alive tid 2 timmar och inaktiverad. Information om hur du justerar TCP-Keep-Alive tid på en programserver finns i följande artikel från Microsoft Knowledge Base:
324270 Hur du härdar TCP/IP-stacken mot överbelastningsattacker i Windows Server 2003Det är viktigt att betona att anslutningarna i fråga vanligtvis är interna RPC-anslutningar för Outlook-klienter i onlineläge, snarare än RPC över HTTP/Outlook Anywhere-anslutning. Ofta uppstår problem som detta på grund av sessionstimeouter, nätverkskonfiguration, optimeringskonfiguration eller andra funktioner på nätverksenheten som kräver ändring. I många fall är tidsgränsinställningarna för sessioner vanligtvis för låga. I diskussioner med leverantörer av nätverksenheter rekommenderas det ofta att inställningarna för RPC-timeout ska vara minst 120 minuter.
Mer information
Båda lösningarna ovan kan förhindra att TCP-anslutningen tar tid i förtid. Obs! Ett vanligt test för att avgöra om det är fråga om en enhetskonfiguration är att kringgå enheten. Detta görs med hjälp av en Hosts-fil på klienten eller en DNS-post för att komma åt en enda CAS-server i matrisen. Men om enheten också används som en gateway kanske det inte ger korrekta resultat.Mer information om långvariga anslutningar finns i avsnitt 4.2.3.6, TCP Keep-Alives, från följande Internet Engineering Task Force-dokument:
RFC 122 – Krav för Internetvärdar – kommunikationslagerhttp://datatracker.ietf.org/doc/rfc1122/ Om du vill ha mer information om belastningsutjämning för Exchange Server 2010 kan du läsa följande presentation från TechEd 2011
Belastningsutjämning med Microsoft Exchange Server 2010http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/EXL307