Що визначає, чи інтерпретується FQDN як IPv6 або IPv4?


9

Коли я набираю Повнокваліфіковане ім'я домену (FQDN) на моєму рядку URL-адреси, браузер підключається до якоїсь таблиці відображення (де ця таблиця зберігається? З постачальником послуг?), Яка визначає, де розміщується запитуваний файл.

Отже, від постачальника послуг (у кого я припускаю, є таблиця переходів) залежить, підтримуються чи ні IPv6 адреси. Це правда?

Відповіді:


7

Оскільки це з тегами iptables, я припускаю, що це питання Linux.

В Linux, glibc вирішує, чи програма для даного імені хоста спочатку шукає IPv6-адресу (AAAA) або IPv4-адресу (A). Програма за допомогою glibc використовує функцію getaddrinfo (). Поведінка getaddrinfo () налаштовано в /etc/gai.conf.

У вашій системі, швидше за все, все в /etc/gai.conf прокоментовано. Відміняє запис:

мітка :: / 0 1

для мене призвело до активації першого пошуку AAAA, тому IPv6-адреси бажано шукати. Тож це може бути те, що ви хочете.

Оновлення для додавання : Здається, правильним способом є відміняти весь блок "мітки" в gai.conf зі значеннями від 0 до 7:

label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
label 2001:0::/32   7

4

Адреси IPv4 відображаються у доменному імені за допомогою запису A (Адреса) у DNS (Система доменних імен). IPv6 адреси відображаються за допомогою записів AAAA. Здається дивно? Адреса IPv4 - 32 біт, IPv6 - 128 біт. 128/32 = 4, тож і AAAA / A = 4. Розумний трюк, хто б не спроектував запис IPv6 у DNS.

DNS - це ієрархічна, розподілена система по всьому Інтернету. Ваш браузер здійснить виклик до системної бібліотеки, яка запускає ланцюг пошуку. Він спочатку перевірить свій локальний кеш, як правило, зберігається в пам'яті. Далі він шукає диск та переглядає файл HOSTS (/ etc / hosts на більшості UNIXes / Linux та C: \ Windows \ System32 \ driver \ etc \ HOSTS в Windows). Потім, якщо він все ще не може знайти відповідь, він здійснює дзвінок на призначений сервер DNS відповідно до вашої мережевої конфігурації.

ЩО DNS-сервер перевіряє кеш, який значно більший. Якщо він має відповідність, він повертає відповідь. Якщо він не може знайти відповідь, він обертається і запитує сервер DNS ще більш високого рівня, яким керує Інтернет-провайдер провайдера. Цей процес триває до тих пір , поки вдарив кореневі сервери імен, a.root-servers.netчерез m.root-servers.net. Більшість запитів DNS вирішуються LONG ще до того, як вони дістаються так далеко, але іноді один або два складають їх там. Але коли відповідь знайдена, вона передається прямо назад по ланцюжку до вашого браузера.

Але як ваш браузер знає, який тип запиту запитувати? Це залежить від налаштувань вашої системи. Якщо ви встановили його для свого стеку IPv4 пріоритетним, ваш браузер запитає лише записи A у своїх запитах DNS. Якщо IPv6, він запитає спочатку запис AAAA, а потім повернеться до A секунди.

Є й інші типи записів. Записи MX визначають, де знаходиться поштовий сервер для домену. Записи NS визначають сервери імен для домену. Записи SRV повідомляють, де знаходиться певна послуга (наприклад, SSH або Web).

DNS насправді є буквальною телефонною книгою Інтернету.


2

Пошук буде здійснюватися вашим DNS (і, можливо, вашим локальним файлом хостів). Чи вирішено певне ім'я як адресу IPv6 або IPv4, залежить від налаштувань вашого браузера (чи підтримує він IPv6 і чи надсилає він IPv6 AAAA-запити, вашої операційної системи (чи є у вас навіть стек IPv6 серед іншого) та вашого Провайдер DNS (підтримують вони запити AAAA (IPv6) чи ні).

Проблема браузера ще більше ускладнюється тим, що деякі (старші) браузери ніколи не надсилають запити пошуку AAAA, а деякі можуть бути налаштовані не надсилати їх (Firefox має налаштування для цього), але більшість сучасних браузерів спочатку надсилає запит AAAA та надалі запит.


Де я можу знайти свій файл локальних хостів у Windows Vista?
Лазер

Добре, знайшов його тут: C:\Windows\System32\drivers\etc. Але вона порожня.
Лазер

% SYSTEMROOT% \ System32 \ драйвери \ тощо - загалом це буде C: \ Windows \ System32 \
driver

2
Зазвичай це порожньо - додайте записи, якщо це абсолютно необхідно, ви дійсно хочете залишити роздільну здатність імені IPv6 в DNS.
Гельвік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.