Tarayıcılar birden fazla IP'yi nasıl ele alır? [Kapalı]


11

Birisi beni belirli bir ana bilgisayar adı için (örneğin ip1 ve ip2) birden fazla A kaydı aldığında ve bunlardan birine erişilemediğinde beni tam tarayıcı davranışı hakkındaki bilgilere yönlendirebilir mi ?

Tam ayrıntılarla ilgileniyorum, (ancak bunlarla sınırlı değil):

  1. Tarayıcı işletim sisteminden 2 IP alacak mı yoksa yalnızca bir IP mi alacak?
  2. Tarayıcı ilk olarak hangi ipi deneyecek (rastgele veya her zaman ilk olanı)? Diyelim ki tarayıcı başarısız IP1 ile başladı
  3. Tarayıcı ne kadar süreyle ip1'i deneyecek?
  4. Kullanıcı ip1 beklerken "durdur" a basar ve ardından yenile düğmesini tıklatırsa
    • tarayıcı hangi IP'yi deneyecek?
  5. Zaman aşımına uğradığında ne olacak - ip2'yi denemeye başlayacak mı yoksa hata verecek mi? (Ve hata varsa, kullanıcı yenilemeyi tıkladığında hangi ip tarayıcı dener).
  6. Kullanıcı yenilemeyi tıkladığında, herhangi bir tarayıcı yeni DNS araması yapmayı dener mi?

Şimdi tarayıcının önce ip2'yi denediğini varsayalım.

  1. Sonraki sayfa isteği için, tarayıcı yine de ip2 kullanacak mı yoksa rastgele ips değiştirebilir mi?
  2. Tarayıcılar IP'leri ne kadar önbellekte tutuyor?
  3. Tarayıcılar yeni bir DNS isteği gönderdiğinde ve SAME ips'i aldığında, çalıştığı bilinen aynı IP'yi kullanmaya devam eder mi yoksa süreç sıfırdan başlar ve bu ikisinden herhangi birini deneyebilir mi?

Tabii ki hepsi tarayıcıya bağlı olabilir ve sürümler ve platformlar arasında da değişebilir, maksimum ayrıntıya sahip olmaktan memnuniyet duyarım.

Bunun amacı - Round-robin DNS tabanlı kullanıldığında ve ana bilgisayarlardan biri başarısız olduğunda kullanıcıların tam olarak ne yaşayacağını anlamaya çalışıyorum.

Lütfen, DNS yük dengelemesinin ne kadar kötü olduğunu sormuyorum ve lütfen "yapma", "kötü bir fikir", "kalp atışı / proxy / BGP / ne olursa olsun" ve benzerlerini yanıtlamaktan kaçının.


1
Firefox için IP adreslerini ve şu anda hangi IP adresinin kullanıldığını gösteren bir tarayıcı uzantısı var ( addons.mozilla.org/en-US/firefox/addon/showip/?src=search ). Firebug'un 'Net' sekmesini, tarafından sunulan IP isteklerini göstermek için de kullanabilirsiniz. Açıkçası bu sadece Firefox ile ilgilidir, ancak Chrome geliştirici konsolunun IP isteklerinin sunulduğunu gösterdiğine inanıyorum.
Leke

Ayrıca bazı ISS'nin DNS sunucuları sadece hiç onlar bunu niçin hiçbir fikrim yok, bir IP adresi dönecektir unutmayın
Leke

Teşekkürler Sam. Evet, krom konsolu DNS aramaları, önbellek ve hangi IP'nin istendiğini gösterir.
Sandman4

Tam davranış hakkında konuşmak istiyorsanız, web tarayıcılarının bir kayıtla nasıl başa çıktığı hakkında ilk not alan şey, onların yapmamasıdır . Ad çözümlemesi ağ yığını tarafından işlenir. Fark ettiğiniz bazı tarayıcı tuhaflıkları hakkında soru sormaya mı çalışıyorsunuz yoksa ad çözümlemesi mi istiyorsunuz?
Rob Moir

Tarayıcılar, bir ana bilgisayar adı için A kayıtlarında listelenen birden çok IP alır (ağ yığınından). Google Chrome'da chrome: // net-internals / # dns'i deneyin ve kendinizi görün.
Sandman4

Yanıtlar:


5

Ne de olsa kendimi "araştırma" yapmak zorunda kaldım. İşte Chromium (sürüm 12.0.742.112) davranışı (Ubuntu 11.04 üzerinde çalışıyor):

Genellikle çalışır: 1.-ip'i deneyin, zaman aşımına uğradığında (189 saniye sonra) 2.-ip deneyin. Tüm ips denenene kadar hata mesajı verilmedi. Bir sonraki bağlantı ilk ip'ten tekrar başlayacak (bir saniye önce başarısız olsa ve ikinci ip çalıştıysa bile - tarayıcı umursamıyor)

İlginç bir şey - kullanıcı iptal düğmesine bastığında TCP bağlantı girişimi düşmüyor - yani iptal düğmesine bastığımda ve 60 saniye sonra tekrar denemeyi tıkladıktan sonra sayfa 130 saniye içinde gösterilecek (ilk denemeden 189). Ama iptal et ve tıklarsam 190 saniye sonra yenileme , işlem baştan başlayacaktır.

Orijinal Sorudaki öğelerle ilgili olarak:

  1. Tarayıcı her iki IP'yi de işletim sisteminden alır, işletim sistemi IP'lerin sırasını değiştirmez.
  2. Tarayıcı her zaman önce görünen IP'ye bağlanmaya çalışır
  3. 189 saniye çalışır
  4. 2. denemede, ilk IP'yi tekrar dener.
  5. İlk IP zaman aşımına uğradığında, tarayıcı sessizce ikinci IP'ye devam eder. Çalışırsa - sayfa görünür, değilse - bekleme devam eder.
  6. Test edilmedi. Bu blog , chrome: // net-internals / # dns'e baktığımızda Chrome'un DNS'yi yalnızca 1 dakikaya kadar önbelleğe aldığını belirtir:

    Kapasite: 100 Başarı girişleri için yaşam süresi (ms): 60000 Hata girişleri için yaşam süresi (ms): 0

İlk IP çalışırsa, işlem aynı olacak ve her zaman ilk denemede başarılı olacaktır.


4

İnsanlara ne istemediğinizi söylemek yerine, neyi başarmaya çalıştığınızı neden açıklamıyorsunuz?

Eğer peşinde olduğunuz tüm veriler biliniyorsa, gidin ve kendinizi araştırın ya da konuştuğunuz tarayıcı (yüzlerce) belgesinin belgelerini okuyun.

Bununla birlikte, bunun DNS ile ilgisi olmadığını bilmenize yardımcı olabilir.

Bir tarayıcı bir istek alırsa, önce URL'nin ana bilgisayar adının var olup olmadığını görmek için önce çeşitli önbelleklerine bakar.
Aksi takdirde, ana bilgisayar adını çözmek için sistem çözümleyicisine basacaktır.

Geri aldığı IP yanıt vermezse, bunu kesinlikle dahili olarak olumsuz bir arama sonucu olarak önbelleğe alır , bu nedenle doğrudan aynı URL'yi farklı bir A kaydına ulaşma umuduyla tekrar istemek, muhtemelen hiçbir amaca hizmet etmez, çünkü negatif IP sonucuyla birlikte ana bilgisayar adı sonucunu sakladı.

Veya, daha fazla bilgi sağlayabilirsiniz.

EDIT: Görüyorum ki tüm zorlu ve smartassery arasında bazı bilgiler verdiniz.

Çok iyi:

  1. Tarayıcı sistem çözümleyicisinden bir ana bilgisayar adı isterse, o ana bilgisayar adı için var olan bilgileri geri alır. Bu 2 IP anlamına geliyorsa, 2 IP döndürecektir.
  2. Bu tarayıcıya bağlıdır.
  3. Bu tarayıcıya bağlıdır, ancak şimdiye kadar kullandığım tüm tarayıcılar tek bir istekte bulunur ve standart TCP CONNECT () zaman aşımından sonra zaman aşımına uğrar; Bir yerde bununla ilgili bir RFC olduğundan eminim ...
  4. Bu tarayıcıya bağlıdır. DNS veya ağ ile ilgisi yoktur.
  5. Hayır.
  6. Hayır.

Ayrıca DNS kayıtlarının her yerde, özellikle istemcilerde önbelleğe alındığını bilmiyor gibi görünüyorsunuz. Bu kayıtların süresi, alan adı sahibinin amaçladığı şeye veya sizinle onun arasındaki yapılandırılmış önbelleklere bağlı olarak dolar. Bir saatten bir güne kadar yaygındır, bu nedenle çözümleyicinin deli gibi yenilerseniz başka bir DNS sorgusu yapmasını beklemeyin.


2
Neyi başarmaya çalıştığımın açıklaması eklendi. Bilinen verilerin peşindeyim, birisinin bilmesi umuyordum çünkü ilgili bilgileri bulmanız günler sürebilir. Talep mi ediyorsunuz? İhtiyacım olan bilgiyi istiyorum, talep edemiyorum - herkes cevap vermekte özgürdür. Smartassery? Gönderinize zarar verdim ve bunu hak ettiğimi sanmıyorum.
Sandman4

1
Tartışmanın DNS yük dengelemesine karşı alev almasını istemedim. Her neyse, beni TCP CONNECT () 'a yönlendirdiğiniz için teşekkürler.
Sandman4
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.