Сервер smb что это: Smb (server message block) — Национальная библиотека им. Н. Э. Баумана
SMB протокол, обзор версий, описание технологии
Подключение всех технологических устройств к общей локальной сети (автономная альтернатива Интернету) обычно является чисто технической задачей благодаря компьютерным сетям. Участники сети могут легко обмениваться файлами через LAN или WLAN, управлять серверами или использовать типичные сетевые устройства, такие как принтеры или маршрутизаторы.
Однако для того, чтобы взаимодействие между отдельными компонентами работало, необходимы четкие соглашения, представленные в форме протоколов. Например, одним из самых важных и старых сетевых протоколов является протокол SMB. Мы подробно разберём его это в этой статье.
Что такое SMB (блок сообщений сервера)?
SMB (Server Message Block) — это протокол клиент/сервер, который управляет доступом к файлам и целым каталогам, а также к другим сетевым ресурсам, таким как принтеры, маршрутизаторы или интерфейсы, открытые для сети. Обмен информацией между различными процессами системы (также известный как межпроцессное взаимодействие) может осуществляться на основе протокола SMB.
Разработанный ИТ-группой IBM в 1983 году, за последние десятилетия были выпущены различные версии и реализации протокола. SMB впервые стал доступен для широкой публики как часть сетевой операционной системы OS/2 LAN Manager и ее преемника LAN Server. Основным применением протокола с тех пор была операционная система Windows, поскольку ее сетевые службы обратно совместимы с SMB. Это позволяет устройствам с более новыми выпусками легко взаимодействовать с устройствами, на которых установлена более старая операционная система Microsoft. Более того, проект бесплатного программного обеспечения Samba предлагает решение, которое позволяет использовать Server Message Block в дистрибутивах Linux и Unix, что позволяет кроссплатформенное общение через SMB.
Для реализации протокола SMB в Windows NT 4.0 Microsoft использовала название Common Internet File System (CIFS), которое впоследствии использовалось как синоним семейства протоколов SMB. Сегодня CIFS является особенно распространенным термином для первой версии SMB 1.0.
Как работает SMB?
Протокол Server Message Block позволяет клиенту связываться с другими участниками той же сети, позволяя ему получать доступ к файлам или службам, открытым для него в сети. Чтобы это работало, другая система также должна реализовать сетевой протокол и получать и обрабатывать соответствующий клиентский запрос с помощью приложения сервера SMB . Но обе стороны должны сначала установить соединение, поэтому сначала они обмениваются соответствующими сообщениями. В IP-сетях SMB использует протокол управления передачей (TCP), который обеспечивает трехстороннее рукопожатие между клиентом и сервером перед окончательным установлением соединения. Последующий перенос данных регулируется положениями протокола TCP.
TCP — порт 445 предназначен для установления соединения и передачи данных через TCP / SMB. Разрешение адресов обычно происходит через систему доменных имен (DNS) или через Link Local Multicast Name Resolution (LLMNR) в небольших сетях.
Протокол SMB: обзор версий
Как уже упоминалось, с тех пор, как SMB был впервые выпущен в 1983 году, в сетевой стандарт были внесены многочисленные изменения, отраженные в различных версиях протокола . Они начинаются с SMB 1.0 и заканчиваются текущей версией SMB 3.1.1, которую Microsoft представила вместе с Windows 10. В следующих разделах резюмируются основные этапы разработки протокола Server Message Block.
SMB 1.0 (CIFS)
Первая версия протокола сетевой связи часто приравнивается к варианту Common Internet File System (CIFS), описанному ранее. Однако последнее на самом деле относится только к аспекту первой редакции протокола — особенно для реализации протокола в устройствах с Windows NT 4.0. В этом первом варианте связь по-прежнему осуществлялась через интерфейс NetBIOS, а также через UDP-порты 137 (разрешение имен) и 138 (передача пакетов), а также через TCP-порт 139 (установка и транспортировка соединения). Зависимость от NetBIOS прекратилась с выходом Windows 2000 ; протокол, официально обозначенный как SMB 1.0, теперь позволяет прямое соединение через TCP (порт 445).
SMB 2.0
Первая большая редакция Server Message Block была предоставлена Microsoft в ноябре 2006 года вместе с операционной системой Windows Vista . Несмотря на то, что протокол — теперь известный как SMB 2.0 — продолжал оставаться проприетарным , компания-производитель программного обеспечения также впервые выпустила спецификацию, позволяющую другим системам взаимодействовать с операционными системами Windows. Наиболее важные изменения во второй версии протокола включали следующее:
- Уменьшение количества команд и подкоманд с более 100 до 19
- Оптимизированная производительность благодаря новой функции очереди для запросов SMB
- Поддержка символических ссылок (подключения к файлам или каталогам)
- Промежуточное хранение / кеширование свойств файла
- Улучшено подписывание сообщений (алгоритм HMAC SHA-256)
- Лучшая масштабируемость благодаря большему максимальному количеству клиентов, общих объектов и одновременно открытых файлов
По соображениям совместимости первая версия протокола была сохранена. Microsoft также придерживалась этой меры в последующих версиях.
SMB 2.1
Версия 2.1 протокола SMB тесно связана с Windows 7. Пересмотренная версия второй редакции протокола была выпущена вместе с операционной системой в 2007 году и, помимо ряда незначительных оптимизаций производительности, она предоставила новые механизмы блокировки для регулирования доступа к файлам. более эффективно (чтение, запись, удаление и т. д.).
SMB 3.0
Windows 8 была выпущена в 2012 году, а вместе с новой версией операционной системы Microsoft появилась новая версия Server Message Block. Первоначально это называлось SMB 2.2, но позже было изменено на обозначение SMB 3.0, которое применяется и сегодня. Эта версия протокола также направлена на повышение производительности и безопасности соединений SMB, особенно в виртуализированных центрах обработки данных. Следующие новые функции были ключевыми для этого улучшения:
- Возможность удаленного доступа к хранилищу благодаря SMB через RDMA (Remote Direct Memory Access)
- Многоканальная функция позволяет настраивать несколько подключений на сеанс SMB
- Прозрачная защита от сбоев
- Сквозное шифрование
SMB 3.1.1
SMB 3.1.1 (опубликованный в 2015 году с Windows 10) расширил серию протоколов проверкой целостности перед аутентификацией на основе хэш-значений SHA-256. Кроме того, в системе используется шифрование AES-128 в режиме счетчика Галуа (GCM). Для всех устройств связи с SMB 2.0 или выше SMB 3.1.1 делает безопасное соединение обязательным.
Таблица версий SMB
Версия SMB | Поддерживается с | Новые особенности |
---|---|---|
CIFS | Windows NT 4.0 | Связь через интерфейс NetBIOS |
SMB 1.0 | Windows 2000 | Прямое подключение через TCP |
SMB 2.0 | Windows Vista, Windows Server 2008, Samba 3.5 | Различные улучшения производительности, улучшенная подпись сообщений, функция кеширования свойств файла |
SMB 2.1 | Windows 7, Windows Server 2008 R2 | Механизмы блокировки |
SMB 3.0 | Windows 8, Windows Server 2012, Samba 4.0 | Многоканальные соединения, сквозное шифрование, удаленный доступ к хранилищу |
SMB 3.0.2 | Windows 8.1, Windows Server 2012 R2 | |
SMB 3.1.1 | Windows 10, Windows Server 2016, Samba 4.3 | Проверка целостности, шифрование AES-128 с режимом Галуа / счетчика (GCM) |
Какие аспекты безопасности важно учитывать при использовании SMB?
В течение многих лет Microsoft считала важным в своих системах, чтобы старые версии Server Message Block также поддерживались более новыми выпусками для обеспечения бесперебойной связи между старыми и новыми устройствами. Но обеспечение совместимости с тех пор связано с повышенным риском безопасности. Это связано с тем, что SMB 1.0 имеет ряд уязвимостей по сравнению с последующими протоколами, которые, например, делают компьютер уязвимым для DoS-атак.
Особенно в сетях высок риск атаки на основе протокола SMB. Все версии SMB обычно активируются из соображений совместимости — например, поскольку это требуется для подключенных принтеров или других сетевых устройств. Даже если старая версия протокола практически больше не используется, она остается легкой мишенью для злоумышленников, которые могут переключить связь на SMB 1.0 и атаковать целевую систему без серьезных препятствий. Вот почему с Windows 10 Microsoft решила больше не поддерживать первую версию и автоматически деактивировать ее, когда она не используется.
Где используется или реализуется SMB
Наиболее важные сценарии применения для SMB уже были представлены в этой статье. Ключевым моментом протокола является доступ к файловым системам, поэтому основные преимущества заключаются в соединениях клиент/сервер между компьютерами и файловыми серверами . Поскольку другие разделы протокола явно нацелены на межпроцессное взаимодействие, простой обмен данными между двумя устройствами или двумя процессами относится к профилю его приложения.
Помимо реализаций Server Message Block в различных выпусках Windows, протокол был интегрирован во множество других программных проектов, чтобы обеспечить связь за пределами семейства Microsoft. Наиболее известные реализации SMB включают следующее:
- Samba : Программный проект Samba, вероятно, является самым известным примером реализации SMB за пределами Windows. Еще в 1991 году программист Эндрю Триджелл начал разработку бесплатного программного обеспечения, которое обеспечивает связь в системах Unix / Linux через Server Message Block.
- Netsmb: Netsmb относится к реализациям клиента и сервера SMB непосредственно в ядре операционных систем BSD. Впервые они были выпущены для ОС FreeBSD 4.4, но теперь доступны для ряда систем BSD, включая NetBSD и macOS.
- YNQ : YNQ (ранее NQ) — это библиотека SMB, которая реализует технологию Server Message Block во встроенных системах без Windows и, таким образом, обеспечивает взаимодействие с устройствами на базе Windows. YNQ разрабатывается израильской софтверной компанией Visuality Systems Ltd. с 1998 года.
- FreeNAS : любой, кто хочет запустить свой собственный NAS — сервер, поддерживающий протокол SMB, найдет подходящее решение в FreeNAS с открытым исходным кодом . Программное обеспечение NAS основано на FreeBSD и файловой системе OpenZFS.
- ConnectedNAS : ConnectedNAS, программное обеспечение, разработанное Connected Way, служит SMB-сервером и клиентом для устройств Android . Пользователи платного приложения могут легко обмениваться данными между мобильным устройством и другими устройствами SMB — как в частном порядке, так и внутри компании. По соображениям безопасности ConnectedNAS поддерживает SMB только начиная с версии 2.
На чтение 8 мин. Просмотров 8 Опубликовано
Что такое порт SMB? Для чего используются порт 445 и 139?
NetBIOS означает Базовая сетевая система ввода-вывода . Это программный протокол, который позволяет приложениям, ПК и настольным компьютерам в локальной сети (LAN) обмениваться данными с сетевым оборудованием и передавать данные по сети. Программные приложения, работающие в сети NetBIOS, обнаруживают и идентифицируют друг друга по именам NetBIOS. Имя NetBIOS имеет длину до 16 символов и обычно отделено от имени компьютера. Два приложения запускают сеанс NetBIOS, когда одно (клиент) отправляет команду «вызвать» другого клиента (сервер) через TCP-порт 139 .
Для чего используется порт 139
Однако NetBIOS в вашей глобальной сети или через Интернет представляет собой огромный риск для безопасности. Все виды информации, такие как ваш домен, имена рабочих групп и систем, а также информация об учетной записи могут быть получены через NetBIOS. Поэтому важно поддерживать NetBIOS в предпочтительной сети и следить за тем, чтобы он никогда не покидал вашу сеть.
Брандмауэры, в качестве меры безопасности, всегда сначала блокируют этот порт, если он у вас открыт. Порт 139 используется для общего доступа к файлам и принтерам , но оказывается самым опасным портом в Интернете. Это так, потому что он оставляет жесткий диск пользователя уязвимым для хакеров.
После того, как злоумышленник обнаружит активный порт 139 на устройстве, он может запустить NBSTAT диагностический инструмент для NetBIOS через TCP/IP, в первую очередь предназначенный для устранения неполадок с разрешением имен NetBIOS. Это знаменует собой важный первый шаг атаки — Footprinting .
Используя команду NBSTAT, злоумышленник может получить некоторую или всю критическую информацию, связанную с
- Список локальных имен NetBIOS
- Имя компьютера
- Список имен, разрешенных WINS
- IP-адреса
- Содержимое сеансовой таблицы с IP-адресами назначения
Имея вышеупомянутые подробности, злоумышленник имеет всю важную информацию об ОС, службах и основных приложениях, работающих в системе. Помимо этого, у него также есть частные IP-адреса, которые LAN/WAN и инженеры по безопасности старались скрыть за NAT. Кроме того, идентификаторы пользователей также включены в списки, предоставляемые запуском NBSTAT.
Это позволяет хакерам получить удаленный доступ к содержимому каталогов или дисков жесткого диска. Затем они могут автоматически загружать и запускать любые программы по своему выбору с помощью некоторых бесплатных инструментов, даже если владелец компьютера не узнает об этом.
Если вы используете компьютер с несколькими компьютерами, отключите NetBIOS на каждой сетевой карте или Dial-Up Connection в свойствах TCP/IP, которые не являются частью вашей локальной сети.
Что такое порт SMB
Хотя порт 139 технически известен как «NBT через IP», порт 445 — «SMB через IP». SMB означает Блоки сообщений сервера ’. Блок сообщений сервера на современном языке также известен как Общая интернет-файловая система . Система работает как сетевой протокол прикладного уровня, в основном используемый для предоставления общего доступа к файлам, принтерам, последовательным портам и другим видам связи между узлами в сети.
Большая часть использования SMB связана с компьютерами под управлением Microsoft Windows , где он был известен как «Сеть Microsoft Windows» до последующего внедрения Active Directory. Он может работать поверх сеансовых (и нижних) сетевых уровней несколькими способами.
Например, в Windows SMB может работать напрямую через TCP/IP без необходимости использования NetBIOS через TCP/IP. Он будет использовать, как вы указали, порт 445. В других системах вы найдете службы и приложения, использующие порт 139. Это означает, что SMB работает с NetBIOS через TCP/IP .
Злобные хакеры признают, что порт 445 уязвим и имеет много опасностей. Одним из замечательных примеров неправильного использования порта 445 является относительно тихое появление червей NetBIOS . Эти черви медленно, но четко определенным образом сканируют Интернет на наличие портов 445, используют такие инструменты, как PsExec , чтобы перенести себя на новый компьютер-жертву, а затем удвоить усилия по сканированию. Именно с помощью этого малоизвестного метода собираются огромные « Бот-армии », содержащие десятки тысяч зараженных червем компьютеров NetBIOS, и теперь они обитают в Интернете.
Как бороться с портом 445
Учитывая вышеперечисленные опасности, в наших интересах не предоставлять порт 445 Интернету, но, как и порт Windows 135, порт 445 глубоко встроен в Windows и его трудно безопасно закрыть.Тем не менее, его закрытие возможно, однако, другие зависимые сервисы, такие как DHCP (протокол динамической конфигурации хоста), который часто используется для автоматического получения IP-адреса от серверов DHCP, используемых многими корпорациями и интернет-провайдерами, перестанет функционировать.
Принимая во внимание все причины безопасности, описанные выше, многие интернет-провайдеры считают необходимым блокировать этот порт от имени своих пользователей. Это происходит только в том случае, если порт 445 не защищен маршрутизатором NAT или персональным межсетевым экраном. В такой ситуации ваш интернет-провайдер, возможно, не позволит трафику порта 445 достичь вас.
Боремся с вирусами и инфраструктурой, или отключение SMB v1 / Блог компании Сервер Молл / Хабр
В связи с недавной эпидемией шифровальщика WannaCry, эксплуатирующим уязвимость SMB v1, в сети снова появились советы по отключению этого протокола. Более того, Microsoft настоятельно рекомендовала отключить первую версию SMB еще в сентябре 2016 года. Но такое отключение может привести к неожиданным последствиям, вплоть до курьезов: лично сталкивался с компанией, где после борьбы с SMB перестали играть беспроводные колонки Sonos.
Специально для минимизации вероятности «выстрела в ногу» я хочу напомнить об особенностях SMB и подробно рассмотреть, чем грозит непродуманное отключение его старых версий.
SMB (Server Message Block) – сетевой протокол для удаленного доступа к файлам и принтерам. Именно он используется при подключении ресурсов через \servername\sharename. Протокол изначально работал поверх NetBIOS, используя порты UDP 137, 138 и TCP 137, 139. С выходом Windows 2000 стал работать напрямую, используя порт TCP 445. SMB используется также для входа в домен Active Directory и работы в нем.
Помимо удаленного доступа к ресурсам протокол используется еще и для межпроцессорного взаимодействия через «именованные потоки» – named pipes. Обращение к процессу производится по пути \.\pipe\name.
Первая версия протокола, также известная как CIFS (Common Internet File System), была создана еще в 1980-х годах, а вот вторая версия появилась только с Windows Vista, в 2006. Третья версия протокола вышла с Windows 8. Параллельно с Microsoft протокол создавался и обновлялся в его открытой имплементации Samba.
В каждой новой версии протокола добавлялись разного рода улучшения, направленные на увеличение быстродействия, безопасности и поддержки новых функций. Но при этом оставалась поддержка старых протоколов для совместимости. Разумеется, в старых версиях было и есть достаточно уязвимостей, одной из которых и пользуется WannaCry.
Под спойлером вы найдете сводную таблицу изменений в версиях SMB.
Версия | Операционная система | Добавлено, по сравнению с предыдущей версией |
SMB 2.0 | Windows Vista/2008 | Изменилось количество команд протокола со 100+ до 19 |
Возможность «конвейерной» работы – отправки дополнительных запросов до получения ответа на предыдущий | ||
Поддержка символьных ссылок | ||
Подпись сообщений HMAC SHA256 вместо MD5 | ||
Увеличение кэша и блоков записи\чтения | ||
SMB 2.1 | Windows 7/2008R2 | Улучшение производительности |
Поддержка большего значения MTU | ||
Поддержка службы BranchCache – механизм, кэширующий запросы в глобальную сеть в локальной сети | ||
SMB 3.0 | Windows 8/2012 | Возможность построения прозрачного отказоустойчивого кластера с распределением нагрузки |
Поддержка прямого доступа к памяти (RDMA) | ||
Управление посредством командлетов Powershell | ||
Поддержка VSS | ||
Подпись AES–CMAC | ||
Шифрование AES–CCM | ||
Возможность использовать сетевые папки для хранения виртуальных машин HyperV | ||
Возможность использовать сетевые папки для хранения баз Microsoft SQL | ||
SMB 3.02 | Windows 8.1/2012R2 | Улучшения безопасности и быстродействия |
Автоматическая балансировка в кластере | ||
SMB 3.1.1 | Windows 10/2016 | Поддержка шифрования AES–GCM |
Проверка целостности до аутентификации с использованием хеша SHA512 | ||
Обязательные безопасные «переговоры» при работе с клиентами SMB 2.x и выше |
Посмотреть используемую в текущий момент версию протокола довольно просто, используем для этого командлет Get–SmbConnection:
Вывод командлета при открытых сетевых ресурсах на серверах с разной версией Windows.
Из вывода видно, что клиент, поддерживающий все версии протокола, использует для подключения максимально возможную версию из поддерживаемых сервером. Разумеется, если клиент поддерживает только старую версию протокола, а на сервере она будет отключена – соединение установлено не будет. Включить или выключить поддержку старых версий в современных системах Windows можно при помощи командлета Set–SmbServerConfiguration, а посмотреть состояние так:
Get–SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
Выключаем SMBv1 на сервере с Windows 2012 R2.
Результат при подключении с Windows 2003.
Таким образом, при отключении старого, уязвимого протокола можно лишиться работоспособности сети со старыми клиентами. При этом помимо Windows XP и 2003 SMB v1 используется и в ряде программных и аппаратных решений (например NAS на GNU\Linux, использующий старую версию samba).
Под спойлером приведу список производителей и продуктов, которые полностью или частично перестанут работать при отключении SMB v1.
Производитель | Продукт | Комментарий |
Barracuda | SSL VPN | |
Web Security Gateway backups | ||
Canon | Сканирование на сетевой ресурс | |
Cisco | WSA/WSAv | |
WAAS | Версии 5.0 и старше | |
F5 | RDP client gateway | |
Microsoft Exchange Proxy | ||
Forcepoint (Raytheon) | «Некоторые продукты» | |
HPE | ArcSight Legacy Unified Connector | Старые версии |
IBM | NetServer | Версия V7R2 и старше |
QRadar Vulnerability Manager | Версии 7.2.x и старше | |
Lexmark | МФУ, сканирование на сетевой ресурс | Прошивки Firmware eSF 2.x и eSF 3.x |
Linux Kernel | Клиент CIFS | С 2.5.42 до 3.5.x |
McAfee | Web Gateway | |
Microsoft | Windows | XP/2003 и старше |
MYOB | Accountants | |
NetApp | ONTAP | Версии до 9.1 |
NetGear | ReadyNAS | |
Oracle | Solaris | 11.3 и старше |
Pulse Secure | PCS | 8.1R9/8.2R4 и старше |
PPS | 5.1R9/5.3R4 и старше | |
QNAP | Все устройства хранения | Прошивка старше 4.1 |
RedHat | RHEL | Версии до 7.2 |
Ricoh | МФУ, сканирование на сетевой ресурс | Кроме ряда моделей |
RSA | Authentication Manager Server | |
Samba | Samba | Старше 3.5 |
Sonos | Беспроводные колонки | |
Sophos | Sophos UTM | |
Sophos XG firewall | ||
Sophos Web Appliance | ||
SUSE | SLES | 11 и старше |
Synology | Diskstation Manager | Только управление |
Thomson Reuters | CS Professional Suite | |
Tintri | Tintri OS, Tintri Global Center | |
VMware | Vcenter | |
ESXi | Старше 6.0 | |
Worldox | GX3 DMS | |
Xerox | МФУ, сканирование на сетевой ресурс | Прошивки без ConnectKey Firmware |
Список взят с сайта Microsoft, где он регулярно пополняется.
Перечень продуктов, использующих старую версию протокола, достаточно велик – перед отключением SMB v1 обязательно нужно подумать о последствиях.
Если программ и устройств, использующих SMB v1 в сети нет, то, конечно, старый протокол лучше отключить. При этом если выключение на SMB сервере Windows 8/2012 производится при помощи командлета Powershell, то для Windows 7/2008 понадобится правка реестра. Это можно сделать тоже при помощи Powershell:
Set–ItemProperty –Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 –Type DWORD –Value 0 –Force
Или любым другим удобным способом. При этом для применения изменений понадобится перезагрузка.
Для отключения поддержки SMB v1 на клиенте достаточно остановить отвечающую за его работу службу и поправить зависимости службы lanmanworkstation. Это можно сделать следующими командами:
sc.exe config lanmanworkstation depend=bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start=disabled
Для удобства отключения протокола по всей сети удобно использовать групповые политики, в частности Group Policy Preferences. С помощью них можно удобно работать с реестром.
Создание элемента реестра через групповые политики.
Чтобы отключить протокол на сервере, достаточно создать следующий параметр:
Создание параметра реестра для отключения SMB v1 на сервере через групповые политики.
Для отключения поддержки SMB v1 на клиентах понадобится изменить значение двух параметров.
Сначала отключим службу протокола SMB v1:
Обновляем один из параметров.
Потом поправим зависимость службы LanmanWorkstation, чтоб она не зависела от SMB v1:
И заменяем другой.
После применения групповой политики необходимо перезагрузить компьютеры организации. После перезагрузки SMB v1 перестанет использоваться.
Как ни странно, эта старая заповедь не всегда полезна – в редко обновляемой инфраструктуре могут завестись шифровальщики и трояны. Тем не менее, неаккуратное отключение и обновление служб могут парализовать работу организации не хуже вирусов.
Расскажите, а вы уже отключили у себя SMB первой версии? Много было жертв?
SMB Multichannel в Windows Server 2012 / Блог компании Microsoft / Хабр
SMB Multichannel – одна из возможностей протокола SMB 3.0, призванная повысить производительность и отказоустойчивость на уровне сетевого соединения при работе с файловыми серверами. Для использования этой возможности SMB-клиент и SMB-сервер должны поддерживать SMB 3.0, который, в свою очередь, реализован в Windows Server 2012 и Windows 8.
SMB Multichannel позволяет одновременно использовать несколько сетевых соединений с файловым сервером, тем самым обеспечивая:
- Увеличенную пропускную способность. Клиент и сервер SMB могут передавать больший объем данных, одновременно задействуя несколько сетевых соединений, установленных с помощью одного высокоскоростного сетевого адаптера, например 10GbE, или нескольких сетевых адаптеров. В случае нескольких сетевых адаптеров SMB Multichannel фактически агрегирует их полосы пропускания
- Отказоустойчивость. Выполняемые сетевые операции, например копирование файла, не прерываются в случае потери одного или нескольких соединений до тех пор, пока хотя бы одно соединение продолжает существовать. Потеря соединения может происходить как из-за проблем в сетевой среде (обрыв кабеля, поломка коммутатора и пр.), так и из-за проблем с сетевым адаптером. Таким образом, при использовании нескольких сетевых адаптеров SMB Multichannel обеспечивает отказоустойчивость на уровне физической сетевой карты. Но еще раз отмечу, только для операций по протоколу SMB
Для работы SMB Multichannel необходимо выполнение двух требований:
- SMB 3.0 на клиенте и на сервере. На текущий момент эта версия протокола реализована в Windows Server 2012 и Windows 8
- Одна из поддерживаемых конфигураций, рассматриваемых ниже
Для работы SMB Multichannel клиент и сервер должны поддерживать как минимум одну из перечисленных ниже конфигураций:
- Несколько сетевых адаптеров с одинаковой скоростью
- Один и более сетевых адаптеров с поддержкой RSS (Receive Side Scaling)
- Два и более сетевых адаптеров, объединенных в группу с помощью NIC Teaming
- Один и более сетевых адаптеров с поддержкой RDMA (Remote Direct Memory Access)
Как следствие, SMB Multichannel не будет работать, если на компьютере один сетевой адаптер, не поддерживающий RSS, либо если адаптеров несколько, но они работают с разной скоростью. В последнем случае трафик будет передаваться по наиболее быстрому адаптеру.
Некоторые пояснения касательно отдельных конфигураций.
Сетевой адаптер с поддержкой RSS
В отсутствие SMB Multichannel при обращении SMB-клиента к SMB-серверу открывается SMB-сессия, в рамках которой устанавливается одно TCP/IP-соединение. Обработка трафика по этому соединению осуществляется одним из доступных процессорных ядер. Если сетевой адаптер не поддерживает RSS, то в принципе весь сетевой трафик обрабатывается одним ядром, как правило, CPU0. Если сетевой адаптер поддерживает RSS, то обработка сетевого трафика распределяется по доступным процессорным ядрам. Однако без SMB Multichannel в рамках одной сессии устанавливается только одно соединение, и RSS ничем не может помочь этой конкретной сессии.
В случае же SMB Multichannel, если сетевой адаптер поддерживает RSS, то протокол SMB в рамках одной сессии устанавливает несколько соединений (по умолчанию 4 на RSS-интерфейс), а RSS, в свою очередь, распределяет обработку трафика через эти соединения по доступным ядрам.
Соответственно, даже при использовании одного RSS-адаптера SMB Multichannel позволяет ускорить сетевые операции и более эффективно задействовать имеющуюся полосу пропускания. И прежде всего это актуально для адаптеров 10GbE.
Что нам не может обеспечить SMB Multichannel в конфигурации с одним физическим адаптером, так это отказоустойчивость, поскольку понятно, что если единственный адаптер выходит из строя, то мы теряем все соединения.
В Windows Server 2012 и Windows 8 проще всего определить, какие адаптеры и с какими текущими параметрами поддерживают RSS, можно с помощью командлета PowerShell
Get-NetAdapterRss
Два и более адаптеров, объединенных с помощью NIC Teaming
Использование NIC Teaming не является требованием для SMB Multichannel. Если в системе, например, два гигабитных адаптера, то SMB Multichannel может использовать их безо всякого тиминга. Однако объединение адаптеров в тиминговую группу даст дополнительное преимущество с точки зрения отказоустойчивости. Без тиминга SMB Multichannel обеспечит отказоустойчивость только SMB-трафика, вместе с NIC Teaming вы получите отказоустойчивость любого сетевого трафика. При этом и с тимингом, и без оного SMB Multichannel агрегирует доступные полосы пропускания имеющихся адаптеров.
Один и более сетевых адаптеров с поддержкой RDMA (Remote Direct Memory Access)
Технология RDMA обеспечивает низкие задержки при передачи данных по сети и снижение нагрузки на процессор. SMB Multichannel устанавливает для каждой SMB-сессии два соединения на каждый RDMA-интерфейс. Если RDMA-адаптеров несколько, дополнительно обеспечивается и отказоустойчивость. Надо отметить, что если вы объединяете RDMA-интерфейсы в группу средствами NIC Teaming в Windows Server 2012, то ОС рассматривает эти интерфейсы как non-RDMA. То есть в тиминге возможности RDMA вам не доступны. По аналогии с RSS получить информацию об адаптерах с поддержкой RDMA и их конфигурации можно с помощью командлета
Get-NetAdapterRdma
Несколько сетевых адаптеров с одинаковой скоростью
Это самый простой вариант конфигурации, при котором SMB Multichannel просто работает. Если адаптеры не поддерживают RSS, то устанавливается по одному соединению на интерфейс.
И теперь самое время обсудить настройку SMB Multichannel.
Прелесть технологии в том, что она настраивается автоматически. Если ОС обнаруживает одну из поддерживаемых конфигураций (см. выше), то автоматически применяется SMB Multichannel. Тем не менее, вы можете убедиться в том, что технология включена с помощью
Get-SmbClientConfiguration
или
Get-SmbServerConfiguration
Дополнительно,
Get-SmbClientNetworkInterface
покажет вам, задействованы ли RSS и RDMA для доступных интерфейсов.
Я уже упомянул количество устанавливаемых соединений для различных типов сетевых интерфейсов (4 на RSS-адаптер, 2 на RDMA-адаптер, 1 на обычный NIC). По умолчанию SMB Multichannel использует максимум 8 соединений для каждой пары клиент/сервер. И это число может ограничивать количество соединение на один сетевой интерфейс. Например, если у вас три RSS-адаптера, то будет установлено три соединения через первый, три через второй и два через третий.
Рекомендуется использовать настройки SMB Multichannel по умолчанию. Тем не менее, эти настройки могут быть изменены. Например, максимально количество соединений на пару клиент/сервер устанавливается следующим образом:
Ну и наконец если по каким-то причинам необходимо отключить SMB Multichannel, например для тестирования или диагностики, это можно сделать следующими двумя командами на сервере и клиенте соответственно:
Set-SmbServerConfiguration -EnableMultiChannel $false
Set-SmbClientConfiguration -EnableMultiChannel $false
Эти же команды со значением $true снова включат технологию.
Если в вашей системе одна из поддерживаемых конфигураций, то при открытии общей папки на сервере SMB Multichannel установит несколько соединений. Убедиться в этом можно с помощью
Get-SmbMultichannelConnection
В моей среде с двумя гигабитными карточками это выглядит так:
Далее, запустив копирование файла с сетевого ресурса, в Performance Monitor можно наблюдать, что копирование осуществляется с помощью обоих сетевых адаптеров.
Выключив один из адаптеров, вы увидите, что операция копирования не прервется, а вся нагрузка будет перекинута на оставшийся адаптер.
Посмотреть работу SMB Multichannel в динамике, а также сравнить, как ведет себя ОС при отключенной технологии, вы можете в моем веб-касте (проскроллируйте до демонстрации SMB Multichannel).
Таким образом, благодаря SMB Multichannel можно повысить эффективность и надежность сетевых операций. В сочетании же с другими технологиями Windows Server 2012, такими как SMB Scale Out, SMB Transparent Failover и ряд других (о них речь пойдет в других постах), вы можете штатными средствами ОС обеспечить высокий уровень доступности запущенных сервисов на разных уровнях: дисковая подсистема, узел кластера, сетевой интерфейс.
Включение/отключение протоколов SMB в Windows
Windows 8, 10 и Windows Server 2012, 2016
В Windows 8, 10 и Windows Server 2012, 2016 представлен командлет Windows PowerShell Set-SMBServerConfiguration. Он позволяет включать или отключать протоколы SMB версии 1, 2, 3.
При включении или отключении протокола SMB версии 2 в Windows или Windows Server также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
После выполнения командлета Set-SMBServerConfiguration не требуется перезагрузка компьютера.
Узнать состояние
- Чтобы получить текущее состояние конфигурации протокола SMB-сервера, выполните следующий командлет:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
| Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol |
Отключить
- Чтобы отключить протокол версии 1 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
| Set-SmbServerConfiguration -EnableSMB1Protocol $false |
- Чтобы отключить протоколы версии 2 и 3 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
| Set-SmbServerConfiguration -EnableSMB2Protocol $false |
Включить
- Чтобы включить протокол версии 1 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
| Set-SmbServerConfiguration -EnableSMB1Protocol $true |
- Чтобы включить протоколы версии 2 и 3 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
| Set-SmbServerConfiguration -EnableSMB2Protocol $true |
Windows 7 и Windows Server 2008 R2
Windows PowerShell 2.0
Чтобы включить или отключить протоколы SMB на сервере с Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008, воспользуйтесь Windows PowerShell или редактором реестра.
Отключить
- Чтобы отключить протокол версии 1 на сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB1 -Type DWORD -Value 0 -Force
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer» -Name DependOnService -Value «SamSS,Srv2»
| Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB1 -Type DWORD -Value 0 -Force Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer» -Name DependOnService -Value «SamSS,Srv2» |
- Чтобы отключить протоколы версии 2 и 3 на сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 0 -Force
| Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 0 -Force |
Включить
- Чтобы включить протокол версии 1 на сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB1 -Type DWORD -Value 1 -Force
| Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB1 -Type DWORD -Value 1 -Force |
- Чтобы включить протоколы версии 2 и 3 на сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 1 -Force
| Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 1 -Force |
После внесения этих изменений компьютер необходимо перезагрузить.
Редактор реестра
Сервер
- Чтобы включить или отключить протокол версии 1 на сервере, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters |
Запись реестра: SMB1
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer |
Запись реестра: DependOnService
REG_MULTI_SZ: SamSS,Srv2
По умолчанию: SamSS,Srv
- Чтобы включить или отключить протокол версии 2 на сервере, настройте следующий раздел реестра:
Подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters |
Запись реестра: SMB2
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено
Клиент
- Как включить и отключить протоколы SMB на клиенте Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8 и Windows Server 2012
При включении или отключении протокола SMB версии 2 в Windows 8 или Windows Server 2012 также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
Эти команды следует вводить в командной строке с повышенными привилегиями.
После внесения этих изменений компьютер необходимо перезагрузить.
Отключить
- Чтобы Отключить протокол версии 1 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
| sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi sc.exe config mrxsmb10 start= disabled |
- Чтобы Отключить протокол версии 2 и 3 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
| sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled |
Включить
- Чтобы Включить протокол версии 1 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto
| sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto |
- Чтобы Включить протокол версии 2 и 3 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto
| sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb20 start= auto |
Help Microsoft https://support.microsoft.com/ru-ru/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and
В Чем Отличие FTP, Samba или DLNA на WiFi Роутере — Какой Файловый Сервер Лучше?
Недавно один из подписчиков задал вопрос, касающийся файлового накопителя, подключенного к USB порту wifi роутера. В чем отличия FTP сервера от Samba и DLNA и какой из них лучше? Постараюсь без сложных терминов показать разницу между этими файловыми хранилищами.
Что такое FTP, Samba, DLNA?
- FTP (от англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по сетям.
- Samba, или SMB (от англ. Server Message Block) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия.
- DLNA — (от англ. Digital Living Network Alliance) — универсальный протокол для обмена медиаданными между устройствами различных производителей.
В чем отличие FTP, Samba (smb) и DLNA серверов?
Если подключить к USB разъему маршрутизатора флешку или внешний жесткий диск, то у нас появится возможность запустить на нем один из вышеперечисленных или одновременно несколько типов файловых серверов. В чем разница?
DLNA
Больше всего отличаются Samba и FTP серверы от DLNA. Последний предназначен только для трансляции видео, музыки или фото с одного устройства на другое. Например, вы сохранили какой-то ролик на компьютер или смартфон и хотите вывести его на большой экран телевизора. Для этого необходимо установить программу для создания медиасервера и начать трансляцию по сети. А на ТВ открыть медиаплеер с поддержкой DLNA и воспроизвести.
То же самое и на роутере. После запуска DLNA сервера медиа контент с вашего внешнего накопителя появится в проигрывателе на другом устройстве, подключенном к wifi. После чего его можно воспроизвести.
Кроссплатформенность
Простота настройки и подключения
Поддерживаются только медиафайлы
Возможны тормоза при воспроизведении
Работает не со всеми расширениями
Я использую DLNAНе использую
Samba
Samba сервер — это по сути обычная >>расширенная папка с открытой к ней внешним доступом. И неважно, гелиографа находится — на жёстком диске компьютера или на флешке, вставленной в USB роутера. Вы одинаково можете зайти в неё по локальной как в обычную директорию своего устройства и увидеть размещённые в ней документы всех типов с любым расширением. Можно его открыть, удалить или переместить.
Если посмотреть на то, как отображаются DLNA и Samba файловые серверы в Windows, то вот вам скрин экрана. Первый находятся в одном разделе с медиа устройствами. Второй — отображается в качестве подключённого жестоко диска.
Простота настройки
Быстрая скорость
Кроссплатформенность
Я использую Samba1Не использую
FTP
FTP сервер — тоже хранилище файлов, которое можно активировать на маршрутизаторе. Однако, для подключения к нему с компьютера или ноутбука требуется специальная программа — FTP клиент. Через обычную оболочку операционной системы Windows, Android или iOS подключиться к диску не получится. Работа с ФТП схожа с известным Total Commander — будет два окна, между которыми можно обмениваться файлами.
По большому счету, Samba и FTP для конечного пользователя почти не отличается. Кроме того, что файловый сервер SMB проще в настройке, так камне требует дополнительного софта, и немного быстрее в передаче данных.
Кроссплатформенность
Для подключения необходим дополнительный софт
Ниже скорость обмена данными
Ошибки в передаче файлов
Я использую FTPНе использую
Что лучше на роутере — DLNA, Samba или FTP?
Теперь, я думаю, стало понятно, в чем отличие этих вариантов создания через роутер файлового сервера внутри локальной сети. Какой же лучше для работы — FTP, Samba или DLNA?
- Если вы собираетесь использовать внешний диск только для загрузки на него видео или фото для последующего просмотра на другом устройстве, то можно остановиться на DLNA.
- Однако способ не подойдёт, если речь идёт про обмен другими документами, например текстовыми. В этом случае можно запустить FTP сервер. Он легко определяется в сетевом окружении на той же приставке Android Smart TV. Но для работы по ФТП в ряде случаев (например для Windows) нужна установка дополнительных программ.
- В итоге универсальным средством является Самба сервер, или общая папка в локальной сети. На SMB могут храниться любые типы файлов, а доступ к ним будет доступен из любого приложения со всех устройств, подключённых к WiFi сигналу роутера.
Спасибо!Не помогло
Лучшие предложения
Александр
Специалист по беспроводным сетям, компьютерной технике и системам видеонаблюдения. Выпускник образовательного центра при МГТУ им. Баумана в Москве. Автор видеокурса «Все секреты Wi-Fi»
Задать вопрос
Почему и как необходимо отключить SMB1 в Windows 10/8/7
SMB или Server Message Block это протокол обмена по сети, предназначенный для совместного использования файлов, принтеров и других различных устройств. Существует три версии SMB – SMBv1, SMBv2 и SMBv3. Из соображений безопасности Microsoft рекомендует отключить SMB версии 1, так как он устарел и использует технологию, которой почти 30 лет. Чтобы избежать заражения вирусами-вымогателями типа WannaCrypt нужно отключить SMB1 и установить обновления для операционной системы. Этот протокол используется Windows 2000, Windows XP, Windows Server 2003 и Windows Server 2003 R2 – поэтому сетевой файловый доступ к данным версиям ОС будет не доступен. Тоже самое относится к некоторым сетевым хранилищам, сканерам и т.п.
Отключение SMB1 из Панели управления
Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows
Отключаем ‘Поддержка общего доступа к файлам SMB 1.0/CIFS’
Отключение SMB1 через Powershell
Откройте консоль Powershell с правами администратора и введите следующую команду:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force
Отключить SMB1 с помощью реестра Windows
Также можно отключить SMBv1 запустив regedit.exe и перейдя к следующему разделу:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Создайте в этом разделе DWORD SMB1 со значением 0.
Значения для включения и отключения SMB1:
- 0 = Выключено
- 1 = Включено
После этого необходимо установить обновление MS17-010. Обновление вышло подо все версии Windows, включая не поддерживаемые больше Windows XP и Windows Server 2003.
И в заключении хочется сказать, что, не смотря на установленный антивирус и регулярные обновления операционной системы, если Вам дороги ваши данные, необходимо в первую очередь думать о резервном копировании.
Что такое SMB?
[Индекс] [Отзыв]
Версия 1.2
Ричард Шарп
8 октября 2002 г.
Авторские права © 1996,1997,1998,1999,2001,2002 Ричард Шарп
Копирование
См. Раздел «Копирование этого документа» для
подробности моей политики использования этого документа.
Заявление об ограничении ответственности
Этот документ пытается предоставить услуги вовлеченным людям.
с протоколом SMB (скоро будет CIFS) каким-то образом.Каждая попытка
было сделано, чтобы убедиться, что информация верна, но нет
подразумеваются гарантии. Ричард Шарп не несет ответственности
за любые убытки или последствия, возникшие в результате использования вами или неправильного использования этого
Информация.
Если у вас есть комментарии, пришлите мне письмо по адресу
[email protected].
Благодарности
Я хотел бы поблагодарить Эндрю Триджелла
за то, что заставил меня начать в этой области, предложив
хотел бы начать на smblib, Дэн Ширер
за поддержку и информацию, Пол Блэкман за помощь в этом
страница и ряд других
люди, которые не дали мне разрешения назвать их.
Я также хотел бы поблагодарить многих людей, которые прислали мне положительные комментарии
и конструктивная обратная связь.
Товарные знаки
Microsoft, MS, Windows, Windows 95 и Windows NT
являются зарегистрированными товарными знаками или товарными знаками Microsoft Corporation.
Корпорация Microsoft никоим образом не поддерживает этот документ и не
автор каким-либо образом связан с корпорацией Microsoft.
Все остальные товарные знаки являются исключительной собственностью соответствующих
владельцы.
Содержание
Введение
В этом документе объясняется, что такое протокол SMB, и обсуждается
множество доступных клиентских и серверных реализаций SMB.
Этот документ вырос из моего интереса к реализации SMBlib,
переносимая библиотека клиентских процедур SMB.
SMB — важный протокол из-за большого количества ПК
там, где уже есть реализации клиента и сервера
бегает по ним.Все Windows для рабочих групп, Windows 95 и Windows
Системы NT запускают (или могут) запускать SMB в качестве клиента,
сервер или оба.
Что нового
Хотя есть много нового, возможно,
вещь, представляющая наибольший интерес с точки зрения протокола SMB
это CIFS, общая файловая система Интернета.
Что такое SMB?
SMB, что означает блок сообщений сервера, является протоколом для
совместное использование файлов, принтеров, последовательных портов и коммуникационных абстракций
такие как именованные каналы и почтовые слоты между компьютерами.
Самый ранний из имеющихся у меня документов по протоколу SMB — это документ IBM 1985 года.
Это копия протокола IBM Personal Computer Seminar Proceedings от мая 1985 года.
протокол IBM PC Network SMB . Следующий документ, к которому у меня есть доступ, — это документ Microsoft / Intel под названием Microsoft.
Сети / OpenNET-FILE SHARING PROTOCOL с 1987 года.
разработан Microsoft и другими. Многие документы
которые определяют протокол (ы) SMB, доступны на ftp.microsoft.com
в области документации SMB.
SMB — это клиент-сервер, протокол запрос-ответ. Диаграмма
Слева показано, как работает SMB. Единственное исключение
к природе SMB запрос-ответ (то есть, где клиент
делает запросы, а сервер отправляет ответы), когда
клиент запросил оппортунистические блокировки (oplocks), и сервер
впоследствии должен нарушить уже предоставленную оппозиционную блокировку, потому что другой
клиент запросил открытие файла в несовместимом режиме
с предоставленной oplock.В этом случае сервер отправляет незапрошенное
сообщение клиенту, сигнализирующее о разрыве oplock.
Серверы создают файловые системы и другие ресурсы (принтеры, почтовые ящики,
именованные каналы, API), доступные для клиентов в сети. Клиент
компьютеры могут иметь собственные жесткие диски, но им также нужен доступ
к совместно используемым файловым системам и принтерам на серверах.
Клиенты подключаются к серверам с использованием TCP / IP (фактически NetBIOS через
TCP / IP, как указано в RFC1001 и RFC1002), NetBEUI или IPX / SPX.После того, как они установили соединение, клиенты могут отправлять
команды (SMB) на сервер, которые позволяют им получить доступ к общим ресурсам,
открывать файлы, читать и записывать файлы и вообще делать всю сортировку
вещей, которые вы хотите сделать с файловой системой. Однако в
В случае с SMB это делается по сети.
Как уже упоминалось, SMB может работать по нескольким протоколам. Последующий
диаграмма показывает это:
SMB можно использовать через TCP / IP, NetBEUI и IPX / SPX.Если TCP / IP или
NetBEUI уже используется, NetBIOS API используется.
SMB также отправлялся по протоколу DECnet. Digital (теперь Compaq) сделала это для своих ПУТИ
товар.
NetBIOS через TCP / IP, кажется, имеет много имен. Microsoft
в одних местах называет его NBT, а в других — NetBT (в частности,
в документации к Windows NT и в реестре Windows NT).
Другие называют его RFCNB. NetBEUI иногда называют
NBF (формат кадра NetBIOS?) От Microsoft.
Имена NetBIOS
Если SMB используется через TCP / IP, DECnet или NetBEUI, то имена NetBIOS
необходимо использовать в ряде случаев. Имена NetBIOS до 15
символы длинные, и обычно это имя компьютера, который
работает NetBIOS. Microsoft и некоторые другие разработчики настаивают
имена NetBIOS должны быть в верхнем регистре, особенно когда они представлены
к серверам как НАЗЫВАЕМОЕ ИМЯ.
Когда имена NetBIOS отправляются по сети, они дополняются до 15 символов.
с пробелами и добавлен 16-й символ, указывающий тип NetBIOS
имя.Microsoft называет их суффиксами NetBIOS. Полный список можно найти в
статья базы знаний Майкрософт Q163409.
Существует два класса имен NetBIOS: уникальные имена и глобальные имена. Однако,
Microsoft также определяет несколько других классов: Internet Group, Domain и Multihomed.
Варианты протокола SMB
С момента создания SMB многие варианты протокола были
разработан, чтобы справляться с возрастающей сложностью сред
что он был использован.
Фактический вариант протокола, который будут использовать клиент и сервер, согласовывается
используя negprot SMB, который должен быть первым отправленным SMB
на связи.
Первым вариантом протокола был Core Protocol, известный SMB.
реализации как PC NETWORK PROGRAM 1.0. Он мог справиться с довольно
базовый набор операций, который включал:
- подключение к общим файлам и принтерам и отключение от них
- открытие и закрытие файлов
- открытие и закрытие файлов печати
- чтение и запись файлов
- создание и удаление файлов и каталогов
- поиск в каталогах
- получение и установка атрибутов файла
- блокировка и разблокировка диапазонов байтов в файлах
Последующие варианты были представлены по мере увеличения функциональности.
необходимо.Некоторые из этих вариантов и соответствующая версия LAN
Управляющие:
Вариант протокола SMB | Имя протокола | Комментарии |
---|---|---|
СЕТЕВАЯ ПРОГРАММА ДЛЯ ПК 1.0 | Core Protocol | Исходная версия SMB, как определено в программе IBM PC Network. Некоторые версии назывались PCLAN1.0 |
СЕТИ MICROSOFT 1.03 | Протокол Core Plus | Включены SMB блокировки и чтения, записи и разблокировки с различными версиями необработанного чтения и необработанной записи SMB |
СЕТИ MICROSOFT 3.0 | DOS LAN Manager 1.0 | То же, что и LANMAN1.0, но ошибки OS / 2 должны быть преобразованы в ошибки DOS. |
LANMAN1.0 | LAN Manager 1.0 | Полный протокол LANMAN1.0. |
DOS LM1.2X002 | LAN Manager 2.0 | То же, что LM1.2X002, но ошибки должны быть преобразованы в ошибки DOS. |
LM1.2X002 | LAN Manager 2.0 | Полный LANMAN2.0 протокол. |
DOS LANMAN2.1 | LAN Manager 2.1 | То же, что и LANMAN2.1, но ошибки должны быть преобразованы в ошибки DOS. |
LANMAN2.1 | LAN Manager 2.1 | Полный протокол LANMAN2.1. |
Windows для рабочих групп 3.1a | LAN Manager 2.1? | Windows для рабочих групп 1.0? |
NT LM 0,12 | NT LAN Manager 1.0? | Содержит специальные SMB для NT |
Samba | NT LAN Manager 1.0? | Версия NT LM 0.12 для Samba? |
CIFS 1.0 | NT LAN Manager 1.0 | Неужто NT LM 0.12 плюс немного? |
Некоторые варианты представили новые SMB, некоторые просто изменили формат
существующих SMB или ответов, а некоторые варианты сделали и то, и другое.
Безопасность
Модель SMB определяет два уровня безопасности:
- Уровень акций .Защита применяется на уровне акций
на сервере. У каждого ресурса может быть пароль, и только у клиента
требуется этот пароль для доступа ко всем файлам в этом общем ресурсе. Эта
была первой моделью безопасности, которая была у SMB, и является единственной защитой
Модель доступна в протоколах Core и CorePlus. Windows для
Vserver.exe рабочих групп по умолчанию реализует безопасность на уровне общих ресурсов,
как и Windows 95. - Уровень пользователя . Защита применяется к отдельным файлам.
в каждом общем ресурсе и зависит от прав доступа пользователя.Каждый пользователь (клиент)
должен войти на сервер и пройти аутентификацию на сервере.
Когда он аутентифицируется, клиенту дается UID, который он должен
присутствует при всех последующих доступах к серверу. Эта модель имеет
доступен начиная с LAN Manager 1.0.
Просмотр сети
Наличие большого количества серверов в сети не очень хорошо, если
пользователи не могут их найти. Конечно, клиентов можно просто настроить
знать о серверах в их среде, но это
не помогает, когда нужно ввести новые серверы или удалить старые.
Чтобы решить эту проблему, был введен просмотр. Каждый сервер
транслирует информацию о своем присутствии. Клиенты слушают
эти трансляции и создание списков просмотра. В среде NetBEUI
это удовлетворительно, но в среде TCP / IP возникают проблемы.
Проблемы существуют, потому что широковещательные рассылки TCP / IP обычно не отправляются
вне подсети, в которой они происходят (хотя некоторые маршрутизаторы
может выборочно передавать широковещательные сообщения в другие подсети).
Microsoft представила серверы просмотра и Интернет в Windows
Служба имен (WINS) для решения этих проблем.
CIFS: последнее воплощение?
Microsoft и группа других поставщиков (цифровое оборудование, данные
General, SCO, Network Appliance Corp и др.) Занимаются разработкой
публичная версия протокола SMB. Ожидается, что CIFS
1.0 будет по сути NT LM 0.12 с некоторыми модификациями для
проще использовать через Интернет.
Пример обмена SMB
Элементы протокола (запросы и ответы), которые клиенты
серверы обмена называются SMB. У них есть особый формат
это очень похоже как для запросов, так и для ответов. Каждый состоит
части заголовка фиксированного размера, за которой следует параметр переменного размера
и часть данных.
После подключения на уровне NetBIOS через NBF, NetBT,
и т.д., клиент готов запрашивать сервисы с сервера.Однако клиент и сервер должны сначала определить, какой протокол
вариант каждый из них понимает.
Клиент отправляет на сервер сообщение negprot SMB, в котором перечислены
диалекты протокола, которые он понимает. Сервер отвечает
индекс диалекта, который он хочет использовать, или 0xFFFF, если нет
диалектов было приемлемо.
Диалекты более свежие, чем предоставляют протоколы Core и CorePlus
информация в негативном ответе с указанием своих возможностей
(максимальный размер буфера, канонические имена файлов и т. д.).
Как только протокол был установлен. Клиент может перейти к
при необходимости войдите на сервер. Они делают это с sessionssetupX
SMB. В ответе указано, поставили ли они
действительная пара имени пользователя и пароля, и если да, может предоставить дополнительные
Информация. Один из самых важных аспектов ответа
это UID вошедшего в систему пользователя. Этот UID должен быть отправлен с
все последующие SMB на этом подключении к серверу.
Как только клиент вошел в систему (и в старых протоколах — Core и
CorePlus-вы не можете войти в систему), клиент может перейти к подключению
к дереву.
Клиент отправляет tcon или tconX SMB с указанием
сетевое имя общего ресурса, к которому они хотят подключиться, и
если все кошерно, сервер отвечает TID, который клиент
будет использоваться во всех будущих малых и средних предприятиях, относящихся к этой общей папке.
Подключившись к дереву, клиент теперь может открыть файл с
открытый SMB с последующим чтением с помощью read SMB, запись его
с записью SMB и закрытием закрытыми SMB.
SMB-клиенты и серверы
В наличии
Сегодня доступно несколько клиентов SMB и относительно большой
количество серверов, доступных от ряда поставщиков.
Основные клиенты — от Microsoft и включены в Windows.
для рабочих групп 3.x, Windows 95 и Windows NT. Они самые
очевидно, когда вы используете диспетчер файлов или проводник Windows 95,
поскольку они позволяют вам подключаться к серверам в сети.Однако
они также используются, когда вы открываете файлы с помощью UNC (универсальный
соглашение об именовании).
Некоторые другие клиенты, о которых я знаю:
- smbclient из Samba
- smbfs для Linux
- SMBlib (клиентская библиотека SMB, которая находится в разработке)
Реализации сервера доступны из многих источников. Некоторые из них
Мне известно о следующем:
- Самба
- Microsoft Windows для рабочих групп 3.Икс
- Microsoft Windows 95
- Microsoft Windows NT
- Семейство серверов PATHWORKS от Digital
- LAN Manager для OS / 2, SCO и т. Д.
- VisionFS от SCO
- TotalNET Advanced Server из синтаксиса
- Advanced Server для UNIX от AT&T (NCR?)
- LAN-сервер для OS / 2 от IBM
В следующих двух разделах мы обсудим каждое из вышеперечисленных по очереди.
Серверы SMB
Прежде чем обсуждать SMB-серверы, полезно обсудить разницу
между рабочими группами и доменами.
Рабочие группы
Рабочая группа — это набор компьютеров, каждый из которых обслуживает
их собственная информация безопасности. В Windows для рабочих групп каждый
сервер в значительной степени находится на уровне безопасности общего ресурса. Windows 95 может
передать аутентификацию пользователя серверу NT или LAN Manager.
Однако суть рабочей группы в том, что безопасность распределена,
не централизованный.
Домены
Домен — это набор компьютеров, на которых обеспечивается безопасность.
централизованно.В каждом домене есть один или несколько контроллеров домена. Там
обычно это основной контроллер домена и несколько резервных доменов
контроллеры. Контроллеры домена поддерживают информацию о стиле учетной записи
связанных с пользователями (клиентами), такими как имена учетных записей, зашифрованные пароли,
разрешенные часы использования, группы, к которым принадлежит пользователь и т. д.
Самба
Samba — это свободно доступный SMB-сервер для UNIX, OpenVMS (недавно
портирован и, возможно, не очень стабилен) разработан Andrew Tridgell
и поддерживается группой людей по всему миру.
Мир.Samba работает на очень многих вариантах UNIX (Linux, Solaris,
SunOS, HP-UX, ULTRIX, DEC OSF / 1, Digital UNIX, Dynix (Sequent),
IRIX (SGI), SCO Open Server, DG-UX, UNIXWARE, AIX, BSDI, NetBSD,
NEXTSTEP, A / UX и т. Д.).
Samba реализует диалект протокола NT LM 0.12. Samba теперь может
участвовать в домене (как PDC, так и член домена), и он может участвовать в просмотре и
может быть мастером просмотра. Samba также может обрабатывать запросы на вход в Windows
95 систем
Samba реализует безопасность на уровне пользователя, но общие ресурсы могут быть общедоступными
где доступ привязан к владельцу и т. д. общего ресурса.
Серверы Microsoft Windows
У Microsoft есть несколько реализаций SMB-серверов для
Диапазон операционных систем Windows. Это не отдельные продукты,
скорее, они являются неотъемлемой частью соответствующей версии Windows
операционная система. Однако их можно выключить
Панель управления или из командной строки ( net stop server
в командной строке DOS).
Это ясно из того факта, что Windows 95 и Windows NT SMB
серверы по-разному реагируют на определенные последовательности SMB, которые Microsoft
не используйте один и тот же код для каждого из этих серверов (хотя
Windows для рабочих групп и реализации Windows 95 могут быть производными
из того же кода).
Windows для рабочих групп 3.11 реализует Windows для рабочих групп.
3.0a вариант протокола и реализует безопасность на уровне общих ресурсов.
Windows 95 реализует уровень протокола NT LM 0.12 и реализует
безопасность как на уровне общего доступа, так и на уровне пользователя.
Windows NT реализует уровень протокола NT LM 0.12 и реализует
безопасность как на уровне общего доступа, так и на уровне пользователя.
LAN Manager и LAN Manager для UNIX (LM / X)
Microsoft и AT&T GIS портировали различные версии LAN Manager
в операционную систему UNIX.Этот код лег в основу многих
Серверы SMB доступны для операционных систем UNIX от многих поставщиков.
Вот некоторые примеры: LM / X для SCO, LM Server для HP-UX (Advanced Server / 9000),
и т.п.
Самой последней версией этого программного обеспечения является LAN Manager.
для UNIX версии 2.2, которая реализует протокол LANMAN2.1
вариант.
ВидениеFS
VisionFS — это написанный с нуля SMB-сервер от SCO.Это
доступен для Solaris 2.x, HP-UX и SCO (оба SCO OpenServer
и UNIXware).
Сервер TotalNET Advanced
Этот продукт принадлежит компании Syntax. Это полностью независимо написанный SMB-сервер,
возможно, это был первый SMB-сервер для UNIX. В эти дни это приходит
с дополнительными модулями
обеспечение AppleShare и NetWare, обслуживающих все в одном продукте.
Advanced Server для UNIX
После LM / X NCR (который раньше был ATT GIS) (возможно, с помощью Microsoft)
перенесен код сервера SMB Windows NT в UNIX, чтобы обеспечить тот же уровень
функциональности как Windows NT.
ПУТЬ
PATHWORKS — это название семейства продуктов Digital Equipment.
корпорация. В него входили как серверы, так и клиенты, причем серверы
работает на:
- VAX и Alpha VMS
- VAX и MIPS ULTRIX
- DEC OSF / 1 для AXP и Digital UNIX (DEC OSF / 1 переименован)
- OS / 2
Клиенты работали в DOS, Windows, Windows для рабочих групп, Windows
NT и Windows 95 и объясняются ниже.
Клиенты и сервер Digital реализуют SMB через DECnet, а также TCP / IP
и совсем недавно NetBEUI. Спецификация SMB через DECnet никогда не была
вышел.
Оригинальные серверы PATHWORKS от Digital были для VAX / VMS и реализованы
протокол CorePlus (диалект MICROSOFT NETWORKS 1.03). Эта
продукт прошел несколько версий и завершился версией
4.2. Через некоторое время была создана версия для ULTRIX, получившая название PATHWORKS.
для ULTRIX V1, старшая версия которого была 1.3. Оба эти
потоки продуктов были разработаны внутри компании.
Впоследствии Digital использовала AT&T и Microsoft LAN Manager.
для кода UNIX (LM / X). Это было выпущено как PATHWORKS V5.0 для
OpenVMS (LAN Manager) и PATHWORKS V5.0 для Digital UNIX (LAN
Управляющий делами). Этот продукт реализует LAN Manager для UNIX V2.2 и
самый высокий диалект SMB, который он распознает, — LANMAN2.1 (и DOS
LANMAN2.1). Причина наличия LAN Manager в скобках на
конец каждого названия продукта означает, что продукты также поддерживают NetWare
функциональность.
PATHWORKS V5 может участвовать в домене на базе Windows NT,
хотя только как резервный контроллер домена или рядовой сервер.
Недавно Digital анонсировала PATHWORKS V6.0 для UNIX (Advanced
Server), который основан на ASU AT&T (Advanced Server for
UNIX) продукт.
LAN-сервер для OS / 2
Это продукт IBM, который, кажется, каким-то образом унаследован от
Код Microsoft LAN Manager.
Клиенты малого и среднего бизнеса
Есть несколько клиентов SMB:
- Клиенты Microsoft
- Windows NT
- Окна 95
- Windows для рабочих групп 3.11
- Клиенты PATHWORKS Digital
- smbclient Samba
- Linux smbfs
- SMBlib
Дополнительные ресурсы в Интернете
Ниже приведены некоторые другие веб-страницы, которые вы можете посетить,
относятся к протоколу SMB:
Копирование этого документа
У меня было несколько запросов на разрешение использовать этот документ в других
материал.В одном случае меня спросили, может ли кто-нибудь включить этот документ в качестве приложения к книге.
В другом случае меня спросили, можно ли передать документ клиентам и
потенциальные покупатели. В обоих случаях я считал просьбу разумной.
Я считаю, что этот документ написан для чтения.
Тем не менее, я прошу вас прислать мне электронное письмо с указанием вашего предполагаемого использования и запросом
мое разрешение.
Обратная связь
Этот документ будет время от времени обновляться.Если у вас есть комментарии,
пожалуйста, пришлите мне письмо на
[email protected]
Посетите меня на RichardSharpe.com
для получения дополнительной информации о том, чем я сейчас занимаюсь.
Авторские права © 1996, 1997, 1998, 1999, 2001, 2002 Ричард Шарп
Последнее обновление 8 октября 2002 г.
.
SMB | Блок сообщений сервера Вычисления »Сети — и многое другое … | Оцените: | ||||
SMB | Малый и средний бизнес Правительственный »Военный — и многое другое … | Оцените: | ||||
SMB | Super Mario Brothers Sports | Оцените: | ||||
SMB | Super Monkey Ball Разное »Funnies | Оцените: | ||||
SMB System Management Bus »Аппаратное обеспечение | Скорость i t: | |||||
SMB | Santa Monica Bay Государственный и местный | Оцените его: | SMB | Big 9000 И наука »Математика | Оцените: | |
SMB | Спортивный ботинок для медицины Медицинский» Физиология | Оцените it: | ||||
SMB | Буфер сообщений для подводной лодки Правительственный »Военный | Оцените его: | ||||
SMB | 90 005 | Оцените: | ||||
SMB | Отделение системного менеджмента Академические и научные науки »Океанология | Оцените: | ||||
SMB | Mask Bumping Академия и наука »Электроника | Оцените: | ||||
SMB | Sarado Manila Bay Региональный | |||||
SMB | Summer Means Beer Разное »Funnies | Оценить: | ||||
SMB | ||||||
SMB | Серро-Эль-Сомбреро, Чили Региональные »Коды аэропортов | Оцените: | ||||
SMB | Оцените: | |||||
SMB | Тот же Microsoft Bull Разное» Funnies | 4 9000 900045 | ||||
SMB | Super Mario Bros Разное »Без категории | Оцените это: | ||||
SMB Разное | Оценить: | |||||
SMB | Southern Mic Breakers Сообщество» Музыка | |||||
МСБ | 900 07 Малый и средний бизнес Разное »Несекретный | Оцените: | ||||
SMB | Общество математической биологии | Оцените это: | ||||
SMB | SmallMouth Bass Разное »Продукты питания и питание | Оцените это: | ||||
Оценить: |
.