TCP-IP крупным планом

         

Обмен пакетами при старте Rlogin клиента и сервера.



Рисунок 14.16 Обмен пакетами при старте Rlogin клиента и сервера.


Было осуществлено 11 шагов, при этом заранее никакой информации на клиенте или сервере кэшировано не было:

  1. Клиент стартует и вызывает свою функцию разборщика, чтобы конвертировать имя хоста, которое мы ввели вместо IP адреса. Запрос типа A отправляется на корневой сервер.
  2. Ответ от корневого сервера содержит DNS сервера для домена в котором находится Rlogin сервер.
  3. Разборщик клиента повторно отправляет запрос типа A на DNS сервер. Этот запрос обычно имеет установленный флаг "рекурсия необходима".
  4. Приходит отклик с IP адресом хоста.
  5. Клиент Rlogin устанавливает TCP соединение с сервером Rlogin. (В главе 18 этот процесс описывается более подробно.) TCP модули клиента и сервера обмениваются друг с другом тремя пакетами.
  6. Сервер Rlogin принимает соединение от клиента и вызывает свой разборщик, чтобы получить имя хоста клиента по IP адресу, который сервер получил от своего TCP. Это PTR запрос, выданный на корневой DNS сервер. Может быть, это не тот корневой сервер, к которому обратился клиент в шаге 1.
  7. Отклик корневого сервера содержит имя DNS сервера домена in-addr.arpa клиента.
  8. Разборщик сервера повторно отправляет PTR запрос к DNS серверу клиента.
  9. PTR отклик содержит FQDN хоста клиента.
  10. Разборщик сервера отправляет запрос типа A к DNS серверу клиента, спрашивая IP адрес, соответствующий имени, возвращенному в предыдущем шаге. Это может быть сделано автоматически с использованием функции сервера gethostbyaddr, как мы описали в разделе "Запросы указателя" этой главы, или сервер Rlogin осуществляет этот шаг самостоятельно. Также, DNS сервер клиента часто тот же самый, что и DNS сервер клиента in-addr.arpa, однако это необязательно.
  11. Отклик от DNS сервера клиента содержит запись A для хоста клиента. Сервер Rlogin сравнивает запись A с IP адресом клиента, потребовавшего открыть TCP соединение.

Кэширование может уменьшить количество пакетов, которыми произошел обмен в этом примере.



Содержание раздела