Следует отметить, что, в отличие от потока, канал передачи данных представляет собой физический компонент. Поток позволяет двум узловым системам связываться друг с другом. Установившие сеанс связи системы могут поддерживать различное количество виртуальных потоков, для чего в спецификации InfiniBand описан соответствующий алгоритм. Установившие связь конечные точки называются парой очереди (queue pair). Пары очереди имеют связанные с ними буферы приема и отправки. Каждый виртуальный поток (virtual lane – VL) предоставляет собственное управление потоком на кредитной основе. Пакеты управления обеспечивают перечисление устройств, управления подсетями и устойчивость к ошибкам.
Технология InfiniBand поддерживает одновременную передачу данных без коллизий[20]. Для обеспечения надежной передачи данных технология InfiniBand использует сквозное управление потоком и не одну, а две проверки целостности по алгоритму CRC. Управление потоком выполняется с помощью выделения буферов на принимающем узле и передачи количества буферов отправляющему узлу. Этим значением указывается количество буферов данных, которые можно отправить без подтверждения приема. Два значения CRC подсчитываются и передаются вместе с данными. Получающая сторона также подсчитывает эти значения. Значение CRC размером 32 бит создается для связи «точка-точка». В то же время данные могут передаваться через промежуточные узлы. Между промежуточными узлами или между промежуточным и конечным узлами используются значения размером 16 бит.
В архитектуре InfiniBand базовой единицей передачи является сообщение (message). Сообщение может быть отправлено или принято с помощью операции RDMA, операции отправки или приема или с помощью операции групповой отправки. Операция удаленного прямого доступа к памяти (Remote Direct Memory Access – RDMA) обеспечивает непосредственный обмен сообщениями между памятью узлов, минуя прерывания операционной системы и не требуя использования служб. Технологией InfiniBand определено шесть режимов передачи данных.
Надежное соединение, при котором аппаратное обеспечение отвечает за генерацию и проверку номеров последовательности пакетов, реализуя тем самым надежность соединения; кроме того, аппаратное обеспечение отвечает за обнаружение дублированных и потерянных пакетов, а также восстановление после ошибок.
Ненадежное соединение.
Надежная дейтаграмма.
Ненадежная дейтаграмма.
Соединение групповой отправки (реализация необязательна).
Пакетная передача (реализация необязательна).
Сообщение InfiniBand может состоять из одного или нескольких пактов. Пакеты могут иметь размер до 4096 байт. На виртуальных потоках (VL) возможно чередование пакетов. Маршрутизация проводится на уровне пакетов, причем пакеты, маршрутизируемые между подсетями, содержат глобальный заголовок, благодаря которому и реализуется маршрутизация.
Кроме того, в архитектуре InfiniBand определен сетевой уровень, обеспечивающий маршрутизацию между различными подсетями. Подсети позволяют локализовать передачу данных в пределах определенной подсети; например широковещательные пакеты и пакеты групповой отправки не выходят за рамки подсети. Подсети предоставляют функции, аналогичные возможностям виртуальной LAN (VLAN), и могут использоваться для обеспечения безопасности. Для каждого устройства в подсети используется 16-разрядный идентификатор, уникальный в пределах подсети. Каждый маршрутизируемый пакет содержит адреса IPv6 исходного узла и узла назначения.
Компания Microsoft в свое время указала, что в неопределенном будущем семейство операционных систем Microsoft Windows будет поддерживать технологию InfiniBand. В третьем квартале 2002 года Microsoft и другие лидеры индустрии информационных технологий сообщили о пересмотре своих планов подцержки технологии InfiniBand; в частности, Microsoft сообщила о перераспределении ресурсов, направленных ранее на поддержку технологии InfiniBand, на другие области, включая IP Storage поверх Gigabit Ethernet. Таким образом, данный раздел может показаться неполным, поскольку не существует конкретной реализации InfiniBand от Microsoft, которую можно было бы описать в полной мере.
8.3 Сложности практической реализации
Администраторы и руководители отделов информационных технологий должны обратить внимание на то, ч; го поддержка протокола iSCSI не обеспечена в базовой версии Windows Server 2003. Таким образом, все системы на базе iSCSI, которые будут использоваться в Windows до выхода официальной поддержки, должны полностью проектироваться производителем. Заранее невозможно сказать, насколько успешно такие системы будут взаимодействовать с реализацией протокола iSCSI в Windows.
20
Хотя InfiniBand не поддерживает задержки случайной передачи и задержки коллизий Ethernet, эта технология предоставляет механизмы управления потоком и дает возможность задерживать передачу данных в случае необходимости. Существенная задержка в получении/отправке данных и медленная передача данных будут обрабатываться приложением одинаково.