Приложение 5. Проверка работы сетевого клиента в среде ОС UNIX

Условия проверки

  1. Для проверки используется два компьютера, один из которых является сервером, другой – клиентом.

  2. На обоих компьютерах установлена UNIX подобные ОС (не обязательно одинаковые).

  3. На серверном компьютере установлены:

    • ядро СУБД ЛИНТЕР;

    • демонстрационная БД;

    • утилита inl;

    • сетевой драйвер сервера dbs_tcp;

    • сетевой драйвер клиента dbc_tcp.

  4. Переменная окружения SY00 указывает на каталог демонстрационной БД.

  5. К списку каталогов переменной окружения PATH добавлен каталог исполняемых файлов СУБД ЛИНТЕР.

  6. На клиентской машине установлены:

    • утилита inl;

    • сетевой драйвер клиент dbc_tcp.

  7. Если не оговорено особо, то в том же каталоге, где расположен драйвер dbc_tcp, должен находиться конфигурационный файл nodetab с описанием узлов сети:

        RTCP  TCPIP  < remote host >
        RTCPS TCPIPS < remote host >
        L     LOCAL  1254

    где < remote host > должно быть заменено на реальный TCP/IP адрес серверного компьютера.

  8. Путь к каталогу, содержащему драйвер dbc_tcp и утилиту inl, должен быть добавлен к переменной окружения PATH.

  9. После выполнения очередного пункта проверки клиентский и серверный компьютеры должны быть приведены в исходное состояние, а именно:

    • файл nodetab к описанному выше;

    • процессы ядра СУБД ЛИНТЕР сетевого драйвера сервера и сетевого драйвера клиента, утилиты inl должны быть остановлены;

    • должны быть удалены или приведены к первоначальному состоянию все файлы, созданные или изменённые в процессе предыдущей проверки.

  10. Под «попыткой установления соединения c узлом A» следует понимать запуск утилиты inl с ключами:

       >inl -u SYSTEM/MANAGER8 -n A

Проверка запуска

  1. На клиентском компьютере выполнить команду:

     >dbc_tcp
  2. Проверить появление процесса dbc_tcp в списке процессов:

     >ps -e | grep dbc_tcp

Проверка завершения работы

  1. Запустить процесс сетевого клиента на клиентском компьютере.

  2. Определить PID процесса сетевого клиента, просмотрев список всех процессов:

     >ps -e | grep dbc_tcp
  3. Послать процессу сетевого клиента сигнал TERM:

     >kill PID_OF_DBC_TCP

    где PID_OF_DBC_TCP – идентификатор процесса сетевого сервера dbc_tcp.

  4. Просмотрев список процессов, убедится в завершении процесса dbc_tcp.

  5. Снова запустить процесс сетевого клиента на клиентском компьютере и убедиться в активности процесса dbc_tcp.

  6. Выполнить команду завершения работы сетевого клиента:

     >dbc_tcp -U

    Команда должна завершиться сообщением о посылке сигнала SIGTERM сетевому клиенту. В списке не должно остаться процесса с именем dbc_tcp.

Примечание

Команда завершения работы отсутствует в ЗОСРВ «Нейтрино».

Проверка протоколов, декларированных в файле nodetab

  1. Создать файл nodetab со следующими узлами:

    N1 TCPIP < remote node >
    N2 TCPIPS < remote node >
    N3 LOCAL 1234
    N4 LOCALS 2501
    N5 ATCPIP
    N6 ATCPIPS
    N7 REZ
    N8 ABCDE

    < remote node > должно быть заменено на реальное доменное имя серверного компьютера.

  2. Запустить драйвер dbc_tcp с указанием полного пути к созданному файлу nodetab из командной строки. При запуске будет выдана информация о неподдерживаемом протоколе ABCDE.

  3. Последовательно осуществить попытку соединения с узлами N1-8:

    • при попытке соединении с узлами N1–N4 будет возвращен код завершения 4006 «Ошибка создания сетевого соединения»;

    • при попытке соединении с узлами N5–N7 будет возвращен код завершения 4066 «Сетевой протокол запрещен или не поддерживается»;

    • при попытке соединении с узлом N8 будет возвращен код завершения 4050 «Неизвестное имя сервера».

Проверка IP-адреса в файле nodetab

  1. На клиентском компьютере в отдельном каталоге создать файл nodetab:

    N1 TCPIP 127.0.0.1
    N2 TCPIP localhost
    N3 TCPIP < remote ip >
    N4 TCPIP abcd.abcd.abcd
    N5 TCPIPS 127.0.0.1
    N6 TCPIPS localhost
    N7 TCPIPS < remote ip >
    N8 TCPIPS abcd.abcd.abcd

    где < remote ip > должен быть заменен на числовой IP-адрес серверного компьютера.

  2. Запустить драйвер dbc_tcp c указанием в командной строке пути к файлу nodetab.

  3. При запуске должна быть напечатана информация о некорректности адреса в описании узла N4 и N8.

  4. При попытке соединении с узлами N4, N8 будет возвращен код завершения 4050 «Неизвестное имя сервера».

  5. При попытке соединении с узлами N1–N5 будет возвращен код завершения 4006 «Ошибка создания сетевого соединения»;

  6. При попытке соединении с узлами N1–N3, N5–N8 будет возвращен код завершения 4006 «Ошибка создания сетевого соединения».

Проверка IP-соединения

  1. На серверном компьютере запустить ядро СУБД ЛИНТЕР и сетевой драйвер сервера.

  2. На клиентском компьютере запустить сетевой драйвер клиента.

  3. Осуществить попытку соединения с узлами RTCP (описание файла nodetab для этой проверки см. в пункте «Условия проверки»):

     >inl -u SYSTEM/MANAGER8 -n RTCP
  4. Должно быть получено приглашение:

     >SQL
  5. Выполнить запрос:

    select count(*) from auto;

    На терминал должен быть выведен результат запроса.

Проверка тайм-аута клиента

  1. На серверном компьютере запустить ядро СУБД ЛИНТЕР и сетевой драйвер сервера.

  2. На клиентском компьютере создать файл nodetab:

      RTCP  TCPIP  < remote host > 1060 1 20
      RTCPS TCPIPS < remote host > 1060 1 20

    где < remote host > должно быть заменено на реальный TCP/IP адрес серверного компьютера.

  3. Запустить драйвер dbc_tcp с данным файлом nodetab.

  4. Открыть соединение из утилиты inl к узлу RTCP.

  5. Разорвать сеть на 30 секунд.

  6. Восстановить работу сети.

  7. Подать любой запрос из утилиты inl. Должен вернуться код завершения 1069 «Неверный номер канала».

  8. Повторить действия для узла RTCPS.

Проверка тайм-аута соединения

  1. На серверном компьютере запустить ядро СУБД ЛИНТЕР и сетевой драйвер сервера.

  2. На клиентском компьютере создать файл nodetab:

    RTCP  TCPIP  < alien host > 1060 1 20 10
    RTCPS TCPIPS < alien host > 1060 1 20 10

    где < alien host > – сетевой адрес реального компьютера, расположенного за межсетевым экраном. Межсетевой экран должен быть настроен так, чтобы не пропускает пакеты от компьютера с адресом < alien host > к клиентскому компьютеру.

  3. Запустить драйвер dbc_tcp с данным nodetab.

  4. Осуществить попытку соединения к узлу RTCP с помощью утилиты inl.

  5. Не более чем через 10(+4) сек. утилита inl должна выдать сообщение о невозможности определения версии БД. По истечении не более 10(+4) сек. – вернуть код завершения 4058 «Превышен интервал ожидания установления соединения» или 4006 «Ошибка создания сетевого соединения».

  6. Повторить проверку для узла RTCPS.

Проверка соединения через локальный протокол

  1. На серверном компьютере установить переменную окружения LINTER_MBX=1254.

  2. Запустить ядро СУБД ЛИНТЕР.

  3. Сбросить переменную окружения LINTER_MBX.

  4. Проверить подключение к локальному ядру. Попытка открытия соединения к локальному ядру должна закончиться неудачно.

  5. Создать файл nodetab:

    N1 LOCAL  1254
    N2 LOCALS 1254
  6. На серверном компьютере запустить сетевой драйвер клиента.

  7. Осуществить с помощью утилиты inl соединение к узлам N1, N2.

  8. Соединение должно быть успешно установлено c узлами N1 и N2.

  9. Выполнить запрос (при успешном соединении):

    select count(*) from auto;

    На терминал должен быть выведен результат выполнения запроса.

Проверка установки сервера по умолчанию

  1. На серверном компьютере запустить ядро СУБД ЛИНТЕР и сетевой драйвер сервер.

  2. На клиентском компьютере создать файл nodetab:

    N1 TCPIP 12.12.12.12
    N2 remote host

    где < remote host > должно быть заменено на реальный TCP/IP адрес серверного компьютера.

  3. Запустить драйвер dbc_tcp с ключом -S и данным nodetab:

      >dbc_tcp -N nodetab -S N2

    При запуске на терминал должно быть выведено сообщение о сервере по умолчанию N2.

  4. Осуществить соединение к серверу по умолчанию:

      >inl -u SYSTEM/MANAGER8

    Соединение должно быть успешно установлено.

  5. Выполнить запрос:

    select count(*) from auto;*

    На терминал должен быть выведен результат выполнения запроса.

  6. Повторить шаги 1-5 заново, запустив драйвер dbc_tcp с ключом -DEFAULT вместо -S.

Проверка запуска с идентификатором межпроцессного обмена, отличным от идентификатора по умолчанию

  1. На серверном компьютере запустить ядро СУБД ЛИНТЕР и сетевой драйвер сервера.

  2. На клиентском компьютере запустить драйвер клиента dbc_tcp с ключом -M:

     >dbc_tcp -M 1255
  3. Установить переменную окружения NET_MBX=1255.

  4. Произвести попытку соединения с узлом RTCP. Соединение должно быть успешно установлено.

  5. Выполнить запрос:

    select count(*) from auto;

    На терминал должен быть выведен результат запроса.