Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)

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
...

Оглавление книги


Генерация: 0.092. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз