Что из себя представляет физически dns. Как работает DNS. Типы записей DNS

Viber OUT 06.04.2019
Viber OUT

В статье рассмотрены одни из самых популярных алгоритмов сортировки для массивов, применяемых как практически, так и в учебных целях. Сразу хочу оговориться, что все рассмотренные алгоритмы медленнее, чем метод классической сортировки массива через список значений, но тем не менее, заслуживают внимания. Текста получается много, поэтому по каждому алгоритму описываю самое основное.

1.Алгоритм "Сортировка выбором".

Является одним из самых простых алгоритмов сортировки массива. Смысл в том, чтобы идти по массиву и каждый раз искать минимальный элемент массива, обменивая его с начальным элементом неотсортированной части массива. На небольших массивах может оказаться даже эффективнее, чем более сложные алгоритмы сортировки, но в любом случае проигрывает на больших массивах. Число обменов элементов по сравнению с "пузырьковым" алгоритмом N/2, где N - число элементов массива.

Алгоритм:
1. Находим минимальный элемент в массиве.
2. Меняем местами минимальный и первый элемент местами.
3. Опять ищем минимальный элемент в неотсортированной части массива
4. Меняем местами уже второй элемент массива и минимальный найденный, потому как первый элемент массива является отсортированной частью.
5. Ищем минимальные значения и меняем местами элементы,пока массив не будет отсортирован до конца.

//Сортировка выбором {--- Функция СортировкаВыбором(Знач Массив) Мин = 0; Для i = 0 По Массив.ВГраница() Цикл Мин = i; Для j = i + 1 ПО Массив.ВГраница() Цикл //Ищем минимальный элемент в массиве Если Массив[j] < Массив[Мин] Тогда Мин = j; КонецЕсли; КонецЦикла; Если Массив [Мин] = Массив [i] Тогда //Если мин. элемент массива = первому элементу неотс. части массива, то пропускаем. Продолжить; КонецЕсли; Смена = Массив[i]; //Производим замену элементов массива. Массив[i] = Массив[Мин]; Массив[Мин] = Смена; КонецЦикла; Возврат Массив; КонецФункции

2.Алгоритм "Сортировка пузырьком".

Пожалуй самый известный алгоритм, применяемый в учебных целях, для практического же применения является слишком медленным. Алгоритм лежит в основе более сложных алгоритмов: "Шейкерная сортировка", "Пирамидальная сортировка", "Быстрая сортировка". Примечательно то, что один из самых быстрых алгоритмов "Быстрый алгоритм" был разработан путем модернизации одного из самых худших алгоритмов "Сортировки пузырьком"."Быстрая" и "Шейкерная" сортировки будут рассмотрены далее. Смысл алгоритма заключается в том, что самые "легкие" элементы массива как бы "всплывают" , а самые "тяжелые" "тонут". Отсюда и название "Сортировка пузырьком"

Алгоритм:
1. Каждый элемент массива сравнивается с последующим и если элемент[i] > элемент происходит замена. Таким образом самые "легкие" элементы "всплывают" - перемещаются к началу списка,а самые тяжелые "тонут" - перемещаются к концу.
2. Повторяем Шаг 1 n-1 раз, где n - Массив.Количество ().

//Сортировка пузырьком {--- Функция СортировкаПузырьком(Знач Массив) Для i = 0 По Массив.ВГраница() Цикл Для j = 0 ПО Массив.Вграница() - i - 1 Цикл Если Массив[j] > Массив Тогда Замена = Массив[j]; Массив[j] = Массив; Массив = Замена; КонецЕсли; КонецЦикла; КонецЦикла; Возврат Массив; КонецФункции //---}

3.Алгоритм "Шейкерная сортировка"(Сортировка перемешиванием,Двунаправленная пузырьковая сортировка).

Алгоритм представляет собой одну из версий предыдущей сортировки - "сортировки пузырьком". Главное отличие в том, что в классической сортировке пузырьком происходит однонаправленное движение элементов снизу - вверх, то в шейкерной сортировке сначало происходит движение снизу-вверху, а затем сверху-вниз.

Алгоритм такой же, что и у пузырьковой сортировки + добавляется цикл пробега сверху-вниз.

В приведенном ниже примере, есть усовершенствование в шейкерной сортировке. В отличие от классической, используется в 2 раза меньше итераций.

//Сортировка перемешивание (Шейкер-Сортировка) {--- Функция СортировкаПеремешиванием(Знач Массив) Для i = 0 ПО Массив.ВГраница()/2 Цикл нИтер = 0; конИтер = Массив.ВГраница(); Пока нИтер Массив[нИтер+1] Тогда Замена = Массив[нИтер]; Массив[нИтер] = Массив[нИтер + 1]; Массив[нИтер + 1] = Замена; КонецЕсли; нИтер = нИтер + 1;//Двигаем позицию на шаг вперед //Проходим с конца Если Массив[конИтер - 1] > Массив[конИтер] Тогда Замена = Массив[конИтер - 1]; Массив[конИтер-1] = Массив[конИтер]; Массив[конИтер] = Замена; КонецЕсли; конИтер = конИтер - 1;//Двигаем позицию на шаг назад КонецЦикла; КонецЦикла; Возврат Массив; КонецФункции //---}

4. Алгоритм "Гномья сортировка".

Алгоритм так странно назван благодаря голландскому ученому Дику Груну.

Гномья сортировка основана на технике, используемой обычным голландским садовым гномом (нидерл. tuinkabouter). Это метод, которым садовый гном сортирует линию цветочных горшков. По существу он смотрит на следующий и предыдущий садовые горшки: если они в правильном порядке, он шагает на один горшок вперёд, иначе он меняет их местами и шагает на один горшок назад. Граничные условия: если нет предыдущего горшка, он шагает вперёд; если нет следующего горшка, он закончил.
Дик Грун

Вот собственно и все описание алгоритма "Гномья сортировка". Что интересно, алгоритм не содержит вложенных циклов, а сортирует весь массив за один проход.

//Гномья сортировка {--- Функция ГномьяСортировка(Знач Массив) i = 1; j = 2; Пока i < Массив.Количество() Цикл // Сравнение < - Сортировка по возрастанию, > - по убыванию Если Массив i = j; j = j + 1; Иначе Замена = Массив[i]; Массив[i] = Массив; Массив = Замена; i = i - 1; Если i = 0 Тогда i = j; j = j + 1; КонецЕсли; КонецЕсли; КонецЦикла; Возврат Массив; КонецФункции //---}

5. Алгоритм "Сортировка вставками".

Представляет собой простой алгоритм сортировки. Смысл заключается в том, что на каждом шаге мы берем элемент, ищем для него позицию и вставляем в нужное место.
Элементарный пример: При игре в дурака, вы тянете из колоды карту и вставляете ее в соответствующее место по возрастанию в имеющихся у вас картах. Или
в магазине вам дали сдачу 550 рублей- одна купюра 500, другая 50. Заглядываете в кошелек, а там купюры достоинством 10,100,1000. Вы вставляете купюру
достоинсвом 50р. между купюрами достоинством 10р и 100р, а купюру в 500 рублей между купюрами 100р и 1000р. Получается 10,50,100,500,1000 - Вот вам
и алгоритм "Сортировка вставками".
Таким образом с каждым шагом алгоритма, вам необходимо отсортировать подмассив данных и вставить значение в нужное место.


//Сортировка вставками {--- Функция СортировкаВставками(Знач Массив) Для i = 0 По Массив.ВГраница()-1 Цикл Ключ = i + 1; Замена = Массив[Ключ]; j = i + 1; Пока j > 0 И Замена < Массив Цикл Массив[j] = Массив; Замена = j - 1; Ключ = j - 1; j = j - 1; КонецЦикла; Массив[Ключ] = Замена; КонецЦикла; Возврат Массив; КонецФункции //---}

6. Алгортим "Сортировка слиянием".

Интересный в плане реализации и идеи алгоритм. Смысл его в том, чтобы разбивать массив на подмассивы, пока длина каждого подмассива не будет равна 1. Тогда мы утверждаем, что такой подмассив отсортирован. Затем сливаем получившиеся подмассивы воедино, одновременно сравнивая и сортируя поэлементно значения подмассивов.

p/s не смог вставить сюда рисунок с более наглядной схемой, постоянно размазывается. Зато хорошо видна в блоке скриншотов внизу. Можно посмотреть как работает алгоритм.

//Сортировка слиянием {---

Функция СортировкаСлиянием(Знач Массив) Если Массив.Количество() = 1 Тогда Возврат Массив; КонецЕсли; ТочкаРазрыв = Массив.Количество() / 2; лМассив = Новый Массив; прМассив = Новый Массив; Для Сч = 0 ПО Массив.ВГраница() Цикл Если Сч < ТочкаРазрыв Тогда лМассив.Добавить(Массив[Сч]); Иначе прМассив.Добавить(Массив[Сч]); КонецЕсли; КонецЦикла; Возврат Слияние(СортировкаСлиянием(лМассив),СортировкаСлиянием(прМассив)); КонецФункции Функция Слияние(массив1,массив2) a = 0; b = 0; слМассив = Новый Массив; Для Сч = 0 ПО (Массив1.Количество() + Массив2.Количество())-1 Цикл слМассив.Добавить(); КонецЦикла; Для i = 0 ПО (массив1.Количество() + массив2.Количество())-1 Цикл Если b < массив2.Количество() И a < массив1.Количество() Тогда Если (массив1[a] > массив2[b]) И (b < массив2.Количество()) Тогда слМассив[i] = массив2[b]; b = b + 1; Иначе слМассив[i] = массив1[a]; a = a + 1; КонецЕсли; Иначе Если b < массив2.количество() Тогда слМассив[i] = массив2[b]; b = b + 1; Иначе слМассив[i] = массив1[a]; a = a + 1; КонецЕсли; КонецЕсли; КонецЦикла; Возврат слМассив; КонецФункции //---}

7. Алгортим "Сортировка Шелла".

Алгоритм назван так в честь американского ученого Дональда Шелла. По своей сути этот алгоритм является усовершенствованным алгоритмом "Сортировка вставками". Смысл алгоритма заключается в том, чтобы сравнивать не только элементы, стоящие рядом друг с другом, но и на некотором удалении. Сначало выбирается Шаг - некий промежуток, через который будут сравниваться элементы массива на каждой итерации. Обычно его определяют так:
Для первой итерации Шаг = Цел(Массив.Количество()/2), для последующих Шаг = Цел(Шаг/2). Т.е. постепенно шаг сокращается и когда Шаг будет равен 1 произойдет последние сравнение и массив будет отсортирован.

Пример:
Дан массив (10,5,3,1,14,2,7,12).
1. Шаг = 4.
Сортируем простыми вставками каждые 4 группы по 2 элемента (10,14)(5,2)(3,7)(1,12)

10 ,2 ,3 ,1,14 ,5 ,7 ,12

2. Шаг = 2
Сортируем простыми вставками каждые 2 группы по 4 элемента (10,3,14,7)(2,1,5,12)

3 ,1 ,7 ,2 ,10 ,5 ,14 ,12

3. Шаг = 1
Сортируем простыми вставками каждую 1 группу по 8 элементов.

1,2,3,5,7,10,12,14


//Сортировка Шелла {--- Функция СортировкаШелла(Знач Массив) Шаг = Цел(Массив.Количество()/2); Пока Шаг > 0 Цикл i = 0; Пока i < (Массив.Количество() - Шаг) Цикл j = i; Пока j >= 0 И Массив[j] > Массив Цикл Замена = Массив[j]; Массив[j] = Массив; Массив = Замена; j = j - 1; Если ПрименитьОтображениеСортировки Тогда ОтобразитьДиаграммуСортировки(Массив); КонецЕсли; КонецЦикла; i = i + 1; КонецЦикла; Шаг = Цел(Шаг/2); ОбработкаПрерыванияПользователя(); КонецЦикла; Возврат Массив; КонецФункции //---}

8. Алгортим "Быстрая сортировка".

Наиболее популярный и применяемый алгоритм на практике. Является одним из самых эффективных алгоритмов сортировки данных.
Вся суть алгоритма сводится к тому, чтобы разбить сложную задачу на маленькие и решить их по отдельности. Выбирается некая опорная точка и все значения которые меньше перебрасываются влево, все остальные вправо. Далее для каждой полученной части выполняетя тоже самое, до тех пор пока дробить части уже нельзя. В конце мы получаем множество отсортированных частей, которые необходимо просто склеить в 1 целое.

//Алгоритм "Быстрая сортировка" { Процедура б_Сортировка(Массив,НижнийПредел,ВерхнийПредел) i = НижнийПредел; j = ВерхнийПредел; m = Массив[Цел((i+j)/2)]; Пока Истина Цикл Пока Массив[i] < m Цикл i = i + 1; КонецЦикла; Пока Массив[j] > m Цикл j = j - 1; КонецЦикла; Если i > j Тогда Прервать; КонецЕсли; КонецЦикла; Если НижнийПредел < j Тогда б_Сортировка(Массив,НижнийПредел,j); КонецЕсли; Если i < ВерхнийПредел Тогда б_Сортировка(Массив,i,ВерхнийПредел); КонецЕсли; КонецПроцедуры Функция БыстраяСортировка(Массив) НижняяГраница = 0; ВерхняяГраница = Массив.ВГраница(); б_Сортировка(Массив,НижняяГраница,ВерхняяГраница); Возврат Массив; КонецФункции //---}

9. Классическая сортировка массива в 1с.

Передаем массив в список значений. Сортируем стандартным методом "Сортировать".

//Сортировка списком значений {--- Функция СортировкаСпискомЗначений(Знач Массив) мСписокЗнч = Новый СписокЗначений; мСписокЗнч.ЗагрузитьЗначения(Массив); мСписокЗнч.СортироватьПоЗначению(НаправлениеСортировки.Возр); Возврат мСписокЗнч.ВыгрузитьЗначения(); КонецФункции //---}


Все сортировки можно ускорить расположив код в циклах в 1 строку. Но для читабельности, оставил так.


Написал обработку в которой реализованы все вышеперечисленные алгоритмы, также поддерживается динамическая анимация процесса сортировки (Кроме стандартной сортировки 1с).

-При запуске обработки автоматически происходит формирование массива случайных чисел от 0 до 100 размерностью 100 элементов.
-Для создания другого массива необходимо нажать на кнопку "Создание ГСЧ массива ", также можно выбирать необходимый диапазон.
-Для включения динамической анимации необходимо поставить галочку на "Отобразить сортировку в диаграмме". Советую на неэффективных алгоритмах устанавливать галочку при размерности массива до 100 элементов, иначе состаритесь ждать сортировки:)

Динамическая отрисовка процесса сортировки очень сильно снижает производительность, зато наглядно видно как работает алгоритм.

Современную жизнь уже сложно представить без интернета. Он преследует нас повсюду. Даже в часах и микроволновках есть интернет. Большинство людей не особо интересует принцип работы и общее понимание устройства работы сети.

Уже в ближайшее будущее не знать основ топологии компьютерных сетей будет просто некрасиво. И сегодня мы будем разбирать, что такое DNS и с чем его подают.

Базовые понятия

Domain Name System (ДНС) с английского буквально означает система доменных имён. Такая система призвана получать информацию о доменах, входит в семейство TCP / IP и имеет прикладной уровень по модели OSI .

В свою очередь, TCP / IP - это протокол передачи информации от одного компьютера к другому. Более того, если несколько ПК подключены по локальной сети и не имеют выхода в интернет, обмен данным между ними осуществляется по этому протоколу.

Модель OSI - это базис компьютерных сетей, именно благодаря этой модели в принципе возможен обмен между устройствами данными. Отметим, что уровней модели всего семь, прикладной уровень самый первый.

Домен же представляет собой непосредственный адрес портала или строго идентифицированную зону нахождения адресов сайта, при этом имеющую свое уникальное имя в организации системы доменных имен. Домены бывают различных уровней, однако домены, следующие за вторым уровнем, именуют субдоменами.

Что в итоге дает домен? Он позволяет узнать многое о сайте. В названии сайта всегда присутствует: .com - это значит, что указанный сайт коммерческой направленности, .ru - сайт находится в сегменте русскоязычного интернета - тот самый «рунет». Давайте рассмотрим государственный портал закупок, находящийся по адресу: http://zakupki.gov.ru, где.gov означает, что сайт находится в ведении государства, а.ru обозначает принадлежность к российской зоне имен.

Теперь нужно понять, что представляет собой IP-адрес . Машина не понимает наших букв, так как работает исключительно в двоичной системе исчисления (в которую входят лишь два числа 0 и 1). IP-адрес выступает в виде цифр, служащих для удобства настройки сети адреса узлов сети (устройств, которые могут обмениваться данными и присваивать себе ip, например, смартфон, принтер, роутер и т. д.), используя десятичную систему, машина сама переводит цифры в двоичную, и таким образом понимает, куда ей обращаться с запросом о получении данных и обмена соответствующими пакетами.

Например, адрес большинства домашних роутеров обозначается как 192.168.1.1 в двоичном коде он будет выглядеть так 11000000.10101000.00000001.00000001. В среде системных администраторов есть шутка, что каждый уважающий себя системный администратор должен уметь в уме переводить IP-адрес из десятичной в двоичную.

Выглядит сложно на бумаге, но благодаря DNS мы вбиваем в адресной строке ya.ru и попадаем на сайт Яндекса. То есть первостепенная задача DNS - это упрощение поиска различных интернет-порталов и интерпретирует имя доменов в IP-адреса.

Структура DNS

Система доменных имен имеет структуру дерева и включает в себя множество элементов: непосредственно самих доменных имен, зон, сетевых узлов и т. д.

В корневой зоне расположены бесчисленные серверы, ежесекундно обрабатывающие различные запросы. Настройка происходит на разных «зеркалах», которые включают в себя сведения о самих серверах и несут ответственность за домены. Такие действия совершаются на компьютерах раскиданных по всему миру и находящихся на существенном удалении друг от друга.

Мы уже немного поговорили о понятии зона в системе DNS. Но, продолжая пример с деревом, отметим, что зоной можно считать любой участок нашего древа, объединяющий несколько ветвей в одно целое, что разрешает передавать в управление, а, следовательно, и ответственность за указанную зону древа организации и лицу.

Любая зона включает в себя компонент под названием Служба DNS. Служба позволяет хранить данные локально. Сам же домен в нашем древе будет носить вид простой ветви.

Стоит также обратить внимание на то, что система DNS носит иерархичный характер. Значит, что все домены, помимо корневого, подчинены вышестоящим элементам системы.

Систематика DNS-серверов

DNS-сервер - это устройство, на котором установлено и запущено соответствующие приложение, отвечающее на запросы от других устройств, используя сетевые протоколы.

Все серверы делятся на:

Как это все выглядит на практике? Предположим, что кто-то решил запустить новый сайт в интернете. Для этих целей происходит регистрация нового домена. Но пока этот домен не будет занесен в специальные таблицы на DNS-серверах, можно сказать, что никто в мире этот домен не знает и не сможет к нему подключиться. После внесения изменений в DNS он тут же сообщит свежую информацию другим серверам по иерархии.

Информация для пользователя

При первичном подключении и прокладки кабеля в дом, как правило, в договоре оказания услуг провайдер, помимо логина и пароля, указывает свои DNS-сервера, которые пользователю необходимо внести при настройках роутера или компьютера. Ряд провайдеров цепляет адреса автоматически.

Однако самые искушенные пользователи используют бесплатные альтернативы от крупных IT-компаний, таких как Google или Яндекс. Так, сервера Яндекса включают в себя больше 80 DNS.

Скорость открытия страниц в браузере может напрямую зависеть от того, какой используется DNS-сервер. Конечно, не приходится мечтать о том, что скорость вырастет в разы, но стоит иметь в виду, что небольшой прирост будет. Чтобы понять, какой сервер прописать в настройках, можно воспользоваться специальным программным обеспечением, таким как DNS Benchmark, Namebench и др.

На рынке можно встретить роутеры, в которых есть встроенный DNS-сервер. Но также часто попадаются устройства, на которых сервера нет. Такие устройства используют функцию DNS relay. Такая функция позволяет пересылать пакеты данных, при этом исключена необходимость в наличии DNS-сервера, встроенного в ядро операционной системы роутера. Но если такую функцию отключить, то вся нагрузка по работе с доменами перейдет на оборудование, следующего по уровню за вашим роутером, то есть на оборудование провайдера.

Если DNS-сервер не отвечает

Часто встречающаяся ошибка. Проблема может возникнуть как из-за неполадок в сети пользователя, так и со стороны провайдера. Пути решения:

Так, вот DNS — это одна из основополагающих вещей, на которых построена работа всего интернета. Это аббревиатура расшифровывается как Domain Name System, что в переводе означает доменная система имен .

Этого вопроса (устройства доменной системы имен) я уже касался, когда рассказывал о том, но только вскользь. Сегодня я хочу поговорить о роли ДНС-серверов в работе сайтов и всего интернета в целом.

Зачем нужны DNS-сервера и что это такое?

Система же доменных имен оперирует уже полноценными именами (буквы латиницы, цифры, тире и нижнее подчеркивание допускается при их формировании)..120.169.66 малоинформативен) и ими проще оперировать.

Последнее относится именно к человеческому фактору, ибо машинам по-прежнему удобнее использовать IP адреса, что они и делают.. Но зато он понимает, что это доменное имя, а значит информацию о том, на каком IP размещен данных сайт, он сможет получить от DNS-сервера .

Вот именно на этих ДНС-серверах (иногда их еще называют NS от Name Server, т.е server имен ) и держится весь интернет (как плоский мир на трех китах, стоящих на черепахе). не требующий непосредственного участия человека в своей работе (настроили его — он и пашет в режиме 24 на 7). И таких DNS-серверов в сети очень много.

Как работает DNS и причем тут файл Hosts?

На заре интернета ДНС вообще не существовало. Но как же тогда работала сеть?.120.169.66? За это дело тогда (да и сейчас тоже) отвечал так называемый , где были прописаны все хосты тогда еще маленького интернета.

Такой файл находился (и сейчас находится) на каждом компьютере пользователя (на вашем тоже он есть) подключенного к сети (как его найти смотрите по приведенной выше ссылке).

В файле Hosts было прописано несколько тысяч строк (по числу сайтов в интернете на тот момент), в каждой из которых сначала был прописал IP адрес, а затем через пробел соответствующий ему домен. Вот так выглядела бы запись для моего блога, существуй он в сети лет так двадцать пять — тридцать назад:

109.120.169.66 сайт

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на
");">

Вам может быть интересно

Сервер - что это такое
Покупка домена (доменного имени) на примере регистратора Reghouse WHOIS сервисы - информация о домене (чей он, каков его возраст и история, когда освобождается) или IP адресе
Файл Hosts - что это такое, где он находится в Windows, что с ним делать вебмастеру и как удалить из него записи вирусов
Проверка на занятость и покупка доменного имени, чем отличаются регистраторы и реселлеры доменов и что такое WHOIS Как зарегистрировать домен (купить доменное имя у регистратора)


СущностьDNS

DNS протокол (от английского словосочетания Domain Name System означает – система доменных имен) – это компьютерная четко распределенная система для получения информации о состоянии домена. Зачастую его используют для получения IP-адреса по имени определенного хоста (устройства или компьютера), получения необходимой информации о пройденном маршруте почты, которая обслуживается узлами для протоколов в домене.

Такая распределенная база данных системы доменных имен поддерживается благодаря иерархии DNS-серверов, которые взаимодействуют согласно определенному протоколу.

Основой для днс протокола служит представление об ее иерархической системе доменного адреса и зонах. Каждый отдельный сервер, которые в ответе за имя, может вполне делегировать свою ответственность на будущую часть домена другому серверу, что способствует возложению ответственности за популярность информации на серверы разнообразных предприятий, организация или людей, которые отвечают только за собственную часть доменного имени.

Три года тому назад в систему DNS протоколов начали внедрять средства проверки целостности данных, которые передаются, эти средства получили названием DNS Security Extensions (DNSSEC). Вся передаваемая информация не шифруется, но ее достоверность проходит проверку с помощью криптографических методов. Внедряемый стандарт DANE занимается передачей средствами DNS достоверными криптографическими данными, которые используются для того, чтобы установить безопасные и защищенные соединения прикладного и транспортного уровня.

Функции DNS

ДНС протокол можно охарактеризовать такими функциями:

    Распределенность администрирования. Люди или разные организации несут ответственность за некоторые части иерархической структуры.

    Распределенность сохраненной информации. Каждый отдельный сетевой узел обязательно должен сохранять не только те данные, которые находятся в его зоне ответственности, но и адреса корневых серверов.

    Кэширование всей информации. Определенный узел способен сохранять некоторое количество данных из несобственной зоны ответственности для того, чтобы уменьшить сетевые нагрузки.

    Иерархическая структура, которая объединяет все узлы в одно дерево, каждый узел может сам определить работу нижестоящих узлов, или просто передать их другим узлам.

    Резервирование. За обслуживание и хранение собственных зон отвечают сразу несколько серверов, которые разделены на физические и логические, что в результате гарантирует сохранность данных и продолжение работы даже при сбое одного из узлов.

Система доменных имен очень важна в работе глобальной сети, поскольку для обычного соединения с узлом нужно вся информация о его личном адресе, а для людей легче запомнить адреса, написанные буквами, нежели цифрами. В отдельных ситуациях, это способствует применению виртуальных серверов, к примеру, НТТР - серверы, отличая их по имени запроса. Изначально преобразование между доменными и IP-адресами проводилось с применением определенного текстового файла, составляющего в централизованном и автоматическом режиме, рассылался на каждую машину в личной локальной сети. С развитием глобальной сети появилась необходимость в эффективном и автоматизированном механизме, которым и стала система доменных имен - DNS.

Протокол DNS является служебным протоколом прикладного уровня. Этот протокол несимметричен - в нем определены DNS-серверы и DNS-клиенты. DNS-серверы хранят часть распределенной базы данных о соответствии символьных имен и IP-адресов. Эта база данных распределена по административным доменам сети Internet. Клиенты сервера DNS знают IP-адрес сервера DNS своего административного домена и по протоколу IP передают запрос, в котором сообщают известное символьное имя и просят вернуть соответствующий ему IP-адрес.

Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов, для повышения надежности своей работы.

База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена.

Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:

· com - коммерческие организации (например, microsoft.com);

· edu - образовательные (например, mit.edu);

· gov - правительственные организации (например, nsf.gov);

· org - некоммерческие организации (например, fidonet.org);

· net - организации, поддерживающие сети (например, nsf.net).

Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN) , которое включает имена всех доменов по направлению от хоста к корню. Пример полного DNS-имени: citint.dol.ru.


В сетях TCP/IP компьютеры для общения между собой используют IP-адреса. Однако то, что удобно машинам, неудобно людям. Сама человеческая натура протестует против запоминания чисел типа 192.120.18.34. К тому же IP-адреса совсем не информативны. По IP-адресу невозможно понять, что это: сервер, ПК, маршрутизатор или сетевой принтер. Приятней работать с осмысленными именами, такими как sales-server. Тем не менее сетевые устройства обращаются друг к другу, используя IP-адрес, а не имена.

Решает эту проблему система именования сетевых объектов, которая отвечает за преобразование символьных имен в IP-адреса. Системе передается имя (например archie.univie.ac.at), а она возвращает IP-адрес (140.78.3.8).

Система имен доменов (Domain Name System, DNS) появилась середине 80-х годов. DNS реализует иерархическое пространство имен. Единицей измерения является домен (территория, область). Понятие домена DNS не надо путать с доменом Windows NT или доменом NIS. Они не имеют друг к другу никакого отношения. На Рисунке 4.7. приведена часть иерархической структуры DNS сети Internet.

Вся сеть представляется в виде единого иерархического дерева. На вершине располагается корневой домен (обозначается символом "●"). Ниже находятся домены первого уровня. Поскольку Internet развивался в первую очередь в США, это вызвало некоторый крен при формировании доменов первого уровня: Internet как бы оказался поделенным между США и всем остальным миром.

Наиболее известные домены первого уровня:

com - коммерческие организации (главным образом в США);

edu - учебные заведения США;

gov - правительственные учреждения США;

mil - военные учреждения США;

net - различные сетевые агентства и Internet-провайдеры;

int - международные организации;

org - некоммерческие учреждения;

код страны - двухбуквенный код для обозначения государства (ru - для России).

Ниже доменов первого уровня располагаются домены второго уровня и так далее вплоть до хостов. Для доменов первого уровня, обозначающих государства, доменами второго уровня часто бывают города (например, msk - для Москвы), а доменами третьего уровня - предприятия и организации.

Любой хост или домен в Internet однозначно идентифицируется так называемым полным доменным именем (Fully Qualified Domain Name, FQDN). Его иногда еще называют абсолютным доменным адресом.

Так, для сетевого устройства host1 полное доменное имя будет host1.company1.msk.ru. а для домена company1 - company1.msk.ru.

Домены в FQDN записываются справа налево в порядке подчинения и разделяются точками. Каждая отдельная составляющая FQDN называется меткой (label). Длина метки не должна превышать 63 символа, а полная длина FQDN - 255 символов. Допустимыми символами являются буквы английского языка, цифры и знак дефиса "-" (знак дефиса не может стоять в начале или конце метки). Регистр букв значения не имеет, т. е. company1.msk.ru. и COMPANY1.MSK.RU. обозначают один и тот же домен.

Конечная точка в полном доменном имени обозначает, во-первых, корневой домен, и, во-вторых, что используется абсолютная адресация.

Кроме абсолютной применяется и относительная доменная адресация. Когда два устройства находятся в одном и том же домене, они могут обращаться друг к другу по имени, не указывая полного доменного пути. Так, host2 обращается к host1 двумя способами:

· по полному доменному имени host1.company1.msk.ru.

· по относительному доменному адресу host1

В полном доменном имени конечную точку можно не ставить, поскольку обычно программное обеспечение TCP/IP подразумевает, что составное доменное имя (т. е. когда присутствует более двух меток) обозначает FQDN. Таким образом,

company1.msk.ru. и company.msk.ru.

Домены находятся в иерархическом подчинении друг другу, причем домены являются узлами дерева доменов, а хосты - листьями.

Понятие домена достаточно емкое и в то же время гибкое. Оно не ограничивается какими-то физическими границами, например границами IP-сети или сегмента Ethernet. Доменом DNS может быть и страна, и предприятие, и отдел банка. Один домен может включать как множество сетей, так и только часть одной сети или даже подсети.

Основное назначение DNS состоит в преобразовании имени хоста в его IP-адрес. На самом деле DNS является системой, не зависимой от протокола сетевого уровня, т. е. она может быть реализована не только в среде TCP/IP. Однако функции DNS этим не ограничиваются. DNS позволяет получить следующую информацию: IP-адрес хоста; доменное имя хоста по его IP-адресу; псевдонимы хоста, тип центрального процессора и операционной системы хоста; сетевые протоколы, поддерживаемые хостом; почтовый шлюз; почтовый ящик: почтовую группу; IP-адрес и доменное имя сервера имен доменов. Существует и ряд других, реже используемых параметров.



Рекомендуем почитать

Наверх