Если вы хотите повторно передать потерю пакетов, вы должны сначала обнаружить потерю пакетов. Если потери пакетов нет, повторной передачи не будет. В беспроводной связи обычно существует два способа обнаружения потери пакетов: механизмы мониторинга несущей и реагирования.
01 Контроль несущей
Обнаружение несущей является распространенным методом обнаружения потери пакетов, и CSMA/CA разработан на основе определения несущей. CSMA/CA также можно рассматривать как механизм повторной передачи. Этот механизм используется Wi-Fi и ZigBee, которые мы часто используем. Перед отправкой сообщения устройство связи на короткое время откроет прием. В течение этого короткого периода времени беспроводное устройство определит наличие других мешающих сигналов в том же диапазоне частот. Например, когда устройство ZigBee выполняет определение несущей, оно должно не только определять, есть ли передача по Wi-Fi или Bluetooth. сигналы, но и есть ли другие ZigBee, передающие сигналы. Если сигнал помех исходит от Wi-Fi или Bluetooth, устройство ZigBee определит, превышает ли его собственная мощность. Если мощность не превышает его собственную, оно преодолеет ее. он решительно отбросит пакет, и если устройство ZigBee встретит другие устройства ZigBee, независимо от того, имеет ли другая сторона большую мощность, чем он сам, будет активно отбрасывать пакеты, то есть позволять другим идти первыми.
02 Механизм реагирования
Другой способ определить потерю пакетов — добавить механизм ответа. Обычно протоколы связи имеют семиуровневую модель OSI. В семиуровневом протоколе, начиная с канального уровня, на каждом уровне может быть добавлен механизм ответа. Чем ниже уровень и ближе к аппаратному обеспечению, тем быстрее срабатывает механизм реагирования.
Семиуровневая модель OSI
Давайте все же возьмем в качестве примера механизм ответа ZigBee. Модель OSI ZigBee имеет механизм ответа, который в настоящее время ограничен уровнем MAC (уровень канала передачи данных) и уровнем APS (транспортный уровень). Но в реальных приложениях механизмы реагирования часто добавляются на прикладной уровень. Ответ уровня MAC является самым быстрым, также называется MAC-ACK и обычно автоматически генерируется аппаратным обеспечением беспроводного приемопередатчика ZigBee. Принимающее устройство отправляет кадр данных ZigBee в виде широковещательной рассылки через 120 микросекунд после его получения. В то же время MAC-ACK также является самым коротким кадром в ZigBee: длина кадра составляет всего 5 байт, а общая длина — 11 байт, включая преамбулу кадра и кадр синхронизации. Согласно скорости передачи данных ZigBee 250 кбит/с, каждый байт занимает 32 микросекунды, а время заполнения кадра MAC-ACK составляет 352 микросекунды. Это означает, что после отправки кадра MAC отправитель получит MAC-ACK, соответствующий кадру MAC, через 120+352=472 микросекунды. Аналогично, уровень MAC ZigBee также предусматривает, что если отправитель не получит соответствующий MAC-ACK в течение 540 микросекунд, это будет считаться потерей пакета.
MAC-ACK отправляется посредством широковещательной рассылки. Во-первых, он может уменьшить поле адреса в кадре MAC-ACK, уменьшить длину кадра и сократить время заполнения кадра ACK. Отправитель может определить, является ли он собственным, на основе кадра. порядковый номер в кадре MAC-ACK; во-вторых, MAC-ACK использует широковещательную рассылку, которая также может напоминать другим устройствам ZigBee о том, что они обмениваются данными. Если другие устройства ZigBee в это время также выполняют прослушивание несущей, они могут активно избегать этого. устройство связи. На уровне MAC ZigBee контроль несущей и MAC-ACK представляют собой двунаправленные подходы, которые могут обеспечить точность обнаружения потери пакетов. Кроме того, широковещательные сообщения ZigBee не будут генерировать MAC-ACK.
Для более подробной информации о продукции и информации посетите наш официальный сайт:
https://www.ru-ebyte.com