РАСКЛАДКА ПРОТОКОЛА NetBIOS

NetBIOS по полочкам

Спецвыпуск Xakep, номер #023, стр. 023-038-1


Матушка Лень (Mlen@mail.ru)

ИСТОРИЯ ПЕРВАЯ (В ДУХЕ КИПЛИНГА)

Как NetBIOS стал Биосом

Когда-то давным-давно (1986 год) фирма IBM припаяла BIOS к своим сверхскоростным сетевым адаптерам Token-Ring. То есть микросхему с базовой системой ввода-вывода (Basic Input/Output System). Базовая система ввода-вывода (BIOS) стоит и на современных компах. Эта маленькая микросхема осуществляет тестирование и настройку большинства железок, а также запуск операционной системы. А как ты хотел? Ведь твой компьютер с выключенным питанием - это куча металлолома, соединенного проводами. Каждый раз, когда компьютер включают, BIOS начинает искать жесткие диски, дисководы, видеокарты... Базовая система собирает все эти разрозненные железки в единый механизм. После того как сбор окончен, очень удобно обращаться к железкам через прерывания BIOS. То есть пара строк на ассемблере может высветить точку на экране монитора или записать байт на поверхность жесткого диска.

NetBIOS (Network BIOS) должен был делать все то же самое, только с сетью. Это было очень удобно и повысило производительность маркерного кольца (Token-Ring). Все дело в том, что сетевые программы смогли обращаться к сети через прерывания NetBIOS. То есть пара строк на ассемблере позволяла передать пакет с данными через сеть. Весь геморрой с протоколами взяла на себя микросхема, запаянная в сетевую карточку IBM, что позволило разгрузить и без того тормозной компьютер. Этот набор сетевых средств оказался очень удобным, его используют до сих пор для разработки простеньких сетевых программ, а называют BIOS API (Application Program Interface), то есть интерфейс прикладной программы с сетевыми службами. Или NetBEUI (NetBIOS Extended User Interface). В исконном NetBIOS не был формализован транспортный и сетевой протоколы. Поэтому API был не полным. Для того чтобы дополнить NetBIOS, ввели протокол NetBEUI, который и служит транспортно-сетевым протоколом. А стек называется NetBIOS/NetBEUI.

Для справки расскажу, что Token-Ring - это эстафетная сеть передачи данных по кольцу. Тот компьютер, у которого есть маркер, имеет право передавать данные после того как он передал маркер другому компу - данные передает другой. Маркер - это служебный кусок информации, передаваемый по сети от машины к машине. На основе Token-Ring сделали такие технологии, как Fast Ethernet и FDDI, которые используются в современных локальных сетях.

А теперь я открою тебе страшную тайну! Настоящий NetBIOS сгинул вмести с адаптерами 86-го года! Все с чем мы имеем дело - это эмуляторы этой микросхемы. На первый взгляд это глупо, но протокол и прерывания этой микросхемы были настолько удобными, простыми и быстрыми, что оказалось выгодным ее эмулировать. Тем более, что IBM открыла информацию о протоколах NetBIOS для всех бесплатно.

ИСТОРИЯ ВТОРАЯ (ЭРОТИЧЕСКАЯ)

Про то, как NetBIOS оказался сверху

Поначалу NetBIOS заменял собой почти все. И многие вещи в нем были очень удобны, но главные недостатки скрывались в отсутствии маршрутизации и в широковещательных запросах. Поэтому теперь NetBIOS бегает поверх IPX (Internetwork Packet eXchange - обмен пакетами международной сети) в операционных системах фирмы Novell. Или поверх TCP/IP в сетях Microsoft. Юниксы, как всегда, ухитряются быть совместимыми и с теми, и с этими.

Содержание  Вперед на стр. 023-038-2