Кратко

  • RFC 3336 перенёс мультиплексирование, сегментацию и сборку PPP в Common Part Sublayer AAL2. Готовая короткая нагрузка могла выйти, не ожидая восстановления и демультиплексирования большой единицы AAL5.
  • В PPPMUX/AAL5 отсутствие одной ячейки ATM могло обесценить весь набор; в PPP/AAL2 ущерб ограничивался пакетами внутри потерянной ячейки. Выигрыш зависел от прихода, TIMER_CU, размеров, заполнения и реализации.

Контейнер заранее определял общую судьбу

Голосовые шлюзы и оборудование доступа передавали множество коротких пакетов. Отдельная единица AAL5 для каждого тратила слишком большую долю ёмкости на заголовки и заполнение. Объединение нескольких нагрузок PPP позволяло разделить постоянные расходы.

Но большой контейнер вводил новое условие. В PPPMUX поверх AAL5 нагрузки сначала объединялись, а затем единица AAL5 делилась на ячейки ATM. При приёме требовалось собрать и проверить всю единицу, и лишь после этого прочитать мультиплексор и выделить её содержимое.

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

Физический пробел превращался в расширенную логическую потерю

Если одна ячейка ATM не приходила, единица AAL5 не могла быть корректно собрана. Недостающие байты могли относиться к одному пакету, однако исправные нагрузки в других ячейках оставались запертыми и отбрасывались вместе со всем набором.

RFC 3336 использовал другой порядок в AAL2 Common Part Sublayer. CPS уже умел размещать короткие пакеты в ячейках, а SSSAR сегментировал и собирал каждый пакет PPP. Законченную нагрузку можно было передать вверх сразу, не дожидаясь большого коллективного кадра.

Потерянная ячейка всё ещё могла содержать фрагменты нескольких пакетов и повредить их. Но готовые пакеты из других ячеек больше не разделяли этот приговор. Логическая область отказа приблизилась к месту физической потери.

UUI 27 и 26 отмечали ход сборки

SSSAR применял поле User-to-User Indication. Код 27 обозначал промежуточный фрагмент, код 26 — последний. После сборки получатель проверял 16-битную CRC нагрузки PPP.

Эти состояния нельзя сводить к единственному признаку доставки. Последний фрагмент может прийти после пропуска предыдущего. Успешная CRC доказывает согласованность на этом уровне, но не приём приложением. Событие connected может перевести LCP в Up, не доказав приемлемую задержку или качество речи.

Поэтому раздельно нужны соответствие сессии и CID, последовательность UUI, номер и чётность CPS, потеря ячейки, результат SSSAR, CRC, TIMER_CU, состояние LCP и итог PPP. Малая область потери не заменяет подтверждение конца в конец.

TIMER_CU связывал экономию со временем прихода

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

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

Задержка тоже оставалась условной. Исчезало ожидание большого кадра AAL5, но сохранялось ожидание формирования ячейки. Архитектура убрала одну обязательную очередь, а не все очереди сети.

PPP по-прежнему требовал ровно две стороны

PPP предполагает дуплексную связь точка-точка. Поэтому RFC 3336 требовал виртуальное соединение AAL2 между двумя точками и представлял его PPP как бит-синхронный канал. События connected и disconnected служили нижними сигналами для LCP.

Возможности ATM с несколькими точками не меняли договор PPP. CID различал трафик внутри соединения, но не превращал многоточечное отношение в обычный PPP-канал.

Сессия могла использовать один или несколько CID. Однако семантика нескольких классов и приоритетов принадлежит RFC 3337. Переносить её в RFC 3336 — значит смешивать базовое отображение с отдельным расширением.

Соседние документы дают контекст, но не подтверждают внедрение

RFC 1661 определяет PPP. RFC 2364 описывает PPP поверх AAL5, RFC 3153 — PPPMUX, RFC 2686 — многопротокольную инкапсуляцию поверх ATM AAL5, RFC 2507 — сжатие заголовков IP. Вместе они объясняют, почему накладные расходы и ожидание были важны для малых нагрузок.

RFC 3337 добавил классы. Позднее RFC 3985 поместил pseudowire в общую архитектуру, а RFC 4446 зафиксировал распределения IANA. Эта последовательность показывает развитие интерфейсов, но не доказывает развёртывание у оператора или измеренный выигрыш.

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

Новшеством было место общего решения

Глубокое различие состояло не просто в выборе AAL5 или AAL2. Это выбор между «сначала собрать всё, потом разделить» и «разделять по мере сборки». В первом случае коллекция должна выжить, прежде чем получатель увидит членов. Во втором завершённый член может уйти независимо.

Одно решение об уровне влияло на заполнение, ожидание и усиление потери. Величина эффекта зависела от трафика, но причинная связь была общей: позиция мультиплексора меняла единицу, которая ждала и отказывала вместе.

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

Источники