Протокол блока сообщений сервера (протокол SMB)


Протокол блока сообщений сервера (протокол SMB) — это протокол связи клиент-сервер , используемый для совместного доступа к файлам, принтерам, последовательным портам и другим ресурсам в сети. Он также может нести протоколы транзакций для межпроцессного взаимодействия.

Протокол SMB, созданный IBM в 1980-х годах, с тех пор породил множество вариантов или реализаций, также известных как диалекты, для удовлетворения меняющихся с годами требований к сети.

Как работает протокол SMB?
Протокол SMB позволяет приложению или пользователю приложения получать доступ к файлам на удаленном сервере, а также к другим ресурсам, включая принтеры, почтовые ящики и именованные каналы. Таким образом, клиентское приложение может открывать, читать, перемещать, создавать и обновлять файлы на удаленном сервере. Он также может взаимодействовать с любой серверной программой, настроенной для получения клиентского запроса SMB.

Протокол SMB известен как протокол ответа-запроса, что означает, что он передает несколько сообщений между клиентом и сервером для установления соединения.

Ранний диалект протокола SMB, Common Internet File System ( CIFS ), получил известность как болтливый протокол, который снижал производительность глобальной сети ( WAN ) из-за совокупного бремени задержки и многочисленных подтверждений CIFS. Следующий диалект, SMB 2.0, повысил эффективность протокола, резко сократив количество сотен команд и подкоманд до 19.

SMB — протокол работает в слое 7, также известный как прикладной уровень, и может быть использован в течение TCP / IP на порт 445 для транспорта. Ранние диалекты протокола SMB использовали интерфейс прикладного программирования (API) NetBIOS поверх TCP / IP или устаревшие протоколы, такие как межсетевой обмен пакетами или NetBEUI . Сегодня связь с устройствами, которые не поддерживают SMB напрямую через TCP / IP, требует использования NetBIOS через транспортный протокол, такой как TCP / IP.

Запрос SMB, проиллюстрированный ответ
Операционные системы Microsoft Windows, начиная с Windows 95, включают поддержку клиентского и серверного протокола SMB. Samba , сервер с открытым исходным кодом, поддерживающий протокол SMB, был выпущен для систем Unix .

Клиент и сервер могут реализовывать разные варианты SMB, которые они согласовывают перед началом сеанса.

Диалекты протокола SMB
Варианты протокола SMB улучшили возможности, масштабируемость, безопасность и эффективность исходной реализации. Вот краткий обзор известных диалектов протокола SMB:

SMB 1.0 (1984): Создан IBM для обмена файлами в DOS . Введена гибкая блокировка ( OpLock ) как механизм кэширования на стороне клиента, предназначенный для уменьшения сетевого трафика. Позднее Microsoft включит протокол SMB в свой продукт LAN Manager.
CIFS (1996): разработанный Microsoft диалект SMB, который дебютировал в Windows 95. Добавлена поддержка файлов большего размера, прямой передачи по TCP / IP, а также символических и жестких ссылок.
SMB 2.0 (2006 г.): выпущен с Windows Vista и Windows Server 2008. Уменьшено количество разговоров для повышения производительности, улучшена масштабируемость и отказоустойчивость, а также добавлена поддержка ускорения WAN .
SMB 2.1 (2010 г.): впервые появился в Windows Server 2008 R2 и Windows 7. Модель аренды незафиксированной блокировки клиента заменила OpLock для улучшения кэширования и повышения производительности. Другие обновления включали поддержку больших максимальных единиц передачи ( MTU ) и повышенную энергоэффективность, что позволило клиентам с открытыми файлами с сервера SMB переходить в спящий режим.
SMB 3.0 (2012 г.): дебютировал в Windows 8 и Windows Server 2012. Добавлено несколько значительных обновлений для повышения доступности, производительности, резервного копирования, безопасности и управления. Заслуживающие внимания новые функции включают многоканальный SMB, SMB Direct, прозрачное аварийное переключение клиентского доступа, поддержку удаленного VSS, шифрование SMB и многое другое.
SMB 3.02 (2014 г.): введено в Windows 8.1 и Windows Server 2012 R2. Включены обновления производительности и возможность полностью отключить поддержку CIFS / SMB 1.0, включая удаление связанных двоичных файлов.
SMB 3.1.1 (2015): выпущен с Windows 10 и Windows Server 2016. Добавлена поддержка расширенного шифрования, целостности предварительной проверки подлинности для предотвращения атак типа «злоумышленник в середине» и ограничения диалекта кластера, среди других обновлений.
В 2017 году атаки программ- вымогателей WannaCry и Petya использовали уязвимость в SMB 1.0 для загрузки вредоносного ПО на уязвимых клиентов и его распространения по сетям. Впоследствии Microsoft выпустила исправление, но эксперты посоветовали пользователям и администраторам предпринять дополнительный шаг по отключению SMB 1.0 / CIFS во всех системах.

CIFS против SMB
Как указано в приведенном выше списке, CIFS — это ранний диалект протокола SMB, разработанный Microsoft. Хотя эти термины иногда используются как синонимы, CIFS относится только к одной реализации SMB. Большинство современных систем используют более свежие диалекты протокола SMB.

Samba против SMB
Выпущенная в 1992 году, Samba представляет собой реализацию протокола SMB с открытым исходным кодом для систем Unix и дистрибутивов Linux. Он поддерживает службы обмена файлами и печати, аутентификацию и авторизацию, разрешение имен и объявления служб между серверами Linux / Unix и клиентами Windows.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *