r15-07.doc

(909 KB) Pobierz
Oto przykłady stylów nagłówków:

Rozdział 15. Zarządzanie zasobami udostępnionymi

Serwer jest to komputer, który udostępnia poprzez sieć swoje zasoby lokalne, takie jak pliki, drukarki i aplikacje. Klient jest to komputer wykorzystujący te zasoby. Serwer daje. Klient bierze. Jest to relacja pasożytnicza.

Dla tych czytelników, dla których połączenia sieciowe Windows są nowością, pierwsza część niniejszego rozdziału zawiera omówienie udostępniania zasobów i sieci typu peer–to–peer Windows NT. W pozostałej części opisano kroki konfigurowania i zarządzanie zasobami udostępnionymi.

Szczegółowo opisano trzy nowe właściwości systemu Windows 2000:

·         Publikowanie (publishing) i umieszczanie zasobów udostępnionych w Active Directory,

·         Zarządzanie buforowaniem podręcznym po stronie klienta (client–side caching) i synchronizacją plików w trybie offline,

·         Rozproszony system plików (Distributed File System — Dfs).

W końcowej części opisano szczegółowo, jak zarządzać drukowaniem w systemie Windows 2000, włączając w to następujące konfiguracje drukowania:

·         Drukowanie na lokalnych urządzeniach drukujących,

·         Zarządzanie kolejkami wydruków,

·         Drukowanie z systemu DOS,

·         Drukowanie na sieciowych urządzeniach drukujących,

·         Drukowanie na serwerach Windows 2000,

·         Drukowanie na serwerach spoza systemu Windows (third–party servers),

·         Drukowanie przez Internet.

 

Opis funkcji udostępniania zasobów w systemie Windows NT

 

Serwery udostępniają swoje zasoby lokalne dla sieci. Zasoby te dzielą się na cztery kategorie:

·         Zasoby plikowe. Klienty otrzymują dostęp do plików przechowywanych na lokalnych dyskach twardych lub płytach CD.

·         Zasoby drukarek. Klienty otrzymują dostęp do drukarek połączonych lokalnie i sieciowych urządzeń drukujących.

·         Usługi zdalnego dostępu. Klienty połączeń telefonicznych (dial–up clients) otrzymują dostęp do zasobów lokalnych i do sieci poprzez interfejs sieciowy serwera.

·         Usługi aplikacji. Klienty otrzymują dostęp do aplikacji typu klient/serwer, uruchomionych na serwerze.

 

 

 

Network Adapter — Karta sieciowa

Network Transport and Adapter Drivers — Sterowniki transmisji sieciowej i kart sieciowych

NDIS MAC drivers (miniports) — sterowniki NDIS MAC (miniporty)

NetBIOS Emulator in TDI — Emulator NetBIOS interfejsu TDI

Network File Systems — Sieciowe systemy plików

Network Providers — Usługodawcy sieciowi

Network Application — Aplikacja sieciowa

Non–network application making UNC call — Aplikacja niesieciowa stosująca wywołania UNC

WNet Application — Aplikacja WNet

Named Pipe Application — Potok nazwany

Mailslot Application — Gniazdo pocztowe

Sockets Applications — Interfejs gniazd Windows

NetBIOS Applications — Aplikacje NetBIOS.

Brak schematu, to nie jest czytelne.

Strona: 1
Brak rysunku!

Rysunek 15.1. Schemat blokowy sterownika sieciowego.

 

Rysunek 15.1 przedstawia ogólne rozmieszczenie sterowników sieciowych w systemie Windows 2000. Najwyższa warstwa składa się z aplikacji użytkownika, które wymagają usług sieciowych. Używa się nazwy aplikacje, ale nie są to aplikacje w takim sensie, jak arkusze kalkulacyjne czy edytory tekstów. Są to aplikacje wykonujące aktywne wywołania sieciowe w takiej czy innej postaci. Na przykład program pocztowy (e–mail package) ma moduł sieciowy, wykorzystujący sieć do wysyłania i odbierania wiadomości.

Usługi w systemie Windows 2000, oddziałujące wzajemnie na siebie z aplikacjami sieciowymi, mają dwa składniki: jeden pracujący w trybie użytkownika (user space), a drugi pracujący w trybie jądra (kernel space). Składnik użytkownika nosi nazwę usługodawca (provider), ponieważ uruchamia interfejs sieciowy dla aplikacji sieciowej. Składnik jądra jest to sterownik sieciowego systemu plików, komunikujący się z usługą sieciową (peer service) pracującą w innym komputerze.

Usługodawcy sieciowi (network providers) mają postać bibliotek DLL, zarządzanych przez Menedżera Kontroli Usług (Service Control Manager), SERVICES.EXE. Sterowniki systemu plików sieciowych dostarczane są w formie sterowników SYS, pracujących pod patronatem Menedżera We/Wy (I/O Manager) w Egzekutorze Windows 2000 (Windows 2000 Executive). Na przykład na rysunku 15.1 usługodawca LanManWorkstation stanowi parę ze sterownikiem systemu plików sieciowych MRXSMB.SYS.

Takie łączenie w pary składników użytkownika i jądra wykorzystuje zalety metod ochrony pamięci (memory–protection) i ochrony przetwarzania (process–protection) systemu Windows 2000. Usługodawcy sieciowi (network providers) pracują w trybie procesora Ring 3, w którym nie mają bezpośredniego dostępu do sprzętu (hardware), ani do pamięci. Uzyskują dostęp do zasobów sieciowych poprzez wywołania skierowane do uzupełniających składników jądra Egzekutora Windows 2000 (Windows 2000 Executive). Sterowniki pracujące w trybie jądra (kernel mode drivers) obsługują sieciowe We/Wy, bezpieczeństwo i inne usługi systemowe.

Sterowniki systemu plików komunikują się ze sterownikami transportowymi wykorzystując Interfejs sterowników transportowych (Transport Driver Interface — TDI). Każdy ze sterowników transportowych (z wyjątkiem protokołu DLC, nie przedstawionego na rysunku) ujawnia interfejs TDI. Dzięki interfejsowi TDI sterowniki systemu plików mogą działać niezależnie od protokołów transportowych i vice versa.

Tak jak sterowniki systemu plików nie komunikują się bezpośrednio ze sterownikami transportowymi, sterowniki transportowe nie komunikują się bezpośrednio ze sterownikami kart sieciowych. Zamiast tego sterowniki warstwy transportowej komunikują się ze sterownikiem zgodnym ze specyfikacją Network Driver Interface Specification — NDIS.SYS. Sterownik NDIS i jego pomocnicy komunikują się z kartą sieciową wykorzystując sterownik NDIS MAC, gdzie MAC oznacza Media Access Control.

Sterowniki NDIS MAC przyjmują postać sterowników miniportów napisanych przez producentów kart sieciowych. NDIS również dostarcza interfejsów do komunikacji asynchronicznej poprzez modem i linie ISDN wykorzystywane w przypadku nawiązywania połączeń telefonicznych (Dial–up) i przyjmowania przychodzących połączeń przez łącza komutowane (dial–up) z zastosowaniem usług trasowania i zdalnego dostępu (Routing and Remote Access Service — RRAS). Więcej informacji na temat usług RRAS zawarto w rozdziale 17 „Zdalny dostęp i trasowanie w Internecie”.

Usługa Windows 2000 Server działa trochę inaczej, ponieważ nie oddziałuje bezpośrednio z aplikacjami sieciowymi. Wykorzystuje ten sam model dwuskładnikowy, ale składnik użytkownika nie jest usługodawcą. Jest to sposób na przesyłanie parametrów działania do usługi Server.

Reasumując, stos sieciowy (network stack) w systemie Windows 2000 składa się z następujących głównych składników:

·         Aplikacje sieciowe,

·         Usługodawcy sieciowi

·         Usługodawcy klietów sieciowych

·         Programy przeadresowujące (Redirectors)

·         Serwery.

 

Pozostała część niniejszego rozdziału zawiera krótki opis każdego ze składników sieciowych i sposób, w jaki współpracują. Te informacje są przydatne w przypadku trudności z poprawnym funkcjonowaniem procesów sieciowych. Na przykład, wydajność można poprawić, wiedząc w jaki sposób usługodawcy sieciowi otrzymują zapytania, kiedy aplikacja sieciowa wykonuje pierwszą próbę połączenia do serwera.

 

Aplikacje sieciowe

 

Większość aplikacji sieciowych systemu Windows do uzyskania dostępu do usług sieciowych wykorzystuje jedną z trzech bibliotek API. (Aplikacje NetBIOS są coraz rzadsze, ale nadal są obsługiwane. Zobacz uwagi zatytułowane „Obsługa NetBIOS w systemie Windows 2000”.)

·         Wnet. Aplikacje sieciowe mogą wykorzystywać Wnet API w Win32 do łączenia i rozłączania się z serwerami systemu Windows i uzyskiwania informacji o serwerze. Na przykład wywołanie WnetAddConnection łączy klienta sieciowego do udziału (share point) na serwerze.

·         Potoki nazwane (Named pipes). Potok (pipe) jest mechanizmem komunikacji międzyprocesowej (Interprocess Connection method — IPC), w którym dwie lub więcej aplikacji mają wspólną pamięć i komunikują się między sobą poprzez zmiany zawartości tego obszaru pamięci. Potok nazwany (named pipe) jest szczególnym rodzajem potoku, w przeciwieństwie do potoku anonimowego (anonymous pipe), który nie ma nazwy. Potoki nazwane (named pipes) są powszechnie wykorzystywane przez aplikacje klient/serwer, takie jak bazy danych.

·         Gniazda pocztowe (Mailslots). Gniazdo pocztowe (mailslot) jest również mechanizmem IPC, umożliwiającym komunikację jednokierunkową, w odróżnieniu od mechanizmów IPC służących do komunikacji dwukierunkowej, takich jak potok nazwany (named pipe). Aplikacje zwykle wykorzystują gniazda pocztowe (mailslots) do transmisji do wszystkich węzłów sieci (broadcast) lub transmisji jednostkowej (unicast). Na przykład rejestracja nazw protokołu obsługującego usługi NetBIOS w sieci TCP/IP (NetBIOS–over–TCP/IP) wykorzystuje gniazda pocztowe (mailslots).

·         Winsock. Nazwa Winsock jest to skrót oznaczający Windows Sockets — Interfejs gniazd Windows. Gniazdo jest rodzajem mechanizmu IPC wprowadzonym po raz pierwszy w wersji Uniksa Berkeley Software Distribution (BSD). Gniazdo (socket) składa się z adresu IP, numeru portu warstwy transportowej i znacznika wskazującego na komunikację za pomocą datagramów lub strumieni (stream). Winsock jest interfejsem API systemu Windows, wykorzystującym gniazda (sockets). Dobrym źródłem informacji o Winsock i aplikacjach wykorzystujących ten mechanizm jest strona o adresie www.sockaddr.com.

Aplikacje sieciowe wykonują swoje wywołania sieciowe wykorzystując wywołania funkcyjne z bibliotek DLL nazywane usługodawcami sieciowymi (network providers).

Obsługa NetBIOS w systemie Windows 2000

Inaczej niż w przypadku innych usługodawców sieciowych (network providers), dla NetBIOS nie istnieje część kliencka (client–side component). Aplikacje NetBIOS budują w pamięci strukturę danych o nazwie Network Control Block (NCB), a następnie za pomocą wywołania funkcji DOS przekazują NCB do sterownika sieci. Wywołanie funkcji DOS jest obsługiwane bezpośrednio przez interfejs sterownika transportu TDI, wykorzystującego specjalny emulator NetBIOS.

Emulator NetBIOS zmienia wywołania funkcji NetBIOS w wywołania Interfejsu sterownika transportu (TDI calls). Pozwala to aplikacjom NetBIOS na wykorzystanie usług transportowych dostępnych w systemie Windows 2000.

 

Usługodawcy sieciowi

Większość aplikacji sieciowych wymaga interfejsu do zamiany wywołań API na wywołania funkcyjne, zrozumiałe dla sieciowych systemów plików.

·         Potoki nazwane (named pipe) i gniazda pocztowe (maislots) nie wymagają specjalnych usługodawców. Win32 obsługuje wywołania API i ustanawia połączenie z odpowiednim sieciowym systemem plików: Systemem plików potoku nazwanego (Named Pipe File System — NPFS) lub Systemem plików gniazd pocztowych (Mailslot File System — MSFS).

·         Aplikacje NetBIOS są obsługiwane przez emulator NetBIOS interfejsu sterownika transportu TDI. Aplikacja ma możliwość bezpośredniego połączenia z interfejsem TDI lub samymi sterownikami warstwy transportowej.

·         Aplikacje Winsock wykorzystują usługodawcę Winsock. System Windows 2000 dostarcza zarówno wersję 16–bitową (WINSOCK.DLL), jak i 32–bitową (WSOCK32.DLL) bibliotek działających jako interfejs dla głównej, 32–bitowej biblioteki Winsock WS_32.DLL. Biblioteka ta obsługuje Winsock 1.1 i Winsock 2.0.

·         Aplikacje Wnet wykorzystują usługodawców klientów zaprojektowanych do współdziałania z odpowiednimi serwerami sieciowymi. Na przykład połączenie Wnet do serwera Windows wykorzystywałoby usługodawcę LanManWorkstation.

System Windows 2000 zawiera dwóch usługodawców sieciowych:

·         Usługodawca Windows (Windows provider). Ze względów historycznych klient Windows nosi nazwę LanManWorkstation. Program klienta jest zawarty w bibliotece NTLANMAN.DLL.

·         Klient NetWare. Klient NetWare nosi nazwę NWCWorkstation. Program klienta jest zawarty w bibliotece NWWKS.DLL

Większość sieciowych systemów operacyjnych (NOS) ma klienty sieci systemu Windows 2000. Przykład obejmuje klienta NetWare Core Protocol firmy Novell, klienta Andrew File System (AFS) firmy Transarc i klienta Network File System (NFS) firmy Sun.

Każdy z usługodawców stanowi parę ze sterownikiem sieciowego systemu plików Egzekutora systemu Windows 2000 (Windows 2000 Executive). Takie systemy plików są czasami określane jako programy przeadresowujące (redirectors) na podstawie ich historycznej funkcji przechwytywania wywołań funkcji DOS i Windows i przeadresowywania ich do serwera.

Zamiast wymagania od każdego klienta ujawnienia Wnet API, aplikacje sieciowe wykonują swoje własne wywołania funkcji Wnet wykorzystując Ruter wielu usługodawców (Multiple Provider Router — MPR). Usługodawcy klientów łączą się bezpośrednio z MPR. Zwalnia to sprzedającego od odpowiedzialności za tworzenie interfejsów dla każdego typu aplikacji Wnet.

Inną funkcją MPR jest wybór prawidłowego usługodawcy, kiedy aplikacja Wnet próbuje podłączyć się do serwera. W tym przypadku MPR wysyła zapytania do usługodawców, aby określić, który z nich ma odpowiedniego klienta do rozmowy z danym serwerem. Zapytania wysyłane są na podstawie wykazu usługodawców sieciowych zapamiętanego w Rejestrze:

Key: HKLM|System|CurrentControlSet|Control|Network Provider.

Value: ProviderOrder

Data: NWCWorkstation|LanManWorkstation

Key: HKLM|System|CurrentControlSet |Control Print|Providers

Value: Order

Data: NetWare or Compatible Network|LanMan Print Services|Internet Print Provider

 

Ustanawianie kolejności usługodawców sieciowych

Jeśli klient NetWare i klient Microsoft są załadowane, to klient NetWare powinien zawsze znajdować się na czele listy usługodawców, nawet jeśli większość serwerów to systemy Windows 2000 i Windows NT. Informowanie o błędnym połączeniu zajmuje serwerowi NetWare bardzo mało czasu. Z drugiej strony serwery firmy Microsoft nie spieszą się, dzięki przeglądaniu (browsing) i konwersji nazw (name resolution), wykonywanym w tle. Poprzez umieszczenie klienta NetWare na pierwszym miejscu, napotkasz znacznie mniej opóźnień w wysyłaniu zapytań (polling delays). Więcej informacji w dalszej części rozdziału, zatytułowanej „Zmiana kolejności usługodawców sieciowych”.

 

Oprócz specjalnych usługodawców klientów sieciowych w systemie Windows 2000 występuje również usługodawca uniwersalny dla aplikacji, które nie wykonują aktywnych wywołań sieciowych, ale potrzebują dostępu do zasobów sieciowych. Dostęp taki najczęściej wymaga ścieżki UNC (Universal Naming Convention), więc taki usługodawca uniwersalny nosi nazwę Usługodawca złożonych ścieżek UNC (Multiple UNC Provider — MUP).

 

Usługodawca złożonych ścieżek UNC (Multiple UNC Provider — MUP)

 

MUP jest sterownikiem pracującym w trybie jądra, który działa jako interfejs pomiędzy aplikacjami pasywnymi i sterownikami sieciowego systemu plików. Na przykład, jeśli wykorzystuje się program Notepad do otwarcia pliku, dla którego ścieżka dostępu to \\phx–w2ks–32\data\textfile.txt, Menedżer We/Wy (I/O Manager) rozpoznaje podwójny ukośnik w tył jako początek ścieżki UNC i przekazuje ciąg znaków do usługodawcy MUP.

MUP dokonuje analizy syntaktycznej tego ciągu znaków, żeby znaleźć nazwę serwera i nazwę foldera udostępnionego. Następnie wysyła zapytania do systemów plików sieciowych, podobnie jak MPR wysyła zapytania do usługodawców sieciowych (network providers), w celu znalezienia sterownika, który może skontaktować się z podanym serwerem. Kiedy sterownik systemu plików poinformuje, że skontaktował się z serwerem, MUP sprawdza nazwę udziału (share name). Jeśli nazwa udziału (share name) się zgadza, proces łączenia jest zakończony.

Systemem plików, do którego MUP zawsze wysyła zapytania w pierwszej kolejności jest sterownik Rozproszonego systemu plików (Distributed File System — Dfs). Jeśli odpowiedź Dfs jest pozytywna, wskazując na to, że ścieżka UNC znajduje się w woluminie Dfs, MUP sprawdza połączenie z serwerem macierzystym (host server). Jeśli połączenie jest poprawne, MUP łączy nazwę UNC z serwerem macierzystym zasobu udostępnionego. Więcej informacji zawarto w dalszej części niniejszego rozdziału, która nosi tytuł: „Opis funkcji rozproszonego systemu plików (Dfs)”. Jeśli dla ścieżki UNC nie istnieje pozycja dotycząca rozproszonego systemu plików (Dfs) lub MUP nie uzyskał odpowiedzi z serwera macierzystego, zapytania są wysyłane do kolejnych sterowników z listy systemów plików.

Po ustanowieniu przez MUP połączenia pomiędzy ścieżką UNC a usługodawcą sieciowym (network provider), jest ono buforowane do wykorzystania w dalszych operacjach. Jeśli na danej ścieżce UNC (włączając w to dyski mapowane) nie ma żadnego przepływu danych w ciągu 15 minut, MUP usuwa ją z pamięci podręcznej. Następne żądanie dostępu do tej ścieżki UNC powoduje, że MUP wysyła zapytania jeszcze raz. Należy o tym pamiętać podczas wykrywania usterek w przypadku połączeń przerywanych.

 

Obsługa nazw UNC w systemie Windows 2000

W przypadku Windows NT dysk sieciowy może zostać mapowany tylko do foldera udostępnionego w ścieżce UNC. Jeśli serwer o nazwie PHX-NT4-01 zawiera udział (share) o nazwie USERS z podkatalogiem Tjones, użytkownik mógłby mapować dysk do udziału (share point) \\PHX-NT4-01\USERS, a nie do \\PHX-NT4-01\USERS\Tjones, foldera w tym udziale (share point).

W systemie Windows 2000 dysk może być mapowany do każdego foldera danego udziału, podobnie jak w przypadku NetWare i funkcji Map Root.

 

Systemy plików przeadresowujących (Redirector File Systems)

Usługodawcy klientów sieciowych (network client providers) i MUP są tylko interfejsem do sieci. Rzeczywista praca jest wykonywana przez sterowniki sieciowych systemów plików. Jeśli sterownik systemu plików jest wykorzystywany do komunikacji ze ściśle określonym typem serwera lub sieciowego systemu operacyjnego, nazywany jest zwykle programem przeadresowującym (redirector). (Usługodawcy sieciowi są także często określani jako programy przeadresowujące).

System Windows 2000 zawiera dwa sterowniki sieciowych systemów plików, które działają jako klient w przypadku usług udostępniania plików i drukarek typu klient/serwer.

·         Program przeadresowujący systemu Windows (MRXSMB.SYS). Ten sterownik systemu plików komunikuje się z serwerami Windows wykorzystując protokół poleceń SMB (Server Message Block command protocol).

·         Program przeadresowujący systemu NetWare (NWRDR.SYS). Ten sterownik systemu plików komunikuje się z serwerami NetWare wykorzystując protokół NCP (NetWare Core Protocol).

Program przeadresowujący systemu NetWare (NetWare Redirector) uwzględnia usługi NDS, ale nie obsługuje zaawansowanych funkcji NDS, takich jak Zero Effort Networking (Z.E.N) i NetWare Application Launcher (NAL).

Ponadto oprócz przyjmowania wywołań funkcyjnych od usługodawców klientów Wnet, programy przeadresowujące obsługują również żądania sieciowe od innych sterowników systemów plików. Na przykład, zarówno NPFS jak i MSFS wykorzystują program przeadresowujący MRXSMB do komunikacji z komputerami sieci Windows.

 

Wskazówki dotyczące Rejestru

Parametry dotyczące sterowników systemów plików i usługodawców znajdują się w Rejestrze w kluczu HKLM|SYSTEM|CurrentControlSet|Services. Klucze systemów plików mają takie same nazwy, jak sterowniki.

Na przykład, klucz HKLM|SYSTEM|CurrentControlSet|Services|MRXSMB zawiera parametry i ustawienia dla sterownika systemu plików Windows.

Systemy plików usługi Serwer

Usługa Serwer w komputerach z systemem Windows 2000 również ma postać sterownika systemu plików SRV.SYS. Podobnie jak program przeadresowujący MRXSMB, SRV.SYS działa w środowisku Egzekutora Windows 2000 (Windows 2000 Executive).

Usługa serwera SMB, taka jak SRV.SYS, prezentuje zasoby sieciowe w postaci udziałów (share points). Udział (share point) może być folderem lub drukarką.

Menedżer kontroli usług (Service Control Manager) zawiera w trybie użytkownika niewielką usługę, LanManServer, wykorzystywaną do tworzenia udziałów i przesyłania informacji z Menedżera do systemu plików serwera. Ten interfejs pomaga również w obsłudze usługi Przeglądarka (Browser). Dla usługi LanManSerwer nie istnieje oddzielna biblioteka DLL.

 

Wskazówka dotycząca Rejestru

Lista folderów udostępnionych jest zapisana w kluczu Rejestru

Zmniejszyć spacje.

HKLM|System|CurrentControlSet|Services|LanManServer|Shares.

Aplikacje klienckie nie mogą wysyłać wywołań funkcyjnych do usługodawcy LanManServer, więc interfejs MPR nie jest konieczny. Do komunikacji z innymi serwerami sterownik SRV.SYS korzysta ze sterownika MRXSMB.SYS.

 

Dodatkowe usługi systemu plików

Firma Microsoft dostarcza trzy inne systemy plików serwera. Jeden z nich, serwer AppleTalk, jest częścią systemu Windows 2000. Pozostałe dwa dostępne są jako dodatkowe opcje i wycenione są osobno.

·          Usługi dla Macintosha (Services for Macintosh — SFM). Windows 2000 zawiera sterownik systemu plików serwera AppleTalk, SFMSRV.SYS, jako część zestawu Usługi dla Macintosha (Services for Macintosh). Ta usługa ma dwa interfejsy w trybie użytkownika (User–mode interfaces): interfejs systemu plików Macintosh SFMSVC.EXE, interfejs usług drukowania Macintosh SFMPRINT.EXE. Te usługi pozwalają klientom Macintosh na dostęp do plików i drukarek serwera Windows 2000.

·          Usługi dla systemu NetWare (Services for NetWare — SFN). Produkt ten zawiera serwer protokołu NCP (NetWare Core Protocol) i sterowniki interfejsu do emulacji systemu plików NetWare. Serwer SFN może przyjmować żądania NCP w trybie głównej bazy danych serwera NetWare (Bindery–mode) od NETX, VLM i 32–bitowych klientów NetWare. FPNW nie dostarcza interfejsu dla usług NDS, ani nie zezwala, aby serwer Windows 2000 był serwerem macierzystym partycji NDS.

·          Usługi dla Uniksa (Services for UNIX — SFU). Produkt ten zawiera serwer i klienta sieciowego systemu plików NFS (Network File System) razem z zestawem narzędzi do emulacji fu...

Zgłoś jeśli naruszono regulamin