Все, что ты хотел узнать о сетевых протоколах
Xakep, номер #046, стр. 046-044-4 Часть четвертая - прикладные протоколы Загадочный NetBIOS NetBIOS (Network Basic Input Output System - базовая система сетевого ввода вывода) - это стандартный интерфейс прикладного программирования. А проще говоря, это всего лишь набор API функций для работы с сетью (хотя весь NetBIOS состоит только из одной функции, но зато какой...). NetBIOS был разработан в 1983 году компанией Sytek Corporation специально для IBM. Система NetBIOS определяет только программную часть передачи данных, т.е. как должна работать программа для передачи данных по сети. А вот как будут физически передаваться данные в этом документе, не говорится ни слова, да и в реализации отсутствует что-нибудь подобное. Если посмотреть на рисунок 1, то можно увидеть, что NetBIOS находится в самом верху схемы (большой квадрат вверху справа). Этот квадрат расположен на уровнях сеанса, представления и приложения. Такое расположение квадрата - лишнее подтверждение моих слов. NetBIOS только формирует данные для передачи, а физически передаваться они могут только с помощью другого протокола, например, TCP/IP. Это значит, что NetBIOS является независимым от транспорта. Если другие варианты протоколов верхнего уровня (только формирующих пакеты, но не передающих) привязаны к определенному транспортному протоколу, который должен передавать сформированные данные, то пакеты NetBIOS может передавать любой другой протокол. Прочувствовал силу? Представь, что ты написал сетевую прогу, работающую через NetBIOS. А теперь запомни, что она будет прекрасно работать как в Unix/Windows сетях через TCP, так и в Novell сетях через IPX. С другой стороны, для того, чтобы два компьютера смогли соединиться друг с другом по NetBIOS, необходимо, чтобы на обоих компах стоял хотя бы один общий транспортный протокол. Если один комп будет посылать NetBIOS пакеты поверх TCP, а другой поверх IPX, то эти компьютеры друг друга не поймут. Транспорт должен быть одинаковый. Стоит сразу же отметить, что не все варианты транспортных протоколов по умолчанию могут передавать по сети NetBIOS пакеты. Например, IPX/SPX сам по себе этого не умеет. Чтобы его обучить, нужно иметь "NWLink IPX/SPX/NetBIOS Compatible Transport Protocol". Так как NetBIOS чаще всего использует в качестве транспорта протокол TCP, который работает с установкой виртуального соединения между клиентом и сервером, то по этому протоколу можно передавать достаточно важные данные. Целостность и надежность передачи будет осуществлять TCP/IP, а NetBIOS дает только удобную среду для работы с пакетами и кодинга сетевого софта. Так что если тебе нужно отправить в сеть какие-то файлы, то можно смело положиться на NetBIOS. NetBEUI В 1985 году уже сама IBM сделала попытку превратить NetBIOS в полноценный протокол, который умеет не только формировать данные для передачи, но и физически передавать их по сети. Для этого был разработан NetBEUI - (NetBIOS Extended User Interface), предназначенный именно для описания физической части передачи данных протокола NetBIOS. |