12.18 Примеры

12.18 Примеры

Некоторые реализации программы nslookup позволяют рассмотреть сообщения более подробно. Ниже приводится результат запуска nslookup на хосте Йельского университета и указывается вывод детальной отладочной информации с помощью команды set d2.

Запрос требовал трансляции имени www.microsoft.com в адрес, а в ответе было получено два адреса. Дело в том, что два различных компьютера работают как сервер WWW компании Microsoft и разделяют между собой трафик от клиентов. Если клиент не получает ответа по первому адресу (возможно, при сильной загруженности этой системы), он может обратиться ко второму компьютеру.

> nslookup

Server: DEPT-GW.cs.YALE.EDU Address: 128.36.0.36

> set d2

> www.microsoft.com.

Server: DEPT-GW.cs.YALE.EDU Address: 128.36.0.36

res_mkquery(0, www.microsoft.com, 1, 1)

------

SendRequest(), len 35

HEADER:

 opcode = QUERY, id = 5, rcode = NOERROR

 header flags: query, want recursion

 questions = 1, answers = 0, auth. records = 0, additional = 0

QUESTIONS:

 www.microsoft.com, type = A, class = IN

------

------

Got answer (67 bytes):

HEADER:

 opcode = QUERY, id = 5, rcode = NOERROR

 header flags: response, auth. answer, want recursion,

 recursion avail.

 questions = 1, answers = 2, auth. records = 0, additional = 0

QUESTIONS:

 www.microsoft.com, type = A, class = IN

ANSWERS:

 -> www.microsoft.com

    type = A, class = IN, ttl = 86400, dlen = 4

    inet address = 198.105.232.5

 -> www.microsoft.com

    type = A, class = IN, ttl = 86400, dlen = 4

    inet address = 198.105.232.6

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

При повторном запросе ответ придет из кеша локального сервера. Так как информация не авторитетна, локальный сервер предоставляет в ответе имена и адреса авторитетных серверов для microsoft.com.

> www.microsoft.com.

Server: DEPT-GW.cs.YALE.EDU

Address: 128.36.0.36

res_mkquery(0, www.microsoft.com, 1, 1)

------

SendRequest(), len 35

HEADER:

 opcode = QUERY, id = 8, rcode = NOERROR

 header flags: query, want recursion

 questions = 1, answers = 0, auth. records = 0, additional = 0

QUESTIONS:

 www.microsoft.com, type = A, class = IN

------

------

Got answer (194 bytes):

HEADER:

 opcode = QUERY, id = 8, rcode = NOERROR

 header flags: response, want recursion, recursion avail,

 questions = 1, answers = 2, auth. records = 3, additional = 3

QUESTIONS:

 www.microsoft.com, type = A, class = IN

ANSWERS:

 -> www.microsoft.com

    type = A, class = IN, ttl = 86392, dlen = 4

    inet address = 198.105.232.5

 -> www.microsoft.com

    type = A, class = IN, ttl = 86392, dlen = 4

    inet address = 198.105.232.6

AUTHORITY RECORDS:

 -> MICROSOFT.COM

    type = NS, class = IN, ttl = 172792, dlen = 7

    nameserver = ATBD.MICROSOFT.COM

 -> MICROSOFT.COM

    type = NS, class = IN, ttl = 172792, dlen = 16

    nameserver = DNS1.NWNET.NET

 -> MICROSOFT.COM

    type = NS, class = IN, ttl = 172792, dlen = 7

    nameserver = DNS2.NWNET.NET

ADDITIONAL RECORDS:

 -> ATBD.MICROSOFT. COM

    type = A, class = IN, ttl = 187111, dlen = 4

    inet address = 131.107.1.7

 -> DNS1.NWNET.NET

    type = A, class = IN, ttl = 505653, dlen = 4

    inet address = 192.220.250.1

 -> DNS2.NWNET.NET

    type = A, class = IN, ttl = 505653, dlen = 4

    inet address = 192.220.251.1

Отметим, что в обоих запросах о www.microsoft.com. введена конечная точка. Если она опущена, запрос первоначально будет послан с добавленным в конец именем локального домена.

Это демонстрирует запуск запроса на компьютере Йельского университета, подключенном к cs.yale.edu. В следующем примере показаны происходящие при этом события. Запрос был отклонен, но далее автоматически переделан для исключения дополнительных обозначений в конце имени.

> www.microsoft.com

Server: DEPT-GW.CS.YALE.EDU

Address: 128.36.0.36

res_mkquery(0, www.microsoft.com.CS.YALE.EDU, 1, 1)

------

SendRequest(), len 47

HEADER:

 opcode = QUERY, id = 6, rcode = NOERROR

 header flags: query, want recursion

 questions = 1, answers = 0, auth. records = 0, additional = 0

QUESTIONS :

www.microsoft.com.CS.YALE.EDU, type = A, class = IN

...

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

8.4.1 Примеры

Из книги C++ автора Хилл Мюррей

8.4.1 Примеры Описаниеint i; int *pi; int f (); int *fpi (); int (*pif) ();описывает целое i, указатель pi на целое, функцию f, возвращающую целое, функцию fpi , возвращающую указатель на целое, и указатель pif на функцию, возвращающую целое. Осбенно полезно сравнить последние две. Цепочка *fpi() есть *(fpi()),


5.12.5 Примеры

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

5.12.5 Примеры Программа на Рисунке 5.18 иллюстрирует искусственное использование каналов. Процесс создает канал и входит в бесконечный цикл, записывая в канал строку символов «hello» и считывая ее из канала. Ядру не нужно ни знать о том, что процесс, ведущий запись в канал,


* ПРИМЕРЫ *

Из книги Справочное руководство по C++ автора Страустрап Бьярн

* ПРИМЕРЫ * b1_1_1.cxx #include ‹stream.hxx›main(){ cout ‹‹ "Hello, world ";}


Примеры

Из книги Эффективное использование STL автора Мейерс Скотт

Примеры Книга содержит множество примеров. Все примеры комментируются по мере их приведения, и все же кое-что следует пояснить заранее.Из приведенного выше примера с map видно, что я обычно опускаю директивы #include и игнорирую тот факт, что компоненты STL принадлежат


Примеры

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Примеры Теперь воспользуемся четырьмя только что написанными программами. Создадим очередь и поместим в нее три сообщения:solaris % msgcreate /tmp/no/such/fileftok error for pathname "tmp/no/such/file" and id 0: No such file or directorysolaris % touch /trap/test1solaris % msgcreate /tmp/test1solaris % msgsnd /tmp/test1 1 100solaris % msgsnd /tmp/test1 2 200solaris % msgsnd /tmp/test1 3


10.5. Простые примеры

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

10.5. Простые примеры В этом разделе мы напишем несколько простых программ, работающих с именованными семафорами Posix. Эти программы помогут нам узнать особенности функционирования и реализации семафоров. Поскольку именованные семафоры Posix обладают по крайней мере


Примеры

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Примеры Для начала мы создадим именованный семафор в Digital Unix 4.0B и выведем его значение, устанавливаемое по умолчанию при инициализации:alpha % semcreate /tmp/test1alpha % ls-l /tmp/test1-rw-r--r-- 1 rstevens system 264 Nov 13 08:51 /tmp/test1alpha %semgetvalue /tmp/test1value = 1Аналогично очередям сообщений Posix система создает файл


Примеры

Из книги Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform автора Кёртен Роб

Примеры Теперь мы продемонстрируем работу пяти приведенных выше программ и исследуем некоторые свойства семафоров System V:solaris % touch /tmp/richsolaris % semcreate –e /tmp/rich 3solaris % semsetvalues /tmp/rich 1 2 3solaris % semgetvalues /tmp/richsemval[0] = 1semval[1] = 2semval[2] = 3Сначала мы создали файл с именем /tmp/rich, который


Примеры

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Примеры Создадим объект разделяемой памяти с именем /tmp/myshm объемом 123 456 байт в системе Digital Unix 4.0B:alpha % shmcreate /tmp/myshm 123456alpha % ls –l /tmp/myshm-rw-r--r-- 1 rstevens system 123456 Dec 10 14:33 /tmp/myshmalpha % od –c /tmp/myshm0000000 *0361100Мы видим, что файл с указываемым при создании объекта разделяемой памяти


Примеры

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Примеры Создадим сегмент разделяемой памяти длиной 1234 байта в системе Solaris 2.6. Для идентификации сегмента используем полное имя нашего исполняемого файла shmget. Это имя будет передано функции ftok. Имя исполняемого файла сервера часто используется в качестве уникального


15.7. Примеры

Из книги автора

15.7. Примеры В этом разделе мы приведем примеры использования пяти только что описанных


12.18 Примеры

Из книги автора

12.18 Примеры Некоторые реализации программы nslookup позволяют рассмотреть сообщения более подробно. Ниже приводится результат запуска nslookup на хосте Йельского университета и указывается вывод детальной отладочной информации с помощью команды set d2.Запрос требовал


Примеры

Из книги автора

Примеры Этот оператор устанавливает новое значение по умолчанию для домена BOOK_GROUP:ALTER DOMAIN BOOK_GROUP SET DEFAULT -1;В следующем операторе имя домена BOOK_GROUP заменяется на PUBL_GROUP:ALTER DOMAIN BOOK_GROUP TO


Примеры

Из книги автора

Примеры Этот раздел — своего рода «кулинарная книга» для программистов. Здесь я приведу ряд готовых примеров, которые вы сможете непосредственно использовать в качестве базиса для ваших проектов. Это не совсем готовые администраторы ресурсов — вы должны будете


ПРИМЕРЫ

Из книги автора

ПРИМЕРЫ while(n++ < 100) printf(" %d %d ",n, 2*n + 1);while(fargo < 1000){ fargo = fargo + step;   step = 2 * step;}     В нашем последнем примере в цикле while используется "неопределенное" условие: мы не знаем заранее, сколько раз выполнится тело цикла перед тем, как выражение станет ложным. Во многих наших