Bagaimana klien DNS memilih alamat IP ketika mereka mendapatkan beberapa jawaban?

25

Ketika server DNS mencari alamat IP untuk klien, dan ia menerima daftar beberapa server DNS untuk diminta, bagaimana cara memilihnya? Demikian pula, ketika klien DNS menerima daftar beberapa alamat IP untuk FQDN, bagaimana cara memilihnya? Apakah implementasi spesifik, atau tercakup dalam RFC?

bpfinn
sumber

Jawaban:

18

Server DNS yang menyelesaikan kueri, dapat memprioritaskan urutan penggunaan server yang terdaftar berdasarkan data waktu respons historis (RFC1035 bagian 7.2). Mungkin juga memprioritaskan dengan sub-net lebih dekat (saya telah melihat ini di RFC tetapi tidak ingat yang mana). Jika tidak ada riwayat atau prioritas sub-net, ia dapat memilih secara acak, atau hanya memilih yang pertama. Saya telah melihat implementasi server DNS melakukan berbagai kombinasi di atas.

Program klien yang memilih alamat IP dari daftar (dari A / AAAA-records) umumnya akan mencoba alamat-alamat tersebut sesuai dengan urutan yang dikembalikan oleh server DNS (round robin). Jika klien tidak dapat terhubung ke alamat IP pertama yang dikembalikan, ia harus mencoba yang kedua dan seterusnya. Misalnya semua browser utama melakukan ini, namun banyak program klien Internet lainnya "lupa" langkah ini dan gagal jika mereka tidak dapat terhubung ke alamat IP pertama.

Jesper
sumber
4

RFC 1794 Meliputi pertanyaan Round Robin yang Anda tanyakan.

Sejauh jawabannya, Sebagian besar klien DNS akan menggunakan alamat IP pertama dalam daftar, beberapa melakukan perhitungan subnet untuk mencari tahu mana yang lebih dekat, yang lain memilih secara acak, tetapi sebagian besar bergantung pada server DNS untuk mengirim daftar.

Mark Turner
sumber
3

Itu tergantung pada klien - relevansi khusus bagi siapa pun yang menjalankan toko Windows adalah kenyataan bahwa Vista \ Windows Server 2008 akan memilih alamat menggunakan mekanisme yang berbeda (jika tumpukan ipv6 diinstal) ke versi Windows sebelumnya yang akan memilih alamat pertama . Dalam banyak kasus ini berarti mereka akan selalu memilih yang sama yaitu mereka tidak akan "menghormati" tanggapan DNS round robin dengan cara yang sama seperti versi sebelumnya. Ada penjelasan rinci tentang ini di artikel blog technet ini .

Artikel yang ditautkan menunjukkan bahwa Windows 7 dan Server 2008 R2 mengubah perilaku default ini lagi, tetapi saya tidak dapat menemukan apa pun untuk mendukungnya.

Juga ada baiknya menunjukkan bahwa ini adalah perilaku yang sesuai standar untuk ipv6 sejauh yang saya tahu, meskipun saya akan sangat senang mengetahui bahwa saya salah.

Helvick
sumber