NET: DNS: İleticiler ve koşullu ileticiler çözümleme zaman aşımları
Bu makalede, bir veya daha fazla DNS Sunucusu IP'sinin bir DNS sunucusunda ileticiler veya koşullu ileticiler olarak yapılandırıldığında var olan geri dönüş ve zaman aşımı davranışı açıklanmaktadır.
Özgün KB numarası: 2834250
Özet
DNS istemci çözümleme zaman aşımları hakkında daha fazla bilgi için NET: DNS: DNS istemci çözümleme zaman aşımlarını denetleyin.
DNS istemcilerine benzer şekilde, DNS sunucularını birden fazla İletici veya Koşullu İletici ile yapılandırmak, DNS altyapınıza ek hataya dayanıklılık ekler. birden çok DNS Sunucusunu İleticiler veya Koşullu İleticiler olarak eklemek, temel alınan ağ bağlantısının veya destekleyici ağ altyapısının tek yapılandırılmış Sunucunun hataları durumunda DNS adlarının çözüme kavuşturulmaya devam etmesini sağlar.
Ancak, sunucularda hataya dayanıklılık eklemek daha da kritiktir çünkü bazı sunucunun şu anda asılı olan istemcilerin çoğulluğu adına yaptığı geçişli bir işlem olabilir. Kaynaklar daha sonra artımlı olarak daha uzun süreler için kullanılır.
Varsayılan ayarlar bu yüksek miktarda sunucu için iyileştirilmeyebileceği için üç veya daha fazla iletici/koşullu iletici kullanmak istiyorsanız parametreleri doğru şekilde ayarladığınızdan emin olun.
İkiden fazla DNS sunucusu iletici olarak yapılandırıldığında dns sunucusunun varsayılan davranışı nedir?
Bunun nasıl çalıştığını anlamak için anahtar değişkenler şunlardır:
RecursionTimeout - Etki Alanı Adı Sistemi'nin (DNS) aramayı sonlandırmadan önce uzak sunucuların özyinelemeli bir istemci sorgusuna yanıt vermesini beklediği süre.
kayıt defterine
HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\**RecursionTimeout
altında kaydedilir ve yapılandırılabilirvia dnscmd /config /RecursionTimeout <value>
.Varsayılan değer:
Windows Server 2003'te 15 saniye
Windows Server 2008, 2008 R2 ve 2012'de 8 saniye
RecursionTimeout, DNS sunucusu düzeyinde tanımlanır ve sorgulanan bölgeden bağımsızdır.
ForwardingTimeout - Etki Alanı Adı Sistemi'nin (DNS) İleticiler'deki listedeki her sunucunun bir sorguya yanıt vermesini beklediği süre.
altındaki kayıt defterine
HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\**ForwardingTimeout
kaydedilir ve aracılığıyladnscmd /config /ForwardingTimeout <value>
yapılandırılabilir.Varsayılan değer:
Windows Server 2003'te 5 saniye
Windows Server 2008, 2008R2 ve 2012'de 3 saniye
ForwardingTimeout, DNS sunucusu düzeyinde tanımlanır ve sorgulanan belirli bir bölgeden bağımsızdır.
DNS sunucusu, yetkili olmadığı bir bölgedeki kayıt için sorgu aldığında ve iletici kullanması gerektiğinde varsayılan davranış aşağıdaki gibidir:
Süre (başlangıçtan bu yana saniye) | Eylem |
---|---|
0 | İstemci DNS sunucusunu sorgular. DNS sunucusu sorguyu hemen ilk ileticisine iletir |
<forwarding_timeout> | forwarding_timeout> saniye sonra<, ilk iletici yanıt vermezse DNS sunucusu ikinci ileticiyi sorgular. |
2 * <forwarding_timeout> +1 | +1 saniye daha forwarding_timeout> sonra<, ikinci iletici yanıt vermezse DNS sunucusu üçüncü ileticiyi sorgular. |
... | ... |
N * <forwarding_timeout> +(N-1) | forwarding_timeout> + 1 saniye daha geçtikten sonra<, N. iletici yanıt vermezse, DNS sunucusu (N+1) ileticisini sorgular. |
Not
Yapılandırılan gecikmeye ek olarak, sistem yükü nedeniyle ek yarım saniyelik bir gecikme olabilir.
Algoritma, geçen süre RecursionTimeout değerini aştığında durur
RecursionTimeout'un süresi dolarsa, DNS sunucusu istemciye sunucu hatasıyla yanıt verir.
Not
Sunucu Hatasını RecursionTimeout süre sonundan hemen sonra değil, yalnızca bir sonraki ileticiyi deneme zamanı geldiğinde göndeririz.
Sunucu RecursionTimeout'un süresi dolmadan yanıt almadan tüm ileticilerle iletişim kurmayı başarırsa, ad çözümlemesi için kök ipuçlarını kullanmayı dener (özyineleme sunucu düzeyinde devre dışı bırakılmadığı sürece varsayılan ayar).
Bu, varsayılan ayarlarla bir 2008R2 sunucusunun en fazla 3 ileticiyi sorgulayabildiği anlamına gelir. Dördüncü ileticiyi kullanmak için yeterli zaman olmayacaktır. Aslında, 2008R2'deki varsayılan ayarlarla sunucu şunları yapacaktır:
- 0 saniye sonra ilk ileticiyi sorgulama
- 3,5 saniye sonra ikinci ileticiyi sorgulama
- Üçüncü ileticiyi 3,5 + 4 = 7,5 saniye sonra sorgulama
Sekizinci saniyede RecursionTimeout'un süresi dolduğundan dördüncü ileticinin sorgulandığı noktaya ulaşmayacağız (3,5 + 4 + 4 = 11,5 saniye sonra olurdu).
Sunucu Hatası yanıtını 11,5 saniye sonra göndereceğiz.
Örneğin:
IP adresi 192.168.0.1 olan DNS sunucusu beş iletici (10.0.0.1-10.0.0.5) ile yapılandırılır.
İstemcinin IP adresi 10.0.0.31 ve sorgulayan Microsoft.com
Ağ yakalamada aşağıdaki Ağ İzleyicisi çıkışını görebiliriz (not 10.0.0.4 ve 10.0.0.5 hiçbir zaman sorgulanmamıştır):
Time Time Offset TimeDelta Kaynak Hedef Ayrıntıları
6:33:51.7507293 0.2731738 0.000000 10.0.0.31 192.168.0.1 DNS:QueryId = 0xF03, QUERY (Standart sorgu), İnternet sınıfında Konak Eklentisi türü içinmicrosoft.com
sorgu
6:33:51.7510021 0.2734466 0.0002728 192.168.0.1 10.0.0.1 DNS:QueryId = 0xBD57, QUERY (Standart sorgu), Internet'te Konak Eklentisi türü içinmicrosoft.com
sorgu
6:33:55.2997074 3.8221519 3.5487053 192.168.0.1 10.0.0.2 DNS:QueryId = 0xBD57, QUERY (Standart sorgu), İnternet sınıfında Konak Eklentisi türü içinmicrosoft.com
sorgu
6:33:59.2931644 7.8156089 3.9934570 192.168.0.1 10.0.0.3 DNS:QueryId = 0xBD57, QUERY (Standart sorgu), İnternet sınıfında Konak Eklentisi türü içinmicrosoft.com
sorgu
6:34:03.3112753 11.8337198 4.0181109 192.168.0.1 10.0.0.31 DNS:QueryId = 0xF03, QUERY (Standart sorgu), Yanıt - Sunucu hatası
koşullu ileticiler olarak ikiden fazla DNS sunucusu yapılandırıldığında dns sunucusunun varsayılan davranışı nedir?
İleticilere benzer şekilde, Koşullu İleticiler için de iki anahtar değişken vardır. RecursionTimeout (sunucu düzeyinde çalışıyor) var ancak bu senaryoda ForwardingTimeout yerine ForwarderTimeout kullanıyoruz. ForwarderTimeout'un bölge bazında çalıştığını ve farklı varsayılan değerlere sahip olduğunu özellikle unutmayın:
RecursionTimeout - Etki Alanı Adı Sistemi'nin (DNS) aramayı sonlandırmadan önce uzak sunucuların özyinelemeli bir istemci sorgusuna yanıt vermesini beklediği süre.
Kayıt defterine
HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\RecursionTimeout
aracılığıyla
dnscmd /config /RecursionTimeout <value>
yapılandırılabilir.Varsayılan değer:
Windows Server 2003'te 15 saniye
Windows Server 2008 ve 2008R2'de 8 saniye
RecursionTimeout DNS sunucusu düzeyinde tanımlanır ve sorgulanan bölgeden bağımsızdır
ForwarderTimeout - Etki Alanı Adı Sistemi'nin (DNS) Koşullu İleticiler listesindeki her sunucunun bir sorguya yanıt vermesini ne kadar süre beklediği.
Koşullu İleticiler belirli bölgeler için yapılandırıldığından ForwarderTimeout da bölgeye bağımlıdır.
kayıt defterine altında
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\ <zone_name>\ForwarderTimeout
kaydedilir.Windows Server 2003, 2008, 2008R2 ve 2012'de varsayılan değer 5 saniyedir.
Bu aynı zamanda Koşullu İleticiler GUI'sinde görebileceğiniz ayardır.
DNS sunucusu, yetkili olmadığı bir bölgedeki bir kayıt için sorgu aldığında ve bunun için Koşullu İleticiler kullanacak şekilde yapılandırıldığında, varsayılan davranış aşağıdaki gibidir:
Süre (başlangıçtan bu yana saniye) | Eylem |
---|---|
0 | İstemci DNS sunucusunu sorgular. DNS sunucusu sorguyu hemen ilk koşullu ileticisine iletir |
<forwarder_timeout> | forwarder_timeout> saniye sonra<, ilk koşullu iletici yanıt vermediyse, DNS sunucusu ikinci koşullu ileticiyi sorgular |
2 * <forwarder_timeout> +1 | forwarder_timeout> +1 saniye daha geçtikten sonra<, ikinci koşullu iletici yanıt vermezse DNS sunucusu üçüncü koşullu ileticiyi sorgular |
... | ... |
N * <forwarder_timeout> +(N-1) | forwarder_timeout> +1 saniye daha geçtikten sonra<, N. koşullu iletici yanıt vermezse, DNS sunucusu (N+1) th koşullu ileticiyi sorgular |
Not
Yapılandırılan gecikmeye ek olarak, sistem yükünden dolayı ek yarım saniyelik bir gecikme olabilir
Algoritma, geçen süre RecursionTimeout değerini aştığında durur
RecursionTimeout'un süresi dolarsa, DNS sunucusu istemciye sunucu hatasıyla yanıt verir.
Not
Sunucu Hatasını RecursionTimeout süre sonundan hemen sonra değil, yalnızca sonraki koşullu ileticiyi deneme zamanı geldiğinde göndeririz.
Bu, varsayılan ayarlarla bir 2008 R2 sunucusunun en fazla 2 koşullu ileticiyi sorgulayabildiği anlamına gelir. Üçüncü koşullu ileticiyi kullanmak için yeterli zaman olmayacaktır. Aslında, 2008R2'deki varsayılan ayarlarla sunucu şunları yapacaktır:
- 0 saniye sonra ilk ileticiyi sorgulama
- 5,5 saniye sonra ikinci ileticiyi sorgulama
Sekizinci saniyede RecursionTimeout'un süresi dolduğundan üçüncü koşullu ileticinin sorgulandığı noktaya ulaşmayacağız (5,5 + 6 = 11,5 saniye sonra olurdu).
Sunucu Hatası yanıtını 11,5 saniye sonra göndereceğiz.
Örneğin:
IP adresi 192.168.0.1 olan DNS sunucusu, bölge Microsoft.com
için beş koşullu iletici (10.0.0.1-10.0.0.5) ile yapılandırılır.
İstemci 10.0.0.31 IP adresine sahiptir ve için Microsoft.com
sorgular.
Ağ yakalamada aşağıdaki Ağ İzleyicisi çıkışını görebiliriz (not 10.0.0.3, 10.0.0.4 ve 10.0.0.5 hiçbir zaman sorgulanmamıştır):
Time Time Offset TimeDelta Kaynak Hedef Ayrıntıları
6:50:32.5481816 0.4306857 0.0000000 10.0.0.33 192.168.0.1 DNS:QueryId = 0x245A, QUERY (Standart sorgu), İnternet sınıfında Konak Eklentisi türü içinmicrosoft.com
sorgu
6:50:32.5484341 0,4309382 0,0002525 192.168.0.1 10.0.0.1 DNS:QueryId = 0x252B, QUERY (Standart sorgu), İnternet sınıfında Konak Eklentisi türü içinmicrosoft.com
sorgu
6:50:38.1695163 6.0520204 5.6210822 192.168.0.1 10.0.0.2 DNS:QueryId = 0x252B, QUERY (Standart sorgu), İnternet'te Konak Eklentisi türü içinmicrosoft.com
sorgu
6:50:44.1856567 12.0681608 6.0161404 192.168.0.1 10.0.0.33 DNS:QueryId = 0x245A, QUERY (Standart sorgu), Yanıt - Sunucu hatası