Протокол iSCSI устанавливает сеансы связи между инициатором и целевым устройством. Один или несколько сеансов протокола TCP могут использоваться одним или несколькими сеансами iSCSI. После установки сеанса две стороны (инициатор и целевое устройство) обмениваются такими параметрами, как безопасность, размер буфера и возможность отправки неза- прошенных данных. Сеанс iSCSI может закрываться стандартным образом: посредством завершения регистрации или в связи с возникновением ошибки. Независимо от количества использованных сессий TCP, протокол iSCSI гарантирует, что команда SCSI и ответы на нее будут доставлены в правильном порядке. Обратите внимание: протокол TCP гарантирует последовательную доставку для определенного сеанса TCP, но не обеспечивает синхронизации передаваемых данных между различными сеансами TCP. Таким образом, синхронизации сеансов TCP возлагается на протокол iSCSI. Можно перечислить ряд требований к протоколу iSCSI.
Разные команды SCSI могут передаваться через различные сеансы TCP.
Все данные и параметры, соответствующие определенной команде, должны передаваться в рамках того же сеанса TCP, по которому передавалась команда SCSI.
В протоколе iSCSI определена концепция тега-инициатора. Все ответы будут иметь соответствующий тег инициатора, который высылается вместе с первоначальной командой. Инициатор должен обеспечить уникальность тегов и исключить возможность повторного использования тега, пока инициатор не получит все ответы на соответствующую команду. Тег должен быть уникальным в рамках инициатора (операционная. система \yindows NT является многозадачной, и инициатор может работать для нескольких процессов и приложений).
Протоколом iSCSI определена концепция нумерации команд, которая обеспечивает последовательную доставку команд через несколько сеансов TCP.
Кроме того, в протоколе iSCSI определен механизм CRC типа «точка- точка». Проверка CRC на втором уровне (например, на уровне Gigabit Ethernet) или на третьем уровне (контрольные суммы TCP/IP) может оказаться ненадежной, особенно если на пути передачи пакетов размещены другие устройства IP, например трансляторы сетевых адресов, маршрутизаторы и т.д. Поставщики подсистем хранения всегда с большой осторожностью относились к методам проверки целостности данных.
Протокол iSCSI имеет свои недостатки. При его использовании возникают проблемы, связанные с безопасностью, управлением сетевыми «заторами» и качеством обслуживания. Но эти вопросы в основном касаются работы сетей на базе протоколов TCP/IP, проблемы которых уже хорошо изучены.
8.1.3 Реализация протокола iSCSI в Windows NT
Поддержка протокола iSCSI в Windows NT активно внедряется компанией Microsoft. Несмотря на это, Windows Server 2003 не обеспечена поддержкой iSCSI по умолчанию.
На рис. 8.4 показана архитектура реализации протокола iSCSI в Windows NT.
Инициатор iSCSI реализован в виде драйвера мини-порта для модели SCSIPort или Storport.
Динамически подключаемая библиотека обнаружения iSCSI отслеживает все изменения и выступает в роли единственного хранилища для всех номеров LUN, обнаруженных тем или иным способом, включая использование клиентов iSNS или уведомление портов. Библиотека обнаружения предоставляет API обнаружения новых LUN для приложений управления и, если это необходимо, методы, с помощью которых приложение управления может дать указание библиотеке обнаружения зарегистрировать новый LUN.

Рис. 8.4.Архитектура iSCSI
Рассмотрим, каковы планы компании Microsoft относительно протокола iSCSI.
Основное внимание уделяется реализации протокола iSCSI на платформе Windows Server 2003, однако рассматривается и поддержка протокола iSCSI в Windows 2000. Только объявление о выпуске финальной версии продукта можно считать достоверным источником информации о доступности этого продукта на рынке.
Основное внимание уделяется реализации протокола iSCSI на платформе Windows Server 2003. Тем не менее код поддержки iSCSI для Windows 2000 и Windows ХР также был предложен компанией Microsoft через несколько месяцев после предоставления кода поддержки iSCSI в Windows Server 2003.
Компания Microsoft предоставила код клиента и сервера службы iSNS.
В качестве механизма защиты данных и обеспечения безопасности Microsoft предполагает использование протокола IPSec.
Основное внимание уделяется реализации инициатора iSCSI, и на данный момент нет конкретных планов по реализации функциональности точки назначения iSCSI на платформе Windows NT.
Читать дальше