Назад | Перейти на главную страницу

Начальная задержка при просмотре общего ресурса SMB из Windows

У нас есть NAS (Synology, под управлением DSM 6), который подключен к нашей Active Directory на сервере Windows 2016. NAS имеет 7 общих папок, к которым используется протокол SMB2.
При переходе к NAS с помощью проводника Windows (проверено как на Windows 7, так и на Windows server 2016) перед отображением общих папок появляется задержка примерно на 10 секунд. Неважно, используем ли мы имя NAS (\\ my-nas) или его IP-адрес (\\ 10.x.x.x).
При непрерывном перемещении по папкам задержек нет.

Есть идеи, почему это происходит и как это исправить?

Обновить
Я запустил Wireshark, а затем запустил проводник Windows. Вот как выглядит результат (я отфильтровал, чтобы просто показать свой IP и IP-адрес NAS):

Как видно из красного прямоугольника, полное бездействие составляет около 8 секунд. Это происходит после того, как клиент (10.0.107.100) отправляет «Запрос на установку сеанса» в NAS (10.0.107.99) и до получения ответа «Ответ на установление сеанса».

Обновление 2
Сделал новый сеанс Wireshark в ответ на комментарий Михала Соколовски, и на этот раз также включил трафик для нашего сервера домена (10.0.0.98). Теперь виден некоторый трафик UDP на порте 53 (показанном как протокол «DSN») и на порте 137 (показанном как протокол «NBNS»):

Обновление 3
Я установил Wireshark на сервер домена (10.0.0.98), чтобы увидеть всю связь с NAS:
(На изображении показан только отрывок: Полный журнал Wireshark для обновления 3)
Строка, выбранная на изображении, номер 402, находится непосредственно перед 3-секундной задержкой. Это происходит еще раз позже с теми же сообщениями.
Можно ли на основании этой информации сказать что-то еще?

Используя tcpdump на NAS, я обнаружил, что сервер домена вернул два IP-адреса NAS, когда он выполнил DNS-запрос. Сервер домена имеет только один физический сетевой интерфейс, который является «правильным». Другой - виртуальный интерфейс, созданный VirtualBox. Я следил за этим руководство в MSDN и снял галочку "Зарегистрировать этот адрес подключения в DNS". Это заняло время подключения от 10 до 3 секунд.

Теперь, глядя на tcpdump, есть одно место, где, кажется, нет активности, между no. 14 и 15: Но я предполагаю, что NAS с чем-то внутренне работает?

В идеале было бы неплохо, если бы он пошел еще быстрее.

Спасибо за все комментарии.

Обновить
Я получил подтверждение от службы поддержки Synology о том, что от недорогого NAS (DS214se) следует ожидать 3-секундную задержку.

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

  1. NAS не принимает соединение с 445-м портом, а перед открытием соединения с 139-м Windows пытается расширить имя хоста через WINS, которого нет.
  2. В NAS настроено именование файла журнала с именем подключенного хоста. В Samba это возможно только через прием соединений на 139-м порту и с запущенным WINS.

Запросы WINS можно услышать с помощью wirehark или аналогичного инструмента.

UPD. Как я вижу, у вас проблемы с преобразованием имен на NAS:

  1. Настройка сеанса клиентского запроса (пакет № 45 в вашем захвате)
  2. Сервер пытается разрешить имя клиента: я думаю, что сервер сначала пытается использовать DNS и файл hosts, а мы не видим.
  3. Затем сервер пытается найти WINS-сервер (как правило, эта конфигурация является продолжительной), и мы видим широковещательный пакет №75.
  4. После сбоя сервера все равно открывается сессия (пакет № 78)

это типичная проблема.