Серверные сетевые карты – происхождение видов

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

Еще 10—15 лет тому назад никто не видел принципиального различия между сетевыми адаптерами, устанавливаемыми в серверы и в рабочие станции. Разве что в шинной архитектуре: в наиболее мощных серверах обычно использовалась шина EISA. Однако со временем изменилась роль сетей: из средства разделения ресурсов они превращаются в основной элемент корпоративных информационных систем. Дисковые подсистемы рабочих станций становятся настолько емкими, что проблема дефицита дисковой памяти теряет остроту. Парадигма разделения дискового пространства сменяется парадигмой разделения вычислительных ресурсов, и в соответствии с ней файл-серверы вытесняются серверами приложений. Мощность многопроцессорных серверов приложений с оперативной памятью, объем которой достигает нескольких гигабайт, становится сравнимой с мощностью суперкомпьютеров, и на первый план постепенно выходят сетевые карты, которые для эффективной работы разделяемых бизнес-приложений должны обеспечивать надежное подсоединение к сети и высокую пропускную способность. В ответ на возникшую проблему индустрия начинает разрабатывать отдельный класс сетевых карт с расширенными функциями, специально предназначенных для установки в высокопроизводительные серверы.

Требования к серверным сетевым картам

Безусловно, требования к сетевым картам зависят от того, какие функции выполняют серверы, в которые они устанавливаются. С этой точки зрения последние могут быть отнесены к трем категориям.

Серверы-десктопы. В секторе SOHO в сетях, обычно редко превышающих 10 станций, зачастую в качестве сервера выступает обычный десктоп. Как правило, он используется как файл- и принт-сервер, на нем могут функционировать небольшая база данных, бухгалтерские программы, храниться архивы. Такие серверы не применяются для бизнес-критических приложений, и с запросами пользователей вполне справляется традиционная PCI-карта 10/100 Ethernet.

LAN-серверы. Серверы этого класса устанавливаются в достаточно большие локальные сети, которые могут насчитывать 200—300 рабочих станций. Они выполняют намного более широкий спектр функций, в число которых могут входить службы разделения файлов и печати, межсерверные коммуникации, электронная почта, сервисы Internet/intranet. Требования к сетевым картам для таких серверов более высокие, так как они уже могут влиять на производительность последних.

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

В итоге, к серверным сетевым картам предъявляются следующие требования. Они должны:

  • поддерживать многопользовательскую многозадачную операционную среду и быть оптимизированными в отношении выполнения транзакций "сеть Ethernet—шина PCI";
  • поддерживать дуплексный режим передачи и обеспечивать высокую пропускную способность посредством эффективного управления трафиком, носящим непредсказуемый характер;
  • предоставлять высокую плотность портов, поддерживать многообразие физических сред передачи и автоматическую конфигурацию;
  • обладать высоким уровнем надежности, быть устойчивыми к сбоям и предоставлять широкие возможности для управления и мониторинга своей работы.

Эти требования должны обеспечиваться тремя структурными уровнями карты, а именно, микросхемным, конструктивным и программным.

Для повышения производительности карт как можно больше логики стараются перенести на уровень микросхем. Если раньше они (карты), как правило, преобразовывали данные в сигналы для передачи в соответствующей физической среде, то сейчас выполняют многие функции, бывшие прерогативой процессора. Являясь задатчиками шины, они управляют шинными транзакциями, буферизируют трафик, поддерживают несколько стандартов Ethernet, обрабатывают сетевые протоколы, такие, как TCP/IP, UDP/IP. На чипы возлагается поддержка полудуплексного и дуплексного режимов передачи и отработка автосогласования для технологий 10/100 Ethernet. Аппаратно выполняются также повторная передача пакетов, управление коллизиями и т. п. Большинство современных серверных сетевых карт поддерживают стандарт PCI 2.0 (64-разрядная шина, частота 66 MHz).

Перейдем к конструктивному уровню. Один из методов повышения производительности сервера заключается в том, чтобы подсоединить к нему как можно больше сегментов сети. Этого можно достичь двумя способами: либо установить несколько сетевых карт, либо увеличить число портов на картах. Второй способ более привлекателен, поскольку количество слотов расширения и прерываний ограничено. Так как серверы обычно работают в режиме non-stop, желательно, чтобы сетевые карты поддерживали режим оперативной замены и способность перенаправлять трафик при выходе из строя одной из карт.

Встроенное программное обеспечение приближает серверные сетевые карты к специализированным коммуникационным процессорам. Оно может улучшить производительность системы в целом, значительно расширить функции управления и мониторинга, обеспечить конфигурационную гибкость. Возможность группировки портов в один логический канал повышает не только пропускную способность канала, но и его надежность. Группировка портов может сочетаться с балансировкой нагрузки. Поддержка стандарта SNMP наряду со сбором критических данных о функционировании сетевой карты предоставляет мощный инструмент для управления сетевой инфраструктурой. По-видимому, в будущем сетевые карты будут играть заметную роль в управлении трафиком и реализации политик.

Функциональные характеристики

Очень часто функциональность сервера оценивается быстродействием процессора и соотношением цена/производительность. Однако поскольку серверы сегодня стали ключевым элементом практически везде, где используются IT-технологии, то, пожалуй, при их выборе нужно следовать словам "мы за ценой не постоим". В ситуации, когда простой или даже недостаточная производительность сервера выливается в огромные потери, нижеследующие критерии при выборе сетевых карт становятся более важными, чем их цена.

Масштабируемость. Здесь следует учитывать два аспекта. Первый — это увеличение количества подключенных рабочих станций с обеспечением каждому пользователю достаточной полосы пропускания. Этого можно достичь, используя многопортовые карты или/и путем установки дополнительных карт в сервер. Второй аспект — увеличение производительности сети в целом. Наиболее простым способом здесь является переход на высокоскоростные сетевые технологии.

Управляемость. С увеличением масштаба сетей на первый план выходит их управляемость. С помощью эффективного администрирования можно повысить утилизацию ресурсов, добиться приемлемого качества сервисов, избежать простоев. И существенный вклад здесь могут внести сетевые карты. Они должны обеспечивать возможность удаленного доступа с использованием стандартных протоколов, иметь и предоставлять данные из MIB (Management Information Base) для осуществления мониторинга и управления.

Доступность. Эта характеристика определяется как процент времени, в течение которого система или компонент предоставляет предусмотренный уровень обслуживания. Высокая степень доступности — это ключевая характеристика серверной сетевой карты. Стандартным методом обеспечения постоянной доступности является установка избыточных карт, находящихся в режиме "горячего резерва", а также использование технологий группировки каналов и балансировки нагрузки.

Производительность. Производительность сетевых карт традиционно определяется такими характеристиками, как пропускная способность и степень утилизации процессора. Однако для серверных сетевых карт, работающих в многопользовательской среде, оценить производительность сложнее ввиду их расширенной функциональности. К примеру, группировка портов создает эффект повышенной производительности. Трудно также определить степень утилизации шины PCI.

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