Fibre Channel

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Fibre Channel (FC) (англ. fibre channel) — сімейство протоколів для високошвидкісного передавання даних. Стандартизацією протоколів займається Технічний комітет T11, що входить до складу Міжнародного комітету із стандартів у сфері ІТ (InterNational Committee for Information Technology Standards — INCITS), акредитованого Американським національним інститутом стандартів (ANSI). Початкове застосування FC в області суперкомп'ютерів згодом практично повністю перейшло в сферу мереж зберігання даних, де FC використовується як стандартний спосіб підключення до систем зберігання даних рівня підприємства.

Fibre Channel Protocol (FCP) транспортний протокол (як TCP в IP-мережах), що інкапсулює протокол SCSI по мережах Fibre Channel. Є основою побудови мереж зберігання даних.

Етимологія[ред. | ред. код]

Коли технологія тільки була розроблена, вона підтримувала лише оптоволокно (fiber); підтримку мідних кабелів було додано пізніше. Незважаючи на це, комітет розробки вирішив зберегти ім’я, але перейти на британський правопис fibre в назві стандарту. Американське написання fiber стосується лише оптичних кабелів.[1] Мережу Fibre Channel можна прокладати як по мідних кабелях, так і по оптоволокні.

Історія[ред. | ред. код]

Історія Fibre Channel почалася в 1985 році, а в 1994 році був затверджений ANSI як стандарт, що спрощував інтерфейс HIPPI, для якого застосовувався масивний 50-парний кабель з громіздкими коннекторами. Спочатку інтерфейс Fibre Channel повинен був підвищити дальність і спростити підключення ліній передачі, а не збільшити швидкість.

Версії Fibre Channel
Назва Пропускна здатність (Gbps) Продуктивність (MBps) Рік
1GFC 1.0625 100 1997
2GFC 2.125 200 2001
4GFC 4.25 400 2005
8GFC 8.5 800 2008
10GFC Послідовний 10.51875 1000 2004
10GFC Паралельний 12.75
16GFC 14.025 3200 2011
20GFC 21.04 2000 2008
64GFC 28.05 6400 2014 (анонсований)

Топології[ред. | ред. код]

Топології FC визначають взаємне підімкнення пристроїв, а саме передавачів (трансміттерів) і приймачів (ресіверів) пристроїв. Існує три типи топології FC:

  • Точка — точка (point-to-point). Пристрої сполучені безпосередньо трансміттер одного пристрою сполучений з ресівером іншого і навпаки. Всі відправлені одним пристроєм кадри призначені для другого пристрою.
  • Керована петля (arbitrated loop) Пристрої об'єднані в петлю трансміттер кожного пристрою сполучений з ресівером наступного. Перед тим, як петля зможе служити для передачі даних, пристрої домовляються про адреси. Для передачі даних по петлі пристрій повинен оволодіти «естафетою» (token). Додавання пристрою в петлю приводить до припинення передачі даних і збору заново петлі. Для побудови керованої петлі використовують концентратори, які здатні розмикати або замикати петлю при додаванні нового пристрою або виході пристрою з петлі.
  • Комутована зв'язна архітектура (switched fabric) Заснована на застосуванні комутаторів. Дозволяє підключати більшу кількість пристроїв, ніж в керованій петлі, при цьому додавання нових пристроїв не впливає на передачу даних між вже підключеними пристроями. Оскільки на основі комутаторів можна будувати складні мережі, на комутаторах підтримуються розподілені служби управління мережею (fabric services), передачі даних, що відповідають за маршрути, реєстрацію в мережі і привласнення мережевих адрес і інші.

Іноді під топологією FC помилково мають на увазі топологію мережі зберігання даних, тобто, взаємне підключення устаткування інфраструктури і крайових пристроїв.

Рівні[ред. | ред. код]

Fibre Channel складається з п'яти рівнів:

  • FC-0 Фізичний. Описує середовище передачі, трансивери, коннектори і типи використовуваних кабелів. Включає визначення електричних і оптичних характеристик, швидкостей передачі даних і інших фізичних компонентів. Підтримується як оптичне, так і електричне середовище (вита пара, коаксіальний або твінаксіальний кабелі, а також багатомодове або одномодове волокно), із швидкістю передачі даних від 133 мегабіт/с до 10 гігабит/с на відстані до 50 кілометрів.
  • FC-1 Кодування. Описує процес 8b/10b Кодування (кожні 8 біт даних кодуються в 10-бітовий символ (Transmission Character)), спеціальні символи і контроль помилок. Для 10GFC використовується кодування 64b/66b, внаслідок цього 10GFC несумісний з 1/2/4/8GFC.
  • FC-2 Кадрування і сигналізація. Описує сигнальні протоколи. На цьому рівні відбувається визначення слів, розбиття потоку даних на кадри. Визначає правила передачі даних між двома портами, класи служб).
  • FC-3 Загальних для вузла служб. Визначає базові і розширені служби для транспортного рівня, а також такі особливості, як: розщеплювання потоку даних (striping) (Можливість передачі потоку даних через декілька з'єднань (маршрутів), відображення безлічі портів на один пристрій.
  • FC-4 Відображення протоколів. Надає можливість інкапсуляції інших протоколів (SCSI, АТМ, IP, HIPPI , AV, VI, IBM SBCCS і багато інших.)

Логічні типи портів[ред. | ред. код]

Топологія Fibre Channel і логічні типи портів

Залежно від підтримуваної топології і типу пристрою порти розділяються на декілька типів:

  • Порти вузлів:
    • N_Port (Node port), порт пристрою з підтримкою топології FC-P2P («точка-точка») або FC-SW (з комутатором).
    • NL_Port (Node Loop port), порт пристрою з підтримкою топології FC-AL (arbitrated loop - керована петля).
  • Порти комутатора/маршрутизатора (тільки для топології FC-SW):
    • F_Port (Fabric port), порт «тканини». Використовується для підключення портів типу N_Port до комутатора. Не підтримує топологію петлі.
    • FL_Port (Fabric Loop port), порт «тканини» з підтримкою петлі. Використовується для підключення портів типу NL_Port до комутатора.
    • E_Port (Expansion port), порт розширення. Використовується для з'єднання комутаторів. Може бути сполучений тільки з портом типу E_Port.
    • EX_port порт для з'єднання FC-маршрутизатора і FC-коммутатора. З боку комутатора він виглядає як звичайний E_port, а з боку маршрутизатора це EX_port.
    • TE_port (Trunking Expansion port (E_port)) внесений до Fibre Channel компанією CISCO, зараз прийнятий як стандарт. Це розширений ISL або EISL. TE_port надає крім стандартних можливостей E_port маршрутизацію множинних VSANs (Virtual SANs). Це реалізовано застосуванням нестандартного кадру Fibre Channel (vsan тегування).
  • Загальний випадок:
    • L_Port (Loop port), будь-який порт пристрою з підтримкою топології «Петля» - NL_port або FL_port.
    • G_port (Generic port), порт з автовизначенням. Автоматично може визначатися як порт типу E_Port, N_Port, NL_Port.

Варіанти оптичного середовища передачі даних[ред. | ред. код]

Коннектори Fibre channel LC (зліва) і SC (справа)
Тип середовища Швидкість (Mbyte/s) Передавач Модифікація Відстань
Одномодове волокно 400 1300 нм Довгохвильовий лазер 400-SM-LL-I 2 м - 2 км
100 1550 нм Довгохвильовий лазер 100-SM-LL-V 2 м - >50 км
1300 нм Довгохвильовий лазер 100-SM-LL-I 2 м - 2 км
200 1550 нм Довгохвильовий 200-SM-LL-V 2 м - >50 км
1300 нм Довгохвильовий лазер 200-SM-LL-L 2 м - 10 км
1300 нм Довгохвильовий 200-SM-LL-I 2 м - 2 км
Багатомодове волокно (50µм) 400 850 nm Короткохвильовий лазер 400-M5-SN-I 0.5 м - 150 м
200 200-M5-SN-I 0.5 м - 300 м
100 100-M6-SN-I 0.5 м - 300 м
100-M6-SL-I 2 м - 175 м
Host bus adapter.

Інфраструктура Fibre Channel[ред. | ред. код]

Устаткування для інфраструктури Fibre Channel підрозділяється на декілька класів.

  • Директори — багатопортові модульні комутатори з високим ступенем доступності.
  • Виділені комутатори (standalone switches) — комутатори з фіксованою кількістю портів.
  • Комутатори зі стеком (stackable switches) — комутатори, що мають додаткові високопродуктивні порти для зв'язку незалежних шасі між собою.
  • Вбудовувані комутатори (embedded switches) — комутатори, що вбудовуються в блейд-корзину (blade enclosure), де є розділення портів за функцією (порти, призначені для підключення серверів-лез, не можуть бути використані для міжкомутаторних з'єднань).
  • Концентратори (hubs) — пристрої, що забезпечують зв'язок в керованій петлі (Arbitrated Loop).
  • Концентратори-комутатори (loop-switches) — комутатори, що забезпечують зв'язок в керованій петлі (Arbitrated Loop). Концентратори і концентратори-комутатори практично не використовуються для підключення крайових пристроїв; використовуються для підключення дисків до контроллерів в дискових масивах.

Для збільшення дальності з'єднання використовують додаткове трансмісійне устаткування, таке як мультиплексори на основі WDM і ін. Основні виробники устаткування для інфраструктури Fibre Channel: Brocade, Cisco, QLogic, Emulex.

Логічні елементи потоку даних[ред. | ред. код]

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

Впорядковані набори[ред. | ред. код]

Чотирибайтні слова (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)

Адресація[ред. | ред. код]

Унікальна адреса пристрою[ред. | ред. код]

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

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

Класи служб[ред. | ред. код]

Fibre Channel підтримує наступні класи служб (Classes of service, COS). Стандарт FC-PH визначає Класи 1-3, Клас 4 визначений в стандарті FC-PH-2 (у FC-FS-2 встановлений застарілим), Клас 5 запропонований для ізохронного режиму, але недостатньо стандартизований, Клас 6 визначений в стандарті FC-PH-3, Клас F — в стандартах FC-SW і FC-SW2.

  • Клас 1 — Acknowledged Connection Service (виділені канали з підтвердженням). Між двома пристроями через комутатор або фабрику встановлюється виділене з'єднання. Приймаючий пристрій відправляє на передавальний пристрій підтвердження прийому кожного кадру. З'єднання залишається відкритим до тих пір, поки передача даних не буде завершена. Час встановлення з'єднання становить декілька мікросекунд. Канал, що надається, зазвичай дуплексний, хоча з потреби можлива організація сімплексного (наприклад, якщо необхідно одночасно передавати дані одному вузлу і приймати від іншого). Пристроям доступна вся його пропускна спроможність. Використовується крізне управління потоком. Гарантується висока швидкість обміну і правильний порядок прийому кадрів. Ідеально підходить для додатків, що працюють з великими об'ємами даних, — наприклад, системи моделювання або обробки відео. Якщо пропускна спроможність не використовується повністю даним застосуванням, вона все одно недоступна для інших застосувань, поки з'єднання не буде закрито, оскільки спроби з'єднання з таким портом відкидатимуться з видачею сигналу «зайнято». Тому, в стандарті рекомендується закривати з'єднання даних для передачі. В цьому випадку доступна максимальна пропускна спроможність. Основний недолік - неможливість роботи між собою портів з різною швидкістю роботи. Стандартізованниє в FC-PH-2 однонаправлена передача, буферизація класу 1 і Camp on, починаючи з FC-FS, вважаються застарілими.
  • Клас 2 — Acknowledged Connectionless Service (передачі без організації з'єднання з підтвердженням). Кожен кадр комутується незалежно від останніх, кінцевий порт може одночасно передавати і приймати дані від декількох вузлів, при цьому канал між двома взаємодіють не виділяється (по суті, відбувається мультиплексування комутатором трафіку). Кожен кадр підтверджується приймаючим пристроєм. Кадри можуть доставлятися по різних маршрутах, тобто впорядкована доставка кадрів в даному класі не гарантована, впорядковування послідовності кадрів здійснюється на рівні FC-2. Утилізація доступної смуги пропускання нижча, ніж в Класі 1, оскільки включаються механізми регулювання потоку на покадровій основі.
  • Клас 3 — Unacknowledged Connectionless Service, іноді називається Datagram Connectionless Service (передачі без організації з'єднання і без підтвердження). Аналогічний класу 2 за винятком того, що немає підтвердження доставки. Пропускна спроможність у відсутність помилок, через відсутність підтверджень, трохи (від 0% в більшості випадків до 3% в гіршому для класу 2 випадку) збільшується в порівнянні з класом 2, але гарантій доставки немає, впорядкована доставка кадрів не гарантована. Впорядковування послідовності кадрів здійснюється на рівні FC-2, а запит на повторну передачу втрачених кадрів здійснюється протоколами верхніх рівнів. Відповідно, у разі помилок передачі, а також якщо кадр відхиляється або ресурс зайнятий, то кадр втрачається, і підключаються протоколи верхніх рівнів. Пропускна спроможність падає, оскільки у протоколів верхніх рівнів час реакції і тайм-аути істотно вищі, ніж на рівні FC-2. При цьому, для протоколів реального часу, затримка з повтором може бути такій, що передавана інформація вже застаріла. Використовується для організації багатоадресних і широкомовних розсилок, застосовується також в системах масової пам'яті. Найпоширеніший клас комутованих FC-сетей, оскільки найпростіший в реалізації і оскільки найпоширеніші протоколи верхніх рівнів SCSI і IP працюють саме в цьому класі.
  • Клас 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.

Сфери застосування Fibre Channel[ред. | ред. код]

SAN-Світч Qlogic з підключеними до нього FC (оптичними) конекторами.

Fibre Channel широко застосовується для створення мереж зберігання даних Завдяки високій швидкості передачі даних, малій затримці і розширюваності практично не має аналогів в цій області. Проте, останніми роками, область його застосування поступово переміщається в сегмент високопродуктивних систем і рішень, а бюджетний сегмент з успіхом освоюється недорогими рішеннями SCSI на базі Gigabit Ethernet і 10G Ethernet. Намітилася також тенденція до перенесення транспортного рівня протоколу FC в той же Gigabit Ethernet і 10G Ethernet за допомогою протоколів FCoE і FCIP.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

Посилання[ред. | ред. код]

  1. Fibre Channel Industry Association [Архівовано 26 грудня 2010 у Wayback Machine.]
  2. Technical Committee T11 [Архівовано 28 серпня 2008 у Wayback Machine.]
  3. Jon Tate, Brian Cartwright, John Cronin, Christian Dapprich. IBM SAN Survival Guide. IBM RedBooks, SG24-6143-01, August 2003 [Архівовано 9 червня 2011 у Wayback Machine.]