Протокол Ethernet существует очень давно, однако, в дата-центрах (ЦОД) его сложно использовать, так как параметры его работы не соответствуют стандартам качества и надёжности передачи данных для дата-центров.

FCoE (Fibre Channel over Ethernet) это транспортный протокол, разработанный ещё в 2009 г., и описанный в стандарте T11 (комитет в составе International Committee for Information Technology Standards, INCITS, отвечающий за Fibre Channel). FCoE переносит фреймы Fibre Channel по сети Ethernet, инкапсулируя кадры FC в jumbo-фреймы Ethernet.

Рисунок 1. Инкапсуляция трафика FC внутри Ethernet при помощи FCoE (источник: Cisco)

Рисунок 1. Инкапсуляция трафика FC внутри Ethernet при помощи FCoE (источник: Cisco)

В компьютерных сетях, как известно, существуют два основных вида транспортных протоколов: FC и Ethernet. Правда, есть ещё IB (Infiniband), но он не так распространён, как первые два, вследствие высокой стоимости и сложности реализации. Да и применяется IB, главным образом, в высокопроизводительных компьютерных кластерах.

Рисунок 2. Архитектура основных протоколов компьютерных сетей (источник: Cisco)

Рисунок 2. Архитектура основных протоколов компьютерных сетей (источник: Cisco)

Идея создания FCoE заключалась в консолидировании операций ввода-вывода, что позволило бы безопасно сосуществовать различным типам трафика в одном «проводе», уменьшить номенклатуру устройств и упростить кабельную структуру, уменьшить число адаптеров на хост, а также снизить энергопотребление. FCoE может обеспечить плавную миграцию от FC, как интерфейса, к Ethernet (при этом сохраняя FC, как протокол). Таким образом, расширять сеть можно будет при помощи недорогих коммутаторов Ethernet, а не дорогих FC.

FCoE активно поддерживается такими производителями, как NetApp, VMware, Cisco и другими.

Основные отличия FCoE от iSCSI

Основное отличие FCoE от iSCSI в том, что FCoE не использует уровень TCP/IP, и поэтому имеет ряд отличий, таких как:

  • Возможность передачи фрейма паузы «pause frame», для установки коротких пауз при передаче фреймов с полезной нагрузкой;
  • Использование паузы с приоритетом «priority pause», которая позволяет устранить нежелательные перегрузки в передаче фреймов, выборочно задерживая фреймы определённых потоков;
  • Отсутствие таймаутов для повторной передачи ТСР-пакетов (TCP retries);
  • Отсутствие возможности IP-маршрутизации;
  • Отсутствие перегрузки при общей рассылке («broadcast storms»), поскольку не используется протокол ARP.

В FCoE уровень IP не используется, то есть протокол FCoE – изначально не маршрутизируемый. Однако, возможность маршрутизации его фреймов всё-таки есть, например, при помощи таких протоколов, как FCIP.

Основные условия использования FCoE

Для FCoE необходима сеть 10GbE без потерь пакетов с возможностью обработки запросов «pause frame» и сервиса PFC («per priority pause flow control») для обработки пакетов различных классов трафика с приоритетом после паузы.

Также требуется поддержка расширения Ethernet DCE (Data Center Ethernet), включающего в себя классы сервиса (classes of service), лучшую регулировку потока (congestion control), и улучшенные возможности управления. FCoE также требует поддержку т.н. «джумбо-фреймов» (Jumbo Frame), поскольку пакет FC имеет размер 2112 байт (что больше стандартного пакета IP) и не может быть разделён при передаче.

Как FCoE используется

В настоящее время только Cisco, NetApp и VMware поддерживают полное решение по консолидации, виртуализации и автоматизации дата-центров при помощи комплексного решения FCoE, включающего инициаторы FCoE (например, конвергентные сетевые адаптеры) и целевые системы хранения FCoE.

FCoE представляет собой ключевой протокол для программно-конфигурируемой сети коммутации распределённой фабрики дата-центров SDDC (Software-defined Distributed Data Center). При масштабном использовании, FCoE экономит значительные средства за счёт сокращения сетевой инфраструктуры. FCoE также позволяет сократить рабочие площади и потребности в электропитании и охлаждении. Капитальные затраты на оборудование и операционные расходы дата-центов значительно снижаются за счёт совмещения трафика внутри сети Ethernet и трафика системы хранения SAN (Storage Area Network) на одном и том же оборудовании.

Рисунок 3. Консолидация трафика в сети FCoE (источник: Cisco).

Различия между FC и FCoE

Таблица 1. Различия между протоколами Fiber Channel (FC) и Fiber Channel over Ethernet (FCOE).

Параметр

FC

FCOE

Определение

Fiber Channel (FC) – высокоскоростной сетевой протокол, работающий на скоростях

1, 2, 4, 8, 16, 32 и 128 Гбит/с, используемый для подключения СХД к серверам. Используется в основном в сетевых СХД (SAN) в дата-центрах.

Fiber Channel over Ethernet (FCoE) – сетевая технология инкапсуляции фреймов Fiber Channel во фреймы Ethernet. Это позволяет FCoE использовать 10-гигабитные сети Ethernet и в тоже время поддерживать в них протокол FC.

Принцип работы

Fiber Channel использует механизм заполнения потока, называемый Buffer Credits (также Buffer-to-Buffer Credits).

FCoE использует механизм устранения потерь пакетов Priority Flow Control, где коммутатор-приёмник регулирует поток данных канала FCoE.

Надёжность

Требует высокой надёжности канала связи. Ни один кадр не может быть потерян, и все кары должны приходить в определённом порядке.

Не требует такой высокой надёжности канала, как FC.

Кабельная система

Использует различные методы и физически разделять кабели в дата-центре.

Только один метод кабелирования в дата-центре, что упрощает и удешевляет инфраструктуру.

Возможность маршрутизации

FC можно маршуртизировать

Изначально FCoE не может быть маршрутизирован. Для маршрутизации требуется протокол FCIP.

Стоимость

Высокая стоимость по причине выделенного оборудования для FC и поддержки трафика

FC (SAN).

Низкая стоимость, поскольку одна и та же инфраструктура используется как для связи между серверами, так и между сервером и СХД.

Скорость

До 128 Гбит/с

До 40 Гбит/с

Дальность связи

До 10 км (OSI SM 9 нм) для скорости 8 Гбит/с

До 13 км

Применение

В настоящее время многие FC-коммутаторы поддерживают также и протокол FCoE, например серии Cisco Nexus и Cisco MDS. FCoE поддерживается также в коммутаторах Brocade. Однако несмотря на то, что FCoE более выгоден экономически, он проигрывает в производительности FC. И кроме того, FCoE несколько усложняет администрирование. Поэтому пока что, внедрение FCoE в отрасли нельзя назвать успешным, как это предполагалось его вендорами. Во всяком случае, протокола FC он не заменил.

Слухи о кончине FC немного преувеличены

В начале 2000-х годов протокол iSCSI работал на огромной, по тем временам, скорости в 1Гбит/с, что было на порядок больше, чем Ethernet, максимальная скорость которого в то время составляла 100 Мбит/с.

В то время скорость Fibre Channel составляла от 1-2 Гбит/с. Протоколу iSCSI тогда прочилась роль «убийцы Fibre Channel» в области СХД SAN (Storage Area Network). В обоснование приводились доводы, типа Fibre Channel дорог, Fibre Channel сложен, Fibre Channel требует выделенной инфраструктуры, Fibre Channel требует особой квалификации, в то время как IP/Ethernet – недорог, широко используется, администрирование IP-сетей очень простое, не говоря уже о том, что практически все организации имели свою сеть Ethernet.

Однако, на деле Fibre Channel в 2000-х годах продолжал оставаться преобладающим протоколом в сетях СХД, поскольку по надёжности и производительности он продолжал лидировать. iSCSI, конечно, сыграл роль альтернативы FC в некоторых применениях, где производительность и надёжность не ставились во главу угла.

В 2008 году случилось некое «дежавю» – появился протокол Fibre Channel over Ethernet (FCoE), и вновь зазвучали голоса о том, что Fibre Channel скоро умрёт, в то время как отрасль сетевого оборудования двигалась в направлении 10-гигабитного Ethernet. А Fibre Channel тогда мог обеспечить «только» 8 Гбит/с. И снова зазвучали те же аргументы: Fibre Channel дорог, Fibre Channel сложен, в то время как IP/Ethernet доступен, распространён, и все знают, как его администрировать.

В это время снова возобновились атаки на FC со стороны iSCSI, получившем боевое подкрепление со стороны Ethernet-технологий, таких как сети 10 Гбит/с и бриджинг в дата-центрах DCB (Data Center Bridging). Однако, и после этого Fibre Channel продолжал оставаться доминирующей технологией, поскольку его параметры, особенно по части доступности и производительности, продолжали оставаться вне конкуренции.

FCoE нашёл свою нишу там, где он был наиболее применим, а именно на границе сети Edge, поскольку именно там требовалась консолидация распределённых интерфейсов ввода-вывода для СХД и сети. iSCSI применялся там, где наличие недорогих каналов связи значило больше, чем производительность и надёжность. К сегодняшнему дню FCoE продолжает использоваться во многих серверных архитектурах, поскольку он снижает энергопотребление, экономит место в шкафах, но никто, даже такие сетевые гиганты как Cisco, не являются сторонниками концепции «единой большой сети», основанной исключительно на Ethernet, как основы всего и вся.

В последнее вновь возобновились атаки на Fibre Channel в связи с появлением одной из наиболее многообещающих технологий последних десятилетий: памяти класса СХД: Storage-Class Memory (SCM), который вызвал переход от SCSI к NVMe. Появились СХД, выполненные полностью на твердотельных накопителях «All-Flash Arrays» (AFA).

Это вызвало переосмысление архитектура массивов хранения, а также и роли традиционных протоколов СХД, в частности, «старого доброго» SCSI, который оказался неспособен полностью реализовать весь потенциал AFA в части производительности.

От SCSI, который был разработан более 40 лет назад, отрасль переходит к NVMe (Non-Volatile Memory Express), который полностью реализует преимущества AFA во всех типах компьютерных сред – от мобильных сетей до дата-центров.

В 2016 году организация NVM Express (nvmexpress.org) опубликовала спецификацию NVMe over Fabrics (NVMe-oF), которая детализирует использование NVMe для всех технологий «storage fabric» - термина, которых пришёл на смену традиционному СХД (storage).

Термин fabric плохо поддаётся переводу на русский язык. Исходное значение – «ткань». Технически «storage fabric» означает тесное переплетение (взаимосоедение) распределённых СХД в небольших дата-центрах и серверах на границе сети, где могут работать локальные приложения, делаться предварительная аналитика и обрабатываться до 80% информации, получаемой от сенсоров и датчиков Интернета Вещей IoT (Internet of Things).

Одной из ключевых характеристик, которыми должна обладать идеальная «ткань-fabric» — это надёжный механизм контроля потока, который гарантирует доставку на аппаратной уровне без необходимости «сбрасывать» пакеты или фреймы из-за перегрузки сетевых узлов. Такая «ткань» должна обладать задержкой передачи пакета не боле 10 мкс и масштабироваться до масштабов в десятки тысяч узлов и устройств этой «ткани».

В NVMe-oF обсуждается два разных типа технологий, которые способны транспортировать протокол NVMe по сети: основанные на технологии удалённом прямом доступе к памяти Remote Direct Memory Access (RDMA), и другие, в частности, Infiniband.

Среди технологий первого типа, основанных Ethernet, на можно выделить RDMA over Converged Ethernet (ROCE) и второй тип – Internet Wide Area RDMA Protocol (iWARP).

Адепты альтернативных п отношению к NVMe подходов, основанных на Ethernet, развернули массивную маркетинговую кампанию, нацеленную на то, создать образ RoCE, как единственно возможному варианту соединения устройств NVMe поверх fabric. Они снова провозглашают, что Fibre Channel – мёртв.

Как это ни странно, но их месседжи снова те же: Fibre Channel дорог, Fibre Channel сложен, Fibre Channel требует отдельной инфраструктуры, в то время как IP/Ethernet – «наше всё».

Однако, одно из самых больших преимуществ технологии «NVMe поверх Fibre Channel fabric» состоит в том, что она может развёртываться на существующих устройствах, в то время как SCSI и другие IP/Ethernet-технологии, требуют предварительного изучения многих вопросов, тестирования и модернизации, а это требует дополнительных инвестиций.

С другой стороны, запуск новых устройств NVMe вместе с существующими устройствами хранения на SCSI, позволяет легко производить миграцию данных от массивов на SCSI на вновь развёртываемые массивы NVMe, для быстрого анализа больших данных на основе машинного обучения ML (Machine Learning) и искусственного интеллекта AI (Artificial Intelligence), а также расширения существующих систем резервирования на SAN на новые устройства на основе NVMe.

Сегодня Fibre Channel пока не «мёртв», как не раз утверждалось, но и показывает свою хорошую применимость с новыми технологиями, такими как NVMe.

В свою очередь, уже звучат голоса, что «мёртв» как раз FCoE. Утверждается также, что и FC также постепенно выходит из употребления, и причины опять всё те же: сложность управления и администрирования. В среде админов бытует шутка: «Если случайно отсоединить кабель Ethernet и в течение 10 секунд вставить его обратно, то можно об этом никому не сообщать, и никто не узнает. Если отсоединить кабель FC хотя бы на 2 секунды, то можно искать новую работу».

Есть, однако, одно место, где FCoE продолжает использоваться, и пока нет признаков того, что он там «затухает». Это блейд-серверы Cisco серии В. Однако, это сугубо нишевое применение, островное применение FCoE, не слишком заметное снаружи. Однако, о том, что там используется именно FCoE, а не традиционный FC, знают только специализированные инженеры, которые обслуживают эти серверы.

В целом, можно сказать, что как FC, так и FCoE, являются уже довольно традиционными технологиями, использование которых будет постепенно снижаться. Поскольку сетевые технологии очень традиционны, то неудивительно, что протоколы, разработанные десятки лет назад, могут использоваться ещё долгое время.