Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003
Шрифт:
В разделах 4.6.3.1–4.6.3.4 все эти компоненты рассматриваются более подробно.
Упорядоченные множества – это структуры последовательной передачи данных объемом 4 байта, которые представляют собой специальные символы или сигналы линии связи. Далее приведены примеры подобных множеств.
Разделители кадров SOF (Start Of Frame) и EOF (End Of Frame), которые являются аналогами пакетов SOF и EOF в сетях Ethernet. В отличие от Ethernet, в Fibre Channel определено несколько вариантов SOF и EOF, поскольку уровнем FC-1
Два базовых сигнала для указания состояния порта.
Idle – указание, что порт готов для передачи или приема данных.
Receiver Ready – указание, что буфер интерфейса (устройства взаимодействия) готов для приема данных.
Базовая последовательность. Простое упорядоченное множество, которое регулярно передается для указания особого статуса порта. К особым статусам относятся:
Not Operational (NOS) – используется только в сетях с топологией «точка-точка» или в связной архитектуре (но не в кольце с разделением доступа) для указания на отказ в работе линии связи или появление определенной ошибки;
Offline (OLS) – передается во время инициализации порта или при получении базового статуса NOS; таким образом, в ответ на NOS порт отправляет ответ OLS;
Link Reset (LR) – используется для указания на необходимость повторной инициализации линии связи;
Link Reset Response (LS) – используется для указания, что данные LR получены и обработаны.
Как пакет IP является базовым элементом протокола Internet (IP), так и кадр представляет собой основной структурный элемент интерфейса Fibre Channel. Существует три типа кадров.
1. Кадры управления линией связи (link control frames), используемые для отправки команды управления линией связи.
Рис. 4.5. Заголовок кадра Fibre Channel
Кадры данных линии связи (link data frames), используемые для отправки данных, необходимых для управления линией связи.
Кадры данных устройства (device data frames), которые содержат данные для протоколов более высокого уровня, например данные, считанные с жесткого диска.
На рис. 4.5 показан заголовок кадра Fibre Channel. Кадр проектировался для передачи 2048 байт данных и необйзательного заголовка размером 64 байт. Подобный размер кадра позволяет передавать за один раз большой объем данных с минимальными накладными расходами (около 1,5%). Однако при этом другому узлу придется ждать, пока завершится передача большого кадра, что подразумевает увеличение задержек в передаче. Сравним это с протоколом ATM (Asynchronous Transfer Mode), где кадр имеет размер 53 байт и накладные расходы протокола составляют около 10%. Это позволяет снизить задержки, но время передачи определенного объема данных возрастает.
Каждый кадр начинается и заканчивается специальным ограничителем, как и в других сетевых протоколах. Это SOF и EOF соответственно. Каждый кадр имеет заголовок, выполняющий несколько функций.
дии данных. Еще одна задача состоит в переносе информации для управления линией связи, включая управление самой передачей.
Другие поля заголовка кадра Fibre Channel рассматриваются ниже.
Поле Destination_Id используется для маршрутизации кадра. В топологиях «точка-точка» и кольцо с разделением доступа маршрутизация может проходить обычным образом, что не относится к топологии коммутируемой связной архитектуры. Поле Source_Id предназначено для передачи сообщений об ошибках и для предотвращения циклов данных при маршрутизации.
Поля R_CTL и Туре используются для сортировки различных кадров уровня FC-4 по их прибытию в точку назначения. Таким образом, эти поля указывают, содержит ли прибывший кадр данные интерфейса SCSI, протокола IP или другие данные. Значения поля Туре описываются в табл. 4.3.
Поле R_CTL используется для указания содержимого кадра. Кадр может содержать данные или информацию для управления линией связи; в последнем случае кадры могут быть запрошенными и незапрошенными.
Таблица 4.3. Значения поля Туре в кадрах Fibre Channel
Поле F_CTL используется для описания информации кадра, например первой или последней последовательности.
Поле DF_CTL указывает на присутствие или отсутствие необязательных заголовков.
Поля SEQ_Id и SEQ_CNT уникально идентифицируют счетчик последовательности обмена (см. раздел 4.6.3.3).
Поле 0X_Id (идентификатор обмена источника) используется для связывания кадра с определенным обменом исходного порта.
Доле RX_Id (идентификатор обмена ответчика) используется для связывания кадра с определенным обменом отвечающего порта.
Поле Relative Offset идентифицирует относительное смещение первого байта основного содержания кадра от базового адреса.
Последовательность представляет собой набор кадров, которые передаются из одной точки в другую. Для исправления возможных ошибок каждый кадр содержит уникальный счетчик последовательности. Исправление ошибок осуществляется протоколом более высокого уровня, обычно на уровне FC-4. Обратите внимание, что все кадры в последовательности передаются в одном направлении (а не в обоих одновременно). На рис. 4.4 показано, как кадры, последовательности и обмены взаимодействуют друг с другом.
Несколько последовательностей составляют обмен (exchange). Обмены представляют собой последовательности двусторонних направлений; т.е. в обмен входят последовательности данных, передающихся в разных направлениях, хотя каждая последовательность передается только в одном направлении. При каждом обмене только одна последовательность может быть активна в текущий момент времени. Но, так как одновременно могут быть активны несколько обменов, различные последовательности из этих обменов также могут быть активны одновременно.