See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Fibre Channel — Википедия

Fibre Channel

Материал из Википедии — свободной энциклопедии

Fibre Channel — высокоскоростной интерфейс передачи данных, используемый для соединения вместе рабочих станций, мейнфреймов, суперкомпьютеров и устройств хранения данных.

Порты устройств могут быть подключены напрямую друг к другу (point-to-point), быть включены в управляемую петлю (arbitrated loop) или в коммутируемую сеть, называемую тканью (fabric).

Поддерживается как оптическая, так и электрическая среда (витая пара, коаксиальный или твинаксиальный кабели, а также многомодовое или одномодовое волокно), со скоростью передачи данных от 133 мегабит/с до 8 гигабит/с на расстояния до 10 километров.

В большинстве случаев используется как несущий для SCSI-3. Может использоваться как несущий и для других протоколов — например, ATM, IP, HIPPI и других.

Содержание

[править] Сетевая модель

Сетевая модель Fibre Channel состоит из пяти уровней:

  • FC-0 Описывает среду передачи, трансиверы, коннекторы и типы используемых кабелей. Включает определение электрических и оптических характеристик, скоростей передачи данных и других физических компонентов.
  • FC-1 Описывает процесс 8b/10b Кодирования (каждые 8 бит данных кодируются в 10-битовый символ (Transmission Character)), специальные символы и контроль ошибок.
  • FC-2 Описывает сигнальные протоколы. На этом уровне происходит разбиение потока данных на кадры и сборка кадров. Определяет правила передачи данных между двумя портами, классы обслуживания (см. Классы Обслуживания).
  • FC-3 Определяет такие особенности, как: расщепление потока данных (striping) (Возможность передачи потока данных через несколько соединений, отображение множества портов на одно устройство.
  • FC-4 Предоставляет возможность переноса других протоколов (SCSI, ATM, IP, HIPPI FDDI, Token Ring, AV, VI, IBM SBCCS и многих других.)

[править] Логические элементы потока данных

При передаче данных выделяют следующие логические последовательности:

[править] Упорядоченные наборы (Ordered Sets)

Четырёхбайтные слова (Transmission Words), содержащие данные и специальные символы. Разбиение потока данных на упорядоченные наборы позволяет сохранять синхронизацию между передатчиком и ресивером на уровне битов и слов. Упорядоченные наборы всегда начинаются с символа K28.5. Основные типы наборов определяются сигнальным протоколом.

[править] Разделители кадров

Разделители кадров используются для отделения одного кадра от другого. Существует два таких набора:

  • Начало кадра (Start Of Frame, SOF)
  • Конец кадра (End Of Frame, EOF)

[править] Базовые сигналы

  • Сигнал бездействия (Idle). Передаётся для обозначения готовности принимать и отправлять кадры.
  • Сигнал готовности ресивера (Receiver Ready, R_RDY). Используется при управлении потоком данных (см. Классы Обслуживания) для индикации наличия места в буфере ресивера.
  • Базовые последовательности. Передаются для оповещения о нестандартном состоянии порта. При получении такой последовательности в ответ посылается соответствующая последовательности или сигнал бездействия. Стандарт поддерживает четыре последовательности:
  1. Offline (OLS)
  2. Not Operational (NOS)
  3. Link Reset (LR)
  4. Link Reset Response (LRR)

Служат «транспортными контейнерами» для пересылок между отдельными узлами решётки. Начало кадра определяется служебным словом 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 etc.

Далее размещаются смысловые слова, ради которых все это и затевалось. Их количество в кадре может варьировать от 0 до 528 и определяется передающим портом с учётом собственных возможностей и возможностей остальных портов, информацию о чём он получает во время процедуры подключения (log-in).

Служебное слово CRC является всегда предпоследним в кадре и служит для проверки правильности передачи заголовка и смысловых слов на основе содержащихся в нём контрольных 4 байт (32 бит).

Кадр закрывается с помощью слова EOF. И только после получения EOF порт опознает предыдущее слово, как CRC, ведь в нём все 4 байта являются контрольными и служебному символу K28.5 попросту не хватило места.

После столь детального разбора структуры кадра пришло время рассказать про одну маленькую деталь, о которой обычно умалчивают разработчики Fibre Channel в публикациях, рассчитанных на массовую аудиторию потенциальных пользователей. Её некоторая скандальность заключается в том, что после завершения кадра N_порт обязан также передать не меньше 6 слов IDLE.

В основе требования передачи шести слов IDLE между кадрами заложена та же самая идея, что и при выборе кодировки 8b/10b — пожертвовать некоторой частью полосы канала для получения простого, недорогого и вместе с тем надёжного механизма передачи. Кодировка 8b/10b «съедает» 20 % пропускной способности канала в обмен на простой и надёжный механизм распознавания слов. Шесть слов IDLE между кадрами делают примерно то же самое для обработки самих кадров. Дело в том, что в процессе передвижения кадра по решётке все встречающиеся ему на пути узлы имеют слегка отличающиеся собственные опорные частоты. В итоге, узел с несколько меньшей собственной частотой посылает кадры несколько медленнее, чем принимает, поэтому во избежание «наползания» кадров друг на друга он просто время от времени выкидывает слова IDLE между ними. C той же целью более «быстрый» узел также время от времени может вставлять недостающие IDLE, чтобы «не наступать на пятки» своему соседу.

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

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

Если вспомнить о 20 % избыточности 8b/10b, то в данном случае 1Gbit/s = 100MBytes/s. А чтобы иметь возможность обеспечить поток пользовательских данных 100MBytes/s с учётом избыточности CRC, адресных заголовков и других служебных слов, сейчас на уровне FC-0 используется скорость аппаратной передачи 1.0625Gbit/s.

Таким образом, учитывая полнодуплексную реализацию Fibre Channel, можно говорить о представлении пользователю 200MBytes/s в случае симметичности потоков данных, то есть в контексте технологии FC-AL 1.0625Gbit/s = 200MBytes/s.

[править] Последовательности (Sequences)

[править] Обмены (Exchanges)

Каждое взаимодействие между приложениями через Fibre Channel происходит в контексте обмена. Каждый обмен имеет инициатора (originator) и ответчика (responder). Для начала обмена инциатор посылает первый кадр первого пакета обмена ответчику. Содержимое кадра может составлять, к примеру, SCSI команду. В заголовке этого кадра инициатор присваивает значение OX_ID (exchange originator identification). После этого все кадры данного обмена будут возвращаться от ответчика с этим же OX_ID, что позволит инициатору получать контекстную информацию о приложениях и протоколах более высокого уровня из собственной таблицы соответствий. Одновременно с этим ответчик присваивает собственное значение RX_ID (exchange responder identification) в первом кадре своего первого пакета в пределах данного обмена. После получения этого кадра инициатором все дальнейшие кадры содержат уникальные идентификаторы сторон в контексте данного обмена, что позволяет точно установить принадлежность кадров при нескольких одновременных обменах. К примеру, кадры пакетов обмена SCSI командами могут приходить вперемешку с кадрами пакетов обмена IP, но порт сможет рассортировать их «на лету», отделив мух от котлет. Когда обмен завершён, соответствующие значения OX_ID и RX_ID освобождаются для использования в будущих обменах. Таким образом N_порт FC-AL может рассматриваться, как многопротокольный маршрутизатор.

Каждый порт способен начать и поддерживать до 64 тыс. конкурентных обменов. Одновременно с этим он способен отвечать ещё на 64 тыс. обменов с их поддержкой.

Оригинальность синтаксической структуры Fiber Channel, поддерживаемая словами 1-5 заголовка, разительно отличает его от остальных протоколов передачи. Во-первых, порт имеет возможность конкурентной поддержки различных протоколов высокого уровня. Во-вторых, управление типами передачи выполняется на аппаратном уровне с минимальными микросекундными задержками. И, самое главное, все это происходит без участия системной шины, центрального процессора и операционной системы, то есть не создавая потенциально узкие места.

[править] Протоколы (Protocols)

[править] Адресация

[править] Уникальный адрес устройства

Каждое устройство имеет уникальный 8-байтовый адрес, называемый NWWN (Node World Wide Name), состоящий из нескольких компонент:

A0:00:BB:BB:BB:CC:CC:CC
||    |        |
||    |        ±------ Назначаются производителем устройства.
||    ±--------------- Назначаются IEEE для каждого производителя.
|±-------------------- Всегда 0:00 (Зарезервировано стандартом)
±--------------------- Число произвольно выбирается производителем.

[править] Уникальный адрес порта устройства

Каждый порт устройства имеет уникальный 8-байтовый адрес, называемый PWWN (Port World Wide Name), состоящий из нескольких компонент:

A0:00:BB:BB:BB:CC:CC:CC
||    |        |
||    |        ±------ Назначаются производителем устройства.
||    ±--------------- Назначаются IEEE для каждого производителя.
|±-------------------- Уникально идентифицируют порт устройства или коммутатора.
±--------------------- Число произвольно выбирается производителем.

[править] Топологии

  • Точка-Точка (FC-P2P)

Используется для связи между двумя устройствами — передатчик первого соединён с ресивером второго и наоборот. Все отправленные кадры предназначены для второго устройства — то есть отсутствует адресация.

  • Управляемая петля (FC-AL)

Устройства объединены в петлю — передатчик каждого устройства соединён с ресивером следующего. Каждое устройство имеет уникальный для петли Физический Адрес Управляемой Петли (Arbitrated Loop Physical Address, AL_PA). Естественно такое подключение не является надёжным — при сбое любого члена петли нарушается её работа, поэтому часто используются повторители (Hub), представляющие собой многопортовые устройства и замыкающие FC-AL цепь при сбое компонента.

  • Коммутируемая Ткань (FC-SW)

Основана на применении коммутаторов. Позволяет подключать огромное количество устройств, легко расширяется (очень похожа на Ethernet).

[править] Логические типы портов

Топология Fibre Channel и логические типы портов
Топология Fibre Channel и логические типы портов

В зависимости от поддерживаемой топологии и типа устройства порты разделяются на несколько типов:

  • Порты узлов:
    • N_Port (Node port), порт устройства с поддержкой топологии «Точка-Точка».
    • NL_Port (Node Loop port), порт устройства с поддержкой топологии «Ткань» (Fabric).
  • Порты коммутатора/маршрутизатора (только для топологии FC-SW):
    • F_Port (Fabric port), порт ткани. Используется для подключения портов типа N_Port к коммутатору.
    • FL_Port (Fabric Loop port), порт ткани с поддержкой петли. Используется для подключения портов типа NL_Port к коммутатору.
    • E_Port (Expansion port), порт расширения. Используется для соединения коммутаторов. Может быть соединён только с портом типа E_Port.
    • EX_port
    • TE_port (Trunking Expansion port)
  • Общий случай:
    • L_Port (Loop port), порт устройства с поддержкой топологии «Петля».
    • G_port (Generic port), порт с автоопределением. Автоматически может определяться как порт типа E_Port, N_Port, NL_Port.

[править] Физические типы портов

Коннекторы Fibre channel - LC слева и SC справа
Коннекторы Fibre channel - LC слева и SC справа
Типы физических FC-интерфейсов
Тип волокна Скорость (MB/s) Transmitter Тип интерфейса Расстояние
Single-Mode Fiber 400 1300nm Longwave Laser 400-SM-LL-I 2m — 2km
200 1550nm Longwave Laser 200-SM-LL-V 2m — >50km
1300nm Longwave Laser 200-SM-LL-I 2m — 2km
100 1550nm Longwave Laser 100-SM-LL-V 2m — >50km
1300nm Longwave Laser 100-SM-LL-L 2m — 10km
1300nm Longwave Laser 100-SM-LL-I 2m — 2km
Multimode Fiber (50µm) 400 850nm Shortwave Laser 400-M5-SN-I 0.5m — 150m
200 200-M5-SN-I 0.5m — 300m
100 100-M5-SN-I 0.5m — 500m
100-M5-SL-I 2m — 500m
Multimode Fiber (62.5µm) 400 850nm Shortwave Laser 400-M6-SN-I 0.5m — 70m
200 200-M6-SN-I 0.5m — 150m
100 100-M6-SN-I 0.5m — 300m
100-M6-SL-I 2m — 175m

[править] Инфраструктура Fibre Channel

Коммутаторы Fibre Channel разделяются на два класса. Эти классы не являются стандартом, коммутатор классифицируется производителем в каждом конкретном случае.

  • Директора обладают большим количеством физических портов на основе слотов в модульном шасси высокодоступной архитектуры.
  • Коммутаторы обычно меньше по размеру, обладают фиксированным количеством физических портов, менее отказоустойчивы.

Brocade, Cisco и QLogic поставляют и директора и коммутаторы.

[править] Классы обслуживания (CoS)

Fiber Channel поддерживает следующие классы обслуживания (Classes of service, CoS).

Стандарт FC-PH определяет Классы 1-3, Класс 4 определён в стандарте FC-PH-2, Класс 5 предложен для изохронного режима, но недостаточно стандартизирован, Класс 6 определён в стандарте FC-PH-3, Класс F — в стандартах FC-SW и FC-SW2.

  • Класс 1 — Acknowledged Connection Service (выделенные каналы с подтверждением). Между двумя устройствами через коммутатор или ткань устанавливается выделенное соединение. Принимающее устройство отправляет на передающее устройство подтверждения приёма каждого кадра. Соединение остаётся открытым до тех пор, пока передача данных не будет завершена. Время установления соединения составляет несколько микросекунд. Предоставляемый канал обычно дуплексный, хотя по необходимости возможна организация симплексного (например, если необходимо одновременно передавать данные одному узлу и принимать от другого). Устройствам доступна вся его пропускная способность. Используется сквозное управление потоком. Гарантируется высокая скорость обмена и правильный порядок приёма кадров. Идеально подходит для приложений, работающих с большими объёмами данных — например, системы моделирования или обработки видео. Если пропускная способность не используется полностью данным приложением, она всё равно недоступна для других приложений, пока соединение не будет закрыто, так как попытки соединения с таким портом будут отвергаться с выдачей сигнала «занято». Нерациональное использование пропускной способности может быть обусловлено не только малым потоком данных, генерируемых приложением, но и разной скоростью работы портов (при использовании предоставляемой первым классом возможности обмена через буфер). В этой связи интересна возможность коммутатора отслеживать занятый порт и ставить его в очередь на соединение: как только порт освободится, коммутатор сразу же установит с ним следующее соединение (Camp on).
  • Класс 2 — Acknowledged Connectionless Service (передачи без организации соединения с подтверждением). Каждый кадр коммутируется независимо от остальных, конечный порт может одновременно передавать и принимать данные от нескольких узлов, при этом канал между двумя взаимодействующими не выделяется (по сути, происходит мультиплексирование коммутатором трафика). Каждый кадр подтверждается принимающим устройством. Кадры могут доставляться по различным маршрутам, то есть упорядоченная доставка кадров в данном классе не гарантирована, упорядочивание последовательности кадров осуществляется протоколами вышележащих уровней. Утилизация доступной полосы пропускания значительно выше, чем в Классе 1, что полезно для передачи неравномерного (bursty) трафика.
  • Класс 3 — Unacknowledged Connectionless Service, иногда называется Datagram Сonnectionless Service (передачи без организации соединения и без подтверждения). Аналогичен классу 2 за исключением того, что используется межбуферное (BB Credit) управление потоком, а следовательно, нет настоящего подтверждения доставки. За счёт этого удаётся достичь более высокой пропускной способности, но гарантий доставки нет, упорядоченная доставка кадров не гарантирована. Упорядочивание последовательности кадров и запрос на повторную передачу потерянных кадров осуществляется протоколами вышележащих уровней. Используется для организации многоадресных и широковещательных рассылок, применяется также в системах массовой памяти. Наиболее распостранённый класс коммутируемых FC-сетей.
  • Класс 4 — Fractional Bandwidth Connection-oriented Service (соединение с дробной полосой пропускания) между N_Ports. Сходен с Классом 1, так как тоже предполагает установление соединения, подтверждение доставки, фиксированную задержку, соблюдение порядка кадров. Соединение между портами устанавливается в виде виртуального канала с полосой пропускания, достаточной для предоставления услуг с предсказуемым качеством (QoS, включающий гарантированные полосу пропускания и максимальную задержку). Такой виртуальный двунаправленный канал состоит двух однонаправленных виртуальных соединений (Virtual Circuit, VC), причём на каждом VC могут обеспечиваться различные QoS. Каждый N_port может устанавливать несколько таких соединений (до 254). Используется для критичных ко времени доставки данных — например, видео- и аудиопотоков.
  • Класс 5 — Isochronous Service (изохронное соединение). Не стандартизован. Предназначен для приложений, требующих немедленной доставки данных без промежуточной буферизации.
  • Класс 6 — Unidirectional Connection Service (однонаправленное соединение). Аналогичен Классу 1, но является исключительно однонаправленным. Используется для широковещательных и многоадресных рассылок через соответствующий сервер. N_port может затребовать соединения Класса 6 на одно или несколько устройств (портов). Установленное соединение существует, пока инициатор в явном виде не закроет его. Разработан для доставки трафика реального времени (например, аудио и видео).
  • Смешанный класс — Intermix — является подвидом класса 1. Позволяет передавать кадры класса 2 или 3 в те моменты, когда приложение первого класса не занимает канал, причём кадры классов 2 или 3 необязательно должны быть адресованы тому же получателю, что и у класса 1. Был специально разработан с целью частично устранить блокировку ткани передачами первого класса.
  • Класс F — используется коммутаторами для управления и передачи служебной информации, передача идёт без установления соединения по Inter Switch Links (ISL) между E_ports.

[править] Сферы применения Fiber Channel

Fibre Channel широко применяется для создания Сетей Хранения Данных (Storage Area Networks). Благодаря высокой скорости передачи данных, малой задержке и расширяемости практически не имеет аналогов в этой области.

[править] См. также

[править] Ссылки

  1. Fibre Channel Industry Association
  2. Technical Committee T11
  3. Jon Tate, Brian Cartwright, John Cronin, Christian Dapprich. IBM SAN Survival Guide. IBM RedBooks, SG24-6143-01, August 2003



aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -