Аппаратные интерфейсы ПК

         

Сетевые адаптеры


Интерфейсы локальных сетей в ПК обеспечивают сетевые адаптеры, или сетевые интерфейсные карты (Network Interface Card, NIC). Адаптеры имеют переда­ющую и принимающую части, которые в случае поддержки полного дуплекса должны быть независимы друг от друга. Задача передающей части: по получении со стороны центрального процессора (ЦП) блока данных и адреса назначения для передачи получить доступ к среде передачи, сформировать и передать кадр (добавить преамбулу, CRC-код), делая повторные попытки в случае обнаружения коллизий. Адаптер должен сообщить процессору об успехе или невозможности передачи. Приемная часть, просматривая заголовки всех кадров, проходящих в линии, «вы­уживает» из этого потока кадры, адресованные данному узлу уникальным, широ­ковещательным или групповым способом. Адаптер можно программно настроить и на «неразборчивый» режим (promiscuous mode), в котором он будет принимать все кадры без разбора. Кадры принимаются в буфер и проверяются на отсутствие ошибок (длина кадра, корректность CRC). О приеме корректных кадров уведом­ляется центральный процессор и организуется передача кадра из локального буфе­ра адаптера в системную память компьютера. Ошибочные кадры, как правило,

10.2. Сетевые адаптеры____________________________ =_______________________________ 411

игнорируются, хотя адаптер может собирать статистику их появления. На практике попадаются и адаптеры, не обнаруживающие ошибок в поврежденных кадрах. Диагностика сети с таким адаптером непроста.

Сетевые адаптеры для PC выпускаются для шин ISA, EISA, MCA, VLB, PCI, PC Card. Существуют адаптеры, подключаемые к стандартному LPT-порту PC; их пре­имущество — отсутствие потребностей в системных ресурсах (порты, прерывания и т. п.) и легкость подключения (без вскрытия компьютеров), недостаток — при обмене они значительно загружают процессор и не обеспечивают высокой скорос­ти передачи («потолок» — 10 Мбит/с). Есть адаптеры и для шины USB. Сетевые адаптеры интегрируются и в некоторые модели системных плат.


Эффективная скорость обмена данными по сети очень сильно зависит от архитек­туры сетевых адаптеров и, при прочих равных условиях, от скорости .передачи данных между локальной памятью адаптера и системной памятью компьютера, а также от возможности параллельного выполнения нескольких операций. В каче­стве «средств доставки» используются каналы прямого доступа к памяти (DMA), программный ввод-вывод (РЮ), прямое управление шиной. Стандартные 8-бит­ные каналы прямого доступа шины ISA способны развивать скорость до 2 Мбайт/с, 16-битные — до 4 Мбайт/с. Кадр максимальной длины (1514 байт) они переда­ют примерно за 1,3 или 2,6 мс соответственно. По сравнению с 12 мс, требуемыми для передачи кадра в среде Ethernet, это время относительно невелико. Однако для Fast Ethernet, где тот же кадр в среде передается за 1,2 мс, такая транспорти­ровка оказывается слишком медленной. Более высокую скорость обмена с буфе­ром адаптера обеспечивает режим программного ввода-вывода (РЮ), но он пол­ностью загружает центральный процессор на время передачи. Более эффективны интеллектуальные адаптеры с прямым управлением шиной (bus mastering) ISA/ EISA, сочетающие относительно высокую скорость (до 8 Мбайт/с ISA 16 бит и до 33 Мбайт/с EISA). Однако для скорости 100 Мбит/с производительности шины ISA уже недостаточно. На сегодняшний день широко применяются адаптеры шины PCI, где для 32-разрядного интерфейса при частоте 33 МГц пропускная способность достигает 132 Мбайт/с. Но для технологии Gigabit Ethernet и этого только-только хватает, правда, у PCI есть резервы: переход на частоту 66 МГц и разрядность 64 бит, что позволяют далеко не все системные платы. Особенно эф­фективны активные адаптеры, имеющие собственный процессор, для шины PCI. Они выполняют передачи на полной скорости PCI, практически не загружая цен­тральный процессор. Это свойство особенно важно для серверов. Параллельное выполнение операций подразумевает поддержку полного дуплекса — полную независимость принимающей и передающей частей, а также возможность одно­временного выполнения приема кадра в буфер, передачи другого кадра и обмена данными между буферной памятью адаптера и системной памятью компьютера.


На производительность адаптера для ISA/EISA влияет и объем буферной памяти: при ограниченной (по сравнению со скоростью в линии) пропускной способности шины применяют буферную память объемом до 64 Кбайт, которую делят между передатчиком и приемником либо поровну, либо с преимуществом для передат­чика. Для шины PCI при эффективных средствах доставки (интеллектуальное прямое управление шиной) для скорости 100 Мбит/с большой буфер не нужен —

412______________________________ Глава 10. Интерфейсы компьютерных сетей

достаточно по 2 Кбайт на приемник и передатчик. Однако адаптеры Gigabit Ethernet опять снабжают буфером значительного размера (256 Кбайт).

Адаптеры можно разделить на две группы — адаптеры для рабочих станций и адап­теры для серверов. Деление условно — адаптеры для рабочих станций могут иметь черты, относящиеся к серверным. Использовать простые карты в серверах не сто­ит — они могут стать узким местом сети и «пожирателями» ресурсов ЦП.

Адаптеры для рабочих станций проще и дешевле — для них не требуется (пока?) скорости выше 100 Мбит/с, полный дуплекс встречается редко, к использованию процессорного времени особо жестких требований не предъявляют. Долгие годы широко применяются адаптеры, программно совместимые с картами NE2000 — 16-битными неинтеллектуальными картами для шины ISA разработки Novell-Eagle. Совместимость с этой моделью имеют и ряд карт для шины PCI. Наиболее удобны и популярны двухскоростные карты 10/100 Мбит/с — для их подключе­ния в современных сетях легко найти оптимальное место. Карты обычно имеют колодку для установки Boot ROM, современные модели часто обеспечивают воз­можность «пробуждения» по сети (remote wake up), поддерживают интерфейс DMI и ACPI. Для этого они имеют специальный дополнительный 3-проводный интерфейс — кабель с коннектором, подключаемый к системной плате. По этому кабелю системная плата с питанием в стандарте АТХ подает дежурное напря­жение (линия +5VSB), даже когда основное питание на системную плату и все устройства не подается.




От этой линии питается «дежурная» принимающая схе­ма, которая настроена на прием кадра специфического формата (Magic Packet) no сетевому интерфейсу. По приему этого кадра сетевой адаптер через кабель подает пробуждающий сигнал РМЕ на системную плату, которая дает сигнал на включе­ние блока питания; компьютер включается и загружается ОС с поддержкой DMI. Теперь администратор может выполнить все запланированные действия, а по окончании ОС на компьютере, завершая свою работу, выключает питание.

Адаптеры для серверов должны иметь высокопроизводительную шину — сейчас используют PCI32/64 бит 33/66 МГц, раньше в серверах часто применяли шину EISA или МСА. Для серверных карт критична загрузка ЦП при обмене данными, поэтому эти карты наделяют интеллектом для прямого управления шиной и па­раллельной работы узлов адаптера. Полнодуплексные адаптеры должны поддер­живать управление потоком по 802.3х. Ряд совершенных моделей поддерживают приоритизацию трафика по 802.1р, фильтрацию многоадресного трафика, поддерж­ку ВЛС с маркированными кадрами (tagged VLAN), Fast IP, аппаратный подсчет контрольных сумм IP-пакетов. Поддержка ВЛС позволяет серверу, подключен­ному одной линией к коммутатору, быть членом нескольких ВЛС, определенных на всей локальной сети. Для повышения надежности серверные карты могут под­держивать резервирование линий (Resilient Link) — резервный адаптер и линия связи заменяют основной канал в случае его отказа. При этом резервному адап­теру присваивается МАС-адрес основного, чтобы сеть «не заметила» подмены. Резервирование линий должно поддерживаться программными драйверами, что­бы замена происходила прозрачно и для серверных приложений. «Самоизлечи­вающиеся» драйверы (Self-Healing Drivers) в случае обнаружения проблем функ-

10.2. Сетевые адаптеры______________________________________________ 413

ционирования («зависании») могут автоматически выполнить сброс и повторную инициализацию адаптера. Удаленная загрузка и пробуждение по сети серверам, как правило, не требуется.


Адаптеры (совместно с драйверами) могут поддерживать SNMP и RMON. Для серверов выпускаются и многопортовые (как правило, на 4 порта) адаптеры, конфигурируемые как для раздельного независимого исполь­зования, так и для резервирования друг друга. Такие карты позволяют экономить слоты PCI (для шины EISA проблема экономии слотов не была острой). Типовая скорость для серверных карт на сегодняшний день — 100 Мбит/с, производитель­ность Gigabit Ethernet может быть востребована лишь очень мощными серверами.

Адаптер может иметь один или несколько интерфейсных разъемов:

¦     BNC — коаксиальный разъем для подключения к сегменту сети 10Base2;

¦     AUI — розетка DB-15 для подключения внешних адаптеров (трансиверов)

lOBaseS, 10Base2, lOBaseT, lOBaseF, FOIRL;

¦     RJ-45 — 8-контактное гнездо для подключения кабелем «витая пара» к концен­тратору (хабу или коммутатору) lOBaseT, 100BaseTX и/или 100BaseT4;

¦     SC (пара), иногда ST — оптические разъемы для подключения к концентрато­рам 100BaseFX, lOOOBaseSX, lOOOBaseLX.

Для 10-мегабитных адаптеров характерны сочетания BNC+AUI или RJ-45+AUI, наиболее универсальные «Combo» имеют полный 10-мегабитный набор BNC/AUI/ RJ 45. Первые модели карт на 10 и 100 Мбит/с имели пару разъемов RJ-45 — каж­дый для своей скорости. При наличии нескольких разных разъемов (например, BNC и RJ-45) одновременно они не используются — адаптер не может работать в качестве повторителя. Большинство современных адаптеров имеют один разъем RJ-45 и поддерживают два стандарта — lOBaseT и 100BaseTX. Многопортовые серверные карты имеют несколько независимых адаптеров, каждый со своим интерфейсом.

Интерфейсные карты потребляют системные ресурсы компьютера.

¦     Пространство ввода-вывода — как правило, 4-32 смежных адреса из области, адресуемой 10-битным (для шины ISA) или 16-битным (EISA, PCI) адресом.

Используется для обращения к регистрам адаптера при инициализации, теку­



щем управлении, опросе состояния и передаче данных.

¦     Запрос прерывания — одна линия (IRQ3,5,7,9,10,11,12 или 15), возбуждаемая по приему кадра, адресованного данному узлу, а также по окончании передачи кадра (успешной или безуспешной из-за коллизий). Без прерываний сетевые карты работать не могут, при некорректном назначении обращения к сети «зависают».

¦     Канал прямого доступа к памяти (DMA) используется в некоторых картах

ISA/EISA; для прямого управления (bus mastering) шины ISA пригодны толь­ко 16-битные каналы 5-7.

¦     Разделяемая память (adapter RAM) адаптера — буфер для передаваемых и при­нимаемых кадров — для карт ISA обычно приписывается к области верхней памяти (UMA), лежащей в диапазоне AOOOOh-FFFFFh. Карты PCI могут рас­полагаться в любом месте адресного пространства, не занятого оперативной памятью компьютера. Разделяемую память используют не все модели карт.

414______________________________ Глава 10. Интерфейсы компьютерных сетей

¦   Постоянная память (adapter ROM) — область адресов для модулей расшире­

ния ROM BIOS, 4/8/16/32 Кбайт в диапазоне COOOO-DFFFFh. Используется для установки ПЗУ удаленной загрузки (Boot ROM) и антивирусной защиты.

Под конфигурированием адаптера подразумевается настройка на использование системных ресурсов PC и выбор среды передачи. Конфигурирование, в зависимо­сти от модели карты, может осуществляться разными способами.

¦     С помощью переключателей (джамперов), установленных на карте. Использу­

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

¦     С помощью энергонезависимой памяти конфигурации (NVRAM, EEPROM),

установленной на карте с шиной ISA. Эти карты не имеют джамперов (jumperless),

но конфигурируются вручную. Для конфигурирования требуется специальная

утилита, специфическая для конкретной модели (семейства) карт.



¦     С помощью энергонезависимой памяти конфигурации, установленной на карте с

шиной EISA или МСА, и системной памяти конфигурирования устройств (ESCD для EISA). Конфигурирование ресурсов осуществляется пользователем с по­мощью системной утилиты ECU (EISA Configuration Utility) для шины EISA.

¦     Автоматическое — PnP для шин ISA и PCI. Распределение ресурсов осуществ­ляется на этапе загрузки ОС.

Выбор среды и скорости передачи может быть ручным (программным) или автома­тическим. В ряде случаев имеет смысл делать явные назначения, чтобы избегать сюPnPизов излишней автоматизации. Эти сюPnPизы, как правило, порождаются недостаточной согласованностью адаптеров и их драйверов. При этом драйвер не может правильно распознать установленный режим и воспользоваться его преиму­ществами. Автоматическая настройка вносит дополнительные задержки в процесс инициализации (при загрузке) и не со всяким сетевым оборудованием работает корректно. Для некоторых моделей карт с интерфейсом 10Base2 (BNC-разъем) предлагается расширенный режим, увеличивающий дальность связи до 305 м про­тив штатных 185. При необходимости длинных сегментов этим режимом можно воспользоваться, но при условии, что он имеется и включен во всех картах данно­го сегмента. В утилитах конфигурирования могут предлагаться и дополнительные настройки — оптимизация для клиента или сервера, поддержка модема и некото­рые другие. Их установка должна соответствовать конкретному применению.


Содержание раздела