Jeśli chcesz udostępniać pliki w sieci lokalnej, niezależnie od tego, czy sieć wykorzystuje metodę peer-to-peer, klient/serwer, czy jakąś konstrukcję hybrydową, masz do wyboru dwa główne rozwiązania: NFS i SMB. Oba są protokołami komunikacyjnymi klient-serwer, które umożliwiają dostęp do plików na zdalnym serwerze. Oba są często używane w wielu środowiskach sieciowych do udostępniania plików do i z serwerów plików. Przyjrzymy się niektórym różnicom funkcjonalnym między nimi.

Co to jest SMB?

SMB, skrót od Server Message Block, to protokół komunikacyjny klient-serwer, który zapewnia współdzielony dostęp do plików i zasobów sieciowych między węzłami w sieci. Zasadniczo jest to sieciowy protokół udostępniania plików, który umożliwia komunikację ze zdalnymi komputerami lub serwerami. Mówiąc najprościej, SMB pozwala na udostępnianie plików w sieci. Powiedzmy, że używasz swojego laptopa i chcesz skorzystać z drukarki podłączonej do komputera firmowego. Kiedy więc drukujesz dokument, twój laptop używa protokołu SMP do wysłania żądania wydruku do komputera firmy. Następnie laptop otrzymuje odpowiedź, czy dokument jest drukowany, czy nie.





SMB to przede wszystkim natywny protokół udostępniania plików dla komputerów pracujących pod kontrolą systemu Microsoft Windows. Bezproblemowo integruje się z systemami operacyjnymi Windows. SMB został pierwotnie stworzony przez IBM i zmodyfikowany przez Microsoft w połowie lat 90. Microsoft kontynuował ulepszanie protokołu; SMB 2.0 poprawił wydajność, a SMB 3.0 zwiększył wydajność. SMB 2.0 został wprowadzony przez Microsoft dla systemu Windows Vista i był poważnym przepisaniem oryginalnego protokołu. Microsoft próbował zmienić nazwę SMB na CIFS, ale nazwa ta nie przyjęła się i przyszłe wersje używały i nadal używają nazwy SMB.

Co to jest NFS?

NFS, skrót od Network File System, to protokół usługi plików, który umożliwia użytkownikom dostęp do plików na zdalnym serwerze, co czyni go rozproszonym systemem plików. Pozwala on komputerowi, na którym działa serwer NFS, eksportować swoje systemy plików do innych klientów, co oznacza, że jest on udostępniany klientom na różnych platformach OS. Wykorzystuje architekturę serwer-klient, aby zapewnić wielu komputerom dostęp do plików przez sieć lokalną. NFS został zaprojektowany dla systemów UNIX i dlatego zawiera wsparcie dla funkcji systemu plików UNIX, takich jak własność i uprawnienia w stylu UNIX.



NFS został pierwotnie opracowany przez Sun Microsystems we wczesnych latach 80. i został udostępniony na licencji ponad 200 producentom. NFS w wersji 1 był używany wewnętrznie przez firmę Sun i nigdy nie został wydany. Wersja 2 zapewniała podstawowe współdzielenie plików w sieci i była szeroko wykorzystywana w systemach opartych na UNIX. Wersja 4 została wydana w grudniu 2000 roku i była pierwszą wersją opracowaną we współpracy z Internet Engineering Task Force (IETF) po tym jak Sun przekazał protokoły NFS do IETF. Jest to również o wiele bardziej bezpieczne niż poprzednie wersje.

Różnica między SMB a NFS

Protokół

– Zarówno SMB, jak i NFS to popularne protokoły udostępniania plików, często używane w wielu środowiskach sieciowych do udostępniania plików do i z serwerów plików. SMB jest natywnym protokołem udostępniania plików dla komputerów działających w systemie Microsoft Windows i służy do współdzielenia dostępu do zasobów w sieci. NFS jest również protokołem obsługi plików, który umożliwia użytkownikom dostęp do plików na zdalnym serwerze, pozwalając komputerowi, na którym działa serwer NFS, na eksportowanie swoich systemów plików do innych klientów.



Platforma

– SMB to natywny protokół udostępniania plików, który klienci Microsoft Windows wykorzystują do dostępu do serwerów plików. Bezproblemowo integruje się z systemami Windows. Wiele klientów LINUX i UNIX również używa SMB poprzez Sambę. NFS został zaprojektowany dla systemów UNIX i dlatego zawiera wsparcie dla funkcji systemu plików UNIX, takich jak własność i uprawnienia w stylu UNIX. NFS jest bardziej odpowiedni dla współdzielenia plików UNIX-to-UNIX niż SMB. Jednakże, możesz także używać NFS w mieszanym środowisku systemów UNIX i nie-UNIX.

Bezpieczeństwo

– Chociaż oba te protokoły nie są zbyt bezpieczne do stosowania we wrogich sieciach, takich jak Internet, luki w zabezpieczeniach protokołu NFS są większe w porównaniu z SMB. SMB wykorzystuje zaawansowany standard szyfrowania przesyłanych danych i używa szyfrowania end-to-end danych SMB i chroni dane przed podsłuchem w niezaufanych sieciach. Uwierzytelnianie NFS jest mniej bezpieczne niż SMB. NFS używa szyfrowania Kerberos, ale jest mniej bezpieczny niż protokół SMB.

Podsumowanie



Zarówno SMB jak i NFS są protokołami komunikacyjnymi serwer-klient i są często używane w wielu środowiskach sieciowych do udostępniania plików do i z serwerów plików. Jednak SMB bezproblemowo integruje się z systemami Windows. Oznacza to, że jeśli łączysz ze sobą dwa komputery z systemem Windows, właściwe jest użycie protokołu SMB. NFS, z drugiej strony, jest bardziej odpowiedni dla współdzielenia plików UNIX-to-UNIX, co oznacza, że jeśli łączysz dwa komputery UNIX razem, chciałbyś użyć protokołu NFS do współdzielenia plików. Jeśli masz serwer NFS wdrożony w systemie UNIX, nadal możesz uzyskać dostęp do serwera NFS za pomocą systemu Windows. Jednak oba protokoły mogą działać w każdym głównym systemie operacyjnym.

Czy SMB jest lepszy niż NFS?

Zarówno SMB jak i NFS są protokołami komunikacyjnymi klient-serwer używanymi do udostępniania danych w sieci. SMB jest najlepszy do udostępniania plików w systemie Windows, natomiast NFS jest idealny dla środowisk opartych na systemie Linux. SMB jest jednak bardziej bezpieczny niż NFS pod względem bezpieczeństwa danych.

Do czego służy SMB?

SMB to protokół komunikacyjny klient-serwer, którego klienci systemu Windows używają do uzyskania dostępu do serwerów plików i innych zasobów w sieci. Może być używany na szczycie protokołu TCP/IP lub innych protokołów sieciowych.