Протокол SMB (Message Blocks Protocol) используется в Windows-системах по умолчанию для общего доступа к папкам и файлам. SMB 1.0 был разработан для самых первых сетевых операционных систем Windows, таких как Microsoft LAN Manager и Windows for Workgroups, однако и в современных ОС Windows Server 2008, Windows 7 он продолжает использоваться в той или иной мере в своем изначальном формате.
SMB 2.0 впервые стал использоваться в ОС Windows Vista и Windows Server 2008. Его назначение – применение в сфере сетевых файловых серверов нового поколения. В целях обратной совместимости Windows Server 2008 и Windows Vista поддерживают как SMB 1.0 так и SMB 2.0..
В SMB 2.0 появились следующие изменения:
- Возможность отправки нескольких команд SMB в одном пакете, что снижает количество пакетов, передаваемых между клиентом и сервером
- Увеличены размеры буфера
- Повышенная масштабируемость, в том числе за счет увеличения числа одновременно открытых дескрипторов файлов на сервере и количества общих ресурсов, которые сервер может предоставлять.
- Поддержка символических ссылок
Тестирование, заключающееся в копировании больших файлов данных между Windows Vista и Windows Server 2008, а затем между Vista и Windows 2003, показало, что при использовании протокола SMB 2.0 копирование файлов выполняется почти в 2 раза быстрее, чем в старых операционных системах на SMB 1.0.
По идее, использование протокола SMB 2.0 одновременно на клиенте и на сервере дает нам существенное увеличение скорости передачи файлов по сети, однако это достижимо не во всех случаях. Причина в том, что версия SMB, которая будет использоваться для общего доступа к файлам, определяется в ходе инициации сессии SMB. Если и клиент и сервер поддерживают SMB 2.0, тогда эта версия и будет выбрана во время первоначального переговора. Если они оба не поддерживают его, в этом случае с целям обратной совместимости будет использоваться протокол SMB 1.0.
При использовании терминов «клиент» и «сервер», в случае общего доступа файлам и принтерам, мы понимаем, что слово клиент не обязательно пользовательская ОС (Vista,7), а слово сервер не обязательно серверная ОС (Windows Server 2008). В некоторых случаях ОС с Vista будет может подключаться к ПК с Windows 7, который в данном случае будет выступать в качестве сервера.
Что следует запомнить: если обмен происходит между новыми операционными системами Microsoft(Windows 7,Vista,2008,2008 R2), тогда по умолчанию будет использоваться протокол SMB 2.0. Если в качестве клиента или сервера будет использоваться ОС прошлого поколения (Windows XP,2003,2000), тогда всегда будет задействован SMB 1.0 В некоторых случаях для устранения неполадок в сетях или диагностики, может возникнуть необходимость отключить SMB 2.0. Итак, чтобы отключить поддержку SMB 2.0 на клиентской ОС, вы можете воспользоваться следующими командами:
sc config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc config mrxsmb20 start= disabled
Обратите внимание на дополнительный пробел после знака «=».
Чтобы включить SMB 2.0 на клиентской ОС Windows 7, Vista, Windows Server 2008, выполните следующие команды:
sc config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc config mrxsmb20 start= auto
Опять обратите внимание на дополнительный пробел после знака «=».
Для того чтобы отключить SMB 2.0 на стороне сервера, выполните следующие действия:
- Запустите редактор реестра «regedit» на Windows Server 2008/R2.
- Перейдите к следующему разделу реестра.
HKLMSystemCurrentControlSetServicesLanmanServerParameters
- Создайте новый параметр типа REG_DWORD с именем » Smb2″ (без кавычек)
Value name: Smb2
Value type: REG_DWORD
0 = отключено
1 = включено
- Чтобы отключить SMB 2.0, сделайте этот параметр равным 0, чтобы активировать SMB 2.0 используйте значение 1.
- После чего сервер нужно перезагрузить.