Протокол SMB

В некоторых случаях непосредственно сам кадр NBF является полезными данными пакета. Например, когда Windows-система осуществляет доступ к файлу, расположенному на диске другой системы, файл передается в кадрах данных NBF. Тем не менее, сообщения NBF могут также переносить сообщения протокола вышележащего уровня. ServerMessageBlocks (SMB, блоки серверных сообщений) — это протокол Прикладного уровня, который редиректорWindows (модуль, отвечающий за отправку запросов приложений к определенным сетевым ресурсам) привлекает для выполнения множества задач по управлению файлами и аутентификации на удаленных системах. Например, перед копированием на локальный диск файла с сетевого диска, предоставленного в совместное пользование, две системы вовлекаются в обмен сообщениями SMB, в ходе которого проверяются права пользователя на доступ к ресурсу и создается сессия с общим ресурсом.

Сессия, учрежденная на Прикладном уровне протоколом SMB, не зависит от других сессий, рассмотренных ранее в этой главе: сессии NBF и сессии LLC. Все три процесса создания сессии должны быть завершены, прежде чем две сетевые Windows-системы смогут передавать данные приложения.

Сообщения SMB

Сообщения SMB не ограничены исключительно парным применением с NetBEUI, но они тесно связаны с NetBIOS. Когда сеть Windows использует в качестве сетевого протокола TCP/IP, кадры NetBT (NetBIOS через TCP/IP) обрамляют сообщения SMB. В сети NetBEUI сообщения SMB переносятся внутри следующих типов сообщений NBF:

DATAGRAM;

DATAGRAM BROADCAST;

DATA FIRST MIDDLE;

DATA ONLY LAST.

Существует несколько десятков сообщений SMB, распределенных в четыре основные категории.

· Управление сессией. Предназначены для установления и разрыва соединения с выделенным для совместной работы ресурсом, расположенным на сервере.

· Доступ к файлам. Служат для доступа и управления файловой системой диска, предоставленного в совокупное пользование на удаленном сервере.

· Сервис печати. Задействуются для постановки задач печати, созданных локальными приложениями, в очередь на удаленном сервере.

· Сервис сообщений. Оказывает услуги по переносу сообщений между системами в сети.

Каждое сообщение SMB включает в себя 1-байтовое поле кода, которое идентифицирует функцию сообщения.

Помимо кода команды, каждое сообщение содержит 1-байтовое поле Flags (флаги) и 2-байтовое поле Flags2 (флаги 2). Эти поля включают информацию о сообщении и возможностях системы, создавшей его, а также о том, было ли сообщение послано сервером в ответ на запрос клиента. Под возможностями системы подразумевается поддержка длинных имен файлов и расширенных атрибутов, в частности, различает ли система символы различных регистров в путях файлов.

Флаг, несущий информацию о том, является ли сообщение ответом, включен в структуру сообщения вследствие того, что не для каждой команды SMB существуют отдельные сообщения запроса и ответа. Система, получившая команду SMB, которая требует выполнения определенных действий, обычно отправляет ответ с тем же кодом команды, что и у исходного сообщения, и с какими-либо признаками успеха или неудачи завершения вызванной процедуры. Флаг ответа устанавливается тогда, когда нужно гарантировать, чтобы получатель этого сообщения ассоциировал его с предыдущим своим запросом.

Остальные поля сообщения варьируются в зависимости от его типа и роли.

Обмен сообщениями SMB

Сообщения SMB обеспечивают услуги сетевого взаимодействия для Windows-систем. Сами они не выполняют транзакции целиком. В ходе типичного процесса клиент/сервер в сети NetBEUI, такого как доступ с рабочей станции к файлу на диске, предоставленном в совместное использование, на различных этапах процедуры осуществляется обмен сообщениями LLC, NBF и SMB.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: