Собственная wi-fi архитектура для сетей 802.11

Изобретение относится к области систем беспроводной инфраструктуры, в частности использование драйверов при приеме и обработке принятых пакетов. Технический результат, заключающийся в облегчении для пользователя конфигурирования беспроводного сетевого устройства, обеспечивается системой драйверов, которые осуществляют связь с сетевым стеком и сетевой интерфейсной платой (NIC), сервером станции, осуществляющим связь с драйвером станции и вызывающей стороной 802.1X или средством аутентификации 802.1X. Каждая плата NIC обеспечивает поддержку функциональных возможностей станции и/или точки доступа. Драйвер отбрасывает пакеты, которые были приняты, если пакет не был аутентифицирован и ассоциирован. Пакеты, которые были фрагментированы или зашифрованы, вновь собирают и дешифруют. Средство управления ассоциированием используется вместе со средством управления таблицей конфигурации для ассоциирования станций и точек доступа через пакеты управления. Средство управления принимает пакеты данных 802.1X от процессора пакетов и посылает их на сервер станции, который осуществляет связь с приложениями режима пользователя и вызывающей стороной 802.1X или средством аутентификации 802.1X, которые используются для аутентификации или деаутентификации станций и точек доступа. Для обеспечения связи между компонентами предусмотрены интерфейсы API. 4 н. и 27 з.п. ф-лы, 10 ил.

 

Область техники, к которой относится изобретение

Данное изобретение относится в общем случае к беспроводной вычислительной конфигурации и возможностям соединения и, в частности, касается системной конфигурации и возможностей соединения, обеспечиваемых для беспроводных вычислений для сетей IEEE 802.11.

Предшествующий уровень техники

Многие предприятия осознали серьезные преимущества, связанные с функционированием сетевой вычислительной среды. Устанавливая локальные сети (LAN), предприятия дают возможность своим сотрудникам совместно использовать сетевые ресурсы, такие как принтеры, файловые серверы, банки модемов, серверы электронной почты и т.д., поддерживая возможности распределенных вычислений при наличии множества отдельных компьютеров-рабочих станций. В действительности, преимущества сетевых вычислений в настоящее время доступны для домашних вычислительных сред, поскольку все больше и больше семей начинают обзаводиться не одним, а несколькими компьютерами (ПК). Теперь, как в случае с офисом, сетевые ресурсы (например, принтер) члены одной семьи могут использовать совместно.

К сожалению, несмотря на все выгоды, которые предоставляют сети, их архитектура с фиксированным монтажом порождает ряд проблем, зачастую ограничивающих возможности пользователей выполнять вычисления более гибким способом. Например, многим пользователям сетевых компьютеров в настоящее время предоставляется возможность гибкого использования своих компьютеров всякий раз, когда они находятся в поездке, путем применения компьютеров уменьшенных размеров: лэптопов и ноутбуков. Однако, к сожалению, архитектура, физически реализованная с помощью проводных соединений, часто не позволяет множеству пользователей находиться в одном конкретном месте (например, в помещении для совещаний) из-за ограниченного количества портовых розеток для сетевых соединений, которые физически смонтированы в указанном конкретном помещении. Следовательно, хотя пользователь и имеет теоретическую возможность подсоединиться к сети из любого места, где предусмотрена розетка сетевого порта, физические особенности проводного монтажа часто ограничивают эту возможность. Помимо этого, даже если обеспечено достаточное количество выходных розеток, с точки зрения пользователя требование иметь сетевые кабели с длиной, достаточной для подсоединения к сетевой розетке, является весьма обременительным. Аналогично, затраты и трудности домашнего монтажа сетевых кабелей для обеспечения возможности связи с каждой комнатой в доме часто вынуждают ограничиться действующим кабелем, смонтированным и проведенным только в те фиксированные места, где в данный момент находятся компьютеры и сетевые ресурсы. Следовательно, такие системы с фиксированным проводным монтажом существенно ограничивают мобильные вычисления, возможность которых предоставляется портативными вычислительными устройствами, имеющимися сегодня на рынке.Осознав наличие серьезных ограничений, которые накладывает проводная архитектура LAN на мобильность и гибкость современных вычислительных операций, многие лидеры компьютерной индустрии разработали и реализуют в настоящее время беспроводные сети. Эти беспроводные сети позволяют существенно увеличить гибкость путем разрешения реально «мигрирующих» вычислений с любого места в рамках предприятия, охваченного беспроводной сетью LAN. Пользователи больше не должны иметь при себе кабели для сетевых соединений и ограничивать себя вычислениями только в тех местах, где предусмотрены розетки для сетевых соединений. Эта беспроводная сетевая технология также дает значительные преимущества пользователям домашних компьютеров, которые теперь могут иметь доступ к сети в полном объеме из любого места в доме, откуда это удобно сделать.

Огромные и неоспоримые преимущества, которые дают беспроводные сети, обусловили их все более широкое развертывание в аэропортах, отелях, школах и т.д. Кроме того, при возрастающей популярности переносных вычислительных устройств можно предвидеть развертывание указанных беспроводных сетей в торговых пассажах, гастрономах и т.п. Кроме того, вычисления в беспроводных глобальных сетях с зонами покрытия, соизмеримыми с зонами, которые в настоящее время широко используются в беспроводных телефонных системах, позволяют выполнять мигрирующие вычисления независимо от физического местоположения пользователя. Таким образом, мигрирующие компьютерные пользователи имеют возможность обращения к своим сетевым ресурсам и поддерживать высокую производительность вычислений в ожидании самолета, пересадки на поезд и т.д.

Осознание того, что совместимость различных провайдеров сетевых услуг, которые могут развернуть эти беспроводные сети, играет огромную роль в обеспечении непрерывного развития и применения указанной технологии, привело к разработке различных промышленных стандартов. Одним из таких стандартов, разработанных Институтом инженеров по электротехнике и электронике (IEEE), является стандарт IEEE 802.11. Согласно этому стандарту беспроводной связи мигрирующие компьютерные пользователи могут создавать свои собственные сети в режиме «ad hoc» (связь между многочисленными станциями устанавливается напрямую) либо могут подсоединиться к уже созданной сети в режиме инфраструктуры. В режиме «ad hoc» сеть не имеет структуры, а каждый ее элемент обычно имеет возможность осуществлять связь с любым другим элементом. Эти сети «ad hoc» могут быть созданы всякий раз, когда группа пользователей хочет осуществлять связь между собой для совместного использования информации, к примеру, во время совещания. Пример такой специально сформированной сети согласно стандарту IEEE 802.11 показан на фиг.8. Как можно видеть из этой упрощенной фигуры, множество пользователей 802, 804, 806 осуществляют связь друг с другом в собственной свободно сформированной сети 800, при этом не требуется, чтобы все они были связаны между собой жесткими проводными соединениями.

Второй тип сетевой структуры стандарта IEEE 802.11 известен как сеть с инфраструктурой, которая показана на фиг.9 в упрощенном виде. Как можно видеть из этой фигуры, в показанной архитектуре используется по меньшей мере одна фиксированная сетевая точка доступа (АР) 900, через которую пользователь мобильного компьютера 902, 904, 906 может осуществлять связь с участниками 908, 910 сети и ресурсами 912, 914. Эти сетевые точки 900 доступа могут быть подсоединены к проводным линиям LAN для расширения возможностей беспроводной сети посредством соединения указанных беспроводных узлов с другими проводными узлами в созданной сети 916 с помощью мостов, а архитектура ограничивается одной точкой доступа с глубиной в один уровень.

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

К сожалению, несмотря на гибкость и значительные преимущества, которые дает использование беспроводных сетей в вычислительной среде, аппаратные средства для реализации подобных сетей оказываются достаточно сложными и дорогостоящими. Например, беспроводная сетевая интерфейсная плата (NIC), которая предоставляет компьютерам средство для беспроводной связи, должна поддерживать большинство, если не все функции, определенные в спецификации 802.11. Будучи однажды установленной пользователем, эта беспроводная плата должна быть либо переконфигурирована, либо заменена при изменении стандарта беспроводной связи. В настоящее время конфигурирование и обновление беспроводной NIC требует от пользователя достаточно высокой квалификации.

Кроме того, отрицательно сказываются присущие современным беспроводным сетям и мобильным вычислительным устройствам ограниченные возможности формирования беспроводной сети с использованием точек доступа, функционирующих на множестве уровней. На фиг.10 показано ограничение существующих систем. Обычная точка 1000 доступа, подсоединенная к проводной сети 1002, имеет ограниченную пропускную способность для связи с устройством 1014, подсоединенным к точке 1006 доступа. Устройства 1006-1012, осуществляющие связь с точками 1004, 1014 проводного доступа, могут направлять пакеты в точку 1000 проводного доступа и получить возможность соединения с проводной сетью 1002.

Сущность изобретения

Предлагается программная система беспроводной инфраструктуры, основанная на программном обеспечении. Система имеет драйвер станции, осуществляющий связь с сетевым стеком и сетевой интерфейсной платой (NIC), сервер станции, осуществляющий связь с драйвером станции и вызывающей стороной 802.1Х, драйвер точки доступа, осуществляющий связь с платой NIC и либо с сетевым мостом, либо сетевым стеком, который осуществляет связь с проводной сетью, и сервер точки доступа, осуществляющий связь с драйвером точки доступа и средством аутентификации 802.1Х. Каждая плата NIC обеспечивает поддержку функциональных возможностей станции и/или точки доступа.

И драйвер станции, и драйвер точки доступа имеют средство фильтрации, которое отбрасывает принятые пакеты, если пакет не был аутентифицирован и ассоциирован. Процессор пакетов принимает пакеты, которые были аутентифицированы и ассоциированы, от средства фильтрации и повторно собирает пакеты, которые были фрагментированы. Средство управления ассоциированием используют вместе со средством управления таблицей конфигурации для ассоциирования станций и точек доступа через пакеты управления. Второе средство фильтрации действует как переключатель, принимая пакеты данных от процессора пакетов и отбрасывая пакеты данных, посланные неаутентифицированным посылающим устройством, и отправляет пакеты данных, посланные аутентифицированным посылающим устройством, в первый сетевой стек. Средство управления принимает пакеты данных 802.1Х от процессора пакетов и посылает их на сервер станции, который осуществляет связь с приложениями режима пользователя и либо с вызывающей стороной 802.1Х, либо со средством аутентификации 802.1Х, которые используются для аутентификации и деаутентификации других станций и точек доступа.

Также обеспечены интерфейсы прикладного программирования (API), которые предоставляют способы осуществления связи между приложениями режима пользователя и уровнями сетевого стека, такими как станции и точки доступа и сетевая интерфейсная плата.

Дополнительные признаки и преимущества изобретения станут очевидными из последующего подробного описания иллюстративных вариантов его осуществления, сопровождающегося ссылками на сопроводительные чертежи.

Перечень чертежей

Хотя в прилагаемой формуле изобретения подробно изложены признаки настоящего изобретения изобретение, вместе с его задачами и преимуществами лучше всего может быть понято из последующего подробного описания, рассматриваемого вместе с сопроводительными чертежами, на которых:

фиг.1 - блок-схема, иллюстрирующая в целом примерную среду, в которой функционирует настоящее изобретение;

фиг.2 - блок-схема, иллюстрирующая в общих чертах примерную компьютерную систему, в которой находится настоящее изобретение;

фиг.3 - блок-схема, иллюстрирующая в общих чертах архитектуру станции и точки доступа согласно настоящему изобретению в компьютерной системе по фиг.2;

фиг.4 - блок-схема станции согласно настоящему изобретению;

фиг.5 - блок-схема точки доступа согласно настоящему изобретению;

фиг.6 - блок-схема, иллюстрирующая поток данных и команд в точке доступа согласно настоящему изобретению;

фиг.7 - блок-схема, иллюстрирующая поток данных и команд на станции согласно настоящему изобретению;

фиг.8 - иллюстрация беспроводной сети «ad hoc» IEEE 802.11;

фиг.9 - иллюстрация сети с беспроводной инфраструктурой IEEE 802.11;

фиг.10 - блок-схема, иллюстрирующая в общих чертах ограничение известных точек доступа и станций.

Подробное описание изобретения

Обратимся к чертежам, где одинаковые ссылочные позиции относятся к одинаковым элементам, причем изобретение продемонстрировано в виде реализации в подходящей среде. Хотя это и не является обязательным условием, но изобретение описывается в общем контексте машиноисполняемых инструкций, таких как программные модули, выполняемые вычислительным устройством. Обычно программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют определенные абстрактные типы данных. Кроме того, специалистам в данной области техники понятно, что изобретение можно практически реализовать с помощью других компьютерных системных конфигураций, включая переносные устройства, мультипроцессорные системы, электронные устройства на базе микропроцессоров или электронные устройства, программируемые пользователем, сетевые персональные компьютеры, мини-компьютеры, универсальные компьютеры и тому подобное. Изобретение можно также практически реализовать в распределенных вычислительных средах, где задачи выполняются устройствами дистанционной обработки, которые связаны между собой сетью связи. В распределенной вычислительной среде программные модули могут находиться как в локальных, так и в удаленных запоминающих устройствах.

На фиг.1 представлен пример подходящей операционной среды 20, в которой может функционировать изобретение. Одна точка 22 доступа соединена проводами (то есть имеет фиксированный монтаж) с проводной сетью 24, такой как сеть LAN. Другие точки 26-38 доступа расположены в любых местах, причем эти точки доступа осуществляют беспроводную связь с проводной точкой 22 доступа и друг с другом. Настоящее изобретение предоставляет станциям 40-44 возможность беспроводной связи с проводной точкой 22 доступа и может направлять пакеты в проводную точку доступа и получать возможность соединения с сетью Интернет. Станции 46-50 осуществляют беспроводную связь с беспроводной точкой 26 доступа и могут направлять пакеты в проводную точку 22 доступа, а также получать возможность соединения с проводной сетью 24. Помимо этого, настоящее изобретение предоставляет станциям 46-50 возможность направлять пакеты станциям 52-56 беспроводным способом через точки 28, 32 беспроводного доступа. Станция 52 осуществляет беспроводную связь с точкой 28 беспроводного доступа, а станции 54-56 осуществляют беспроводную связь с точкой 32 беспроводного доступа. Станция 58 осуществляет беспроводную связь с точкой 30 беспроводного доступа. Станции 52 и 58 направляют пакеты на другие станции в сети, причем направление пакета в точку 22 проводного доступа не требуется. Например, станция 58 может посылать пакеты в устройство 56 через точки 30-26-28-32 доступа.

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

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

Изобретение может быть описано в общем контексте машиноисполняемых инструкций, таких как программные модули, выполняемые компьютером. В общем случае программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют определенные абстрактные типы данных. Изобретение можно также реализовать в распределенных вычислительных средах, где задачи выполняются устройствами дистанционной обработки, связанными между собой сетью связи. В распределенной вычислительной среде программные модули могут находиться как на локальных, так и на удаленных компьютерных носителях, включая запоминающие устройства.

Обратимся к фиг.2, где представлен пример системы для реализации изобретения, содержащей вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не только, блок 120 обработки, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, включая системную память, с блоком 120 обработки. Системная шина 121 может относиться к любому из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину с использованием любой из множества различных шинных архитектур. Как пример, но не ограничение, указанные архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину с микроканальной архитектурой (MCA), шину с усовершенствованной архитектурой ISA (EISA), локальную шину Ассоциации по стандартам видеооборудования (VESA) и шину для межсоединения периферийных компонентов (PCI), известную также как шина Mezzanine.

Компьютер 110 обычно включает в себя различные машиночитаемые носители. Машиночитаемый носитель может представлять собой любой пригодный носитель, к которому компьютер 110 может осуществить доступ, причем такой носитель может включать в себя как энергозависимый, так и знергонезависимый носитель, а также съемный и несъемный носитель. В качестве примера, но не ограничения, машиночитаемый носитель, может содержать компьютерную запоминающую среду и среду связи. Компьютерная запоминающая среда включает в себя как энергозависимый, так и энергонезависимый, съемный и несъемный носитель, реализованный любым способом или по любой технологии, используемой для хранения такой информации, как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерная запоминающая среда включает в себя, но не только, ОЗУ (RAM), ПЗУ (ROM), электрически стираемое программируемое ПЗУ (EEPROM), флэш-память либо другую технологию памяти, компакт-диск (CD-ROM), цифровой универсальный диск (DVD) либо другие оптические дисковые запоминающие устройства, магнитные кассеты, магнитную ленту, магнитное дисковое запоминающее устройство либо другие магнитные запоминающие устройства или любой другой носитель, который можно использовать для хранения требуемой информации и к которому компьютер 110 может осуществить доступ. Среда связи обычно воплощает машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как сигнал несущей иди другой механизм транспортировки, и включает в себя любую среду для доставки информации. Термин «модулированный сигнал данных» означает сигнал, одна или несколько характеристик которого устанавливается или изменяется таким образом, чтобы закодировать информацию в этом сигнале. В качестве примера, но не исключения, среда связи включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, а также беспроводную среду, такую как акустическая, радиочастотная, инфракрасная и другая беспроводная среда. В состав машиночитаемых носителей следует также включить комбинации из любых вышеуказанных носителей (сред).

Системная память 130 включает в себя компьютерную среду хранения в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 131 и оперативное запоминающее устройство (RAM) 132. Обычно в памяти ROM 131 хранится базовая система 133 ввода/вывода (BIOS), содержащая базовые процедуры, содействующие переносу информации между элементами в компьютере 110, к примеру, во время запуска. Память RAM 132 обычно содержит данные и/или программные модули, которые непосредственно доступны и/или обрабатываются в блоке 120 обработки. В качестве примера, но не ограничения, на фиг.2 показана операционная система 134, прикладные программы 135, другие программные модули 136 и данные 137 программ.

Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые носители компьютерной среды хранения. Исключительно в качестве примера на фиг.2 показан накопитель 141 на жестких дисках, который считывает или записывает данные на несъемный, энергонезависимый магнитный носитель, накопитель 151 на магнитных дисках, который считывает или записывает данные на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптических дисках, который считывает или записывает данные на съемный, энергонезависимый оптический диск 156, такой как CD-ROM, либо другой оптический носитель. К другим съемным/несъемным, энергозависимым/энергонезависимым носителям компьютерной среды хранения, которые можно использовать в иллюстративной операционной среде, относятся, но не только, кассеты с магнитной лентой, платы флэш-памяти, цифровые универсальные диски, цифровая видеолента, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель 141 на жестких дисках обычно подсоединен к системной шине 121 через интерфейс несъемного запоминающего устройства, такой как интерфейс 140, а накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках обычно подсоединены к системной шине 121 с помощью интерфейса съемного запоминающего устройства, такого как интерфейс 150.

Накопители и ассоциированные с ними носители компьютерной среды хранения, обсужденные выше и показанные на фиг.2, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг.2, например, показано, что в накопителе 141 на жестких дисках хранятся операционная система 144, прикладные программы 145, другие программные модули 146 и данные 147 программ. Заметим, что эти компоненты могут либо совпадать, либо отличаться от операционной системы 134, прикладных программ 135, других программных модулей 136 и данных 137 программ. Операционная система 144, прикладные программы 145, другие программные модули 146 и данные 147 программ заданы здесь под другими номерами, что как минимум говорит о том, что они являются другими копиями. Пользователь может ввести команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и указательное устройство 161, обычно - мышь, шаровой манипулятор или сенсорная клавиатура. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую параболическую антенну, сканер и т.п. Эти и другие устройства ввода часто подсоединяют к блоку 120 обработки через интерфейс 160 пользовательского ввода, который подсоединен к системной шине, но могут быть подсоединены с помощью других интерфейсных и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). К системной шине 121 через интерфейс, такой как видеоинтерфейс 190, также подсоединен монитор 191 или устройство отображения другого типа. В дополнение к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, который может быть подсоединен через периферийный интерфейс 195 вывода.

Компьютер 110 может работать в сетевой среде, используя логические соединения с одним или несколькими удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может представлять собой другой персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер, одноранговое устройство или другой узел общей сети и обычно включает в себя множество или все элементы, описанные выше применительно к персональному компьютеру 110, хотя на фиг.2 показано только запоминающее устройство 181. Логические соединения, изображенные на фиг.2, включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать другие сети. Такие сетевые среды широко распространены в офисах, корпоративных компьютерных сетях, интрасетях и сети Интернет.

При использовании в сетевой среде LAN персональный компьютер 110 подсоединен к LAN 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде WAN компьютер 110 обычно включает в себя модем 172 или другое средство для установления связи через сеть WAN 173, такую как Интернет. Модем 172, который может быть внутренним или внешним, может быть подсоединен к системной шине 121 через интерфейс 160 пользовательского ввода или другой подходящий механизм. В сетевой среде программные модули, изображенные применительно к персональному компьютеру 110, либо их части могут храниться в удаленном запоминающем устройстве. В качестве примера, но не ограничения, на фиг.2 показаны удаленные прикладные программы 185, располагающиеся в запоминающем устройстве 181. Очевидно, что показанные сетевые соединения являются лишь примерами и между компьютерами можно использовать другие средства установления линий связи.

В последующем описании изобретение описывается со ссылками на действия и символические представления операций, выполняемых одним или несколькими компьютерами, если не указано иное. В силу этого становится понятно, что указанные действия и операции, которые иногда определяются как машиноисполняемые операции, включают в себя манипулирование, выполняемое блоком обработки компьютера, над электрическими сигналами, представляющими данные в структурированной форме. В результате такого манипулирования происходит преобразование данных или их сохранение в ячейках системы памяти компьютера, что реконфигурирует или, иными словами, изменяет работу компьютера способом, который хорошо понятен специалистам в данной области техники. Структуры данных, в которых поддерживаются данные, являются физическими ячейками памяти, которые имеют конкретные свойства, определенные форматом данных. Однако, хотя изобретение описывается в вышеупомянутом контексте, это не накладывает каких-либо ограничений; следовательно, специалистам в данной области техники должно быть очевидно, что различные описанные здесь действия и операции могут быть также реализованы в аппаратных средствах. В изобретении описывается программная точка доступа (AP) в беспроводной сети LAN, работающей в режиме инфраструктуры, и программной базовой станции (станции) либо в беспроводной LAN, работающей в режиме инфраструктуры, либо в беспроводной LAN, работающей в режиме «ad hoc». Для ясности в изобретении точка доступа АР и станция описываются отдельно. Их реализация может быть интегрирована в единой инфраструктуре, которая позволяет обеспечить динамическую конфигурацию AP или станции через интерфейс пользователя.

Обратимся к фиг.3, где показаны две категории служб 802.11. Эти категории представляют собой службу станции и службу распределенной системы. К службам 802.11 относятся службы аутентификации и ассоциирования, деаутентификации, дизассоциирования, распределения, интеграции, конфиденциальности, повторного ассоциирования и доставки блоков данных службы (SDU) уровня управления доступом к среде (MAC) (MSDU). К службам станции относятся службы аутентификации, деаутентификации, конфиденциальности и доставки MSDU. Службы распределенной системы включают службы ассоциирования, дизассоциирования, распределения, интеграции и повторного ассоциирования. Станции 200 осуществляют связь с точками 300 доступа беспроводным путем.

В последующем описании описывается архитектура с драйвером станции и драйвером точки доступа в виде отдельных драйверов. Хотя эти драйверы описаны как отдельные драйверы, понятно, что они могут быть объединены в одном драйвере. На фиг.4 показана общая архитектура станции согласно настоящему изобретению. Сетевая интерфейсная плата (NIC) 202 стандарта 802.11 подсоединена к беспроводной сети LAN 204. Когда принимается пакет 802.11, плата NIC переадресовывает пакеты 802.11 на привязанный к ней протокол, который реализован драйвером 206 станции. При посылке пакета 802.11 плата NIC 202 принимает пакеты 802.11 от станционного драйвера 206 и посылает их адресатам через беспроводную LAN 204. Плата NIC 202 может также выполнять определенные аппаратные операции 802.11, как описано ниже, если NIC 202 имеет блок обработки, в котором она может выполнить категоризацию пакетов 802.11 вместо их индикации для вышерасположенных протоколов, а также самостоятельно формировать пакеты 802.11.

Драйвер 206 станции является виртуальным мини-портом 802.3. Он принимает пакеты 802.11 от NIC 202 и преобразует некоторые пакеты 802.11 в пакеты 802.3 перед индикацией их для вышерасположенных протоколов 208 (802.3), таких как TCP/IP. Драйвер 206 также выполняет индикацию пакетов 802.1Х для вызывающей стороны 210 стандарта 802.1Х через «вызовы вверх» (по стеку протоколов) (upcalls) к серверу 212 станции. По тракту посылки драйвер 206 принимает пакеты 802.3 от протоколов 802.3 208 и выполняет их преобразование в пакеты 802.11 перед переводом их в NIC 202. Драйвер 206 также посылает пакеты 802.1Х, принятые от вызывающей стороны 802.1Х 210 через сервер 212 станции. В дополнение к преобразованию пакета 802.3/802.11 драйвер 206 выполняет другие операции станции 802.11 программными средствами, в рамках которых он может выполнить категоризацию пакетов 802.11 вместо их индикации для вышерасположенных протоколов, а также самостоятельно сгенерировать пакеты 802.11.

Вызывающая сторона 802.1Х 210 посылает пакеты 802.1Х, адресованные средству аутентификации 802.1Х, и принимает их от этого средства аутентификации через сервер 212 станции. Сервер 212 станции действует как проводник между всеми заинтересованными приложениями режима пользователя (как вызывающая сторона 802.1Х 210, администратор/монитор 214 станции и т.д.) и драйвером 206 станции. Сервер 212 предоставляет интерфейсы прикладных программ (API), через которые заинтересованные приложения режима пользователя могут выполнять вызовы, чтобы выполнить «вызов вниз» (по стеку протоколов) (down call) к драйверу 206 станции. Сервер 212 станции также принимает таблицу функций от каждого заинтересованного приложения режима пользователя, когда это приложение зарегистрировано на сервере 212. Сервер 212 использует эту таблицу функций для проводки «вызова вверх» от драйвера 206 станции к адресуемому приложению режима пользователя. Динамически подсоединяемая библиотека (DLL) 216 на стороне клиента станции обеспечивает возможность дистанционного взаимодействия с интерфейсами API, предоставленными сервером.

На фиг.5 показана общая архитектура точки 300 доступа согласно настоящему изобретению. Плата NIC на физическом уровне 802.11 302 подсоединена к беспроводной сети LAN 204. При приеме пакетов 802.11 плата NIC 302 перенаправляет пакеты 802.11 на привязанный к ней протокол, реализуемый драйвером AP 304. По тракту посылки плата NIC 302 принимает пакеты 802.11 от драйвера AP 304 и посылает их через беспроводную LAN 204. Плата NIC 302 также выполняет конкретные аппаратные операции 802.11, в ходе которых она может выполнить категоризацию пакетов 802.11 вместо их индикации для вышерасположенных протоколов, а также самостоятельно генерировать пакеты 802.11.

Драйвер 304 точки доступа (АР) является виртуальным минипортом 802.3. Он принимает пакеты 802.11 от NIC 302 и преобразует некоторые пакеты 802.11 в пакеты 802.3 перед их индикацией для необязательного моста 306. Драйвер 304 АР также выполняет индикацию пакетов 802.1Х для средства 308 аутентификации 802.1Х через «вызовы вверх» на сервер 310 АР. По тракту посылки драйвер 304 АР принимает пакеты 802.3 от моста 306 и выполняет их преобразование в пакеты 802.11 перед переводом их в NIC 302. Драйвер 304 АР также высылает пакеты 802.1Х, принятые от средства 308 аутентификации 802.1Х через сервер 310 АР. В дополнение к преобразованию пакетов 802.3 в 802.11 и 802.11 в 802.3 драйвер 304 АР выполняет другие операции точки доступа 802.11 программными средствами, в ходе которых он может выполнить категоризацию пакетов 802.11 вместо их индикации для вышерасположенных протоколов, а также самостоятельно генерировать пакеты 802.11.

Плата NIC 802.3 312 подсоединена к проводной сети LAN 314. Мост 306 работает поверх платы NIC 802.3 и драйвера 304 IP. Средство 308 аутентификации 802.1Х посылает пакеты 802.1Х, адресованные вызывающей стороне 802.1Х 210, и принимает пакеты 802.1Х от вызывающей стороны 802.1Х 210 через сервер 310 АР. Средство 308 аутентификации 802.1Х посылает пакеты 802.1Х, адресованные серверу 210 аутентификации 802.1Х (не показан), и принимает пакеты 802.1Х от сервера аутентификации 802.1Х через мост 306, который в конечном счете пропускает эти пакеты на NIC 802.3 312 либо принимает их от нее. Вновь ненадолго обратимся к фиг.3, где средство 308 аутентификации 802.1Х может установить связь с базой 400 данных администратора учетных данных в системе защиты (SAM) и клиентом 402 службы аутентификации удаленных пользователей по коммутируемым каналам связи (Radius). База 400 данных SAM может посылать сообщения на сервер 404 Passport (сервер аутентификации, разработанный Microsoft) или сервер 406 Radius, которые могут совместно функционировать в одном и том же блоке или через сеть.

Сервер 310 АР действует как канал между всеми заинтересованными приложениями для режима пользователя (как средство 308 аутентификации 802.1Х, администратор/монитор 318 АР и т.д.) и драйвером 304 АР. Сервер 310 АР предоставляет интерфейсы API, через которые заинтересованные приложения режима пользователя могут выполнять вызовы для формирования «вызова вниз» к драйверу 304 АР. Сервер 310 АР также принимает таблицу функций от каждого заинтересованного приложения режима пользователя, когда приложение регистрирует само себя в сервере 310 АР. Сервер 310 АР использует эту таблицу функций для проводки «вызова вверх» от драйвера 304 АР до адресуемого приложения режима пользователя. DLL 320 стороны клиента АР предоставляет возможность дистанционного взаимодействия с интерфейсами API, предоставленными сервером 310 АР.

Обратимся теперь к фиг.6 и 7, со ссылками на которые будет описана маршрутизация пакетов 802.11 на станции 200 и в точке 300 доступа. Для объяснения этого будет описана маршрутизация в точке доступа. Как только эта маршрутизация будет описана, будут описаны функции, которые выполняют платы NIC 202, 302, и функции, которые выполняют драйвер 304 АР и станционный драйвер 206.

После приема пакета 802.11 плата NIC 302 посылает индикацию 600 о приеме пакета 802.11, которая уведомляет драйвер 304 АР о том, что был принят пакет 802.11. Средство 602 фильтрации определяет, должен ли данный пакет быть отброшен либо необходима его индикация для вышерасположенных протоколов, в зависимости от ассоциированного состояния этого пакета. Состояние пакета указывает тип пакета и состояние, поддерживаемое отправителем пакета, которое указывается в таблице ассоциаций. Выполняется индикация пакетов от станций (и других точек доступа) для вышерасположенных протоколов, которые были правильно аутентифицированы и ассоциированы. Пакеты данных от станций (и точек доступа), которые не были правильно аутентифицированы или ассоциированы, отбрасываются. Пакеты управления 802.11 перенаправляются вышерасположенным протоколам на обработку, выполняемую средством 608 управления ассоциированием, если пользователь не реализовал вариант раннего отказа от сервисной проверки по конкретным MAC-адресам для отбрасывания всех пакетов.

Процессор 604 пакетов принимает пакет и повторно собирает пакет, если он был фрагментирован. Начальные пакеты, которые принимает процессор 604 пакетов, известны как блоки MPDU (блоки данных протокола (PDU) управления доступом к среде (MAC)). Пакеты MPDU могут представлять собой фрагменты блока сервисных данных MAC (MSDU). Процессор 604 пакетов дешифрует пакеты, которые были зашифрованы, и если дешифрованные пакеты фрагментированы, то процессор 604 пакетов вновь собирает их. Затем процессор 604 пакетов посылает MSDU на демультиплексор 606 данных/управления 802.11. Следует отметить, что NIC 302 может обладать функциональностью дешифрования и дефрагментации пакетов. Таким образом, в зависимости от возможности выгрузки/загрузки (соответственно, передачи/приема части функций на/от протоколы других уровней), сконфигурированной драйвером 206, 304, дешифрование и дефрагментация принятых блоков MPDU выполняются либо в плате NIC 202, 302, либо в драйвере 206, 304.

Демультиплексор 606 данных/управления 802.11 отделяет пакеты управления от пакетов данных. Пакеты управления посылаются средству 608 управления ассоциированием, где поддерживается средство состояний для ассоциаций 802.11. Выполняется индикация пакетов данных 802.11 для вышерасположенных протоколов. Эти пакеты данных могут включать пакеты 802.1Х, которые представляют собой пакеты аутентификации полного уровня 2. Демультиплексор 610 данных/802.1Х посылает пакеты 802.1Х средству 612 управления 802.1Х. Средство 802.1Х управления 612 имеет модуль 614 «вызова вверх» для индикации пакета 802.1Х вызывающей стороне 802.1Х 210 (смотри фиг.7) или средству 308 аутентификации 802.1Х. Средство 308 аутентификации (или вызывающая сторона 210) имеет собственное функционирующее средство состояний. Если средство 308 аутентификации (или вызывающая сторона 210) должно посылать пакеты, оно передаст пакеты на DLL 320 (216) стороны клиента, и пакет перейдет к серверу 310 АР (или серверу 212 станции), и этот пакет пройдет вниз через «вызов вниз» к средству 802.1Х управления 612, причем пакет посылается через мультиплексор 616 данных/802.1Х и мультиплексор 618 данных 802.11/управления на плату NIC 302 (или NIC 202).

Проходя далее по приемному тракту, обычные пакеты данных 802.11 посылаются от демультиплексора 610 данных/802.1Х на средство 620 фильтрации 802.1Х, которое действует как порт 802.1Х. Средство 620 фильтрации 802.1Х позволяет пакетам проходить через средство 620 фильтрации, только если для посылающей станции (или точки доступа) произошла аутентификация 802.1Х. Средство 620 фильтрации не позволяет проходить пакетам до аутентификации посылающего устройства. До этого момента в процессе появились следующие события. Во-первых, в средстве 604 фильтрации 802.11 посылающая станция должна быть ассоциирована с точкой 300 доступа. Перед ассоциированием средство 604 фильтрации отбрасывает все пакеты (включая пакеты 802.1Х), кроме пакетов управления 802.11. Как только ассоциирование произошло, пакеты данных 802.11 и 802.1Х получают разрешение, но средство 620 фильтрации 802.1Х отбрасывает пакеты данных, если порт закрыт. Здесь используется вариант, состоящий в том, что закрытый порт означает, что прохождение пакетов не разрешено. Когда порт открыт, пакеты имеют возможность прохождения. К средству 308 аутентификации допускаются только пакеты 802.1Х, при этом средство 308 аутентификации посылает пакеты обратно для завершения процесса аутентификации. Как только аутентификация выполнена, порт 620 фильтра 802.1Х открывается для конкретной станции (то есть для этого конкретного MAC-адреса). Индикация пакетов данных для этого MAC-адреса для вышерасположенных протоколов выполняется средством 620 фильтрации 802.1Х.

Демультиплексор 622 проводной/беспроводной сети LAN определяет, адресован ли в конечном счете пакет к станции, которая принадлежит той же сети (то есть станции, ассоциированной с данной точкой доступа, которая находится в зоне покрытия соты точки доступа). Если пакет адресован станции, которая принадлежит той же сети, то нет необходимости переходить на вышерасположенный уровень IP 306 для маршрутизации. Вместо этого пакет посылается на мост 624 АР, который переправляет пакет по тракту передачи в той же самой сети. Если пакет не предназначен для станции, которая принадлежит этой же сети, то такой пакет пересылается в преобразователь 626 пакетов, где пакет 802.11 преобразуется в пакет 802.3 и выполняется его индикация либо для необязательного вышерасположенного сетевого моста 306, либо это может быть IP 208, находящийся поверх моста. Маршрутизация пакета через мост 624 АР сохраняет ресурсы, поскольку преобразование 802.11 в 802.3 не требуется.

В тракте передачи происходит прием индикации 630 передачи пакета 802.3, когда пакет посылается от сетевого моста 306 или уровня IP 208. Пакет 802.3 преобразуется в пакет 802.11 с помощью преобразователя 626 пакетов, а затем этот пакет посылается в мультиплексор 632 проводной/беспроводной LAN, который принимает пакеты от преобразователя 626 пакетов или от моста 624 AP. Пакет проходит через средство 620 фильтрации 802.1Х. Если порт 1Х закрыт для MAC-адресов назначения, то пакеты 802.11 не посылаются. Однако средство 602 фильтрации АР допускает посылку пакетов с простым текстом до того, как выполнена аутентификация. Мультиплексор 616 данных/802.1Х принимает пакеты данных и пакеты 802.1Х. Как было указано ранее, средство 308 аутентификации 802.1Х (или вызывающая сторона 802.1Х 210) может посылать пакеты вниз к средству 612 управления 802.1Х, а средство 612 управления генерирует пакеты 802.11 для пакетов 802.1Х и подает их в мультиплексор 616 данных/802.1Х.

Пакеты данных посылаются в демультиплексор 616 данных 802.11/управления. Средство 612 управления ассоциированием может создавать пакеты управления 802.11, и эти пакеты управления мультиплексируются с пакетами данных 802.11. Пакеты проходят через процессор 604 пакетов. Сначала используется фрагментация, а затем шифрование, если это необходимо. Средство 602 фильтрации гарантирует, чтобы посылались только пакеты для правильных ассоциаций.

Теперь, когда описана маршрутизация данных, будет рассмотрен процесс маршрутизации управляющих сообщений. Управляющие вызовы ввода/вывода поступают от серверов 212, 310. Серверы 212, 310 представляют интерфейсы API, которые могут быть вызваны любым из приложений ввода/вывода режима пользователя. Эти вызовы пересылаются от сервера 212, 310 через управляющие вызовы ввода/вывода на управляющий демультиплексор 700 ввода/вывода, который посылает эти вызовы средству 612 управления 802.1Х, средству 608 управления ассоциированием или средству 702 управления таблицей конфигурации. Средство 702 управления таблицей конфигурации поддерживает данные конфигурации для точки 300 доступа (или станции 200). Данные конфигурации включают в себя используемый тип шифрования, тип пакетов, которые можно принимать, станции и/или точки доступа, в которых пакеты всегда будут отбрасываться и т.д. Средство 702 управления таблицей конфигурации, кроме того, может посылать вызовы вниз к плате NIC 202, 302. «Вызовы вверх» проходят от средства 702 управления таблицей конфигурации, от средства 612 управления 802.1Х или от средства 608 управления ассоциированием вверх к модулю 614 «вызовов вверх». Эти «вызовы вверх» пересылаются через вводы/выводы 706 управления на сервер 212, 310, который вызывает приложение режима пользователя, отслеживающее этот вызов.

АР 300 и станция 200 проявляют себя как тип Media согласно 802.3. Он отображает идентификаторы объектов (OID) 802.3 в идентификаторы OID 802.11 в приватном преобразователе 708 OID и преобразователе 710. Эти идентификаторы OID, которые описываются ниже, посылаются в NIC 202, 302, где обеспечивается их поддержка. Идентификаторы OID 712 конфигурации представляют собой идентификаторы специального запроса конфигурации 802.11 и заданной управляющей информации. Средство 608 управления ассоциированием может также вызвать и задать некоторые из идентификаторов OID в NIC 202, 302.

Теперь, когда описаны поток данных и поток управления, будет описано распределение функций 802.11 между драйвером 204, 304 и платой NIC 202, 302, включая функции, которые могут быть выгружены в NIC 202, 302. В общем случае, функции, которые лучше выполняются в операционной системе (например, станция 200 или точка 300 доступа), выделяются в операционной системе, а остальные функции реализуются в NIC 202, 302. Эти остальные функции либо не могут быть в принципе реализованы в операционной системе, либо их реализация в операционной системе неудобна. Например, гранулярность операционной системы на платформе Intel X86 составляет 5 микросекунд. Операции, требующие более высокой гранулярности, не могут быть выполнены в операционной системе, так что эти операции выполняются в NIC 202, 302. Периодически необходимо посылать сигналы маяка (beacons) (длительность которых на практике может изменяться от 100 мс до более высоких значений), на которые расходуется значительное время и которые технически реализовать в операционной системе достаточно сложно. NIC 202, 302 может обеспечить более рациональную периодичность передачи сигналов маяка, а также обеспечить, чтобы временные метки сигналов маяка производились непосредственно перед их передачей в эфире, что минимизирует изменчивость временных меток, вызывающую дрожание сигнала. В результате, функция формирования сигнала маяка перекладывается на NIC 202, 302.

Плата NIC, реализованная согласно настоящему изобретению, должна поддерживать либо функциональные возможности станции, либо функциональные возможности точки доступа, либо функциональные возможности и того и другого. Помимо этого, плата NIC должна поддерживать по меньшей мере один из следующих уровней: физический уровень (PHY) со спектром, расширенным путем скачкообразной перестройки частоты (FHSS) (PHY FHSS) - для полосы 2,4 ГГц; PHY со спектром, расширенным по принципу прямой последовательности (DSSS) (PHY-DSSS) - для полосы 2,4 ГГц, либо инфракрасный PHY (PHY-IR). Кроме того, может потребоваться, чтобы NIC поддерживала другие стандарты PHY, такие как IEEE 802.11g (например, более скоростные PHY в полосе 2,4 ГГц с использованием ортогонального мультиплексирования с частотным разделением (OFDM) и другие возможные альтернативные варианты, такие как пакетное двоичное сверточное кодирование (PBCC) и комплементарную кодовую манипуляцию (CCK) и IEEE 802.11а (например, 5 ГГц с использованием OFDM)).

Возможности протокола MAC должны поддерживаться либо платой NIC 202, 302, либо станцией 200 или точкой 300 доступа. Эти возможности включают в себя услуги аутентификации, алгоритм протокола конфиденциальности на уровне проводной связи (WEP), функцию распределенной координации, координацию точкой доступа, возможность бесконфликтного опроса (CF-pollable), фрагментацию, дефрагментацию, службу передачи данных MAC, многоскоростную поддержку, поддержку множества ожидающих блоков MSDU, временную синхронизацию, управление мощностью инфраструктуры, управление мощностью в рамках независимого базового набора служб (IBSS) и ассоциирование и дизассоциирование. Станции и точки доступа должны предоставлять службу аутентификации. Служба аутентификации включает в себя оценку состояния аутентификации, аутентификацию открытой системы и аутентификацию с общим ключом. Перечисленное может не быть загружено в NIC. Алгоритм WEP состоит из процедуры шифрования WEP, процедуры дешифрования WEP и управления службами защиты, причем все это должно быть реализовано на станциях и в точках доступа. Процедура шифрования WEP и процедура дешифрования WEP могут быть загружены в NIC. Если плата NIC не поддерживает WEP, то NIC должна поддерживать расширения 802.11 к стандартным функциям NDIS (спецификации стандартного интерфейса драйверов сетевых адаптеров), которые описываются ниже.

Функция распределенной координации реализуется в NIC. Функция распределенной координации включает в себя функцию вектора резервирования сети (NAV), использование межкадрового пространства и синхронизацию, функцию случайного возврата, процедуру доступа к функции распределенной координации (DCF), процедуры восстановления и ограничения на повторную передачу, процедуру готовности к передаче (RTS)/готовности к приему (CTS), направленную пересылку MPDU, широковещательную и многоабонентскую (мультивещательную) пересылку MPDU, подтверждение уровня MAC и дублирующее обнаружение и восстановление.

Координация точкой доступа является необязательным в платах NIC, поддерживающих только функциональные возможности точки доступа, но является обязательным для плат NIC других типов (функциональные возможности только станции и функциональные возможности станции и точки доступа). Координация точкой доступа включает в себя поддержку структуры и синхронизации бесконфликтного периода (CFP), пересылку из ПК блока данных протокола MAC для функции координации точкой доступа (PCF MPDU), пересылку в ПК блока PCF MPDU, возможности работы ПК с перекрытием и поддержку списка опроса. Пересылка PCF MPDU на ПК не обязательна. Если пересылка PCF MPDU на ПК поддерживается, то должен поддерживаться список опроса. В плате NIC должна быть реализована CF-Pollable. Функция CF-Pollable включает в себя интерпретацию структуры CFP и синхронизацию, пересылку PCF MPDU к/от станций с CF-Pollable и обновление списка опроса.

Фрагментация и дефрагментация пакетов должна быть реализована на станциях и в точках доступа. Фрагментация и дефрагментация пакетов может быть реализована в NIC. Если функциональные возможности фрагментации и дефрагментации реализуются платой NIC, то тогда NIC должна реализовать выгрузку WEP. Если функциональные возможности фрагментации или дефрагментации в плате NIC не реализованы, то тогда NIC должна поддерживать расширения 802.11 к стандартным функциям NDIS, как будет описано ниже.

Служба передачи данных MAC реализуется в NIC. Служба передачи данных MAC включает в себя класс переупорядочиваемых служб мультивещания и класс строго упорядоченных служб. Класс переупорядочиваемых служб мультивещания является обязательным, а класс строго упорядоченных служб является необязательным. В NIC реализуется многоскоростная поддержка. На станциях, в точках доступа и платах NIC реализуются ограничения на поддержку множества блоков MSDU, ожидающих обработки, и передачу множества MSDU, ожидающих обработки.

Временная синхронизация реализуется в NIC. Плата NIC должна поддерживать формирование сигналов маяка, синхронизацию TST («время-пространство-время») и ее точность, пассивное сканирование, активное сканирование и зондовый отклик. Платы NIC, которые поддерживают функциональные возможности точки доступа, должны поддерживать синхронизацию в сети с инфраструктурой и инициализацию базового набора служб (BSS) инфраструктуры. Платы NIC, которые поддерживают функциональные возможности станции, должны поддерживать синхронизацию в независимом BSS (IBSS) и инициализацию независимого BSS. Платы NIC, которые поддерживают PHY FHSS для полосы 2,4 ГГц, должны поддерживать функцию синхронизации при скачкообразной перестройке частоты. Может потребоваться, чтобы платы NIC поддерживали другие стандарты PHY, такие как IEEE 802.11g и IEEE 802.11a.

Управление мощностью инфраструктуры реализуется в NIC. Платы NIC, которые поддерживают функциональные возможности станции, будут обеспечивать режимы управления мощностью станции и выполнять функцию приема во время конфликтного периода (CP). Платы NIC, которые поддерживают функциональные возможности точки доступа, будут выполнять передачу карты индикации трафика (TIM), функцию АР во время СР и функцию управления величиной времени хранения. Платы NIC, которые обеспечивают функцию координации точкой доступа, должны реализовать функцию АР во время CFP. Платы NIC, которые обеспечивают функциональные возможности CF-pollable, должны реализовать функцию приема во время CFP.

Управление мощностью IBSS реализуется в платах NIC, которые поддерживают функциональные возможности станции. Функция управления мощностью IBSS включает в себя инициализацию управления мощностью IBSS, переходы мощности станции из одного состояния в другое и передачу сообщений индикации трафика извещений (ATIM) и кадров.

Функциональные возможности ассоциирования и повторного ассоциирования реализуются на станциях и в точках доступа. Эти функциональные возможности включают в себя обеспечение состояния ассоциации, процедуры ассоциирования станции и точки доступа и процедуры повторного ассоциирования станции или точки доступа. Эти функции не должны реализовываться в NIC.

Станция и точка доступа поддерживают функциональные возможности кадров МАС вместе с некоторыми функциональными возможностями кадров, реализуемыми в платах NIC. Функциональные возможности кадров МАС включают в себя возможность передачи, возможность приема, последовательности обмена кадрами и функции адресации МАС. В частности, возможность передачи включает в себя функциональные возможности запроса на ассоциирование и повторное ассоциирование, функциональные возможности ответа на запрос на ассоциирование и повторное ассоциирование, функциональные возможности дизассоциирования, аутентификации и деаутентификации, функциональные возможности зондового запроса, ответа на зондовый запрос (зондовый отклик) и сигналов маяка, функциональные возможности опроса в режиме низкого энергопотребления (PS-poll), функции RTS, CTS и ACK (подтверждение), функциональные возможности CF-End (бесконфликтное завершение), CF-End+CF-Ack (бесконфликтное подтверждение), Data (Данные)+CF-Poll (бесконфликтный опрос), Data+CF-Ack+CF-Poll, NULL (отсутствие информации), CF-Ack (нет данных), CF-Poll (нет данных), CF-Ack+CF-Poll (нет данных). Функциональные возможности запроса на ассоциирование и повторное ассоциирование реализуются на станциях, а функциональные возможности ответа на запрос на ассоциирование и повторное ассоциирование реализуются в точках доступа. Функциональные возможности дизассоциирования, аутентификации и деаутентификации реализуются на станциях и в точках доступа. Функциональные возможности зондового отклика и сигнала маяка реализуются в платах NIC. Платы NIC, которые поддерживают функциональные возможности станции, должны реализовывать функциональные возможности зондового запроса и PS-poll. Функции RTS, CTS и ACK реализуются в платах NIC. Функции CF-End и CF-End+CF-Ack реализуются в платах NIC, которые обеспечивают функциональные возможности координации точкой доступа. Функция Data (Данные) реализуется на станциях и в точках доступа. Функция NULL реализуется в платах NIC. Платы NIC, которые обеспечивают PCF MPDU для функций ПК, также реализуют функциональные возможности Data+CF-Poll, Data+CF-Ack+CF-Poll, CF-Poll (нет данных) и CF-Ack+CF-Poll (нет данных). Функциональные возможности Data+CF-Ack и CF-Ack (нет данных) реализуются в платах NIC, которые обеспечивают функциональные возможности координации точкой доступа или функциональные возможности CF-Pollable.

Возможность приема кадров МАС включает в себя функциональные возможности запроса на ассоциирование и повторное ассоциирование, функциональные возможности ответа на запрос на ассоциирование и повторного ассоциирования, функциональные возможности дизассоциирования, аутентификации и деаутентификации, функциональные возможности зондового запроса, зондового отклика и сигнала маяка, функциональные возможности ATIM, PS-Poll, функции RTS, CTS и ACK, функциональные возможности CF-End, CF-End+CF-Ack, Data, Data+CF-Ack, Data+CF-Poll, Data+CF-Ack+CF-Poll, NULL, CF-Ack (нет данных), CF-Poll (нет данных), CF-Ack+CF-Poll (нет данных). Функциональные возможности запроса на ассоциирование и повторное ассоциирование реализуются в точках доступа, а функциональные возможности ответа на запрос на ассоциирование и повторное ассоциирование реализуются на станциях. Функциональные возможности дизассоциирования, аутентификации и деаутентификации реализуются на станциях и в точках доступа. Функциональные возможности зондовых откликов и сигналов маяка реализуются на станциях, в точках доступа и платах NIC. Платы NIC, которые поддерживают функциональные возможности станции, должны обеспечивать реализацию функциональных возможностей ATIM. Платы NIC, которые поддерживают функциональные возможности точек доступа, должны обеспечивать реализацию функции PS-Poll. Функциональные возможности RTS, CTS, ACK, CF-End и CF-End+CF-Ack, Data+CF-Ack и NULL реализуются в платах NIC. Функция Data реализуется на станциях и в точках доступа. Платы NIC, которые обеспечивают функциональные возможности CF-Pollable, реализуют функциональные возможности Data+CF-Poll, Data+CF-Ack+CF-Poll, CF-Poll (нет данных) и CF-Ack+CF-Poll (нет данных). Функциональные возможности CF-Ack (нет данных) реализуются в платах NIC, которые предоставляют функциональные возможности координации точкой доступа или функциональные возможности CF-Pollable.

Последовательности обмена кадрами включают в себя базовые кадровые последовательности и последовательности неконфликтующих кадров. Функциональные возможности базовых кадровых последовательностей реализуются в платах NIC. Функциональные возможности последовательностей неконфликтующих кадров реализуются в тех NIC, которые обеспечивают функциональные возможности координации точкой доступа или функциональные возможности CF-Pollable.

Функции адресации MAC включают в себя функциональные возможности универсальных адресов IEEE 802, формирование идентификатора BSS и сопоставление адресов приема. Функциональные возможности универсальных адресов IEEE 802 и сопоставления адресов приема реализуются на станциях, в точках доступа и платах NIC. Формирование идентификатора BSS реализуется на станциях и в точках доступа.

Теперь, когда описано распределение функций 802.11 между станциями, точками доступа и платами NIC согласно настоящему изобретению, будут описаны вызовы связи между станциями, точками доступа и платами NIC.

Станции и точки доступа могут выгружать функции в платы NIC. Вызовы OID используются для запроса NIC с целью определения возможностей NIC. Вызовами OID для определения возможностей NIC являются:

OID_DOT11_Offload_Capability,

OID_DOT11_Current_Offload_Capability,

OID_DOT11_Operation_Mode_Capability,

OID_DOT11_Optional_Capability,

OID_DOT11_WEP_Offload,

OID_DOT11_WEP_Upload,

OID_DOT11_Default_WEP_Offload,

OID_DOT11_Default_WEP_Upload и

OID_DOT11_MPDU_Maximum_Length.

Вызов OID_DOT11_Offload_Capability предоставляет станции или точке доступа функции, которые поддерживает плата NIC. Функции, которые могут выгружаться, включают в себя WEP, фрагментацию и дефрагментацию. Если поддерживается WEP, то NIC также возвращает максимальное количество строк WEP, которое может быть выгружено в NIC. Вызов OID_DOT11_Current_Offload_Capability предоставляет возможности текущей выгрузки NIC. Вызов OID_DOT11_WEP_Offload используется для выгрузки строки WEP в NIC и задает подлежащий использованию алгоритм, направление строки WEP, адрес MAC однорангового узла, длину ключа в байтах, причем указанный вызов содержит действующий ключ. Плата NIC 202, 302 возвращает описатель станции 200 или точки доступа 300. Вызов OID_DOT11_WEP_Upload используется для загрузки заданной строки WEP из NIC. Вызов OID_DOT11_Default_WEP_Offload выгружает строку WEP по умолчанию в NIC. Этот вызов также задает подлежащий использованию алгоритм, индекс в таблице WEP по умолчанию, куда необходимо поместить строку WEP, тип адреса, по которому используется строка WEP, длину ключа в байтах, причем данный вызов содержит действующий ключ. Вызов OID_DOT11_Default_WEP_Upload используется для загрузки строки WEP по умолчанию из NIC. Вызов OID_DOT11_MPDU_Maximum_Length используется для запроса NIC с целью определения максимальной длины MPDU, которую поддерживает плата NIC.

Для конфигурирования платы NIC, функционирующей на нижерасположенных уровнях стека протоколов, станции и точки доступа используют вызовы конфигурации. Эти вызовы включают в себя:

OID_DOT11_Operation_Mode_Capability,

OID_DOT11_Current_Operation_Mode,

OID_DOT11_Current_Packet_Filter,

OID_DOT11_ATIM_Window,

OID_DOT11_Scan_Request,

OID_DOT11_Current_PHY_Type,

OID_DOT11_Join_Request,

OID_DOT11_Start_Request,

OID_DOT11_Reset_Request,

OID_DOT11_Optional_Capability и

OID_DOT11_Current_Optional_Capability.

Вызов OID_DOT11_Operation_Mode_Capability используется для определения рабочих режимов, поддерживаемых платой NIC. Плата NIC возвращает значение, указывающее, поддерживает ли NIC только функциональные возможности станции, только функциональные возможности точки доступа или как функциональные возможности станции, так и функциональные возможности точки доступа. Вызов OID_DOT11_Current_Operation_Mode используется для установки рабочего режима, в котором плата NIC начнет функционировать. Рабочие режимы - это режим только станции, режим только точки доступа либо режим станции и точки доступа. Вызов OID_DOT11_Current_Packet_Filter используется для указания на то, какие типы пакетов поддерживает NIC, путем установки соответствующего флага. Флаги включают однонаправленные пакеты управления 802.11, однонаправленные пакеты администрирования 802.11, однонаправленные пакеты данных 802.11, мультивещательные пакеты управления 802.11, мультивещательные пакеты администрирования 802.11, мультивещательные пакеты данных 802.11, широковещательные пакеты управления 802.11, широковещательные пакеты администрирования 802.11, широковещательные пакеты данных 802.11, «беспорядочный» режим (все пакеты 802.11) и все мультивещательные пакеты 802.11. Вызов OID_DOT11_ATIM_Window используется для определения и установки размера окна ATIM. Вызов OID_DOT11_Scan_Request используется для запроса обзора потенциальных BSS, которые впоследствии может выбрать станция при попытке подключения к ним. Вызов OID_DOT11_Current_PHY_Type используется для запроса и установки типа текущей физической среды, которую должна использовать плата NIC. Вызов OID_DOT11_Join_Request используется для запроса NIC с целью синхронизации с BSS. Вызов OID_DOT11_Start_Request используется для запроса NIC с целью запуска BSS. Вызов OID_DOT11_Reset_Request используется для запроса на установку NIC самой себя в исходное состояние. Вызов OID_DOT11_Optional_Capability используется для определения необязательных функциональных возможностей координации точкой доступа, поддерживаемых платой NIC. Вызов OID_DOT11_Current_Optional_Capability используется для запроса и установки текущих необязательных возможностей в NIC.

Вызовы OID также используют для определения и установки параметров информационной базы управления (MIB). К этим вызовам относятся:

OID_DOT11_Station_ID,

OID_DOT11_Medium_Occupancy_Limit,

OID_DOT11_CF_Pollable,

OID_DOT11_CFP_Period,

OID_DOT11_CFP_Max_Duration, OID_DOT11_Power_Mgmt_Mode Operational_Rate_Set,

OID_DOT11_Beacon_Period,

OID_DOT11_DTIM_Period,

OID_DOT11_WEP_ICV_Error_Count,

OID_DOT11_MAC_Address,

OID_DOT11_RTS_Threshold,

OID_DOT11_Short_Retry_Limit,

OID_DOT11_Long_Retry_Limit,

OID_DOT11_Fragmentation_Threshold,

OID_DOT11_Max_Transmit_MSDU_Lifetime,

OID_DOT11_Max_Receive_Lifetime,

OID_DOT11_Counters_Entry,

OID_DOT11_Supported_PHY_Types,

OID_DOT11_Current_Reg_Domain,

OID_DOT11_Temp_Type,

OID_DOT11_Current_TX_Antenna, Diversity_Support,

OID_DOT11_Current_RX_Antenna,

OID_DOT11_Supported_Power_Levels,

OID_DOT11_Current_TX_Power_Level,

OID_DOT11_Hop_Time,

OID_DOT11_Current_Channel_Number,

OID_DOT11_Max_Dwell_Time,

OID_DOT11_Current_Dwell_Time,

OID_DOT11_Current_Set,

OID_DOT11_Current_Pattern,

OID_DOT11_Current_Index,

OID_DOT11_Current_Channel,

OID_DOT11_CCA_Mode_Supported,

OID_DOT11_Current_CCA_Mode,

OID_DOT11_ED_Threshold,

OID_DOT11_CCA_Watchdog_Timer_Max,

OID_DOT11_CCA_Watchdog_Count_Max,

OID_DOT11_CCA_Watchdog_Timer_Min,

OID_DOT11_CCA_Watchdog_Count_Min,

OID_DOT11_Reg_Domains_Support_Value,

OID_DOT11_Supported_TX_Antenna,

OID_DOT11_Supported_RX_Antenna,

OID_DOT11_Diversity_Selection_RX,

OID_DOT11_Supported_Data_Rates_Value.

Вызов OID_DOT11_Station_ID используется для определения идентификатора (ID) станции и установки ID станции. Это позволяет средству управления идентифицировать станцию для своих собственных целей, сохраняя истинный MAC-адрес независимо. Вызов OID_DOT11_Medium_Occupancy_Limit используется для определения и установки максимального интервала времени, в единицах времени TU, в течение которого координация точкой доступа может управлять процессом использования беспроводной среды, не прекращая управление на время, достаточное для того, чтобы позволить по меньшей мере одному средству передачи данных (DSF) осуществить доступ к среде. Вызов OID_DOT11_CF_Pollable используют для определения того, способна ли станция отреагировать на CF-Poll кадром данных на интервале SIFS (короткого межкадрового пространства). Вызов OID_DOT11_CFP_Period используют для определения и установки количества интервалов DTIM (сообщение индикации трафика доставки) между началами периодов CFP. Вызов OID_DOT11_CFP_Max_Duration используют для определения и установки максимальной длительности CFP в единицах TU, которые могут генерироваться функцией координации точкой доступа (PCF). Вызов OID_DOT11_Power_Mgmt_Mode используется для определения и установки режима управления мощностью станции. Он указывает, находится ли станция в энергосберегающем режиме. Вызов OID_DOT11_Operational_Rate_Set используется для определения и установки набора скоростей передачи данных, на которых станция может передавать данные. Вызов OID_DOT11_Beacon_Period используется для определения и установки периода сигнала маяка (то есть количества TU, которое станция может использовать для планирования передач сигналов маяка). Вызов OID_DOT11_DTIM_Period используется для определения периода DTIM (то есть количество интервалов сигнала маяка, заполняющее временной отрезок между передачами кадров сигналов маяка, содержащих элемент TIM, поле DTIM Count которого установлено в нуль). Вызов OID_DOT11_WEP_ICV_Error_Count используется для подсчета ошибок ICV (значения проверки целостности) WEP.

Вызов OID_DOT11_MAC_Address используется для определения уникального МАС-адреса, присвоенного станции. Вызов OID_DOT11_RTS_Threshold используется для определения и установки порогового значения RTS. Это значение указывает минимально возможное количество октетов в MPDU, ниже которого процедура RTS/CTS квитирования установления связи выполняться не будет. Вызов OID_DOT11_Short_Retry_Limit используется для определения и установки максимального количества попыток передачи кадра, длина которого меньше или равна пороговому значению RTS, до индикации состояния отказа. Вызов OID_DOT11_Long_Retry_Limit используется для определения и установки максимального количества попыток передачи кадра, длина которого больше порогового значения RTS, до индикации состояния отказа. Вызов OID_DOT11_Fragmentation_Threshold используется для определения и установки текущего максимального размера MPDU, который может быть доставлен на уровень PHY. MSDU должен быть разбит на фрагменты, если его размер превышает значение этого атрибута, после добавления заголовков и трейлеров МАС. Вызов OID_DOT11_Max_Transmit_MSDU_Lifetime используется для определения и установки максимального значения времени существования MSDU, после которого прекращаются дальнейшие попытки передачи MSDU. Вызов OID_DOT11_Max_Receive_Lifetime используется для определения и установки времени, истекшего после начального приема фрагментированного блока MPDU или MSDU, после чего прекращаются дальнейшие попытки повторной сборки MPDU или MSDU.

Вызов OID_DOT11_Counters_Entry используется для определения установок счетчиков статистических данных 802.11. Эти счетчики включают в себя счетчики для подсчета количества переданных кадров, количества переданных кадров в режиме мультивещания, количества неудачных передач, количества успешных повторных передач, количества продублированных кадров, количества случаев приема и отсутствия приема CTS в ответ на запрос CTS, количества случаев отсутствия приема ожидаемого подтверждения (ACK), количества принятых фрагментов, количества кадров, принятых в режиме мультивещания, и количества успешно переданных блоков MSDU. Вызов OID_DOT11_Supported_PHY_Types используется для определения типов физических сред, поддерживаемых платой NIC. Вызов OID_DOT11_Current_Reg_Domain используется для определения текущего регулирующего домена, который поддерживается действующим в данный момент вариантом PMD (подуровня физического уровня, зависящего от среды передачи данных). Вызов OID_DOT11_Temp_Type используется для определения рабочего диапазона температур (например, от 0 до 40°C, от -30 до 70°C) физического уровня. Вызов OID_DOT11_Current_TX_Antenna используется для определения и установки текущей антенны, используемой для передачи. Вызов Diversity_Support используется для определения значения поддержки разнесения. Вызов OID_DOT11_Current_RX_Antenna используется для определения и установки текущей антенны, используемой для приема.

Вызов OID_DOT11_Supported_Power_Levels используется для определения количества поддерживаемых уровней мощности и выходной мощности передачи в милливаттах для всех поддерживаемых уровней мощности. Вызов OID_DOT11_Current_TX_Power_Level используется для определения и установки текущего уровня мощности передачи. Вызов OID_DOT11_Hop_Time используется для определения времени в микросекундах, необходимого PMD для переключения с канала 2 на канал 80. Вызов OID_DOT11_Current_Channel_Number используется для определения и установки текущего канального номера частоты, выдаваемой радиочастотным (RF) синтезатором. Вызов OID_DOT11_Max_Dwell_Time используется для определения максимального времени в единицах TU, которое разрешено использовать передатчику для работы на одном канале. Вызов OID_DOT11_Current_Dwell_Time используется для определения и установки текущего времени в единицах TU, в течение которого передатчик будет работать на одном канале, как это установлено протоколом MAC.

Вызов OID_DOT11_Current_Set используется для определения и установки текущего набора шаблонов, которые LME (объект управления уровнем) PHY использует для определения последовательности скачкообразной перестройки частоты. Вызов OID_DOT11_Current_Index используется для определения и установки текущего значения индекса, который используется элементом LME PHY для определения текущего канального номера. Вызов OID_DOT11_Current_Channel используется для определения и установки текущего рабочего частотного канала физического уровня со спектром DSSS. Вызов OID_DOT11_CCA_Mode_Supported используется для определения поддерживаемого режима оценки чистоты канала (CCA). Вызов OID_DOT11_Current_CCA_Mode используется для определения и установки текущего используемого метода CCA. Вызов OID_DOT11_ED_Threshold используется для определения и установки текущего порогового значения определения энергии, используемого физическим уровнем с DSSS. Вызов OID_DOT11_CCA_Watchdog_Timer_Max используется для определения и установки максимального значения таймера сторожевого средства ССА. Вызов OID_DOT11_CCA_Watchdog_Count_Max используется для определения и установки максимального значения счетчика сторожевого средства CCA. Вызов OID_DOT11_CCA_Watchdog_Timer_Min используется для определения и установки минимального значения таймера сторожевого средства CCA. Вызов OID_DOT11_Watchdog_Count_Min используется для определения и установки минимального значения счетчика сторожевого средства ССА. Вызов OID_DOT11_Reg_Domains_Support_Value используется для определения регулирующих доменов, которые поддерживаются протоколом конвергенции физического уровня (PLCP) и PMD в настоящей реализации. Вызов OID_DOT11_Supported_TX_Antenna используется для определения и установки значений истинности для поддерживаемой передающей антенны. Вызов OID_DOT11_Supported_RX_Antenna используется для определения и установки значений истинности для поддерживаемой приемной антенны. Вызов OID_DOT11_Diversity_Selection_RX используется для определения и установки значений истинности для выбора при разнесенном приеме. Вызов OID_DOT11_Supported_Data_Rates_Value используется для определения поддерживаемых значений скорости передачи и приема данных.

Точка доступа и станция согласно настоящему изобретению поддерживают также приватные вызовы 802.11. К этим вызовам относятся вызовы

OID_DOT11_Maximum_Lookahead,

OID_DOT11_Current_Lookahead,

OID_DOT11_Current_Packet_Filter,

OID_DOT11_Current_Address и

OID_DOT11_Permanent_Address. Эти приватные вызовы 802.11 являются функциями, характерными для уровня МАС, которые открыты для уровня NDIS. OID_DOT11_Maximum_Lookahead - это максимальный объем буфера упреждающего просмотра, поддерживаемого драйвером-мини-портом платы NIC для предоставления вышерасположенному уровню NDIS версии принятого пакета для предварительного просмотра, чтобы определить, следует ли принять данный конкретный пакет, либо его необходимо отбросить. OID_DOT11_Current_Lookahead - это объем используемого буфера упреждающего просмотра. OID_DOT11_Current_Packet_Filter - это текущий пакетный фильтр, используемый в данный момент станцией 200 или точкой доступа 300. OID_DOT11_Current_Address - это 49-разрядный адрес IEEE, используемый станцией 200 или точкой доступа в текущий момент. OID_DOT11_Permanent_Address - это 48-разрядный адрес IEEE, находящийся в энергонезависимой части платы NIC 202, 302, которая предварительно программируется изготовителем NIC.

При связи между точкой доступа (или станцией) и приложениями режима пользователя используются вызовы управления ввода/вывода (IOCTL), обеспечивающие те же функции, что были описаны выше, которые позволяют приложениям режима пользователя определить и установить параметры NIC (то есть они ставятся в соответствие с идентификаторами OID, определенными выше). Например, IOCTL_DOT11_Operation_Mode_Capability ставится в соответствие с OID_DOT11_Operation_Mode_Capability. Помимо этого, вызовы IOCTL предоставляются для того, чтобы позволить приложениям определить либо определить и установить, параметры точки доступа (или станции). Эти вызовы включают в себя вызовы конфигурации инфраструктуры программных средств и вызовы MIB инфраструктуры программных средств. Вызовы конфигурации инфраструктуры программных средств включают в себя следующие вызовы:

IOCTL_DOT11_Current_BSSID,

IOCTL_DOT11_Desired_BSSID,

IOCTL_DOT11_Current_SSID,

IOCTL_DOT11_Current_BSS_TYPE,

IOCTL_DOT11_Exclude_8021X,

IOCTL_DOT11_Associate,

IOCTL_DOT11_Disassociate,

IOCTL_DOT11_Query_Adapter_List,

IOCTL_DOT11_Query_BSSID_List,

IOCTL_DOT11_Send_8021X_Pkt,

IOCTL_DOT11_Receive_Upcall,IOCTL_DOT11_Check_Adapter,

IOCTL_DOT11_8021X_State и

IOCTL_DOT11_8021X_Filter.

Вызовы MIB инфраструктуры программных средств включают в себя следующие вызовы: IOCTL_DOT11_Authentication_Response_Time_Out, IOCTL_DOT11_Privacy_Option_Implemented, IOCTL_DOT11_Desired_SSID,

IOCTL_DOT11_Desired_BSS_Type,

IOCTL_DOT11_Association_Response_Time_Out,

IOCTL_DOT11_Disassociated_Peer,

IOCTL_DOT11_Deauthenticated_Peer,

IOCTL_DOT11_Authentication_Failed_Peer,

IOCTL_DOT11_Authentication_Algorithm,

IOCTL_DOT11_WEP_Default_Key_Value,

IOCTL_DOT11_WEP_Key_Mapping,

IOCTL_DOT11_Privacy_Invoked,

IOCTL_DOT11_WEP_Default_Key_Id,

IOCTL_DOT11_WEP_Key_Mapping_Length,

IOCTL_DOT11_Exclude_Unencrypted,

IOCTL_DOT11_WEP_Excluded_Count,

IOCTL_DOT11_Dissassociate_Notification,

IOCTL_DOT11_Deauthenticate_Notification,

IOCTL_DOT11_Authenticate_Fail_Notification,

IOCTL_DOT11_WEP_Undecryptable_Count и

IOCTL_DOT11_Group_Address.

Вызов IOCTL_DOT11_Current_BSSID используется для определения MAC-адреса ассоциированной точки доступа станции. Если станция не ассоциирована с точкой доступа, то тогда станция возвращается к обнуленному MAC-адресу. Вызов IOCTL_DOT11_Desired_BSSID используется для определения или установки MAC-адреса точки доступа, ассоциация с которой желательна. Вызов IOCTL_DOT11_Current_SSID используется для определения идентификатора набора служб (SSID) ассоциированной точки доступа. Вызов IOCTL_DOT11_Current_BSS_TYPE используется для определения текущего типа BSS, с которым работает станция. Вызов IOCTL_DOT11_Exclude_8021X используется для определения или установки значения истинности исключения 802.1X. Вызов IOCTL_DOT11_Associate используют для запроса станции на ассоциирование самой себя с точкой доступа на основе текущих значений требуемого идентификатора BSS (BSSID), требуемого SSID и требуемых параметров типа BSS.

Вызов IOCTL_DOT11_Disassociate используют для запроса на дизассоциирование станции от ассоциированной в данный момент точки доступа. Если станция не ассоциирована с точкой доступа, то в результате выдается код ошибки. При успешном дизассоциировании станция формирует сообщение Media Disconnect (отсоединение от среды). Вызов IOCTL_DOT11_Query_Adapter_List используется для определения списка виртуальных адаптеров, которые в данный момент имеет драйвер 206 станции (или драйвер 304 точки доступа). Вызов IOCTL_DOT11_Query_BSSID_List используется для определения текущего списка с описанием BSS. Вызов IOCTL_DOT11_Send_8021X_Pkt используют для запроса на посылку станцией или точкой доступа пакета 802.1X.

Вызов IOCTL_DOT11_Receive_Upcall используют для задержки вызова, с тем чтобы драйвер станции или драйвер точки доступа послал информацию «вызова вверх» для запрашивающего приложения, когда драйвер станции или драйвер точки доступа принимает запрос на «вызов вверх». Если этот вызов сделан и если драйвер станции или драйвер точки доступа уже имеет «вызов вверх», ожидающий выполнения, то тогда драйвер заполняет буфер данными «вызова вверх», ожидающего выполнения, и немедленно завершает вызов. Если нет ожидающих выполнения запросов, то тогда драйвер станции (или драйвер точки доступа) выдает значение STATUS_PENDING (состояние ожидания выполнения) и завершает вызов, когда принят запрос на «вызов вверх». К типам выполняемых «вызовов вверх» относятся подтверждение сканирования, подтверждение установки в исходное состояние, подтверждение посылки пакета 802.1X, индикация приема пакета 802.1X, уведомление о дизассоциировании, уведомление о деаутентификации, и уведомление об отказе аутентификации. «Вызовы вверх» для точек доступа также включают в себя индикацию ассоциирования и индикацию дизассоциирования. Вызов IOCTL_DOT11_Check_Adapter используют для запроса проверки станцией или точкой доступа существования данного адаптера. Вызов IOCTL_DOT11_8021X_State используется для определения или установки состояния 802.1X на конкретном средстве. Вызов IOCTL_DOT11_8021X_Filter call используется для определения или установки фильтров 802.1X на конкретном виртуальном минипорте конкретной станции или точки доступа.

Вызов IOCTL_DOT11_Authentication_Response_Time_Out используется для определения и установки значения времени ожидания ответа на запрос на аутентификацию. Значение времени ожидания - это время, в течение которого отвечающая станция должна ждать следующий кадр в ответе на запрос на аутентификацию. Вызов IOCTL_DOT11_Privacy_Option_Implemented используется для определения значения истинности реализованной опции конфиденциальности. Значение «истина» указывает, что опция WEP реализована. Вызов IOCTL_DOT11_Desired_SSID используется для определения или установки ID желаемого набора служб, используемого в затребованном параметре SSID самого последнего сканирования. Вызов IOCTL_DOT11_Desired_BSS_Type используется для определения или установки желаемого типа BSS. Вызов IOCTL_DOT11_Association_Response_Time_Out используется для определения или установки значения времени ожидания ответа на запрос на ассоциирование, которое представляет собой время, в течение которого запрашивающая станция должна ждать ответ на переданный MPDU с запросом на ассоциирование. Вызов IOCTL_DOT11_Disassociated_Peer используется для определения причины последнего дизассоциирования и адреса последней дизассоциированной станции. Вызов IOCTL_DOT11_Deauthenticated_Peer используется для определения причины последней деаутентификации и адреса последней деаутентифицированной станции. Вызов IOCTL_DOT11_Authentication_Failed_Peer используется для определения причины последнего отказа в аутентификации и адреса последней станции, для которой было отказано в аутентификации.

Вызов IOCTL_DOT11_Authentication_Algorithm используется для определения списка всех алгоритмов аутентификации, поддерживаемых станциями, и их состояний. Этот вызов также используют для установки состояний для списка алгоритмов аутентификации. Вызов IOCTL_DOT11_WEP_Default_Key_Value используется для установки значения ключа WEP по умолчанию при определенном индексе. Вызов IOCTL_DOT11_WEP_Key_Mapping используют для определения списка отображений ключей WEP или установки отображения ключа WEP при определенном индексе. Вызов IOCTL_DOT11_Privacy_Invoked используется для определения или установки значения истинности инициируемой конфиденциальности. Значение «истина» указывает на то, что механизм WEP используется для передачи кадров типа Data (данные). Вызов IOCTL_DOT11_WEP_Default_Key_Id используется для определения или установки значения по умолчанию ID ключа WEP по умолчанию для заданного элемента (то есть первый, второй, третий или четвертый элемент массива ключей WEP по умолчанию). Вызов IOCTL_DOT11_WEP_Key_Mapping_Length используется для определения или установки длины отображения ключа WEP. Вызов IOCTL_DOT11_Exclude_Unencrypted используется для определения или установки значения истинности исключения незашифрованного режима. Значение «истина» указывает на то, что станция не будет выдавать индикацию на интерфейс службы МАС в отношении блоков MSDU, которые имеют субполе WEP поля Frame Control (управления кадром), установленное в нуль. Вызов IOCTL_DOT11_WEP_Excluded_Count используют для определения счетчика случаев исключения WEP. Вызов IOCTL_DOT11_Dissassociate_Notification используется для определения или установки значения истинности уведомления о дизассоциировании. Когда это значение установлено равным «истина», то посылается уведомление о дизассоциировании всякий раз, когда станция посылает кадр дизассоциирования. Уведомление о дизассоциировании включает в себя МАС-адрес, по которому был послан кадр дизассоциирования, и причину дизассоциирования. Вызов IOCTL_DOT11_Deauthenticate_Notification используется для определения и установки значения истинности уведомления о деаутентификации. Когда установлено значение «истина», то посылается уведомление о деаутентификации всякий раз, когда станция посылает кадр деаутентификации. Уведомление о деаутентификации включает в себя МАС-адрес, по которому был послан кадр деаутентификации, и причину деаутентификации. Вызов IOCTL_DOT11_Authenticate_Fail_Notification используется для определения и установки значения истинности уведомления о неудачной аутентификации. Если установлено значение «истина», то посылается уведомление об отказе в аутентификации всякий раз, когда станция посылает кадр деаутентификации. Уведомление о деаутентификации включает в себя МАС-адрес, по которому был послан кадр деаутентификации, и причину деаутентификации. Вызов IOCTL_DOT11_WEP_Undecryptable_Count используется для определения счетчика случаев невозможности дешифровки WEP. Вызов IOCTL_DOT11_Group_Address используется для определения списка адресов мультивещания и состояния их строк, а также установки адреса мультивещания и состояния строки при заданном индексе.

Теперь, когда были описаны вызовы IOCTL, будут описаны расширения 802.11 к стандартным функциям NDIS. Плата NIC 202, 302 должна выполнять эти расширения таким образом, как это описано ниже. Если плата NIC 202, 302 поддерживает выгрузку фрагментации, то тогда она должна поддерживать выгрузку WEP. В этом случае взаимодействие происходит на уровне MSDU за исключением случая, когда ключи WEP не выгружаются, либо плата NIC 202, 302 не поддерживает требуемый алгоритм WEP. Если ключи WEP не выгружаются или не поддерживается алгоритм WEP, то данное взаимодействие также включает в себя MSDU, представленный в виде цепочки из одного или нескольких MPDU.

Если плата NIC 202, 302 поддерживает выгрузку WEP, но не поддерживает выгрузку фрагментации, то тогда в дополнение к блоку MSDU взаимодействие также включает в себя блок MSDU, представленный в виде цепочки из одного или нескольких блоков MPDU, а драйвер 206 станции или драйвер 304 точки доступа применяет фрагментацию, если это необходимо, причем фрагменты посылаются в блоках MPDU. Если NIC 202, 302 не поддерживает выгрузку фрагментации или выгрузку WEP, то взаимодействие между платой NIC и станцией 200 или точкой 300 доступа также включает в себя блок MSDU, представленный в виде цепочки из одного или нескольких MPDU, а станция 200 или точка 300 доступа использует фрагментацию (фрагменты посылаются в блоках MPDU) и/или WEP (WEP используется после фрагментации).

В дополнение к NDIS_PACKET точка 300 доступа и станция 200 передают данные, характерные для протокола 802.11, на NIC 202, 302. Указатель на эту информацию расширения 802.11 может быть извлечен посредством команды Ndis_Get_Packet_Media_Specific_Info. Эта команда возвращает указатель на информацию, зависящую от конкретной среды, который в действительности является указателем на DOT11_Send_Extension_Info. Плата NIC 202, 302 должна извлечь информацию расширения из исходящего пакета, используя команду Ndis_Get_Packet_Media_Specific_Info. Информация, включенная в ответ на эту команду, содержит информацию, необходимую для извлечения MPDU из цепочки MDL (минимальной длины дескриптора). Дескриптор пакета может описывать либо один блок MSDU, либо все блоки MPDU (фрагменты) одного блока MSDU.

Другой предоставляемой информацией является бит uDontFragment, описатель hWEPOffload и количество фрагментов (Number of Fragments). Бит uDontFragment указывает, может ли плата NIC 202, 302 фрагментировать пакет. Описатель hWEPOffload - это описатель для строки WEP, используемой для шифрования пакета (если он не фрагментирован) или для шифрования каждого фрагмента пакета (если пакет фрагментирован). Станция 200 или точка 300 доступа гарантирует, что значение описателя, которое она передает, остается действительным в течение данного вызова. Если плата NIC 202, 302 поддерживает выгрузку фрагментации, то тогда она должна поддерживать выгрузку WEP. Если плата NIC 202, 302 не поддерживает выгрузку фрагментации, то тогда станция 200 или точка 300 доступа использует фрагментацию, если это необходимо. Точка 300 доступа или станция 200 применяет шифрование WEP, если NIC 202, 302 не поддерживает шифрование WEP. Если не поддерживается аппаратная фрагментация и плата NIC 202, 302 не может послать нефрагментированный пакет, то тогда плата NIC 202, 302 выдает соответствующее состояние вышерасположенным протоколам. После приема кода этого состояния станция 200 или точка 300 доступа вновь запросит пороговое значение фрагментации и максимальный размер блока MPDU у платы NIC 202, 302.

Плата NIC 202, 302 должна использовать предоставленную информацию расширения посылки 802.11 определенными способами. Далее перечисляется, каким образом плата 802.11 NIC должна использовать предоставленную информацию расширения посылки 802.11:

1) бит uDontFragment сброшен в нулевое состояние, количество фрагментов =0 и hWEPOffload установлен в ноль (NULL)

Плата NIC 202, 302 использует структуру NDIS_PACKET верхнего уровня для того, чтобы получить описание цепочки буферов пакета, фрагментировать пакет, если это необходимо, и не применять WEP к каждому фрагменту пакета (если пакет фрагментирован) или к пакету (если пакет не фрагментирован).

2) бит uDontFragment сброшен в нулевое состояние, количество фрагментов =0 и hWEPOffload имеет ненулевое значение

Плата NIC 202, 302 использует структуру NDIS_PACKET верхнего уровня для того, чтобы получить описание цепочки буферов пакета, фрагментировать пакет, если это необходимо, использовать значение описателя hWEPOffload для определения местоположения ключа WEP и применить WEP к каждому фрагменту пакета (если пакет фрагментирован) или к пакету (если пакет не фрагментирован). В любом случае плата NIC должна выделить буферы для ICV и IV. Причина, по которой вышерасположенный уровень не выделяет ICV или IV, в этом случае состоит в том, что он не знает, будет ли плата NIC 202, 302 фрагментировать пакет (состояние максимальной длины MPDU в плате NIC может динамически изменяться платой NIC в зависимости от частоты ошибок на уровне PHY).

3) бит uDontFragment сброшен в нулевое состояние, количество фрагментов >1 и hWEPOffload имеет нулевое значение (NULL)

Станция 200/точка 300 доступа гарантирует, что этот случай никогда не возникнет, так как если бит uDontFragment сброшен в нулевое состояние, то плата NIC 202, 302 поддерживает фрагментацию аппаратными средствами.

4) бит uDontFragment сброшен в нулевое состояние, количество фрагментов >1 и hWEPOffload имеет ненулевое значение

Станция 200/точка 300 доступа гарантирует, что этот случай никогда не возникнет, так как если бит uDontFragment сброшен в нулевое состояние, то плата NIC 202, 302 поддерживает фрагментацию аппаратными средствами (что предполагает также поддержку выгрузки WEP).

5) установлен бит uDontFragment, количество фрагментов =0 и hWEPOffload имеет нулевое значение (NULL)

Плата NIC 202, 302 использует структуру NDIS_PACKET верхнего уровня для того, чтобы получить описание цепочки буферов пакета, не фрагментировать пакет и не применять WEP к пакету перед передачей его в эфир.

6) установлен бит uDontFragment, количество фрагментов =0 и hWEPOffload имеет ненулевое значение

Плата NIC 202, 302 использует структуру NDIS_PACKET верхнего уровня для того, чтобы получить описание цепочки буферов пакета, не фрагментировать пакет, использовать значение описателя hWEPOffload для определения местоположения ключа WEP и применять WEP к пакету. В этом случае NIC 202, 302 не должна выделять буферы для ICV и IV, так как станция 200/точка 300 доступа гарантирует, что буферы для ICV и IV уже выделены для пакета.

7) установлен бит uDontFragment, количество фрагментов >1 и hWEPOffload имеет нулевое значение (NULL)

В этом сценарии цепочка буферов NDIS_PACKET верхнего уровня описывает все блоки MPDU. Плата NIC 202, 302 должна использовать массив структур DOT11_FRAGMENT_DESCRIPTOR (поле Dot11 FragmentDescriptors структуры DOT11_SEND_EXTENSION_INFO) из указателя MediaSpecificInformation структуры NDIS_PACKET верхнего уровня для получения смещения и длины каждого фрагмента (количество фрагментов равно usNumberOfFragments) и не применяет WEP к каждому фрагменту перед передачей его в эфир.

8) установлен бит uDontFragment, количество фрагментов >1 и hWEPOffload имеет ненулевое значение

В этом сценарии цепочка буферов NDIS_PACKET верхнего уровня описывает все блоки MPDU. Плата NIC 202, 302 должна использовать массив структур DOT11_FRAGMENT_DESCRIPTOR (поле Dot11FragmentDescriptors структуры DOT11_SEND_EXTENSION_INFO) из указателя MediaSpecificInformation структуры NDIS_PACKET верхнего уровня для получения смещения и длины каждого фрагмента (количество фрагментов равно usNumberOfFragments), использовать значение описателя hWEPOffload для определения местоположения ключа WEP и применять WEP к каждому фрагменту перед передачей его в эфир. В этом случае плата NIC не должна выделять буферы для ICV и IV, так как станция 200/точка 300 доступа гарантирует, что буферы ICV и IV уже выделены для каждого фрагмента пакета.

Если при обработке пакета появился какой-либо отказ, то плата NIC должна выделить индикацию соответствующего состояния, а также обновить соответствующие статистические данные в своей таблице конфигурации. Плата должна выдать один или несколько из следующих кодов состояний (они определены в последующем разделе): DOT11_STATUS_SUCCESS - для случая успешной передачи или приема MSDU; DOT11_STATUS_RETRY_LIMIT_EXCEEDED - невозможность доставки неподтвержденных направленных блоков MSDU, когда предел для повторных попыток ShortRetryMax или LongRetryMax превышен иным образом. Тип состояния - отказ; DOT11_STATUS_UNSUPPORTED_PRIORITY - для неподдерживаемого приоритета, для приоритетов, отличных от Contention (конфликтная ситуация) или ContentionFree (бесконфликтная ситуация). Тип состояния - отказ; DOT11_STATUS_UNSUPPORTED_SERVICE_CLASS - для неподдерживаемого класса услуг, для классов услуг, отличных от ReorderableMulticast (переупорядочиваемое мультивещание) или StrictlyOrdered (строгое упорядочение). Тип состояния - отказ; DOT11_STATUS_UNAVAILABLE_PRIORITY - для отсутствующего приоритета, для ContentionFree, когда координация точкой доступа отсутствует, и в этом случае блок MSDU передается с предоставленным приоритетом Contention. Тип состояния - информационное; DOT11_STATUS_UNAVAILABLE_SERVICE_CLASS - для отсутствующего класса услуг, для услуги StrictlyOrdered, когда режим управления мощностью станции отличается от «активного». Тип состояния - информационное; DOT11_STATUS_XMIT_MSDU_TIMER_EXPIRED - невозможность доставки, когда TransmitMSDUTimer (значение таймера передачи MSDU) достигло значения MaxTransmitMSDULifetime (максимальное время существования переданного MSDU) до успешной доставки. Тип состояния - отказ; DOT11_STATUS_UNAVAILABLE_BSS - невозможность доставки, так как BSS не был доступен. Тип состояния - отказ; DOT11_STATUS_EXCESSIVE_DATA_LENGTH - для пакета данных избыточной длины, если бит uDontFragment установлен и плата не может послать пакет в нефрагментированном виде. Тип состояния - отказ; и DOT11_STATUS_ENCRYPTION_FAILED - отказ при шифровании пакета по какой-либо причине. Тип состояния - отказ.

В дополнение к NDIS_PACKET плата NIC 202, 302 будет посылать вышерасположенным протоколам информацию, характерную для протокола 802.11. Указатель на информацию расширения может быть извлечен посредством команды Ndis_Get_Packet_Media_Specific_Info. Плата NIC, совместимая с 802.11, должна использовать Ndis_Set_Packet_Media_Specific_Info для установки информации расширения для входящего пакета. Дескриптор пакета NDIS, содержащий DOT11_Recv_Extension_Info, будет описывать вновь собранный пакет полного размера (только если плата NIC 202, 302 выполнила повторную сборку) или пакет, не являющийся фрагментом, в то время как pNdisPackets в DOT11_Recv_Extension_Info будет описывать фрагменты только в случае, если фрагменты были приняты, но не были повторно собраны. Дескриптор пакета NDIS верхнего уровня, содержащий DOT11_Recv_Extension_Info, не будет описывать какую-либо цепочку буферов пакета в том случае, когда пакет был принят в виде набора фрагментов и не был повторно собран. Он будет либо описывать повторно собранный либо нефрагментированный пакет (MSDU). В случае MSDU он удалит буферы ICV и IV перед его индикацией для вышерасположенных протоколов.

Другая информация, которая задается платой NIC 202, 302, включает в себя приоритет, уровень принятого сигнала в дБм и в качественных показателях для всех типов физических сред, состояние, количество принятых блоков MPDU, количество фрагментов и массив указателей для структур пакета NDIS. Установка приоритета задает приоритет обработки приема, который был использован для пересылки блоков данных. Разрешенными значениями являются Contention или ContentionFree. Информация о состоянии содержит состояние, заполненное платой NIC 202, 302, когда она выдает индикацию MSDU для вышерасположенных протоколов. Если состояние является благоприятным, это поле содержит DOT11_Status_Success плюс любые информационные коды состояния, если они подходят (все применимые коды состояния необходимо подвергнуть логической операции ИЛИ (OR)). Если плата NIC 202, 302 сталкивается с отказом, прежде чем она смогла выполнить индикацию пакета для вышерасположенных протоколов, то тогда она должна отбросить пакет и обновить соответствующие статистические данные в своей таблице конфигурации. В этом случае NIC 202, 302 не должна выполнять индикацию пакета для вышерасположенных протоколов. Количество принятых блоков MPDU содержит количество блоков MPDU, принятых платой NIC 202, 302 для формирования MSDU, индикация которого выдается вышерасположенным протоколом, и эта величина должна иметь значение, большее или равное 1, и меньшее, чем DOT11_Max_Num_Of_Fragments (максимальное количество фрагментов). Количество фрагментов содержит количество фрагментов, возвращаемых платой NIC 202, 302. Если NIC 202, 302 поддерживает выгрузку дефрагментации, то тогда она должна поддерживать выгрузку WEP. Если плата NIC 202, 302 не поддерживает выгрузку дефрагментации, то тогда станция 200/точка 300 доступа использует дефрагментацию, если это необходимо. Если NIC 202, 302 также не поддерживает выгрузку WEP, то тогда станция 200/точка 300 доступа использует дешифрование WEP.

Далее перечисляется, каким образом плата NIC 202, 302 должна представлять информацию расширения приема 802.11 в каждом из следующих сценариев.

1) Принятый пакет не является фрагментом, и нет необходимости использовать WEP для пакета

Перед индикацией пакета для вышерасположенных протоколов информация расширения приема 802.11 устанавливается следующим образом: состояние=DOT11_Status_Success, количество принятых блоков MPDU=1, количество фрагментов=0, и указатель на массив обнулен. NDIS_PACKET верхнего уровня должна описывать цепочку буферов пакета.

Если имеет место какой-либо отказ, перед тем как плата NIC 202, 302 смогла выполнить индикацию пакета для NDIS, то тогда NIC 202, 302 должна отбросить этот пакет и обновить соответствующие статистические данные в своей таблице конфигурации. 2) Принятый пакет не является фрагментом, есть необходимость использовать WEP для пакета, и в плате отсутствует необходимый ключ WEP, либо WEP не поддерживается аппаратными средствами

Перед индикацией пакета для вышерасположенных протоколов информация расширения приема 802.11 устанавливается следующим образом: состояние=DOT11_STATUS_SUCCESS|DOT11_STATUS_WEP_KEY_UNAVAILABLE, количество принятых блоков MPDU=1, количество фрагментов=0, и указатель на массив обнулен. NDIS_PACKET верхнего уровня должна описывать цепочку буферов пакета.

Если имеет место какой-либо отказ, перед тем как плата NIC 202, 302 смогла выполнить индикацию пакета для NDIS, то тогда NIC 202, 302 должна отбросить этот пакет и обновить соответствующие статистические данные в своей таблице конфигурации.

3) Принятый пакет не является фрагментом, есть необходимость использовать WEP для пакета и в плате имеется необходимый ключ WEP

Перед индикацией пакета для вышерасположенных протоколов информация расширения приема 802.11 устанавливается следующим образом: состояние=DOT11_STATUS_SUCCESS|DOT11_STATUS_ICV_VERIFIED, количество принятых блоков MPDU=1, количество фрагментов=0, и указатель на массив обнулен. NDIS_PACKET верхнего уровня должна описывать цепочку буферов пакета.

Если имеет место какой-либо отказ, перед тем как плата NIC 202, 302 смогла выполнить индикацию пакета для NDIS, то тогда плата NIC 202, 302 должна отбросить этот пакет и обновить соответствующие статистические данные в своей таблице конфигурации.

4) Принятый пакет является фрагментом, все фрагменты были приняты в рамках интервала времени приема фрагментов и нет необходимости использовать WEP для фрагментов

Перед индикацией пакета для вышерасположенных протоколов информация расширения приема 802.11 устанавливается следующим образом:

Если плата поддерживает дефрагментацию аппаратными средствами, то тогда должны быть следующие значения: состояние=DOT11_STATUS_SUCCESS|DOT11_STATUS_PACKET_REASSEMBLED, количество принятых блоков MPDU=количеству принятых фрагментов, количество фрагментов=0, и указатель на массив обнулен. NDIS_PACKET верхнего уровня должна описывать цепочку буферов вновь собранного пакета.

Если плата не поддерживает дефрагментацию аппаратными средствами, то тогда должны быть следующие значения:

состояние=DOT11_STATUS_SUCCESS|DOT11_STATUS_

PACKET_NOT_REASSEMBLED, количество принятых блоков MPDU=количеству принятых фрагментов, количество фрагментов=количеству принятых фрагментов, указатель указывает на массив структур NDIS_PACKET с количеством элементов в массиве, равным количеству принятых фрагментов. NDIS_PACKET верхнего уровня должна описывать цепочку буферов пакета для первого фрагмента, чтобы обойти проверку NDIS (NDIS не допускает пакеты нулевой длины).

Если имеется какой-либо отказ, прежде чем NIC 202, 302 смогла выполнить индикацию вновь собранного пакета или фрагментов для NDIS, то тогда NIC 202, 302 должна отбросить эти фрагменты и обновить соответствующие статистические данные в своей таблице конфигурации.

5) Принятый пакет является фрагментом, все фрагменты были приняты в рамках интервала времени приема фрагментов, есть необходимость использовать WEP для фрагментов, и в плате отсутствует необходимый ключ WEP либо WEP не поддерживается аппаратными средствами

Перед индикацией пакета для вышерасположенных протоколов информация расширения приема 802.11 устанавливается следующим образом: состояние=DOT11_STATUS_SUCCESS|DOT11_STATUS_PACKET_NOT_

REASSEMBLED|DOT11_STATUS_WEP_KEY_UNAVAILABLE, количество принятых блоков MPDU=количеству принятых фрагментов, количество фрагментов=количеству принятых фрагментов, указатель на массив структур NDIS_PACKET с количеством элементов в массиве, равным количеству принятых фрагментов. NDIS_PACKET верхнего уровня должна описывать цепочку буферов пакета для первого фрагмента.

Если имеется какой-либо отказ, прежде чем NIC 202, 302 смогла выполнить индикацию фрагментов для NDIS, то тогда NIC 202, 302 должна отбросить эти фрагменты и обновить соответствующие статистические данные в своей таблице конфигурации.

6) Принятый пакет является фрагментом, все фрагменты были приняты в рамках интервала времени приема фрагментов, есть необходимость использовать WEP для фрагментов и в плате имеется необходимый ключ WEP

Перед индикацией пакета для вышерасположенных протоколов информация расширения приема 802.11 устанавливается следующим образом.

Если плата поддерживает дефрагментацию аппаратными средствами, то тогда должны быть следующие значения:

состояние=DOT11_STATUS_SUCCESS|DOT11_STATUS_PACKET_

REASSEMBLED|DOT11_STATUS_ICV_VERIFIED, количество принятых блоков MPDU=количеству принятых фрагментов, количество фрагментов=0, указатель на массив обнулен. NDIS_PACKET верхнего уровня должна описывать цепочку буферов пакета для первого фрагмента, чтобы обойти проверку NDIS (NDIS не допускает пакеты нулевой длины).

Если плата не поддерживает дефрагментацию аппаратными средствами, то тогда должны быть следующие значения:

состояние=DOT11_STATUS_SUCCESS|DOT11_STATUS_PACKET_NOT_

REASSEMBLED|DOT11_STATUS_ICV_VERIFIED, количество принятых блоков MPDU=количеству принятых фрагментов, количество фрагментов=количеству принятых фрагментов, указатель направлен к массиву структур NDIS_PACKET с количеством записей в массиве, равным количеству принятых фрагментов. NDIS_PACKET верхнего уровня должна описывать цепочку буферов пакета для первого фрагмента, чтобы обойти проверку NDIS (NDIS не допускает пакеты нулевой длины).

Если имеется какой-либо отказ, прежде чем NIC 202, 302 смогла выполнить индикацию вновь собранного пакета или фрагментов для NDIS, то тогда NIC 202, 302 должна отбросить эти фрагменты и обновить соответствующие статистические данные в своей таблице конфигурации.

Теперь, когда были описаны вызовы OID и IOCTL и вызовы IOCTL и расширения 802.11 к стандартным функциям NDIS, будут описаны для различных режимов работы взаимодействие между платой NIC 202, 302 и станцией 200/точкой 300 доступа и ожидаемая последовательность операций, которые могут быть запрошены для выполнения платой NIC 202, 302. Последовательность событий, которые будут описаны, является типовым набором событий.

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

Станция 200 может запросить функциональные возможности платы NIC 202. Вызовы, сделанные в NIC 202, включают в себя следующие вызовы OID:

OID_DOT11_Offload_Capability,

OID_DOT11_Operation_Mode_Capability,

OID_DOT11_Optional_Capability,

OID_DOT11_CF_Pollable,

OID_DOT11_Operational_Rate_Set,

OID_DOT11_Supported_PHY_Types,

OID_DOT11_Diversity_Support,

OID_DOT11_Supported_Power_Levels,

OID_DOT11_Reg_Domains_Support_Value и

OID_DOT11_Supported_Data_Rates_Value.

Как только указанные возможности становятся известными, станция 200 может, но не обязательно, установить текущие возможности NIC 202. Это включает в себя следующие вызовы OID:

OID_DOT11_Current_Offload_Capability,

OID_DOT11_Current_Operation_Mode,

OID_DOT11_Current_Phy_Type,

OID_DOT11_Current_Optional_Capability и

OID_DOT11_Diversity_Selection_RX.

Станция 200 через вызовы OID может также запросить и установить параметры NIC. К этим параметрам относятся параметры, которые не зависят от текущего состояния сети LAN 802.11, в которой они будут действовать. Установочные вызовы делаются только для тех параметров, чьи значения по умолчанию необходимо изменить. Список параметров, который может быть изменен или запрошен в этот момент, состоит из:

OID_DOT11_Temp_Type,

OID_DOT11_MPDU_Max_Length,

OID_DOT11_MAC_Address,

OID_DOT11_Station_ID,

OID_DOT11_Current_TX_Antenna,

OID_DOT11_Current_RX_Antenna,

OID_DOT11_Current_TX_Power_Level,

OID_DOT11_Supported_TX_Antenna и

OID_DOT11_Supported_RX_Antenna.

Для плат NIC, поддерживающих PHY FHSS, список параметров также включает в себя: OID_DOT11_Hop_Time,

OID_DOT11_Current_Channel_Number,

OID_DOT11_Max_Dwell_Time,

OID_DOT11_Current_Dwell_Time,

OID_DOT11_Current_Set,

OID_DOT11_Current_Pattern и

OID_DOT11_Current_Index.

Для плат NIC, поддерживающих PHY DSSS, список параметров также включает в себя:

OID_DOT11_Current_Channel,

OID_DOT11_CCA_Mode_Supported,

OID_DOT11_Current_CCA_Mode,

OID_DOT11_ED_Threshold.

Для плат NIC, поддерживающих PHY IR, список параметров также включает в себя:

OID_DOT11_CCA_Watchdog_Timer_Max,

OID_DOT11_CCA_Watchdog_Count_Max,

OID_DOT11_CCA_Watchdog_Timer_Min и

OID_DOT11_CCA_Watchdog_Count_Min.

Станция 200 выдает вызов OID с запросом на сканирование (активное или пассивное) (OID_DOT11_Scan_Request). Индикация кадров сигнала маяка и зондового отклика во время сканирования выполняется с использованием правил расширения приемного тракта мини-порта, объясненных при обсуждении расширений 802.11 к стандартным функциям NDIS. Эти правила применяются ко всем принятым пакетам.

Сразу после успешного завершения запроса на сканирование станция 200 может, но не обязательно, запросить и установить параметры платы NIC посредством идентификаторов OID. К этим параметрам относятся параметры, которые зависят от текущего состояния сети LAN 802.11, в которой они будут действовать. Установочные вызовы делаются только для тех параметров, чьи значения, используемые по умолчанию, необходимо изменить. Список параметров, которые могут быть изменены или запрошены в этот момент, включают в себя:

OID_DOT11_Operational_Rate_Set, OID_DOT11_Current_Reg_Domain (этот вызов требует, чтобы NIC 202 уже выполнила пассивное сканирование),

OID_DOT11_Current_TX_Antenna,

OID_DOT11_Current_RX_Antenna,

OID_DOT11_Current_TX_Power_Level,

OID_DOT11_Supported_TX_Antenna,

OID_DOT11_Supported_RX_Antenna и

OID_DOT11_Diversity_Selection_RX.

Для плат NIC, поддерживающих PHY FHSS, список параметров также включает в себя:

OID_DOT11_Hop_Time,

OID_DOT11_Current_Channel_Number,

OID_DOT11_Max_Dwell_Time,

OID_DOT11_Current_Dwell_Time,

OID_DOT11_Current_Set,

OID_DOT11_Current_Pattern и

OID_DOT11_Current_Index.

Для плат NIC, поддерживающих PHY DSSS, список параметров также включает в себя:

OID_DOT11_Current_Channel,

OID_DOT11_CCA_Mode_Supported,

OID_DOT11_Current_CCA_Mode,

OID_DOT11_ED_Threshold.

Для плат NIC, поддерживающих PHY IR, список параметров также включает в себя:

OID_DOT11_CCA_Watchdog_Timer_Max, OID_DOT11_CCA_Watchdog_Count_Max, OID_DOT11_CCA_Watchdog_Timer_Min и

OID_DOT11_CCA_Watchdog_Count_Min.

Станция 200 может посылать NIC 202 запрос на подключение (OID_DOT11_Join_Request) к инфраструктуре BSS. Сразу после успешного завершения запроса на подключение плата NIC 202 может сама или в ответ на запрос выполнить следующее:

1) Следовать правилам расширения тракта посылки мини-порта, как объяснено выше в расширениях 802.11 к стандартным функциям NDIS, для обработки и посылки пакетов, выданных плате NIC 202 станцией 200. Плату NIC 202 можно запросить, используя следующие вызовы OID, когда она изменяет параметры, ассоциированные с этими идентификаторами OID, и уведомляет станцию 200 об изменении через индикацию NDIS: OID_DOT11_MPDU_Max_Length.

2) Помимо этого плата NIC 202 может следовать правилам расширения тракта приема мини-порта, объясненным выше в расширениях 802.11 к стандартным функциям NDIS для обработки принятых пакетов и передачи их на станцию 200. Если плата NIC 202 поддерживает выгрузку/загрузку WEP, то может быть выгружена строка WEP либо может быть загружена уже выгруженная строка WEP в любой момент времени с использованием вызовов

OID_DOT11_WEP_Offload,

OID_DOT11_WEP_Upload,

OID_DOT11_Default_WEP_Offload и

OID_DOT11_Default_WEP_Upload.

3) Обрабатывать запросы на сканирование (OID_DOT11_Scan_Request), если они имеются.

4) Всегда выполнять индикацию зондового отклика и кадров сигнала маяка для вышерасположенных протоколов. Также выполнять индикацию выбранных пакетов ACK, принятых для передач конкретных пакетов. Расширение тракта посылки NDIS используется для индикации того, для каких из переданных пакетов необходима индикация принятых пакетов ACK для вышерасположенных протоколов.

5) Обрабатывать все запросы на параметры по идентификаторам OID только для считывания и для записи и считывания (включая идентификаторы OID статистических данных типа OID_DOT11_WEP_ICV_ERROR_COUNT и OID_DOT11_COUNTERS_ENTRY. Помимо этого список параметров, который может быть в этот момент изменен, включает в себя:

OID_DOT11_Current_Packet_Filter,

OID_DOT11_Power_Mgmt_Mode,

OID_DOT11_RTS_Threshold,

OID_DOT11_Short_Retry_Limit,

OID_DOT11_Long_Retry_Limit,

OID_DOT11_Fragmentation_Threshold,

OID_DOT11_Max_Transmit_MSDU_Lifetime и

OID_DOT11_Max_Receive_Lifetime.

Станция 200 может также выдавать запрос на программный сброс NIC (Reset_Request), который отличается от запроса на сброс NDIS. Этот программный сброс предписывает NIC 202 подготовиться к запросу на новое подключение или запросу на новый запуск с промежуточными идентификаторами OID некоторой промежуточной конфигурации и/или идентификатором OID запроса на сканирование. Этот запрос также имеет флаг, который сообщает плате NIC 202 о том, сохранить ли текущие установки или повторно загрузить установки по умолчанию. После успешного завершения этого запроса станция 200 может повторить ожидаемую последовательность операций для любой из четырех конфигураций в зависимости от возможностей NIC, состояния окружения LAN 802.11 и конфигурации, запрошенной пользователем.

Плате NIC, поддерживающей станцию 200, которая работает в режиме подключения к IBSS, может быть послан запрос на выполнение следующей последовательности операций после перезагрузки или программного сброса. Специалистам в данной области техники очевидно, что с момента предыдущего программного сброса или перезагрузки на каждом проходе могут выполняться только части упомянутой последовательности операций.

Станция 200 может запросить функциональные возможности NIC 202. Вызовы, направленные в NIC 202, включают в себя следующие вызовы OID:

OID_DOT11_Offload_Capability,

OID_DOT11_Operation_Mode_Capability,

OID_DOT11_Optional_Capability,

OID_DOT11_Operational_Rate_Set,

OID_DOT11_Supported_Phy_Types,

OID_DOT11_Diversity_Support,

OID_DOT11_Supported_Power_Levels,

OID_DOT11_Reg_Domains_Support_Value и

OID_DOT11_Supported_Data_Rates_Value.

Как только указанные функциональные возможности становятся известны станции 200, она может, но не обязательно, установить текущие функциональные возможности платы NIC 202. Это включает в себя следующие вызовы OID:

OID_DOT11_Current_Offload_Capability,

OID_DOT11_Current_Operation_Mode,

OID_DOT11_Current_Phy_Type,

OID_DOT11_Current_Optional_Capability и

OID_DOT11_Diversity_Selection_RX.

Станция 200 может также запросить и установить параметры NIC через вызовы OID. К этим параметрам относятся параметры, которые не зависят от текущего состояния сети LAN 802.11, в которой они будут действовать. Установочные вызовы выполняются только для тех параметров, чьи значения по умолчанию необходимо изменить. В список параметров, которые могут быть изменены или запрошены в этот момент, входят:

OID_DOT11_Temp_Type,

OID_DOT11_MPDU_Max_Length,

OID_DOT11_MAC_Address,

OID_DOT11_Station_ID,

OID_DOT11_Current_TX_Antenna,

OID_DOT11_Current_RX_Antenna,

OID_DOT11_Current_TX_Power_Level,

OID_DOT11_Supported_TX_Antenna и

OID_DOT11_Supported_RX_Antenna.

Для плат NIC, поддерживающих уровень PHY FHSS, список параметров также включает в себя:

OID_DOT11_Hop_Time,

OID_DOT11_Current_Channel_Number,

OID_DOT11_Max_Dwell_Time,

OID_DOT11_Current_Dwell_Time,

OID_DOT11_Current_Set,

OID_DOT11_Current_Pattern и

OID_DOT11_Current_Index.

Для плат NIC, поддерживающих уровень PHY DSSS, список параметров также включает в себя:

OID_DOT11_Current_Channel,

OID_DOT11_CCA_Mode_Supported,

OID_DOT11_Current_CCA_Mode,

OID_DOT11_ED_Threshold.

Для плат NIC, поддерживающих уровень PHY IR, список параметров также включает в себя:

OID_DOT11_CCA_Watchdog_Timer_Max,

OID_DOT11_CCA_Watchdog_Count_Max,

OID_DOT11_CCA_Watchdog_Timer_Min и

OID_DOT11_CCA_Watchdog_Count_Min.

Станция 200 выдает вызов OID с запросом на сканирование (активное или пассивное) (Scan_Request). Индикация кадров сигнала маяка и зондового отклика во время сканирования осуществляется с использованием правил расширения приемного тракта минипорта, рассмотренных при объяснении расширений 802.11 к стандартным функциям NDIS. Эти правила применяются ко всем принятым пакетам.

Сразу после успешного завершения запроса на сканирование станция 200 может, но не обязательно, запросить и установить параметры NIC через идентификаторы OID. К этим параметрам относятся параметры, которые зависят от текущего состояния сети LAN 802.11, в которой они будут действовать. Установочные вызовы выполняются только для тех параметров, чьи значения по умолчанию необходимо изменить. Список параметров, которые могут быть изменены или запрошены в этот момент, включают в себя:

OID_DOT11_ATIM_Window,

OID_DOT11_Operational_Rate_Set,

OID_DOT11_Beacon_Period,

OID_DOT11_Current_Reg_Domain (этот вызов требует, чтобы плата NIC 202 уже выполнила пассивное сканирование),

OID_DOT11_Current_TX_Antenna,

OID_DOT11_Current_RX_Antenna,

OID_DOT11_Current_TX_Power_Level,

OID_DOT11_Supported_TX_Antenna,

OID_DOT11_Supported_RX_Antenna и

OID_DOT11_Diversity_Selection_RX.

Для плат NIC, поддерживающих уровень PHY FHSS, список параметров также включает в себя:

OID_DOT11_Hop_Time,

OID_DOT11_Current_Channel_Number,

OID_DOT11_Max_Dwell_Time,

OID_DOT11_Current_Dwell_Time,

OID_DOT11_Current_Set,

OID_DOT11_Current_Pattern и

OID_DOT11_Current_Index.

Для плат NIC, поддерживающих уровень PHY DSSS, список параметров также включает в себя: OID_DOT11_Current_Channel,

OID_DOT11_CCA_Mode_Supported,

OID_DOT11_Current_CCA_Mode,

OID_DOT11_ED_Threshold.

Для плат NIC, поддерживающих уровень PHY IR, список параметров также включает в себя:

OID_DOT11_CCA_Watchdog_Timer_Max,

OID_DOT11_CCA_Watchdog_Count_Max,

OID_DOT11_CCA_Watchdog_Timer_Min и

OID_DOT11_CCA_Watchdog_Count_Min.

Станция 200 может посылать в NIC 202 запрос на запуск (Start_Request). Сразу после успешного завершения запроса на запуск плата NIC 202 может сама либо по запросу выполнить следующее:

1) Плата NIC 202 должна высылать кадры периодического сигнала маяка и должна отвечать на кадры зондовых запросов зондовыми откликами.

2) Следовать правилам расширения тракта посылки мини-порта, как объяснено выше в расширениях 802.11 к стандартным функциям NDIS, для обработки и посылки пакетов, выданных плате NIC 202 станцией 200. Плату NIC 202 можно запросить, используя следующие вызовы OID, когда она изменяет параметры, ассоциированные с этими идентификаторами OID, и уведомляет станцию 200 об изменении через индикацию NDIS: OID_DOT11_MPDU_Max_Length.

3) Помимо этого плата NIC 202 может следовать правилам расширения тракта приема мини-порта, объясненным выше в расширениях 802.11 к стандартным функциям NDIS для обработки принятых пакетов и передачи их к станции 200. Если плата NIC 202 поддерживает выгрузку/загрузку WEP, то может быть выгружена строка WEP либо может быть загружена уже выгруженная строка WEP в любой момент времени с использованием вызовов

OID_DOT11_WEP_Offload,

OID_DOT11_WEP_Upload,

OID_DOT11_Default_WEP_Offload и

OID_DOT11_Default_WEP_Upload.

4) Обрабатывать запросы на сканирование (OID_DOT11_Scan_Request), если они имеются.

5) Всегда выполнять индикацию зондового отклика и кадров сигнала маяка для вышерасположенных протоколов. Также выполнять индикацию выбранных пакетов ACK, принятых для передач конкретных пакетов. Расширение тракта посылки NDIS используется для индикации того, для каких из переданных пакетов необходима индикация принятых пакетов ACK для вышерасположенных протоколов.

6) Обрабатывать все запросы на параметры по идентификаторам OID только для считывания и для записи и считывания (включая идентификаторы OID статистических данных типа OID_DOT11_WEP_ICV_ERROR_COUNT и OID_DOT11_COUNTERS_ENTRY). Помимо этого, список параметров, который может быть в этот момент изменен, включает в себя:

OID_DOT11_Current_Packet_Filter,

OID_DOT11_Power_Mgmt_Mode,

OID_DOT11_RTS_Threshold,

OID_DOT11_Short_Retry_Limit,

OID_DOT11_Long_Retry_Limit,

OID_DOT11_Fragmentation_Threshold,

OID_DOT11_Max_Transmit_MSDU_Lifetime и

OID_DOT11_Max_Receive_Lifetime.

Станция 200 может также выдавать запрос на программный сброс NIC (OID_DOT11_Reset_Request), который отличается от запроса на сброс NDIS. Этот программный сброс предписывает NIC 202 подготовиться к запросу на новое подключение или запросу на новый запуск с идентификаторами OID некоторой промежуточной конфигурации и идентификатором OID запроса на сканирование. Этот запрос также имеет флаг, который сообщает плате NIC 202 о том, сохранить ли текущие установки или вновь загрузить установки по умолчанию. После успешного завершения этого запроса станция 200 может повторить ожидаемую последовательность операций для любой из четырех конфигураций в зависимости от возможностей платы NIC, состояния окружения сети LAN 802.11 и конфигурации, запрошенной пользователем.

В плату NIC, поддерживающую точку 300 доступа, может быть послан запрос на выполнение следующей последовательности операций после перезагрузки или программного сброса. Специалистам в данной области техники очевидно, что с момента предыдущего программного сброса или перезагрузки на каждом проходе могут выполняться только части упомянутой последовательности операций.

Точка 300 доступа может запросить функциональные возможности NIC 302. Описанные здесь идентификаторы OID характерны для используемого уровня PHY. Могут быть заданы другие идентификаторы OID, характерные для других уровней PHY. Вызовы, направленные в NIC 302, включают в себя следующие вызовы

OID:OID_DOT11_Offload_Capability,

OID_DOT11_Operation_Mode_Capability,

OID_DOT11_Optional_Capability,

OID_DOT11_Operational_Rate_Set,

OID_DOT11_Supported_Phy_Types,

OID_DOT11_Diversity_Support,

OID_DOT11_Supported_Power_Levels,

OID_DOT11_Reg_Domains_Support_Value и

OID_DOT11_Supported_Data_Rates_Value.

Как только указанные функциональные возможности становятся известны точке 300 доступа, она может, но не обязательно, установить текущие функциональные возможности платы NIC 302. Это включает в себя следующие вызовы OID:

OID_DOT11_Current_Offload_Capability,

OID_DOT11_Current_Operation_Mode,

OID_DOT11_Current_Phy_Type,

OID_DOT11_Current_Optional_Capability и

OID_DOT11_Diversity_Selection_RX.

Точка 300 доступа может также запросить и установить параметры NIC через вызовы OID. К этим параметрам относятся параметры, которые не зависят от текущего состояния сети LAN 802.11, в которой они будут действовать. Установочные вызовы выполняются только для тех параметров, чьи значения по умолчанию необходимо изменить. В список параметров, которые могут быть изменены или запрошены в этот момент, входят:

OID_DOT11_Temp_Type,

OID_DOT11_MPDU_Max_Length,

OID_DOT11_MAC_Address,

OID_DOT11_Station_ID,

OID_DOT11_Mediuim_Occupancy_Limit,

OID_DOT11_CFP_Max_Duration,

OID_DOT11_Current_Reg_Domain,

OID_DOT11_Current_TX_Antenna,

OID_DOT11_Current_RX_Antenna,

OID_DOT11_Current_TX_Power_Level,

OID_DOT11_Supported_TX_Antenna и

OID_DOT11_Supported_RX_Antenna.

Для плат NIC, поддерживающих уровень PHY FHSS, список параметров также включает в себя:

OID_DOT11_Hop_Time,

OID_DOT11_Current_Channel_Number,

OID_DOT11_Max_Dwell_Time,

OID_DOT11_Current_Dwell_Time,

OID_DOT11_Current_Set,

OID_DOT11_Current_Pattern и

OID_DOT11_Current_Index.

Для плат NIC, поддерживающих уровень PHY DSSS, список параметров также включает в себя:

OID_DOT11_Current_Channel,

OID_DOT11_CCA_Mode_Supported,

OID_DOT11_Current_CCA_Mode и

OID_DOT11_ED_Threshold.

Для плат NIC, поддерживающих уровень PHY IR, список параметров также включает в себя:

OID_DOT11_CCA_Watchdog_Timer_Max,

OID_DOT11_CCA_Watchdog_Count_Max,

OID_DOT11_CCA_Watchdog_Timer_Min, и

OID_DOT11_CCA_Watchdog_Count_Min.

Точка 300 доступа выдает вызов OID с запросом на сканирование (активное или пассивное) (Scan_Request). Индикация кадров сигнала маяка и зондового отклика во время сканирования осуществляется с использованием правил расширения приемного тракта мини-порта, как было объяснено при обсуждении расширений 802.11 к стандартным функциям NDIS. Эти правила применяются ко всем принятым пакетам.

Сразу после успешного завершения запроса на сканирование точка 300 доступа может, но не обязательно, запросить и установить параметры NIC через идентификаторы OID. К этим параметрам относятся параметры, которые зависят от текущего состояния сети LAN 802.11, в которой они будут действовать. Установочные вызовы выполняются только для тех параметров, чьи значения по умолчанию необходимо изменить. Список параметров, которые могут быть изменены или запрошены в этот момент, включают в себя:

OID_DOT11_Operational_Rate_Set,

OID_DOT11_Beacon_Period,

OID_DOT11_DTIM_Period,

OID_DOT11_Current_TX_Antenna,

OID_DOT11_Current_RX_Antenna,

OID_DOT11_Current_TX_Power_Level,

OID_DOT11_Supported_TX_Antenna,

OID_DOT11_Supported_RX_Antenna и

OID_DOT11_Diversity_Selection_RX.

Для плат NIC, поддерживающих уровень PHY FHSS, список параметров также включает в себя:

OID_DOT11_Hop_Time,

OID_DOT11_Current_Channel_Number,

OID_DOT11_Max_Dwell_Time,

OID_DOT11_Current_Dwell_Time,

OID_DOT11_Current_Set,

OID_DOT11_Current_Pattern и

OID_DOT11_Current_Index.

Для плат NIC, поддерживающих уровень PHY DSSS, список параметров также включает в себя:

OID_DOT11_Current_Channel,

OID_DOT11_CCA_Mode_Supported,

OID_DOT11_Current_CCA_Mode и

OID_DOT11_ED_Threshold.

Для плат NIC, поддерживающих уровень PHY IR, список параметров также включает в себя:

OID_DOT11_CCA_Watchdog_Timer_Max,

OID_DOT11_CCA_Watchdog_Count_Max,

OID_DOT11_CCA_Watchdog_Timer_Min и

OID_DOT11_CCA_Watchdog_Count_Min.

Точка 300 доступа может посылать в NIC 302 запрос на запуск (Start_Request) при работе в режиме инфраструктуры. Сразу после успешного завершения запроса на запуск плата NIC 302 может сама либо по запросу выполнить следующее:

1) Высылать кадры периодического сигнала маяка и должна отвечать на кадры зондовых запросов зондовыми откликами.

2) Следовать правилам расширения тракта посылки мини-порта, как объяснено выше в расширениях 802.11 к стандартным функциям NDIS, для обработки и посылки пакетов, выданных плате NIC 302 точкой 300 доступа. Плату NIC 302 можно запросить, используя следующие вызовы OID, когда она изменяет параметры, ассоциированные с этими идентификаторами OID, и уведомляет точку 300 доступа об изменении через индикацию NDIS: OID_DOT11_MPDU_Max_Length.

3) Помимо этого плата NIC 302 может следовать правилам расширения тракта приема мини-порта, объясненным выше в расширениях 802.11 к стандартным функциям NDIS для обработки принятых пакетов и передачи их к точке 300 доступа. Если плата NIC 302 поддерживает выгрузку/загрузку WEP, то может быть выгружена строка WEP либо может быть загружена уже выгруженная строка WEP в любой момент времени с использованием вызовов

OID_DOT11_WEP_Offload,

OID_DOT11_WEP_Upload,

OID_DOT11_Default_WEP_Offload и

OID_DOT11_Default_WEP_Upload.

4) Обрабатывать запросы на сканирование (OID_DOT11_Scan_Request), если они имеются.

5) Всегда осуществлять индикацию зондового отклика и кадров сигнала маяка для вышерасположенных протоколов. Также выполнять индикацию выбранных пакетов ACK, принятых для передач конкретных пакетов. Расширение тракта посылки NDIS используется для индикации того, для какого из переданных пакетов необходима индикация принятых пакетов ACK для вышерасположенных протоколов.

6) Обрабатывать все запросы на параметры по идентификаторам OID только для считывания и для записи и считывания (включая идентификаторы OID статистических данных типа OID_DOT11_WEP_ICV_ERROR_COUNT и OID_DOT11_COUNTERS_ENTRY. Кроме того, список параметров, который может быть в этот момент изменен, включает в себя:

OID_DOT11_Current_Packet_Filter,

OID_DOT11_Power_Mgmt_Mode,

OID_DOT11_RTS_Threshold,

OID_DOT11_Short_Retry_Limit,

OID_DOT11_Long_Retry_Limit,

OID_DOT11_Fragmentation_Threshold,

OID_DOT11_Max_Transmit_MSDU_Lifetime и

OID_DOT11_Max_Receive_Lifetime.

Станция 200 может также выдавать запрос на программный сброс NIC (OID_DOT11_Reset_Request), который отличается от запроса на сброс NDIS. Этот программный сброс предписывает NIC 302 подготовиться к запросу на новое подключение или запросу на новый запуск с идентификаторами OID некоторой промежуточной конфигурации и идентификатором OID запроса на сканирование. Этот запрос также имеет флаг, который сообщает плате NIC 302 о том, сохранить ли текущие установки или вновь загрузить установки по умолчанию. После успешного завершения этого запроса точка 300 доступа может повторить ожидаемую последовательность операций для любой из четырех конфигураций в зависимости от возможностей платы NIC, состояния окружения сети LAN 802.11 и конфигурации, запрошенной пользователем.

Можно видеть, что здесь была описана программная беспроводная инфраструктура для станций и точек доступа 802.11, что упростило аппаратные средства, необходимые для точек доступа и станций. Данная инфраструктура реализуется на любой вычислительной платформе, оборудованной беспроводной NIC, которая поддерживает функциональные возможности точки доступа и/или станции. Данная инфраструктура позволяет обеспечить динамическую конфигурацию точек доступа или станций и предоставляет возможность формирования многоуровневой беспроводной сети.

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

1. Способ приема пакета или в станционном драйвере, или в драйвере точки доступа от устройства, выполненного с возможностью осуществления связи с беспроводной сетью, причем пакет представляет собой один из пакета данных, пакета 802.1X и пакета управления, при этом способ содержит этапы, на которых

принимают пакет,

определяют, является ли пакет пакетом данных, пакетом 802.1X или пакетом управления,

отбрасывают пакет, если устройство не было аутентифицировано или ассоциировано, и пакет является либо пакетом данных, либо пакетом 802.1X,

отбрасывают пакет, если устройство не было аутентифицировано, и пакет не является пакетом 802.1X, и

преобразуют пакет в пакет 802.3, если пакет является пакетом данных.

2. Способ по п.1, дополнительно содержащий этап, на котором ассоциируют устройство в ответ на прием пакета управления от устройства.

3. Способ по п.1, дополнительно содержащий аутентификацию устройства в ответ на прием пакета 802.1X.

4. Способ по п.1, дополнительно содержащий этап, на котором посылают пакет через мост точки доступа, если пакет адресован другому устройству в беспроводной сети.

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

принимают с помощью сетевого интерфейса пакеты через беспроводную сеть в формате протокола беспроводной сети,

обрабатывают первую часть принятых пакетов в сетевом интерфейсе,

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

обрабатывают вторую часть принятых пакетов в драйвере для формирования пакетов в формате второго протокола, отличающегося от протокола беспроводной сети, и

подают пакеты в формате второго протокола в сетевой стек.

6. Способ по п.5, дополнительно содержащий этап, на котором выполняют временную синхронизацию с сетевым интерфейсом.

7. Способ по п.6, в котором при выполнении временной синхронизации выполняют по меньшей мере одно из генерирования сигналов маяка в беспроводную сеть, синхронизации TST («время-пространство-время»), пассивного сканирования, активного сканирования и зондового отклика.

8. Способ по п.5, дополнительно содержащий выполнение с помощью сетевого интерфейса функций, содержащих функции физического уровня (PHY), службы передачи данных уровня управления доступом к среде (MAC) и по меньшей мере одну функцию кадров MAC.

9. Способ по п.5, в котором при обработке первой части принятых пакетов категоризируют первую часть принятых пакетов в сетевом интерфейсе, а при передаче второй части принятых пакетов передают пакеты, не категоризированные в сетевом интерфейсе.

10. Способ по п.5, в котором третья часть из второй части пакетов содержит пакеты данных, при обработке для формирования пакетов в формате второго протокола выборочно формируют переформатированные пакеты данных из третьей части, и при подаче пакетов в формате второго протокола подают переформатированные пакеты данных.

11. Способ по п.5, в котором протокол беспроводной сети задает типы пакетов, включая пакеты данных и пакеты управления, и при передаче второй части пакетов передают пакеты данных и управления.

12. Способ по п.5, в котором при передаче второй части принятых пакетов передают эту вторую часть через интерфейс NDIS (спецификации стандартного интерфейса драйверов сетевых адаптеров).

13. Способ по п.5, в котором при обработке второй части принятых пакетов обрабатывают вторую часть принятых пакетов в операционной системе.

14. Устройство, выполненное с возможностью осуществления связи через беспроводную сеть, содержащее

беспроводной сетевой интерфейс, содержащий сетевую интерфейсную плату физического уровня и первый интерфейс сетевого драйвера, при этом сетевая интерфейсная плата физического уровня выполнена с возможностью передачи и/или приема пакетов через беспроводную сеть в формате беспроводной сети,

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

15. Устройство по п.14, в котором драйвер представляет собой виртуальный минипорт.

16. Устройство по п.14, в котором первый интерфейс сетевого драйвера и второй интерфейс сетевого драйвера представляют собой интерфейсы NDIS.

17. Устройство по п.14, в котором драйвер дополнительно содержит интерфейс IOCTL (управления вводом/выводом).

18. Устройство по п.17, дополнительно содержащее сервер, выполненный с возможностью обеспечения интерфейса между одним или более компонентами прикладного уровня и интерфейсом IOCTL.

19. Устройство по п.14, в котором беспроводной сетевой интерфейс выполнен с возможностью сканирования на предмет базового набора служб (BSS) в ответ на команду, принятую через интерфейс драйвера.

20. Устройство по п.14, в котором беспроводной сетевой интерфейс выполнен с возможностью выполнения функции управления мощностью в ответ на команду, принятую через интерфейс драйвера.

21. Устройство по п.14, в котором беспроводной сетевой интерфейс выполнен с возможностью выполнения функции присоединения устройства к сетевой инфраструктуре в ответ на команду, принятую через интерфейс драйвера.

22. Устройство по п.14, в котором первый интерфейс сетевого драйвера и второй интерфейс сетевого драйвера являются программными интерфейсами.

23. Компьютерный носитель данных, содержащий исполняемые компьютером модули, которые при их исполнении реализуют драйвер для устройства беспроводного сетевого интерфейса для осуществления связи через беспроводную сеть согласно протоколу беспроводной сети, причем беспроводной сетевой интерфейс имеет интерфейс сетевого драйвера, при этом модули содержат

первый интерфейс для обмена пакетами в формате протокола беспроводной сети и выдачи команд через интерфейс сетевого драйвера,

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

по меньшей мере один модуль обработки пакетов данных,

по меньшей мере один модуль обработки пакетов управления,

по меньшей мере один модуль маршрутизации для выборочного направления пакетов, пропущенных упомянутым по меньшей мере одним модулем фильтрации, на упомянутый по меньшей мере один модуль обработки пакетов данных или упомянутый по меньшей мере один модуль обработки пакетов управления,

второй интерфейс для обмена пакетами с модулем сетевых протоколов в формате второго протокола,

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

24. Компьютерный носитель данных по п.23, в котором первый интерфейс выполнен с возможностью обмена пакетами в формате протокола 802.1X, а второй интерфейс выполнен с возможностью обмена пакетами в формате протокола 802.3.

25. Компьютерный носитель данных по п.24, в котором первый интерфейс и второй интерфейс представляют собой интерфейсы NDIS.

26. Компьютерный носитель данных по п.25, в котором драйвер для беспроводной сети содержит компонент операционной системы.

27. Компьютерный носитель данных по п.25, в котором драйвер для беспроводной сети представляет собой станционный драйвер, и исполняемые компьютером модули дополнительно содержат средство управления ассоциированием станции.

28. Компьютерный носитель данных по п.23, в котором драйвер для беспроводной сети представляет собой драйвер точки доступа, и исполняемые компьютером модули дополнительно содержат средство управления ассоциированием точки доступа.

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

30. Компьютерный носитель данных по п.23, в котором модуль сетевых протоколов представляет собой сетевой стек.

31. Компьютерный носитель данных по п.23, в котором сетевой протокол представляет собой сетевой мост.



 

Похожие патенты:

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

Изобретение относится к техническим средствам обучения устному счету в математике. .

Изобретение относится к проведению лотерей и розыгрышу денежных призов с помощью дистанционно разнесенных терминалов, соединенных с процессинговым центром лотереи, в частности лотерей, основанных на предсказании результатов спортивных соревнований

Изобретение относится к средствам управления интеллектуальными устройствами, в частности, для установки учетной записи. Технический результат заключается в сокращении времени управления интеллектуальными устройствами. Способ включает в себя: прием запроса на приобретение полномочий, по меньшей мере, содержащего регистрационную учетную запись и первую информацию о местоположении первого интеллектуального устройства; получение данных о первой группе устройств согласно первой информации о местоположении; когда определено, что первое интеллектуальное устройство имеет полномочия управления интеллектуальными устройствами в первой группе устройств, установку регистрационной учетной записи первого интеллектуального устройства в качестве учетной записи управления первой группы устройств; и отправку сообщения об авторизации к первому интеллектуальному устройству и интеллектуальным устройствам в первой группе устройств. 6 н. и 14 з.п. ф-лы, 8 ил.

Изобретение относится к области управления системами приточной вентиляции, водоподготовки, теплоснабжения, электроснабжения. Технический результат заключается в повышении надежности блока. Блок автоматики, являющийся многофункциональным электронным устройством, адаптируемым под требования системы автоматизации и содержащий размещенные в одном корпусе электронные устройства и контроллер, обеспечивающие контроль, диагностику и управление объектом автоматизации, при этом в блоке автоматики реализовано резервирование системы электропитания со встроенной диагностикой. 1 ил.
Наверх