Ответы к экзамену по ПСП. Физический уровень
![]()
|
16.Служба DNS.Служба DNS (DomainNameSystem) является одной из важнейших служб TCP/IP, само появление которой в 1980-х годах дало мощный толчок развитию TCP/IP и всемирной сети Internet. Дело в том, что DNS обеспечивает важную возможность преобразования символических доменных имен в соответствующие IP-адреса (разрешение имен). Например, для обращения к адресу серверу компании Microsoft, имеющему IP-адрес 207.46.230.229, можно обратиться, используя символическое имя microsoft.com. С одной стороны, это дает более наглядную нотацию, а с другой, появляется возможность не привязывать жестко получение услуг сервера к фиксированному адресу, который при реорганизации сети может измениться. Службу DNS можно рассматривать, как распределенную иерархическую базу данных, основное назначение которой отвечать на два вида запросов: выдать IP-адрес по символическому имени хоста и наоборот – выдать символическое имя хоста по его IP-адресу. Облуживание этих запросов и поддержку базы данных в актуальном состоянии обеспечивают взаимодействующие глобально рассредоточенные в сети Internet серверы DNS. База данных имеет древовидную структуру, в корне которой нет ничего, а сразу под корнем находятся первичные сегменты (домены): .com, .edu, .gov, …, .ru, .by, .uk, … Наименование этих первичных доменов отражает деление базы данных DNS по отраслевому (домены, обозначенные трехбуквенным кодом) и национальному признакам (двухбуквенные домены в соответствии со стандартом ISO 3166). Доменом в терминологии DNS называется любое поддерево дерева базы данных DNS. DNS-серверы, обеспечивающие работоспособность всей глобальной службы, тоже имеют древовидную структуру подчиненности, которая соответствует структуре распределенной базы данных. По своему функциональному назначению DNS-серверы бывают: первичные серверы (которые являются главными серверами, поддерживающими свою часть базы данных DNS), вторичные серверы (всегда привязан к некоторому первичному серверу и используются для дублирования данных первичного сервера), кэширующие серверы (обеспечивают хранение недавно используемых записей из других доменов и служат для увеличения скорости обработки запросов на разрешение имен). При обработке запроса на разрешение имени, хост, как правило, обращается к первичному или вторичному DNS-серверу, обслуживающему данный домен сети. В зависимости от сложности запроса, DNS-сервер может сам ответить на запрос или переадресовать к другому серверу DNS. Последней инстанцией в разрешении имен являются пятнадцать (на сегодняшний день) корневых серверов имен, представляющих собой вершину всемирной иерархии DNS. Разработчик приложения может обратиться за разрешением имени с помощью функций, имеющих, как правило, имена gethostbyname и gethostbyaddr. В одной доменной зоне может быть несколько доменных имен. Существует определенный ряд записей, почтовый адрес админа, записи сопоставления имени и IPадреса, для замены одного имени на другое, для указания зоны, для поиска серверов где функционируют определенные службы. Запись SOA: в ней указывается имя доменной зоны, период обновления, Ip адрес администратора, задержка перед следующей попыткой, минимальное время жизни Запись А: связывает доменное имя и ip адрес. Если создать несколько записей с одним и тем же доменным именем но разными Ip адресами, то это позволит равномерно распределить нагрузки между несколькими хостами. Сервер выбирает ближайший IP адрес к клиенту. Запись CNAME: позволяет одному IP адресу сопоставить несколько доменных имен. Запись MX: связывает имена почтовых доменов с именами хостов. Запись PTR: запись обратная записи А. Запись NS: определяет полномочный сервер имен субдомена. Связывает имена субдомена с именем полномочного DNS сервера. Запись SRV: отображает порядок и доступность служб в конкретной зоне. Определяет сетевой протокол, порт, доменное имя хоста. Формат пакета DNS.
ID – идентификатор. Состоит из 2х байт. Т.к. обмен данными носит диалоговый характер, каждый запрос идентифицируется. Клиент передавая запрос заполняет это поля, сервер генерирует ответ и помещает его в тоже поле. QR – идентификатор, обозначает данное сообщение запрос от клиента или ответ от сервера. OPCODE – клиент указывает тип запроса к серверу DNS. AA – имеет смысл только в пакетах ответа от сервера клиенту. Если установлен данный флаг, значит сервер сгенерировал ответ. TC – данный флаг устанавливается в пакете ответе в том случае если сервер не смог поместить всю необходимую информацию в пакет из-за существующих ограничений. RD – заголовок DNS. Клиент просит сервера не сообщать ему промежуточный ответ, а сообщить клиенту только конечный результат. RA – данный флаг устанавливается в ответах. Служит для ответа клиенту поддерживает ли сервер рекурсивное обслуживание. Следующие 3 бита заголовка DNS Зарезервированы для дальнейшего использования и должны быть равны нулю во всех запросах и ответах. RCODE – поле кода ответа, либо с ошибкой, либо успешно. 0 – без ошибок, 1- ошибка разрешения имен и эта ошибка связана с DNS сервером который не смог понять формат запроса клиента, 2 – означает что сервер сигнализирует о неисправностях сервера. 3 – имени не существует в данном домене. 4 – сервер не может выполнить запрос данного типа. QDCOUNT – количество запросов ANCOUNT – количество ответов NSCOUNT – количество записей в Authority Section ARCOUNT – количество записей в Additional Record Section Утилита NSLOOKUP |