Сети Frame Relay гораздо лучше подходят для передачи пульсирующего трафика компьютерных сетей по сравнению с сетями X.25. Правда, это преимущество проявляется только тогда, когда линии связи приближаются по качеству к линиям связи локальных сетей, а для глобальных линий такое качество обычно достижимо только при использовании волоконно-оптических кабелей.
Технология Frame Relay была сначала стандартизована комитетом CCITT (ITU-T) как одна из служб сетей ISDN. Технология ISDN является первым широкомасштабным проектом по созданию всемирной универсальной сети, предоставляющей все основные виды услуг телефонных сетей и сетей передачи данных. К сожалению, этот амбициозный проект не достиг поставленной цели, и сегодня сети нового поколения строятся уже на основе других технологий, в частности IP. В то же время в ходе реализации проекта было достигнуто несколько хотя и не таких глобальных, но, тем не менее, очень важных целей. К ним можно причислить и создание технологии Frame Relay, которая сегодня является уже независимой от ISDN технологией
В рекомендациях I.122, вышедших в свет в 1988 году, услуги по передаче данных входили в число дополнительных услуг пакетного режима ISDN. При пересмотре этих рекомендаций в 1992–93 гг. появились стандарты на две новые услуги: Frame Relay и Frame Switching. Разница между ними состоит в том, что Frame Switching обеспечивает гарантированную доставку кадров, а Frame Relay — доставку по возможности.
Простая и в то же время эффективная для волоконно-оптических линий связи технология Frame Relay сразу привлекла внимание ведущих телекоммуникационных компаний и организаций по стандартизации. В ее становлении и стандартизации помимо CCITT (ITU-T) активное участие принимали форум по ретрансляции кадров (Frame Relay Forum, FRF) и комитет T1S1 института ANSI. Технология же Frame Switching так и осталась всего лишь стандартом, никогда не имевшим широкого распространения.
Стандарты Frame Relay, подготовленные и ITU-T/ANSI, и FRF, определяют два типа виртуальных каналов — постоянные (PVC) и коммутируемые (SVC). Это соответствует потребностям пользователей, так как для соединений, по которым трафик передается почти всегда, больше подходят постоянные каналы, а для соединений, требующихся только несколько часов в месяц, — коммутируемые. Однако производители оборудования Frame Relay и поставщики услуг сетей Frame Relay начали с поддержки только постоянных виртуальных каналов. Это, естественно, значительно обеднило технологию. Оборудование, поддерживающее коммутируемые виртуальные каналы, появилось на рынке с большой задержкой. Именно поэтому технология Frame Relay часто ассоциируется только с постоянными виртуальными каналами.
Стек протоколов Frame Relay устроен значительно проще, чем стек технологии X.25. Разработчики технологии Frame Relay, учитывая высокое качество каналов связи на оптическом волокне, появившихся в конце 80-х годов, посчитали возможным не включать в протоколы стека функции обеспечения надежности. Если же, несмотря на малую вероятность такого события, ошибка все же происходит, то технология Frame Relay игнорирует эту ситуацию, оставляя работу по восстановлению утерянных или искаженных кадров протоколам верхних уровней, таким как TCP.
Именно благодаря низкой протокольной избыточности, технология Frame Relay обеспечивает высокую пропускную способность и небольшие времена задержки кадров.
ПРИМЕЧАНИЕ
Параллельно была разработана технология Frame Switching, которая, как и X.25, обеспечивает надежную передачу кадров на канальном уровне и может применяться в тех случаях, когда каналы обладают недостаточно высоким уровнем качества или же к канальному уровню по каким-то причинам предъявляются требования надежной передачи кадров. На практике технология Frame Switching не нашла своего применения, но поскольку стек протоколов Frame Relay создавался с учетом существования технологии Frame Switching, мы далее все же кратко остановимся на ней.
На рис. 21.4 показан стек протоколов технологий Frame Relay и Frame Switching в том виде, в котором они описаны в рекомендациях ITU-T. Протоколы слоя управления выполняют работу по установлению виртуального соединения, а протоколы слоя данных передают кадры по уже установленному виртуальному соединению.

Рис. 21.4. Стек протоколов технологий Frame Relay и Frame Switching
На канальном уровне сетей Frame Relay работает протокол LAP-F (Link Access Procedure for Frame mode bearer services), называемый в рекомендациях ITU-T аббревиатурой Q.922. Существует две версии этого протокола:
q Протокол LAP-F core является той «рабочей лошадкой», которая трудится во всех сетях Frame Relay. Этот протокол обеспечивает минимум средств, позволяющих построить сеть Frame Relay. Правда, в этом случае сеть будет предоставлять только услуги постоянных виртуальных каналов.
q Протокол LAP-F control, обеспечивающий восстановление кадров по алгоритму скользящего окна, необходим для того, чтобы сеть оказывала услуги Frame Switching (коммутации кадров).
Оба протокола (LAP-F core и LAP-F control) относятся к протоколам канального уровня, обеспечивая передачу кадров между двумя соседними коммутаторами.
На физическом уровне сеть Frame Relay может использовать линии связи технологии PDH/SDH или ISDN.
Теперь рассмотрим слой управления, выполняющий функции установления динамически коммутируемых каналов SVC. Коммутаторы сети должны поддерживать два протокола слоя управления — на канальном уровне LAP-D (который называется также Q.921) и Q.933 на сетевом. Протокол LAP-D в сетях Frame Relay обеспечивает надежную передачу сигнальных кадров между соседними коммутаторами.
Протокол Q.933 использует адреса конечных узлов, между которыми устанавливается виртуальный канал. Эти адреса обычно задаются в формате телефонных адресов, соответствующих стандарту E.164. Адрес состоит из 15 десятичных цифр, которые делятся, как и обычные телефонные номера, на поля кода страны (от 1 до 3 цифр), кода города и номера абонента. К адресу добавляется до 40 цифр подадреса, которые требуются для нумерации терминальных устройств, если у одного абонента их несколько.
Протокол автоматического составления таблиц маршрутизации для технологии Frame Relay не определен, поэтому может использоваться фирменный протокол производителя оборудования, или же таблицы могут составляться вручную.
ВНИМАНИЕ
Основное преимущество Frame Relay по сравнению X.25 состоит в следующем. В то время как в сетях X.25 после установления соединения пользовательские данные передаются протоколами канального и сетевого уровней, в сетях Frame Relay после установления виртуального соединения данные передаются только с помощью протокола канального уровня, что значительно снижает накладные расходы.
Технологию Frame Relay чаще всего относят к технологиям канального уровня, ставя во главу угла процедуры передачи пользовательских данных и опуская процедуры установления виртуального канала, которые выполняются с привлечением протокола сетевого уровня.
По виртуальным каналам Frame Relay могут передаваться данные различных протоколов. Спецификация RFC 1490 определяющая методы инкапсуляции в кадры Frame Relay пакетов сетевых протоколов, таких как IP и IPX, протоколов локальных сетей, например, Ethernet, а также протокола SNA.
Структура кадра протокола LAP-F приведена на рис. 21.5.

Рис. 21.5. Формат кадра LAP-F
Поле DLCI (Data Link Connection Identifier — идентификатор соединения уровня канала данных) состоит из 10 бит, что позволяет задействовать до 1024 виртуальных соединений. Поле DLCI может занимать и большее число разрядов — этим управляют признаки расширения адреса EA0 и EA1 (аббревиатура EA как раз и означает Extended Address, то есть расширенный адрес). Если бит расширения адреса установлен в ноль, то признак называется EA0 и означает, что в следующем байте имеется продолжение поля адреса, а если бит расширения адреса равен 1, то поле называется EA1 и означает окончание поля адреса. Десятиразрядный формат DLCI является основным, но при использовании трех байтов для адресации поле DLCI имеет длину 16 бит, а при использовании четырех байтов — 23 бита.
Стандарты Frame Relay распределяют DLCI-адреса между пользователями и сетью следующим образом:
q 0 — используется для виртуального канала локального интерфейса администрирования (LMI);
q 1–15 — зарезервированы;
q 16–991 — используются абонентами для нумерации каналов PVC и SVC;
q 992–1007 — используются сетевой транспортной службой;
q 1008–1022 — зарезервированы;
q 1023 — используется для управления канальным уровнем.
Таким образом, в любом интерфейсе Frame Relay для оконечных устройств пользователя отводится 976 DLCI-адресов.
Поле данных может иметь размер до 4056 байт.
Поле C/R переносит признак команды (Command) или ответа (Response). Этот признак является унаследованным и используется в протокольных операциях HDLC.
Поля DE, FECN и BECN используются протоколом для управления трафиком и поддержания заданного качества обслуживания виртуального канала.
Для каждого виртуального соединения определяется несколько параметров, связанных со скоростью передачи данных и влияющих на качество обслуживания.
q согласованная скорость передачи данных (Committed Information Rate, CIR) — скорость, с которой сеть будет передавать данные пользователя;
q согласованная величина пульсации (Committed Burst Size, Bc) — максимальное количество байтов, которое сеть будет передавать от данного пользователя за интервал времени Т, называемый временем пульсации, соблюдая согласованную скорость CIR;
q дополнительная величина пульсации (Excess Burst Size, Be) — максимальное количество байтов, которое сеть будет пытаться передать сверх установленного значения Bc за интервал времени Т.
Эти параметры являются однонаправленными, то есть виртуальный канал может поддерживать разные значения CIR, Bc и Be для каждого направления.
Если приведенные выше величины определены, то время Т определяется следующей формулой:
T = Bc/CIR
Можно задать значения CIR и T, тогда производной величиной станет величина пульсации Bc. Обычно для контроля пульсаций трафика выбирается время T, равное 1–2 секунды при передаче данных, и в диапазоне десятков-сотен миллисекунд при передаче голоса.
Соотношение между параметрами CIR, Bc, Be и T иллюстрирует рис. 21.6 (R — скорость в канале доступа; f1–f5 — кадры).

Рис. 21.6. Реакция сети на поведение пользователя
Основным параметром, по которому абонент и сеть заключают соглашение при установлении виртуального канала, является согласованная скорость передачи данных. Для постоянных виртуальных каналов это соглашение является частью контракта на пользование услугами сети. При установлении коммутируемого виртуального канала SVC соглашение о качестве обслуживания заключается автоматически с помощью протокола Q.933 — требуемые параметры CIR, Bc и Be передаются в пакете запроса на установление соединения.
Скорость передачи данных измеряется на контрольном интервале времени T, на котором проверяются условия соглашения. В общем случае пользователь не должен в этом интервале передавать в сеть данные со средней скоростью, превосходящей CIR. Если же он нарушает соглашение, то сеть не гарантирует доставку кадра и помечает этот кадр признаком готовности к удалению (Discard Eligibility, DE), равным 1. Однако кадры, отмеченные таким признаком, удаляются из сети только в том случае, если коммутаторы сети испытывают перегрузки. Если же перегрузок нет, то кадры с признаком DE = 1 доставляются адресату.
Такое щадящее поведение сети соответствует случаю, когда общее количество данных, переданных пользователем в сеть за период T, не превышает значения Bc + Be. Если же этот порог превышен, то кадр не помечается признаком DE, а немедленно удаляется.
Рис. 21.6 иллюстрирует случай, когда за интервал времени T в сеть по виртуальному каналу поступило 5 кадров. Средняя скорость поступления данных в сеть составила на этом интервале R бит/с, и она оказалась выше CIR. Кадры f1, f2 и f3 доставили в сеть данные, суммарный объем которых не превысил порог Bc, поэтому эти кадры ушли дальше транзитом с признаком DE = 0. Данные кадра f4, прибавленные к данным кадров f1, f2 и f3, уже превысили порог Bc, но еще не превысили порога Bc + Be, поэтому кадр f4 также ушел дальше, но уже с признаком DE = 1. Данные кадра f5, прибавленные к данным предыдущих кадров, превысили порог Bc + Be, поэтому этот кадр был удален из сети.
Для контроля соглашения о параметрах качества обслуживания все коммутаторы сети Frame Relay поддерживают алгоритм «дырявого ведра» (leaky bucket). Этот алгоритм относится к тому же классу алгоритмов, что и уже рассмотренный нами в главе 20 алгоритм «ведра маркеров». Он также позволяет контролировать среднюю скорость и пульсацию трафика, однако делает это несколько иначе.
Алгоритм поддерживает счетчик С поступивших от пользователя байтов. Каждые T секунд этот счетчик уменьшается на величину Bc (или же сбрасывается в 0, если значение счетчика меньше, чем Bc). Все кадры, данные которых не увеличили значение счетчика свыше порога Bc, пропускаются в сеть со значением признака DE = 0. Кадры, данные которых привели к значению счетчика, большему Bc, но меньшему Bc + Be, также передаются в сеть, но уже с признаком DE = 1. И, наконец, кадры, которые привели к значению счетчика, большему Bc + Be, отбрасываются коммутатором.
Пользователь может договориться о поддержании не всех параметров качества обслуживания для данного виртуального канала, а только некоторых.
Например, можно использовать только параметры CIR и Bc. Этот вариант дает более качественное обслуживание, так как кадры никогда не отбрасываются коммутатором сразу. Коммутатор только помечает кадры, которые превышают порог Bc за время T, признаком DE = 1. Если сеть не сталкивается с перегрузками, то кадры такого канала всегда доходят до конечного узла, даже если пользователь постоянно нарушает договор с сетью.
Популярен еще один вид заказа на обслуживание, при котором оговаривается только порог Be, а скорость CIR полагается равной нулю. Все кадры такого канала сразу же отмечаются признаком DE = 1, но отправляются в сеть, а при превышении порога Be отбрасываются. Контрольный интервал времени T в этом случае вычисляется как Be/R, где R — скорость доступа к каналу.
Как видно из описания, алгоритм дырявого ведра более «строго» контролирует пульсации трафика, чем алгоритм ведра маркеров (см. главу 20). Алгоритм ведра маркеров разрешает трафику в периоды пониженной активности накапливать объем пульсации, а затем использовать эти накопления в периоды всплесков трафика. В алгоритме дырявого ведра такой возможности нет, так как счетчик С сбрасывается в ноль принудительно в конце каждого периода T независимо от того, сколько байтов поступило от пользователя в сеть в течение этого периода.
На рис. 21.7 приведен пример сети Frame Relay с пятью удаленными региональными отделениями корпорации. Обычно доступ к сети осуществляется по каналам с пропускной способностью, большей, чем CIR. Но при этом пользователь платит не за пропускную способность канала, а за заказанные величины CIR, Bс и Be. Так, при использовании в качестве линии доступа канала T1 и заказа обслуживания со скоростью CIR, равной 128 Кбит/с, пользователь будет платить только за скорость 128 Кбит/с, а скорость канала T1 в 1,544 Мбит/с окажет влияние на верхнюю границу возможной пульсации Bc + Be.

Рис. 21.7. Пример обслуживания в сети Frame Relay
Параметры качества обслуживания могут быть разными для разных направлений виртуального канала. Так, на рисунке абонент 1 соединен с абонентом 2 виртуальным каналом с DLCI = 136. При направлении от абонента 1 к абоненту 2 канал имеет среднюю скорость 128 Кбит/с с пульсациями Bc = 256 Кбит (интервал T составил 1 с) и Be = 64 Кбит. А при передаче кадров в обратном направлении средняя скорость уже может достигать значения 256 Кбит/с с пульсациями Bc = 512 Кбит и Be = 128 Кбит.
Механизм резервирования средней пропускной способности и максимальной пульсации является основным механизмом обеспечения параметров QoS в сетях Frame Relay.
Соглашения должны заключаться таким образом, чтобы сумма средних скоростей передачи данных в виртуальных каналах не превосходила возможностей портов коммутаторов. При заказе постоянных каналов за это отвечает администратор, а при установлении коммутируемых виртуальных каналов — программное обеспечение коммутаторов. При правильно взятых на себя обязательствах сеть борется с перегрузками путем удаления кадров с признаком DE = 1 и кадров, превысивших порог Bc + Be.
В технологии Frame Relay определен еще и дополнительный (необязательный) механизм управления потоком. Это механизм оповещения конечных пользователей о том, что в коммутаторах сети возникли перегрузки (переполнение необработанными кадрами). Бит FECN (Forward Explicit Congestion Notification — прямое явное уведомление о перегрузке) кадра извещает об этом принимающую сторону. На основании значения этого бита принимающая сторона должна с помощью протоколов более высоких уровней (TCP/IP, SPX и т. п.) известить передающую сторону о том, что та должна снизить интенсивность отправки пакетов в сеть.
Бит BECN (Backward Explicit Congestion Notification — обратное явное уведомление о перегрузке) извещает о переполнении в сети передающую сторону и является рекомендацией немедленно снизить скорость передачи. Бит BECN обычно отрабатывается на уровне устройств доступа к сети Frame Relay — маршрутизаторов, мультиплексоров и устройств CSU/DSU. Протокол Frame Relay не требует от устройств, получивших кадры с установленными битами FECN и BECN, немедленного прекращения передачи в данном направлении, как, например, происходит в сетях X.25. Эти биты должны служить указанием для протоколов более высоких уровней (TCP, SPX, NCP и т. п.) о снижении темпа передачи пакетов. Так как регулирование потока и принимающей, и передающей сторонами инициируется в разных протоколах по-разному, то разработчики протоколов Frame Relay учли оба направления снабжения предупреждающей информацией о переполнении сети.