Введение
«Облачные вычисления» - перспективное направление современной информатики, являющееся альтернативой локально используемому аппаратному и программному обеспечению. Идеология «облачных вычислений» заключается в переносе организации вычислений и обработки данных с локальных компьютерных центров на серверы Интернета [1]. Для реализации быстрого доступа к информации, хранящейся в «облаках», необходимо использование специальных сетевых устройств, позволяющих передавать данные на большие расстояния. Кроме того, подобные средства должны обеспечивать широкую полосу передачи данных на скорости не менее 100 Гбит/с, высокую плотность портов, низкое энергопотребление, а также сочетать требуемую масштабируемость с невысокой стоимостью сетевых устройств [2, 3].
Стандарт 100 Гбит ETHERNET
Разрабатываемые быстродействующие 100-Гбит сетевые инфраструктуры для технологии «облачных вычислений» должны соответствовать требованиям стандарта IEEE Std 802.3ba 100 Gigabit Ethernet [4]. Стандарт регламентирует использование параллельной и последовательной передачи данных на скорости 100 Гбит/с, а также обеспечение максимальной скорости передачи данных 25 Гбит/с на одной несущей частоте. Кроме того, в соответствии со стандартом 100GbE, сетевые устройства для реализации «облачных вычислений» должны:
поддерживать скорость передачи данных 100 Гбит/с на логическом МАС-уровне управления доступом к среде передачи данных;
поддерживать только полно дуплексные режимы Ethernet уровня MAC;
сохранять формат кадра Ethernet 802.3 уровня.MAC;
обеспечивать для интерфейса между уровнями МАС и PHY (физическим) поддержку значения ВЕR (коэффициента битовых ошибок) не хуже 10-2;
|
- сохранять минимальный и максимальный размеры кадров стандарта IEEE 802.3;
обеспечивать совместимость с оптическими транспортными сетями OTN.
Логический МАС-уровснь управления доступом к среде передачи данных (подуровень канального, второго уровня модели OSI), согласно требованиям; стандарта 100GЬЕ, является подуровнем протокола и реализует адресацию и механизмы управления доступом к каналам передачи данных. Это позволяет нескольким терминалам или точкам: доступа общаться между собой в многоточечной сети. МАС обеспечивает гибкость при взаимодействии разнотипных устройств (PHY и DTE) при передаче потока данных со скоростью 100 Гбит/с. Логический уровень реализует преобразование пакетов верхних уровней в кадры Ethernet: сегментирует, добавляет к заголовку преамбулу, МАС-адрес и контрольную последовательность PCS.
Физический уровень стандарта 100GЬЕ состоит из трёх основных (PCS - Physical Coding Sublayer, PMA - Physical Medium Attachment, PMD - Physical Medium Dependent Sublayer) и двух необязательных подуровней [5, 6]. С уровня MAC данные попадают на подуровень согласования (RS - Reconciliation Sublayer), где последовательный поток данных преобразуется в параллельный 64-битный (64В) и через интерфейс CGMП (100 Gigabit Media Independent Interface - независимый от среды передачи 100 Гбит логический интерфейс) попадает на подуровень кодирования PCS.
Физический подуровень PCS осуществляет кодирование потока данных, поступающих в канал передачи, таким образом, чтобы они могли быть различимы приёмником и восстановлены в исходной форме. На физическом подуровне PCS часто применяет схему кодирования (скремблирования) 64В/66В, в которой 66-битное слово переадресуется карусельным образом в индивидуальные параллельные потоки, т.е. 64-битный поток данных (64В) преобразуется в 66-битный поток (66В) и разделяется на несколько потоков с меньшей скоростью.
|
При кодировании к заголовку получения 64-битных данных добавляются дополнительные два бита синхронизации с целью формирования 66-битного блока - «01» синхронизации заголовков пакетов данных и «10» для управления пакетами данных. При распространении 66-битных блоков полос PCS, начиная с нулевой полосы, используется циклический механизм.
Согласно стандарту 100GbE, на физическом подуровне PCS определяются до двадцати полос передачи данных по двум направлениям (прямом - ТX и обратном - RX). Так, поток со скоростью 100 Гбит/с расширяется до скорости 103,125 Гбит/с и распределяется на двадцать полос PCS по 5,15625 Гбит/с с поддержкой их интерфейсов. Для 100 Гбит Ethernet выходных битовых потоков может быть 10 или 4, с возможным их перемешиванием по определённому закону и распределением по выходным потокам.
Поскольку последовательный поток битов распределяется по индивидуальным параллельным потокам, для восстановления исходного потока в приёмнике, между параллельными потоками должна сохраняться временная синхронизация. Учитывая скорости и расстояния передачи данных, предусмотренные стандартом 100GbE, физические рассогласования потоков неизбежны. Для компенсации временных сдвигов (перекосов) используются специальные маркеры.
Маркер выравнивания имеет заголовок, контроль синхронизации («10») и представляет собой DC-сбалансированный поток, состоящий из восьми байтов {М0, Ml, М2, BIP3, М4, М5, Мб, BIP7}, причём М4, М5, М6 являются побайтно обратными байтам М0, Ml и М2. Каждая полоса для подуровня PCS передачи данных (0, 1…19) имеет единственное байтное кодирование М0, Ml, М2, позволяющее получить и расшифровать номер соответствующей полосы подуровня PCS.
|
10DGBASE-R, 100GBASE-LR4, 100GBASE-SR10
Маркер выравнивания указателей вставляет 66-битный блок после кодирования 64В/66В одновременно в каждый поток данных через 16384 кодовых 66-битных блока и удаляется в приёмнике данных при декодировании 64В/66В. Измеряя временной сдвиг поступления кодовых блоков, приёмник способен восстановить синхронность индивидуальных параллельных потоков. Передатчик, чтобы вставить маркер выравнивания, удаляет пробелы между пакетами IPC (lnter-packet gaps). С прекращением получения данных подуровнем PCS удаляются маркеры выравнивания.
Наличие периодического маркера выравнивания позволяет приёмнику нормально функционировать при значительных временных рассогласованиях сигналов между параллельными каналами передачи данных. Максимально допустимое значение перекоса в PCS составляет 180 нс для стандарта l00GbE.
После кодирования и синхронизации на подуровне PCS данные поступают на физический подуровень РМА, выполняющий функции тестирования передачи данных - генерацию тестовых последовательностей, формирование петли обратной связи данных для тестирования и т.п.
К особой группе протоколов, используемых для реализации интерфейсов физического уровня, основанной на методе блочного кодирования данных кодом 64В/66В и использующей спецификацию РМА, относится протокол 100GBASE-R физического подуровня PCS.
Протокол 100GBASE-R осуществляет кодирование / декодирование данных, полученных от интерфейса (или переданных на интерфейс) CGMII в виде кода в последовательной форме, а также распределение данных на РМА по нескольким параллельным потокам. Протокол 100GBASE-R подуровня PCS, функционально обеспечивая отображение пакетов кодом 64В/66В, распределяет пакеты на двадцать последовательных потоков PCS. Логический интерфейс CGMII обеспечивает соединение подуровня MAC с физическим уровнем PHY. В сетевых устройствах могут применяться различные варианты физического уровня РНY в виде модулей, стандартизированных в 802.3Ьа в различных MSA (Multi-source agreements) и использующих оптическое волокно (см. таблицу 1).
Таблица 1. Основные параметры ПЛИС Virtex-7 Н580Т
Количество секций Slices | 90 700 |
Число логических ячеек Logic Cells | 580 480 |
Общее число блоков CLB | 725 600 |
Объём блочной памяти Block RAM, Кбит | 33 840 |
Объём распределённой памяти, Кбит | |
Block RAM/FIFO w/ECC | |
Количество модулей CMTs (1MMCM+1PPL) | |
Максимум несимметричных I/O | |
Максимум дифф. пар I/O | |
Число аппаратных секций DSP48E1 | |
Число аппаратных модулей PCI Express Interface | |
Число приёмопередатчиков GTH 13,1 Гбит/с | |
Число приёмопередатчиков GTZ 28,05 Гбит/с | |
Объём конфигурационной памяти, Мбит | 183,6 |
В качестве примера на рисунке 3 приведены три варианта архитектуры 100GbE для протоколов 100GBASE-R, 100GBASE-LR4 и 100GBASE-SR10 систем передачи сигналов. Схемы содержат: CPPI - параллелънъгй физический интерфейс, сервисный интерфейс CAUI (gigabit per second Attachment Unit Interface) - модуль 100 Гбит/с интерфейса подключения, а также логический интерфейс CGMII.