Aracılığıyla paylaş


Load Balancer TCP Sıfırlama ve Boşta Kalma Zaman Aşımı

Standart Load Balancer kullanarak belirli bir kural için Boşta TCP Sıfırlama'yı etkinleştirerek senaryolarınız için daha öngörülebilir bir uygulama davranışı oluşturabilirsiniz. Load Balancer'ın varsayılan davranışı, bir akışın boşta kalma zaman aşımına ulaşıldığında akışları sessizce bırakmaktır. TCP sıfırlamanın etkinleştirilmesi, Load Balancer'ın boşta kalma zaman aşımında çift yönlü TCP Sıfırlamaları (TCP RST paketleri) göndermesine neden olarak uygulama uç noktalarınıza bağlantının zaman aşımına uğradı ve artık kullanılamadığını bildirir. Uç noktalar gerekirse hemen yeni bir bağlantı kurabilir.

Diagram shows default TCP reset behavior of network nodes.

TCP sıfırlama

Bu varsayılan davranışı değiştirir ve gelen NAT kurallarında, yük dengeleme kurallarında ve giden kurallarında boşta kalma zaman aşımında TCP Sıfırlamaları göndermeyi etkinleştirirsiniz. Kural başına etkinleştirildiğinde Load Balancer, eşleşen tüm akışlar için boşta kalma zaman aşımı sırasında hem istemci hem de sunucu uç noktalarına çift yönlü TCP Sıfırlamaları (TCP RST paketleri) gönderir.

TCP RST paketlerini alan uç noktalar ilgili yuvayı hemen kapatır. Bu, uç noktanın bağlantı sürümüne anında bildirim sağlar ve aynı TCP bağlantısındaki gelecekteki tüm iletişimler başarısız olur. Yuva kapandığında ve bağlantıları gerektiğinde TCP bağlantısının zaman aşımına uğramasını beklemeden yeniden kurarken uygulamalar bağlantıları temizleyebilir.

Birçok senaryoda TCP sıfırlama, bir akışın boşta kalma zaman aşımını yenilemek için TCP (veya uygulama katmanı) korumaları gönderme gereksinimini azaltabilir.

Boşta kalma süreleriniz yapılandırma sınırlarını aşarsa veya uygulamanız TCP Sıfırlamaları etkinken istenmeyen bir davranış gösteriyorsa, TCP bağlantılarının canlılığını izlemek için TCP korumalarını veya uygulama katmanı korumalarını kullanmanız gerekebilir. Ayrıca, bağlantının, özellikle uygulama katmanı korumaları olmak üzere yolun herhangi bir yerinde proksid olduğu durumlarda da korumalar yararlı olmaya devam edebilir.

Tüm uçtan uca senaryoyu dikkatle inceleyerek TCP Sıfırlamalarını etkinleştirmenin ve boşta kalma zaman aşımını ayarlamanın avantajlarını belirleyebilirsiniz. Ardından, istenen uygulama davranışını sağlamak için daha fazla adım gerekip gerekmediğini karar verirsiniz.

Yapılandırılabilir TCP boşta kalma zaman aşımı

Azure Load Balancer'ın Load Balancer kuralları, Giden Kuralları ve Gelen NAT kuralları için 4 dakika ile 100 dakika arası zaman aşımı aralığı vardır. Varsayılan değer 4 dakikadır. Etkinlik dışı kalma süresi zaman aşımı değerinden uzunsa, istemci ile bulut hizmetiniz arasında TCP veya HTTP oturumunun korunduğunun garantisi yoktur.

Bağlantı kapatıldığında, istemci uygulamanız şu hata iletisini alabilir: "Temel alınan bağlantı kapatıldı: Canlı tutulması beklenen bir bağlantı sunucu tarafından kapatıldı."

Tcp etkin tutma özelliğini kullanmak yaygın bir uygulamadır. Bu uygulama, bağlantıyı daha uzun süre etkin tutar. Daha fazla bilgi için bu .NET örneklerine bakın. Etkin tutma etkinken, paketler bağlantıdaki etkinlik dışı dönemlerde gönderilir. Etkin tutma paketleri, boşta kalma zaman aşımı değerine ulaşılmadığından ve bağlantının uzun süre korundığından emin olur.

Bu ayar yalnızca gelen bağlantılar için çalışır. Bağlantıyı kaybetmemek için TCP etkin tutma ayarını boşta kalma zaman aşımı ayarından daha kısa bir aralıkla yapılandırın veya boşta kalma zaman aşımı değerini artırın. Bu senaryoları desteklemek için yapılandırılabilir boşta kalma zaman aşımı desteği sağlanır.

TCP etkin tutma, pil ömrünün kısıtlama olmadığı senaryolarda çalışır. Mobil uygulamalar için önerilmez. Mobil uygulamada TCP etkin tutma kullanmak, cihaz pilini daha hızlı tüketebilir.

Öncelik sırası

Farklı IP'ler için ayarlanan boşta kalma zaman aşımı değerlerinin etkileşim kurma olasılığı dikkate alınması önemlidir.

Gelen

  • Boşta kalma zaman aşımı değeri başvuruda bulunduğu ön uç IP'sinin boşta kalma zaman aşımından farklı ayarlanmış bir (gelen) yük dengeleyici kuralı varsa, yük dengeleyici ön uç IP boşta kalma zaman aşımı önceliklidir.
  • Boşta kalma zaman aşımı değeri başvuruda bulunduğu ön uç IP'sinin boşta kalma zaman aşımından farklı ayarlanmış bir gelen NAT kuralı varsa, yük dengeleyici ön uç IP boşta kalma zaman aşımı önceliklidir.

Giden

  • Boşta kalma zaman aşımı değeri 4 dakikadan (genel IP giden boşta kalma zaman aşımının kilitlendiği yerdir) farklı bir giden kuralı varsa, giden kuralı boşta kalma zaman aşımı önceliklidir.
  • NAT ağ geçidi her zaman yük dengeleyici giden kurallarından (ve doğrudan VM'lere atanan genel IP adresleri üzerinden) öncelikli olduğundan, NAT ağ geçidine atanan boşta kalma zaman aşımı değeri kullanılır. (Aynı satırlar boyunca, NAT GW'ye atanan IP'lerin 4 dakikalık kilitli genel IP giden boşta kalma zaman aşımları dikkate alınmaz.)

Sınırlamalar

  • TCP sıfırlama yalnızca TCP bağlantısı sırasında KURULAN durumunda gönderilir.
  • TCP boşta kalma zaman aşımı UDP protokolündeki yük dengeleme kurallarını etkilemez.
  • Bir ağ sanal gereci yoldayken ILB HA bağlantı noktaları için TCP sıfırlama desteklenmez. Geçici bir çözüm, NVA'dan TCP sıfırlama ile giden kuralı kullanmak olabilir.

Sonraki adımlar