logo
Internet

Сервери доменних імен і механізми пошуку ір адрес.

Програма named, яка реалізує BIND, як і довільний сервіс прикладного рівня використовує транспорт ТСР та UDP. Якщо ми не можемо звернутись до певного комп’ютера, а раніше могли, то перш за все треба перевірити доступність комп’ютера за його ІР адресою. Якщо цього не можна зробити, то треба шукати помилки або збої в роботі сервісу доменних імен. Клієнтська частина – це процедура дозволу імен resolver, а сервер – програма named. Resolver – це набір процедур з системи бібліотеки libc.a які дозволяють прикладній програмі, яка відредагована з цими процедурами отримати за доменним іменем ІР адресу комп’ютера, або за ІР адресою доменне ім’я. Ці процедури звертаються до системної компоненти resolver, яка веде діалог із сервером доменних імен і таким чином обслуговує запити прикладних програм користувача. Загальну схему взаємодії різних компонент BIND можна представити таким чином:

Схема 1. Взаємодія компонент BIND

Керується named спеціальною базою даних , яка складається з декількох файлів і містить відповідності між адресами і іменами, а також адреси інших серверів BIND, до яких даних сервер може звертатись в процесі пошуку імені або адреси. Опираючись на схему 1 розглянемо два способи дозволу запиту на отримання ІР адреси за доменним іменем.

1-й випадок. Запит на отримання ІР адреси в рамках зони відповідальності даного місцевого сервера імен.

  1. Прикладна програма через resolver запитує ІР адресу за доменним іменем у місцевого сервера.

  2. Місцевий сервер повідомляє прикладній програмі ІР адресу запитаного імені.

2-й випадок. Запит прикладної програми до сервера доменних імен на отримання ІР адреси за доменним іменем із домена, який знаходиться в зоні відповідальності віддаленого сервера доменних імен, тобто сервера відмінного від того, домену якого належить комп’ютер який виконує запит.

В загальному випадку схема виглядає наступним чином:

  1. Прикладна програма звертається до місцевого сервера доменних імен за ІР адресою, повідомляючи йому доменне ім'я.

  2. Сервер визначає, що адреса не входить в даний домен і звертається за адресою сервера домена , який запитує до кореневого сервера доменних імен.

  3. Кореневий сервер доменних імен повідомляє місцевому серверу доменних імен адресу сервера того домена, який вимагається.

  4. Місцевий сервер доменних імен запитує віддалений сервер на предмет дозволу запиту свого клієнта – прикладної програми.

  5. Віддалений сервер повідомляє ІР адресу місцевому серверу.

  6. Місцевий сервер повідомляє ІР адресу прикладній програмі.