logo
Лекции по сетям ЭВМ 21-79

54. Общая характеристика интерфейса NetBios и NetBios over tcp/ip. (косячно)

NetBIOS: Network Basic Input Output System (Сетевая базовая система ввода-вывода).

Протокол NetBIOS был создан для работы в локальных сетях. Система NetBIOS предназначена для персональных ЭВМ типа IBM/PC в качестве интерфейса, независящего от фирмы-производителя. NetBIOS использует в качестве транспортных протоколов TCP и UDP.

Это стандартный сетевой интерфейс, предложенный для IBM PC и совместимых систем. Протокол NetBIOS работает на трех уровнях модели взаимодействия открытых систем: сетевом, транспортном и сеансовом. NetBIOS может обеспечить сервис более высокого уровня, чем протоколы IPX и SPX, однако не обладает способностью к маршрутизации. Таким образом, NetBIOS не является сетевым протоколом в строгом смысле этого слова. NetBIOS содержит много полезных сетевых функций, которые можно отнести к сетевому, транспортному и сеансовому уровням, однако с его помощью невозможна маршрутизация пакетов, так как в протоколе обмена кадрами NetBIOS не вводится такое понятие как сеть. Это ограничивает применение протокола NetBIOS локальными сетями, не разделенными на подсети. Протокол NetBIOS строго ориентирован на работу в локальных сетях, не разделяемых на части маршрутизаторами. Поэтому его разработчики не стали вводить такого понятия как "сеть" или "номер сети", ограничившись использованием для компьютеров МАС-адресов и символьных имен. Протокол NetBIOS может работать в двух режимах - дейтаграммном и с установлением соединения. В последнем случае он занимается восстановлением утерянных и искаженных кадров протокола канального уровня .Протокол NetBIOS широко использует широковещательный трафик - в данном случае он используется для установления соответствия между символьными именами компьютеров и МАС-адресами.

Любая сессия начинается с netbios-запроса, задания ip-адреса и определения tcp-порта удаленного объекта, далее следует обмен NETBIOS-сообщениями, после чего сессия закрывается. Сессия осуществляет обмен информацией между двумя netbios-приложениями. Длина сообщения лежит в пределах от 0 до 131071 байт. Допустимо одновременное осуществление нескольких сессий между двумя объектам

С помощью NetBIOS

пpиложение может откpывать сеанс связи с дpугим устpойством, а пpогpамма

пеpеадpесации или пpотокол тpанзакций - пеpедавать запpос с одной

машины на дpугую, но сам NetBIOS данными не манипулиpует. Спецификация

NetBIOS опpеделяет интеpфейс с сетевым пpотоколом, используемым для обpащения

к этим сеpвисам, а не сам пpотокол.

Истоpически NetBIOS использовался (в качестве тpанспоpта часто

используется TCP/IP, IPX/SPX) в паpе с сетевым тpанспоpтным пpотоколом NetBEUI

(NetBIOS Extended User Interface). NetBEUI - это пpотокол, дополняющий

спецификацию интеpфейса NetBIOS, используемую сетевой опеpационной системой.

NetBEUI фоpмализует кадp тpанспоpтного уpовня, не стандаpтизованный в NetBIOS.

Он не соответствует какому-то конкpетному уpовню модели OSI, а охватывает

тpанспоpтный уpовень, сетевой уpовень и подуpовень LLC канального уpовня.

NetBEUI взаимодействует напpямую с NDIS уpовня MAC. Таким обpазом это не

маpшpутизиpуемый пpотокол.

Реализация NetBEUI в Microsoft Windows for Workgroups подходит только для небольших сетей, содержащих не более 100-200 рабочих станций. Причина этого заключается в том, что протокол NETBEUI способен работать только в одном сегменте сети (т. е. пакеты данных не могут проходить через мосты).

Т.о. NetBIOS – набор функций, IP адресов, сокетов нет, есть имена. NetBIOS over TCP/IPчтобы связать NetBIOS и TCP/IP используется проткол WINS , он устанавливает соответствие между IP адресами и NetBIOSименами.

55, 56 (не нашла разницы для двух этих вопросов в этом гребанном файле про гребанные сокеты, который он дал) Общая характеристика сетевого интерфейса прикладного программирования Winsock. Типовые шаги при создании приложения на базе протокола UDP., TCP (жопа какая-то) (молитесь, чтобы этот вопрос вам не попал)

Winsock – это сетевой интерфейс прикладного программирования, реализованный на всех платформах Win32, основной интерфейс доступа к разным базовым сетевым протоколам. Интерфейс унаследовал многое от реализации Berkeley (BSD) Sockets на платформах UNIX. В средах Win32 он стал абсолютно независимым от протокола, особенно с выпуском Winsock 2. Термин Сокеты (sockets) используется для обозначения описателей поставщиков транспорта. В Win32 сокет отличается от описателя файла, а потому представлен отдельным типом - SOCKET. В технической литературе можно найти различные переводы этого слова - их называют и гнездами, и разъемами, соединителями, патронами и т. д. Ввиду отсутствия устоявшегося русскоязычного термина, в настоящем материала sockets будут именоваться сокетами без какого-либо перевода.

С позиций эталонной модели OSI интерфейс Winsock расположен между сеансовым и транспортным уровнями. Под управлением Windows прикладной, представительский и сеансовый уровни, в основном относятся к вашему приложению.

Программирование с применением сокетов достаточно несложно само по себе, но, к сожалению, сравнительно поверхностно описано в распространенной литературе, а документация Windows Sockets SDK содержит множество ошибок, как в технических описаниях, так и в демонстрационных примерах. Кроме того, существуют значительные отличия реализаций сокетов в UNIX и в Windows, что создает очевидные проблемы.

Библиотека Winsock поддерживает два вида сокетов - синхронные (блокируемые) и асинхронные (неблокируемые). Синхронные сокеты задерживают управление на время выполнения операции, а асинхронные возвращают его немедленно, продолжая выполнение в фоновом режиме, и, закончив работу, уведомляют об этом вызывающий код.

Устаревшие ОС Windows 3.x поддерживали только асинхронные сокеты, поскольку в среде с корпоративной многозадачностью захват управления одной задачей "подвешивает" все остальные, включая и саму систему. ОС Windows 9x и NT/2000/XP поддерживают оба вида сокетов, однако в силу того, что синхронные сокеты программируются более просто, чем асинхронные, последние не получили большого распространения. Данное описание посвящено, главным образом, синхронным сокетам.

Сокеты позволяют работать со множеством протоколов и являются удобным средством межпроцессорного взаимодействия, но в данном разделе речь будет идти только о сокетах семейства протоколов TCP/IP, использующихся для обмена данными между узлами сети Интернет. Все остальные протоколы, такие как IPX/SPX, NetBIOS будут представлены в других разделах.

Независимо от вида, сокеты делятся на два типа - потоковые и дейтаграммные. Потоковые сокеты работают с установлением соединения, обеспечивая надежную идентификацию обоих сторон и гарантируя целостность и успешность доставки данных. Дейтаграмные сокеты работают без установления соединения и не обеспечивают ни идентификации отправителя, ни контроля успешности доставки данных, зато они заметно быстрее потоковых.

Выбор того или иного типа сокетов определяется транспортным протоколом, на котором работает сервер, клиент не может по своему желанию установить с дейтаграммным сервером потоковое соединение.

Замечание: дейтаграммные сокеты опираются на протокол UDP, а потоковые на TCP.