Чтение онлайн

ЖАНРЫ

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

Фейт Сидни М.

Шрифт:

Запрос требовал трансляции имени 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

Поделиться с друзьями: