Оглавление вперед

 

Краткая история…

Когда-то давно модным была DCE/RPC. Распределенная Вычислительная Среда/Удаленный Вызов Процедур — концептуально хорошая идея. Она была разработана компанией Apollo/НР в качестве NCA 1.0 (Сетевой Компьютерной Среды) и работала только по UDP. В последствии она была доработана Open Group для совместимости с DECnet 3.0 (возможность работы поверх протокола TCP), и официально стала известна как DCE/RPC. Компания Microsoft не захотела платить $ 20 за лицензирование рабочего места технологии DCE/RPC и назвала свою реализацию MS-RPC. Развитие получила концепция SMB (Server Message Block), использующая NetBIOS (Network Basic Input/Output System) совместимый слой, стало возможно запустить SMB (транспорт), используя несколько различных протоколов. В результате возникло много различных реализаций, в том числе NBIPX (NetBIOS поверх IPX, NwLnkNb или NWNBLink) и NBT (NetBIOS поверх TCP / IP, или NetBT). Шли годы, NBT стала наиболее распространенной формой реализации.

Пожалуй, лучше всего о происхождении SMB высказываются в 1997 году в статье, CIFS: Common Insecurities Fail Scrutiny :

"Несколько мегабайт архивов NT-безопасности, случайные технические описания, RFC, CIFS спецификации, материалы Samba, несколько статей базы знаний Microsoft, строки, извлеченные из исполняемых файлов и пакетов дампов были получены в ходе сбора информации для этого проекта, и есть еще много недостающих частей […] хлопая рукой по лбу и бормоча "боже мой, о чем они думали?!"

При всем прочем Microsoft сохраняет свою реализацию NBT в тайне (в основном). Если у вас нет компьютера с Windows, вам не повезло и вы не сможете совместно использовать файлы и принтеры с другими компьютерами с Windows. Таким образом появился проект Samba, позволяющий объединить Windows и Linux компьютеры вместе, при этом не требуя отдельного сервера Windows.

Что же такое Samba?

Samba является файловым TCP/IP сервером и сервером печати для клиентов Microsoft Windows. Она поддерживает любые реализации клиентов SMB/CIFS. Огромным плюсом Samba является то, что она позволяет использовать смешанные сети из Windows и Linux компьютеров вместе, не требуя при этом отдельного сервера Windows. Samba включает в себя поддержку Active Directory, Unicode, новые проверки подлинности и искажения имен файлов в системах, поддержка печати, доверительных отношений, LDAP интеграция и загружаемые модули RPC.

Какие протоколы поддерживаются?

Сейчас Samba использует TCP/IP. Она реализует API NetBIOS поверх TCP/IP, который более известен как "NBT". Частым является вопрос, почему в Samba не работает NetBEUI? Ответ, в настоящее время нет. NetBEUI является устаревшим протоколом от Microsoft, и не является родным протоколом Linux.

Из старой переписки Кристофер Hertel из Samba Team:

"NetBEUI соответствует NetBIOS API для своего протокола (который очень близок к формату NetBIOS). Чтобы сделать работу по NetBEUI на Linux, потребуется создать слой NetBEUI. Это не слишком сложно, но потом придется написать smbclient для работы с интерфейсом NetBEUI. Сейчас в Samba реализовано TCP/ UDP/IP ".

 

Оглавление вперед