Rozdział 13.pdf

(470 KB) Pobierz
12272710 UNPDF
Rozdział 13
Wsparcie dla protokołu NFS w sieciach
Microsoft
NFS ( Network File System ) jest protokołem dostępu do plików, zaprojek-
towanym przez Sun Microsystems i licencjonowanym przez wielu pro-
ducentów oprogramowania. NFS pozwala komputerowi, na którym pra-
cuje oprogramowanie serwera NFS, na wyeksportowanie swojego syste-
mu plików do innych komputerów. Eksportowaniem systemu plików
nazywamy udostępnienie go klientom, pracujących pod różnymi syste-
mami operacyjnymi i wyposażonych w oprogramowanie klienta NFS.
Ponieważ NFS pracuje na różnych platformach, można go używać do
dzielenia plików pomiędzy komputerami posiadającymi odmienne sys-
temy operacyjne. NFS jest szczególnie użyteczny do integrowania plat-
form Windows NT i UNIX.
Niniejszy rozdział omawia podstawowe koncepcje NFS, jego działanie
oraz przykładową konfigurację usług NFS w systemie Windows NT.
Działanie NFS
W przykładzie z rysunku 13.1 serwer NFS eksportuje katalog /users. Wy-
eksportowany katalog może być jednocześnie używany przez klientów
pracujących pod różnymi systemami operacyjnymi.
Każdy klient NFS postrzega wyeksportowany przez serwer system pli-
ków wśrodowisku własnego systemu plików. Np. klient NFS
w Windows NT uzyskuje dostęp do wyeksportowanego systemu plików
poprzez przypisaną literę dysku, natomiast w przypadku klienta NFS
w UNIX wyeksportowany system jest dołączony do lokalnego systemu
plików.
 
434
Rozdział 13
Rysunek 13.1
Korzystanie z NFS.
Różnice pomiędzy NFS i SMB
Sieci Microsoft używają protokołu dzielenia plików SMB, opisanego
w rozdziale 2, "Infrastruktura protokołów TCP/IP w sieciach Windows".
Protokół SMB umożliwia dzielenie plików i jest podobny do NFS w wielu
aspektach. Jakie mogą być więc powody, dla których używa się NFS za-
miast SMB?
W sieciach używających wyłącznie oprogramowania firmy Microsoft
usługi SMB są automatycznie implementowane, a korzystanie z NFS nie
znajduje uzasadnienia. Jednakże w sieciach heterogenicznych, w których
współistnieją różne systemy operacyjne, pochodzące od wielu producen-
tów, NFS dostarcza narzędzia integracji różnych platform poprzez
wspólny standard dzielenia plików. Ponieważ dane w sieci są często
dzielone właśnie w tej formie, NFS jako metoda integracji ma szczególne
znaczenie.
Należy tu zauważyć, że również protokół SMB jest zaimplementowany
w wielu systemach UNIX (np. oprogramowanie Samba). Nie jest on jed-
nak nawet w części tak rozpowszechniony, jak protokół NFS.
Wersje NFS
NFS składa się z pewnej liczby protokołów, współpracujących ze sobą
w celu udostępnienia systemu plików. Został opracowany we wczesnych
12272710.009.png 12272710.010.png 12272710.011.png 12272710.001.png 12272710.002.png 12272710.003.png 12272710.004.png 12272710.005.png 12272710.006.png
Wsparcie dla protokołu NFS w sieciach Microsoft
435
latach osiemdziesiątych przez Sun Microsystems, który udzielił licencji
ponad 200 producentom oprogramowania. Protokół NFS jest udokumen-
towany w RFC 1094, "NFS: Network File System Protocol Specification".
NFS pierwotnie miał funkcjonować w kontekście sieci lokalnej (LAN).
Chociaż można go używać w sieciach rozległych (WAN), niektóre
z charakterystyk protokołu są źle przystosowane do mniejszej przepu-
stowości oraz nieprzewidywalnych opóźnień obecnych w sieciach WAN.
Badacze z Carnegie Mellon University opracowali więc protokół AFS
( Andrew File System ). AFS jest sprzedawany przez firmę Transarc Corpo-
ration, ale nie cieszy się tak powszechną akceptacją jak NFS.
Pierwotny protokół NFS, według specyfikacji RFC 1094, używał UDP
jako protokołu transportowego. UDP było protokołem transportowym
w wersjach 1 i 2 NFS i optymalizowało pracę w sieciach lokalnych, ale
miało pewne wady, kiedy używało się go w sieciach rozległych. NFS
w wersji 2 wspierał również protokół TCP, ale związane to było
z pewnym narzutem, ponieważ użycie TCP nie było zoptymalizowane.
W protokole UDP obliczanie sumy kontrolnej nagłówka pakietu jest
opcjonalne, ale wysoce zalecane, kiedy NFS pracuje w zawodnej sieci, np.
pracującej z protokołem SLIP na nieekranowanej skrętce dwużyłowej.
Udoskonalenia w wersji 3 NFS umożliwiają pracę ponad TCP/IP. NFS 3
jest lepiej dostosowany do użycia w sieciach rozległych, bardziej podat-
nych na błędy i w zmienny sposób opóźniających transmisje. NFS 3 usu-
wa także arbitralny limit 8 KB dla przesyłanego bloku danych.
NFS 3 jest podstawą działania Web NFS, nowego protokołu używanego
przez przeglądarki WWW w celu uzyskania dostępu do serwerów NFS.
Protokół NFS 3 jest udokumentowany w RFC 1813, "NFS Version 3 Pro-
tocol Specification".
Protokoły NFS
W warstwie sesji modelu OSI, NFS korzysta z protokołu RPC ( Remote
Procedure Call ). Istnieje wiele protokołów RPC, często zupełnie od siebie
odmiennych, jednak określanych tą samą nazwą. Protokół używany
przez NFS jest często nazywany Sun-RPC, dla odróżnienia go od innych
protokołów RPC - jak np. RPC firmy Microsoft, który jest implementacją
protokołu RPC używanego w DCE ( Distributed Computing Environment ).
RPC umożliwia dostęp do usług NFS na serwerze poprzez dobrze znany
programistom paradygmat "wywołania procedury". Dzięki temu można
korzystać z usług NFS w sposób wysokopoziomowy, bez troszczenia się
o szczegóły protokołów komunikacyjnych. Programiści używający RPC
nie muszą być ekspertami w dziedzinie komunikacji, aby korzystać
436
Rozdział 13
z udostępnianych przez ten protokół usług sieciowych. Protokół Sun-
RPC jest udokumentowany w RFC 1057, "RPC: Remote Procedure Call
Protocol Specification Version 2".
W warstwie prezentacji modelu OSI, NFS używa protokołu XDR ( Exter-
nal Data Representation ). XDR zapewnia jednolitą metodę przedstawiania
danych. Np. dane liczbowe są reprezentowane w kodzie uzupełnień
dwójkowych, a jeśli system używa innej reprezantacji, konwersją zajmuje
się XDR. Protokół XDR jest udokumentowany w RFC 1832, "XDR: Exter-
nal Data Representation Standard".
W warstwie aplikacji modelu OSI, NFS używa protokołu NFS ( Network
File System ). Protokół NFS udostępnia usługi takie jak zapis, tworzenie
czy odczyt pliku na serwerze NFS. W warstwie aplikacji pracują również
protokoły wspomagające NFS, np. protokoły montowania (mount proto-
col) i mapowania portów ( portmapper protocol ). Protokół montowania
używany jest do montowania sieciowego systemu plików, a protokół
mapowania portów dostarcza klientom, chcącym skorzystać z jakiejś
usługi, odpowiedniego numeru portu. Kiedy klient montuje system pli-
ków NFS, wówczas zyskuje dostęp do zdalnego systemu plików.
Protokół mapowania portów korzysta z powszechnie znanego portu
UDP o numerze 111. Kiedy klient chce skorzystać z określonej usługi,
wówczas wysyła zapytanie do portu UDP 111. Aplikacje pracujące na
serwerze, które chcą świadczyć usługi, muszą się zarejestrować
w programie mapującym porty. Po otrzymaniu zapytania o zarejestro-
waną usługę, program zwraca przypisany jej numer portu.
Rysunek 13.2 przedstawia różne protokoły, które składają się na system
NFS. W warstwie fizycznej i łącza danych NFS może korzystać z szero-
kiej gamy dostępnych technologii. W warstwie sieci NFS używa IP,
w warstwie transportu - UDP lub TCP. Jeśli używany jest protokół UDP,
wówczas zaleca się korzystanie z sumy kontrolnej nagłówka UDP.
Wsparcie dla protokołu NFS w sieciach Microsoft
437
Rysunek 13.2
Protokoły NFS
Protokół RPC w NFS
Komunikacja pomiędzy serwerem i klientem NFS oparta jest na modelu
zdalnego wywołania procedury. NFS definiuje 18 zdalnych procedur,
których kod rezyduje na serwerze. Klienci wywołują je, aby korzystać
z sieciowego systemu plików udostępnianego przez serwer. Procedury
wywoływane są przez mechanizm RPC.
Polecenie RPC składa się z numeru programu i numeru procedury. Nu-
mer programu identyfikuje rodzaj usługi, np. NFS posiada numer pro-
gramu 100003. W programie zawartych jest 18 procedur, ponumerowa-
nych od 0 do 17. Np. procedura numer 6 umożliwia odczytanie pliku.
Klient NFS, który chce odczytać plik, wysyła żądanie RPC zawierające
numer programu 100003 i numer procedury 6 (patrz rysunek 13.3).
W pakiecie żądania RPC muszą zostać określone także inne parametry
dla operacji odczytu pliku.
12272710.007.png 12272710.008.png
Zgłoś jeśli naruszono regulamin