Frame Relay принимает пакеты данных, передаваемые по протоколу сетевого уровня, например IPv4 или IPv6, инкапсулирует их в виде кадра Frame Relay, а затем передаёт этот кадр на физический уровень для доставки по проводам. Чтобы понять, как это работает, полезно разобраться с тем, как протокол связан с нижними уровнями модели OSI.
Frame Relay инкапсулирует данные для транспортировки и перемещает их на физический уровень, как показано на рис. 1.
Сначала Frame Relay принимает пакет от протокола сетевого уровня, например IPv4. Затем он дополняет его полем адреса, содержащим идентификатор DLCI, и контрольной суммой. Добавляются поля флагов для обозначения начала и конца кадра. Поля флагов отмечают начало и конец кадра, и всегда одинаковы. Флаги представляются в виде либо шестнадцатеричного числа (например, 7E), либо двоичного (например, 01111110). После инкапсуляции пакета Frame Relay передаёт кадр на физический уровень для последующей транспортировки.
Маршрутизатор CPE, прежде чем отправить пакет уровня 3 по каналу VC, инкапсулирует его в заголовок и концевик кадра Frame Relay. Заголовок и концевик определяются процедурой доступа к каналу сети Frame Relay (LAPF), описанной в спецификации услуг переноса информации, ITU Q.922-A. Как показано на рис. 2, заголовок кадра Frame Relay (поле адреса) содержит следующие данные:
- DLCI. 10-битовый идентификатор DLCI является одним из наиболее важных полей в заголовке кадра Frame Relay. Это значение представляет виртуальный канал между устройством DTE и коммутатором. Каждый виртуальный канал, который мультиплексируется в физический канал, представляется уникальным идентификатором DLCI. Значения DLCI являются локальными, т. е. они уникальны только в том физическом канале, в котором они находятся. Поэтому устройства на противоположной стороне подключения могут использовать другие значения DLCI для того же виртуального канала.
- C/R. Бит, следующий за самым старшим байтом идентификатора DLCI в поле адреса. В настоящее время бит C/R не определен.
- Extended Address (EA) (Расширенный адрес). Если значение этого поля — 1, то текущий байт является последним октетом DLCI. Хотя во всех текущих реализациях Frame Relay используются двухоктетные DLCI, эта возможность обеспечивает использование более длинных идентификаторов DLCI в будущем. Значение EA указывается в восьмом бите каждого байта поля Address.
- Congestion Control (Управление заторами). Это поле состоит из трёх битов, используемых для уведомления о перегрузке Frame Relay. Эти три бита носят названия FECN (Forward Explicit Congestion Notification — явное уведомление о заторе в прямом направлении), BECN (Backward Explicit Congestion Notification — явное уведомление о заторе в обратном направлении) и Discard Eligible (приемлемый для удаления).
В качестве физического уровня обычно используется EIA/TIA-232, 449 или 530, V.35 или X.21. Кадр Frame Relay относится к подмножеству кадров типа HDLC, поэтому он ограничен полями флагов. В качестве однобайтного флага используется последовательность битов 01111110. FCS указывает, возникли ли ошибки в поле адреса уровня 2 во время передачи данных. FCS рассчитывается до передачи данных отправляющим узлом, и полученный результат помещается в поле FCS. На удалённом конце вычисляется второе значение FCS и сравнивается со значением FCS в полученном кадре. Если результаты совпадают, кадр обрабатывается. Если они различаются, кадр удаляется. В случае удаления кадра Frame Relay не уведомляет об этом источник данных. Обработка ошибок выполняется на верхних уровнях модели OSI.