n="justify"> Компанії Microsoft і Intel розробили на базі NetBIOS протокол спільного використання файлів. Пізніше він був перейменований в протокол Server Message Block (SMB). Далі протокол SMB еволюціонував в систему CIFS (Common Internet File System - Загальна міжмережний файлова система), яка представляла собою поліпшену і налаштовану для роботи в глобальних мережах версію SMB. Ця система CIFS донині залишається головною технологією для спільного використання файлів на комп'ютерах, що працюють під управлінням ОС Windows.
Популярний пакет Samba поширюється на умовах відкритої ліцензії GNU і реалізує серверну частину CIFS в системах Linux. Він був створений австралійцем Ендрю Тріджеллом (Andrew Tridgell), який шляхом «зворотного» проектування відтворив код протоколу SMB і опублікував отриманий результат в 1992 році.
Сьогодні пакет Samba добре підтримується і постійно вдосконалюється для розширення його функціональних можливостей. Він надає собою стабільний, надійний механізм для інтеграції в мережу Linux, що складається з комп'ютерів, що працюють під управлінням системи Windows.
Система CIFS надає п'ятьосновних служб:
- спільне використання файлів;
- мережна печатку;
- аутентифікація і авторизація;
- дозвіл імен;
- оголошення служб.
Пакет Samba не тільки обробляє файли за допомогою системи CIFS, а й виконує основні функції контролера служби Windows Active Directory. Як контролер домену, пакет Samba підтримує такі функціональні можливості, як реєстрація доменів Windows, роумінг профілів користувачів Windows і буферизація завдань на друк в системі CIFS.
Більшість функціональних можливостей пакету Samba реалізується двома демонами (програма, що працює у фоновому режимі): smbd і nxnbd. Демон smbd реалізує обслуговування файлів і завдань на друк, а також виконує аутентифікацію та авторизацію. Демон nmbd обслуговує інші основні компоненти системи CIFS: дозвіл імен і оголошення служб.
На відміну від файлової системи NFS, яка тісно пов'язана з ядром, пакет Samba не вимагає модифікації ядра і запускається виключно як користувальницький процес. Він встановлює з'єднання з сокетами, через які надсилаються NBT-запити, і чекає клієнтських запитів на доступ до ресурсів. Як тільки запит надійшов і був аутентифікований, демон smbd створює новий екземпляр самого себе, який працює від імені користувача, який зробив запит. У результаті всі права доступу до файлів (включаючи групові права) залишаються непошкодженими. Єдина додаткова функціональна можливість, яку демон smbd реалізує, - це сервіс блокування файлів, що дозволяє клієнтським персональним комп'ютерам дотримуватися звичної для них семантики блокувань.
Для більш коректного доступу робочих станцій, під керуванням ОС Linux, до файлового сервера вибрано протокол NFS.
Мережевий протокол NFS (Network File System) дозволяє користувачам спільно працювати з файлами, розташованими на різних комп'ютерах. Протокол NFS майже прозорий для користувачів, тобто при збої сервера, що підтримує протокол NFS, інформація не пропадає. Клієнти просто чекають, коли сервер знову почне функціонувати, а потім продовжують працювати так, ніби нічого не сталося.
Протокол NFS розробила компанія Sun Microsystems в 1984 році. Спочатку протокол NFS був реалізований як сурогат файлової системи для бездискових клієнтів, однак запропонований протокол виявився настільки вдалим, що з часом став універсальним вирішенням проблеми спільного використання файлів. Всі дистрибутивні пакети систем UNIX і Linux містять версію протоколу NFS.
Остання версія NFS 4 є результатом великої переробки протоколу. Вона містить багато удосконалень і нових функціональних можливостей:
- сумісність і взаємодію з усіма брандмауерами і пристроями NAT;
- інтегрування в основному протоколі NFS протоколів блокування і монтування;
- операції зі збереженням стану;
- висока інтегрована безпека;
- підтримка реплікації і міграції;
- підтримка клієнтів як UNIX, так і Windows;
- списки управління доступом (ACL);
- підтримка файлів в кодуванні Unicode;
- хороша продуктивність навіть при вузькій смузі пропускання.
У версії NFS 2 застосовувався протокол UDP, оскільки він забезпечував найкращу продуктивність в локальних мережах 80-х років. Незважаючи на те що протокол NFS сам виконує складання пакетів і здійснює контроль помилок, ні в UDP, ні в NFS не реалізовані алгоритми уп...