Adakah yang bisa mengarahkan saya ke informasi tentang perilaku peramban yang tepat saat peramban mendapatkan beberapa catatan A untuk nama host yang diberikan (mis. Ip1 dan ip2), dan salah satunya tidak dapat diakses.
Saya tertarik pada detail EXACT, seperti (tetapi tidak terbatas pada):
- Akankah browser mendapatkan 2 IP dari OS, atau hanya akan mendapatkan satu?
- Ip mana yang akan dicoba peramban (acak atau selalu yang pertama)? Sekarang, katakanlah browser dimulai dengan ip1 yang gagal
- Berapa lama browser akan mencoba IP1?
- Jika pengguna menekan "berhenti" saat menunggu ip1, lalu klik segarkan
- IP mana yang akan dicoba peramban?
- Apa yang akan terjadi ketika waktu habis - akan mulai mencoba ip2 atau memberikan kesalahan? (Dan jika ada kesalahan, ip mana yang akan dicoba peramban saat pengguna mengeklik penyegaran).
- Ketika pengguna mengklik menyegarkan, apakah browser akan mencoba pencarian DNS baru?
Sekarang mari kita asumsikan browser mencoba ip2 yang berfungsi terlebih dahulu.
- Untuk permintaan halaman berikutnya, apakah browser masih menggunakan ip2, atau mungkin secara acak beralih ips?
- Untuk berapa lama browser menyimpan IP dalam cache mereka?
- Ketika browser mengirim permintaan DNS baru, dan mendapatkan ips yang SAMA, akankah LANJUTKAN untuk menggunakan IP yang dikenal bekerja yang sama, atau proses dimulai dari awal dan mungkin mencoba salah satu dari keduanya?
Tentu saja semuanya tergantung pada browser, dan mungkin juga bervariasi antara versi dan platform, saya akan senang untuk memiliki detail maksimal.
Tujuannya - Saya mencoba memahami apa yang sebenarnya akan dialami pengguna ketika round-robin berbasis DNS digunakan dan salah satu host gagal.
Tolong, saya TIDAK bertanya tentang seberapa buruk penyeimbangan beban DNS, dan tolong jangan menjawab "jangan lakukan itu", "itu ide yang buruk", "Anda perlu detak jantung / proxy / BGP / apa pun" dan seterusnya.
sumber
Jawaban:
Bagaimanapun, saya harus melakukan "penelitian" sendiri. Inilah perilaku Chromium (versi 12.0.742.112) (berjalan di ubuntu 11.04):
Secara umum berfungsi: cobalah ip 1-st, begitu time-out (setelah 189 detik) coba ip 2-nd. Tidak ada pesan kesalahan yang diberikan sampai semua ips mencoba. Koneksi berikutnya akan dimulai dari ip pertama lagi (bahkan jika gagal satu detik yang lalu dan ip kedua berhasil - browser tidak peduli)
Satu hal yang menarik - Upaya koneksi TCP tidak dijatuhkan ketika pengguna menekan membatalkan - yaitu ketika saya menekan membatalkan, dan setelah 60 detik klik coba lagi, halaman akan ditampilkan dalam 130 detik (189 dari upaya pertama.) Tetapi jika saya klik membatalkan dan klik menyegarkan setelah 190 detik, prosesnya akan dimulai dari awal.
Mengenai item dalam Pertanyaan asli:
Tidak diuji. Blog ini menyatakan Chrome cache DNS hanya untuk 1 menit, ketika kami melihat chrome: // net-internal / # dns:
Kapasitas: 100 Time to live (ms) untuk entri yang berhasil: 60000 Time to live (ms) untuk entri yang gagal: 0
Jika IP pertama berfungsi, prosesnya akan sama dan akan selalu berhasil pada upaya pertama.
sumber
Alih-alih memberi tahu orang lain apa yang tidak Anda inginkan, mengapa tidak menjelaskan apa yang ingin Anda capai?
Jika semua yang Anda kejar adalah data yang diketahui, maka pergilah dan selidiki sendiri, atau baca dokumentasi peramban apa pun (ada ratusan) yang Anda bicarakan.
Mungkin membantu Anda untuk mengetahui bahwa ini tidak ada hubungannya dengan DNS.
Jika peramban mendapat permintaan, peramban pertama-tama akan mencari di berbagai cache untuk melihat apakah URL, atau jika bukan URL maka nama hostnya, sudah ada.
Jika tidak, itu akan menekan pemecah masalah sistem untuk menyelesaikan nama host.
Jika IP yang dikembalikannya tidak merespons, kemungkinan besar cache ini secara internal sebagai hasil pencarian negatif , jadi langsung meminta URL yang sama lagi dengan harapan mengenai catatan A yang berbeda karena mungkin tidak akan ada gunanya, karena akan telah menyimpan hasil hostname bersama dengan hasil IP negatif.
Atau, Anda tahu, Anda bisa memberikan informasi lebih lanjut.
EDIT: Saya melihat Anda memang memberikan beberapa informasi di antara semua tuntutan dan kepintaran.
Sangat baik:
Anda juga tampaknya tidak tahu bahwa catatan DNS di-cache di mana-mana, terutama pada klien. Catatan ini kedaluwarsa, tergantung pada apa yang dimaksudkan oleh pemilik domain atau cache di antara Anda dan dia yang dikonfigurasi. Satu jam hingga satu hari adalah umum, jadi jangan berharap resolver untuk melakukan permintaan DNS lain jika Anda menekan refresh seperti orang gila.
sumber