Портал вычислительной техники
 

Мы - лучшие!

 

 


ЭВМ протоколы
 

 


В последнее время в воздухе снова витает идея централизации. Или же, если угодно, то ее можно назвать концепцией истинно разделяемых ресурсов, где накопители не принадлежат никому конкретно, а могут напрямую использоваться любым другим ресурсом сети. Актуальность централизации во многом определяется осознанием все увеличивающейся роли хранения данных в современной вычислительной среде. Разве не заманчиво иметь возможность двигать устройства хранения в сети, как шахматные фигуры, и не привязывать их жестко к шинам ввода-вывода отдельных компьютеров?

Схема разделяемых ресурсов

Предполагается, что такая схема улучшит производительность и масштабируемость вычислительной среды вместе с более легким администрированием, а также повысит доступность данных и, что очень важно, сильно удешевит систему. Очевидно, что всего этого можно добиться, если интегрировать накопители в сеть наряду с серверами, клиентскими машинами и прочими устройствами, то есть использовать для этого существующий сетевой канал. К сожалению, после такого шага обычная сеть просто впадет в кому, подавая лишь слабые признаки жизни.

Когда в 1988 году ANSI (Американский Национальный Институт по Стандартизации) зарегистрировал рабочую группу по разработке "практичного, недорогого и вместе с тем расширяемого метода для высокоскоростного обмена данными между ЭВМ, суперкомпьютерами, рабочими станциями, персональными компьютерами, накопителями и устройствами отображения", мало кто из сторонних наблюдателей верил в успех, слишком уж глобальна и вызывающе звучала постановка задачи. новый метод было решено назвать Fiber Channel. Через некоторое время разработчики спохватились, что английское слово "fiber" слишком уж сильно ассоциируется с оптоволоконными линиями, поэтому оно было заменено на британскую транскрипцию "fibre". Учитывая, что основной топологией этого метода была избрана петля с арбитражным доступом (Arbitrated Loop), то его полное название составило Fibre Channel Arbitrated Loop, или FC-AL. FC-AL является частью нового последовательного интерфейса SCSI-3

Стандарт определяет несколько уровней. Первый и них и наиболее низкий (логически) - физический уровень (FC-0). На данном уровне задаются физические параметры полнодуплексного последовательного соединения между портами. В качестве среды передачи может быть использована витая пара, коаксиальный или твинаксиальный кабели, а также оптоволокно. Упрощенно говоря, в FC-0 определяется способ передачи полученных с более высокого уровня бинарных последовательностей. Нелишне также отметить, что именно данный уровень позволяет изменять скорости передачи от 250 Mbits/s до 8 Gbits/s, не затрагивая остальные, более высокие, уровни.

Gротокол передачи (FC-1) определяет, как вплести данные в нижележащие сигналы FC-0, как установить соединения между портами и как, в случае необходимости, исправить обнаруженную ошибку. На этом уровне с помощью кодировки IBM 8b/10b 8-битовые порции данных преобразуются в 10-битовые сбалансированные по количеству 0 и 1 последовательности, что требуется для корректной работы FC-0. Для этого каждый планируемый к передаче байт (любой из 256 символов ASCII) преобразуется в четыре возможных комбинации для 10-битового представления, после чего выбираются две наиболее сбалансированные. Здесь действуют два простых правила - не менее 4 нулей и единиц в 10-битовой последовательности и не более четырех 0 или 1 подряд. В итоге, из двух предложенных ему на выбор 10-битовых последовательностей уровень FC-0 передает ту, первый символ которой отличается от последнего символа предыдущей. Таким образом, кодировка 8b/10b выполняет функцию фильтра, существенно облегчая работу приемника. В результате применяемых на уровнях FC-0/1 алгоритмов вероятность возникновения ошибки на переданный бит (Bit Error Rate, BER) составляет ничтожную величину 10-12, что на три порядка лучше, чем для применяемых в SCSI-2 или Ethernet асинхронных способов передачи.

Сигнальный протокол (FC-2) определяет иерархическую структуру посылок для установления связей между работающими через FC-AL приложениями. Основными объектами этого уровня являются слова (words), кадры (frames), пакеты (sequences) и обмены (exchanges). Базовым элементом и минимальной единицей передачи является слово, но пересылка данных между узлами FC-AL требует помещения слов в некий контейнер. Такой контейнер назван кадром. Один или несколько последовательных кадров, несущих помещенную в них связанную информацию в виде файла данных, графики, программы или же IP-пакета, называются пакетом, который представляет собой однонаправленную посылку от передающего узла принимающему.

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

  • Слова (words). Передача в Fibre Channel идет строго 4-байтовыми словами, т.е. 40-битовыми последовательностями на уровне FC-0. Слова идут слитно даже тогда, когда отсутствует собственн информация для передачи. В последнем случае передающий порт генерирует слова-пустышки (IDLE) в соответствии с требованиями уровня FC-0. Для пересылки данных все байты представлены в виде символов ASCII. Если первый байт слова, вернее, его первые 10 бит на уровне FC-1 замещаются на специальный служебный символ K28.5, то оно распознается, как служебное (ordered set) и, в зависимости от содержимого трех остальных байт, приобретает различную смысловую нагрузку. Примерами служебных слов могут быть IDLE (постоянная передача, когда все равно больше нечем заняться), ARB (запрос на арбитраж в петле), SOF (начало кадра) и EOF (конец кадра)
  • кадры (frames) служат транспортными контейнерами для пересылок между отдельными узлами решетки. Начало кадра определяется служебным словом SOF (Start Of Frame). Непосредственно за SOF располагаются шесть слов заголовка и от 0 до 528 смысловых слов. Кадр завершается контрольным словом CRC (Cyclic Redundancy Check) и EOF (End Of Frame). Другими словами, размер каждого кадра может варьировать от 9 до 537 слов, что позволяет его гибко подстраивать под объем передаваемой информации. Следующее сразу за SOF первое слово заголовка (header word 0) содержит адрес маршрутизации по решетке Fibre Channel. Остальные пять слов заголовка содержат уникальные идентификаторы последовательностей (header word 1), обменов (header word 2), определяют номер кадра в этих конструкциях (header word 3), относительное смещение в оперативной памяти (header word 4) и тип сообщений (header word 5) — SCSI, IP, AV, VI и т.д. Далее размещаются смысловые слова, ради которых все это и затевалось. Их количество в кадре может быть от 0 до 528 и определяется передающим портом с учетом собственных возможностей и возможностей остальных портов, информацию о чем он получает во время процедуры подключения. Служебное слово CRC является всегда предпоследним в кадре и служит для проверки правильности передачи заголовка и смысловых слов на основе содержащихся в нем контрольных 4 байт (32 бит). Как уже все догадались, кадр закрывается с помощью слова EOF. И только после получения EOF порт опознает предыдущее слово как CRC, ведь в нем все 4 байта являются контрольными и служебному символу K28.5 попросту не хватило места. После столь детального разбора структуры кадра пришло время рассказать про одну маленькую деталь, о которой обычно умалчивают разработчики Fibre Channel в публикациях, рассчитанных на массовую аудиторию потенциальных пользователей. Ее некоторая скандальность заключается в том, что после завершения кадра порт обязан также передать не меньше 6 слов IDLE. В основе требования передачи шести слов IDLE между кадрами заложена та же самая идея, что и при выборе кодировки 8b/10b - пожертвовать некоторой частью полосы канала для получения простого, недорогого и вместе с тем надежного механизма передачи. Кодировка 8b/10b съедает 20% пропускной способности канала в обмен на простой и надежный механизм распознавания слов. Шесть слов IDLE между кадрами делают примерно то же самое для обработки самих кадров. Дело в том, что в процессе передвижения кадра по решетке все встречающиеся ему на пути узлы имеют слегка отличающиеся собственные опорные частоты. В итоге, узел с несколько меньшей собственной частотой посылает кадры несколько медленнее, чем принимает, поэтому во избежание наползания кадров друг на друга он просто время от времени выкидывает слова IDLE между ними. C той же целью более быстрый узел также время от времени может вставлять недостающие IDLE, чтобы не наступать на пятки своему соседу. Хотя скорость передачи и теряется, взамен мы получаем высокую надежность и простоту технологии. Здесь сразу уместен вопрос о реальной пропускной способности Fibre Channel. Уже на ранних этапах разработки стандарта стало очевидным, что производители и пользователи вкладывают в это определение различный смысл, поэтому во избежание путаницы в настоящее время производители оборудования должны указывать аппаратную скорость компонентов в мегабитах или гигабитах в секунду, в то время как пользователи должны руководствоваться реальной скоростью передачи данных, измеряемой мегабайтами в секунду. Если вспомнить о 20% избыточности 8b/10b, то в данном случае 1Gbps = 100 Mbps. А чтобы иметь возможность обеспечить поток пользовательских данных 100 MBytes/s с учетом избыточности CRC, адресных заголовков и других служебных слов, сейчас на уровне FC-0 используется скорость аппаратной передачи 1.0625 Gbits/s. Таким образом, учитывая полнодуплексную реализацию Fibre Channel, можно говорить о представлении пользователю 200 Mbps в случае симметичности потоков данных. И чтобы совсем приблизиться к идеалу, собственный размер кадра в FC-AL увеличен до 2148 байт для эффективной работы с большими массивами, в то время как для уменьшения накладных расходов при передаче коротких сообщений размер кадра может пропорционально уменьшаться вплоть до 36 байт
  • Синтаксическая конструкция пакетов FC-AL определяется как серия из одного или нескольких кадров, несущих отдельные порции единого блока информации. К примеру, SCSI-команда вполне помещается в один кадр и, в данном случае, рассматривается, как пакет. Совершенно такая же ситуация и с двухгигабайтовым блоком данных, только пакет в этом случае будет состоять из 960 млн. кадров. Блок данных всегда передается последовательно, что определяется протоколами более высокого уровня. Тем не менее, если при движении по решетке некоторые кадры будут задержаны, принимающий порт способен корректно собрать принятые кадры в блок данных на основании содержащихся в заголовке SEQ_ID (идентификатор последовательности) и SEQ_CNT (порядковый номер кадра в последовательности)
  • Каждое взаимодействие между приложениями через Fibre Channel происходит в контексте обмена. Каждый обмен имеет инициатора (originator) и ответчика (responder). Для начала обмена инциатор посылает первый кадр первого пакета обмена ответчику. Содержимое кадра может составлять, к примеру, SCSI-команду. В заголовке этого кадра инициатор присваивает значение OX_ID (exchange originator identification). После этого все кадры данного обмена будут возвращаться от ответчика с этим же OX_ID, что позволит инициатору получать контекстную информацию о приложениях и протоколах более высокого уровня из собственной таблицы соответствий. Одновременно с этим ответчик присваивает собственное значение RX_ID (exchange responder identification) в первом кадре своего первого пакета в пределах данного обмена. После получения этого кадра инициатором все дальнейшие кадры содержат уникальные идентификаторы сторон в контексте данного обмена, что позволяет точно установить принадлежность кадров при нескольких одновременных обменах. К примеру, кадры пакетов обмена SCSI-командами могут приходить вперемешку с кадрами пакетов обмена IP, но порт сможет рассортировать их "на лету", отделив "мух от котлет". Когда обмен завершен, соответствующие значения OX_ID и RX_ID освобождаются для использования в будущих обменах. Таким образом, порт FC-AL может рассматриваться, как многопротокольный маршрутизатор. Каждый порт способен начать и поддерживать до 64 тыс. конкурентных обменов. Одновременно с этим он способен отвечать еще на 64 тыс. обменов с их поддержкой. Оригинальность синтаксической структуры Fiber Channel, поддерживаемая словами 1-5 заголовка, разительно отличает его от остальных протоколов передачи. Во-первых, порт имеет возможность конкурентной поддержки различных протоколов высокого уровня. Во-вторых, управление типами передачи выполняется на аппаратном уровне с минимальными микросекундными задержками без участия системной шины, центрального процессора и операционной системы, т.е. не создавая потенциально узкие места

Общие процедуры (FC-3). Этот уровень зарезервирован под описание общих процедур при наличии двух или более портов в хосте. Одним из примеров такой процедуры является образование группы захвата (hunt group), когда два или более портов объединяются под единым адресом, что позволяет увеличить пропускную способность канала от порта до решетки Fibre Channel.

Отображение протоколов (FC-4). Как и все предыдущие уровни, FC-4 также является чисто аппаратным и отвечает за преобразование различных протоколов в сигнальный протокол FC-AL и обратно. На основании заголовка пришедшего кадра содержащиеся в нем данные преобразуются и помещаются в область оперативной памяти, выделенную для приложения. Понятно, что вряд ли эта функция может быть реализована программно при скоростях обмена 200 Mbps, вследствие чего на этом уровне хранится аппаратный набор логических матриц (profiles), определяющих бинарное соответствие FC-AL и наследуемых протоколов высокого уровня.

Из-за конечной скорости распространения сигнала в проводнике расстояние между узлами неизбежно лимитирует время установления логического соединения. В худшем случае, когда порты удалены на максимально допустимые для Fibre Channel 10 Km, на путешествие сигнала в оба конца уйдет около 60 микросекунд, прежде чем узлы смогут приступить к обмену данными. Поэтому для удовлетворения потребностей различных пользователей в пределах одной решетки Fibre Channel вполне разумным выглядит предоставление им на выбор нескольких вариантов работы в среде Fibre Channel. В зависимости от требуемой полосы пропускания и наличия или отсутствия логического соединения устройства могут использовать сообщения разных типов, т.е. получать разные классы сервиса.

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

2 класс сервиса - мультиплексная связь с гарантированной доставкой и получением подтверждения о приеме, но без установления логического соединения. Пропускная способность канала по потребности разделяется между конкурентными обменами всех участвующих портов. Все кадры доходят до адресата, причем не обязательно строго в той последовательности, как были посланы. В случае, если линия перегружена, отправитель получает сигнал "занято" и повторяет посылку немедленно, т.к. из-за отсутствия в Fibre Channel конфликтов здесь нет необходимости в задержке для повторной передачи. Данный класс сервиса наиболее эффективен для обмена между несколькими компьютерами и общим дисковым массивом, особенно при их удаленном расположении, когда время установления логического соединения может привести к увеличению латентности.

3 класс сервиса. Мультиплексная связь без установления логического соединения и без гарантии доставки, когда требуется быстрая рассылка нескольким узлам без подтверждения приема. Существует также и промежуточный класс сервиса, называемый Intermix, когда вся пропускная способность канала резервируется под выделенное соединение 1-го класса, но позволяет в моменты его неполной загрузки пропускать потоки 2 и 3 классов.

Несмотря на тот факт, что Fibre Channel в какой-то мере может напоминать столь привычные нам Ethernet-сети, ее механизм контроля потоков никак не связан с топологией среды распространения и базируется на совершенно иных принципах. Каждый порт при подключении к решетке Fibre Channel проходит через процедуру регистрации и получает информацию об адресном пространстве и возможностях всех остальных узлов, на основании чего становится ясно, с кем из них он сможет работать и на каких условиях. А так как механизм контроля потоков в Fibre Channel является прерогативой самой решетки, то для узла совершенно неважно, какая топология лежит в ее основе.

В связи с этим возможно применение нескольких основных топологий. Это точка-точка, петля с арбитражным доступом. В составе петли обычно используются концентраторы, которые могут в случае необходимости изолировать поврежденное устройство от сети. Более продвинутый вариант предусматривает использование концентраторов-коммутаторов, которые позволяющет преодолеть все ограничения петли с арбитражным доступом и представить каждому N-порту выделенный канал FC-AL. В этом случае, в основу решетки положен Fibre Channel коммутатор с F-портами (Fabric ports):

Схема коммутируемой решетки

К портам коммутатора могут подключаться другие коммутаторы или концентраторы.

Адаптер Fibre Chanel (PCI)Теперь подходим к самому интересному - к FC-оборудованию. Его можно условно разделить на адаптеры (его вы как раз и можете видеть на рисунке слева), концентраторы, коммутаторы и маршрутизаторы. Количество производителей этого оборудования даже сегодня довольно ограничено, и найти его достаточно тяжело.

Для соединения по оптоволокну практически все производители используют стандартный сдвоенный SC-разъем, но при этом не стоит забывать, что за внешне одинаковыми разъемами могут скрываться различные лазерные излучатели для одно- или многомодового волокна. По ряду причин для медного соединения в настоящее время применяется исключительно твинаксиальный кабель с экранированными разъемами DB-9 или HSSDC (High Speed Serial Data Cable). Как правило, в гамме продуктов производителя присутствуют и модули GBIC (GigaBit Interface Converter) для подключения "медного" адаптера к оптической линии или наоборот.

Концентратор Fibre ChanelКонцентраторы представляют собой повторители сигнала, позволяющие организовать более удобную схему подключения. Обычно содержат не более 10 портов, но благодаря каскадному подключению достаточно просто достигнуть допустимого предела в 126 портов в единой петле. Примерно так же, как и в случае с адаптерами, весь рынок поделен между небольшим количеством производителей - Emulex, Gadzoox Networks, StorageTek и Vixel. Большинство присутствующих на рынке моделей умеют изолировать поврежденный узел путем создания внутреннего обходного пути, что существенно повышает надежность системы в целом. Кроме того, продвинутые модели используют цифровые методы восстановления несущей и отличаются развитыми возможностями удаленного администрирования.

Коммутатор Fibre ChanelЕсли же перед вами стоят более глобальные задачи, то для их решения потребуется новый класс устройств, позволяющих отказаться от петли с арбитражным доступом с такими присущими ей недостатками, как нарастающая по мере увеличения узлов латентность, долгая процедура инициализации и конкуренция пользователей за пропускную способность канала. Другими словами, пришло время вспомнить о преимуществах топологии коммутируемой решетки в виде практически мгновенного соединения "каждого с каждым" с образованием выделенного полнодуплексного канала, для чего и потребуется коммутатор Fibre Channel. Коммутатор является наиболее эффективным, но при этом и наиболее дорогим устройством, поэтому перед его прибретением стоит подумать, насколько эффективно вы вкладываете деньги (свои или заказчика). Например, если планируется создать всего лишь ординарный серверный кластер с общим дисковым массивом, то схема "каждый с каждым" неизбежно выродится в "один со всеми остальными" и изощренный механизм переключений будет щелкать вхолостую. Точно так же не стоит приобретать коммутатор и в тех случаях, когда перед вами стоит задача объединить несколько петель. Гораздо выгоднее использовать для этого устройство промежуточного класса (гибридный концентратор).

Другой, наименее многочисленный класс устройств, предназначенный для обмена данными между Fibre Channel и другими средами распространения, это маршрутизаторы. К примеру, производители ленточных библиотек до сих пор широко используют интерфейс SCSI, что не позволяет подключить столь нужное устройство напрямую к решетке Fibre Channel. Именно эту задачу и призваны решать маршрутизаторы, но их рынок пока все еще находится в весьма зачаточном состоянии.

Fibre Channel может быть описан как технология интерфейса передачи данных с довольно выской скоростью - уже в 1999 году она составила 1.0625 Gbps, и ей нет причин не повышаться. Она поддерживает распространенные способы обмена, например SCSI или IP. Благодаря такой универсальности, FC-AL может использоваться как в высокоскоростных шинах ввода/вывода (канал хранения), так и в LAN (сетевой канал) с максимальной длиной физической линии до 10 километров при использовании оптоволокна. К другим очевидным достоинствам Fibre Channel можно отнести поддержку различных топологий (точка-точка, петля с арбитражным доступом и коммутируемая звезда). В основу технологии положена методика простого перемещения данных из буфера передатчика в буфер приемника с полным контролем этой и только этой операции. Благодаря такому разграничению прав и обязанностей для FC-AL совершенно неважно, как обрабатываются данные индивидуальными протоколами до и после помещения в буфер, вследствие чего тип передаваемых данных (команды, пакеты или кадры) не играет никакой роли. Таким образом, технология Fibre Channel может смело претендовать на роль универсальной магистрали, пропускающей потоки данных как существующих шин ввода/вывода, так и LAN соединений. Конечно, никто не предлагает всем дружно отказаться от IDE, SCSI, Ethernet или других интерфейсов. Совершенно очевидно, что технологическое превосходство того или иного стандарта само по себе не может служить достаточным основанием для отказа от уже используемых решений. Иначе кто бы сейчас в здравом уме покупал IDE-диски, когда есть существенно более продвинутые SCSI? Но зачем платить лишние деньги за конвейерную обработку, если на компьютере не требуется особенно качественная многозадачность и не используются максимально ресурсоемкие приложения? И даже если требуется, то так ли часто большинству из нас приходится пользоваться этими возможностями? С другой стороны, нам неизвестны примеры успешного использования IDE-дисков для аппаратного обеспечения серверов. Примерно то же самое можно сказать и применительно к технологии Fibre Channel. Вряд ли на сегодняшний день есть большой смысл в ее применении на домашнем РС или на рабочем месте в офисе, а также в домашней сети. А вот объединить ресурсы серверов и накопителей в единый пул для центра обработки информации с помощью Fibre Channel можно гораздо эффективнее, чем при использовании стандартного набора Gigabit Ethernet + Ultra2 SCSI.



 

 

Главная | Микросхемотехника | Периферийные устройства СВТ | ЭВМ и системы | Цифровая схемотехника | Вычислительная техника | Электронная техника | Обратная связь © Все права защищены.
Web-4-U - Бесплатные сайты