Добавить в закладки

AddThis Social Bookmark Button

Последние комментарии

Авторизация



  
Протоколы
Обзор протоколов передачи данных

  • iSCSI   ( 2 Материалы )

  • DWDM   ( 3 Материалы )

  • WAN   ( 7 Материалы )

  • FCIP   ( 4 Материалы )

iSCSI



Обзор технологии iSCSI
iSCSI
Обзор технологии iSCSI
iSCSI (Internet Small Computer System Interface), это стандарт, основанный на IP и служит для связи системами хранения данных, разработан Internet Engineering Task Force. Передавая SCSI команды через сети IP, iSCSI может осуществлять блочную передачу данных через локальные сети и интернет.
Архитектура iSCSI схожа с архитектурой клиент-сервер. В iSCSI клиентом является инициатор соединения, например сервер, который делает I/O запрос к серверу (дисковому массиву). iSCSI работает через сети IP, что позволяет значительно увеличить расстояние передачи данных. Также iSCSI может работать через маршрутизаторы, коммутаторы для обеспечения как синхронной, так и асинхронной передачи данных.
В данном разделе будут рассмотрены следующие темы:

Обнаружение устройств iSCSI
Для открытия сессии iSCSI, инициатор должен знать IP адрес, номер порта TCP и iSCSI имя таргета. Преимущество механизма обнаружения таргетов iSCSI, заключается в том, что требует небольших накладных расходов в небольших топологиях и масштабируется до топологий промышленных предприятий.

Команда SendTargets
Инициатор логируется на iSCSI таргет, с целью обнаружения устройств, и запрашивает список WWUI адресов доступных устройств, посылая различные команды SendTargets. Все iSCSI таргеты, должны поддерживать команду SendTargets.

Протокол iSNS
Протокол iSNS разработан для облегчения автоматического обнаружения, управления, конфигурирования устройств iSCSI и Fibre Channel устройств в сетях TCP/IP. iSNS предоставляет возможность использования сервисов, совместимых с Fibre Channel, по обнаружению и управлению устройствами в IP сетях, и по функциональности приближает IP сети к сетям SAN. iSNS также облегчает интеграцию сетей IP и Fibre Channel networks, при помощи возможности эмулирования сервисов Fibre Channel fabric, сервисов управления устройствами iSCSI и Fibre Channel. Тем самым iSNS работает в любых сетях хранения данных, содержащих устройства iSCSI и Fibre Channel.

Сервис SLP
Таргеты iSCSI регистрируются в SLP, набором сервисных URL. Один адрес URL соответствует таргету, к которому можно получить доступ. Инициатор обнаруживает таргеты при помощи запросов к сервису SLP. Таргеты, которые не поддерживают SLP, либо находятся под контролем сервиса управления, могут быть зарегистрированы промежуточным сервисом.

Список
Списки позволяют проверять целостность незашифрованных данных, после того как целостность данных была проверена на уровне протокола передачи данных и охватывает весь путь коммуникации, включая все элементы, которые могут изменить PDU сетевого уровня, таких как маршрутизаторы, коммутаторы и прокси.
Дополнительный заголовок и списки помогают защитить целостность заголовка и данных. Списки размещаются после заголовка и данных PDU. Данные списки также используются этапе логина. Разделение заголовка списков и данных списков, используется при маршрутизации iSCSI, когда изменяется только заголовок передаваемого пакета.

Восстановление ошибок iSCSI
iSCSI поддерживает три уровня восстановления ошибок:
◆ Уровень 0 подразумевает восстановление на уровне сессии.
◆ Уровень 1, использует уровень 0. Восстанавливает ошибки списков.
◆ Уровень 2, использует уровень 1. Восстанавливает соединение.
Самым основным видом восстановления, является восстановление на уровне сессии. Во время восстановления сессии, в которой обнаружен любой род ошибок, прерывается вся сессия iSCSI. Все TCP соединения между инициатором и таргетом закрываются, и все SCSI соединения закрываются со статусом ошибки. Далее осуществляется создание новой сессии iSCSI и создание новых соединений TCP.
Первый уровень восстановления ошибок стартует, когда драйвер iSCSI устройства обнаруживает ошибку в списке и пакет должен быть отброшен. Команда, данные которой были потеряны, завершится с соответствующим кодом ошибки.
Восстановление соединения стартует, когда разрывается соединение TCP. При обнаружении обрыва TCP соединения, iSCSI драйвер завершить все команды, которые отправлялись после команды, на которой произошел сбой или попытаться отправить SCSI команды через другое TCP соединение. Если необходимо, драйвер iSCSI может установить новое соединение TCP и может информировать таргет о пересылке SCSI команд через другое TCP соединение.

Безопасность iSCSI
Исторически сложилось, что в обычных системах хранения данных шифрование не применяется. Обычно дисковые массивы напрямую подключаются к узлу, либо через Storage Area Glossary Link Network (SAN) и полностью отделены от внешних сетей. Передача данных SCSI через сети IP, требует конфиденциальности передаваемых данных. iSCSI должен поддерживать возможность предотвращение активных атак (таких как замена идентификатора, вставка сообщений, их изменение) и пассивных атак (таких, как перехват пакетов, с целью анализа данных передающихся через сеть). Хотя технически это возможно, сеть iSCSI не должна быть настроена без обеспечения шифрования данных. Без шифрования пакетов, iSCSI может использоваться только в конкретных случаях, например, когда все оборудование установлено в одном помещении и угрозы безопасности нет.

Механизм шифрования
В шифровании данных iSCSI участвуют инициатор, таргет и конечные точки IP соединения. В ситуации, когда одно соединение iSCSI использую множество таргетов и инициаторов, требуется использовать конечные точки. Для обеспечения такой iSCSI конфигурации, используются два независимых механизма обеспечения безопасности:
◆ Входящие соединения требуют аутентификации на уровне соединения iSCSI (осуществляется путем обмена iSCSI пакетов с логинами PDU.)
◆ Защита пакетов (целостности, аутентификации и конфиденциальности данных) происходит с использованием IPsec на уровне IP.
Эти два механизма безопасности, дополняют друг друга. Аутентификация входящих соединений инициатора и таргета iSCSI, а также IPsec обеспечивает шифрование передаваемых данных.

Методы аутентификации
Могут использоваться следующие методы аутентификации:

CHAP (Challenge Handshake Glossary Link Authentication Protocol)
Аутентификация Challenge-Handshake Authentication Protocol (CHAP) периодически идентифицирует участников соединения, используя тройную аутентификацию. CHAP используется во время установки соединения и может быть повторена в любое время, после установки соединения. CHAP обеспечивает защиту от атак воспроизведения в совокупности с помощью постепенного изменения идентификатора и использования переменных промежутков времени между запросами. Повторное использование запросов на аутентификацию ограничивает время на атаку. Аутентификатор контролирует частоту и периодичность запросов. Этот метод авторизации зависит от "секрета" известного только передающим данные узлам. Данный "секрет" не передается через соединение.

SRP (Secure Remote Password)
Этот механизм предназначен для защиты соединений, с использованием пароля, установленного пользователем, и используется при устранении проблем безопасности, которые традиционно ассоциируются с многоразовыми паролями. Данная система также обеспечивает механизм обмена ключами в процессе аутентификации, позволяя обеспечить требуемые уровни защиты (защиту конфиденциальности и/или защиту целостности) во время сессии обмена данными. Для данного механизма защиты не требуется серверов для хранения ключей и сертификатов, а также ключи доступов не хранятся долгое время.

KRB5 (Kerberos V5)
Kerberos определяет основные средства проверки (такие, как пользователя рабочей станции или сервере сети) в незащищенной сети. Это достигается, не полагаясь на аутентификацию операционной системы, либо на списки доверительных IP адресов узлов. Kerberos выполняет аутентификацию при помощи сторонней службы аутентификации, с использованием шифрования с общим ключом.

SPKM1 & 2 (Simple Public Key GSS-API Mechanisim)
Этот механизм обеспечивает аутентификацию, создание ключей, целостность данных и конфиденциальность данных в режиме он-лайн распределения публичных ключей. SPKM может быть использован в качестве замены любого приложения, которое использует сервисы, делающие запросы к GSS-API (например, любое приложение, которое уже использует Kerberos GSS-API для обеспечения безопасности).
 
 
Структура протокола iSCSI
iSCSI
Internet Small Computer System Interface (iSCSI) основан на TCP/IP, сделан для осуществления и управления соединениями системами хранения данных, клиентами, хостами, работающими на протоколе IP. Storage Area Glossary Link Network (SAN) делает возможным, использование протокола SCSI в сетевой инфраструктуре, для высокоскоростной передачи данных между многими элементами сети хранения данных.
 
Архитектура SCSI основана на модели сервер-клиент, которая в основном используется в условиях, когда устройства очень близки друг к другу и соединенные с помощью SCSI шины. Инкапсуляция и надежная доставка объемных данных транзакций между инициаторами и таргетами через сети TCP/IP – это основное предназначение протокола iSCSI. iSCSI обеспечивает механизм передачи SCSI команд, через сети IP и работает через TCP.
 
На сегодняшний день к SAN (Storage Area Network) предъявляют несколько основных требований:
1) Объединение систем хранения данных,
2) Бэкап данных
3) Кластеризация серверов
4) Репликация данных
5) Возможность быстрого восстановления системы после сбоя.
 
В дополнение, SAN может быть географически разнесен при помощи LANs и WANs с использованием разных технологий. Все операции должны проводиться в условиях безопасности и с требованиями QoS. iSCSI предназначен для выполнения указанных выше функций, в TCP/IP сети и безопасно при надлежащем QoS.
 
iSCSI содержит четыре основных компонента:
iSCSI Address and Naming Conventions: iSCSI узел является идентификатором SCSI устройства (в нутрии сети) доступного по сети. Каждый iSCSI узел имеет уникальное iSCSI имя (до 255 бит) которая формируется в соответствии с правилами, принятыми для интернет-узлов.
iSCSI Session Management: iSCSI сессия состоит из Логин фазы (Login Phase) и функции Полной фазы (Full Feature Phase), которые осуществляются с помощью специальных команд.
iSCSI Error Handling: Из-за высокой вероятности ошибок в данных в некоторых сетях IP, особенно WAN, где iSCSI может работать, протокол предоставляет большие возможности для обработки ошибок.
iSCSI Security: Т.к. iSCSI может быть использован в сетях, где к данным могут обратиться незаконно, протокол предусматривает различные меры безопасности.
 
Структура протокола
iSCSI PDU структура:
8 bits
16 bits
24 bits
32 bits
Basic Header Structure (BHS)
Additional Header Structure 1 (AHS) (опционально)
……….
Additional Header Structure n (AHS) (опционально)
Header Digest (опционально)
Data Segment (опционально)
Data Digest (опционально)
 
 
iSCSI BHS формат:
 
8 bits
16 bits
24 bits
32 bits
IОпкод
F
Опкод – специальные поля
Полная AHS длинна
Data Segment length
Опкод -specific fields or Logic Unit Number (LUN) (8 bytes)
Initiator Task Tag (4 bytes)
Опкод -specific fields (28 bytes)
 
 
  • I – для запроса PDUs, I бит выставляется в 1 – это означает немедленную доставку пакета.
  • Опкод - Опкод указывает на тип iSCSI PDU инкапсулируемого заголовка. Опкоды разделяют на две категории: Опкод инициатора и Опкод таргета. Опкод инициатора, содержащийся в PDUs отправленный инициатором (PDUs запрос). Опкод таргета, содержащийся PDUs отправленный инициатором (PDUs ответ).
  • Final (F) бит – Если он выставлен в 1, означает окончание PDU фрагмента.
  • Опкод-Специальные поля – Эти поля имеют различные значения для различных Опкод типов.
  • TotalAHSLength – Полная длинна AHS заголовков сегментов в 4-бит words в том числе многословные, если таковые присутствуют.
  • DataSegmentLength – Длинна сегмента полезных данных в битах (исключая многословные). DataSegmentLength должен быть 0 если PDU не несет данных.
  • LUN – этот Опкод указывает на Logical Unit. The Logical Unit Number (LUN). Если Опкод не связан с Logical Unit этой области, то он либо игнорируется, либо может быть использованы в специальном Опкод.
  • Initiator Task Tag - Инициатором присваивается Целевой тег для каждого iSCSI запроса. Пока запрос существует, Tag должен нести цель сессии в целом