Протокол Frame Relay (I.122 ITU-t; ANSI T1S1.2; RFC-1490, -1315, -1604; cм. также http://www.frforum.com/frame.relay/5000/approved/frf.3/frf.3.1/frf3.f.0.html) является одним из относительно новых телекоммуникационных протоколов (1993 г.), он обеспечивает скорость передачи данных ~1,5 Мбит/с, меньшие задержки, но и меньшую надежность доставки информации. Frame Relay предназначен для межсетевого общения, ориентирован на соединение и использует два протокольных уровня модели OSI. Остальные уровни должны реализоваться программно. Такая схема заметно удешевляет интерфейс. Протокол вводит понятие CIR (Committed Information Rates — оговоренные скорости передачи), обеспечивая каждому приложению гарантированную полосу пропускания. Если приложение не использует полностью выделенную полосу, другие приложения могут поделить между собой свободный ресурс. Frame Relay гарантирует большее быстродействие, чем X.25.
Стандарт предусматривает 2-, 3- и 4-байтовые форматы заголовков (ANSI T1.618 и ITU-T Q.922) и синхронную передачу данных. Применение инкапсуляции гарантирует транспортировку пакетов других протоколов через сети Frame Relay. Пакет Frame Relay начинается и завершается разграничительным байтом 0x7E. Максимальный размер кадра 1600 октетов. Формат пакета показан на рис 14.1.
(рис 14.1) Формат пакетов Frame Relay (цифры сверху — номера байт)NLPID — идентификатор протокола сетевого уровня (Network Layer Protocol ID).
FCS — двухбайтовая контрольная сумма кадра (Frame Control Sum). Заполнитель является опционным и может отсутствовать.
Различные форматы заголовков кадров Frame Relay показаны на рисунках 14.2, 14.3 и 14.4. В верхней части рисунка приведена нумерация бит.
(рис 14.2) 2-байтовый заголовок пакета Frame Relay (адрес)| C/R | бит Command/Response (Команда/Отклик). |
| E/A | бит Extended Address (Расширенный адрес) определяет, следует ли рассматривать следующий байт в качестве части адреса (E/A=0, заголовок продолжается в следующем октете) |
| DLCI | (Data Link Control Interface) адрес управляющего интерфейса информационного канала (имеет только локальный смысл). В двухбайтовой версии DLCI занимает в сумме 10 бит |
| FECN | бит Forward Explicit Congestion Notification (указание на возможность реагирования на перегрузку при посылке пакетов). Сигнализирует отправителю о переполнении буферов при приеме |
| BECN | бит Backward Explicit Congestion Notification (тоже для случая приема пакетов) |
| DE | бит discard eligibility (пометка пакета при перегрузке канала). Помеченный пакет может быть отброшен, и потребуется его повторная пересылка |
При возникновении перегрузки DCE-узел отправляет устройствам -адресатам пакет с FECN =1, а узлам, шлющим ему информацию, — пакет с битом BECN =1. Большое число пакетов с такими битами говорит о перегрузке, и отправитель должен снизить частоту посылки пакетов или вовсе ее прекратить.
D/C — бит Data/Control (данные/управление) определяет, является ли последующее поле младшей частью DLCI или его следует интерпретировать как управляющую информацию DL-core.
Первым передается младший бит байта. Для управления сетью используется протокол SNMP и база данных MIB. Формат кадра Frame Relay показан на рис 14.4.

(рис 14.4) 3-байтовый заголовок пакета Frame Relay(рис 14.3) 4-байтовый заголовок пакета Frame RelayNLPID — (Network Layer Protocol Identifier) — идентификатор протокола сетевого уровня. Это поле может содержать коды многих протоколов, включая IP, CCITT Q.933, ISO 8208, IEEE SNAP, CLNP (ISO 8473) и т.д. Оно говорит получателю, какой тип протокола инкапсулирован. Коды NLPID стандартизованы документом ISO/IEC TR 9577. Некоторые допустимые коды этого поля приведены в таблице 14.1. Пользовательская информация располагается, начиная с поля управления, где в случае пересылки без подтверждения содержится код 0x03 (Q.922, UI). Для всех прочих видов обмена (кадры I- S-типов) подтверждение доставки является обязательным. Поле заполнитель предназначено для выравнивания границы полей на 2-байтовый уровень. Длина этого поля может быть равной нулю или одному байту. Поле адрес описано выше
(см. рис 14.1, 14.2, 14.3). Если за кодом NLPID следует 4 октета уровней 2 и 3, это указывает на то, что используется связь, ориентированная на соединение. Протокол Frame Relay предусматривает гибкую систему межсетевых соединений на основе мостов-шлюзов и маршрутизаторов. Все мосты и маршрутизаторы должны быть способны воспринимать и правильно интерпретировать как NLPID -, так и SNAP-инкапсуляцию. Для обеспечения правильной интерпретации идентификатора протокола PID предусмотрен 3-октетный уникальный идентификатор OUI (Organizationally Unique Identifier). В пакетах для мостов и маршрутизаторов поле OUI предшествует двухоктетному полю PID.
(рис 14.5) Формат маршрутизуемого кадра Frame RelayНетрудно видеть, что кадр Frame Relay имеет много общего с X.25 и ISDN. Здесь уже на протокольном уровне предусматривается мультикастинг.
Коды поля NLPID (идентификатор протокола сетевого уровня)
| Тип кадра |
Название протокола |
Код |
| I-кадр (ISO 8208) |
N по модулю 8 |
0x01 |
| N по модулю 128 |
0x10 |
| UI-кадр |
IP |
0xcc |
| clnp |
0x81 |
| Q.933 |
0x08 |
| SNAP |
0x80 |
| Q.922 |
0x4e |
| 802.2 |
0x4c |
| Протокол, заданный пользователем (уровень 3) |
0x70 |
Код протокола SNAP используется и для протоколов 802.3, 802.4, 802.5, FDDI и 802.6. При вложении IP в кадры Frame Relay в поле .
(рис 14.5a) Формат маршрутизируемой IP-дейтограммыАналогично осуществляется инкапсуляция пакетов протокола CLNP, только здесь в поле NLPID записывается код 0x81. Для примера на рис 14.6 показан формат пакета для мостов 802.3.
(рис 14.6) Формат мостового кадра Ethernet 802.314.1. Канальный протокол Fibre Channel
Известно, что производительность микропроцессоров рабочих станций удваивается каждые 18 месяцев.
Каждому миллиону операций в секунду процессора должна соответствовать пропускная способность ввода/вывода, равная мегабиту в секунду (закон Amdahl).
По этой причине требования к широкополосности телекоммуникационных каналов уже сегодня лежат в диапазоне от 100 Мбит/с до 10 Гбит/c. Наиболее популярные скоростные сети — Fast Ethernet, GE и ATM — соответствуют этим требованиям на пределе. Уже одно это заставляет обратить внимание на такие протоколы, как 10-гигабитный Ethernet и стандарт ANSI. Fibre Channel сочетает в себе преимущества канальных и сетевых технологий. Работы по разработке стандарта FC начаты группой ANSI в 1988 году. В настоящее время Fibre Channel конкурирует как с Ethernet, так и с SCSI. (См. http://www.prz.tu-berlin.de/docs/html/EANTC/INFOSYS/fibrechannel/detail, http://www.fibrechannel.com/technology/physical.htm и http://www.ancor.com, http://www.iol.unh.edu/training/fc/fc_tutorial.html.) Он легко стыкуется с протоколами локальных и региональных сетей.
Fibre Channel имеет уникальную систему физического интерфейса и форматы кадров, которые позволяют этому стандарту обеспечить простую стыковку с канальными протоколами IPI (Intelligent Peripheral Interface), SCSI, HIPPI, ATM, IP и 802.2. Это позволяет, например, организовать скоростной канал между ЭВМ и дисковой накопительной системой RAID. Быстродействие сетей Fibre Channel составляет n x 100Мбайт/с при длинах канала 10 км и более. Предусмотрена работа и на меньших скоростях (например, 12,5 Мбайт/c). Максимальная скорость передачи сегодня составляет 4,25 Гбод. В качестве транспортной среды может использоваться одномодовое или мультимодовое оптическое волокно. Допускается применение медного коаксиального кабеля и скрученных пар (при скоростях до 200 Мбайт/с).
Fibre Channel имеет шесть независимых классов услуг (каждый класс представляет определенную стратегию обмена информацией), которые облегчают решение широкого диапазона прикладных задач (таблица 14.11.).
| Класс 1 | Соединение с коммутацией каналов по схеме "точка-точка" между портами типа n_port. Класс удобен для аудио- и видеоприложений, например видеоконференций. После установления соединения используется вся доступная полоса пропускания канала. При этом гарантируется, что кадры будут получены в том же порядке, в каком они были посланы |
| Класс 2 | Обмен без установления соединения с коммутацией пакетов, гарантирующий доставку данных. Так как соединение не устанавливается, порт может взаимодействовать одновременно с любым числом портов типа n_port, получая и передавая кадры. Здесь не может быть гарантии того, что кадры будут доставлены в том же порядке, в каком были переданы (за исключением случаев соединения "точка-точка" или "арбитражное кольцо"). В этом классе допустимы схемы управления потоком "буфер-буфер" и "точка-точка". Этот класс характерен для локальных сетей, где время доставки данных не является критическим |
| Класс 3 | Обмен дейтограммами без установления соединения и без гарантии доставки. Схема управления потоком "буфер-буфер". Применяется для каналов scsi |
| Класс 4 | Обеспечивает выделение определенной доли пропускной способности канала с заданным значением качества обслуживания (QoS). Работает только с топологией fabric, где соединяются два порта типа n_port. При этом формируется два виртуальных соединения, обслуживающих встречные потоки данных. Пропускная способность этих соединений может быть различной. Как и в классе 1, здесь гарантируется порядок доставки кадров. Допускается одновременное соединение более чем с одним портом типа n_port. Используется схема управления потоком "буфер-буфер". Каждое виртуальное соединение управляется независимо с помощью сигнала-примитива fc_rdy |
| Класс 5 | Предполагает изохронное обслуживание |
| Класс 6 | Предусматривает мультикастинг-обслуживание в рамках топологии типа fabric. При этом используется стандартный адрес 0xfffff5. n_port становится членом мультикаст-группы путем регистрации по адресу 0xfffff8 |
Fibre Channel использует пакеты переменной длины (до 2148 байт), содержащие до 2112 байт данных. Такая длина пакета заметно снижает издержки, связанные с пересылкой заголовков (эффективность 98%). С этой точки зрения в наихудшем положении оказывается ATM (83% эффективность 48 байт данных при 53-байтном пакете). Только FDDI превосходит Fibre Channel по этому параметру (99%). В отличие от других локальных сетей, использующих 6-октетные адреса, fibre channel работает с 3-байтовыми адресами, распределяемыми динамически в процессе выполнения операции login. Адрес 0xffffff зарезервирован для широковещательной адресации. Адреса же в диапазоне 0xfffff0-0xfffffe выделены для обращения к структуре fabric, мультикастинг-серверу и серверу псевдонимов (alias-server). n_port передает кадры от своего source_id (s_id) к destination_id (d_id). До выполнения операции fabric login s_id порта не определен.
В случае арбитражного кольца применяются 3-октетные адреса al_pa, задаваемые при инициализации кольца. Для однозначной идентификации узлов используются 64-битовые имена-идентификаторы.
Формат пакетов в сетях Fibre Channel показан на рис 14.7. Здесь используются 24-битовые адреса, что позволяет адресовать до 16 миллионов объектов. Сеть может строить соединения по схеме "точка-точка", допускается и кольцевая архитектура с возможностью арбитража (FC-al) и другие схемы (например fabric, допускающие большое число независимых обменов одновременно). Схема кольцевого соединения показана на рис 14.8. К кольцу может быть подключено до 128 узлов. Протокол Fibre Channel предусматривает 5 уровней, которые определяют физическую среду, скорости передачи, схему кодирования, форматы пакетов, управление потоком и различные виды услуг. На физическом уровне (FC-ph, 1993 год) предусмотрены три подуровня. FC использует оптические волокна диаметром 62,5, 50 мкм и одномодовые. Для обеспечения безопасности предусмотрен опционный контроль подключенности оптического разъема (OFC).
Для этого передатчик время от времени посылает короткие световые импульсы приемнику. Если приемник получает такой импульс, процесс обмена продолжается (таблица 14.12.).
| FC-0 | Определяет физические характеристики интерфейса и среды, включая кабели, разъемы, драйверы (ECL, LED, лазеры), передатчики и приемники. Вместе с FC-1 этот уровень образует физический слой |
| FC-1 | Определяет метод кодирования/декодирования (8B/10B) и протокол передачи, где объединяется пересылка данных и синхронизирующей информации |
| FC-2 | Определяет правила сигнального протокола, классы услуг, топологию, методику сегментации, задает формат кадра и описывает передачу информационных кадров |
| FC-3 | Определяет работу нескольких портов на одном узле и обеспечивает общие виды сервиса |
| FC-4 | Обеспечивает реализацию набора прикладных команд и протоколов вышележащего уровня (например, для SCSI, IPI, IEEE 802, SBCCS, HIPPI, IP, ATM и т.д.) |
(рис 14.7) Формат пакета Fibre ChannelFC-0 и FC-1 образуют физический уровень, соответствующий стандартной модели ISO.
Стандарт FC допускает соединение типа "точка-точка", "арбитражное кольцо" и "структура" (верх, середина и низ рисунка 14.8). Кольцевая архитектура обеспечивает самое дешевое подключение. Система арбитража допускает обмен только между двумя узлами одновременно. Следует учесть, что кольцевая структура не предполагает применения маркерной схемы доступа. Когда подключенное к сети устройство готово передать данные, оно передает сигнал-примитив ARBX, где X — физический адрес устройства в кольце арбитража (al_pa). Если устройство получит свой собственный сигнал-примитив ARBX, оно получает контроль над кольцом и может начать передачу. Инициатор обмена посылает сигнал-примитив open (OPN) и устанавливает связь с адресатом. Время удержания контроля над кольцом не лимитируется. Если контроль над кольцом одновременно пытаются захватить два устройства, сравниваются значения X сигналов ARB.
Устройство с меньшим al_pa получает преимущество, прибор с большим al_pa блокируется.
Прежде чем использовать кольцо, его нужно инициализировать (процедура LIP), так чтобы каждый порт получил свой физический адрес (al_pa — один октет, что и определяет максимальное число портов в кольце арбитража). Процедура инициализации начинается сразу после включения питания посылкой сигнала-примитива LIP через порт l_port. Затем осуществляется выбор устройства, которое будет управлять процессом выбора al_pa.
Перед передачей октеты преобразуются в 10-битовые кодовые последовательности, называемые символами передачи (кодировка IBM 8B/10B). Логической единице соответствует больший уровень световой энергии.
(рис 14.8) Типы топологии FCВ Fibre Channel предусмотрено два режима обмена: "буфер-буфер" и "точка-точка". Передача данных осуществляется, только когда принимающая сторона готова к этому. Прежде чем что-либо посылать, стороны должны выполнить операцию login. В ходе выполнения операции login определяется верхний предел объема пересылаемых данных (credit). Значение параметра credit задает число кадров, которые могут быть приняты. После передачи очередного кадра значение credit уменьшается на единицу. Когда значение этой переменной достигает нуля, дальнейшая передача блокируется до тех пор, пока получатель не обработает один или более кадров и не будет готов продолжить прием. Здесь очевидна довольно тесная аналогия с окнами в протоколе TCP. Режим обмена "буфер-буфер" предполагает установление связи между портами N_Port и F_Port или между двумя N_Port. При установлении соединения каждая из сторон сообщает партнеру, сколько кадров она готова принять (значение переменной BB_Credit).
Режим "точка-точка" реализуется между портами типа N_Port. Предельное число кадров, которые сторона может принять, задается переменной EE_Credit. Эта переменная устанавливается равной нулю при инициализации, увеличивается на единицу при передаче кадра и уменьшается при получении кадра ACK Link Control. Кадр ACK может указывать на то, что порт получил и обработал один кадр, N кадров или всю последовательность кадров. (См. также Definitions of Managed Objects for the Fabric Element in Fibre Channel Standard. K. Teow. May 2000, RFC-2837.)
14.2. Параллельный сетевой интерфейс HIPPI
Все рассматриваемые до сих пор системы передачи информации использовали исключительно последовательный код. На разных этапах эволюции телекоммуникаций предпочтение отдавалось и параллельному, и последовательному методам обмена данными. В данный момент параллельный интерфейс сохранился только для подключения принтеров. Главным преимуществом последовательных схем передачи информации является экономия на кабелях. Ниже описан еще один стандарт, где применен параллельный интерфейс (начало разработки относится к 1987 году). HIPPI ( ; http://www.cern.ch/hsi/hippi/spec/introduc.htm; RFC-2067, IP over HIPPI, J. Renwick; RFC-1374, IP and ARP on HIPPI, J. Renwick, ANSI x3t9.3/90-043, 1990 и X3t9.3/91-005)
представляет собой быстродействующий параллельный интерфейс, рассчитанный на пропускную способность 800 Мбит/с (но возможны версии со 100, 200 400 и 1600 Мбит/с). Разработка интерфейса выполнена в Лос-Аламосе. Позднее на базе этого интерфейса была подготовлена идеология сети.
Длина кода, передаваемого за один такт в HIPPI, составляет 32 разряда (версия HIPPI, рассчитанная на скорость 1600 Мбит/с, имеет длину кода 64 бита). Все пересылки являются симплексными. Существует стандарт Superhippi ( HIPPI -6400, 6,4 Гбайт/с), который описывает систему передачи данных, в 8 раз более быстродействующую, чем HIPPI. Разработана версия последовательного HIPPI на скорость обмена 1,2 Гбод для коаксиального и оптоволоконного кабеля (до 10 км; версия HIPPI -FC — fiber channel). Максимальное расстояние между станцией и переключателем составляет 25 м. Максимальное расстояние между станциями ("станция-переключатель-станция") равно 50 м. Предельное число станций зависит от типа используемых переключателей.
Переключатели могут взаимодействовать друг с другом ( HIPPI -SC), обеспечивая информационный обмен между станциями. Пример топологии сети HIPPI представлен на рис 14.9.
(рис 14.9) Пример топологии сети HIPPI (П — переключатели, С — станции)
HIPPI предполагает передачу данных по медному кабелю (или оптическому волокну) только в одном направлении по схеме связи "точка-точка", но два канала HIPPI могут обеспечить и двунаправленный обмен данными. Передающий кабель может содержать 50/100 скрученных пар или соответствующее число оптических волокон. Длина пакета данных может варьироваться. Протокол HIPPI рассчитан на работу при суммарных длинах кабелей до десятков километров. Стандартный блок данных состоит из 256 слов (1024 или 2048 байт). Для контроля корректности передачи предусмотрен контроль по четности для каждого байта на шине, кроме того, для каждого блока данных вычисляется "продольная" контрольная сумма ( LLRC — Length/Longitudinal Redundancy Checkword).
На рис 14.10 показана схема передачи данных в рамках протокола HIPPI. На каждое соединение может быть передано любое число пакетов, пакет, в свою очередь, может содержать любое число блоков. Время между пакетами не регламентировано и может меняться, оно зависит от потока данных и протокола верхнего уровня.
(рис 14.10) Структура передаваемой информации (каждое слово содержит 32 или 64 бита)Каждый пакет содержит в конце субполе контроля четности. Все сигналы, кроме соединения (interconnect), используют приемники и передатчики эмиттерно-связанной логики (ECL). Формат I-поля показан на рис 14.11.
(рис 14.11) Формат I-
поля пакета HIPPI
Поле L=1 – локально заданный формат; W=1 указывает на 64-битное соединение; D=1 отмечает смену положения адресов отправителя и получателя; PS – биты выбора пути (path selection); С – задержка вызова при занятой линии (camp-on; переключатель не разрывает соединения при занятом получателе, а ждет его освобождения). 12-битовые адреса отправителя и получателя часто делятся на 6-битовые секции, определяющие адрес переключателя и номер порта. HIPPI -IPI (Intelligent Peripheral Interface) представляет собой быстродействующий интерфейс периферийных устройств, выполняющий команды SCSI. Расширение HIPPI -LE (Link Encapsulation) обеспечивает поддержку IEEE 802.2.
(рис 14.12) Блок-схема канала HIPPI
При расстояниях до 25 метров используется кабель, содержащий 50 скрученных пар. Такты часов следуют с периодом 40 нс. В сетях HIPPI предусмотрен транзит пакетов формата TCP/IP. Блок-схема канала HIPPI показана на рис 14.12.
Предусмотрена работа HIPPI с протоколами TCP/IP. См. также ARP and IP Broadcast over HIPPI -800. J.-M. Pittet. May 2000, RFC-2834, IP and ARP over HIPPI -6400 (GSN). J.-M. Pittet. May 2000, RFC-2835.