Wi-Fi, Фреймы
Типы фреймов сети стандарта IEEE 802.11
При анализе состояния беспроводных сетей стандарта Wi-Fi (WLAN) или при решении проблем в них часто используются различные программные инструменты для анализа трафика сети стандарта 802.11, например Wireshark, Airopeek от WildPackets и т.п.. После сбора пакетов необходимо проводить их обработку, понимая отличия в различных типах фреймов стандарта WiFi IEEE 802.11, чтобы сделать верные выводы о том, что сеть выполняет, а что нет. Далее рассмотрим наиболее распространенные типы фреймов 802.11 для лучшего понимания текущего статуса сети WiFi-стандарта или решения проблем.
Далее в тексте будут затрагиваться подходы для автономной и централизованной архитектур сети WiFi-стандарта. Рекомендуем посмотреть отличия данных архитектур здесь.
Общая информация о фреймах сети стандарта Wi-Fi
Стандарт WiFi 802.11 определяет различные типы фреймов, которые точки доступа и сетевые карты пользовательских устройств с Wi-Fi используют для коммуникаций, управления и контроля беспроводного линка.
Второй уровень (Data Link) модели OSI/ISO в 802.11 разделен на два подуровня:
1. LLC (Logical Link Control) - идентичен для всех сетей платформы 802,
2. MAC (Media Access Control) - идентичен для всех сетей платформы 802.11.
Стандарт 802.11 определяет операции именно на MAC-подуровне второго уровня модели OSI.
Стандарт 802.11 определяет три типа фреймов:
1. Фреймы Управления (Management frames),
2. Фреймы Контроля (Control frames),
3. Фреймы Данных (Data frames).
Каждый фрейм имеет контрольное поле, которое определяет версию протокола 802.11, тип фрейма и различные индикаторы, как например: WPA включен, управление энергосбережением активно и т.п.. Дополнительно к этому все фреймы содержат МАС-адреса источника и получателя, номер фрейма в последовательности, тело фрейма и проверочную последовательность фрейма для коррекции ошибок. Фреймы 802.11 переносят протоколы и данные более высоких уровней модели OSI/ISO внутри тела фрейма. Например фрейм данных может транспортировать HTML-код какой-либо веб-страницы (со всеми необходимыми заголовками TCP/IP), используемой далее для отображения. Другие фреймы, которые станции используют для управления и контроля? несут специфическую информацию о беспроводном линке в теле фрейма. Например, тело фрейма Бикона содержит идентификатор сети WLAN: SSID, временные отметки (timestamp) и другую информацию о точке доступа.
Фреймы Управления Wi-Fi (Management Frames)
Фреймы управления 802.11 позволяют устанавливать и поддерживать коммуникации в сети стандарта WiFi.
Важно отметить, что пользовательские устройства могут работать в двух режимах поиска сети:
1. Режим Пассивного сканирования (Passive Scanning) - тихо слушаем эфир.
Довольно медленный режим, т.к. пользовательское устройство должно последовательно прослушивать все частотные каналы поддерживаемого диапазона в надежде выявить биконы точек доступа.
2. Режим Активного сканирования (Active Scanning) - активно послылаем запросы в эфир.
Устройство посылает фреймы типа Probe Request по всем частотным каналам в поддерживаемом диапазоне часто с указанием искомого SSID сети (direct probe request) или без SSID (null probe request). Активное сканирование значительно повышает динамику работы с сетью и помогает в решении таких задач,как, например, обеспечение быстрого роуминга и т.п., но и создает некоторую дополнительную нагрузку на сеть.
Всего стандарт 802.11 определяет 14 типов фреймов управления:
1. Association request,
2. Association response,
3. Reassociation request,
4. Reassociation response,
5. Probe request,
6. Probe response,
7. Beacon,
8. ATIM (Announcement traffica indication mesage),
9. Disassiciation,
10. Authentication,
11. Deauthentication,
12. Action,
13. Action No Ack,
14. Timing advertisement
Описания некоторых фреймов управления стандарта WiFi 802.11:
• Фрейм аутентификации (Authentication frame)
Стандарт Wi-Fi IEEE 802.11 требует выполнения двух обязательных последовательных шагов до того, как пользователь сможет начать пересылку трафика: аутентификация и ассоциация.
Аутентификация в сети WiFi стандарта 802.11 это процесс в ходе которого точка доступа WiFi (а в централизованной архитектуре контроллер, после получения данных от точки доступа в его сегменте; чаще всего контроллер связан с ААА-сервером и, в действительности, перенаправляет запрос на ААА для анализа и ответа) разрешает или отвергает идентификационные данные от конечного устройства. Конечное устройство начинает процесс путем отправки фрейма аутентификации, содержащего его идентификационную информацию, к точке доступа. В случае открытой аутентификации, радиокарта конечного устройства отправляет фрейм аутентификации и точка доступа отвечает фреймом аутентифкации как ответ, означающий подтверждение (или отказ). В случае схем аутентифкации с shared key конечное устройство отправляет начальный фрейм аутентификации и точка доступа отвечает фреймом аутентифкации, содержащим специальную тестовую последовательность (challenge text). Конечное устройство должно далее отправить обратно зашифрованную версию тестовой последовательности (шифруется своим ключем) во фрейме аутентификации. Точка доступа (или контроллер)проверяет , что пользовательское устройство использует корректный ключ. По результатам проверки точка доступа отвечает пользовательскому устройству фреймом аутентифкации, содержащим результат аутентификации. И т.д. для всех остальных схем аутентификации.
• Фрейм деаутентификации (Deauthentication frame)
Пользовательское устройство отправляет фрейм деаутентификации WiFi к другому устройству, если хочет закончить безопасное соединение. Фрейм деаутентификации это нотификация, а не запрос. При получении уведомления деаутентификации ни одна принимающая сторона не может отказаться его выполнить, за исключением случая когда включен режим защиты фреймов (802.11w: MFP или Management Frame Protection) и не удалось успешно выполнить контроль от подделки фрейма MIC (Message Integrity Check). Если фрейм уведомления деаутентификации не услышан на другом конце, то правила управления на МАС-уровне позволяют трактовать такое состояние как потерю коммуникаций.
• Фрейм запроса на ассоциацию (Association request frame)
Ассоциация 802.11 инициирует точку доступа WiFi выделить и занять ресурсы для данной новой сессии и синхронизироваться с радиокартой устройства пользователя. Радиокарта пользовательского устройства WiFi начинает процесс ассоциации путем отправки фрейма запроса на ассоциацию к точке доступа. Этот фрейм содержит информацию о радиокарте устройства пользователя (например, поддерживаемые скорости передачи данных и т.п.) и SSID сети WLAN, с которой устройство хочет быть ассоциировано. После получения запроса на ассоциацию точка доступа решает вопрос по ассоциированию с радиокартой и, если принято положительное решение, резервирует область памяти и формирует идентификатор сессии AID (Association Identifier) для данной радиокарты (устройства пользователя).
• Фрейм ответа на запрос ассоциации (Association response frame)
Точка доступа WiFi отправляет фрейм ответа на запрос ассоциации, который содержит уведомление о подтверждении или отказе на запрос радиокарты об ассоциации. Если точка доступа подтверждает ассоциацию пользовательского устройства, то фрейм ответа включает информацию о данной ассоциации, например идентификатор ассоциации и поддерживаемые скорости передачи данных. Если результат ответа положителен, то радиокарта пользовательского устройства может использовать данную точку доступа для взаимодействия с другими радиокартами на других пользовательских устройствах в сети. В случае централизованной архитектуры, как правило, обмен трафиком осуществляется не напрямую между точками доступа, а проходит и контролируется на контроллере сети стандарта Wi-Fi.
• Фрейм повторного запроса ассоциации (Reassociation request frame)
Если мобильное устройство пользователя выполняет роуминг от текущей точки доступа WiFi к другой точке доступа, которая имеет больший уровень сигнала бикона, то радиокарта мобильного устройства будет отправлять фрейм повторного запроса на ассоциацию к новой точке доступа. Новая точка WiFi доступа затем координирует пересылку данных, которые могут все ещё находиться в буфере предыдущей точки доступа и ожидать передачи на данное мобильное устройство (при централизованной архитектуре роумингом управляет контроллер WLAN).
• Фрейм ответа на повторный запрос ассоциации (Reassociation response frame)
Точка доступа WiFi отправляет фрейм ответа на повторный запрос ассоциации, который содержит сообщение подтверждения или отказа для радиокарты мобильного устройства, запрашивающего ассоциацию с сетью. Подобно процессу ассоциации фрейм включает информацию относительно ассоциации, как, например, идентификатор сессии ассоциации и поддерживаемые скорости передачи данных.
• Фрейм остановки ассоциации (Disassociation frame)
Мобильное устройство c WiFi отправляет фрейм остановки ассоциации другому устройству, если возникает «желание» закончить ассоциацию. Например, радиокарта, которая была выключена правильным образом может отправить фрейм остановки ассоциации для того чтобы известить точку доступа, что данное устройсто выключается. В таком случае точка доступа может сразу на основании данной информации освободить память, занятую данной ассоциацией, и удалить данную радиокарту из таблицы ассоциаций. Дизассоциация это нотификация, а не запрос. И точка доступа и мобильное устройство могут посылать такое уведомление. Это корретный путь терминировать существующую ассоциацию. Например мобильное устройство должно посылать уведомление о дизассоциации при нормальном выключении операционной системы. При получении уведомления дизассоциации ни одна принимающая сторона не может отказаться его выполнить, за исключением случая когда включен режим защиты фреймов (802.11w: MFP или Management Frame Protection) и не удалось успешно выполнить контроль от подделки фрейма MIC (Message Integrity Check). Если фрейм уведомления дизассоциации не услышан на другом конце, то правила управления на МАС-уровне позволяют трактовать такое состояние как потерю коммуникаций.
• Фрейм Бикон (Beacon frame)
Это один из наиболее важных фреймов управления. Точка доступа WiFi периодически отправляет Биконы для анонсирования своего присутствия и предоставления необходимой информации (SSID, частотный канал, временные маркеры для синхронизации устройств по времени, поддерживаемые скорости, возможности обеспечения QoS и т.п.) всем устройствам в зоне ее покрытия. Радиокарты пользовательских устройств периодически сканируют все каналы 802.11 и слушают биконы, как основу для выбора лучшей точки доступа для ассоциации. Пользовательские устройства обычно не посылают биконы, за исключением ситуации, когда выполняется процедура участия в IBSS (Independent Basic Service Set) или, по другому, в одноранговом соединении типа Ad-hoc.
• Фрейм-запрос Проба (Probe request frame)
Мобильные устройства c WiFi отправляют фреймы-запросы Пробы, чтобы получить информацию от другого устройства. Например радиокарта мобильного устройства отправлет Пробы-запросы, чтобы определить какие точки доступа находятся внутри зоны покрытия.
• Фрейм-ответ на Пробу (Probe response frame)
Устройства c WiFi будут отвечать фреймом-ответом на полученный фрейм-запрос Проба. Фрейм-ответ Проба содержит информацию о функциональности, поддерживаемых скоростях передачи данных и т.п.
Фреймы Контроля Wi-Fi (Control Frames)
Фреймы контроля 802.11 помогают в доставке фреймов данных между станциями и между станциями и точками доступа. Всего стандарт 802.11 определяет 9 типов фреймов контроля:
1. PS-Poll (Power Save Poll),
2. RTS (Request to Send),
3. CTS (Clear to Send),
4. ACK (Acknolegement),
5. CF-End (Contention Free-End),
6. CF-End + CF-ACK,
7. Block ACK Request (BlockAckReq),
8. Block ACK (BlockAck),
9. Control wrapper.
Описания некоторых фреймов контроля:
• Фрейм Запрос на Отправку (Request to Send (RTS) frame)
Функция RTS/CTS является опциональной и разработана для уменьшения количества коллизий при пересылке фреймов, когда присутствуют скрытые устройства c Wi-Fi, имеющие ассоциацию с той же точкой доступа (пример: в зоне покрытия точки доступа есть мощная капитальная стена и два смартфона с двух сторон прекрасно слышат эту точку, но не слышат друг друга). Мобильные устройства отправляют RTS фрейм к другому устройству, как первую фазу в двухшаговом процессе, необходимом до отправки фрейма данных.
По сути RTC/CTS это механизм отправки вектора NAV, который оповещает все устройства в зоне покрытия точки о том сколько времени будет передаваться фрейм и т.п..
• Фрейм подтверждения Чистоты Радиоканала для Отправки (Clear to Send (CTS) frame)
Мобильное устройство (или точка доступа) c WiFi отвечает на фрейм RTS фреймом CTS, подтверждая тем самым для запрашивающего устройства чистоту канала для отправки фрейма данных. Фрейм CTS включает параметр времени, на которое все другие устройства (включая скрытые устройства) Не должны передавать какие-либо фреймы в течении периода, который требуется запрашивающему устройству на передачу его фрейма. Данная функция минимизирует коллизии даже при наличии скрытых устройств и ведет к увеличению общей пропускной способности точки доступа при правильной имплементации.
• Фрейм Подтверждение (Acknowledgement (ACK) frame)
После получения фрейма данных устройство-получатель c WiFi запускает процесс проверки фрейма на ошибки. Если ошибок не обнаружено, то устройство-получатель будет отправлять фрейм Подтверждение к устройству-отправителю c WiFi. Если устройство-отправитель не получило фрейм Подтверждение после определенного периода времени, то отправитель должен перепослать фрейм заново (в сети стандарта WiFi 802.11 все юникастовые фреймы данных должны быть подтверждены, иначе устройство-отправитель будет перепосылать их заново, снижая тем самым производительность системы).
Фреймы Данных Wi-Fi
Естественно основная задача сети стандарта WiFi это передача данных. Фреймы Данных переносят пакеты вышерасположенных уровней, таких как веб-страницы и т.п. внутри тела самого фрейма. Если посмотреть фреймы 802.11 через анализатор пакетов, то можно наблюдать контент тела фрейма и увидеть какие пакеты данных находятся внутри фрейма данных при транспортировке.
Стандарт WiFi IEEE 802.11 определяет 15 типов фреймов данных:
1. Data frame (простой фрейм данных),
Простой фрейм данных это наиболее распространенный тип фреймов данных.
Необходимо отметить, что существует фрейм специальной нулевой функции (null function frame), который используется пользовательскими устройствами c WiFi для информирования точки доступа WiFi об изменениях статуса режима сохранения энергии (Power Save). Когда пользовательское устройство c WiFi решает выйти из частотного канала для проведения активного сканирования, то устройство должно отправить такой фрейм нулевой функции с битом управления энергией (Power Management), выставленным в положение 1. После получения такого фрейма точка доступа должна буферизовать всё, что поступает в адрес этого клиента из внешнего мира. Когда клиентское устройство возвращается на свой частотный канал, оно должно снова отправить фрейм нулевой функции с битом управления энергией, выставленным в 0. После этого точка доступа передаёт все буферизированные ранее данные клиенту.
2. Null function (без данных),
см. выше
3. Data + CF-ACK (PCF only),
4. Data + CF Poll (PCF only),
5. Data + CF-ACK + CF-Poll (PCF only),
6. CF-ACK (без данных) (PCF only),
7. CF-Poll (без данных) (PCF only),
8. CF-ACK + CF-Poll (без данных) (PCF only),
9. QoS Data (HCF),
10. QoS Null (без данных) (HCF),
11. QoS Data + CF-ACK (HCF),
12. QoS Data + CF-Poll (HCF),
13. QoS Data + CF-ACK + CF-Poll (HCF),
14. QoS CF-Poll (без данных) (HCF),
15. QoS CF-ACK + CF-Poll (без данных) (HCF).
Для получения анонсов по выходу новых статей или появлении новых материалов на нашем сайте предлагаем подписаться на рассылку.
Присоединяйтесь к нашей группе на Facebook: www.facebook.com/Kom.Way.ru
Мы публикуем интересные новости о Wi-Fi со всего света, информацию о выходе новых статей и расширении контента основных модулей ресурса komway.ru
Kom-Way.Team
Использование материалов сайта komway.ru разрешено только с согласия komway.ru и при наличии прямой ссылки на komway.ru