[[span(style=color: #FF0000, Внимание! Статья находится в состоянии редактирования, информация может быть неточной или неполной. )]] == Первоначальное присваивание VLAN ID пакетам == Каждому принятому портом коммутатора пакету присваивается идентификатор VLAN (VLAN ID, VID). Алгоритм этого присваивания зависит от типа принятого пакета и конфигурационных настроек коммутатора. Принятые пакеты классифицируется коммутатором по различным признакам. В зависимости от того, имеет ли пакет тэг 802.1q, коммутатор относит пакет к тэгированным (tagged) или нетэгированным (untagged). Наличие тэга определяется коммутатором анализом поля !EtherType в зависимости от настройки "Port mode" (см. описание конфигурационных параметров порта ниже). Если параметр "Port mode" имеет значение "non-QinQ", и поле !EtherType пакета имеет значение 0x8100, пакет считается тэгированным. Если "Port mode" имеет значение "Core port", и поле !EtherType пакета имеет значение 0x88a8, пакет также считается тэгированным. Во всех остальных случаях принятый пакет считается нетэгированным. Тэгированные пакеты, в свою очередь, могут быть отнесены к тэгированным VLAN (VLAN-tagged), если VLAN ID тэга имеет ненулевое значение), или тэгированным приоритетом (priority-tagged), если VLAN ID равен нулю. Если коммутатором принят нетэгированный пакет, данному пакету присваевается VLAN ID в соответствии с конфигурационным параметром порта "Default VLAN ID" (см. описание конфигурационных параметров порта ниже). Если коммутатором принят тэгированный пакет, присваивание пакету VLAN ID определяется конфигурационным параметром "PVID assigniment mode": - **PVID assigned to all packets** - пакет получает VID в соответствии со значением параметра "Default VLAN ID"; - **PVID assigned to untagged packets** - пакет получает VID в соответствии со значением VID его тэга. Если конфигурационный параметр "PVID precedence" порта имеет значение "hard", назначенный пакету по описанному выше алгоритму VID является окончательным. Если же параметр имеет значение "soft", VID пакета может быть изменен другими механизмами коммутатора: присваивание VID в зависимости от протокола (protocol-based VLAN) и правилами политик (policy rules). Алгоритм присваивания VLAN ID принятому пакету показан на следующей диаграмме: {{{#!plantuml @startuml start :принят пакет; if (Port mode == Access port?) then (да) :VID = Default VLAN ID; else (нет) if(порту назначено\nприсваивать PVID\nвсем пакетам?) then (да) :VID = Default VLAN ID; else (нет) if(пакет тегирован\nи VLAN ID != 0?) then (нет) :VID = Default VLAN ID; else (да) :VID = VLAN ID принятого пакета; endif endif endif if(PVID precedence) then (soft) if(порту разрешено назначать VID в\nзависимости от протокола?) then (да) if(есть совпадение протокола?) then (да) :VID = протокол VID; else (нет) endif else (нет) endif if(PVID precedence) then (soft) if(порту разрешены политики?) then (да) if(выполняется условие правила\nполитики с переназначением VID?) then (да) :VID = PCL rule VID; else (нет) endif else (нет) endif else (hard) endif else (hard) endif stop @enduml }}} == QoS == //(здесь надо написать общие слова о QoS)// == Планировщик очередей передачи == //(здесь надо описать работу планировщика очередей)// Каждый порт коммутатора имеет 8 очередей передачи пакетов - по одной очереди на каждый класс трафика (Traffic Class, TC). Пакеты находятся в очередях в ожидании своей очереди на отправку в порт. Планировщик очередей отвечает за выбор очереди, из которой будет взят очередной пакет для отправки в порт. Каждый порт коммутатора, включая внутренний порт CPU, поддерживает два алгоритма планировщика: Strict Priority (SP) и Shaped Deficit Weighted Round Robin (SDWRR), а также комбинацию SP и SDWRR. Применение алгоритма SP позволяет достичь минимальных задержек передачи трафика реального времени. Применение алгоритма SDWRR позволяет обеспечить гарантированную минимальную пропускную способность для различных классов трафика. Для каждой из очередей передачи назначается либо алгоритм SP, либо алгоритм SDWRR. === Strict Priority (SP) === При использовании алгоритма SP очереди обслуживаются в соответствии со своим номером (Traffic Class, TC) начиная с самого приоритетного TC 7 и заканчивая минимальным приоритетом TC 0. Трафик более высокого класса всегда передается раньше трафика менее приоритетных классов (имеющих меньший номер). Очереди, использующие алгоритм SP, не обязаны располагаться подряд (занимать непрерывную последовательность TC), они могут перемежаться с группами очередей, использующих SDWRR. Если очередь SDWRR имеет более высокий номер (TC), чем очередь SP, трафик более приоритетной очереди SDWRR всегда отправляется раньше трафика менее приоритетной очереди SP. === Shaped Deficit Weighted Round Robin (SDWRR) === Коммутатор поддерживает две независимые группы очередей SDWRR на каждый порт. Внутри каждой группы SDWRR очереди обслуживаются в соответствии с назначенным им весом. Вес очереди может принимать значение от 1 до 255. Таким образом, соотношение пропускной способности очередей может составлять от 1:1 до 1:255. Например, для равного распределения полосы пропускания между очередями SDWRR всем очередям можно назначить вес 1. Если же имеется 4 очереди SDWRR, и полосу пропускания требуется распределить медлу ними в пропорции 10%-20%-30%-40%, назначьте очередям вес 1, 2, 3 и 4 соответственно. === Scheduler профили === Коммутатор имеет 4 независимых профиля с конфигуарцией очередей передачи. Каждому порту коммутатора назначается один из четырех профилей. Профили настраиваются на вкладке "Sched" веб-интерфейса. Обратите внимание, что если в профиле сконфигурировано две группы SDWRR, для правильной работы алгоритма требуется, чтобы очереди внутри одной группы располагались последовательно (имели непрерывную последовательность номеров). Пример профиля с несколькими группами: ||= Q7 =||= Q6 =||= Q5 =||= Q4 =||= Q3 =||= Q2 =||= Q1 =||= Q0 =|| {{{#!td style="background-color:#ffbbcc" SP }}} {{{#!td style="background-color:#ffbbcc" SP }}} {{{#!td colspan="3" style="background-color:#ffddbb" SDWRR группа 0 }}} {{{#!td colspan="2" style="background-color:#ddffff" SDWRR группа 1 }}} {{{#!td style="background-color:#ffbbcc" SP }}} В изображенном примере очередь Q7 имеет высший приоритет. Если в очереди Q7 имеются пакеты, очреедной пакет для передачи в порт будет взят из очереди Q7. Если очередь Q7 пуста, пакеты будут передаваться из очереди Q6. Если и очередь Q7, и очередь Q6 пусты, пакеты будут передаваться из очередей Q3, Q4 и Q5, составляющих SDWRR группу 0. Очереди этой группы будут чередоваться в соответствии с назначенными им весами. Если очереди Q3-Q7 пусты, пакеты будут передаваться из очередей Q1 и Q2, составляющих SDWRR группу 1. Наконец, пакеты из очереди Q0 будут передаваться только если все остальные очереди Q1-Q7 пусты. == Вкладка Ethernet. Расширенные настройки. == Для отображения расширенных настроек Ethernet нужно на вкладке "Разное" в настройке "Конфигурация Ethernet" выбрать вариант "полная". Вкладка Ethernet предназначена для настройки коммутатора ethernet платы SW-01. Содержащиеся здесь настройки, в свою очередь, разбиты на вкладки нижнего уровня: "Порты", "VLAN'ы", "MС группы", "RSTP", "Транки", "QoS профили", "Tail-drop", "Sched", "Policy Rules", "Policy Counters", "Policers", "Policer counters", "Remarking table", "Протоколы", "FDB". Над вкладками расположены кнопки "Analyzer configuration", "Экспорт настроек" и "Испорт настроек" (см.рисунок ниже): [[Image(pic1.jpg)]] === Analyzer configuration === Коммутатор платы SW-01 имеет возможность направлять копии пакетов (зеркалировать пакеты), принимаемых или отправляемых коммутатором, в специально назначенный порт, называемый портом анализатора (Analyzer port). Коммутатор позволяет работать с двумя анализаторами - входящим (ingres analyzer) и исходящим (egress analyzer). Входящему анализатору зеркалируются пакеты при получении их коммутатором, исходящему - при отправке пакетов из коммутатора. Любой из портов коммутатора ethernet платы SW-01 может быть назначен портом входящего и/или исходящего анализатора. При нажатии кнопки "Analyzer configuration" открывается диалог настроек порта анализатора: [[Image(pic2.jpg)]] ==== Mirror packet to egress analyzer port ==== Когда коммутатор зеркалирует исходящий (egress) пакет в порт анализатора, пакет может быть передан в порт анализатора в том виде, как он передан в наблюдаемый порт, включая все произведенные модификации пакета (например добавление/удаление/изменение тэга VLAN, изменение DSCP и т.п.), или в том виде, как пакет был принят коммутатором. - **as transmitted** - пакет передается в порт анализатора в том виде, как он был передан в подлежащий наблюдению порт, со всеми модификациями; - **as received** - пакет передается в порт анализатора в том виде, как он был принят коммутатором. ==== Ingress analyzer ==== Конфигурационные параметры в этой группе назначают порт коммутатора, к которому подключен анализатор входящего трафика (Ingress analyzer). Device:: идентификатор устройства, всегда должен иметь значение 0. Port:: номер порта коммутатора, к которому подключен анализатор. Допустимые значения - от 0 до 9 или 63 для порта CPU. ==== Ingress analyzer QoS ==== Конфигурационные параметры в этой группе определяют параметры качества обслуживания (Quality of Service, QoS), которые будут присвоены пакетам, зеркалируемым анализатору входящего трафика (Ingress analyzer). Traffic Class:: Класс трафика, назначаемый пакетам, зеркалируемым анализатору входящего трафика (Ingress analyzer). Drop Precedence:: Приоритет отбрасывания, назначаемый пакетам, зеркалируемым анализатору входящего трафика (Ingress analyzer). ==== Egress analyzer ==== Конфигурационные параметры в этой группе назначают порт коммутатора, к которому подключен анализатор исходящего трафика (Egress analyzer). Device:: идентификатор устройства, всегда должен иметь значение 0. Port:: номер порта коммутатора, к которому подключен анализатор. Допустимые значения - от 0 до 9 или 63 для порта CPU. ==== Egress analyzer QoS ==== Конфигурационные параметры в этой группе определяют параметры качества обслуживания (Quality of Service, QoS), которые будут присвоены пакетам, зеркалируемым анализатору исходящего трафика (Egress analyzer). Traffic Class:: Класс трафика, назначаемый пакетам, зеркалируемым анализатору исходящего трафика (Egress analyzer). Drop Precedence:: Приоритет отбрасывания, назначаемый пакетам, зеркалируемым анализатору исходящего трафика (Egress analyzer). === Экспорт настроек === При нажатии кнопки "Экспорт настроек" плата SW-01 формирует передает текущие настройки коммутатора ethernet в формате документа XML. === Импорт настроек === При нажатии кнопки "Импорт настроек" появляется диалог загрузки файла настроек. При указании файла и нажатии кнопки "Загрузить" файл загружается в плату SW-01, после чего настройки передаются коммутатору ethernet. Для обновления настроек ethernet в веб-интерфейсе после закрытия диалога с сообщением об успешном импорте настроек веб-страница автоматически перезагружается. === Порты === На вкладке Порты расположена таблица, отображающая состояние портов Ethernet коммутатора платы SW-01. Часть столбцов таблицы совпадает с тем что отображается в кратких настройках Ethernet, далее будут описаны отличающиеся элементы.[[BR]] ==== Настройки порта ==== При нажатии иконки "Настройки порта" ([[Image(preferences-icon.png)]]) открывается диалог настроек порта: [[Image(pic3.jpg)]] Default VLAN ID:: Идентификатор VLAN, назначаемый входящим в порт пакетам по умолчанию. PVID assigniment mode:: Конфигурационный параметр определяет режим присваивания Default VLAN ID пакетам: - **PVID assigned to untagged packets** - Default VLAN ID присваивается только принятым пакетам, не имеющим 802.1q тэга. Пакеты, имеющие 802.1q тэг с ненулевым VLAN ID, получают VLAN ID, указанный в тэге; - **PVID assigned to all packets** - Default VLAN ID присваивается всем принятым пакетам независимо от наличия у них 802.1q тэга. PVID precedence:: Конфигурационный параметр определяет возможность изменить изначально присвоенный пакету Default VLAN ID: - **soft** - первоначально присвоенный пакету VLAN ID может быть изменен другими механизмами (например правилами политик); - **hard** - первоначально присвоенный пакету VLAN ID не может быть изменен. MRU:: Максимальный размер принимаемого кадра в октетах. Кадры, превышающие указанный размер, будут отбрасываться. Допустимые значения - от 18 до 16382. Значение по умолчанию - 1522. Port mode:: Конфигурационный параметр определяет режим работы порта при использовании технологии QinQ (вложенные тэги). Может принимать следующие значения: - **Non-QinQ** - вложенные тэги не используются; - **Access port** - порт доступа (пользовательский порт) в режиме QinQ (вложенных тэгов). - **Core port** - порт сети оператора в режиме QinQ (вложенных тэгов). Порт использует дополнительный VLAN тэг. QoS default profile:: Номер QoS profile, присваиваемый пакетам, принимаемым через данный порт, по умолчанию (номер может быть изменен другими механизмами, например правилами политик). Допустимые значения - от 0 до 71. mirror to analizer:: Если чекбокс отмечен, все пакеты, принимаемые данным портом, миррорятся в порт входящего анализатора (Ingress analyzer port). Rate limit (egress):: Конфигурационный параметр задает ограничение скорости передаваемого в порт трафика в кбит/с. Допустимые значения - от 0 до 1000000. Значение 0 означает отсутствие ограничения трафика. Значение по умолчанию - 0. PCL-ID assignment mode:: Параметр определяет режим присваивания PCL-ID: - **according to the Incoming port** - в соответствии с номером входящего порта; - **according to the VLAN ID** - в соответствии с VLAN ID (не поддерживается). protocol-based VLAN:: Установка чекбокса включает механизм назначения идентификатора VLAN пакетам, принимаемым через данный порт, в зависимости от протокола (IEEE 802.1v). Значение по умолчанию - чекбокс не отмечен (механизм выключен). protocol-based QoS:: Установка чекбокса включает механизм назначения QoS profile пакетам, принимаемым через данный порт, в зависимости от протокола (IEEE 802.1v). Значение по умолчанию - чекбокс не отмечен (механизм выключен). policy enable:: Если чекбокс отмечен, для данного порта разрешено применение политик (Policy Engine). Значение по умолчанию - чекбокс не отмечен (использование политик отключено). ingress filtering:: Если чекбокс отмечен, для принимаемых портом пакетов выполняется проверка, является ли порт членом VLAN, присвоенного пакету в процессе классификации (см. "Первоначальное присваивание VLAN ID пакетам" выше). Если порт не является членом VLAN принятого пакета, принятый пакет отбрасывается. Если чекбокс не отмечен, проверка на принадлежность порта VLAN пакета не производится. Port QoS precedence:: Конфигурационный параметр определяет возможность изменить изначально присвоенный пакету QoS profile: - **soft** - первоначально присвоенный пакету QoS profile может быть изменен другими механизмами (например правилами политик); - **hard** - первоначально присвоенный пакету QoS profile не может быть изменен. QoS Trust mode:: Конфигурационный параметр определяет, как принятому пакету будет присвоен QoS profile: - **Untrust** - QoS profile присваивается в соответствии с значением параметра "QoS default profile". - **Trust L2** - Если принятый пакет VLAN-tagged или priority-tagged, QoS profile присваивается в соответствии со значением поля User Priority тэга принятого пакета. Значение поля User Priority используется как индекс к таблице преобразования User Priority в QoS profile (**не поддерживается**: для любого User Priority пакет получает QoS profile 0). Если принятый пакет нетегированный, QoS profile присваивается в соответствии с значением параметра "QoS default profile". - **Trust L3** - Если принятый пакет является пакетом IP, QoS profile присваивается в соответствии со значением поля DSCP принятого пакета. Значение поля DSCP используется как индекс к таблице преобразования DSCP в QoS profile (см. описание вкладки "QoS профили"). Если принятый пакет не является пакетом IP, QoS profile присваивается в соответствии с значением параметра "QoS default profile". - **Trust L2+L3** - Если принятый пакет является пакетом IP, QoS profile присваивается как в варианте "Trust L3" (см. выше). Если принятый пакет не является пакетом IP, но имеет 802.1q тэг, QoS profile присваивается как в варианте "Trust L2" (см. выше). В противном случае (если пакет не является пакетом IP и не тегирован) QoS profile присваивается в соответствии с значением параметра "QoS default profile". remap DSCP:: Если чекбокс отмечен, и параметр "QoS Trust mode" имеет значение "Trust L3" или "Trust L2+L3", для каждого принятого пакета IP выполняется ремаппинг (мутация) значения поля DSCP в соответствии с таблицей DSCP-to-DSCP mapping (**не поддерживается**: все элементы таблицы имеют значение 0). Если чекбокс не отмечен, ремаппинг DSCP принятого пакета не производится. modify DSCP:: Если чекбокс отмечен, значение поля DSCP принятых через данный порт пакетов IP будет модифицировано, когда пакет будет передаваться в другой порт коммутатора, в соответствии с QoS profile пакета. Соответствие QoS profile и нового значения DSCP устанавливается на вкладке "QoS профили" (см. описание ниже). Обратите внимание, что установленный при приеме пакета флаг модификации DSCP может быть впоследствии сброшен правилами политик (см. описание вкладки "Policy Rules" ниже). Если чекбокс не отмечен, модификация поля DSCP пакета при передаче в порт не производится. Обратите внимание, что флаг модификации DSCP может быть впоследствии установлен правилами политик. modify UP:: Если чекбокс отмечен, значение поля User Priority принятых через данный порт пакетов будет модифицировано, когда пакет будет передаваться в другой порт коммутатора как тегированный, в соответствии с QoS profile пакета. Соответствие QoS profile и значения User Priority устанавливается на вкладке "QoS профили" (см. описание ниже). Обратите внимание, что установленный при приеме пакета флаг модификации User Priority может быть впоследствии сброшен правилами политик (см. описание вкладки "Policy Rules" ниже). Если чекбокс не отмечен, модификация поля User Priority пакета при передаче в порт не производится. Обратите внимание, что флаг модификации User Priority может быть впоследствии установлен правилами политик. PUP:: Параметр устанавливает значение Port User Priority. Заданное этим параметром значение User Priority присваивается принятому пакету в случае, если пакет не имеет тэга 802.1q. TD профиль:: Конфигурационный параметр назначает порту один из четырех Tail-Drop профилей, устанавливающих предельное количество буферов и дескрипторов пакетов, для каждой очереди передачи и Drop Precedence пакета, а также общий лимит буферов и дескрипторов для порта. Sched профиль:: Конфигурационный параметр назначает порту один из четырех Scheduling профилей, устанавливающих порядок обслуживания очередей передачи порта. Столбец '''Pause''', отображает состояние приема/передачи кадров Pause(flow control). Возможные состояния ячеек в этой колонке: - "RX" - из порта принят кадр Pause, передача в порт приостановлена; - "TX" - в порт передаются кадры Pause для приостановки передачи удаленной стороной; - "RX/TX" - из порта принят кадр Pause, передача в порт приостановлена, одновременно в порт передаются кадры Pause для приостановки передачи удаленной стороной; - пусто - кадры Pause не принимаются из порта и не передаются в порт, передача данных возможна в обоих направлениях. Первые три состояния отображаются на красном фоне.