Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сетевые протоколы в инфокоммуникациях (ПЗ).docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
3.51 Mб
Скачать

Примеры

В этом разделе мы рассмотрим некоторые примеры DNS-запросов и ответов.

Пример 1

Распознаватель посылает запрос к локальному серверу для нахождения IP-адреса для хоста kafedra.gut.spb.ru.

Сообщение запроса. Рис. 4.7 показывает сообщение запроса, посылаемое распознавателем. Первые два байта показывают идентификатор в шестнадцатеричном исчислении ( 1444 ). Он используется как последовательный номер и относится к отклику на запрос. Поскольку распознаватель может послать только один запрос одному и тому же серверу, идентификатор помогает сортировать ответы, которые прибывают в любом порядке. Следующие байты содержат флаг с шестнадцатеричным значением 0100. В двоичной системе это 0000 0001 0000 0000, но более понятно флаг показан ниже.

Рис. 3.7. Пример сообщения запроса

Бит QR определяет сообщение как запрос. OpCode 0000 означает стандартный запрос. Рекурсия желательна, бит RD установлен (см. рис. 3.3, описания полей флага).

Сообщение содержит только одну запись запроса. Имя домена — kafedra.gut.spb.ru. Следующие два байта определяют тип запроса как IP-адрес; последние два байта определяют класс Интернета.

Ответное сообщение. Рис. 4.8 показывает ответ сервера. Ответ похож на запрос, за исключением того, что различаются флаги и число ответных записей одно и то же. Значение флага — 8180 в шестнадцатеричном исчислении. В двоичном исчислении он равен 1000 0001 1000 0000, но мы снова разделим это представление по полям, как это показано ниже.

Рис. 3.8. Пример сообщения ответа

Бит QR определяет сообщение как ответ. OpCode 0000 означает стандартный запрос. Рекурсия возможна (RA=1), и RD-бит установлен в состояние 1. Сообщение содержит одну запись запроса и одну запись ответа. Запись запроса повторяет сообщение запроса. Запись ответа имеет шестнадцатеричный указатель ( C00C ), разбитый на две линии, который ссылается на запись запроса вместо того, чтобы повторять имя домена. Следующее поле определяет тип домена (адрес), после которого определяется класс (Интернет). Поле со значением 12000 – TTL (время жизни равно 12000 с.). Следующее поле — это длина ресурсов данных, которая и есть IP-адрес ( 153.18.8.105 ).

Пример 2

FTP-сервер получил пакет от FTP-клиента с IP-адресом 153.2.7.9. Этот FTP-сервер может запросить файл, содержащий списки полномочных клиентов. Однако файл содержит только имена доменов. FTP-сервер имеет только IP-адрес запрашиваемого клиента, который располагает источником IP-адресов в полученной дейтаграмме. FTP-сервер запрашивает распознаватель (DNS клиента), чтобы получить обратный запрос к DNS и запросить имя FTP-клиента. Мы обсудим сообщение запроса и ответа отдельно.

Сообщение запроса. На табл. 4.6 приведено сообщение запроса, посланное от распознавателя к серверу. Первые 2 байта показывают идентификатор 1200. Значение флага — 0900 в шестнадцатеричном представлении. В двоичном представлении он равен 0000 1001 0000 0000 0000, и мы разделим его по полям, как показано ниже.

OpCode 0001 – означает инверсный запрос. Сообщение содержит только одну запись запроса

1 9 1 7 1 2 3 153 7 in-addr 4 arpa.

Следующие два байта определяют тип запроса (PTR)и последние два байта класс Интернета

QR

OpCode

AA

TC

RD

RA

Reserved

RCode

0

0001

0

0

1

0

000

0000

0x1200

0x0900

1

0

0

0

1

'9'

1

'7'

1

'2'

3

'1'

'5'

'3'

7

'i'

'n'

'-'

'a'

'd'

'd'

'r'

'4'

'a'

'r'

'p'

'a'

0

12

1

Инверсный ответ. Табл. 4.7 показывает ответ. Сообщение содержит одну запись запроса и одну запись ответа. Запись запроса повторяет сообщение запроса. Запись ответа имеет указатель 0xC00C, который ссылается на запись запроса вместо повторения имени домена. Следующее поле определяет тип домена (PTR). Следующее поле определяет класс Интернет, а после этого определяется время жизни (TTL) – 24000 c. Следующее поле – это длина данных источника (10). Последнее поле – это имя домена: 7kafedra3gut3spb2ru0.

QR

OpCode

AA

TC

RD

RA

Reserved

RCode

0

0001

0

0

1

0

000

0000

0x1200

0x8D80

1

0

0

0

1

9

1

7

1

2

3

1

5

3

7

i

n

-

a

d

d

r

4

a

r

p

a

0

12

1

C00C

12

1

24000

10

7

k

a

f

e

d

r

a

3

g

u

t

3

s

p

b

2

r

u

0

4.8. DDNS

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

DNS-мастер-файл должен быть скорректирован динамически. Поэтому была изобретена динамическая система доменных имен (DDNS – Dynamic Domain Name System). В DDNS, когда связь между именем и адресом определена, информация посылается обычно с помощью действий по протоколу динамической реконфигурации хостов (DHCP — Dynamic HostConfiguration Protocol) к первичному DNS-серверу. Первичный сервер модернизирует зону. Вторичные серверы уведомляются либо активно, либо пассивно. При активном уведомлении первичный сервер посылает сообщение вторичным серверам об изменениях в зоне, в то время как при пассивном уведомлении вторичные серверы периодически проверяются на любые изменения. В любом случае, после осуществления уведомления об изменении вторичные серверы запрашивают информацию об изменениях во всей зоне (зоновая передача), чтобы обеспечить безопасность. Для предотвращения неполномочных изменений DNS-записей DDNS может использовать полномочный механизм.