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

...