RLC уровень в LTE
В данной заметке рассматривается протокол Radio Link Control (RLC). Протокол RLC расположен между PDCP и MAC уровнями. RLC общается с PDCP через SAP (Service Access Point), а с MAC - с помощью логических каналов (про логические каналы см. тут). RLC уровень переформатирует пакеты PDCP PDU для того, чтобы они были определенного размера, который указывает MAC уровень. Таким образом, со стороны отправителя RLC сегментирует и/или объединяет пакеты PDCP PDU, а со стороны получателя RLC восстанавливает PDCP PDU. Кроме этого, RLC уровень восстанавливает порядок следования пакетов RLC PDU, если он был нарушен (например, из-за HARQ передачи на MAC уровне). Ключевое отличие от UMTS заключается в том, что в UMTS восстановление порядка следования осуществляется на MAC уровне.
Функции RLC уровня выполняются RLC объектами (RLC entities). RLC объект функционирует в одном из трех режимов передачи: прозрачный (transparent mode, TM), передача без подтверждения (unacknowledged mode, UM) и передача с подтверждением (acknoledged mode, AM). В режиме AM поддерживаются специальные функции для повторной передачи данных. Когда используются режимы AM и UM, выбор между ними осуществляет eNodeB во время процедуры настройки RRC радиопотока, основываясь на требованиях к QoS EPS потока. Далее рассматриваются режимы RLC более подробно
Прозрачный режим (Transparent Mode)
В этом режиме с пакетами данных на RLC уровне не совершается никаких действий, даже не добавляются заголовки. Поэтому использование этого режима сильно ограничено. В этом режиме могут передаваться только RRC сообщения, для передачи которых не требуется никаких функций уровня RLC (например, широковещательные сообщения с системной информацией, сообщения пейджинга, а также RRC сообщения, передаваемые по SBR0). Режим TM не используется для передачи пользовательских данных. TM RLC обеспечивает передачу данных в одном направлении, то есть TM RLC объект настраивается либо как передающий узел, либо как принимающий.Режим передачи без подтверждений (Unacknowledged Mode)
UM RLC так же, как и TM RLC, обеспечивает передачу данных в одном направлении. Режим UM используется для передачи потоков данных приложений реального времени, которые чувствительны к задержке передачи данных, но терпимы к ошибкам, возникающим при передаче данных (VoIP). Кроме этого, с помощью UM режима передаются данные сервисов MBMS (Multimedia Broadcast/Multicast Service), так как в этом случае нет канала обратной связи. Ниже на рисунке представлена схема UM RLC.Перечислим основные функции UM RLC:
- Разбиение (фрагментация) и упаковка (объединение) RLC SDU;
- Переупорядочивание RLC PDU;
- Обнаружение повторных RLC PDU;
- Сборка RLC SDU.
Разбиение и упаковка
Для формирования пакетов RLC PDU осуществляется разбиение и/или упаковка RLC SDU, постпающих от вышележащих уровней. Размер RLC PDU при каждой передаче задается MAC уровнем и зависит от текущего состояния радиоканала и количества доступных ресурсов. Соответственно, размер RLC PDU при каждой передаче может быть различным. При передаче данных RLC включает RLC SDU в RLC PDU в том порядке, в котором они поступали от вышележащих уровней. Размер RLC PDU всегда кратен байту и в нем нет выравнивания (padding). После формирования RLC PDU к нему добавляется заголовок, который содержит номер RLC PDU, а также размер и границы каждого из включенных RLC SDU или их сегментов.Переупорядочивание, обнаружение повторных RLC PDU и сборка RLC SDU
На приемной стороне RLC, при необходимости, осуществляет переупорядочивание полученных RLC PDU. Переупорядочивание может потребоваться из-за того, что на уровне MAC используется несколько HARQ потоков для передачи данных. Во время переупорядочивания любые повторные пакеты отбрасываются (для определения повторный пакет или нет используется порядковый номер из заголовка).Для обнаружения ошибок при приеме данных и избегания чрезмерных задержек при переупорядочивании пакетов используется таймер, который определяет максимальный промежуток времени для ожидания RLC PDU, которые не были приняты. UM RLC запускает этот таймер как только обнаружит, что был пропущен один или несколько RLC PDU. Если за время, определяемое таймером, пропущенные RLC PDU так и не были приняты, то UM RLC объявляет такие пакеты потерянными и переходит к сборке следующего RLC SDU.
Режим передачи с подтверждениями (Acknowledged Mode)
В отличие от двух предыдущих режимов, режим AM обеспечивает передачу данных в обоих направлениях, то есть AM RLC объект может как отправлять данные, так и принимать. Наиболее важная функциональность RLC уровня - это повторная передача данных. Для передачи данных без ошибок используется ARQ (Automatic Repeat reQuest) механизм. Поэтому режим AM RLC используется для передачи данных приложений, не предъявляющих жестких требований к задержки передачи данных (например, web browsing и загрузка файлов). Кроме этого, часто передача RRC сообщений так же осуществляется с помощью режима AM RLC для того, чтобы обеспечить надежность передачи данных. Ниже на рисунке представлена схема AM RLC.Как видно из рисунка, передающая и приемная стороны AM RLC сильно UM RLC, за исключением добавленных блоков повторной передачи. Таким образом, функции, описанные выше для UM RLC, так же применимы и для AM RLC. Перечислим дополнительные функции, которые выполняются AM RLC:
- Повторная передача RLC PDU;
- Переразбиение (перефрагментация) повторно передаваемых RLC PDU;
- Опрос (polling);
- Отчет о статусе (status report);
- Запрещение оповещения о статусе.
Повторные передачи и переразбиение
Для того, чтобы передающая сторона могла осуществлять повторную передачу потерянных пакетов данных, приемная сторона отправляет отчет о статусе (status report, по сути, это информация о успешном приеме пакета - ACK, или не приеме пакета NACK). Соответственно, RLC уровень может отправлять два типа сообщений. Один из которых содержит данные, полученные от верхних уровней (RLC Data PDU), а второй - служебную информацию, относящуюся к уровню RLC (RLC Control PDU). Для определения типа сообщения используется бит-индикатор (подробнее о формате RLC сообщений см. ниже).После отправки сообщения с данными, это сообщение остается в буфере для повторных передач до тех пор, пока не поступит квитанция (ACK), подтверждающая успешный прием на стороне получателя. В случае повторной передачи исходное сообщение может быть разбито на несколько. Это происходит в том случае, когда MAC уровень указывает при повторной передаче размер меньший, чем начальный (подробнее об этом см. заметку про MAC уровень). Для различия оригинальных пакетов RLC PDU и их частей, которые передаются повторно, используется специальный флаг в заголовке. В случае повторной передачи в заголовок AM RLC включаются ряд дополнительных полей, содержащих информацию о переразбиении пакета.
Опрос, отчет о статусе и запрещение оповещения о статусе
Передающая сторона может запросить у приемной стороне отчет о статусе, используя специальный флаг в AM RLC заголовке. Такая процедура называется опросом. Эта процедура может использоватся, например, при передаче последнего пакета или когда заранее определенное количество данных было передано. Когда приемная сторона получает запрос на передачу статуса, проверяются приемные буфера и отправляется отчет о статусе.Приемная сторона также может отправлять отчеты о статусе без ожидания запроса от передающей стороны. Например, если была обнаружена ошибка при приеме очередного пакета RLC PDU. Для обнаружения таких ошибок используется тот же механизм, что и в режиме передачи без подтверждений (UM). Разница заключается в том, что в случае передачи с подтверждениями (AM), истечение таймера является сигналом для отправки отчета о статусе, а не к отбрасыванию потерянного пакета RLC PDU.
Отметим, что алгоритм управления частотой отправки отчетов о статусе должен учитывать как задержку передачи, так и эффективность использования радиоканала. С одной стороны, чтобы уменьшить задержку передачи отчеты о статусе должны передаваться достаточно часто, с другой стороны - частая передача отчетов приведет к ненужной трате радиоресурсов. Кроме этого, частая передача отчетов может привести к избыточным повторным передачам. Для эффективного управления частотой передачи отчетов о статусе определена возможность запрещения передачи отчетов о статусе для режима AM. В этом случае передача нового отчета не производится, если не истек определенный таймер.
Форматы пакетов RLC PDU
На уровне RLC определены два типа пакетов RLC Data PDU и RLC Control PDU. Пакеты RLC Data PDU используются для передачи пакетов PDCP и этот тип пакетов определен во всех режимах передачи. Пакеты RLC Control PDU используются для передачи контрольной информации на уровне RLC, этот тип пакетов определен только для режима AM. Далее приводится подробное описание форматов пакетов RLC PDU для каждого режима.Формат пакетов RLC PDU в режиме TM
В режиме TM пакет RLC PDU состоит только из поля данных, т.е. в этом режиме к пакету не добавляется никаких заголовков. Соответственно, не происходит разбиения и объединения пакетов данных, поступающих от верхних уровней.Формат пакетов RLC PDU в режиме UM
В режиме UM пакет RLC PDU состоит из поля данных и заголовка UM PDU. При помещении в RLC PDU в режиме UM пакеты данных от вышележащих уровней могут разбиваться и объединяться. UM RLC заголовок разбит на две части: фиксированная часть (добавляется к каждому пакету RLC PDU) и часть расширений (включается только если RLC PDU содержит часть пакета вышележащих уровней или несколько пакетов вышележащих уровней).Если вы не нашли интересующую вас информацию по LTE/LTE-A в этой статье, напишите мне об этом письмо на alexey.anisimov86@gmail.com. Я постараюсь ее добавить в кратчайшие сроки.