Система доменных имен dns
Соответствие между доменными именами и IP-адресами может устанавливаться как средствами локального хоста, так и средствами централизованной службы. На раннем этапе развития Internet на каждом хосте вручную создавался текстовый файл с известным именем hosts. Этот файл состоял из некоторого количества строк, каждая из которых содержала одну пару “IP-адрес - доменное имя”, например 102.54.94.97 - rhino.acme.com.
По мере роста Internet файлы hosts также росли, и создание масштабируемого решения для разрешения имен стало необходимостью.
Таким решением стала специальная служба - система доменных имен (Domain Name System, DNS). DNS - это централизованная служба, основанная на распределенной базе отображений “доменное имя - IP-адрес”. Служба DNS использует в своей работе протокол типа “клиент-сервер”. В нем определены DNS-серверы и DNS-клиенты. DNS-серверы поддерживают распределенную базу отображений, а DNS-клиенты обращаются к серверам с запросами о разрешении доменного имени в IP-адрес.
Служба DNS использует текстовые файлы почти такого формата, как и файл hosts, и эти файлы администратор также подготавливает вручную. Однако служба DNS опирается на иерархию доменов, и каждый сервер службы DNS хранит только часть имен сети, а не все имена, как это происходит при использовании файлов hosts. При росте количества узлов в сети проблема масштабирования решается созданием новых доменов и поддоменов имен и добавлением в службу DNS новых серверов.
Для каждого домена имен создается свой DNS-сервер. Этот сервер может хранить отображения “доменное имя - IP-адрес” для всего домена, включая все его поддомены. Однако при этом решение оказывается плохо масштабируемым, так как при добавлении новых поддоменов нагрузка на этот сервер может превысить его возможности. Чаще сервер домена хранит только имена, которые заканчиваются на следующем ниже уровне иерархии по сравнению с именем домена. (Аналогично каталогу файловой системы, который содержит записи о файлах и подкаталогах, непосредственно в него “входящих”.) Именно при такой организации службы DNS нагрузка по разрешению имен распределяется более-менее равномерно между всеми DNS-серверами сети. Например, в первом случае DNS-сервер домена mmt.ru будет хранить отображения для всех имен, заканчивающихся на mmt.ru, wwwl.zil.mmt.ru, ftp.zil.mmt.ru, mail.mmt.ru и т.д. Во втором случае этот сервер хранит отображения только имен типа mail.mmt.ru, www.mmt.ru, а все остальные отображения должны храниться на DNS-сервере поддомена zil.
Каждый DNS-сервер кроме таблицы отображений имен содержит ссылки на DNS-серверы своих поддоменов. Эти ссылки связывают отдельные DNS-серверы в единую службу DNS. Ссылки представляют собой IP-адреса соответствующих серверов. Для обслуживания корневого домена выделено несколько дублирующих друг Друга DNS-серверов, IP-адреса которых являются широко известными (их можно узнать, например, в InterNIC).
Процедура разрешения DNS-имени во многом аналогична процедуре поиска файловой системой адреса файла по его символьному имени. Действительно, в обоих случаях составное имя отражает иерархическую структуру организации соответствующих справочников - каталогов файлов или таблиц DNS. Здесь домен и доменный DNS-сервер являются аналогом каталога файловой системы. Для доменных имен, так же как и для символьных имен файлов, характерна независимость именования от физического местоположения.
Процедура поиска адреса файла по символьному имени заключается в последовательном просмотре каталогов, начиная с корневого. При этом предварительно проверяется кэш и текущий каталог. Для определения IP-адреса по доменному имени также необходимо просмотреть все DNS-серверы, обслуживающие цепочку поддоменов, входящих в имя хоста, начиная с корневого домена. Существенным же отличием является то, что файловая система расположена на одном компьютере, а служба DNS по своей природе является распределенной.
Существуют две основные схемы разрешения DNS-имен. В первом варианте работу по поиску IP-адреса координирует DNS-клиент:
DNS-клиент обращается к корневому DNS-серверу с указанием полного доменного имени;
DNS-сервер отвечает, указывая адрес следующего DNS-сервера, обслуживающего домен верхнего уровня, заданный в старшей части запрошенного имени;
DNS-клиент делает запрос следующего DNS-сервера, который отсылает его к DNS-серверу нужного поддомена, и т. д., пока не будет найден DNS-сервер, в котором хранится соответствие запрошенного имени IP-адресу. Этот сервер дает окончательный ответ клиенту.
Такая схема взаимодействия называется нерекурсивной или итеративной, когда клиент сам итеративно выполняет последовательность запросов к разным серверам имен. Так как эта схема загружает клиента достаточно сложной работой, то она применяется редко.
Во втором варианте реализуется рекурсивная процедура:
DNS-клиент запрашивает локальный DNS-сервер, то есть тот сервер, который обслуживает поддомен, к которому принадлежит имя клиента;
если локальный DNS-сервер знает ответ, то он сразу же возвращает его клиенту;
это может соответствовать случаю, когда запрошенное имя входит в тот же поддомен, что и имя клиента, а также может соответствовать случаю, когда сервер уже узнавал данное соответствие для другого клиента и сохранил его в своем кэше;
если же локальный сервер не знает ответ, то он выполняет итеративные запросы к корневому серверу и т. д. точно так же, как это делал клиент в первом варианте; получив ответ, он передает его клиенту, который все это время просто ждал его от своего локального DNS-сервера.
В этой схеме клиент перепоручает работу своему серверу, поэтому схема называется косвенной или рекурсивной. Практически все DNS-клиенты используют рекурсивную процедуру.
Для ускорения поиска IP-адресов DNS-серверы широко применяют процедуру кэширования проходящих через них ответов. Чтобы служба DNS могла оперативно отрабатывать изменения, происходящие в сети, ответы кэшируются на определенное время - обычно от нескольких часов до нескольких дней.
- Раздел I. Общие принципы построения вычислительных сетей 3
- Многотерминальные системы – прообраз сети
- Появление глобальных сетей
- Первые локальные сети
- Создание стандартных технологий локальных сетей
- Современные тенденции
- 1.2. Вычислительные сети - частный случай распределенных систем
- Мультипроцессорные компьютеры
- Многомашинные системы
- Вычислительные сети
- Распределенные программы
- 1.3. Что дает предприятию использование сетей
- 2. Основные проблемы построения сетей
- 2.1. Проблемы физической передачи данных по линиям связи
- 2.2. Проблемы объединения нескольких компьютеров
- Топология физических связей
- Организация совместного использования линий связи
- Адресация компьютеров
- 2.3. Ethernet - пример стандартного решения сетевых проблем
- 2.4. Структуризация как средство построения больших сетей
- Физическая структуризация сети
- Логическая структуризация сети
- 2.5. Сетевые службы
- 3. Модель взаимодействия открытых систем и проблемы стандартизации
- 3.1. Многоуровневый подход. Протокол. Интерфейс. Стек протоколов
- 3.2. Модель osi
- 3.3. Уровни модели osi Физический уровень
- Канальный уровень
- Сетевой уровень
- Транспортный уровень
- Сеансовый уровень
- Представительный уровень
- Прикладной уровень
- Сетезависимые и сетенезависимые уровни
- 3.4. Стандартные стеки коммуникационных протоколов
- Стек tcp/ip
- Стек ipx/spx
- Стек NetBios/smb
- 4. Локальные и глобальные сети. Требования, предъявляемые к современным вычислительным сетям
- 4.1. Локальные и глобальные сети
- 4.2 Требования, предъявляемые к современным вычислительным сетям
- Производительность
- Надежность и безопасность
- Расширяемость и масштабируемость
- Прозрачность
- Поддержка разных видов трафика
- Управляемость
- Совместимость
- Раздел II. Основы передачи дискретных данных
- 5. Линии связи
- 5.1. Типы линий связи
- 5.2. Аппаратура линий связи
- 5.3. Характеристики линий связи
- Амплитудно-частотная характеристика, полоса пропускания и затухание
- Пропускная способность линии
- Связь между пропускной способностью линии и ее полосой пропускания
- Помехоустойчивость и достоверность
- 10 Log Рвых/Рнав ,
- 5.4. Стандарты кабелей
- Кабели на основе неэкранированной витой пары
- Кабели на основе экранированной витой пары
- Коаксиальные кабели
- Волоконно-оптические кабели
- 6. Методы передачи дискретных данных на физическом уровне
- 6.1. Аналоговая модуляция
- Методы аналоговой модуляции
- Спектр модулированного сигнала
- 6.2. Цифровое кодирование
- Требования к методам цифрового кодирования
- Потенциальный код без возвращения к нулю
- Метод биполярного кодирования с альтернативной инверсией
- Потенциальный код с инверсией при единице
- Биполярный импульсный код
- Манчестерский код
- Потенциальный код 2b1q
- 6.3. Логическое кодирование
- Избыточные коды
- Скрэмблирование
- 6.4. Дискретная модуляция аналоговых сигналов
- 6.5. Асинхронная и синхронная передачи
- 7. Методы передачи данных канального уровня. Методы коммутации
- 7.1. Методы передачи данных канального уровня
- Асинхронные протоколы
- Синхронные символьно-ориентированные и бит-ориентированные протоколы
- Символьно-ориентированные протоколы
- Бит-ориентированные протоколы
- Протоколы с гибким форматом кадра
- Передача с установлением соединения и без установления соединения
- Обнаружение и коррекция ошибок
- Методы обнаружения ошибок
- Методы восстановления искаженных и потерянных кадров
- Компрессия данных
- 7.2. Методы коммутации
- Коммутация каналов
- Коммутация каналов на основе частотного мультиплексирования
- Коммутация каналов на основе разделения времени
- Общие свойства сетей с коммутацией каналов
- Обеспечение дуплексного режима работы на основе технологий fdm, tdm и wdm
- Коммутация пакетов. Принципы коммутации пакетов
- Виртуальные каналы в сетях с коммутацией пакетов
- Пропускная способность сетей с коммутацией пакетов
- Коммутация сообщений
- Раздел III. Базовые технологии локальных сетей
- 10. Технологии Token Ring, fddi, Fast Ethernet
- 10.1. Технология Token Ring (802.5) Основные характеристики технологии
- Маркерный метод доступа к разделяемой среде
- Форматы кадров Token Ring
- Кадр данных и прерывающая последовательность
- Приоритетный доступ к кольцу
- Физический уровень технологии Token Ring
- Раздел IV. Построение локальных сетей по стандартам физического и канального уровней
- 11. Кабельная система. Концентраторы и сетевые адаптеры
- 11.1. Структурированная кабельная система
- Иерархия в кабельной системе
- Выбор типа кабеля для горизонтальных подсистем
- Выбор типа кабеля для вертикальных подсистем
- Выбор типа кабеля для подсистемы кампуса
- 11.2. Концентраторы и сетевые адаптеры
- Сетевые адаптеры
- Классификация сетевых адаптеров
- Концентраторы
- Поддержка резервных связей
- Защита от несанкционированного доступа
- Многосегментные концентраторы
- Управление концентратором по протоколу snmp
- Конструктивное исполнение концентраторов
- Раздел V. Сетевой уровень как средство построения больших сетей
- 13.Ip-сети. Адресация в ip-сетях
- 13.1. Принципы объединения сетей на основе протоколов сетевого уровня
- Ограничения мостов и коммутаторов
- Понятие internetworking
- Функции маршрутизатора
- Реализация межсетевого взаимодействия средствами tcp/ip
- Многоуровневая структура стека tcp/ip
- Уровень межсетевого взаимодействия
- Основной уровень
- Прикладной уровень
- Уровень сетевых интерфейсов
- Соответствие уровней стека tcp/ip семиуровневой модели iso/osi
- 13.2. Адресация в ip-сетях Типы адресов стека tcp/ip
- Классы ip-адресов
- Особые ip-адреса
- Использование масок в ip-адресации
- Порядок распределения ip-адресов
- Автоматизация процесса назначения ip-адресов
- Отображение ip-адресов на локальные адреса
- Отображение доменных имен на ip-адреса
- Система доменных имен dns
- 14. Протокол ip
- 14.1. Основные функции протокола ip
- 14.2. Структура ip-пакета
- 14.3. Таблицы маршрутизации в ip-сетях
- Примеры таблиц различных типов маршрутизаторов
- Назначение полей таблицы маршрутизации
- Источники и типы записей в таблице маршрутизации
- 14.4. Маршрутизация без использования масок
- 14.5. Маршрутизация с использованием масок Использование масок для структуризации сети
- Использование масок переменной длины
- Технология бесклассовой междоменной маршрутизации cidr
- 14.6. Фрагментация ip-пакетов
- 14.7. Протокол надежной доставки tcp-сообщений
- Сегменты и потоки
- Соединения
- Реализация скользящего окна в протоколе tcp