Сравнивая стеки протоколов FCIP и iFCP (см. рис. 8.7), можно заметить, что FCIP реализует все уровни протокола Fibre Channel, a iFCP – только уровень 4. Таким образом, протокол FCIP ориентирован на технологию Fibre Channel.
Протокол iFCP «полагается» на TCP/IP для обеспечения надежной доставки данных. Это означает, что сеть IP на более низких уровнях может не предоставлять надежной доставки. Спецификация протокола iFCP допускает повышенные задержки в работе сети, что помогает работать в сетях с низкой надежностью и небольшими задержками, которые выглядят, как сети с большими задержками и высокой надежностью. Это реализуется за счет механизма надежной последовательной доставки пакетов протокола TCP. Так как iFCP задействует несколько соединений TCP/IP, он более эффективен и устойчив к заторам в сети по сравнению с использованием одного соединения TCP/IP для передачи всех данных между устройствами.
Устройства шлюзов iFCP предоставляют возможности регистрации устройств хранения на сервере имен iSNS (дополнительная информация приводится в следующем разделе).
8.1.6 Служба iSNS
Служба iSNS (Internet Storage Name Service) предоставляет методы регистрации и обнаружения устройств хранения. Поддержка протокола iSNS может быть реализована на серверах и устройствах хранения. Служба iSNS предоставляет единую модель, которая может применяться к устройствам SCSI и Fibre Channel. Устройства Fibre Channel регистрируются службой iSNS с помощью шлюза iFCP, в то время как устройства iSCSI регистрируются самой службой iSNS. Инициаторы обнаруживают серверы iSNS одним из двух способов.
С помощью статической информации.
С помощью протокола SLP (Service Location Protocol).
Служба iSNS предоставляет функции зонирования благодаря концепции доменов обнаружения, что позволяет администратору указывать группы устройств. Когда член группы запрашивает сервер iSNS, в ответном сообщении указываются устройства только из той же группы. Кроме того,. серверы iSNS предоставляет услуги уведомления, например когда к сети подключается новое целевое устройство.
Серверы iSNS играют важную роль в обеспечении безопасности хранилищ. Домены обнаружения помогают усилить политику безопасности. Другими словами, серверы iSNS хранят и навязывают политику управления доступом (в которой описано, какие инициаторы могут получать доступ к определенным устройствам). Кроме того, серверы iSNS играют определенную роль в обеспечении регистрации устройства с помощью сертификата с открытым ключом, после чего сервер может предоставлять полученную информацию о сертификате другим устройствам.
Компания Microsoft активно занимается продвижением протокола iSNS, однако еще не сообщила о планах выпуска сервера iSNS, клиента iSNS или обоих продуктов iSNS.
8.1.7 Методы эффективного внедрения TCP/IP
С развитием технологии IP Storage необходимость эффективной реализации протокола TCP/IP стала еще более актуальной. Анализ показал, что обработка пакетов TCP/IP и даже подсчет их контрольных сумм может существенно загрузить центральный процессор. Кроме того, данные копируются неоднократно, что еще больше увеличивает накладные расходы по их обработке.
Например, протокол TCP должен поддерживать последовательную доставку (которая не предоставляется IP), поэтому пакеты, пришедшие раньше своей очереди, должны быть помещены на временное хранение. Это означает, что данные копируются во временный буфер и позднее копируются из него в пользовательский буфер. Требования к аппаратному обеспечению только в случае поддержки последовательной доставки могут быть весьма существенными. Линия связи WAN со скоростью передачи 1 Гбит/с может потребовать 16 Мбайт оперативной памяти для хранения пакетов, пришедших раньше своей очереди, и для восстановления последовательности пакетов. При быстродействии 10 Гбит/с необходимый объем возрастает до 125 Мбайт. Другими словами, необходимо сократить количество копирований данных в буфер, что можно сделать с помощью более эффективного программного или аппаратного обеспечения.
Технологии оптимизации TCP, разработанные в последнее время, рассчитаны на более активное применение аппаратных компонентов сетевого адаптера. С увеличением потребности в быстродействии TCP/IP (особенно учитывая развитие технологии IP Storage) оптимизация TCP стала крайне важной. Далее вкратце описаны некоторою из предлагаемых технологий.
Перемещение всего стека протокола TCP/IP на уровень аппаратного обеспечения. Хотя в аспекте производительности это наилучший вариант, он наиболее амбициозен, поскольку требует решения некоторых сложных проблем, например координации различных стеков протокола TCP/IP,. работающих на двух сетевых адаптерах одного сервера под управлением Windows NT..
Поддержка аппаратным обеспечением перемещения данных и генерации контрольных сумм, причем управлением соединениями будет заниматься программное обеспечение.
Перенос на уровень аппаратного обеспечения стандартной обработки; при этом обработка исключений осуществляется программно.
Перенос на уровень аппаратного обеспечения обработки данных IPSec и даже некоторых данных iSCSI.
В Windows 2000 б, ыла представлена версия 5.0 спецификации NDIS (Network Driver Interface Specification), которая содержит поддержку оптимизации TCP/IP. В частности, в Windows 2000 поддерживаются описанные ниже функции.
Перенос вычисления контрольных сумм TCP/IP на уровень аппаратного обеспечения как для отправки (генерация контрольной суммы), так и для приема (проверка контрольной суммы).
Перенос сегментации TCP на уровень аппаратного обеспечения. При этом, если объем данных превышает максимальную единицу передачи (MTU), аппаратное обеспечение будет сегментировать данные в несколько пакетов.
Перенос на уровень аппаратного обеспечения реализации IPSec. Стандарт IPSec (для протоколов IPv4 и IPv6) обеспечивает целостность данных и аутентификацию на уровне пакетов. Протокол IPSec может использоваться в двух режимах: транспортном, который обеспечивает целостность данных и аутентификацию между пользовательскими приложениями, и туннельном, обеспечивающем безопасность обмена данными между двумя маршрутизаторами. На уровень аппаратного обеспечения могут быть перенесены оба режима.
Быстрая передача пакетов, когда код маршрутизации Windows 2000 передает пакет с одного сетевого порта на другой, минуя копирование пакета в память узла.
Новый стандарт (и архитектура) InfiniBand предназначен для соединения коммутируемых связных архитектур между узлом и хранилищем или сетевыми периферийными устройствами. Разработкой спецификации InfiniBand занимается ассоциация IBTA (InfiniBand Trade Association). Эта ассоциация была сформирована после слияния двух конкурирующих спецификаций: Future I/O, продвигавшейся усилиями компании Intel, и Next Generation I/O, разрабатываемой компаниями IBM, HP и Compaq.
Архитектура InfiniBand предлагает несколько модификаций, в частности замену шины ввода-вывода (например, PCI) сетью коммутируемой связной архитектуры. Последовательная коммутируемая связная архитектура обладает определенными преимуществами по сравнению с обычной шиной ввода- вывода. Наиболее заметное преимущество состоит в поддержке большего количества устройств на значительно большем расстоянии с использованием на порядок меньшего количества электрических проводников. Кроме того, связная архитектура поддерживает несколько одновременных сеансов передачи данных и обеспечивает устойчивость к ошибкам. Прежде чем подробно обсуждать архитектуру InfiniBand, рассмотрим недостатки шины PCI.
Хотя шина PCI обладает определенными позитивными свойствами, например в свое время она заменила сразу несколько конкурирующих стандартов (ISA, EISA, MCA), в свете быстрого развития центральных процессоров, памяти и технологий периферийных устройств ее ограничения становятся все более явными. Приведем некоторые из них.
Хотя шина PCI обладала достаточным быстродействием в момент своего появления, ее пропускная способность более не соответствует современным требованиям: шина FSB центрального процессора имеет пропускную способность 1066 Мбит/с, а для устройств Gigabit Ethernet и высокоуровневых устройств хранения (SCSI 3) шина PCI станет «бутылочным горлышком», ограничивающим эффективность работы.
Шина PCI имеет определенные проблемы в управлении вообще и в обнаружении ошибок в частности. Одна некорректно работающая плата PCI может привести к неисправности всей системы, в то время как обнаружить поврежденную плату крайне сложно.
Существуют физические ограничения на длину шины и скорость передачи данных, кроме того ограничено количество шин. При использовании наибольшей скорости передачи данных к шине можно подключить только одно периферийное устройство.
Обратите внимание: хотя технология InfiniBand изначально позиционировалась как замена шины PCI, с появлением технологии 3GIO роль InfiniBand в качестве PCI нового поколения заметно снизилась.