NetBIOS - NetBIOS

NetBIOS ( / n ɛ t b ɒ s / ) jest skrótem od Systemu Network Basic Input / Output . Świadczy usługi związane z warstwy sesji w modelu OSI umożliwiając aplikacji na oddzielnych komputerach do komunikowania się w sieci lokalnej . Jako ściśle API , NetBIOS nie jest protokołem sieciowym . Starsze systemy operacyjne uruchamiały NetBIOS przez IEEE 802.2 i IPX/SPX przy użyciu ramek NetBIOS (NBF) i NetBIOS przez IPX/SPX(NBX). W nowoczesnych sieciach NetBIOS normalnie działa przez TCP/IP za pośrednictwem protokołu NetBIOS over TCP/IP (NBT). Powoduje to, że każdy komputer w sieci ma zarówno adres IP, jak i nazwę NetBIOS odpowiadającą (prawdopodobnie innej) nazwie hosta. NetBIOS jest również używany do identyfikacji nazw systemów w TCP/IP(Windows). Mówiąc najprościej, jest to protokół, który umożliwia komunikację plików i drukarek za pośrednictwem warstwy sesji modelu OSI w sieci LAN.

Historia i terminologia

NetBIOS to nieroutowalny protokół warstwy 5 sesji OSI i usługa, która umożliwia aplikacjom na komputerach komunikowanie się ze sobą za pośrednictwem sieci lokalnej (LAN). NetBIOS został opracowany w 1983 roku przez Sytek Inc . jako API do komunikacji oprogramowania w technologii IBM PC Network LAN. W sieci PC, jako sam interfejs API, NetBIOS polegał na zastrzeżonych protokołach sieciowych Sytek do komunikacji przez sieć. Pomimo obsługi maksymalnie 80 komputerów w sieci LAN, NetBIOS stał się standardem branżowym.

W 1985 r. IBM poszedł naprzód ze schematem sieci Token Ring i wyprodukowano emulator NetBIOS, aby umożliwić aplikacjom obsługującym NetBIOS z ery sieci PC pracę nad tym nowym projektem. Ten emulator, nazwany NetBIOS Extended User Interface (NetBEUI), rozszerzył bazowe API NetBIOS o między innymi możliwość radzenia sobie z większą pojemnością węzłów Token Ring. Jednocześnie opracowano nowy protokół sieciowy, NBF , aby umożliwić NetBEUI (NetBIOS) świadczenie usług przez Token Ring – w szczególności w warstwie IEEE 802.2 Logical Link Control .

W 1985 roku firma Microsoft stworzyła implementację NetBIOS dla swojej technologii sieciowej MS-Net . Podobnie jak w przypadku Token Ring firmy IBM, usługi implementacji NetBIOS firmy Microsoft były świadczone przez warstwę IEEE 802.2 Logical Link Control przez protokół NBF . Dopóki firma Microsoft nie przyjęła rozpoznawania nazw hostów w systemie nazw domen (DNS) , systemy operacyjne firmy Microsoft używały protokołu NetBIOS do rozpoznawania nazw w sieciach klient-serwer systemu Windows .

W 1986 roku Novell wydał Advanced Novell NetWare 2.0 z własnym emulatorem NetBIOS. Jej usługi zostały zawarte w protokole NetWare IPX/SPX przy użyciu protokołu NetBIOS over IPX/SPX (NBX).

W 1987 roku opublikowano metodę enkapsulacji NetBIOS w pakietach TCP i UDP , NetBIOS over TCP/IP (NBT). Zostało to opisane w RFC 1001 („Standard protokołu dla usługi NetBIOS w transporcie TCP/UDP: pojęcia i metody”) oraz RFC 1002 („Standard protokołu dla usługi NetBIOS w transporcie TCP/UDP: szczegółowe specyfikacje”). Protokół NBT został opracowany, aby „umożliwić zbudowanie implementacji [aplikacji NetBIOS] w praktycznie każdym systemie, w którym dostępny jest zestaw protokołów TCP/IP” oraz „zezwolić na współdziałanie NetBIOS w Internecie”.

Po tym, jak komputer PS/2 pojawił się na rynku w 1987 roku, IBM wypuścił program obsługi sieci LAN dla komputerów PC, który zawierał sterownik dla NetBIOS.

Istnieje pewne zamieszanie między nazwami NetBIOS i NetBEUI. NetBEUI powstał wyłącznie jako moniker dla ulepszonego emulatora NetBIOS firmy IBM z 1985 roku dla Token Ring. Nazwa NetBEUI powinna tam umrzeć, biorąc pod uwagę, że w tamtym czasie implementacje NetBIOS przez inne firmy były znane po prostu jako NetBIOS, niezależnie od tego, czy zawierały rozszerzenia API znalezione w tym emulatorze. Jednak w przypadku MS-Net firma Microsoft zdecydowała się nazwać swoją implementację protokołu NBF „NetBEUI” – nazywając swoją implementację protokołu transportowego drugą wersją interfejsu API firmy IBM. W związku z tym udostępnianie plików i drukarek firmy Microsoft przez Ethernet nadal nazywa się NetBEUI, a nazwa NetBIOS jest powszechnie używana tylko w przypadku udostępniania plików i drukarek przez TCP/IP . Dokładniej, pierwszy z nich to NetBIOS Frames (NBF), a drugi to NetBIOS przez TCP/IP (NBT).

Specyfikacja NetBIOS API stała się de facto standardem od czasu opublikowania w podręczniku technicznym IBM .

Usługi

NetBIOS zapewnia trzy różne usługi:

(Uwaga: SMB , wyższa warstwa, jest usługą, która działa na szczycie usługi sesji i usługi datagramu i nie należy jej mylić jako niezbędnej i integralnej części samego NetBIOS. Może teraz działać na szczycie TCP z małym warstwa adaptacyjna, która dodaje długość pakietu do każdej wiadomości SMB; jest to konieczne, ponieważ TCP zapewnia tylko usługę strumienia bajtów bez pojęcia granic pakietów).

Usługa nazw

Aby rozpocząć sesje lub rozpowszechniać datagramy, aplikacja musi zarejestrować swoją nazwę NetBIOS za pomocą usługi nazw. Nazwy NetBIOS mają długość 16 oktetów i różnią się w zależności od konkretnej implementacji. Często 16. oktet, nazywany sufiksem NetBIOS, określa typ zasobu i może być używany do informowania innych aplikacji o rodzaju usług oferowanych przez system. W NBT usługa nazw działa na porcie UDP 137 (port TCP 137 może być również używany, ale rzadko jest).

Prymitywy usługi nazw oferowane przez NetBIOS to:

  • Dodaj nazwę – rejestruje nazwę NetBIOS.
  • Dodaj nazwę grupy – rejestruje nazwę „grupy” NetBIOS.
  • Usuń nazwę – wyrejestrowuje nazwę NetBIOS lub nazwę grupy.
  • Znajdź nazwę – wyszukuje nazwę NetBIOS w sieci.

Rozpoznawanie nazw NetBIOS nie jest obsługiwane przez firmę Microsoft dla protokołu internetowego w wersji 6 (IPv6) .

Usługa dystrybucji datagramów

Tryb datagramowy jest bezpołączeniowy ; aplikacja jest odpowiedzialna za wykrywanie i usuwanie błędów. W NBT usługa datagramów działa na porcie UDP 138.

Prymitywy usługi datagramów oferowane przez NetBIOS to:

  • Wyślij Datagram – wyślij datagram do zdalnej nazwy NetBIOS.
  • Send Broadcast Datagram – wyślij datagram do wszystkich nazw NetBIOS w sieci.
  • Odbierz datagram — czekaj na przybycie pakietu z operacji wysyłania datagramu.
  • Receive Broadcast Datagram — czekaj na przybycie pakietu z operacji wysyłania Broadcast Datagram.

Obsługa sesji

Tryb sesji umożliwia dwóm komputerom nawiązanie połączenia, umożliwia przesyłanie wiadomości do wielu pakietów oraz zapewnia wykrywanie błędów i odzyskiwanie. W NBT usługa sesji działa na porcie TCP 139.

Prymitywy usług sesji oferowane przez NetBIOS to:

  • Call – otwiera sesję ze zdalną nazwą NetBIOS.
  • Listen – nasłuchuj prób otwarcia sesji z nazwą NetBIOS.
  • Rozłącz się – zamknij sesję.
  • Wyślij – wysyła pakiet do komputera na drugim końcu sesji.
  • Wyślij bez potwierdzenia — podobnie jak Wyślij, ale nie wymaga potwierdzenia.
  • Odbierz – czekaj na przybycie pakietu z Send na drugim końcu sesji.

W pierwotnym protokole używanym do implementacji usług NetworkBIOS w sieci PC, w celu ustanowienia sesji komputer inicjujący wysyła żądanie Open, na które odpowiada potwierdzenie Open. Komputer, który rozpoczął sesję, wyśle ​​następnie pakiet żądania sesji, który wyświetli monit o akceptację sesji lub odrzucenie sesji.

Podczas ustanowionej sesji na każdy przesłany pakiet odpowiada odpowiedź pozytywnego potwierdzenia (ACK) lub negatywnego potwierdzenia (NAK). NAK poprosi o retransmisję danych. Sesje są zamykane przez komputer nieinicjujący, wysyłając żądanie zamknięcia. Komputer, który rozpoczął sesję, odpowie zamykającą odpowiedzią, która wyświetla ostatni pakiet zamkniętej sesji.

Nazwa NetBIOS a nazwa hosta internetowego

Gdy NetBIOS jest uruchamiany w połączeniu z protokołami internetowymi (np. NBT), każdy komputer może mieć wiele nazw: co najmniej jedną nazwę usługi nazw NetBIOS i co najmniej jedną nazwę hosta internetowego.

Nazwa NetBIOS

Nazwa NetBIOS składa się z 16 znaków ASCII, jednak firma Microsoft ogranicza nazwę hosta do 15 znaków i rezerwuje 16. znak jako sufiks NetBIOS. Ten przyrostek opisuje typ rekordu usługi lub nazwy, taki jak rekord hosta, rekord przeglądarki głównej, rekord kontrolera domeny lub inne usługi. Nazwa hosta (lub krótka nazwa hosta) jest określana podczas instalowania/konfigurowania sieci Windows, zarejestrowane przyrostki są określane przez poszczególne usługi dostarczane przez hosta. Aby połączyć się z komputerem z uruchomionym protokołem TCP/IP za pośrednictwem jego nazwy NetBIOS, nazwa musi zostać przetłumaczona na adres sieciowy . Obecnie jest to zwykle adres IP (rozpoznawanie nazwy NetBIOS na adres IP jest często wykonywane przez rozgłoszenia lub serwer WINS – serwer nazw NetBIOS). Nazwa NetBIOS komputera jest często taka sama, jak nazwa hosta tego komputera (patrz poniżej), chociaż jest skrócona do 15 znaków, ale może też być zupełnie inna.

Nazwy NetBIOS to ciąg znaków alfanumerycznych. Następujące znaki są wyraźnie niedozwolone:\/:*?"<>|. Od systemu Windows 2000 nazwy NetBIOS również musiały być zgodne z ograniczeniami dotyczącymi nazw DNS: nie mogą składać się wyłącznie z cyfr, a znaki łącznika („-”) lub kropki („.””) mogą nie być pierwszym ani ostatnim znakiem . Od systemu Windows 2000 firma Microsoft odradza umieszczanie w nazwach NetBIOS jakichkolwiek znaków kropki („.””), aby aplikacje mogły wykorzystać obecność kropki do odróżnienia nazw domen od nazw NetBIOS.

Plik LMHOSTS systemu Windows udostępnia metodę rozpoznawania nazw NetBIOS, której można używać w małych sieciach, które nie korzystają z serwera WINS.

Nazwa hosta internetowego

Nazwy NetBIOS komputera z systemem Windows nie należy mylić z nazwą hosta internetowego komputera (zakładając, że komputer jest również hostem internetowym oprócz tego, że jest węzłem NetBIOS, co niekoniecznie musi mieć miejsce). Ogólnie komputer z protokołami internetowymi (niezależnie od tego, czy jest to komputer z systemem Windows, czy nie) zwykle ma nazwę hosta (czasami nazywaną również nazwą komputera). Pierwotnie nazwy te były przechowywane i dostarczane przez plik hosts, ale obecnie większość takich nazw jest częścią hierarchicznego systemu nazw domen (DNS).

Ogólnie nazwa hosta komputera z systemem Windows jest oparta na nazwie NetBIOS oraz sufiksie podstawowego DNS, które są ustawiane w oknie dialogowym Właściwości systemu. Mogą również istnieć sufiksy specyficzne dla połączenia, które można wyświetlić lub zmienić na karcie DNS w Panelu sterowania → Sieć → TCP/IP → Właściwości zaawansowane. Nazwy hostów są używane przez aplikacje takie jak telnet , ftp , przeglądarki internetowe itp. Aby połączyć się z komputerem z protokołem TCP/IP przy użyciu jego nazwy, nazwa hosta musi zostać przetłumaczona na adres IP , zazwyczaj przez serwer DNS. (Możliwe jest również obsługiwanie wielu aplikacji opartych na protokole TCP/IP, w tym trzech wymienionych powyżej, przy użyciu tylko adresów IP, ale nie jest to normą.)

Typy węzłów

W systemie Windows typ węzła komputera sieciowego odnosi się do sposobu, w jaki rozwiązuje on nazwy NetBIOS na adresy IP . Zakłada się, że istnieją jakiekolwiek adresy IP dla węzłów NetBIOS, co jest gwarantowane tylko wtedy, gdy NetBIOS działa przez NBT; w ten sposób typy węzłów nie są właściwością NetBIOS per se, ale interakcji między NetBIOS i TCP/IP w środowisku systemu operacyjnego Windows. Istnieją cztery typy węzłów.

  • Węzeł B: transmisja 0x01
  • Węzeł P: 0x02 Peer (tylko WINS)
  • Węzeł M: 0x04 Mieszany (nadawanie, a następnie WINS)
  • Węzeł H: hybryda 0x08 (WINS, następnie transmisja)

Używany typ węzła jest wyświetlany po otwarciu wiersza poleceń i wpisaniu ipconfig /all . Okna rejestru komputer może być również skonfigurowany w taki sposób, aby wyświetlić „nieznany” dla typu węzła.

Przyrostki NetBIOS

Sufiks NetBIOS, alternatywnie nazywany znakiem końcowym NetBIOS (endchar), jest 16. znakiem nazwy NetBIOS i wskazuje typ usługi dla zarejestrowanej nazwy. Liczba typów rekordów jest ograniczona do 255; niektóre powszechnie używane wartości to:

Dla unikalnych nazw:

Dla nazw grup:

  • 00: Usługa stacji roboczej (nazwa grupy roboczej/domeny)
  • 1C: Kontrolery domeny dla domeny (rekord grupy z maksymalnie 25 adresami IP)
  • 1E: Wybory usług przeglądarek

Zobacz też

Bibliografia

Dalsza lektura

  • Haugdahl, J. Scott (1990). Wewnątrz NetBIOS . Architektura Technology Corp. ISBN  99914-57-34-8
  • Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2004). Pojęcia dotyczące systemu operacyjnego . (wyd. 7). John Wiley & Synowie. ISBN  0-471-69466-5
  • Meyers, Michael (2004). „Zarządzanie sieciami i rozwiązywanie problemów”. McGraw-Hill. ISBN  978-0-07-225665-9
  • Tamara Dziekan. Network+ Przewodnik po sieciach , s. 206 (NetBEUI)

Zewnętrzne linki