Zbigniew S. Szewczak Systemy Operacyjne
Total Page:16
File Type:pdf, Size:1020Kb
Zbigniew S. Szewczak Systemy Operacyjne Wykład 4 Sieciowe systemy operacyjne. Toruń, 2005 Terminy egzaminów ✦ piątek, 17.02.2006, g.12.00-14.00 ✦ ✦ niedziela, 5.03.2006, g.14.00-16.00 ✦ O czym będzie? ✦ Systemy sieciowe ✦ System sieciowy NFS ✦ System sieciowy SMB ✦ NetBIOS ✦ Protokół SMB/CIFS ✦ Funkcje Samby ✦ Struktura systemu Samba ✦ SMB w systemie Windows ✦ System sieciowy NCP Sieciowy system komputerowy ✦ Sieciowy system komputerowy jest tą częścią systemu komputerowego, która dziedziczy odpowiedzialność za komunikowanie się komputerów poprzez łącza ✦ sprzęt - medium transmisji danych, karta sieciowa, modem ✦ system operacyjny - implementacja protokołu (TCP/IP, NetBEUI, IPX/SPX ) w jądrze ✦sieciowy podsystem operacyjny : SMB, NFS, NCP ✦inne systemy : Andrew FS (IBM), Coda FS (CMU) ✦ programy użytkowe - przeglądarka WWW, telnet, ftp ✦ użytkownicy: zdalny komputer, osoba używająca ftp Sieciowe systemy operacyjne - modus operandi ✦ Sieciowy system operacyjny (ang. network operating system ) tworzy środowisko, w którym użytkownicy - świadomi wielości maszyn - uzyskują dostęp do zdalnych zasobów rejestrując się na odpowiednich zdalnych maszynach lub też użyczają zdalnie swoich lokalnych zasobów nadając im w tym celu na swojej maszynie stosowne uprawnienia do zdalnego dostępu ✦ zdalne zasoby: urządzenia we/wy (dyski, drukarki), procesory, pamięć operacyjna , (magistrala?) Sieciowe systemy operacyjne - modus procedendi ✦ Aby sieciowe systemy operacyjne mogły się komunikować potrzebne są sieci komputerowe ✦ Komunikacja w sieci komputerowej odbywa się na podstawie ściśle określonego zbioru reguł zwanego protokołem ✦ Sieciowy system operacyjny realizuje zwykle wiele protokołów komunikowania się ✦ Protokoły komunikowania się klasyfikujemy według modelu OSI lub TCP/IP Sieciowe systemy operacyjne - modus procedendi (c.d.) ✦ Problem sposobu komunikowania się ✦ model klient/serwer ✦ Peer-to-Peer (P2P) ✦ Protokoły sieciowe działają pomiędzy różnymi: ✦ architekturami komputerów ✦reprezentacja danych: kolejność bajtów, rozmiary danych (np. liczby całkowite) ✦ systemami operacyjnymi ✦realizacja we/wy na zdalnych komputerach ✦ Porównanie protokołów warstwy OSI Netware UNIX Apple LAN Manager aplikacji Apple Share Netware Control Network File Server Message Blocks (SMB) Protocol (NCP) System (NFS) prezentacji Appletalk File Protocol (AFP) sesji Named NetBIOS SNMPSMTP NBTtelnet ASP ZIP PAP ADSP NetBIOS Named Pipes Pipes transportu SPX TCP ATP AEPNBP RTMP NetBEUI sieciowa IPX IP Datagram Delivery Protocol (DDP) LAN drivers LAN drivers LAN drivers LAN drivers łącza danych ODI NDIS Media Access Control Local- Ether- Token- NDIS talk talk talk fizyczna fizyczna fizyczna fizyczna fizyczna Sieciowe systemy operacyjne - warstwy sieciowe stos w komputerze 1 stos w komputerze 2 aplikacja aplikacja prezentacja prezentacja sesja sesja transport transport sieć sieć łącze danych łącze danych fizyczna (sprzęt sieciowy) Warstwy modelu OSI ✦ Użytkowa (ang. Application) - usługi sieciowe (e-mail, FTP) ✦ Prezentacja (ang. Presentation) - reprezentacja danych (format) ✦ Sesja (ang. Session) - zarządzanie sesjami (login, exit) ✦ Transport - niezawodność transmisji ✦ Sieć (ang. Network) - wybór trasy (routing) ✦ Łącze (ang. Data Link) - transfer przez łącza ✦ Fizyczna (ang. Physical) - transfer binarny Przykłady ✦ Systemy sieciowe ✦ NFS - Network File System, Sun Microsystem ✦ SMB - Serwer Messages Blocks, Microsoft Corp. ✦ NCP - Netware Core Protocol, Novell INC. ✦ Inne systemy sieciowe ✦ RFS - AT&T (Unix SVR3) ✦ AFS - Andrew File System, IBM+Carnegie-Mellon University ✦ DFS -Transarc ✦ Protokoły wartstwy transportowej i sieciowej ✦ TCP/IP - Internet, IPX/SPX - Novell, NetBEUI - Microsoft ✦ Inne protokoły: PPP, SLIP Przykłady (c.d.) ✦ Realizacja we/wy w modelu klient/serwer ✦ RPC (ang. remote procedure call) - wywoływanie procedur zdalnych - Birrell, Nelson (1984) ✦ Implementacja mechanizmu RPC firmy Sun ✦ zbiór narzędzi oraz funkcji bibliotecznych - public domain ✦ XDR (ang. external data representation)- rozszerzona reprezentacja danych ✦ /etc/rpc - usługi oparte na RPC : portmapper, nfs, ...... Przykłady implementacji ✦ Klienci ✦ Unix - mount ✦smb, nfs, ncp ✦ Windows - SFU, ProNFS, Solstice ✦nfs ✦ oprogramowanie typu public domain ✦ Serwery ✦ Unix - nfsd ✦nfs ✦ Windows - SFU, ProNFS, Solstice ✦nfs Przykłady implementacji (c.d.) ✦ Linux - Mars ✦ncp ✦ Linux - Samba ✦smb ✦ SMB - Windows ✦smb ✦ System Netware ✦ www.wown.com/j_helmig/unixnfs.htm Model klient/serwer ✦ Komunikację w sieciowym systemie operacyjnym realizowana jest na zasadzie klient-serwer (np. jak w sklepie) ✦ Model klient/serwer oznacza zaangażowanie lokalnego programu „klient” oraz zdalnego programu „serwer” do wymiany informacji przy udziale sieciowego systemu operacyjnego ✦ Program serwera czeka biernie na kontakt, zaś program klienta aktywnie inicjuje połączenie aby postawić serwerowi do realizacji zlecenie Architektura klient/serwer Usługi warstwy prezentacji polecenie Oprogramowanie Oprogarmowananie klienta odpowiedź serwera Sieciowy system Protokół Sieciowy system operacyjny klienta sieciowy operacyjny serwera System operacyjny System operacyjny klienta serwera Sprzęt klienta Sprzęt serwera Połączenie sieciowe Charakterystyka klienta ✦ dowolny program użytkowy ✦ wywoływany przez użytkownika ✦ działa lokalnie na komputerze osobistym ✦ aktywnie inicjuje kontakt z serwerem ✦ może współpracować z wieloma serwerami jednocześnie ✦ nie wymaga specjalnego sprzętu i systemu Charakterystyka serwera ✦ specjalizowany, uprzywilejowany program ✦ uruchamiany przez administratora systemu ✦ działa na publicznie dostępnym komputerze ✦ czeka pasywnie na zgłoszenia od dowolnych klientów ✦ przyjmuje zlecenia od wielu zdalnych klientów na tę samą usługę ✦ wymaga wydajnego sprzętu i wyrafinowanego systemu operacyjnego (np. Linux) System sieciowy Linuxa ✦ Jądro systemu Linux realizuje protokoły sieciowe m.in. protokoły ✦ TCP/IP, IPX/SPX, SMB ✦ System Linux ma zaimplementowane systemy sieciowe ✦ NFS (Network File System) ✦ NCP (Network Control Program) - mars ✦ SMB (Server Message Block) - samba ✦ Generacja jądra systemu Linux Model TCP/IP ✦ Użytkowa (ang. Application) - FTP, TFTP, HTTP, SMTP, DNS ✦ Transport - TCP ✦ Internet ( Network ) - IP ✦ Interfejs sieci (ang. Network Access) (Data Link + Physical ) - Ethernet ✦ Rudymentarne warstwy - Prezentacji i Sesji NFS - Network File System ✦ Sun Microsystem, 1985 ✦ model klient/serwer ✦ mechanizm wywołania procedur zdalnych - RPC ✦ działa w oparciu o protokoły IP/UDP lub TCP ✦ architektura trójwarstwowa ✦ interfejs systemu plików Unixa ✦ wirtualny system plików (VFS) ✦ implementacja NFS ✦ serwer NFS eksportuje katalogi plików ✦ /etc/exports ✦ klient montuje katalog ✦ komenda mount NFS - Architektura klient serwer interfejs odwołań do systemu interfejs VFS interfejs VFS inne typy systemy plików systemy plików systemów plików UNIX 4.2 klient NFS serwer NFS UNIX 4.2 RPC/XDR RPC/XDR dysk dysk sieć NFS - serwer (Linux) ✦ NFS jest protokołem zdalnego wywoływania procedur (RPC) ✦ działa w oparciu o protokoły IP/{UDP | TCP} ✦ wywołanie systemowe w przypadku we/wy na zdalny plik ✦ przejmowane i obsługiwane przez zdalny serwer ✦ dynamiczne przypisywanie numerów portów (portmapper) ✦ /etc/rc.d/init.d/portmap - startowany automatycznie ✦ rpcinfo -p ✦ Wersje NFS ✦ NFS v.2 - stare edycje Linuxa ✦ NFS v.3 - jądra 2.4 ✦ NFS v.4 - rozwijany (elementy Andrew fs i Coda fs) NFS - serwer (Linux) ✦ Demony NFS ✦ status - zgłasza raporty o awariach i przeładowaniach systemu do lokalnego managera ✦ rquotad - zdalny serwer kwot wymuszający dla systemów plików zamontowanych w NFS wielkość miejsca na dysku przydzieloną użytkownikom ✦ mountd - przetwarza żądania od klienta ✦sprawdza czy system plików jest eksportowany ✦sprawdza czy klient ma uprawnienia ✦ nfs - obsługuje interfejs poziomu użytkownika do modułu jądra NFS (nfsd.o) ✦wykonuje operacje we/wy NFS - serwer (Linux) (c.d.) ✦ Demony NFS (c.d.) ✦ nlockmgr - manager blokad NFS dostępu do plików ✦pliki read-only nie wymagają blokady ✦ amd - demon automatycznego montowania ✦ NFS-HOWTO NFS - serwer (Linux) (c.d.) ✦ rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 749 rquotad 100011 2 udp 749 rquotad 100005 1 udp 759 mountd 100005 1 tcp 761 mountd 100005 2 udp 764 mountd 100005 2 tcp 766 mountd 100005 3 udp 769 mountd 100005 3 tcp 771 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 300019 1 tcp 830 amd 300019 1 udp 831 amd 100024 1 udp 944 status 100024 1 tcp 946 status 100021 1 udp 1042 nlockmgr 100021 3 udp 1042 nlockmgr 100021 4 udp 1042 nlockmgr 100021 1 tcp 1629 nlockmgr 100021 3 tcp 1629 nlockmgr 100021 4 tcp 1629 nlockmgr ✦ NFS - serwer (Linux) (c.d.) ✦ Uruchamianie NFS - /etc/rc.d/init.d ✦ nfs - skrypt do uruchomiania demonów ✦ netfs - skrypt do montowania plików z /etc/fstab ✦używany również do montowania SMB ✦ amd - skrypt do uruchomiania amd ✦ autofs - skrypt do automatycznego montowania plików gdy wystąpi zapotrzebowanie na we/wy i demontowania jeśli nie są używanie ✦inna implementacja automontera amd NFS - serwer (Linux) (c.d.) ✦ Konfiguracja serwera NFS ✦ /etc/exports - exportowane pliki ✦ katalog [host(opcja)] ✦ host ✦ pc313a.mat.uni.torun.pl ✦ *mat.uni.torun.pl ✦ 158.75.12.64/255.255.255.224 ✦ opcja ✦ ro - tylko czytanie ✦ rw - czytanie i pisanie ✦ insecure - dopuszcza klientów o nr portów < 1024 ✦ noaccess - opcja do exportowania plików z wyłączeniem pewnych katalogów ✦ link_relative - odniesienie do katalogu głównego NFS - serwer (Linux) (c.d.) ✦ Konfiguracja serwera