Про коммутаторы, Vlan и агрегирование портов
Bog BOS: hardware: Ethernet
Последнее изменение файла: 2011.08.17
Скопировано с www.bog.pp.ru: 2012.01.17
Bog BOS: hardware: Ethernet
Ethernet - локальная сеть, построенная на случайном методе доступа к разделяемой среде передачи данных с обнаружением коллизий - CSMA/CD (Ethernet Network - Xerox, 1975; Ethernet II или Ethernet DIX - Digital, Intel, Xerox - 1980). Ethernet DIX отличается от IEEE 802.3 (совмещены уровни MAC и LLC, отличается формат кадра). Эталонная модель IEEE 802 включает уровни LLC (Logical Link Control, управление логическим каналом, 802.2), MAC (Media Access Control, управление доступом к среде, 802.1D, 802.1G, 802.1H, 802.1Q) и PHY (физический уровень, 802.3, 802.3ae). Уровень PHY соответствует физическому уровню эталонной модели OSI. Уровни LLC и MAC соответствуют уровню передачи данных эталонной модели OSI. Компоненты локальной сети: сетевой адаптер, кабельная структура, повторитель (концентратор, хаб, hub), коммутатор (switch, мост, bridge), маршрутизатор (router), шлюз (gateway). Хаб делит физическую сеть на сегменты, но не изменяет логическую топологию сети (общий домен коллизий). Коммутатор делит логическую сеть на сегменты, основываясь на аппаратных (MAC) адресах, но оставляет один сегмент с точки зрения широковещательных рассылок. Коммутатор с возможностями VLAN позволяет разделять широковещательные сегменты. Маршрутизаторы сегментируют сеть на уровне IP адресов и позволяют организовывать логическую топологию с петлями. Шлюз позволяет строить сеть из сегментов различной физической природы. Разделяемый сегмент Ethernet не рекомендуется загружать свыше 30% в среднем, иначе большую часть времени сеть будет заниматься обработкой коллизий, в результате время ожидания возрастет, а пропускная способность упадет (хотя пересылать файлы с одного узла на другой можно с полной скоростью, если другие узлы в это время молчат). Устройства не отслеживают потерю и дублирование кадров и не сообщают об этом протоколу верхнего уровня, испорченные кадры молча выбрасываются (ни извещений, ни перепосылки). Реактивное управление потоком (опция). Порядок, время задержки и полоса пропускания не гарантируются. Фрагментация пакетов не предусмотрена, поэтому все устройства в сегменте должны иметь одинаковое MTU.
Стандарты
Стандарты Ethernet образуют семейство стандартов IEEE 802.x (IEEE Standard for Local and Metropolitan Area Networks, ISO 8802, ECMA-80, ECMA-81, ECMA-82).
IEEE 802.1 - отображение на концептуальную модель ISO/OSI (IEEE 802-2001, Overview and Architecture)
IEEE 802.1B - LAN/MAN Management
IEEE 802.1D/802.1D-2004 - Media access control (MAC) Bridges (назначение и реализация мостов и коммутаторов, включает 802.1p и 802.1Q; 802.1t - дополнение, 802.1w - Rapid Reconfiguration)
IEEE 802.1E - System Load Protocol
IEEE 802.1F - Management Information
IEEE 802.1G - Remote Media Access Control (MAC) bridging
IEEE 802.1H - Media Access Control (MAC) Bridging (трансляция протоколов канального уровня)
IEEE 802.1p - GARP и приоритетное обслуживание (объединен с 802.1Q)
IEEE 802.1Q/802.1Q-2003 - Virtual Bridged Local Area Networks (виртуальные локальные сети VLAN)
IEEE 802.1u - исправления к 802.1Q
IEEE 802.1v - VLAN Classification by Protocol and Port
IEEE 802.1X/802.1X-2001 - Port-Based Network Access Control (аутентификатор (например, коммутатор) проверяет просителя (supplicant) с помощью внешнего сервера аутентификации (RADIUS, tacacs+) или самостоятельно; аутентифицированный проситель получает полный доступ к порту)
IEEE 802.2 - уровень LLC (Logical Link Control), передача кадров, интерфейс между сетевым уровнем и MAC
IEEE 802.2ad - агрегирование каналов (trunking)
IEEE 802.3, 802.3-2002 - стандарт уровня MAC для метода CSMA/CD, интерфейс между LLC и физическим уровнем PHY (3 секции, включающие все виды физического уровня)
IEEE 802.3i - 10Base-T, 10 Мбит/сек на витой паре
IEEE 802.3u - Fast Ethernet (LLC и MAC не изменились), 1995
IEEE 802.3x - управление потоком в полнодуплексном режиме, 1997
IEEE 802.3z - Gigabit Ethernet, 1998
IEEE 802.3ab - Gigabit Ethernet на витой паре UTP 5, 1999
IEEE 802.3ad - Link Aggregation Control Protocol (LACP) - разделили на IEEE 802.1AX-2008 (определение) и IEEE 802.3-2005 Ethernet clause 43 (реализация)
IEEE 802.3ae, 802.3ae-2002 - MAC Parameters, Physical Layer and Management Parameters for 10Gb/s Operation; 10GBASE-X - используется технология WDM (4 волны, 9.75Gbps); 10BASE-R (9.75Gbps); 10GBASE-W - используется SONET STS-192c (9.06Gbps)
IEEE 802.3af - DTE Power via Media Dependent Interface (MDI) (электропитание по кабелю Ethernet: 48 V, 350 mA, переменный ток)
IEEE 802.3ak-2004 - 10Gbps
IEEE 802.3ba-2010 - 40/100Gbps
IEEE 802.4 - Token Bus, шинные топологии с передачей маркера (идея признана неудачной и рабочая группа расформирована)
IEEE 802.5 - Token Ring, кольцевые топологии с передачей маркера
IEEE 802.10 - Security management
IEEE 802.11 - Wireless LAN
IEEE 802.11a - Wireless LAN (54 Mbps на частоте 5 GHz)
IEEE 802.11b - Wireless LAN (11 Mbps на частоте 2.4 GHz)
IEEE 802.11e
IEEE 802.11g - Wireless LAN (54 Mbps на частоте 2.4 GHz)
IEEE 802.11x - Wireless Multimedia Extensions
IEEE 802.12 - Demand Priority, локальные сети с запросом приоритета, 100VG-AnyLAN
IEEE 802.14 - Cable modem, передача данных по кабельным телевизионным сетям
IEEE 802.15 - Wireless Personal Area Network
IEEE 802.16 - Broadband Wireless Access, широкополосный доступ в лицензируемом радиодиапазоне
IEEE 802.17
Уровень LLC
Уровень LLC (Logical Link Control, управление логическим каналом) организует сопряжение с вышестоящими уровнями стека сетевых протоколов, управление потоком и обработку ошибок передачи (выявлением ошибок занимается уровень MAC).
Заголовок PDU (Protocol Data Unit) состоит из 3 полей: номер протокола получателя (DSAP, один байт, 0x6 - IP, 0xF0 - NetBIOS), номер протокола отправителя (SSAP), управляющее поле - 1 или 2 байта (для ненумерованного кадра - 1 байт, не содержащий дополнительной информации). Старший бит DSAP задает тип адреса: индивидуальный или групповой, старший бит SSAP задает флаг: команда или ответ.
В любом режиме работы можно использовать управляющие кадры XID (обмен информацией о поддерживаемых режимах и размере окна) и TEST.
LLC предоставляет 3 вида услуг (протокола, режима работы):
Type 1: услуги без подтверждений и установления соединения, не включают механизмы подтверждения, управления потоком и обработки ошибок; используются ненумерованные информационные кадры (UI PDU)
Type 2: устанавливается логическое соединение, обеспечивается управление потоком и обработка ошибок (похож на асинхронный сбалансированный режим HDLC с 7-битной нумерацией)
Type 3: обеспечивается подтверждение доставки PDU с помощью передачи ненумерованного PDU и ответа со взведенным битом отклика, но логическое соединение не устанавливается; используется 1-битовый порядковый номер
В стеках протоколов TCP/IP и IPX/SPX всегда используется режим LLC1. Процедуры LLC лишь извлекают из PDU пакеты IP, ARP и RARP. NetBIOS/NetBEUI может использовать режим LLC2. В этом случае используются также информационные и управляющие кадры (заголовок длиной 3 или 4 байта).
Уровень MAC
Уровень MAC регулирует доступ к среде передачи данных, дополняет модуль данных LLC (PDU LLC) информацией об адресах и контрольной суммой, формирует кадр (frame) MAC. Выявляет ошибки и отклоняет ошибочные кадры. Обработкой ошибок (повторной передачей) может заниматься уровень LLC или вышестоящий уровень.
Для надежного распознавания коллизий время передачи кадра минимальной длины должно быть больше времени распространения коллизии до самого дальнего узла локальной сети (сегмента коллизий) и обратно. Минимальная длина поля данных - 46 байт (64 байта с заголовком кадра, 72 байта с заголовком и преамбулой). Битовая скорость - 10 Мбит/сек (14880 кадров минимальной длины в секунду). Межкадровый интервал (IPG) - 9.6 мкс (Fast Ethernet - 0.96 мкс). Максимальная длина кадра без преамбулы - 1518 байт. Максимальное расстояние между станциями - 2500 м (Fast Ethernet - 250 м). Максимальное количество станций - 1024.
Форматы кадра (MAC+LLC, попытки унификации привели только к увеличению вариантов):
802.3/LLC (802.3/802.2, Novell 802.2, 802.3-1998): объединение полей заголовков стандартов 802.3 и 802.2
преамбула (7 байт синхронизации)
начальный ограничитель кадра (1 байт SFD)
адрес назначения (2 или 6 байт, в реальности всегда 6)
адрес отправителя
длина поля данных (2 байта)
поле данных (от 0 до 1500 байт), содержит данные вышестоящего уровня (включая заголовок LLC) или управляющую информацию MAC
поле заполнения (дополняет поле данных до 46 байт)
поле расширения для Gigabit Ethernet (дополняет кадр до 512 байт)
CRC-32 (FCS)
802.3-2002
преамбула (7 байт синхронизации)
начальный ограничитель кадра (1 байт SFD)
адрес назначения (6 байт)
адрес отправителя (6 байт)
длина поля данных или тип (2 байта; если меньше или равно 1500, то длина, иначе тип протокола верхнего уровня; для jumbo-кадров всегда тип)
поле данных (от 0 до 1500 байт)
поле заполнения (дополняет поле данных до 46 байт)
поле расширения для Gigabit Ethernet (дополняет кадр до 512 байт)
CRC-32 (FCS)
Raw 802.3 (Novell 802.3) - не содержит заголовка LLC (мы же знаем, что кроме IPX других типов пакетов не бывает ;)
Ethernet DIX (Ethernet II) - не содержит заголовка LLC, а вместо длины содержит значение типа протокола (аналог DSAP/SSAP, но 2 байта: IP - 0x0800); в отличие от 802.3-2002 нет поля SFD, а длина преамбулы - 8 байт
Ethernet SNAP: DSAP и SSAP в заголовке LLC равны 0xAA, управляющее поле LLC равно 3 и добавлены поля OUI (схема кодирования протоколов, 3 байта), код протокола (2 байта, для OUI равного нулю коды протоколов совпадают с типами протоколов кадра Ethernet II)
модификации для поддержки VLAN и приоритетов
Возможно автоматическое распознавание типов кадров, т.к. тип протокола в формате кадра Ethernet II всегда больше максимальной длины кадра (1500), а в начале пакета IPX идут байты 0xFF, что отличается от возможных значений DSAP и SSAP. Стек IP обычно использует формат кадров Ethernet II или Ethernet SNAP. Коммутаторы обычно поддерживают только один формат кадров на каждом порту, а групповой и широковещательный трафик рассылается только по портам с тем же форматом кадра (это может привести к изоляции устройства из=за неработоспособности протоколов типа ARP).
Типы адресов MAC (в IEEE младший бит изображается слева):
широковещательный (broadcast) - 0xFFFFFFFFFFFF, всем узлам сети
индивидуальный (unicast) - первый бит старшего байта равен нулю; второй бит равный 0 определяет централизованный способ назначения адреса: старшие 3 байта определяют производителя оборудования, младшие 3 байта задают уникальный номер устройства (некоторые устройства позволяют перепрошивать MAC адрес)
групповой (multicast) - указывает номер группы, состав группы определяется конфигурацией
IEEE пропагандирует новый 64-битный формат адреса EUI-64, в котором в качестве номера устройства используется 5 байт вместо 3.
Для Gigabit Ethernet минимальный размер кадра без преамбулы - 512 байт. В Gigabit Ethernet введен монопольный пакетный режим (Burst Mode), позволяющий передавать несколько коротких пакетов подряд (до 8192 байт, дополнения до 512 байт не производится).
Ошибки:
ошибка CRC (CRC error)
затянувшийся кадр
ошибки кадрирования (число бит не кратно 8, frame error)
ошибки длины
коллизия
поздний конфликт (late collision), коллизия обнаружена после 512 бита, скорее всего превышен максимальный диаметр сети
слишком много коллизий (16 неудачных попыток передачи пакета подряд)
Физический уровень, кабели и разъемы
Физический уровень занимается кодированием и декодированием сигналов, генерацией синхронизирующей последовательности битов, приемом и передачей битов. Также включает спецификацию среды передачи и её топологию.
Стандарт определяет следующие виды среды передачи:
10Base-5: RG-8 и RG-11 - толстый (12 мм) и прочный коаксиальный кабель ("yellow" coax), волновое сопротивление 50 Ом, максимальная длина физического сегмента - 500 м (без повторителей или хабов), на концах кабеля должны быть терминаторы 50 Ом, узел подключается к кабелю с помощью трансивера (приемопередатчика, MAU), не более 100 на сегмент, не менее 2.5 м между ними, обеспечивает гальваническую развязку, сетевой адаптер соединяется с трансивером кабелем AUI (разъем DB-15 или DIX, до 50 м), бывают трансиверы для витой пары с интерфейсом AUI, не более 5 сегментов (из них только 3 нагруженных) на сеть (каждый повторитель вносит дополнительную задержку); физическая топология - общая шина (до первого повторителя); логическая топология - общая шина (до первого коммутатора)
10Base-2: RG-58/U, RG-58 A/U, RG-58 C/U - тонкий (5 мм) коаксиальный кабель волновое сопротивление 50 Ом (кстати, телевизионный кабель RG-59 имеет волновое сопротивление 75 Ом), соединяется T-образными разъемами BNC в разрыве кабеля, максимальная длина физического сегмента - 185 м (без повторителей или хабов), на концах кабеля должны быть терминаторы 50 Ом, не более 30 узлов на сегмент, не менее 1 м между ними, не более 5 сегментов (из них только 3 нагруженных) на сеть, гальваническая развязка отсутствует (больно бьется током!), очень ненадежная и капризная конструкция; физическая топология - общая шина (до первого повторителя); логическая топология - общая шина (до первого коммутатора)
10Base-T: UTP категории 3 (неэкранированная витая пара), 4 пары (используется только 2), каждая пара имеет определеный цвет, вилки (на конце кабеля) и розетки (на карте) типа RJ-45 (8 контактов), максимальное расстояние между узлом и концентратором - 100 м, концентраторы могут быть соединены иерархически (по пути между любыми двумя узлами не должно быть более 4 концентраторов), петли не допускаются, максимальный диаметр сети - 500 м, максимальное число узлов - 1024, тест связности позволяет автоматически определять и отключать микросегменты, образуется один домен коллизий; физическая топология - звезда (иерархия звезд); логическая топология - общая шина (до первого коммутатора)
10Base-FL, 10Base-FB (только между повторителями): многомодовый волоконно-оптический кабель (Multi Mode Fiber, MMF), меньшая полоса пропускания, но дешевый, источником излучения может быть светодиод, диаметр - 62.5/125 или 50/125; топология аналогична 10Base-T; максимальная длина сегмента - 2 км; петли не допускаются; вилки (на конце кабеля) и розетки (на карте) типа MIC, ST или SC; физическая топология - звезда (иерархия звезд); логическая топология - общая шина (до первого коммутатора)
100Base-TX: UTP категории 5 (неэкранированная витая пара), до 100 м, волновое сопротивление 100 Ом, 4 пары (используются только пары 2 и 3), каждая пара имеет определеный цвет, вилки и розетки типа RJ-45 категории 5 (MDI), для соединения сетевого интерфейса узла и порта концентратора используется прямой кабель (порты концентратора MDI-X имеют обратную распайку), для прямого соединения двух узлов используется перевернутый кабель (crossover или null repeater); есть вариант для кабеля STP Type 1 (волновое сопротивление 150 Ом, экранированный разъем DB-9); между уровнем MAC и уровнем физического кодирования сигнала может быть интерфейс MII (аналог AUI, 1 м, я не встречал); автоматическое определение скорости (10/100) и дуплекса (half/full) NWay; полный дуплекс только при прямом соединении или соединении с коммутатором; не более 1 повторителя класса I или 2 повторителей класса II в сегменте коллизий (диаметр сегмента - 205 м); физическая топология - звезда (иерархия звезд); логическая топология - общая шина (до первого коммутатора); контакты разъема MDI:
передача + (белый/оранжевый)
передача - (оранжевый)
прием + (белый/зеленый)
не используется
не используется
прием - (зеленый)
не используется
не используется
100Base-T4: UTP категории 3, используются все 4 пары: одна пара для передачи, одна пара для приема и 2 пары прием/передача; до 100 м; только полудуплекс; диаметр сети - 205 м; физическая топология - звезда (иерархия звезд); логическая топология - общая шина (до первого коммутатора)
100Base-FX: многомодовый волоконно-оптический кабель (два волокна, диаметр - 62.5/125), прямое соединение до 412 м (полудуплекс) или 2 км (дуплекс); соединение с повторителем - 200 м; диаметр сети - 320 м; вилки (на конце кабеля) и розетки (на карте) типа MIC, ST или SC; физическая топология - звезда (иерархия звезд); логическая топология - общая шина (до первого коммутатора)
1000Base-SX: многомодовый волоконно-оптический кабель, 850 нм, 220 м для волокна 62.5/125 и 500 м для волокна 50/125 (полнодуплексный режим), 100 м (полудуплекс); разъём 2xSC (неофициально LC); имеются реализации на 2.2км
1000Base-LX: одномодовый волоконно-оптический кабель (Single Mode Fiber, SMF, 9мкм), большая полоса пропускания, дорогой, источником излучения может быть только лазер; 1300 нм; 25 км, разъём 2xSC (неофициально LC); возможны многомодовые модификации (50 и 62.5 мкм) на расстоянии до 2.5 км
1000Base-LH: одномодовый волоконно-оптический кабель, 9 мкм; 1310 нм - 49 км, 1550 нм - 100 км
1000Base-CX - твинаксиальный кабель: два коаксиальных кабеля 75 Om (150 Om?) для Gigabit Ethernet, для полного дуплекса необходимо 4 коаксиальных кабеля, 25 м; DB-9, HSSDC
1000Base-T: UTP категории 5, используются все 4 пары, 100 м, полудуплекс или дуплекс (передатчики работают навстречу по всем 4 парам); RJ-45
10GBaseSR и 10GBaseSW: многомодовый оптический кабель, 850 нм, 300 м; версия W предназначена для SONET/SDH
10GBaseLR и 10GBaseLW: одномодовый оптический кабель, 1310 нм, 10 км
10GBaseER и 10GBaseEW: одномодовый оптический кабель, 1550 нм, 40 км
10GBaseZR: одномодовый оптический кабель, 1550 нм, 80 км
10GBaseLX4: 1310 нм, технология WDM, для многомодового волокна - до 300 м, для одномодового - до 10 км
10GBaseCX4: медный кабель CX4 с соединителями InfiniBand (они же SAS?), 15 метров
10GBaseT: кабель с витыми парами, 100 м
Обычно при инициализации устройства производится автоматическое согласование параметров передачи (NWay, auto-negotiation, Config_Reg для 1000Base-X и FLP (fast link pulse) для *-TX (LCW - link code word - Register 4 передатчика)) между двумя устройствами (неприменимо к разделяемой среде; не реализовано для 10GE; для оптических сред невозможно согласовать скорость): полный дуплекс, полудуплекс, управление потоком (симметричное, асимметричное, никакого), обработка ошибок автосогласования (выключение, ошибка соединения, ошибка автосогласования), скорость, технология (802.3, 802.5, 802.9). Начальная передача длится 10 мс. Устройство может скрыть (маскировать) некоторые свои возможности.
Объединение портов (trunking, link aggregation)
Объединение портов (trunking, link aggregation group, link bundling) позволяют объединить несколько портов (соединений, каналов) в единое целое (группу портов), увеличивая как производительность, так и надежность. Протоколы верхних уровней рассматривают транк как один канал. Для управления транками (можно использовать группы без использования управляющего протокола) может использоваться фирменный протокол (например, Cisco: Port Aggregation Protocol - PAgP) или LACP (Link Aggregation Control Protocol), описанный в IEEE 802.3ad и вошедший в состав 802.3-2005 (clause 43, реализация) и IEEE 802.1AX-2008 (определение) или EtherChannels.
LACP позволяет статическое или динамическое объединение пропускной способности с автоматическим отключением сбойных линий и последующим восстановлением или резервирование портов. Порт в пассивном LACP режиме отвечает на запросы по объединению портов с другой стороны, в активном режиме - выдаёт запросы (LACPDU) на объединение. Порты с обоих сторон могут быть в активном режиме.
Ограничения LACP:
все порты в группе должны использовать один протокол агрегирования
работа в разделяемой среде не поддерживается
все порты должны работать в режиме полного дуплекса
все порты должны работать на одинаковой скорости
порты должны иметь одинаковый набор VLAN
все порты должны использовать одинаковый формат кадров
Inter-Switch Trunk (IST) - возможность объединять порты на разных коммутаторах.
Объединение портов в Linux осуществляется с помощью модуля bonding (создаёт интерфейс bond0, при создании имеет MAC адрес 00:00:00:00:00:00, затем берёт MAC адрес от первого присоединённого интерфейса, он же раздаётся всем присоединённым интерфейсам, не изменяется при падении первого присоединённого интерфейса, можно изменить командой "ip link set bond0 address адрес") и утилиты ifenslave (входит в пакет iputils, используется в initscripts в RHEL4) или непосредственно командой /sbin/ip и манипуляциями с /sys/class/net/ (RHEL5). Для объединения eth0 и eth1 в одну группу в RHEL5 достаточно создать /etc/sysconfig/network-scripts/ifcfg-bond0 и /etc/sysconfig/network-scripts/ifcfg-eth[01] и перезагрузить сеть (/etc/rc.d/init.d/network restart):
DEVICE=bond0
#IPADDR=192.168.1.1
#NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Bonding
DHCPCLASS=
DHCP_HOSTNAME=s87.cs.niisi.ras.ru
USERCTL=no
BONDING_OPTS="mode=802.3ad miimon=100"
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HWADDR=адрес
Параметры модуля bonding:
max_bonds - максимальное число групп (1)
mode - режим балансировки исходящих кадров по интерфейсам (по умолчанию - balance-rr, MAC адреса всех интерфейсов будут совпадать с MAC адресом группового устройства, кроме режимов balance-tlb и balance-alb; режимы на 2 концах не обязаны совпадать):
0 (balance-rr) - использовать каждый интерфейс по очереди (round-robin); самая лучшая балансировка загрузки (даже один TCP поток идёт через несколько интерфейсов), но пакеты приходят в произвольном порядке, что вызывает накладные расходы по их упорядочиванию (а что будет с segmentation offload? а отложенные или слитые прерывания?) - увеличение net.ipv4.tcp_reordering с 3 до 10 не на 100%; порты на коммутаторе д.б. сгруппированы вручную
1 (active-backup) - использовать только один интерфейс, остальные в горячем резерве; MAC адрес виден только на активном интерфейсе, так что поддержки от коммутатора не требуется
2 (balance-xor) - (адрес-отправителя XOR адрес-получателя) modulo количество-интерфейсов - борьба с утерей порядка пакетов, но возможна ситуация когда один интерфейс перегружен, а другие простаивают (идиотизм: все сервера двухпортовые и MAC адреса eth0 (и большей части eth1) чётные, в результате все потоки идут через первый порт); порты на коммутаторе д.б. сгруппированы вручную
3 (broadcast) - отправлять каждый кадр по всем интерфейс; порты на коммутаторе д.б. сгруппированы
4 (802.3ad) - создание группы в соответствии LACP (802.3ad), выбор интерфейса по алгоритму balance-xor с учётом xmit_hash_policy; несовместим с ARP мониторингом
5 (balance-tlb) - адаптивная балансировка нагрузки при передаче (balance-tlb), лучше чем XOR, не требует поддержки от коммутатора, весь входящий траффик обрабатывается текущим (всегда один и тот же?) интерфейсом; несовместим с ARP мониторингом
6 (balance-alb) - адаптивная балансировка при передаче и при приёме IPv4 не требует поддержки от коммутатора; модифицируются свои ARP ответы (подставляя MAC адреса интерфейсов группы по очереди для каждого получателя), а после каждой широковещательной ARP рассылки вслед "поимённо" посылаются ARP обновления; драйвер д.б. способен менять MAC адрес открытого интерфейса
xmit_hash_policy - тип адресов для режимов balance-xor и 802.3ad: 0 (layer2) - MAC (по умолчанию, SA/DA), 1 (layer3+4) - IP и порт (большая равномерность распределения при сохранении упорядоченности, не совсем совместим с LACP)
lacp_rate - частота запросов LACPDU: slow (каждые 30 секунд, по умолчанию) или fast (каждую секунду)
miimon - миллисекунд между проверками соединения с помощью MII (по умолчанию выключен; рекомендуется 100 или указать arp_interval и arp_ip_target)
use_carrier - использовать netif_carrier_ok вместо MII/Ethtools ioctls, как более эффективный, но реализован не во всех драйверах (1)
updelay - миллисекунд задержки реакции после подъёма соединения для miimon (0); требуется для тормозных коммутаторов; обязательно для режима balance-alb (иначе коммутатор заблокирует)
downdelay - миллисекунд задержки реакции после падения соединения для miimon(0)
arp_interval - миллисекунд между проверками соединения с помощью ARP (по умолчанию выключен); не совместим с режимом XOR на коммутаторе
arp_ip_target - список IP адресов "жертв" для ARP проверок через запятую (пуст)
num_grat_arp - число ARP пакетов при сбое (для режима active-backup) для каждого VLAN
num_unsol_na - число IPv6 пакетов при сбое (для режима active-backup)
primary - предпочтительный интерфейс для режима active-backup
arp_validate - проверка ARP запросов: никакой (по умолчанию), active, backup, all
fail_over_mac - ?: none (по умолчанию), active, follow
Параметры модуля bonding (доступны через /sys/class/net/; изменять для активного интерфейса нельзя) можно занести в /etc/modprobe.conf перед загрузкой:
alias bond0 bonding
options bond0 mode=802.3ad miimon=100 xmit_hash_policy=1
Будут проблемы с VLAN, с "необычной" маршрутизацией. Бойтесь перенумерации интерфейсов. Для правильной работы агента SNMP модуль bonding д.б. загружен до модулей интерфейсов. Прослушивание (promiscuous) в режимах active-backup, balance-tlb, balance-alb распространяется только на текущий (?) активный подчинённый интерфейс. Коммутатор посылает пакет на все интерфейсы, если MAC адреса нет в его таблице - это вызывает дублирование пакетов.
Сетевые адаптеры
Сетевой адаптер (NIC, Network Interface Card) реализует (вместе с драйвером) физический и MAC-уровень. Теоретически, они различаются типом шины, но единственно разумным выбором в настоящее время является PCI адаптер (кстати, они PnP) с использованием bus master DMA.
Двух(трёх)скоростные адаптеры позволяют работать как в режиме 10 Mb/s, так и 100 Mb/s и 1000 Mb/s (адаптер Fast Ethernet не обязан уметь работать с 10Base-T, хотя у них одинаковые разъемы!). Приличный адаптер должен поддерживать стандарт NWay автоматического согласования скорости и режима дуплекса.
Важными компонентами адаптера являются светодиодные индикаторы наличия связи, передачи данных и режима работы.
Адаптер может иметь микросхему загрузки по сети Boot PROM по стандартам PXE (Pre-boot eXecution Environment), bootp.
WOL (Wake-on-LAN): возможность сетевой платы (совместо с BIOS метеринской платы) включать питание компьютера по приходу специального пакета (на материнской плате имеется специальный разъем для дополнительного соединения с сетевым адаптером).
Уменьшение загрузки CPU: Bus Master, zerocopy (карта самостоятельно копирует данные ОП), аппаратное вычисление контрольных сумм, scatter-gather (слияние/разлияние кусков ОП в один пакет), уменьшение числа прерываний чтения за счёт небольшой задержки (NAPI).
Например, PCI адаптеры:
3Com 3C905B 100bTX (rev 48), Cyclone, требуется PCI INTA, поддерживает Bus Master, сзади 2 лампочки: Link/Collision и 10/100.
3Com Corporation 3c905C-TX [Fast Etherlink] (rev 116), Tornado (настройка загрузчика по Ctrl-Alt-B)
Intel PRO/100 S Desktop Adapter (драйвер eepro100)
eth0: Intel PCI EtherExpress Pro100 82557, ..., I/O at 0xc000, IRQ 10
Receiver lock-up bug exists -- enabling work-around
Board assembly 751767-004, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1
Intel PRO/100 S Desktop Adapter, Intel Corp. 82557/8/9 [Ethernet Pro 100], фирменный драйвер e100 (доступ к PHY через MDI (Management Data Interface), т.е. используется модуль mii):
eth0: Intel(R) PRO/100 S Desktop Adapter
Mem:0xd7020000 IRQ:12 Speed:100 Mbps Dx:Full
Hardware receive checksums enabled
или новый (без поддержки VLAN, контрольных сумм)
e100: Intel(R) PRO/100 Network Driver, 3.0.27-k2-NAPI
ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 21 (level, low) -> IRQ 209
e100: eth1: e100_probe: addr 0xfeafe000, irq 209, MAC addr xx:xx:xx:xx:xx:xx
встроенный Intel Corp. 82562EZ 10/100 Ethernet Controller (rev 01) использует тот же драйвер e100
встроенный Intel Corp. 82547EI Gigabit Ethernet Controller (LOM, LAN-On-Motherboard), фирменный драйвер e1000 (поддержка VLAN)
Intel(R) PRO/1000 Network Driver - version 5.3.19-k2-NAPI
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 18 (level, low) -> IRQ 185
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
встроенный Intel Corporation 82573E Gigabit Ethernet Controller (Copper), фирменный драйвер e1000
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
e1000: 0000:0d:00.0: e1000_probe: (PCI Express:2.5Gb/s:32-bit)
e1000: eth4: e1000_probe: Intel(R) PRO/1000 Network Connection
встроенный Intel Corporation 82573L Gigabit Ethernet Controller, фирменный драйвер e1000
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
e1000: 0000:0e:00.0: e1000_probe: (PCI Express:2.5Gb/s:32-bit)
e1000: eth5: e1000_probe: Intel(R) PRO/1000 Network Connection
Intel PRO/1000 GT QUAD port (PWLA8494GT), интерфейс PCI-X:133MHz:64-bit, состоит из моста PCI-X в два PCI и двух микросхем 82546GB (2 гигабитных порта на PCI), нет PXE, нумерация снизу вверх
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
e1000: 0000:0b:04.0: e1000_probe: (PCI-X:133MHz:64-bit)
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: 0000:0b:04.1: e1000_probe: (PCI-X:133MHz:64-bit)
e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: 0000:0b:06.0: e1000_probe: (PCI-X:133MHz:64-bit)
e1000: eth2: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: 0000:0b:06.1: e1000_probe: (PCI-X:133MHz:64-bit)
e1000: eth3: e1000_probe: Intel(R) PRO/1000 Network Connection
Digital DS21143 Tulip rev 65 (Digital Equipment Corporation DECchip 21142/43 (rev 41)), используется модуль tulip; доступ к PHY через MDI (Management Data Interface), т.е. используется mii
Linux Tulip driver version 0.9.15-pre12 (Aug 9, 2002)
tulip0: EEPROM default media type Autosense.
tulip0: Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
tulip0: MII transceiver #17 config 0100 status 780d advertising 0041.
tulip0: Advertising 01e1 on PHY 17, previously advertising 0041.
divert: allocating divert_blk for eth2
eth2: Digital DS21143 Tulip rev 65 at 0xf88fac00, xx:xx:xx:xx:xx:xx, IRQ xx.
eth2: Setting half-duplex based on MII#17 link partner capability of 0021.
Интерфейс называется eth0 (alias eth0 3c59x в /etc/modules.conf (/etc/modprobe.conf) или alias eth0 eepro100 или alias eth0 e100 или alias eth0 tulip) в Linux и le0 в Solaris.
Параметры модуля tulip
tulip_debug
max_interrupt_work
rx_copybreak (100; граница размера пакета, после которой будет передаваться адрес буфера вместо копирования данных)
csr0
options (массив целых)
10baseT
10base2
AUI
100baseTx
10baseT-FDX
100baseTx-FDX
100baseT4
100baseFx
100baseFx-FDX
MII 10baseT
MII 10baseT-FDX
MII
10baseT(forced)
MII 100baseTx
MII 100baseTx-FDX
MII 100baseT4
MII 100baseFx-HDX
MII 100baseFx-FDX
Home-PNA 1Mbps
full_duplex (массив целых)
Параметры модуля 3c59x (см. vortex.txt, автосогласование при переподключении может занять до минуты):
debug (0-7; по умолчанию - 1; для полного самоописания карты требуется вставить строку options 3c59x debug=2 в /etc/modules.conf)
options - список (через запятую, каждое значение для очередной карты) сумм битовых полей:
тип кабеля
0 - 10Base-T
1 - 10Base-5 (AUI)
3 - 10Base-2 (BNC)
4 - 100Base-TX
5 - 100Base-FX
6 - MII
7 - значение из EEPROM
8 - автосогласование
0x0010 - Bus Master
0x0200 - Force full duplex mode
0x0400 - Wake-On-LAN
full_duplex (0; 0-1)
hw_checksums (по возможности; 0-1; контрольные суммы для передаваемых и принимаемых пакетов IPv4, TCP, UDP)
flow_ctrl (802.3x flow control usage (только PAUSE в full duplex) (0-1))
enable_wol (Wake-on-LAN (0-1), утилита ether-wake)
max_interrupt_work (32; количество пакетов, обрабатываемых за одно прерывание)
rx_copybreak (200; размер кадра, начиная с которого будет использован полный буфер (1536 байт) вместо копирования в подходящий по размеру - ускорение работы за счет памяти)
watchdog (5000; затянувшаяся на указанное число милисекунд передача прерывается)
Параметры модуля e100 (информацию и статистику можно получить из файла /proc/net/PRO_LAN_Adapters/eth0.info):
TxDescriptors (количество буферов)
RxDescriptors
XsumRX (подсчет TCP/UDP контрольной суммы для входящих пакетов)
e100_speed_duplex
0 - auto
1 - 10half
2 - 10full
3 - 100half
4 - 100full
ucode (подгружать микрокод, обеспечивающий экономию CPU)
ber (Bit Error Rate count)
flow_control (e100_speed_duplex должет быть 0)
TcoWA (TCO work around for 82550B)
IntDelay (CPU saver interrupt delay)
BundleMax (CPU saver bundle max, максимальное количество кадров на одно прерывание)
BundleSmallFr (включать ли маленькие кадры в обрабатываемый одним прерыванием пакет)
IFS (Inter Frame Spacing, адаптер подбирает интервал между кадрами)
RxCongestionControl (если идет сплошной поток кадров, то обрабатывать их опросом, не дожидаясь прерывания)
PollingMaxWork (максимальное число кадров при опросе)
Модуль e100 3.0.27-k2-NAPI из дистрибутива CentOS 4.0 (ядро 2.6.9) не имеет параметров (кроме debug), всё управление осуществляется через mii-tool/ethtool.
Параметры модуля e1000 5.3.19-k2-NAPI
debug (0-16)
RxDescriptors (80; число буферов для приёма, 80 - 4096, размер буфера зависит от MTU; обработка Jumbo кадров включается при увеличении MTU сверх 1500 (до 16110))
TxDescriptors (256; число буферов для передачи, 80-4096)
Speed (0; 0, 10, 100, 1000)
Duplex (0; 0 - автосогласование; 1 - half, 2 - duplex)
AutoNeg - рекламировать автосогласование (0x2F; битовая маска)
FlowControl (0; 0 - нет, 1 - Rx, 2 - Tx, 3 - RxTx)
XsumRX - аппаратная поддержка контрольных сумм при приёме
RxIntDelay (0; задержка прерывания при приёме в 1.024 мкс в надежде, что за это время придёт ещё один пакет и одно прерывание обработает оба, 0 - выключить)
RxAbsIntDelay (128; суммарная задержка прерывания при приёме в 1.024 мкс)
TxIntDelay (64; задержка прерывания при передаче)
TxAbsIntDelay (64; суммарная задержка прерывания при передаче)
InterruptThrottleRate - контроль прореживания прерываний (1; 0 - нет, 1 - динамический, 100-100000 - максимальное число прерываний в секунду)
Программа ifrename (пакет wireless-tools) позволяет переименовать неактивный интерфейс или все интерфейсы. Ключ -t позволяет поменять имена местами. Конфигурационный файл /etc/iftab задаёт правила переименования. Правила просматриваются по очереди с конца файла. Каждая строка содержит имя интерфейса и набор правил выбора (И):
mac адрес (формат - 08:00:09:DE:82:0E)
arp тип
driver имя-драйвера
businfo данные (bus-info из ethtool -i eth?, lspci)
baseaddress адрес
irq прерывание
iwproto протокол
Программа nameif (пакет net-tools) позволяет привязать имя неактивного интерфейса к его MAC адресу (каждая строка файла /etc/mactab содержит имя интерфейса и MAC адрес).
Программа mii-tool (пакет net-tools) позволяет посмотреть (вместо 1000baseTx показывает 100baseTx) или установить режим автосогласования скорости и дуплекса для указанного интерфейса (для устройств, использующих MII, про гигабитные устройства программа не знает):
--verbose
--reset (в состояние по умолчанию)
--restart (повторить автосогласование)
--watch (опрашивать состояние каждую секунду)
--log (результат --watch в syslog)
--advertise= (какие режимы рекламировать; список через запятую: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD)
--force= (использовать указанный режим вместо автосогласования: 100baseTx-FD, 100baseTx-HD, 10baseT-FD, or 10baseT-HD)
Программа ethtool (пакет ethtool) показывает или устанавливает режимы карты ethernet:
имя-интерфейса (выдать подробную информацию о состоянии и возможностях карты)
-a имя-интерфейса (посмотреть параметры паузы)
-A имя-интерфейса [autoneg on|off] [rx on|off] [tx on|off] (установить параметры паузы - flow control)
-c/-C (тонкая настройка, для e100/e1000 не работает)
-g имя-интерфейса (посмотреть параметры кольцевых буферов)
-G имя-интерфейса ([rx число] [rx-mini число] [rx-jumbo число] [tx число])
-i имя-интерфейса (информация о драйвере)
)
-d имя-интерфейса (состояние регистров)
-e имя-интерфейса [raw on|off] [offset число] [length число] (посмотреть содержимое eeprom)
-E имя-интерфейса [magic число] [offset число] [length число] (установить содержимое eeprom)
-k имя-интерфейса (посмотреть состояние аппаратной поддержки подсчёта контрольных сумм, сборки/разборки и tcp сегментации)
-K имя-интерфейса [rx on|off] [tx on|off] [sg on|off] [tso on|off] (установить аппаратную поддержку)
-p имя-интерфейса секунд (помигать лампочками)
-r имя-интерфейса (повторить автосогласование)
-S имя-интерфейса (статистика)
-t имя-интерфейса [offline|online] (самотестирование устройства)
-s имя-интерфейса
speed 10|100|1000
duplex half|full
port tp|aui|bnc|mii
autoneg on|off
phyad адрес
xcvr internal|external (тип передатчика)
wol p|u|m|b|a|g|s|d (Wake-on-LAN; d - никогда)
sopass пароль-wol
msglvl уровень-отладочной-печати
Демон netplugd (скрипт /etc/netplug.d/netplug, список интерфейсов - /etc/netplug/netplugd.conf) позволяет автоматически запускать скрипты при наступлении определённого события (появление или пропадание сигнала). Ещё есть hotplug и /etc/hotplug/net.agent.
Файл /etc/ethers содержит в каждой строке соответствие MAC адреса и IP адреса (доменного имени):
08:00:20:00:61:CA server.domain.com
Посмотреть привязку сетевых интерфейсов к MAC адресам можно командой (или заглянуть в /sys/class/net/eth0/address):
ip -o link show
Специфические скрипты Red Hat и клонов:
/etc/sysconfig/network-scripts/ (system-config-network лучше не использовать, если предполагается редактировать эти файлы)
ifcfg-ethN - параметры конкретного интерфейса (возможно описание алиасов вида eth0:1, но как-то это ненадёжно выглядит, так что лучше по-старинке в rc.local)
NAME=имя-для-графических-утилит
DEVICE=имя-интерфейса (eth0)
TYPE=Ethernet
HWADDR=MAC-адрес (для выбора устройства из нескольких, разводка с помощью скриптов получается не всегда, помогает ifrename в rc.local; MAC адрес необходимо записывать только в виде 00:aa:bb:cc:dd:ee)
MACADDR=MAC-адрес (назначить MAC адрес устройству)
ETHTOOL_OPTS=опции-для-ethtool (подставляется "-s имя-устройства опции")
ONBOOT=yes|no
BOOTPROTO=static|dhcp|bootp
IPADDR=адрес (для статического назначения адреса)
SRCADDR=адрес (адрес для исходящих пакетов)
DHCP_HOSTNAME=адрес
PERSISTENT_DHCLIENT=yes|no (no; yes - ждать сервера, пока не ответит)
PEERDNS=yes|no (изменять /etc/resolv.conf; для DHCP по умолчанию - yes)
DNS1=адрес
DNS2=адрес
FIREWALL_MODS=yes|no (yes; модифицировать правила сетевого экрана для пропуска DNS)
GATEWAY=адрес
NETMASK=
BROADCAST= (должен вычисляться автоматически)
NETWORK= (должет вычисляться автоматически)
MASTER=/SLAVE= (описание транка - aka "bonding interface")
USERCTL=yes|no (разрешать обычным пользователям порулить)
MTU=
WINDOW=
ONPARENT=yes|no (yes; поднимать алиас при запуске основного интерфейса)
IPV6...
ifup - /sbin/ifup
ifup-aliases
ifup-post (вызов ifup-routes для маршрутов, зависящих от поднятого устройства; вызов ifup-aliases для алиасов к этому устройству)
ifup-routes (установка статических маршрутов для устройства; использует файл route-*)
ifdown - /sbin/ifdown
ifdown-aliases
ifdown-post
/etc/sysconfig/networking/ (используется программами автоматической настройки (system-config-network) и сюда голыми руками лучше не лезть)
/sbin/ifup имя-интерфейса [boot]
/sbin/ifdown имя-интерфейса [boot]
/etc/init.d/network (запуск/остановка сетевого сервиса, в частности ищет ifcfg-eth? и запускает для них ifup/ifdown)
Повторители
Концентратор (повторитель, хаб, concentrator, repeater, hub) делит физическую сеть на сегменты, но не изменяет логическую топологию сети (общий домен коллизий). Он передает полученный на одном порту битовый поток на все другие порты с очень небольшой задержкой (без буферизации), восстанавливая форму сигнала. Порт не имеет MAC адреса, поэтому послать кадр на него невозможно.
Возможна изоляция порта, являющегося источником большого числа ошибок (FCE), коллизий (ECE) или затянувшейся передачи (autopartitioning).
Концентраторы (и коммутаторы) могут образовывать только иерархические связи без петель, но некоторые модели позволяют поределять резервный порт, который будет активизирован в случае изоляции основного порта.
Может иметь кнопку, позволяющую переключать один из портов из обычного для концентратора режима MDI-X с обратной распайкой приемника и передатчика в режим MDI с распайкой как у сетевого адаптера. Это позволяет соединять два концентратора обычным прямым кабелем.
Повторители Fast Ethernet могут быть класса I (поддерживают все типы логического кодирования и могут иметь порты 100Base-TX, 100Base-T4 и 100Base-FX) и класса II (поддерживают только один тип кодирования и могут иметь либо только порты 100Base-T4, либо 100Base-TX и 100Base-FX). В одном сегменте коллизий может быть не более 1 концентратора класса I или не более 2 концентраторов класса II (расстояние между ними не более 5 м, соединение через специальный uplink порт). В одном сегменте нельзя использовать концентраторы разных классов. Данные правила (а также максимальные диаметры сети, приведенные выше) рассчитаны исходя из наихудших предположений. Аккуратный расчет конкретной сети может позволить установить большее количество концентраторов или увеличить длину кабеля.
Узлы с наиболее интенсивным трафиком желательно размещать поближе к концентратору. Это уменьшает коичество коллизий и увеличивает производительность сети.
Защита от прослушивания может быть обеспечена привязкой допустимого MAC адреса к порту. Для этого концентратор должен иметь возможность настройки (порт RS-232 или SNMP). При поступлении через порт кадров с неразрешенным MAC адресом данный порт отключается (по-моему, это никак не может помешать прослушиванию, если сидеть тихо; к тому же многие сетевые адаптеры позволяют прошить в EEPROM любой MAC адрес). Дополнительной защитой может служить преднамеренное искажение кадров, передаваемых на все порты кроме того, к которому подсоединен узел назначения (для этого также необходимо приписать MAC адрес к порту). Для управления по протоколу SNMP концентратор (точнее, SNMP агент в нем) должен иметь IP и MAC адреса.
Многосегментные концентраторы имеют несколько шин, к одной из которых может быть подключен любой порт. Получается как бы несколько концентраторов в одном корпусе и с возможностью гибкого переключения портов (иногда даже через RS-232 или SNMP, этакая кроссовая панель с дистанционным управлением).
Выпускаются (выпускались?) также стековые и модульные концентраторы. При нынешних ценах на коммутаторы их использование потеряло смысл.
Дополнительные возможности: резервные порты, RMON, дистанционное отключение портов, загрузка firmware по Xmodem или TFTP, поддержка BOOTP и DHCP, telnet.
Повторители не позволяют объединять в один сегмент узлы Ethernet и Fast Ethernet, т.к. у них отсутствует буфер, но выпускаются гибридные устройства, имеющие мост вместо одно (или даже всех!) из портов. Подобные устройства позволяют также каскадировать повторители.
Коммутаторы
Коммутатор (мост, switch, bridge) делит логическую сеть на сегменты, основываясь на аппаратных (MAC) адресах, но оставляет один сегмент с точки зрения широковещательных рассылок. То есть пакет, адресованный на индивидуальный адрес, получит только этот узел, но широковещательные пакеты будут распространяться по всей сети.
Мост (IEEE 802.1d) называется прозрачным, т.к. он работает незаметно для сетевых адаптеров, строя адресную таблицу исходя из пассивного наблюдения трафика. Порт моста не имеет собственного MAC адреса и буферизует все пакеты, приходящие на его порты. Адрес источника записывается в адресную таблицу. Если адрес получателя присутствует в таблице, то пакет передается в нужный сегмент через соответствующий порт (forwarding). Если при этом адрес получателя приписан к тому же порту, что и адрес отправителя, то пакет фильтруется (filtering). Если адрес получателя отсутствует в таблице или он групповой или широковещательный, то пакет рассылается по всем сегментам, кроме исходного (flooding). По мере проявления активности узлов таблица адресов заполняется. При переполнении таблицы новый адрес замещает один из старых. Элементы адресной таблицы могут также статически задаваться администратором сети (только для управляемых коммутаторов). При этом администратор может устанавливать фильтр, указывающий что делать с пакетом, имеющим данный адрес получателя (передать на определенный порт, выбросить, распространить по всем портам). В целях усиления безопасности администратор может запретить или ограничить занесение новых элементов в таблицу, а также задать фильтрацию пакетов, поступающих с неизвестных MAC адресов. Динамические элементы имеют ограниченный срок жизни, чтобы коммутатор мог отслеживать перемещения компьютеров. Для борьбы с избыточным широковещательным трафиком для каждого узла может быть установлена максимальная интенсивность широковещательных рассылок.
Неблокирующий коммутатор (wire speed) позволяет передавать кадры через порты с максимальной скоростью, обеспечиваемой этими портами (10 Mb/s, 100 Mb/s, полудуплекс или полный дуплекс, желательна поддержка стандарта NWay автоматического согласования скорости и режима дуплекса). Например, для 24-портового коммутатора, работающего в режиме полного дуплекса необходима пропускная способность 24x200Mbps = 4.8 Gbps. Практически все продаваемые в настоящее время коммутаторы рекламируются как неблокирующие, но при сочетании различных скоростей и режимов дуплекса на разных портах могут быть проблемы вплоть до падения скорости до 50 КБ/сек. См., например, результаты испытаний дешевых коммутаторов.
Даже неблокирующий коммутатор не сможет обслуживать полноскоростные входящие потоки из 2 портов, направленные в один выходной порт. Через некоторое время (зависит от размера буфера) он начнет терять кадры. Коммутатор может воздействовать на генерирующие пакеты узлы слегка нарушая протокол доступа к среде:
метод обратного давления (backpressure) - создание искусственных коллизий в сегменте, из которого приходит слишком много пакетов
агрессивное поведение порта коммутатора - укороченные межпакетные интервалы или укороченная пауза после коллизии
При подключении к порту коммутатора одного узла (микросегментация) появляется возможность работать в дуплексном режиме: достаточно не считать одновременную работу приемника и передатчика коллизией (в любом случае, они используют отдельные витые пары). Если при полудуплексном режиме интенсивность генерации пакетов узлом "автомагически" контролировалась алгоритмом доступа к разделяемой среде, то в дуплексном режиме ничто не мешает одному узлу выдавать пакеты со скоростью, неприемлемой для принимающего узла. Стандарт IEEE 802.3x ввел команды физического уровня "приостановить передачу" (PAUSE) и "возобновить передачу".
Методы коммутации:
на лету (on the fly, cut throught) - передача в порт назначения через коммутационную матрицу и дальше в сегмент назначения начинается не дожидаясь получения всего кадра, задержка передачи уменьшается
буферизация кадра перед его передачей через матрицу (store and forward) позволяет отбрасывать "битые" пакеты (в том числе в результате коллизий), поддерживать резервные связи, анализировать трафик и транслировать протоколы канального уровня (IEEE 802.1h), в том числе передавать кадры между портами 10Mbps и 100Mbps
адаптивная смена метода в зависимости от уровня ошибок и требуемых дополнительных функций
Конструктивное исполнение:
автономные коммутаторы
собираемые в стек (позволяют соединять их в один логический коммутатор с помощью специальных интерфейсов)
модульные комутаторы, вставляемые в шасси
Транковые соединения (link aggregation group, EtherChannels) позволяют объединить несколько связей в единое целое, увеличивая как производительность, так и надежность.
Построенная на коммутаторах сеть не может содержать петли, иначе пакет начинает бесконечно циркулировать по этой петле (нет аналога TTL), а коммутаторы перестраивать свои адресные таблицы. Для повышения надежности между узлами прокладывают избыточные связи, но при этом некоторые порты блокируют вручную или с помощью алгоритма STA (Spanning Tree Algorithm, IEEE 802.1d/802.1D-2004, Spanning Tree Protocol, RSTP, IEEE 802.1W). STA (STP) позволяет коммутаторам автоматически строить покрывающее дерево на множестве всех связей сети с помощью постоянного обмена служебными пакетами (BPDU) по групповым или широковещательному адресу. Обмен начинается при включении или при обнаружении потери связности. Для работы STA необходимо назначить корневой коммутатор (может выбираться автоматически по минимальному MAC адресу блока управления) и определить время передачи для каждого соединения (расстояние). Для перестройки дерева при отказе связи или узла требуется несколько секунд (минута?). Ускоренный механизм резервных связей (RSTP, distance vector model) работает значительно быстрее (меньше секунды при правильной настройке). Для сетей с VLAN используется MSTP (Multiple Spanning Tree Protocol).
Коммутатор может иметь для каждого выходного порта несколько очередей с различным приоритетом. Приоритет может назначаться исходя из номера входного порта, MAC адреса, IP адреса (для коммутаторов 3 уровня) или согласно IEEE 802.1p/802.1Q, в котором определяется дополнительный 2-байтный заголовок (содержит также информацию о номере VLAN из IEEE 802.1Q), вставляемый перед полем даных и содержащий 3-битный уровень приоритета. Заголовок вставляется коммутатором по запросу узла и удаляется при передаче пакета узлу, не поддерживающему IEEE 802.1p. Могут использоваться частные протоколы назначения приоритета (например, PACE фирмы 3COM). Класификация трафика может использоваться не только для задания приоритетов, но и для ограничения полосы пропускания сверху и снизу.
Коммутатор с возможностями VLAN (virtual LAN) позволяет разделять не только индивидуальный, но и широковещательный трафик, полностью изолируя сегменты друг от друга. Помогает противостоять хакерским атакам, превращающим коммутатор в концентратор путем переполнения таблицы адресов (т.е. таблица переполняется, но границы между VLAN остаются неприступными). Разрабатывался для оптимизации трафика, а не для защиты, так что полагаться на него не стоит. Один узел может входить в состав нескольких VLAN. Для передачи кадров между виртуальными сегментами необходимо использовать маршрутизатор, который может быть подключен через один интерфейс сразу в несколько VLAN ("однорукий" маршрутизатор). VLAN образуются на основе номеров подсетей (для коммутаторов 3 уровня), портов, MAC адресов или стандарта IEEE 802.1q, в котором обределяется дополнительный 2-байтный заголовок (содержит также информацию о приоритете кадра согласно IEEE 802.1p), вставляемый перед полем данных и содержащий 12-битный идентификатор VLAN (VID 0, 1 и 4095 зарезервированы). Заголовок вставляется коммутатором по запросу узла и удаляется при передаче пакета узлу, не поддерживающему IEEE 802.1q. Могут использоваться частные протоколы (ISL фирмы Cisco). Для каждой VLAN строится свое покрывающее дерево STA.
Стандарты 802.1p/802.1Q/802.1Q-2003 (вошли в 802.1D в 1998 году) определяют новые форматы MAC кадра (помеченные кадры) для различных вариантов кадра (802.3/LLC, Ethernet II) и правила трансляции из обычных кадров в помеченные и обратно. Например, помеченный кадр Ethernet II состоит из полей (заметьте, что максимальный размер увеличивается на 4 байта - с 1518 до 1522 байт):
преамбула и ограничитель кадра
адрес назначения - 6 байт
адрес источника - 6 байт
специальный тип протокола (Tag Protocol Identifier, 0x8100) - 2 байта
метка - 2 байта (3 бита - приоритет (классы трафика должны отображаться на приоритет: управление, голос, видео, контролируемое приложение, приоритетное приложение, обычное приложение, фоновое приложение), 1 бит - флаг инкапсуляции Token Ring, 12 бит - номер VLAN)
тип протокола из исходного кадра - 2 байта
остальные поля Ethernet II
Протокол GARP между узлом и коммутатором позволяет узлам динамически присоединяться к VLAN или группе (multicast) и покидать ее.
IGMP snooping (IGMP, RFC 1112) - способность коммутатора "заглядывать" в пакеты IGMP и DVMRIP для определения на каких портах находятся члены многоадресных IP групп (224.0.0.0 - 239.255.255.255).
Полезной возможностью "продвинутых" коммутаторов является способность фильтровать трафик или назначать приоритеты исходя из содержания пакета (смещение поля, размер, значение).
Управление коммутатором (заметьте, что все in-band методы управления передают информацию - включая пароль! - открытым текстом):
RS-232 (out-band)
SNMP
telnet
HTTP
HP ProCurve 1400
HP ProCurve 1400 (J9077A) представляет собой 8-портовый неуправляемый коммутатор с автоматическим определением 10/100/1000 (протокол IEEE 802.3, тип 10Base-T, протокол IEEE 802.3u, тип 100Base-TX, протокол IEEE 802.3ab 1000Base-T Gigabit Ethernet). Монтируется только в горизонтальном положении. Размер пакетного буфера: 144 КБ. Ёмкость ПЗУ/ОЗУ: 128 КБ. Задержки на скорости 100 Мб менее 3,9 мкс (размер пакета 64 байта), на скорости 1000 Мб - менее 2,1 мкс (размер пакета 64 байта). Размер адресной таблицы - 8 000 элементов. Производительность коммутации - 16 Гб/с. Пропускная способность до 11,9 млн. пакетов в секунду. Поддержка IEEE 802.3x Flow Control и приоритетности по протоколу IEEE 802.1p. Потребляемая мощность - 18 Вт.
HP ProCurve 2810-48
HP ProCurve 2810-48: 44 порта RJ-45 (10/100/1000, Auto-MDIX), 4 порта совмещают RJ-45 (10/100/1000, Auto-MDIX) и mini-GBIC (ревизии B и новее), управляющий последовательный порт (RJ-45), MIPS 264 MHz, 64 MB SDRAM, 16 MB Flash, буфер пакетов 1.5 MB, задержка 5.4 мкс, 96 Gbps, 71.4 Mpps, таблица NAC адресов - 8000, 92 W, 4 кг, 341 BTU/h (360 kJ/h). Интерфейс управления: командная строка, меню, веб-интерфейс (требуется Java).
Умеет выводить сообщения на syslog (по умолчанию в user):
configure
logging ip-адрес
logging facility имя
debug event
write memory
show debug
Обновление прошивки по TFTP (настройки не изменяются, требуется перезагрузка, secondary - запасная прошивка): "copy tftp flash IP-адрес имя-файла [primary|secondary]". В прошивке N.11.25 добавлена поддержка RADIUS.
Разрешение приёма Jumbo кадров (до 9220 байт, включая метку VLAN) осуществляется по всей VLAN (по умолчанию выключено, только статические VLAN). Действует только для портов 1Gbps без включённого контроля потока (выключен по умолчанию). Попавший в коммутатор Jumbo пакет будет выведен через гигабитный порт при любых настройках. Настройка:
show vlans # посмотреть настройки Jumbo, DEFAULT_VLAN
show vlans ports номер-порта # к какому VLAN принадлежит порт
show vlan номер-VLAN # посмотреть настройки Jumbo и список портов
configure
[no] vlan номер-VLAN jumbo # разрешить Jumbo кадры
exit
write memory
Настройки Jumbo кадров в Linux:
ip l set dev eth0 mtu 9000
Агрегирование портов (до 24 групп - на следующей странице указывается до 6 групп, до 4 активных портов и до 4 резервных) для увеличения скорости и/или надёжности: ручное (trunk) или с использованием 802.3ad (LACP, Link Aggregation Control Protocol). Для распределения кадров по выходным портам используется алгоритм SA/DA: все кадры с одинаковыми парами MAC адресов источника и назначения идут через один и тот же порт; кадры с одинаковыми адресами источника, но разными адресами назначения равномерно разбрасываются по портам; кадры с разными адресами источника, но одинаковыми адресами назначения также равномерно разбрасываются (возможна ситуация когда один порт переполнен, а другие простаивают). Порты устройства сегментированы и группа портов должна входить в один сегмент (ссылка на таблицу сегментов есть, самой таблицы нет). Требуется сначала настроить LACP или транки и только затем соединять устройства. При настройке возможен перерыв в обслуживании до 30 секунд. Настройки STP и VLAN едины для всей группы. LACP несовместим с аутентификацией 802.1X и port-security. Группа не может быть портом мониторинга (но можно мониторить статическую группу). Порты, входящие в группу, должны быть соединены между устройствами напрямую одним типом носителя и иметь одинаковую скорость, режим дуплекса и управление потоком. Для LACP необходим полный дуплекс (рекомендуется установить Auto). LACP позволяет статическое или динамическое объединение пропускной способности с автоматическим отключением сбойных линий и последующим восстановлением или резервирование портов. Порт в пассивном LACP режиме (выключён по умолчанию, хотя в документации утверждается обратное) отвечает на запросы по объединению портов с другой стороны, в активном режиме - выдаёт запросы на объединение. Порты с обоих сторон могут быть в активном режиме. Статический LACP необходим для использования мониторинга, использования нестандартных настроек STP или IGMP, включения во VLAN, отличный от DEFAULT_VLAN, без использования GVRP и если с другой стороны статический LACP. Статический LACP (Trk), динамический LACP (Dyn) и транк (Trk) несовместимы. Посмотреть статические группы: "show trunks". Создать статическую группу: "trunk список-портов trkНомер {trunk | lacp}". Удалить порт из статической группы: "no trunk список-портов" (необходимо предварительно разъединить устройства, иначе без STP - выключен по умолчанию - будет широковещательный шторм). Посмотреть LACP группы: "show lacp". Перевод группы портов в активный режим LACP: "interface список-портов lacp active". Отключение LACP: "no interface список-портов lacp". Отключение активного режима: "no interface список-портов lacp; interface список-портов lacp passive". Отключение активного режима, если группа уже используется:
configure
interface список-портов
disable
lacp passive
enable
Allied Telesyn AT-8124XL (V2)
Allied Telesyn AT-8124XL (V2) представляет собой 24-портовый неблокирующий коммутатор (8.8 Gbps, 6.5Mpps, store and forward) Fast Ethernet (802.3 и 802.3u, 10Base-T, 100Base-TX) с автоматическим согласованием скорости и режима дуплекса, возможностью вручную отключить доступ к порту, задать его скорость и режим дуплекса, включить управление потоком (методом обратного давления для полудуплекса или 802.3x для дуплекса). Имеются индикаторы скорости и режима дуплекса для каждого порта, наличие подключенного к порту устройства, его скорость, MAC адрес порта можно проверить средствами удаленного управления. Один порт может быть переключен кнопкой из режима MDI-X в MDI. 4 MB DRAM (до 8192 MAC адресов, 2 MB под буфер).
Поддерживает алгоритм покрывающего дерева STA (802.1D), по умолчанию - выключен (включение делает устройство временно недоступным), позволяет задавать приоритет коммутатора (используется для определения корня), интервал между пакетами, время устаревания информации, время задержки перед переходом к новому дереву. Есть возможность посмотреть идентификатор корня, корневой порт и расстояние до корня. Для каждого порта можно установить приоритет и расстояние (cost), используемые в STA (но не для 802.1p!).
Поддержка 4 очередей с приоритетами, приоритетов на основе портов нет, имеется возможность задать соответствие приоритета 802.1p входящих пакетов (0 - низший, 7 - высший) номеру очереди (3 - низший, 0 - высший). Включение QoS отключает управление потоком на всех портах.
До 64 VLAN на основе меток 802.1Q и/или портов. Конфигурировать VLAN можно только через RS-232: чтобы добавить порт в новую VLAN, его надо удалить из Default VLAN, а редактировать можно только отключенные VLAN, а отключение Default VLAN остановит всю сетку. При создании каждой VLAN назначается идентификатор (VID, 1-4094) и имя (для красоты, до 32 символов). Также для каждого порта указывается, принадлежит ли он данной VLAN и тип порта (с метками или без). Порт без меток может принадлежать только одной VLAN. Порт может быть определен как порт без меток для одной VLAN и как порт с метками для нескольких других VLAN. Каждому порту назначается PVID (Port VLAN Identifier). PVID порта без меток должет совпадать с его VLAN. При получении кадра без метки 802.1Q, коммутатор назначает ему VLAN исходя из PVID порта и посылает (может быть) только на порты, входящие в данную VLAN. При получении кадра с меткой 802.1Q коммутатор выбрасывает его, если порт не принадлежит указанной в кадре VLAN и включена Ingress фильтрация, иначе кадр посылается (может быть) только на порты, входящие в указанные VLAN. Перед отправкой кадра в порт без меток, метка удаляется. Подключенное к порту с метками устройство должно уметь принимать кадры с метками и должно отправлять кадры с метками.
Имеется возможность включить "подглядывание" за пакетами протоколов IGMP и DVMRIP, а также задать время старения полученной информации. Пакеты с групповым IP адресом получателя будут передаваться только на необходимые порты. Можно также посмотреть таблицу соответствия групповых IP адресов и портов, к которым подключены члены группы.
Агрегирование до 4 портов на транк и до 4 транков. Есть физические ограничения на принадлежность портов к одному транку (разночтения в документации). Все порты одного транка должны принадлежать одной VLAN. Все порты транка будут 100 Mb, полный дуплекс с управлением потоком. Протокол транкинга (свой или 802.3ad) неизвестен.
Последняя версия firmware AT-S30 1.0.4 (MIB заменили на собственный). Загрузка новых версий по TFTP (задается IP адрес и имя файла до 30 символов). Возможна удаленная перезагрузка с сохранением текущих параметров, с возвратом к фабричным значениям и с возвратом к фабричным значениям, кроме IP.
Управляется по RS-232 (я соединяю его с AUX на Cisco 2500 и захожу обратным telnet), telnet, HTTP (местами требуется Java), SNMPv1 (MIB-II - RFC-1213, MIB моста - RFC-1493, исправленная под SNMPv2 группа interfaces MIB-II - RFC-1573 (однако, ifMIB с ее 64-битными счетчиками отсутствует), Ethernet MIB - RFC-1643, RMON - RFC-1757 (только группы 1, 2 и 3), private MIB). При управлении через RS-232 или telnet перед заполнением любого поля (например, пароль при входе ;) требуется нажать Enter. Во всех режимах, кроме RS-232, данные (в том числе пароль!) передаются по сети в открытом виде. Все режимы управления, кроме RS-232 можно запретить (по умолчанию они все разрешены). Для всех in-band режимов управления необходимо установить IP адрес, маску подсети, IP адрес шлюза по умолчанию (если станция управления находится в другой локальной сети), возможность получения этих параметров от сервера BOOTP или DHCP (выводится MAC адрес блока управления). Уровень доступа при управлении по RS-232, telnet и HTTP только один (при изготовлении устройства устанавливается имя admin и пустой пароль). При задании пароля рекомендуется ограничиться латинскими буквами и цифрами, иначе будут проблемы с доступом по HTTP. Имеются отдельные таймеры неактивности для RS-232 и telnet. При управлении по SMTP имеются отдельные пароли доступа (community) для чтения (public), для записи (private) и посылки trap (public, необходимо также указать до 4 IP адресов получателей). Единственный trap, который можно настроить - это посылка сообщений при неавторизованном SNMP доступе.
HTTP доступ не позволяет: сбросить коммутатор, конфигурировать QoS, IGMP, мониторинг порта, посмотреть таблицу MAC адресов.
Коммутатор позволяет посмотреть или установить по RS-232, telnet или HTTP объекты SNMP группы System: SysUpTime (время работы после загрузки), SysDescr (AT-8124XL), SysObjectID (уникальный серийный номер), SysName, SysLocation, SysContact. Здесь же можно посмотреть разнообразную статистику, собираемую SNMP агентом для каждого порта первой группы RMON: число байт и пакетов из сегмента, число broadcast и multicast, число различного типа ошибок и распределение пакетов по размерам.
К сожалению, нет возможности вручную задать MAC адреса подключенных к порту устройств и отключить режим самообучения (адреОбновление прошивки по TFTP (настройки не изменяются, требуется перезагрузка, secondary - запасная прошивка): са хранятся в DRAM и сбрасываются при отключении питания). Можно задать только время устаревания информации, по умолчанию - 300 секунд. Есть также средства поиска номера порта по MAC адресу, что можно использовать для приблизительного внешнего контроля.
Можно мониторить только входной или только выходной трафик одного порта на 14 порту. Скорость 14 порта необходимо принудительно установить равной скорости исследуемого порта. Во время мониторинга к 14 порту нельзя подключать обычную станцию, т.к. собственный трафик порта блокируется (даже ее MAC адрес не заносится в таблицу). Собственный трафик станции надо пропускать через вторую сетевую карту и не забыть проделать дырку в сетевом экране.
Zyxel Dimension ES-2008-GTP EE
Zyxel Dimension ES-2008-GTP EE представляет собой 8-портовый неблокирующий коммутатор (3.6 Gbps, store and forward) Fast Ethernet (802.3 и 802.3u, 10Base-T, 100Base-TX, автоматическое определение MDI/MDI-X) с портом 1000Base-TX (адресуется как порт 10) с автоматическим согласованием скорости и режима дуплекса, возможностью вручную отключить доступ к порту, задать его скорость и режим дуплекса, включить управление потоком (методом обратного давления для полудуплекса или 802.3x для дуплекса). Имеются индикаторы скорости и режима дуплекса для каждого порта, наличие подключенного к порту устройства, его скорость и режим можно проверить средствами удаленного управления (MAC адреса подключённых устройств можно посмотреть только в неописанной части SNMP - SNMPv2-SMI::mib-2.17.4.3, номера портов в mib-2.17.7.1.2.2.1.2 (snmpwalk -c public -v 1 10.101.0.243 SNMPv2-SMI::mib-2.17.7.1.2.2.1.2, в десятичной нотации)). До 8000 MAC адресов, 2 Mb под буфер пакетов. Встроенный блок питания, 17 W, но греется сильно. Стандартные установки: свой адрес - 192.168.1.1 (после изменения адреса необходимо перезагрузиться), адрес шлюза - 192.168.1.254, имя/пароль - admin/1234. DHCP - нет! В прошивке до 1.10 имеется имя/пароль для HTTP - guest:guest (неотключаемые ;), в новой прошивке их поменяли на что-то другое. Чтобы сбросить забытый пароль необходимо подключиться к коммутатору по RS-232 и ввести имя/пароль: superuser/zyxel, после чего ввести команду flashdf и отключить питание. Загружается достаточно медленно, чтобы успело разорваться SSH-соединение.
Управляется по HTTP (требуется IE 5.5, иначе работает не всё - устройство выдаёт всю информацию, но JavaScript-ы отображают её только в IE; состояние порта: http://192.168.1.1/portcot.htm?port=1; 5-секундный refresh на каждой странице доводит до бешенства), telnet, RS-232, SNMPv1 (RFC-1157, RFC-1213, RFC-1493, RFC-1757, RFC-2674, ES-2008-GTP.MIB). Доступ по telnet и HTTP можно ограничить четырьмя исходящими IP адресами или запретить совсем. Только один оператор одновременно. В прошивке до 1.15 имеется возможность обойти систему безопасности при управлении по HTTP.
Имеется управление очередью пакетов (FIFO, приоритетный (в смысле QoS) пакет вперёд, соотношение между высоко- и низкоприоритетным трафиком), STP (IEEE 802.1D, обеспечение запасных путей без образования циклов), IGMP (протокол управления членством в multicast группах: извлечение информации из проходящего трафика и работа в качестве IGMP сервера - Auto, Enable, Disable), VLAN (по портам, 802.1Q без GVRP в пределах коммутатора, 802.1Q с GVRP между коммутаторами). Агрегирование портов: до 8 портов, ручное (trunk) или 802.3ad (динамическое объединение или резервный порт с помощью LAPC, порт может быть в активном или пассивном режиме). Для LACP необходим полный дуплекс. Все порты в одной группе транка должны иметь одинаковые параметры. LACP и транки несовместимы. Требуется сначала настроить LACP или транки и только затем соединять. MAC адреса можно привязывать к портам статически, можно запретить динамическое занесение новых MAC адресов для указанных портов (port security), можно задать список фильтруемых MAC адресов. Любую комбинацию входящего и/или исходящего трафика для произвольного списка портов (включая гигабитный) можно направить на любой порт для анализа (mirror), при этом порт мониторинга продолжает получать свой трафик. Имеется возможность ограничить время нахождения пакета в очереди устройства (1, 2 или 4 секунды), возможность задать максимальную долю широковещательных пакетов (broadcast storm filter).
По умолчанию все порты имеют VLAN ID 1 (удалять её нельзя). При распределении VLAN по портам каждый порт приписывается ровно к одной VLAN (ID от 1 до 4094). При использовании VLAN в соответствии с 802.1Q в каждый исходящий из порта ethernet кадр добавляется поле, содержащее VLAN ID. Кадр, приходящий в порт, может иметь метку произвольного VLAN, VLAN ID для не имеющих меток кадров указывается при настройке коммутатора. Можно фильтровать входящие кадры, имеющие неправильный VLAN ID и/или не имеющие меток. GVRP - GARP (Generic Attribute Registration Protocol) VLAN Registration Protocol - обеспечивает обмен информацией о членстве во VLAN между коммутаторами (т.е. достаточно поменять конфигурацию только с одной стороны).
Последняя версия firmware (1.17 для EPCB04602). Загрузка новых версий по TFTP (задается IP адрес и имя файла, не более 15 символов) при конфигурировании через браузер или X-Modem при конфигурировании через RS-232 (конфигурировании по telnet не позволяет заменить прошивку). Возможна удаленная перезагрузка с сохранением текущих параметров, с возвратом к фабричным значениям.
Zyxel ES-2108-G
Zyxel ES-2108-G представляет собой 8-портовый неблокирующий коммутатор (5.6 Gbps (используется 3.6 Gbps), 2.7 Mpps, store and forward) Fast Ethernet (802.3 и 802.3u, 10Base-T, 100Base-TX, автоматическое определение MDI/MDI-X) с портом 1000Base-TX (адресуется как порт 9, 802.3ab, может работать как 100Base-T) с автоматическим согласованием скорости и режима дуплекса (1000Base-TX только полный дуплекс), возможностью вручную отключить доступ к порту, задать его имя, скорость и режим дуплекса (по умолчанию определяется автоматически), включить управление потоком (методом обратного давления для полудуплекса или 802.3x для дуплекса; по умолчанию - выключен) и QoS приоритет для исходящик пакетов. mini-GBIC слот (SFP, при подключении отключается гигабитный порт). Максимальный размер кадра - 1522 байта. До 24 коммутаторов можно соединять в стек с одним IP адресом. Загружается достаточно медленно, чтобы успело разорваться SSH-соединение (2 минуты). Индикаторы питания, загрузки (SYS, мигает во время загрузки), ошибки (ALM, горит красным цветом при сбое). Имеются индикаторы скорости (для обычных портов: зелёный - 10 Mbps, янтарный - 100 Mbps; для гигабитного порта: зелёный - 1000 Mbps, янтарный - 100 Mbps). Наличие подключенного к порту устройства, его скорость и режим можно проверить средствами удаленного управления. До 8000 MAC адресов, 32 Mb под буфер пакетов. Встроенный блок питания, 10 W, тихий вентилятор. Стандартные установки: свой адрес - 192.168.1.1 (после изменения адреса необходимо перезагрузиться; можно задать несколько своих адресов для различных VLAN), адрес шлюза - 0.0.0.0, имя/пароль - admin/1234. DHCP - есть (воспринимается только IP адрес, маска сети и DNS сервер), но чтобы его включить в моём случае надо помучаться: подключить в сегмент 192.168.1.0, зайти telnet/ssh и сконфигурировать (enable, затем configure) статический маршрут, обязательно разрешить подключение нескольких операторов (multi-login), заодно поменять пароль (password пароль, затем admin-password пароль пароль, сохраниться (write memory) и перезагрузиться. Теперь можно зайти с другого сегмента по HTTP/HTTPS и включить DHCP, маршрут убрать, (в старой версии в CLI не было возможности включить DHCP, в сегменте 192.168.1.0 у меня нет клиентских компьютеров, lynx/elinks не позволяют нажать кнопку Apply). В новой версии появилась возможность включить DHCP из CLI:
enable
configure
multi-login
password пароль
admin-password пароль пароль
vlan 1
ip address default-management dhcp-bootp
перейти на другую консоль ;)
enable
configure
service-control icmp snmp
no service-control ftp
snmp-server contact ответственный location расположение
snmp-server get-community пароль-на-чтение
snmp-server set-community пароль-на-запись
time timezone 0300
timesync server адрес-NTP-сервера
timesync ntp
exit
write memory
exit
Имеется возможность задавать статические маршруты для исходящих пакетов. Текущее время можно устананавливать вручную или указать адрес сервера DAYTIME, TIME или NTP. Имеет встроенный журнал и возможность удалённого тестирования портов.
Чтобы сбросить забытый пароль необходимо подключиться к коммутатору по RS-232, выключить питание, включить питание, нажать "any key" в течении 3 секунд, чтобы войти в режим отладки, загрузить стандартную конфигурацию (команда atlc, протокол XMODEM, файл?), перезапустить коммутатор (atgo).
Управляется по HTTP (в этой версии поддерживается и Firefox, но требуется JavaScript и всплывающие окна - не заметил ни одного; проблему с 5 секундным интервалом обновления тоже поправили; можно изменять интервал неактивности - 3минуты), HTTPS (самоподписанный сертификат), telnet, SSH (SSH2, RSA, DES, 3DES, Blowfish, аутентификации по ключу нет), RS-232 (9600N81, vt100, без управления потоком), SNMPv2c (RFC-1157, RFC-1213, RFC-1493, RFC-1757, RFC-2674, zyxel-ES2108G.mib удалось извлечь с помощью cabextract и unshield из триальной версии NetAtlas; прошивка 3.80 содержит MIB). MAC адреса подключённых устройств можно посмотреть только в неописанной части SNMP - SNMPv2-SMI::mib-2.17.4.3.1.1, номера портов в SNMPv2-SMI::mib-2.17.4.3.1.2 (snmpwalk -c public -v 1 10.101.0.241 SNMPv2-SMI::mib-2.17.4.3.1.2), в десятичной нотации) или командой: show mac address-table all. В браузере таблица MAC адресов пуста, но есть таблица ARP (без указания номера порта и VLAN ID, может он ещё и маршрутизировать умеет). Соответствие между IP-адресом и MAC-адресом: IP-MIB::ipNetToMediaPhysAddress.1. Имя community на запись доступно для любого, кто знает имя community для чтения. Доступ по любому протоколу можно ограничить списком исходящих IP адресов (до 4 списков). Любой метод администрирования можно отключить или изменить номер порта (кроме SNMP). Есть возможность доступа нескольких администраторов одновременно (одновременно только один консольный сеанс или telnet или ssh, один FTP сеанс, 5 web сеансов под разными именами, но только один администратор с именем admin). Возможна локальная аутентификация или RADIUS (IEEE 802.1x), в т.ч. отдельно для каждого порта. Используемые UDP-порты: 53 (работающий ISC Bind 9.2.1 DNS сервер, к которому можно обращаться!), 67 (bootps?), 68 (bootpc), 69 (tftp?), 161 (snmp), 162 (snmptrap?), 263 (?), 520 (?), 1024 (?), 1025 (?), 1026 (?).
Имеется управление очередью исходящих пакетов (FIFO, приоритетный (в смысле QoS, 802.1P) пакет вперёд). Физических очередей - 4 (самая приоритетная - 3, низкоприоритетная - 0), можно задать отображение уровней QoS (802.1p) на номер очереди (по умолчанию, уровни 1 и 2 отображаются на очередь 0, а уровень 0 - на очередь 1). Алгоритмы управления очередями - SPQ (Strict Priority Queuing, пока высокоприоритетная очередь Q3 не опустеет - низкоприоритетные пакеты не уйдут); WRR (Weighted Round Robin, задаётся соотношение между высоко- и низкоприоритетным трафиком, каждая очередь получает свою долю общего трафика). DiffServ (маркировка пакетов, DSCP) использует в заголовках IP пакетов поле DS вместо поля ToS (Type of Service) для задания приоритета обслуживания (64 уровня вместо 8 в ToS, обратная совместимость). Можно задать таблицу соответствия уровней DSCP и 802.1P. STP/RSTP (IEEE 802.1D и быстрый вариант 802.1W, обеспечение запасных путей без образования циклов). IGMP (протокол управления членством в multicast группах: извлечение информации из проходящего трафика и работа в качестве IGMP сервера - Auto, Enable, Disable). Агрегирование портов (до 2 групп на коммутатор, до 4 портов в группе, только порты 100M): ручное (trunk) или 802.3ad (динамическое объединение или резервный порт с помощью LAPC, порт может быть в активном или пассивном режиме). Для LACP необходим полный дуплекс. Все порты в одной группе транка должны иметь одинаковые параметры (носитель, скорость, дуплекс, управление потоком). LACP и транки несовместимы. Требуется сначала настроить LACP или транки и только затем соединять. MAC адреса можно привязывать к портам статически (до 256 адресов), можно задать список фильтруемых MAC адресов (до 256 адресов). Можно запретить динамическое занесение новых MAC адресов для указанных портов (почему-то только 100M порты) или ограничить количество добавляемых MAC адресов, а также запретить прохождение через порт пакетов, MAC адрес которых отсутствует в таблице (port security). Любую комбинацию входящего и/или исходящего трафика для произвольного списка портов (включая гигабитный) можно направить на любой порт для анализа (mirror), при этом порт мониторинга продолжает получать свой трафик. Входящий и/или исходящий трафик при этом можно фильтровать по MAC адресу источника и/или приёмника. Имеется возможность ограничить время нахождения пакета в очереди устройства (1, 2 или 4 секунды). Можно задать максимальный трафик широковещательных пакетов (broadcast storm filter). Можно ограничить входящий и/или исходящий трафик (в зависимости от диапазона округляется до 64 kbps, 1 mbps или 8 mbps).
VLAN (по портам, до 4094 PVID, до 256 статических VLAN, 802.1Q без GVRP в пределах коммутатора, 802.1Q с GVRP между коммутаторами). GVRP - GARP (Generic Attribute Registration Protocol) VLAN Registration Protocol - обеспечивает обмен информацией о членстве во VLAN между коммутаторами (т.е. достаточно поменять конфигурацию только с одной стороны). VLAN trunking позволяет пропускать пакеты с незнакомыми VLAN ID насквозь для указанных портов. По умолчанию все порты имеют VLAN ID 1 (удалять её не стоит). При статической конфигурации VLAN для каждого порта указывается принадлежит ли он к этой VLAN, нужно ли обрезать или добавлять заголовок 802.1Q, позволять ли добавлять порт к VLAN по GVRP, не позволять или привязать его статически. Есть возможность изоляции портов. При распределении VLAN по портам каждый порт приписывается к VLAN 1. Порт с именем CPU является портом управления (его разумно соединить со всеми портами). Конфигурация заключается в разметке матрицы портов: с какого порта на какой можно отправлять пакеты (имеется 2 предопределённые матрицы: всеобщая связь и изоляция портов). При использовании VLAN в соответствии с 802.1Q в каждый исходящий из порта ethernet кадр добавляется поле, содержащее VLAN ID. Кадр, приходящий в порт, может иметь метку произвольного VLAN, VLAN ID для не имеющих меток кадров указывается при настройке коммутатора. Можно фильтровать входящие кадры, имеющие неправильный VLAN ID и/или не имеющие меток.
Последняя версия firmware (v3.80 (ABL.0) C0, Bootbase Version 1.02, RomFile Version 84; автоматический переход на летнее время, блокировка циклов, TACACS+, 802.3ah, DHCP Relay, IP Source Guard (связывает MAC, IP, номер порта и VLAN), несколько уровней привилегий, SNMPv3, IGMP Snooping). Загрузка новых версий по
FTP: зайти любым FTP-клиентом на коммутатор (требуются имя и пароль администратора) и в двоичном режиме записать новую прошивку (файл с суфиксом .bin) в файл с именем ras; RomFile (.rom) в rom-0; текстовый формат файла конфигурации (команды CLI) в config
X-Modem при конфигурировании через RS-232
конфигурирование по telnet не позволяет заменить прошивку
через web интерфейс
Возможна удаленная перезагрузка с сохранением текущих параметров, с возвратом к фабричным значениям. Через web интерфейс можно загрузить прошивку; сохранить, восстановить или сбросить конфигурацию (файл с суффиксом .log содержит команды CLI, в т.ч. установление входного пароля и комьюнити SNMP); перезагрузить устройство.
Командный язык (CLI) для настройки коммутатора по telnet, ssh или с консоли сильно напоминает команды Cisco IOS: подсказки по нажатию клавиши Tab или "?", двухуровневый доступ (после входа можно только посмотреть состояние, команда enable с отдельным паролем для перехода на уровень администратора и префиксом строки "#" вместо ">" на начальном уровне; правда, zyxel похоже запутался с этими паролями на разных уровнях, в web интерфейсе и SNMP), команда configure для перехода на уровень настройки (префикс строки "config#" и подуровни interface, router, VLAN), история команд, редактирование (недоделанное) команд и т.д.. Ключевые слова команды необходимо вводить полностью. Команда "help" выдаёт список имеющихся команд и подкоманд. Команды "?" выдаёт список команд и их описаний. Если первым параметром команды указать "help", то выдаётся синтаксис команды. Если первым параметром команды указать "?", то выдаётся описание параметров команды.
Основные команды уровня оператора:
exit
help
show ip (узнать IP адрес коммутатора, маску и VLAN)
show system-information (имя коммутатора, расположение, ответственный, MAC адрес, версия прошивки)
ping ip-адрес [vlan идентификатор-VLAN] [size размер-пакета]
traceroute ip-адрес [vlan идентификатор-VLAN]
ssh 2 имя-пользователя@ip-адрес
enable (переход на уровень администратора)
Основные команды уровня администратора:
disable (возврат в режим оператора)
configure (переход в режим настройки)
write memory (сохранить сделанные настройки)
boot config (перезапустить коммутатор)
reload config (перезапустить систему)
erase running-config (вернуть заводские настройки)
mac-flash [номер-порта] (очистить таблицу MAC адресов)
no arp (очистить таблицу ARP)
no interface (очистить статистику интерфейсов)
no logging (прекратить запись журнала)
show https [session]
show interface номер-порта (вывод статистики)
show interfaces config номер-порта [bandwidth-control|bstorm-control|egress] (вывод настроек)
show ip [arp|route [static]]
show lacp
show logging (показать (и очистить) системный журнал)
show logins (кто работает в системе)
show mac address-table {all|static} [mac|vid|port] (список MAC адресов с привязкой по портам и VLAN, последний параметр задаёт способ сортировки)
show mac-aging-time
show multi-login (кто работает в системе, с использованием какого интерфейса, IP адрес)
show port-access-authenticator
show port-security
show radius-server
show remote-management (откуда и каким интерфейсом можно управлять коммутатором)
show running-config (вывести текущую конфигурацию)
show service-control (какие интерфейсы управления доступны и на каких портах)
show snmp-server
show spanning-tree config
show ssh [key {rsa1|rsa|dsa} | known-hosts | session]
show time
show timesync (настройки сервера времени)
show trunk
show vlan
show vlan1q [gvrp|ingress-check|port-isolation]
Основные команды режима настройки ("no" перед командой означает обратное действие; список портов записывается через запятую; интервал портов записывается через минус):
exit
admin-password пароль пароль (в открытом виде!)
bandwidth-control
hostname имя-коммутатора
https cert-regeneration {rsa|dsa}
https timeout секунд
igmp-snooping
interface port-channel список-портов (переход в режим настройки интерфейса)
ip name-server ip-адрес-DNS-сервера
ip route адрес маска шлюз [metric число] [name имя] [inactive] (описание статического маршрута)
lacp
loginPrecedence {LocalOnly|LocalRADIUS|RADIUSOnly} (кто аутентифицирует)
logins username имя password пароль (регистрация операторов - только чтение)
mac-aging-time секунд
mac-filter name имя mac адрес vlan идентификатор [inactive] (правила фильтрации)
mac-forward name имя mac адрес vlan идентификатор interface порт [inactive] (статическая привязка MAC адресов к портам)
mirror-filter {egress|ingress} mac адрес type {all|dest|src}
mirror-port [номер-порта] (на этот порт будет копироваться трафик)
multi-login (разрешить одновременную работу нескольких операторов)
password (изменить пароль режима администратора - не путать с паролем администратора ;)
port-access-authenticator [список-портов] (включить аутентификацию по 802.1X)
port-security [список-портов] [learn inactive] [address-limit число] (запрет или ограничение на автоматическое добавление в таблицу MAC адресов)
queue level номер priority номер (отображение уровней QoS на физические приоритеты)
radius-server host адрес [acct-port порт] [key общий-ключ]
remote-management номер-правила start-addr IP-адрес end-addr IP-адрес service [telnet] [ftp] [htt[] [icmp] [snmp] [ssh] [https] (задание списка допущенных к управляющим сервисам)
service-control [ftp порт] [http порт интервал-неактивности] [https порт] [icmp] [snmp] [ssh порт] [telnet порт] (запуск соответствующего сервиса)
snmp-server contact ответственный location месторасположение (задание sysContact и sysLocation)
snmp-server get-community имя
snmp-server set-community имя
snmp-server trap-community имя
snmp-server trap-destination IP-адрес
spanning-tree ...
spq (использовать алгоритм SPQ для работы с очередью пакетов)
ssh known-hosts IP-адрес {1024|ssh-rsa|ssh-dsa} ключ (добавить хост в таблицу знакомых)
storm-control
time часы:минуты:секунды
time date месяц/день/год
time timezone смещение-в-часах-и-минутах
timesync server IP-адрес
timesync {daytime|time|ntp} (предварительно указать сервер и зону)
trunk {T1|T2}
trunk {T1|T2} interface список-портов (добавить порт в транк)
trunk {T1|T2} lacp
trunk {T1|T2} interface список-портов timeout секунд (добавить порт в LACP группу)
vlan идентификатор-VLAN (переход в режим настройки VLAN)
vlan-type {802.1q|port-based}
vlan1q [gvrp] [ingress-check] [port-isolation]
wrr (использовать алгоритм WRR для работы с очередью пакетов)
Основные параметры настройки интерфейса ("no" перед командой означает обратное действие):
exit
bandwith-limit [egress кб/сек] [ingress кб/сек] (настройка ограничения трафика)
bmstorm-limit [кб/сек] (настройка ограничения широковещательных пакетов)
diffserv
egress set список-портов (порты исходящего трафика для VLAN, основанной на портах; 0 - это CPU)
flow-control
frame-type {all|tagged} (принимать ли пакеты без VLAN меток)
gvrp
inactive
mirror [dir {ingress|egress|both}] (с этих портов будет копироваться трафик)
name имя-порта (не более 9 ASCII символов)
pvid номер (какой идентификатор писать во VLAN метку, если пакет пришёл на порт без VLAN меток)
qos priority приоритет (какой приоритет записывать в метку QoS, если пакет пришёл на порт без меток)
speed-duplex {auto|10-half|10-full|10o-half|100-full|1000-full}
test (запустить тест; это команда настройки?!)
vlan-trunking (пропускать насквозь пакеты, принадлежащие к неизвестным VLAN)
Основные параметры настройки VLAN ("no" перед командой означает обратное действие):
exit
fixed список-портов (постоянные члены VLAN)
forbidden список-портов (не разрешать этим портам становиться членами VLAN)
inactive
ip address IP-адрес маска [manageable] (задать адрес коммутатора в этой VLAN)
ip address default-gateway IP-адрес
ip address default-management dhcp-bootp [release|renew] (применяется сразу ;)
ip address default-management IP-адрес маска
name имя-VLAN
normal список-портов (данные порты будут входить в VLAN в соответствии с gvrp)
untagged список-портов (на этих портах исходящие пакеты не будут принудительно получать VLAN метки)
Zyxel ES-2024A
Zyxel ES-2024A представляет собой 24-портовый неблокирующий коммутатор (8.8 Gbps, 1.5 Mpps, store and forward) Fast Ethernet (802.3 и 802.3u, 10Base-T, 100Base-TX, автоматическое определение MDI/MDI-X) с 2 портами 1000Base-TX (адресуются как порты 25 и 26, 802.3ab, может работать как 100Base-T) с автоматическим согласованием скорости и режима дуплекса (1000Base-TX только полный дуплекс), возможностью вручную отключить доступ к порту, задать его имя, скорость и режим дуплекса (по умолчанию определяется автоматически), включить управление потоком (методом обратного давления для полудуплекса или 802.3x для дуплекса; по умолчанию - выключен) и QoS приоритет для входящих с этого порта пакетов без тега 802.1p. 2 mini-GBIC слот (SFP MSA, при подключении отключается гигабитный порт). Максимальный размер кадра - 1522 байта (1518 и тэги VLAN). До 24 коммутаторов в одной VLAN можно соединять в стек с одним IP адресом (iStacking, Cluster Management). Загружается достаточно медленно, чтобы успело разорваться SSH-соединение (2 минуты). Индикаторы питания, загрузки (SYS, мигает во время загрузки), ошибки (ALM, горит красным цветом при сбое). Имеются индикаторы скорости (для обычных портов: зелёный - 10 Mbps, янтарный - 100 Mbps; для гигабитного порта: зелёный - 1000 Mbps, янтарный - 100 Mbps). Обещанного мониторинга температуры и скорости вращения вентилятора (?!) не заметил ни в SNMP, ни в HTTP. Наличие подключенного к порту устройства, его скорость и режим можно проверить средствами удаленного управления. До 8000 MAC адресов, 32 MB под буфер пакетов. Встроенный блок питания, 21 W, вентилятор отсутствует (хотя в описании есть), возможен монтаж в стойку, имеется модель с PoE (потребление 200W, 15W на порт). Стандартные установки: свой адрес - 192.168.1.1/255.255.255.0 (после изменения адреса необходимо перезагрузиться; можно задать несколько своих адресов для различных VLAN и статических маршрутов), адрес шлюза - 0.0.0.0, имя/пароль - admin/1234. Есть DHCP (воспринимается только IP адрес, маска сети и DNS сервер), но чтобы его включить в моём случае надо помучаться: подключить в сегмент 192.168.1.0, зайти telnet/ssh, сконфигурировать и перезагрузиться:
enable
configure
multi-login
password пароль
admin-password пароль пароль
vlan 1
ip address default-management dhcp-bootp
перейти на другую консоль ;)
enable
configure
hostname имя-коммутатора
no service-control ftp
service-control icmp snmp
snmp-server contact ответственный location расположение
snmp-server get-community пароль-на-чтение
snmp-server set-community пароль-на-запись
time timezone 0300
time daylight-saving-time start-date last sunday march 2
time daylight-saving-time end-date last sunday october 2
time daylight-saving-time
timesync server адрес-NTP-сервера
timesync ntp
syslog server адрес-syslog-сервера level 7
syslog type system
syslog type interface
syslog type switch
syslog type aaa
syslog type ip
syslog
exit
write memory
exit
В версии прошивки 3.80 появился DHCP Relay к общему DHCP серверу или отдельным для каждой VLAN. К запросу клиента добавляются имя коммутатора, номер слота в кластере, номер порта клиента, VLAN ID.
Текущее время можно устананавливать вручную или указать адрес сервера DAYTIME, TIME или NTP. В прошивке 3.80 появилась возможность настройки летнего времени.
Имеет встроенный журнал и возможность вывода сообщений на внешний сервер (серверы) syslog.
Чтобы сбросить забытый пароль необходимо подключиться к коммутатору по RS-232, выключить питание, включить питание, нажать "any key" в течении 3 секунд, чтобы войти в режим отладки, загрузить стандартную конфигурацию (команда atlc, протокол XMODEM, где взять файл?), перезапустить коммутатор (atgo).
Управляется по HTTP (в этой версии поддерживается и Firefox и konqueror, но требуется JavaScript и всплывающие окна - не заметил ни одного; проблему с 5 секундным интервалом обновления тоже поправили; отвратительная привычка включать текущее время в имя области осталась, что не позволяет хранить пароль в браузере; можно изменять интервал неактивности - 3 минуты), HTTPS (самоподписанный сертификат; RC4, MD5, SSLv3), telnet, SSH (SSH2, RSA/DSA, MD5/SHA1, 3DES, Blowfish, AES128-CBC, нет аутентификации по ключу, нет генерации ключей, медленно), RS-232 (9600N81, vt100, без управления потоком), SNMPv2c (совместим с SNMPv1; RFC-1155, RFC-1157, RFC-1213, RFC-1493, RFC-1643, RFC-1757, RFC-2674; zyxel-ES2108G.mib удалось извлечь с помощью cabextract и unshield из триальной версии NetAtlas; MIB идёт в комплекте с прошивкой 3.80), SNMPv3 (прошивка 3.80; MD5 или SHA; DES или AES). MAC адреса подключённых устройств можно посмотреть только в неописанной части SNMP - SNMPv2-SMI::mib-2.17.4.3.1.1, номера портов в SNMPv2-SMI::mib-2.17.4.3.1.2 (snmpwalk -c public -v 1 10.101.0.241 SNMPv2-SMI::mib-2.17.4.3.1.2), в десятичной нотации) или командой: show mac address-table all. В браузере таблица MAC адресов показывается только после выбора типа сортировки (MAC, VID, порт). Таблица ARP содержит соответствие между IP адресами и MAC адресами для хостов, обменивавшихся пакетами с коммутатором. Соответствие между IP-адресом и MAC-адресом: IP-MIB::ipNetToMediaPhysAddress.1. Имя community на запись доступно для любого, кто знает имя community для чтения. Доступ по любому протоколу можно ограничить списком исходящих IP адресов (до 4 списков). Любой метод администрирования можно отключить или изменить номер порта (кроме SNMP). Есть возможность доступа нескольких администраторов одновременно (одновременно только один консольный сеанс или telnet или ssh (до 9 в версии 3.80), один FTP сеанс, 5 web сеансов под разными именами, но только один администратор обязательно с именем admin). Возможна локальная аутентификация администратора или с использованием серверов RADIUS (до 2 серверов, разделяемый секрет) или TACACS+ (прошивка 3.80; до 2 серверов, разделяемый секрет). 2 уровня доступа при работе с telnet и ssh (можно назначить высокий уровень доступа любому пользователю). Используемые UDP-порты: 53 (работающий ISC Bind 9.2.1 DNS сервер, к которому можно обращаться!), 67 (bootps?), 68 (bootpc), 69 (tftp?), 161 (snmp), 162 (snmptrap?), 263 (?), 520 (?), 1024 (?), 1025 (?), 1026 (?).
Аутентификация подключаемых устройств по 802.1x (RADIUS, до 2 серверов, разделяемый секрет) и учёт с использованием RADIUS (до 2 серверов, разделяемый секрет) и TACACS+ (до 2 серверов, разделяемый секрет). Возможен учёт системных событий (включение, выключение); вход администратора с помощью telnet, ssh или консоли; сессии протокола IEEE 802.1x; выполняемые администратором команды (только tacacs+). При использовании сервера RADIUS возможно ограничение входящего и исходящего трафика, выбор VLAN и уровня привилегий с помощью атрибутов изготовителя (Vendor Specific Attribute).
Имеется управление очередью исходящих пакетов (FIFO, приоритетный (в смысле QoS, 802.1P) пакет вперёд). Физических очередей - 4 (самая приоритетная - 3, низкоприоритетная - 0), можно задать отображение уровней QoS (802.1p/802.1d) на номер очереди. Кадры без тега QoS получают приоритет по входящему порту. Алгоритмы управления очередями - SPQ (Strict Priority Queuing, пока высокоприоритетная очередь Q3 не опустеет - низкоприоритетные пакеты не уйдут); WRR (Weighted Round Robin, задаётся соотношение между высоко- и низкоприоритетным трафиком, каждая очередь получает свою долю общего трафика). DiffServ (маркировка пакетов, DSCP) использует в заголовках IP пакетов поле DS вместо поля ToS (Type of Service) для задания приоритета обслуживания (64 уровня вместо 8 в ToS, обратная совместимость). Можно (?) задать таблицу соответствия уровней DSCP и 802.1P и необходимость преобразования и/или вставки DSCP в пакеты по портам. Имеется возможность ограничить время нахождения пакета в очереди устройства (1, 2 или 4 секунды).
STP (IEEE 802.1D, Spanning Tree Protocol), RSTP (802.1W, Rapid Spanning Tree Protocol, ускоренное перестроение дерева) и MSTP (802.1s, Multiple Spanning Tree Protocol, адаптация RSTP к VLAN) - обеспечение запасных путей без образования циклов.
IGMP 1/2/3 (протокол управления членством в multicast группах): фильтрация и извлечение информации из проходящего трафика (до 16 VLAN: автоматический выбор первых 16, задание списка VID, MRV (Multicast VLAN Registration)). Работа в качестве IGMP сервера - Auto, Enable (Fixed), Disable (Edge).
Агрегирование портов (до 2 групп из 100Mb портов и одна группа из гигабитных портов, до 4 портов в группе): ручное (trunk) или 802.3ad (динамическое объединение или резервный порт с помощью LAPC, порт может быть в активном или пассивном режиме). Для LACP необходим полный дуплекс. Все порты в одной группе транка должны иметь одинаковые параметры (носитель, скорость, дуплекс, управление потоком). LACP и транки несовместимы. Требуется сначала настроить LACP или транки и только затем соединять.
MAC адреса можно привязывать к портам статически (до 256 адресов; указывается имя, MAC адрес,br VID, порт), можно задать список фильтруемых MAC адресов (до 256 адресов; указывается имя, MAC адрес, VID). Можно запретить динамическое занесение новых MAC адресов для указанных портов (почему-то только 100M порты) или ограничить количество добавляемых MAC адресов (от 0 до 8192), а также запретить прохождение через порт пакетов, MAC адрес которых отсутствует в таблице (port security). Время нахождения MAC адреса в таблице известных настраивается (по умолчанию - 300 секунд). Входящий и/или исходящий трафик при этом можно фильтровать по MAC адресу источника и/или приёмника.
Можно ограничить входящий и/или исходящий трафик (в зависимости от диапазона округляется до 64 kbps, 1 mbps или 8 mbps) отдельно для каждого порта.
Можно задать максимальный трафик широковещательных и групповых пакетов (broadcast storm control) отдельно для каждого порта (в зависимости от диапазона округляется до 64 kbps, 1 mbps или 8 mbps).
Любую комбинацию входящего и/или исходящего трафика для произвольного списка портов (включая гигабитный) можно направить на любой порт для анализа (mirroring), при этом порт мониторинга продолжает получать свой трафик. Возможна фильтрация по исодящему или входящему MAC адресу.
VLAN (по портам, до 4094 PVID, до 256 статических VLAN, 802.1Q без GVRP в пределах коммутатора, 802.1Q с GVRP между коммутаторами). GVRP - GARP (Generic Attribute Registration Protocol) VLAN Registration Protocol - обеспечивает обмен информацией о членстве во VLAN между коммутаторами (т.е. достаточно поменять конфигурацию только с одной стороны). Параметры GARP настраиваются (Join Period, Leave Period, Leave All Timer). VLAN trunking позволяет пропускать пакеты с незнакомыми VLAN ID насквозь для указанных портов. По умолчанию все порты и сам коммутатор (порт CPU) имеют VLAN ID 1 (удалять её не стоит). При статической конфигурации VLAN для каждого порта указывается принадлежит ли он к этой VLAN (порт может входить в несколько VLAN), нужно ли обрезать или добавлять заголовок 802.1Q, позволять ли добавлять порт к VLAN по GVRP, позволять или не позволять привязывать его статически. Порт с именем CPU является портом управления (его разумно соединить со всеми портами), можно указать дополнительные IP адреса (маску, шлюз, VID) для порта управления. Конфигурация заключается в разметке матрицы портов: с какого порта на какой можно отправлять пакеты (имеется 2 предопределённые матрицы: всеобщая связь и изоляция портов). Изолированный порт может взаимодействовать только с портом управления и гигабитным портом (которым из них?). При использовании VLAN в соответствии с 802.1Q в каждый исходящий из порта ethernet кадр добавляется поле, содержащее VLAN ID (настройка по протоколам или исходящим адресам). Кадр, приходящий в порт, может иметь метку произвольного VLAN, VLAN ID для не имеющих меток кадров указывается при настройке коммутатора. Можно фильтровать входящие кадры, имеющие неправильный VLAN ID и/или не имеющие меток.
Защита от фальшивых ARP пакетов (IP source guard) - администратор составляет таблицу со следующими полями: MAC адрес, идентификатор VLAN, IP адрес и номер порта коммутатора. Коммутатор пропускает только те ARP пакеты, которые соответствуют этой таблице (активируется отдельно для каждого порта и VLAN). При появлении поддельного пакета некоторое время блокируется весь траффик с этим MAC. Информация об этом может направляться на syslog сервер - указывается интервал и число сообщений в пакете.
Дополнительная (к STP) защита от петель в сети (loop guard) позволяет обнаруживать кабели, соединяющие 2 порта одного и того же коммутатора. Посылается тестовый пакет, если пакет возвращается обратно, значит порт соединён с "зацикленным" коммутатором и он блокируется. Побочным эффектом может являться потеря связности сети, так что применять можно только на портах, к которым подключены граничные коммутаторы или конечные устройства. Если тестовый пакет возвращается через другой порт, значит мы имеем "обычный" цикл и порт также блокируется. Разблокировать порт необходимо вручную после устранения проблемы.
Диагностика позволяет посмотреть внутренний журнал, протестировать ethernet порт (internal loopback test) и "пингануть" хост.
Последняя версия firmware (v3.80 (TX.0) C0, Bootbase 1.08, RomFile version ?, поддержка нового процессора): автоматический переход на летнее время, блокировка циклов, TACACS+, 802.3ah, DHCP Relay, IP Source Guard (связывает MAC, IP, номер порта и VLAN), несколько уровней привилегий, SNMPv3, IGMP Snooping. Загрузка новых версий (рекомендуется иметь в этот момент соединение по RS-232, чтобы контролировать процесс и ввести "boot config") по
FTP: зайти любым FTP-клиентом на коммутатор (требуются имя и пароль администратора) и в двоичном режиме записать новую прошивку (файл с суфиксом .bin) в файл с именем ras; RomFile (.rom) в rom-0; текстовый формат файла конфигурации (команды CLI) в config
X-Modem при конфигурировании через RS-232
конфигурирование по telnet не позволяет заменить прошивку
через web интерфейс
Возможна удаленная перезагрузка с сохранением текущих параметров, с возвратом к фабричным значениям. Через web интерфейс можно загрузить прошивку; сохранить, восстановить или сбросить конфигурацию (файл с суффиксом .log содержит команды CLI, в т.ч. установление входного пароля и комьюнити SNMP); перезагрузить устройство с альтернативной конфигурацией.
Командный язык (CLI) для настройки коммутатора по telnet, ssh или с консоли сильно напоминает команды Cisco IOS:
подсказки по нажатию клавиши Tab или "?"
многоуровневый доступ (правда, zyxel похоже запутался с этими паролями на разных уровнях, в web интерфейсе и SNMP)
при создании пользователя указывается его уровень досупа (у admin - 14)
пользователь с уровнем доступа 0 может только посмотреть состояние, префикс строки ">";
admin (уровень доступа 14) может изменить уровень доступа пользователя (кроме самого admin)
команда enable осуществляет переход на другой уровень доступа, запрашивается пароль уровня доступа, префикс строки "#"
для просмотра конфигурации необходим уровень доступа 3
для настройки достаточно уровня доступа 13, кроме настройки аутентификации
для настройки аутентификации требуется уровень доступа 14
команда configure для перехода на уровень настройки (префикс строки "config#" и подуровни interface, router, VLAN)
история команд
редактирование (недоделанное) команд
ключевые слова команды необходимо вводить полностью
команда "help" выдаёт список имеющихся команд и подкоманд
команда "?" выдаёт список команд и их описаний
если первым параметром команды указать "help", то выдаётся синтаксис команды
если первым параметром команды указать "?", то выдаётся описание параметров команды
Основные команды уровня оператора:
exit (выйти на предыдущий уровень)
logout (завершить сеанс)
help
show ip (узнать IP адрес коммутатора, маску и VLAN)
show system-information (имя коммутатора, расположение, ответственный, MAC адрес, версия прошивки)
ping ip-адрес [vlan идентификатор-VLAN] [size размер-пакета]
traceroute ip-адрес [vlan идентификатор-VLAN]
ssh 2 имя-пользователя@ip-адрес
enable [уровень] (переход на другой уровень доступа; запрашивается пароль указанного уровня доступа)
Основные команды уровня администратора:
disable (возврат на уровень доступа 0)
configure (переход в режим настройки)
write memory (сохранить сделанные настройки)
boot config (перезапустить коммутатор - cold reboot)
reload config (перезапустить систему - warm reboot)
erase running-config (вернуть заводские настройки)
copy tftp flash IP-адрес имя-файла (записать прошивку из файла, только простые имена файлов)
copy running-config tftp IP-адрес имя-файла (сохранить настройки в файл)
copy tftp config 1 IP-адрес имя-файла (восстановить настройки из файла)
mac-flash [номер-порта] (очистить таблицу MAC адресов)
no arp (очистить таблицу ARP)
no interface (очистить статистику интерфейсов)
no logging (прекратить вывод в syslog)
baudrate {1|2|3|4|5} (скорость RS-232: 38400, 19200, 9600, 57600, 115200; почему не в config?!)
{clear | show} arp inspection {filter | log | interface ... | vlan ...}
cable-diagnostics список-портов (проверка замыкания пар)
show aaa authentication [enable | login]
show aaa accounting [update | commands | dot1x | exec | system]
show alarm-status
show cpu-utilization (у меня от 50 до 100!)
show dhcp snooping ...
show https [certificate | key {rsa | dsa} | session]
show interface номер-порта (вывод статистики)
show interfaces config номер-порта [bandwidth-control|bstorm-control|egress] (вывод настроек)
show ip [arp | route [static] | iptable {all|count|static} | tcp | udp]
show lacp
show logging (показать (и очистить) системный журнал)
show logins (кто работает в системе)
show loopguard
show mac address-table {all|static} [mac|vid|port] (список MAC адресов с привязкой по портам и VLAN, последний параметр задаёт способ сортировки)
show mac-aging-time
show multi-login (кто работает в системе, с использованием какого интерфейса, IP адрес)
show port-access-authenticator
show port-security
show radius-server
show remote-management (откуда и каким интерфейсом можно управлять коммутатором)
show running-config (вывести текущую конфигурацию)
show service-control (какие интерфейсы управления доступны и на каких портах)
show snmp-server
show spanning-tree config
show ssh [key {rsa1|rsa|dsa} | known-hosts | session]
show tacacs-server
show time
show timesync (настройки сервера времени)
show trunk
show version
show vlan
show vlan1q [gvrp|ingress-check|port-isolation]
test interface port-channel список-портов (loopback test)
Основные команды режима настройки ("no" перед командой означает обратное действие; список портов записывается через запятую; интервал портов записывается через минус):
exit
aaa authentication {aaa authentication} {local | radius | tacacs+} ...
aaa accounting commands уровень stop-only tacacs+
aaa accounting dot1x {start-stop | stop-only} {radius | tacacs+}
aaa accounting exec {start-stop | stop-only} {radius | tacacs+}
aaa accounting system {radius | tacacs+}
aaa accounting update periodic минут
admin-password пароль пароль (в открытом виде!)
arp inspection ...
bandwidth-control
dhcp snooping
dhcp snooping database tftp://хост/файл
hostname имя-коммутатора
https cert-regeneration {rsa|dsa}
https timeout секунд
igmp-snooping
interface port-channel список-портов (переход в режим настройки интерфейса)
ip name-server ip-адрес-DNS-сервера
ip route адрес маска шлюз [metric число] [name имя] [inactive] (описание статического маршрута)
lacp
lacp system-priority от1до65535
loginPrecedence {LocalOnly|LocalRADIUS|RADIUSOnly} (кто аутентифицирует)
logins username имя password пароль (создание пользователей)
logins username имя privilege уровень
loopguard
mac-aging-time секунд
mac-filter name имя mac адрес vlan идентификатор [inactive] (правила фильтрации)
mac-forward name имя mac адрес vlan идентификатор interface порт [inactive] (статическая привязка MAC адресов к портам)
mirror-filter {egress|ingress} mac адрес type {all|dest|src}
mirror-port [номер-порта] (на этот порт будет копироваться трафик)
multi-login (разрешить одновременную работу нескольких операторов)
password пароль [privilege уровень-доступа] (изменить пароль уровня доступа, по умолчанию 14 - не путать с паролем администратора ;)
port-access-authenticator [список-портов] (включить аутентификацию по 802.1X)
port-security [список-портов] [learn inactive] [address-limit число] (запрет или ограничение на автоматическое добавление в таблицу MAC адресов)
queue level номер priority номер (отображение уровней QoS на физические приоритеты)
radius-accounting timeout секунд
radius-accounting host индекс адрес [acct-port порт] [key общий-ключ]
radius-server host индекс адрес [auth-port порт] [key общий-ключ]
radius-server mode {index-priority|round-robin}
radius-server timeout секунд
remote-management номер-правила start-addr IP-адрес end-addr IP-адрес service [telnet] [ftp] [http] [icmp] [snmp] [ssh] [https] (задание списка допущенных к управляющим сервисам)
service-control [ftp порт] [http порт интервал-неактивности] [https порт] [icmp] [snmp] [ssh порт] [telnet порт] (запуск соответствующего сервиса)
snmp-server contact ответственный location месторасположение (задание sysContact и sysLocation)
snmp-server get-community имя
snmp-server set-community имя
snmp-server trap-community имя
snmp-server trap-destination IP-адрес [udp-port порт] [version v1|v2c|v3] [username имя]
snmp-server username имя seclevel {noauth|auth|priv} [auth md5|sha] [priv des|aes] (настройки v3)
snmp-server version {v2c|v3|v3v2c}
spanning-tree ...
spq (использовать алгоритм SPQ для работы с очередью пакетов)
ssh known-hosts IP-адрес {1024|ssh-rsa|ssh-dsa} ключ (добавить хост в таблицу знакомых)
subnet-based-vlan name имя source-ip адрес mask-bits маска [source-port порт] vlan идентификатор priority от0до7-802.1p (вставка меток VLAN исходя из исходящего адреса)
storm-control
syslog (включить вывод на syslog)
syslog server адрес level от0до7
syslog type {system|interface|switch|aaa|ip} facility источник-syslog (от 0 до 7 - от local0 до local7)
tacacs-accounting timeout секунд
tacacs-accounting host индекс адрес [acct-port порт] [key общий-ключ]
tacacs-server host индекс адрес [auth-port порт] [key общий-ключ]
tacacs-server mode {index-priority|round-robin}
tacacs-server timeout секунд
time часы:минуты:секунды
time date месяц/день/год
time timezone смещение
time daylight-saving-time start-date last sunday march 2
time daylight-saving-time end-date last sunday october 2
time daylight-saving-time
timesync {daytime|time|ntp} server IP-адрес
trunk {T1|T2|T3} (включить транк)
trunk {T1|T2|T3} interface список-портов (добавить порт в транк)
trunk {T1|T2} lacp
trunk {T1|T2} interface список-портов timeout секунд (добавить порт в LACP группу)
vlan идентификатор-VLAN (переход в режим настройки VLAN)
vlan-type {802.1q|port-based}
vlan1q [gvrp] [ingress-check] [port-isolation] (использовать GVRP, проверять соответствие VLAN, изолировать порт от всех остальных, кроме uplink)
wrr (использовать алгоритм WRR для работы с очередью пакетов)
Основные параметры настройки интерфейса ("no" перед командой означает обратное действие):
exit
bandwith-limit [egress кб/сек] [ingress кб/сек] (настройка ограничения трафика)
bmstorm-limit [кб/сек] (настройка ограничения широковещательных пакетов)
diffserv
egress set список-портов (порты исходящего трафика для VLAN, основанной на портах; 0 - это CPU)
flow-control
frame-type {all|tagged|untagged} (принимать ли пакеты без VLAN меток)
gvrp
inactive
intrusion-lock
loopguard
mirror [dir {ingress|egress|both}] (с этих портов будет копироваться трафик)
name имя-порта (не более 9 ASCII символов)
protocol-based-vlan name имя ethernet-type {ip|ipx|arp|rarp|appletalk|decnet|ether-номер} vlan идентификатор priority от0до7-802.1p (вставка меток VLAN исходя из типа протокола)
pvid номер (какой идентификатор писать во VLAN метку, если пакет пришёл на порт без VLAN меток)
qos priority приоритет (какой приоритет записывать в метку QoS, если пакет пришёл на порт без меток)
speed-duplex {auto|10-half|10-full|10o-half|100-full|1000-full}
spq (использовать алгоритм обработки очереди SPQ)
test (запустить тест; это команда настройки?!)
vlan-trunking (пропускать насквозь пакеты, принадлежащие к неизвестным VLAN)
wrr (использовать алгоритм обработки очереди WRR)
Основные параметры настройки VLAN ("no" перед командой означает обратное действие):
exit
fixed список-портов (постоянные члены VLAN)
forbidden список-портов (не разрешать этим портам становиться членами VLAN)
inactive
ip address IP-адрес маска [manageable] (задать адрес коммутатора в этой VLAN)
ip address default-gateway IP-адрес
ip address default-management dhcp-bootp [release|renew]
ip address default-management IP-адрес маска
name имя-VLAN
normal список-портов (данные порты будут входить в VLAN в соответствии с gvrp)
untagged список-портов (на этих портах исходящие пакеты не будут принудительно получать VLAN метки)
Allied Telesyn AT-8524M
Allied Telesyn AT-8524M-50 (ATS62_LOADER v1.1.0, ATS62 v1.2.1 NE) представляет собой 24-портовый неблокирующий коммутатор (8.8 Gbps, 6.6 Mpps, store and forward) Fast Ethernet (802.3 и 802.3u, 10Base-T, 100Base-TX, автоматическое определение MDI/MDI-X только в режиме автосогласования) с двумя слотами, в которые вставляются модули AT-A46 (10/100/1000Base-TX, включить 1000 не смог), с автоматическим согласованием скорости и режима дуплекса, возможностью вручную отключить доступ к порту, задать его скорость и режим дуплекса, включить управление потоком (методом обратного давления для полудуплекса или 802.3x для дуплекса). До 8000 MAC адресов, 32 MB ОП.
Управляется (один оператор одновременно) по HTTP (SSL, нет в версии NE), RS-232 (8N1, 9600, VT100, здесь же доступен загрузчик, меню и CLI), telnet (SSHv2, нет в версии NE; меню и CLI; некоторые ограничения по сравнению с локальным доступом), SNMPv1/2c/3 (RFC-1153, RFC-1213, RFC-1215, RFC-1493, RFC-1643, RFC-2674, RFC-2863, atistackswitch.mib, atistackinfo.mib). Только один сеанс telnet или RS-232 одновременно. Стандартные имя/пароль: manager/friend и operator/operator (только чтение, в т.ч. можно увидеть имя комьюнити SNMP с правами на изменение). Имена пользователей изменить нельзя (а также универсальный пароль доступа). Пароли доступны для SNMP. Поставляется с выключенным DHCP-клиентом и IP-адресом 0.0.0.0.
Позволяет получать время с NTP сервера (адрес и смещение относительно UTC может получать через DHCP). Летнее время необходимо переводить вручную. Внутренний таймер отстаёт на 1% (от сети 50Hz?).
SSH может использовать только ключи, созданные устройством. Ассиметричное шифрование - RSA, до 1536 бит. Обмен ключами - DH. Частный ключ экспортировать нельзя. Симметричное шифрование - DES (CBC), 3DES, RC4 (arcfour), AES. MAC - hmac-md5 и hmac-sha1. Для SSH требуется 2 пары ключей (1536 для ключей сервера и 1280 для хоста; зачем это для SSH2?). Аутентификация только по паролю. Генерация ключа длиной 1536 занимает 10 минут на ненагруженном коммутаторе. DSA нет, так что на клиентском компьютере необходимо создать пару ключей для RSA и добавить её в связку, а также разрешить их использование (RSAAuthentication yes; HostKeyAlgorithms ssh-rsa). Соединение очень медленное. Похоже, что внутри OpenSSH_3.6.1p2 (тогда почему нет DSA и public key?).
При статической привязке MAC адресов к портам (menu => MAC Address Tables => MAC Addresses Configuration => Add Static MAC Address) адреса необходимо указывать в формате: 00-80-AD-82-5F-6C. Установка состояния безопасности порта только через telnet (ssh) интерфейс (menu => Port Configuration => Port Security). Не забудьте сохранить конфигурацию. Безопасность портов несовместима с 802.1x управлением доступа. Каждый порт может находиться в одном из состояний безопасности (ingress фильтрация):
Automatic - MAC адреса добавляются в таблицу автоматически и удаляются по истечении указанного интервала времени (300 секунд)
Limited - MAC адреса добавляются в таблицу автоматически, но не более указанного максимума, статические адреса в это число не входят; динамически добавленные адреса не удаляются; можно установить реакцию на "неправильный" кадр: выбросить, послать SNMP trap, заблокировать порт
Secured - MAC адреса можно добавить в таблицу только вручную
Locked - динамическое добавление адресов в таблицу прекращается, но уже имеющиеся в таблице адреса используются и никогда не удаляются
Соединить его прямым кабелем с Acorp (8-портовый коммутатор 10/100) не удалось ни в режиме автоопределения, ни вручную задавая скорости и MDI/MDIX).
Временами перестаёт воспринимать ответы DHCP сервера и теряет адрес.
Planet FGSW-2402S
Planet FGSW-2402S представляет собой 24-портовый неблокирующий коммутатор (8.8 Gbps, 6.54 Mpps, store and forward) Fast Ethernet (802.3 и 802.3u, 10Base-T, 100Base-TX, автоматическое определение MDI/MDI-X) с двумя слотами, в которые вставляются модули 1000Base-TX, с автоматическим согласованием скорости и режима дуплекса, управление потоком (методом обратного давления для полудуплекса или 802.3x для дуплекса). До 8K MAC адресов, 2.5Mb (6Mb?) ОП. Имеется кнопка Reset. Потребляемая мощность - 40 Вт, т.е. сильно греется и снабжён шумными вентиляторами.
Управляется по RS-232 (8N1, 19200, VT100, пароль "admin" или имя пользователя "admin" с пустым паролем): возможность вручную отключить доступ к порту, задать его скорость и режим дуплекса, включить управление потоком, задать параметры QoS (модель RS), агрегирования портов (до 4 транков по 8 портов в каждом, выбор ограничен), VLAN (до 8 штук по портам; 802.1Q только в RS), ограничение потока на каждом порту отдельно на приём и передачу (128K, 256K, 512K, 1M, 2M, 4M, 8M), мониторинг порта (указывается исходный порт, порт мониторинга), ограничение доли широковещательных пакетов (6%, 20%), сбор статистики по портам. Имеется режим (MTU), в котором оборудование подключённое к портам 1-25 может обмениваться пакетами только с портом 26 или порты 1-12 с портом 25, а порты 13-24 с портом 26.
Ссылки
Стандарты IEEE 802 (доступ платный, персональная лицензия для получения стандартов LAN/MAN - $1195)
коды изготовителей оборудования ethernet (старшие 3 байта адреса)
Драйвер Vortex (3COM) для Linux
изготовители управляемых переключателей
Allied Telesyn
Compex
DLink
Hardlink (MAS Elektronic AG)
Lantech
LG
Micronet
Surecom
SVEC
Linux Ethernet-Howto
Fast Ethernet. Л. Куинн, Р. Рассел. - BHV - Киев, 1998 (огромное количество неточностей)
Компьютерные сети. В.Г. Олифер, Н.А. Олифер - СПб: Питер, 2000
VLAN (настройка в коммутаторах, маршрутизаторах и ОС)
Настройка Gigabit Ethernet в ОС GNU/Linux и FreeBSD
bonding by Linux Foundation (см. также bonding.txt из kernel-doc) @ Карта сайта News Автора!
Bog BOS: hardware: Ethernet
br
- Tags: trunking, Vlan, Коммутатор, Техноблог

