Кіріспе

Желілік протокол NetBIOS over TCP/IP (NBT, немесе кейде NetBT) – NetBIOS API-ге сүйенетін ескі компьютерлік бағдарламаларды қазіргі TCP/IP желілерінде пайдалануға мүмкіндік беретін желілік протокол. NetBIOS 1980-ші жылдардың басында өте шағын желілерді (шамамен он екі компьютер) қолдау үшін әзірленген. Кейбір бағдарламалар әлі де NetBIOS-ты пайдаланады, ал NetBIOS NBF арқылы жұмыс істегенде жүздеген компьютерлік қазіргі желілерде тиімді жұмыс істемейді. Дұрыс конфигурацияланған жағдайда, NBT осы бағдарламаларды үлкен TCP/IP желілерінде (соның ішінде бүкіл Интернетте, бірақ мұндай жағдайда қауіпсіздік мәселелері туындауы мүмкін) өзгеріссіз іске қосуға мүмкіндік береді. NBT RFC 1001 және RFC 1002 стандарттық құжаттарында сипатталған.

Атау қызметі

NetBIOS-та әрбір қатысушы желіге ең көп дегенде 15 таңбадан тұратын бірегей атаумен тіркелуі керек. Ескі желілерде жаңа қолданба атауды тіркегісі келгенде, "Осы атау қазір қолданыста ма?" деген хабарды таратып, жауап күтетін. Егер жауап келмесе, атау қолданылмайды деп болжауға болады. Бірақ күту уақыты бірнеше секундқа созылып, атауды тіркеу өте ұзаққа соқты, себебі атау тіркелмегенін білудің жалғыз жолы – жауап алмау еді. NBT барлық атауларды тіркейтін орталық репозиторийді немесе Атау қызметін пайдалана алады. Сондықтан атауды тіркегісі келетін қолданба атау серверімен (оның белгілі желілік адресі бар) байланысып, "Name Query" пакеті арқылы атау тіркелгенін сұрайды. Бұл әлдеқайда жылдам, себебі атау сервері атау дерекқорында болмаса дереу теріс жауап береді, яғни ол қолжетімді. RFC 1001 және 1002 стандарттарына сәйкес, Атау қызметі NetBIOS Naming Service немесе NBNS деп аталады. Microsoft WINS – NBNS-тің бір іске асырылуы. Атау қызметі қайшылықтарды немесе бірігулерді басқару әдісін үнемі жетілдіріп отыруының нәтижесінде "топ атаулары" әртүрлі өндірушілерде әртүрлі болады және тіпті нұсқасына қарай да өзгеше болуы мүмкін, мысалы, қызметтік жинақтың енгізілуімен. Атау қызметі пакеттерінің форматы DNS-тің форматымен сәйкес. Басты айырмашылықтар – NetBIOS "Node Status" сұранысы, динамикалық тіркеу және қайшылықты белгілеу пакеттерінің қосылуы. Олар UDP протоколында капсуладанған. Кейінгі іске асыруларда атаудың қосымша ауқымы енгізілді, бұл NetBIOS атауын DNS сияқты иерархиялық етеді, бірақ бұл мүмкіндік көбінесе қолданылмайды. Сонымен қатар, сессияны бастау үшін немесе датаграмманы таратудың орнына нақты хостқа жіберу үшін NBT белгілі бір NetBIOS атауына сәйкес келетін хосттың IP-адресін анықтауы керек; бұл "Name Query" пакетін тарату арқылы және/немесе оны NetBIOS атау серверіне жіберу арқылы жүзеге асырылады. Жауапта осы атауға сәйкес келетін хосттың IP-адресі болады. NBNS – алғашқы динамикалық, теңдес-теңдес таратылған атауды тіркеу қызметтерінің бірі. NBNS протоколы Microsoft-тың сынға ұшырады: ол "әңгімешіл" болғандықтан, IPX/SPX, NBF және TCP/IP сияқты бірнеше протоколдардағы динамикалық тіркеу трафигімен желілерді толып кетуіне себеп болды, себебі пайдаланушылар өз машиналарын және желілерін дұрыс конфигурацияламады, осылайша жаман репутацияға ие болды. NBNS-те іске асырылған принциптер көптеген рет қайта іске асырылды, соның ішінде zeroconf және MobileIP сияқты жүйелерде.

Датаграмма тарату қызметі

Детаграмма режимі "қосылыссыз"; NetBIOS-детаграммалары UDP арқылы жіберіледі. Егер деректер нақты бір NetBIOS есіміне жіберілсе, онда "Direct Unique" немесе "Direct Group" пакетімен, ал егер барлық желілік NetBIOS есімдеріне жіберілсе, онда "Broadcast" пакетімен жіберіледі.

Сессия қызметі

Сеанс режимі екі компьютердің "сөйлесу" үшін байланыс орнатуына мүмкіндік береді, ірі хабарламаларды өңдеуге және қателерді анықтау мен түзетуді қамтамасыз етеді. Сессиялар пакеттер алмасу арқылы құрылады. Сессияны орнататын компьютер, сессия құрылатын компьютердегі 139 портқа TCP қосылысын жасауға тырысады. Қосылыс жасалса, сессияны орнататын компьютер, сессияны орнататын қолданбаның NetBIOS атын және сессия құрылатын NetBIOS атын қамтитын "Сессия сұранысы" пакетін қосылыс арқылы жібереді. Сессия құрылатын компьютер "оң сессия жауабы" арқылы сессия құруға болатынын немесе "теріс сессия жауабы" арқылы сессия құру мүмкін еместігін (себебі бұл компьютер осы атқа сессия құрылуын күтпейді немесе осы атқа сессия құру үшін жеткілікті ресурстар жоқ) көрсетеді. Белгіленген сессия кезінде деректер "Сессия хабарламасы" пакеттері арқылы жіберіледі. TCP барлық сессиялық қызмет пакеттерінің ағынын басқаруды, қайта жіберуді және пакеттерді IP-датаграммаларға бөліп, байланыс қабаты пакеттеріне сыйымдылық деңгейінде ұстауды қамтамасыз етеді. Сессиялар TCP қосылысын жабу арқылы аяқталады.

Қауіпсіздіктің осал тұстары

NBT ұйымның әкімшілік бақылауындағы жергілікті желі үшін жиі қолайлы, бірақ Интернет сияқты сенімсіз желі үшін қолайсыз ақпаратты және интерфейстерді ашады. Мысалы, NetBIOS Name Service (NBNS), UDP немесе TCP 137 порты арқылы жұмыс істейтін, кез келген компьютерге өзінің хост атын басқа компьютерлерге тіркеуге мүмкіндік береді. Шабуылшы кез келген хостқа байланысып, хост әдетте байланысатын файл сервері сияқты белгілі бір қызметтің өзі екенін мәлімдей алады. Бұл тыңдап тұрған хосттарға қарсы аралық шабуылға әкелуі мүмкін, және соңында тыңдап тұрған хосттардың желілік қызметтерге NBT арқылы кіру үшін пайдаланатын құпия сөздерінің құлап түсуіне соқтыруы мүмкін. NBNSpoof сияқты құралдар осы шабуылды жүзеге асыру үшін қолданылуы мүмкін. NBT-ні Интернетке ашу, практикалық тұрғыдан алғанда, NBT порттарына жауап беретін хост Windows жүйесінде жұмыс істейтінін көрсетеді. Бұл бір операциялық жүйеге қатысты зиянды әрекеттерді тиімдірек нысанаға алу үшін пайдаланылуы мүмкін.

NT-дан кейінгі клиент-сервер желілерінде маңыздылықтың төмендеуі

MS Windows 2000 / NT-ден кейінгі клиент-серверлік желілерге қатысты, NetBIOS іс жүзінде қолданыстан шығып бара жатқан протоколға айналуда. NetBIOS маршрутизацияланбайтын LAN желілері үшін де жасалған. 2000 жылдан кейінгі Windows 2000 немесе одан кейінгі нұсқаларын қолданатын көптеген желілерде NetBIOS DNS-пен үйлесімділікке дейінгі желілік құрылғылар үшін кері үйлесімділікті қамтамасыз етеді. Клиент-сервер желілерінде (сондай-ақ DNS-пен үйлесімділіктен бұрынғы желілік перифериялық құрылғыларды қолданатын желілерде) NetBIOS-тің басты рөлі – компьютерлер мен желілік перифериялық құрылғылардың атауларын анықтау. Бұдан өзге, ол мұндай желілік құрылғыларға қол жеткізуге және оларды бөлісуге, сондай-ақ желілік папкаларды, ортақ ресурстарды, принтерлерді, факстерді және т.б. іздеуге және көруге мүмкіндік береді. Басты қызметі ретінде ол компьютер мен ортақ папкаларға атау беру үшін TCP/IP арқылы тасымалданатын сессиялық қабат протоколы болып табылады. Осыған байланысты, Windows 2000 негізіндегі клиент-серверлік желілер және одан кейінгі нұсқалар мұндай қауіпсіз емес атауды шешу және желілік ресурстарды іздеу құралын қажет етпейді.

nbtstat

nbtstat командасы – TCP/IP арқылы NetBIOS үшін диагностикалық құрал. Оның басты мақсаты – NetBIOS атауларын табудағы проблемаларды жоюға көмектесу. Бұл команда Microsoft Windows-тың бірнеше нұсқасында қамтылған. nbtstat командасымен бірнеше опцияларды қолдануға мүмкіндік беретін бірнеше командалар бар: жергілікті кэштен іздеу, WINS серверге сұрау, хабар тарату, LMHOSTS-тан іздеу және Хосттардан іздеу. Бұл DNS серверге сұрау үшін арналмаған. Желі қалыпты жұмыс істеген кезде, NetBIOS over TCP/IP (NetBT) NetBIOS атауларын IP мекенжайларына айналдырады. Ол мұны NetBIOS атауларын табудың бірнеше әдістері арқылы жасайды, оның ішінде жергілікті кэштен іздеу, WINS серверге сұрау, хабар тарату, LMHOSTS-тан іздеу, Хосттардан іздеу және DNS серверге сұрау. Команда әртүрлі регистрге сезімтал параметрлерді пайдаланып, алдын ала жүктелген жазбаларды жояды және түзетулер енгізеді. nbtstat a <атау> командасы <атау> арқылы көрсетілген компьютердің NetBIOS адаптерінің күйін тексереді. Адаптер күйі командасы осы компьютердің жергілікті NetBIOS атаулар тізімін, сондай-ақ адаптер картасының MAC мекенжайын көрсетеді. nbtstat A <IP мекенжайы> командасы атаудың орнына мақсатты IP мекенжайын пайдаланып, дәл осы функцияны орындайды.