РАСКЛАДКА ПРОТОКОЛА 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

Выпуски журнала "СПЕЦ Xakep"
Cпец Хакер #01Cпец Хакер #02Cпец Хакер #03Cпец Хакер #04Cпец Хакер #05Cпец Хакер #06Cпец Хакер #07Cпец Хакер #08Cпец Хакер #09Cпец Хакер #10Cпец Хакер #11Cпец Хакер #12Cпец Хакер #13Cпец Хакер #14Cпец Хакер #15Cпец Хакер #16Cпец Хакер #17Cпец Хакер #18Cпец Хакер #19Cпец Хакер #20Cпец Хакер #21Cпец Хакер #22Cпец Хакер #23Cпец Хакер #24Cпец Хакер #25Cпец Хакер #26Cпец Хакер #27Cпец Хакер #28Cпец Хакер #29Cпец Хакер #30Cпец Хакер #31Cпец Хакер #32Cпец Хакер #33Cпец Хакер #34Cпец Хакер #35Cпец Хакер #36Cпец Хакер #37Cпец Хакер #38Cпец Хакер #39Cпец Хакер #40Cпец Хакер #41Cпец Хакер #42Cпец Хакер #43Cпец Хакер #44Cпец Хакер #45Cпец Хакер #46Cпец Хакер #47Cпец Хакер #48Cпец Хакер #49Cпец Хакер #50Cпец Хакер #51Cпец Хакер #52Cпец Хакер #53Cпец Хакер #54Cпец Хакер #55Cпец Хакер #56Cпец Хакер #57Cпец Хакер #58Cпец Хакер #59Cпец Хакер #60Cпец Хакер #61Cпец Хакер #62Cпец Хакер #63Cпец Хакер #64Cпец Хакер #65Cпец Хакер #66Cпец Хакер #67Cпец Хакер #68Cпец Хакер #69Cпец Хакер #70Cпец Хакер #71Cпец Хакер #72Cпец Хакер #73Cпец Хакер #74Cпец Хакер #75