Драйверы протоколов
Сетевой протокол, который является самым высоким драйвером в иерархии драйверов NDIS, часто используется в качестве драйвера самого низкого уровня в драйвере транспорта, который реализует стек транспортных протоколов, например стек TCP/IP. Драйвер транспортного протокола выделяет пакеты, копирует данные из отправляющего приложения в пакет и отправляет пакеты драйверу нижнего уровня, вызывая функции NDIS. Драйвер протокола также предоставляет интерфейс протокола для получения входящих пакетов от следующего драйвера более низкого уровня. Драйвер транспортного протокола передает полученные данные в соответствующее клиентское приложение.
На нижней границе драйвер протокола взаимодействует с промежуточными сетевыми драйверами и драйверами miniport. Драйвер протокола вызывает функции NdisXxx для отправки пакетов, чтения и задания сведений, которые поддерживаются драйверами более низкого уровня, и использования служб операционной системы. Драйвер протокола также экспортирует набор точек входа (функций ProtocolXxx ), которые NDIS вызывает для собственных целей или от имени драйверов более низкого уровня, чтобы указать пакеты приема, указать состояние драйверов более низкого уровня и иным образом взаимодействовать с драйвером протокола.
На верхнем крае драйвер транспортного протокола имеет частный интерфейс для драйвера более высокого уровня в стеке протоколов.
Дополнительные сведения о стеке драйверов NDIS и схеме, показывающую связь между всеми четырьмя типами драйверов NDIS, см. в разделе Стек драйверов NDIS.
Протоколы компьютерной сети
Как было показано ранее, при обмене информацией в сети каждый уровень модели ВОС реагирует на свой заголовок. Иными словами, происходит взаимодействие между одноименными уровнями модели в различных абонентских ЭВМ. Такое взаимодействие должно выполняться по определенным правилам.
Протокол — набор правил, определяющий взаимодействие двух одноименных уровней модели взаимодействия открытых систем в различных абонентских ЭВМ.
Протокол — это не программа. Правила и последовательность выполнения действий при обмене информацией, определенные протоколом, должны быть реализованы в программе. Обычно функции протоколов различных уровней реализуются в драйверах для различных вычислительных сетей.
В соответствии с семиуровневой структурой модели можно говорить о необходимости существования протоколов для каждого уровня.
Концепция открытых систем предусматривает разработку стандартов для протоколов различных уровней. Легче всего поддаются стандартизации протоколы трех нижних уровней модели архитектуры открытых систем, так как они определяют действия и процедуры, свойственные для вычислительных сетей любого класса.
Труднее всего стандартизовать протоколы верхних уровней, особенно прикладного, из-за множественности прикладных задач и в ряде случаев их уникальности. Если по типам структур, методам доступа к физической передающей среде, используемым сетевым технологиям и некоторым другим особенностям можно насчитать примерно десяток различных моделей вычислительных сетей, то по их функциональному назначению пределов не существует.
Основные типы протоколов
Проще всего представить особенности сетевых протоколов на примере протоколов канального уровня, которые делятся на две основные группы: байт-ориентированные и бит-ориентированные.
Байт-ориентированныйпротокол обеспечивает передачу сообщения по информационному каналу в виде последовательности байтов. Кроме информационных байтов в канал передаются также управляющие и служебные байты. Такой тип протокола удобен для ЭВМ, так как она ориентирована на обработку данных, представленных в виде двоичных байтов. Для коммуникационной среды байт-ориентированный протокол менее удобен, так как разделение информационного потока в канале на байты требует использования дополнительных сигналов, что в конечном счете снижает пропускную способность канала связи.
Наиболее известным и распространенным байт-ориентированным протоколом является протокол двоичной синхронной связи BSC (Binary Synchronous Communication), разработанный фирмой IBM. Протокол обеспечивает передачу двух типов кадров: управляющих и информационных. В управляющих кадрахпередаются управляющие и служебные символы, винформационных —сообщения (отдельные пакеты, последовательность пакетов). Работа протокола BSC осуществляется в три фазы: установление соединения, поддержание сеанса передачи сообщений, разрыв соединения. Протокол требует на каждый переданный кадр посылки квитанции о результате его приема. Кадры, переданные с ошибкой, передаются повторно. Протокол определяет максимальное число повторных передач.
Примечание.Квитанция представляет собой управляющий кадр, в котором содержится подтверждение приема сообщения (положительная квитанция) или отказ от приема из-за ошибки (отрицательная квитанция).
Передача последующего кадра возможна только тогда, когда получена положительная квитанция на прием предыдущего. Это существенно ограничивает быстродействие протокола и предъявляет высокие требования к качеству канала связи.
Бит-ориентированныйпротокол предусматривает передачу информации в виде потока битов, не разделяемых на байты. Поэтому для разделения кадров используются специальные последовательности — флаги. В начале кадра ставится флаг открывающий, а в конце — флаг закрывающий.
Бит-ориентированный протокол удобен относительно коммуникационной среды, так как канал связи как раз и ориентирован на передачу последовательности битов. Для ЭВМ он не очень удобен, потому что из поступающей последовательности битов приходится выделять байты для последующей обработки сообщения. Впрочем, учитывая быстродействие ЭВМ, можно считать, что эта операция не окажет существенного влияния на ее производительность. Потенциально бит-ориентированные протоколы являются более скоростными по сравнению с байт-ориентированными, что обусловливает их широкое распространение в современных вычислительных сетях.
Типичным представителем группы бит-ориентированных протоколов являются протокол HDLC (High-level Data Link Control — высший уровень управления каналом связи) и его подмножества. Протокол HDLC управляет информационным каналом с помощью специальных управляющих кадров, в которых передаются команды. Информационные кадры нумеруются. Кроме того, протокол HDLC позволяет без получения положительной квитанции передавать в канал до трех — пяти кадров. Положительная квитанция, полученная, например, на третий кадр, показывает, что два предыдущих приняты без ошибок и необходимо повторить передачу только четвертого и пятого кадров. Такой алгоритм работы и обеспечивает высокое быстродействие протокола.
Из протоколов верхнего уровня модели ВОС следует отметить протокол Х.400 (электронная почта) и FTAM (File Transfer, Access and Management — передача файлов, доступ к файлам и управление файлами).
Стандарты протоколов вычислительных сетей
Для протоколов физического уровня стандарты определены рекомендациями МККТТ. Цифровая передача предусматривает использование протоколов Х.21 и Х.21- бис.
Канальный уровень определяют протокол HDLC и его подмножества, а также протокол Х.25/3.
Широкое распространение локальных вычислительных сетей потребовало разработки стандартов для этой области. В настоящее время для ЛВС используются стандарты, разработанные Институтом инженеров по электротехнике и радиоэлектронике-ИИЭР(IЕЕЕ- Institute of Electrical and Electronics Engineers).
Комитеты IEEE 802 разработали ряд стандартов, часть из которых принята МОС (ISO) и другими организациями. Для ЛВС разработаны следующие стандарты:
- 802.1 — верхние уровни и административное управление;
- 802.2 — управление логическим звеном данных (LLC);
- 802.3 — случайный метод доступа к среде (CSMA/CD — Carrier Sense Multiple Access with Collision Detection — множественный доступ с контролем передачи и обнаружением столкновений);
- 802.4 — маркерная шина;
- 802.5 — маркерное кольцо;
- 802.6 — городские сети.
Взаимодействие двух узлов из различных сетей схематически показано на рис. 6.18. Обмен информацией между одноименными уровнями определяется протоколами, речь о которых шла выше. Примечание.Узлы соединены с помощью канала связи.Этота среда, по которой распространяются сообщения от одного узла сети до другого. Пакеты и кадры, о которых шел разговор, в виде последовательности электрических сигналов приходят из одного узла в другой. Взаимодействие одноименных уровней модели показано пунктирными стрелками. Рис. 6.18.Взаимодействие узлов сети на базе эталонной модели
Компьютерные сети протоколы драйвера и о
Структура кадра, формируемая PHY.
Преамбула передается слева направо. Признак начала кадра — SFD.
4.11. Драйверы сетевого устройства.
4.12. Программные интерфейсы драйверов.
- 16-разрядный. Мог использоваться в сеансах DOS и приложениях Windows (Real Mode NDIS Driver).
- 16/32-разрядный (Real Mode and Enhanced Mode NDIS Driver). Сеансы MSDOS будут использовать 16-разрядный сетевой драйвер, а программы Windows — 32-разрядный.
- 32-разрядный. И в DOS и в Windows используется 32-разрядный драйвер. (Enhanced Mode NDIS Driver).
4.13. Программные интерфейсы протоколов.
Приложения должны взаимодействовать с протоколами.
ОС Windows определяет стандартные интерфейсы и API для протоколов TCP/IP и IPX/SPX.
Приложения используют интерфейсы и API для передачи и приема данных с применением специфического протокола.
Для Windows разных версий наиболее приемлемым является программный интерфейс WinSock. Он позволяет приложениям взаимодействовать, используя эти протоколы или же другие — специфические.
До WinSock существовало множество API, каждый из которых предназначался только для своего протокола. WinSock предоставляет общий интерфейс для всех протоколов.
Правила топологии.
Существует 2 типа повторителей: класс 1 и класс 2. Они выполняют одну и ту же функцию, но разными способами. Главное различие — правило топологии для соединения узлов с повторителями, т.е. это правила, определяющие способы такого соединения. Именно эти правила определяют различия между Fast Ethernet и 10 Base-T.
- модель передачи 1
- модель передачи 2
- длина медного кабеля (кат. 3 — 5) между узлом и повторителем не должна быть дольше 100 м (определяется электрическими свойствами кабеля).
- одна сеть Fast Ethernet может содержать 1 или 2 повторителя класса 2.
- запрещается соединять 3 или более повторителей класса 2.
- длина кабеля связи между повторителями класса 2 не должна превышать 5 м.
- одна сеть Fast Ethernet может содержать только 1 повторитель класса 1.
- в одной и той же сети Fast Ethernet нельзя использовать одновременно повторители класса 1 и 2.
- функция передачи; повторитель должен быть способным передать сигнал нужного формата в среду, подсоединенную к каждому порту.
- функция приема — повторитель должен быть способным получать сигналы, поступающие стандартным путем.
- функция обработки данных — способность передавать сигналы между любыми портами.
- функция обработки поступивших событий — способность обнаружить, когда узел передает данные, а когда нет. Это называется опросом несущей.
- функция восстановления сигнала — полученные сигналы повторитель должен восстановить до нормального, чистого состояния.
- функция обработки ошибок — способность обнаружить, когда канал связи с узлом является источником ошибок и не давать этим ошибкам распространяться на другие связи.
- функция разбиения — способность изолировать узел, вызывающий большое количество следующих одна за другой коллизий от остальных узлов путем закрытия его порта.
- функция обработки затянувшейся передачи — способность прерывать затянувшуюся передачу путем отключения его порта.
Если у вас есть программы, предложения или замечания — пишите: chemisk@mail.ru