netbios.doc

(91 KB) Pobierz
Sieciowy system operacyjny Windows 2000, udostępnia interfejsy programowania (API), w celu dostępu do usług oferowanych przez

Sieciowy system operacyjny Windows 2000, udostępnia interfejsy programowania (API), w celu dostępu do usług oferowanych przez protokoły TCP/IP. Interfejsy aplikacji to zestawy funkcji wywoływanych przez kod aplikacji w celu wykonania funkcji sieciowych.

Rysunek pokazuje dwa typowe interfejsy sieciowe TCP/IP, Windows Sockets i NetBIOS i ich relacje z protokołami składowymi.

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Interfejs Windows Sockets

API Windows Sockets jest standardowym API pod Windows 2000 dla aplikacji używających TCP i UDP.

Przykładami aplikacji napisanych dla Windows Sockets są narzędzia TCP/IP (np. ping, telnet).

Windows Sockets umożliwiają aplikacji powiązanie konkretnego portu i adresu IP hosta, zainicjowanie i zaakceptowanie połączenia, wysłanie i odebranie danych oraz zamknięcie połączenia.

Istnieją dwa typy gniazd:

1. Stream socket udostępniający niezawodny, dwudrożny, sekwencyjny i niezduplikowany przepływ danych z użyciem TCP.

2. Datagram socket umożliwiający dwukierunkowy przepływ danych z użyciem UDP.

Gniazdo jest określone przez adres i protokół hosta.

W celu nawiązania komunikacji, aplikacja określa protokół, adres IP hosta docelowego i port docelowej aplikacji. Po nawiązaniu połączenia, można nadawać i odbierać informacje.


Interfejs NetBIOS

NetBIOS został opracowany w roku 1983 przez firmę Sytek Corporation, aby umożliwić aplikacjom komunikowanie się przez sieć.

NetBIOS tworzą dwie jednostki, interfejs warstwy sesji i protokół zarządzania sesjami i transmisji danych.

Interfejs NetBIOS jest standardowym API, umożliwiającym komunikację sieciową i kontrolę protokołów. Aplikacja używająca API NetBIOS do komunikacji sieciowej może być uruchomiona na dowolnym oprogramowaniu protokołowym, które obsługuje interfejs NetBIOS.

NetBIOS posiada także protokół funkcjonujący w warstwie transportowej/sesji. Jest on implementowany przez oprogramowanie protokołowe (takie jak NetBIOS Frames Protocol (NBFP), składnik NetBEUI lub NetBIOS dla TCP/IP (NetBT)), aby prowadził komunikację sieciową potrzebną do obsługi zestawu poleceń interfejsu NetBIOS. Interfejs NetBIOS dla TCP/IP jest opisany w RFC 1001 i 1002.

NetBIOS dostarcza obsługę NetBIOS Name Management, NetBIOS Datagrams i NetBIOS Sessions.


Name Management NetBIOS

Usługi zarządzania nazwami NetBIOS udostępniają następujące funkcje:

  Rejestracja i zwalnianie nazwy

Podczas inicjalizacji, host TCP/IP rejestruje swoje nazwy NetBIOS, nadając lub kierując żądanie rejestracji nazwy do Serwera Nazw NetBIOS, takiego jak serwer Windows Internet Name Service (WINS). Jeśli nazwa jest już zarejestrowana przez innego hosta, to albo host albo Serwer Nazw NetBIOS wysyła odpowiedź negatywną. Inicjalizujący się host otrzymuje w rezultacie błąd inicjalizacji.

Gdy usługa stacji roboczej zostaje zatrzymana, host przestaje odpowiadać negatywnie, jeśli ktoś próbuje użyć tej samej nazwy i wysyła zwolnienie nazwy do serwera WINS. Nazwa uznawana jest wtedy za zwolnioną i jest dostępna dla innego hosta.


  Rozwiązywanie nazw

Jeśli jedna aplikacja NetBIOS chce się połączyć z inną aplikacją NetBIOS, musi zostać zanalizowany adres IP aplikacji NetBIOS.

NetBIOS dla TCP/IP wykonuje tę funkcję nadając zapytanie o nazwę NetBIOS na sieci lokalnej albo wysyłając zapytanie o nazwę do serwera WINS.

Usługa nazw NetBIOS używa portu 137 UDP.


NetBIOS Datagrams

Usługa datagramów NetBIOS udostępnia dostarczanie datagramów metodą bezpołączeniową, niesekwencyjną i zawodną. Datagramy mogą być wysłane do konkretnej nazwy NetBIOS lub nadane dla całej grupy nazw. Dostarczanie jest zawodne w tym sensie, że komunikat mogą odebrać tylko użytkownicy zalogowani do sieci. Usługa datagramowa może wysyłać i odbierać komunikaty zarówno nadawane jak i wysyłane do konkretnego odbiorcy.

Usługa datagramowa NetBIOS używa portu 138 UDP.

NetBIOS Sessions

Usługa sesji NetBIOS udostępnia dostarczanie komunikatów NetBIOS metodą połączeniową, sekwencyjną i niezawodną.

Sesje NetBIOS używają połączeń TCP i umożliwiają tworzenie sesji, podtrzymywanie i kończenie sesji. Usługa sesji NetBIOS umożliwia równoczesne przesyłanie danych w dwie strony z użyciem portu 139 TCP.


Rozwiązywanie nazw NetBIOS

Rozwiązywanie nazw NetBIOS jest procesem odwzorowania nazwy NetBIOS na adres IP.

Nazwa NetBIOS to 16-bajtowy adres używany do identyfikacji zasobu NetBIOS w sieci.

Nazwa NetBIOS może być albo niepowtarzalna (exclusive) albo grupowa (nonexclusive).

Nazwa niepowtarzalna używana jest,

gdy proces NetBIOS komunikuje się z konkretnym procesem na konkretnym komputerze.

Kiedy proces NetBIOS komunikuje się z wieloma procesami na wielu komputerach, używana jest nazwa grupowa.

Nazwa NetBIOS działa jak identyfikator aplikacji warstwy sesji. Przykładowo, usługa NetBIOS Session działa na 139 porcie TCP. Wszystkie żądania NetBIOS dla TCP są adresowane na docelowy 139 port TCP. Podczas identyfikacji aplikacji NetBIOS do ustanowienia sesji NetBIOS, używana jest nazwa NetBIOS.

Przykładem procesu używającego nazwy NetBIOS jest usługa serwera i druku na komputerach opartych na Windows 2000. Kiedy komputer zostaje uruchomiony, usługa serwer rejestruje niepowtarzalną nazwę NetBIOS, w oparciu o nazwę komputera.

Dokładna nazwa jakiej używa usługa serwera to
15-znakowa nazwa komputera plus szesnasty znak 0x20. Jeśli nazwa komputera jest krótsza od 15 znaków, to jest dopełniana spacjami do 15 znaków.

Inne usługi sieciowe także używają nazwy komputera do tworzenia swoich nazw NetBIOS, tak więc szesnasty znak jest używany w celu niepowtarzalnej identyfikacji każdej usługi, jak stacja robocza, serwer czy posłaniec.

 

Kiedy użytkownik próbuje utworzyć połączenie udostępniające pliku na komputerze opartym na Windows 2000, usługa serwer na podanym serwerze odpowiada konkretnej nazwie NetBIOS. Przykładowo, gdy użytkownik próbuje połączyć się z komputerem o nazwie CORPSERVER, nazwa NetBIOS odpowiadająca usłudze serwer ma postać „CORPSERVER <20>” (należy zauważyć wypełnienie znakami spacji). Zanim zostanie ustanowione połączenie udostępniające pliki i druk, musi zostać ustanowione połączenie TCP. Aby ustanowić połączenie TCP, nazwa NetBIOS „CORPSERVER <20>” musi zostać rozwiązana na adres IP.

Aby obejrzeć nazwy NetBIOS zarejestrowane przez procesy NetBIOS uruchomione na komputerze działającym pod Windows, należy wpisać polecenie nbtstat –n w wierszu poleceń.


Typowe nazwy NetBIOS             

 

Nazwa

Przyrostek

NetBIOS

Typ

Opis

Nazwa komputera

00

Jednostkowa

Usługa stacji roboczej

Msbrowse_

01

Jednostkowa

Nazwa wykorzystywana przez główną przeglądarkę segmentu do rozgłaszania i odbierania ogłoszeń domen w segmencie

Nazwa komputera

03

Jednostkowa

Nazwa określonego komputera

Nazwa użytkownika

03

Jednostkowa

Nazwa określonego użytkownika

Nazwa komputera

06

Jednostkowa

Serwer RAS

Nazwa domeny

1B

Jednostkowa

Główna przeglądarka domeny

Nazwa domeny

1D

Jednostkowa

Główna przeglądarka w segmencie

Nazwa komputera

1F

Jednostkowa

Usługa NetDDE

Nazwa komputera

20

...

Zgłoś jeśli naruszono regulamin