В этой статье рассмотрим формат кадра Wi-Fi. В предыдущих статьях рассмотрели «Что такое wi-fi» и «Wi-Fi сервисы«.
Место Wi-Fi в модели OSI
Wi-Fi так же как и Ethernet работает на физическом и канальном уровне. Причем на канальном уровне wi-fi использует два разных формата кадра на подуровне LLC и подуровне MAC. На подуровни LLC формат кадра такой же, как и в Ethernet, а на подуровне MAC, формат кадра отличается. При реальной передачи данных по беспроводной среде используется именно формат кадра уровня MAC 802.11, а преобразование в формат LLC выполняется автоматически при получении, либо оборудованием, либо драйвером.
Формат кадра Wi—Fi уровня MAC
Рассмотрим, как выглядит формат кадра wi-fi стандарта 802.11 уровня MAC. Он устроен гораздо сложнее, чем формат кадра Ethernet, самое заметное отличие это то, что в wi-fi используется четыре адреса, а не два, как в Ethernet. Почему wi-fi сделана именно так?
Адрес в Wi—Fi
На предыдущих лекциях мы рассматривали, что чаще всего wi-fi используется в так называемом инфраструктурном режиме. Данные из беспроводной сети передаются в проводную сеть, для последующей передачи в Internet или какой-нибудь другой интересной для нас сети.
В инфраструктурном режиме, чаще всего при передаче данных у нас используются три устройства. Первое это компьютер, который передает данные по беспроводной среде. Второй точка доступа, и третье — это устройство в проводной среде, которое обеспечивает подключение к Internet.
В wi-fi адреса называются следующим образом:
- DA — Destination addres — адрес получателя;
- SA — Source address — адрес отправителя, назначении такое же как и в Ethernet.
- RA — Receiver address — используется, чтобы указать устройства, которые принимают данные из беспроводной среды;
- TA — Transmitter address — используется, чтобы указать устройства, которые передают данные в эту среду.
Рассмотрим, какие адреса устанавливаются в заголовке wi-fi при различных вариантах передачи кадров.
Передача кадра в распределительную систему
Начнем с передачи кадра от нашего компьютера в проводную среду и затем в Интернет. Проводная сеть к которой подключается наша сеть wi-fi называется распределительная система.
Кадр передается от нашего компьютера к проводному маршрутизатору, который затем передает его в Интернет.
- В этом случае в первом поле адреса указывается mac-адрес точки доступа Receiver Address (RA), адрес устройства которое принимает наш кадр из беспроводной среды.
- Во втором поле адреса указывается mac-адрес компьютера, в этом случае Transmitter Address и Sender address совпадают. Отправитель сам передает данные в беспроводную среду.
- И третье поле Destination Address адрес получателя mac-адрес проводного устройства, который передает наши данные в Интернет.
Когда кадр передается в обратном направлении от проводного устройства через точку доступа к нашему компьютеру, в качестве первого адреса указывается mac-адрес нашего компьютера. У нас снова совпадение mac-адрес нашего компьютера используются как адрес получателя destination address, и как адрес устройства, который принимает данные из беспроводной среды Receiver address. Во втором поле указывается mac-адрес точки доступа Transmitter address, и в третьем поле адрес отправителя mac-адрес маршрутизатора.
Передача кадра в одноранговом режиме
Если сеть работает одноранговом режиме, компьютеры передают данные друг другу. В этом случае адрес получателя всегда совпадает с адресом приемного устройства, а адрес отправителя с адресом передающего устройства. И эти адреса указываются в первом и во втором адресе. В третьем адресе указываются идентификатор одноранговой сети, который генерируются автоматически.
Беспроводной мост
Четыре адреса в заголовке wi-fi кадра используется очень редко, в ситуации которая называется беспроводной мост. У нас есть два проводных компьютера, которые передают данные друг другу, причем передают они данные через беспроводную сеть, которая объединяет две проводных сети.
Адрес проводного компьютера отправителя указывается в четвертом поле адреса, адрес проводного компьютера получателя в третьем поле. Точки доступа отправителя во втором поле, и точки доступа получателям в первом поле адреса.
После четвертого поля адреса, который не является обязательным идет поле тело кадра, еще одно отличие wi-fi от Ethernet максимальный размер поля данных 2304 байта. В Ethernet максимальный размер данных 1500 байт.
После поля данных идет контрольная сумма, назначение и формат у которой точно такой же как в Ethernet, и если при проверке контрольной суммы произошла ошибка, такой кадр отбрасывается.
Поле длительность используется совместно с управляющими кадрами, например, кадрами из протокола доступа к среде MACA, и в этом поле указывается на какое время зарезервирован канал передачи данных wi-fi. Пока это время не закончилось компьютер, может пользоваться каналам wi-fi не опасаясь, что возникнет коллизия.
А теперь давайте более подробно рассмотрим поле управления — кадр. Оно состоит из большого количества маленьких полей. Первое поле — версия протокола. Сейчас используется версия протокола 0, остальные значения зарезервированы для будущего использования. Затем идут два поля тип и подтип кадра.
Типы кадров в wi—fi
В отличии от Ethernet, где есть только кадры данных, в wi-fi используется три типа кадров:
- Первый это кадры данных такие же как в Ethernet.
- Второй это кадры контроля, служебные кадры, которые необходимы для обеспечения работы wi-fi. Это например подтверждение успешной передачи кадра — ACK, или кадры RTS и CTS, которые используются в протоколе доступа к среде MACA.
- Третий тип кадров это кадры управления они используются для реализации различных сервисов wi-fi таких например, как подключение к точке доступа wi-fi или аутентификация.
Затем идут два флага которые указывают направления передачи кадра To DS к распределительной системе (to distribution system), от беспроводного компьютера к проводной распределительной системе. Или наоборот, от проводной среды через точку доступа к беспроводному компьютеру From DS (from distribution system).
Передача кадров
В прошлых статьях, мы уже рассматривали такую особенность беспроводной среды, как частое возникновение ошибок. Однако, что делать, если ошибки в беспроводной среде случаются особенно часто? Например, одна ошибка на каждую 1000 байт, можно ли в таком случае передавать данные? Ведь размер данных в кадре wi-fi 2000 байт и даже размер данных в кадре Ethernet 1500 байт, то есть при передаче каждого кадра у нас скорее всего произойдет ошибка.
В такой ситуации передавать кадры можно, для этого их нужно разбивать на отдельные части фрагменты в нашем случае каждый фрагмент должен быть меньше чем 1000 байт. Недостатком является то, что скорость передачи данных в этом случае снизится.
Технология разделения одного кадра на несколько небольших фрагментов для отдельной передачи называются фрагментация. В wi-fi для фрагментации используется два поля заголовка, первое поле это флаг More Fragments, и второе поле это управление очередностью, оно в свою очередь состоит из двух под полей. Первое это номер последовательности или Sequence Number, содержит номер кадра, который разбивается на отдельные небольшие фрагменты. Для всех фрагментов одного и того же кадра, номер последовательности будет одинаковый. И второе подполе это номер фрагмента или Fragment Number.
Фрагментация в Wi—Fi
Рассмотрим, как эти поля заголовка кадра wi-fi используются при фрагментации. Предположим что у нас есть кадр размером 1500 байт, но мы его не можем передать целиком, а вынуждены разбить на три отдельные части по 500 байт, что происходит в этом случае?
Передается три отдельных кадра в поле, номер последовательности, у них у всех будет одинаковое значение, в примере 39 876. Принимающая сторона поймет, что получает три фрагмента одного и того же кадра. Флаг More Flagments (MF) говорит о том, что будут еще фрагменты, этот флаг установлен при передаче первого фрагмента, второго фрагмента, а при передаче третьего фрагмента, флаг установлен в ноль. Это означает, что пришел последний фрагмент из большого кадра, и больше фрагментов не будет. И номер фрагмента говорит о том, в какой последовательности нужно собирать фрагменты в один большой кадр. Сначала нужно взять фрагмент с номером 1, потом фрагмент с номером 2 и затем фрагмент с номером 3.
Флаг поворотной передачи кадра
Продолжаем рассматривать поле управления кадром! Следующий флаг RT говорит о том, что происходит повторная отправка кадра. Повторная отправка выполняется, если отправитель не получил подтверждение передачи кадра, однако может сложиться такая ситуация, что получатель отправил подтверждение, но это подтверждение не дошло до отправителя, в этом случае отправитель передает заново тот же самый кадр, и устанавливает флаг RT. Получатель принимает этот кадр, видит, что установлены флаг RT понимает, что он уже раньше получал такой кадр, ему снова необходимо отправить подтверждение.
Следующие два поля используются для управления питанием.
Управление питанием
Wi-fi сейчас часто используются в мобильных устройствах, а для этих устройств очень важно экономить энергию, чтобы заряда батареи хватило, как можно дольше. Нам всем не нравится когда батареи смартфона не хватает даже на один день работы.
Технология экономии питания wi-fi описано в стандарте IEEE 802.11 PSM.
- Станция wi-fi может работать в двух режимах, в активном и спящем. В активном режиме станция передает и принимает кадры в любое время.
- Однако в спящем режиме происходит отключение питания и станция не может передавать и принимать кадр.
- Станция, сообщает точке доступа, что она собирается переключиться в спящий режим, поэтому точка доступа не пытаются передать полученные данные станции.
- После того как наша станция проснулась, она подключается к точке доступа и спрашивает, есть ли у точки доступа кадр для станции. И если такие кадры есть, то они передаются из буфера точки доступа на станцию.
- После этого станция снова переходит в спящий режим, и точка доступа записывает кадры в буфер.
- При этом если станция хочет что-то передать сама, то она в любое время может перейти в активный режим, и передать кадр.
Кадр Wi—fi
В заголовке wi-fi для управления питанием, используются два поля: флаг Power Mgmt используется станцией для того, чтобы сообщить точке доступа, что станция использует управление питанием, и работает в спящем режиме.
Следующий флаг MD устанавливается точкой доступа, при передачи кадра станции, которая работает в режиме сохранения питания. При получении кадра в котором установлен этот флаг, станция узнает, что у точки доступа есть еще кадры, и запрашивает эти кадры у точки доступа.
Флаг Protection Frame — защита кадра, применяется для того чтобы указать используется шифрование данных или нет.
Последний флаг Order — порядок, говорит о том, сохраняется ли порядок передачи сообщений, или нет. На практике в wi-fi, кадры всегда принимаются в том же порядке, в котором они отправляются.
Итоги
Мы рассмотрели формат кадра wi-fi IEEE 802.11, которые используются в wi-fi на уровне MAC при передачу кадров по беспроводной среде. На уровне LLC происходит автоматическое преобразование в формат кадра Ethernet.
В отличие от Ethernet в кадре wi-fi используются четыре mac-адреса. Адрес отправителя и адрес получателя, а также адрес станции которая передает данные в беспроводную среду, и адрес станции, которые получают данные из беспроводной среды.
В Wi-fi есть кадры трех типов, кадр передачи данных, как в Ethernet, кадр контроля и кадры управления, которое используется для реализации сервисов wi-fi.