| Предыдущий | Следующий |
| STATUS_BAD_BINDINGS | STATUS_APPHELP_BLOCK |
STATUS_NETWORK_SESSION_EXPIRED
STATUS_NETWORK_SESSION_EXPIRED указывает на истечение логического сеанса SMB, а не просто на разрыв соединения TCP. Спецификация SMB2 явно требует после истечения сеанса повторно пройти путь установки сеанса и аутентификацию, прежде чем клиент сможет продолжить работу с удалёнными ресурсами.
Как сузить причину
После этого состояния не используйте прежние предположения о сеансе. Зафиксируйте идентификатор сеанса, диалект, способ аутентификации, срок действия билета или учётных данных, историю повторных подключений и то, возникла ли ошибка в составном запросе. Повторная аутентификация может создать новый действительный сеанс, но дескрипторы, подключения к деревьям и ожидающие запросы необходимо оценивать с учётом протокола и состояния приложения.
Для службы отличайте истечение учётных данных от кратковременной потери связи. Повторяющееся истечение сеанса через постоянный интервал часто указывает на политику времени жизни удостоверения или сеанса, а не на нестабильную сеть.
Важные данные
- Сохраняйте сведения о времени жизни сеанса и аутентификации вместе с состоянием.
- Выполняйте повторную аутентификацию по протоколу, а не воспроизводите старые запросы в истёкшем сеансе.
- Проверьте операции, изменяющие состояние, которые ожидали выполнения в момент истечения сеанса.
Ссылки
- Открытые спецификации Microsoft: справочник NTSTATUS
- MS-SMB2: обработка SMB2 SESSION_SETUP
- Samba: руководство smbclient
Нужно найти другой код? Найти другой код состояния или ошибки.