Wspólny internetowy system plików (CIFS) wyjaśniony w 5 minut lub krócej

Common Internet File System (CIFS) to protokół oferujący dostęp do plików, drukarek i portów szeregowych między różnymi komputerami w określonej sieci.

Dzięki temu dostępowi klienci mogą otwierać, czytać i edytować udostępnione dokumenty, które są automatycznie zapisywane na lokalnych komputerach.

Użytkownicy mogą również uzyskać dostęp do usług komunikacji międzyprocesowej i kolejek wydruku.

CIFS został opracowany na początku lat 80. w firmie IBM.

Jak działa CIF

CIFS opiera się na modelu klient-serwer. Zaangażowane są trzy podmioty; klient, aplikacja i serwer.

  • Klient implementuje protokół, z którego pochodzi większość komunikatów.
  • Serwer implementuje protokół i zapewnia większość funkcjonalności (usługi).
  • Aplikacja może być oprogramowaniem, które wykonuje takie funkcje, jak graficzny interfejs użytkownika, zarządzanie plikami lub przetwarzanie tekstu.

Tak działa CIFS;

  • Sesja NetBIOS w celu uzyskania dostępu do współdzielonych zasobów jest ustanawiana między klientem a serwerem.
  • Proces negocjacji polega na tym, że klient i serwer ustalają dialekt, który będzie używany.
  • Klient przesyła dane uwierzytelniające, głównie nazwę użytkownika i hasło, do serwera za pomocą unikalnego identyfikatora.
  • Usługa Active Directory obsługuje głównie proces uwierzytelniania. Jednak CIFS nie obsługuje uwierzytelniania bezpośrednio.
  • Serwer zwraca unikalny identyfikator, jeśli uwierzytelnienie się powiedzie.
  • Serwer sprawdza, czy klient ma wymagane uprawnienia i czy nazwa udziału jest prawidłowa. Jeśli wszystkie te szczegóły są prawidłowe, klient uzyskuje dostęp do udostępniania zasobów, takich jak pliki i foldery.

Funkcje protokołu CIFS

Niezależność transportowa

Protokół CIFS nie nakłada żadnych wymagań na protokół transportowy, który wysyła komunikaty SMB między serwerem a klientem. CIFS jest po prostu przenoszony przez protokół zorientowany na połączenie.

Dostęp do plików

Klient/użytkownik może otwierać, czytać, modyfikować i zamykać wiele plików na serwerze docelowym. Zadaniem serwera jest udostępnianie plików, co oznacza, że ​​wielu klientów może otwierać i odczytywać ten sam plik jednocześnie i na różnych urządzeniach.

Ma atrybuty plików, katalogów i woluminów

Protokół CIFS może wysyłać zapytania, a także, z ograniczonymi możliwościami, ustawiać atrybuty katalogu, pliku i woluminu. Listy kontroli dostępu (ACL) są również obsługiwane w systemie CIFS.

Rozszerzone podprotokoły

Protokół CIFS obsługuje różne podprotokoły, które oferują bezpośredni dostęp do dodatkowych funkcji serwera.

Obsługuje komunikację międzyprocesową nazwanego potoku

Klient może otwierać, zapisywać, odczytywać i zamykać nazwane potoki na określonym serwerze. Nazwane potoki oferują ścieżkę komunikacyjną między usługami serwera i klienta.

Elastyczna łączność

Jeden klient może łączyć się z wieloma serwerami. Taki klient może również wykonać jedno lub więcej połączeń z serwerem.

Obsługuje negocjacje funkcji

Obsługiwany zestaw funkcji i dialekt protokołu są negocjowane dla każdego połączenia.

Blokowanie plików i rekordów oraz bezpieczne buforowanie

Protokół CIFS obsługuje zapis i blokowanie plików. Ten sam protokół pozwala na oportunistyczne blokowanie plików, dając klientom możliwość buforowania danych w celu uzyskania lepszej wydajności.

Powiadomienia o zmianach w katalogach i plikach

Klienci korzystający z protokołu CIFS mogą wysyłać żądanie powiadamiania o każdej zmianie w zasobie, takim jak plik w katalogu lub katalog na określonym serwerze.

Obsługuje rozproszony system plików (DFS)

DFS tworzy globalną przestrzeń nazw zawierającą zasoby na wielu serwerach.

Obsługuje wiele kontekstów bezpieczeństwa

Klient może używać i tworzyć jeden lub więcej kontekstów zabezpieczeń w ramach określonego połączenia.

Warunki wstępne korzystania z CIFS

CIFS wymaga podstawowego transportu sieciowego (zwykle zorientowanego na połączenie). Jednak w niektórych przypadkach komunikaty CIFS mogą być przesyłane przez transport bezpołączeniowy z niewielkimi modyfikacjami.

Zanim komunikaty CIFS będą mogły być wymieniane przez transport zorientowany na połączenie, musi zostać nawiązane połączenie.

W przypadku wymiany komunikatów w takiej sieci CIFS zakłada, że ​​dostępny jest jeden lub więcej z poniższych zasobów;

  • Lokalna kolejka wydruku, która wysyła zadania drukowania do drukarki w celu zaoferowania usług drukowania.
  • Lokalny system plików lub baza danych jest przedstawiana jako system plików umożliwiający udostępnianie plików. Zasób w tym przypadku jest nazywany składnicą obiektów.
  • Do komunikacji międzyprocesowej przy użyciu abstrakcji potoków nazwanych potrzebna jest odpowiednia emulacja wbudowana w serwer CIFS lub system plików obsługujący potoki nazwane.

Serwer powinien również mieć lub zapewniać dostęp do bazy danych haseł w celu uwierzytelnienia.

Baza danych haseł przechowuje skróty haseł NT LAN Manager (NTLM) i LAN Manager (LM) w celu obsługi uwierzytelniania wezwania lub odpowiedzi.

Skonfiguruj CIFS dla systemu Windows

Większość użytkowników nigdy nie użyje CIFS, co wyjaśnia, dlaczego ta funkcja jest domyślnie wyłączona w systemach Windows 10 i 11.

Wykonaj następujące kroki, aby to działało;

  • Przejdź do Panelu sterowania i kliknij Program i funkcje. Po lewej stronie kliknij Włącz lub wyłącz funkcje systemu Windows.

  • Przewiń w dół, aż zobaczysz opcję Obsługa udostępniania plików SMB 1.0/CIFS i zaznacz to pole. Kliknij ikonę +, aby zobaczyć wszystkie zaznaczone opcje

Powyższe kroki włączą CIFS. Musisz jednak skonfigurować sieć, do której jesteś podłączony, dla CIFS. To jest proces;

  • Przejdź do strony głównej Panelu sterowania i kliknij Sieć i Internet.
  • 2. Kliknij Centrum sieci i udostępniania. Po lewej stronie kliknij Zmień zaawansowane ustawienia udostępniania.

    3. Kliknij Zmień zaawansowane ustawienia udostępniania. Możesz teraz przejść dalej i włączyć wykrywanie sieci oraz włączyć udostępnianie plików i drukarek. Kliknij „zapisz zmiany”.

    Skonfiguruj CIFS w folderze

    Na potrzeby tej demonstracji utworzymy folder o nazwie „Sample Folder” na dysku E.

  • Kliknij prawym przyciskiem myszy Przykładowy folder, kliknij Właściwości, a następnie wybierz Udostępnianie.
  • 2. Kliknij Udostępnij.

    Należy jednak pamiętać, że wymienieni użytkownicy to tylko użytkownicy aktualnie skonfigurowani na komputerze z systemem Windows.

    Odbiorcy muszą też skonfigurować wszystko po swojej stronie, jeśli chcą mieć dostęp do wysyłanych dokumentów.

    CIFS a SMB: różnice

    Przed sprawdzeniem różnic warto było dowiedzieć się, czym jest Server Message Block (SMB).

    Server Message Block został zaprojektowany, aby umożliwić klientowi odczyt, zapis i edycję pliku na serwerze. Serwerem w tym przypadku jest sieć lokalna (LAN).

    SMB na przestrzeni lat

    • SMB 1.0. Pierwsza wersja SMB jest utożsamiana z CIFS. Ta pierwsza odmiana została stworzona dla Windows NT 4.0 i komunikacja odbywała się przez interfejs NetBIOS.
    • MŚP 2.0. Ta wersja została wprowadzona przez firmę Microsoft w 2006 roku za pośrednictwem systemu operacyjnego Windows Vista. Niektóre z wprowadzonych funkcji to lepsza skalowalność, obsługa dowiązań symbolicznych i ulepszone podpisywanie wiadomości.
    • MŚP 2.1. Ta wersja została wprowadzona w tym samym czasie co Windows 7 w 2007 roku. Wersja 2.1 oferowała ulepszone optymalizacje wydajności i nowe mechanizmy blokowania.
    • MŚP 3.0. Ta wersja została wprowadzona w tym samym czasie co Windows 8 w 2012 roku. SMB 3.0 nosił pierwotnie nazwę SMB 2.2, ale później zmieniono jej nazwę. Ta wersja stworzyła możliwość zdalnego dostępu do pamięci poprzez Remote Direct Memory Access (RDMA).
    • SMB 3.1.1. To jest najnowsza wersja w chwili pisania tego tekstu. SMB 3.1.1 został stworzony dla systemu Windows 10 w 2015 roku i wprowadził kontrolę integralności przed uwierzytelnieniem. Ta wersja wykorzystuje również szyfrowanie w trybie Galois/Counter (GCM).

    Wiele osób myli CIFS i SMB. Warto zauważyć, że SMB został wprowadzony wcześniej niż CIFS.

    Microsoft ulepszył SMB, aby stworzyć CIFS w latach 90., co czyni CIFS dialektem SMB. Jednak Microsoft kontynuował ulepszanie CIFS, a aktualna wersja to SMB 3.1.1.

    Oto główne różnice między CIFS i SMB 3.1.1

    SMB 3.1.1CIFSYear stworzony Stworzony przez IBM na początku lat 80. Utworzony jako ulepszona wersja SBM przez Microsoft na początku lat 90. Wydajność SMB 3.1.1 został stworzony, aby rozwiązać większość wyzwań związanych z CIFS i wcześniejszymi wersjami SMB. Istnieją kontrole wstępnego uwierzytelnienia, które pomagają zabezpieczyć pliki na serwerze. Podczas tworzenia CIFS wystąpiło wiele problemów z transmisją plików, bezpieczeństwem itp. UwierzytelnianieSMB 3.1.1 wykorzystuje uwierzytelnianie AES w celu zapewnienia bezpieczeństwa plików udostępnianych na serwerze. Użytkownik musi podać nazwę użytkownika i hasło, aby uzyskać dostęp do plikuCIFS nie ma uwierzytelnienia. W związku z tym pliki nie są zabezpieczone w sieci. Przechowywanie danychSMB 3.1.1 wykorzystuje 32- lub 64-bitowe pola przechowywania danych, otwierając się na przechowywanie dużych plików. Używa protokołów IP/TCP, które są podobne do protokołów HTTP i FTP. Działający Protokół komunikacyjny klient-serwer do współdzielenia dostępu do zasobów w sieci. Klient/Użytkownik żąda pliku na serwerze znajdującym się w innym systemie komputerowym w tej samej sieci.

    Jakie są wady CIFS?

    • Brak uwierzytelnienia. Jedną z największych wad CIFS jest brak uwierzytelniania, w przeciwieństwie do ostatnich wersji SMB.
    • Obsługuje ograniczone rozmiary plików. CIFS może nie być idealny dla bardzo dużych plików, powodując opóźnienia, a nawet może powodować uszkodzenia podczas przesyłania.

    Wniosek

    Chociaż usługi udostępniania i dostępu do plików w chmurze wydają się przejmować, tradycyjne protokoły, takie jak CIFS, wciąż mają swoje miejsce. Obsługa bezpośrednich połączeń przez port TCP 445 była jednym z największych atutów CIFS. Mimo że Microsoft koncentruje się teraz na rozwijaniu SMB, nie można zapomnieć o CIFS, ponieważ jest to jeden z dialektów SMB.

    Możesz także zbadać, jak uruchomić sprawdzanie plików systemowych w systemie Windows 11/10.