Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Данная команда предназначена для конфигурации MAC Switch (коммутатора).

Синтаксис:

________ LIST commands __________________________________

  switch list LISTNAME [{iface | mac | numrange | match}]

         {add | del} [VALUE ...]

         dump [WILDCARD]

         rename  NEWNAME

         file   FILENAME

         [ flush|remove]

________ GROUP commands _________________________________

  switch group ID {add | del} IFNAME[:{TAG|0}] ...

  switch group ID {repeater|trunk|uncoupled} {on|off}

  switch group ID {(up|down)stream} {SCID|0}

  switch group ID [x]vlan {TAG|LIST|0} [[no]bidir]

  switch group ID nvlan {[on]|off}

  switch group ID info INFO_STRING

  switch group ID setid NEWID

  switch group ID stp { off | on | dump }

  switch group ID stp priority [PRIO]        #(default: 57344, step: 4096)

  switch group ID stp forwarddelay [DELAY]        #(default: 15 sec)

  switch group ID stp maxage [TIME]               #(default: 20 sec)

  switch group ID stp port IFNAME priority [PRIO] #(default: 128,step 16)

  switch group ID stp port IFNAME cost [COST] #(default: 200000(RSTP),

                                                                               65535(STP)) 

  switch group ID igmp { off | on }

  switch group ID igmp static-add MCAST IF_NAME [MAC]

  switch group ID igmp static-del MCAST IF_NAME [MAC]

  switch group ID igmp dump [detail] 

 switch group ID igmp lmqt Value

 switch group ID igmp gmi Value

 switch group ID igmp router-port { off | on }

 switch group ID igmp flood-reports { off | on }

 switch group ID igmp zero-query-permit { off | on }

 switch group ID igmp srcip IP

 switch group ID igmp join-limit [IF_NAME] N [include $ACL] [except $ACL]

 switch group ID igmp querier [vlan N] {start|stop|clear}

 switch group ID igmp querier [[no]election] [source IP] [mcast X[,Y,...]]

switch group ID igmp querier interval Value

 

switch group ID flood-unicast {off | on}

switch group ID inband {off | on}

switch group ID order N

switch group ID 

           [setpri | addpri PRIO]

           [qmch CHAN]

          {deny | permit | showrules | showback}

switch group ID 

          dump [interface] [WILDCARD]

          [dbdelete MACADDRESS]

          {start [discard] | stop | remove | statistics}

switch group ID {in-trunk} [{ID | 0}]


________ INTERFACE commands _________________________________

switch interface IFNAME mac-limit N


________ RULES commands _________________________________

  switch {group ID | interface IFNAME} rule NUMBER

       [set NEWNUMBER] [not]

       [src   LIST] [dst   LIST] [vlan  LIST]

       [iface LIST] [proto LIST] [match LIST]

       [ setpri |addpri PRIO ] [qmch CHAN]

       [ deny | permit ] [ remove ]


_______  CONTROL commands _______________________________

  switch resynchronize

  switch trace { off | on | verbose | filter "pcap expr"}

  switch stptrace { off | on }

  switch stpblock { off | on }

  switch {dump [WILDCARD]|MACADDRESS}


switch igmp-snooping dump [detail] 

switch {start | stop | restart | destroy | dead-interval DEAD_INTERVAL}

 switch statistics [(clear|help|ID)]

  switch maxsources (MAXSOURCES|0) # default 5000


ПРЕДОСТЕРЕЖЕНИЕ

Начиная с версии 1.22.0 режим работы коммутатора (switch) частично несовместим с предыдущими версиями. Если в сети есть устройства, работающие в режиме коммутатора, то необходимо обновление программного обеспечения на всех узлах сети. Совместимость на уровне протоколов MINT и маршрутизации сохраняется. Также сохраняется возможность обновления прошивки "Over The Air".

Формат Wildcard

Wildcard используются в различных командах для фильтрации распечатываемой информации. В отличии от стандартных wildcard, для обозначения специальных случаев используются следующие символы:

  • "*" - звездочка обозначает наличие в данном месте любого символа или набора символов. Набор может быть и пустым.
  • "~" - знак тильды обозначает наличие на данном месте любого одного символа.

Например,

rf~.~

Данный фильтр допускает распечатывать строки, содержащие набор символов rf5.0, rf5.1, и т.д.

#1> switch group 1 dump eth~
Bridge group 1(normal), READY STARTED Interfaces : eth0(F) eth1(F) rf5.0(F)
Total records 5
  DST MAC        L   Int.   GateWay MAC   GT Cost   UsCNT    Dead    HashC
========= = ====  ========= == === ===== ===== ==== =======
001111144693      eth0   000000000000        0      3987        300       1
000435018822    * eth0  000000000000         0       0            0       1
000435118822    * eth1  000000000000         0       0            0       1

Данный фильтр выводит статистику для всех Ethernet интерфейсов.

Команды управления списками значений (List commands)

Синтаксис:

  switch list LISTNAME [{iface | mac | numrange | match}]

         {add | del} [VALUE ...]

         dump [WILDCARD]

         rename  NEWNAME

         file   FILENAME

         [ flush|remove]

Списки значений используются в качестве набора допустимых значений для условий (rule). Каждый список значений должен иметь уникальное имя и быть отнесен к одному из типов списка: iface, mac, numrange, match. Имя списка может состоять из произвольного сочетания букв и цифр. Имя списка не должно начинаться с цифры. Так же, имя списка нечувствительно к регистру букв.

В синтаксисе:

  • "list" – ключевое слово
  • "LISTNAME" – имя списка. Если имя списка содержит пробелы, то его необходимо заключать в кавычки
  • "iface" – тип списка, который может содержать имя списка сетевых интерфейсов
  • "mac" – тип списка, который может содержать набор значений MAC адресов
  • "numrange" – тип списка, который может содержать набор диапазонов целочисленных положительных значений. Диапазон значений указывается в виде "<min>[-<max>]". Диапазон может содержать единственное значение в случае, если "<min>=<max>". При добавлении в список диапазона пересекающегося с уже существующим(и) происходит их объединение. При удалении диапазона пересекающегося с существующим(и) в списке, происходит удаление полностью вложенных диапазонов и/или дробление пересекающихся с удаляемым.
  • "match" – по контексту применения, "match" выражения идентичны спискам значений, но состоят из единственного элемента – выражения. Выражение задается в формате PCAP (см. утилиту "tcpdump"). Если выражение содержит пробелы, то оно должно быть заключено в кавычки. Описание формата команды "tcpdump" находится здесь: http://www.protocols.ru/modules.php?name=News&file=article&sid=125 

Ключевые слова "add" и "del" предназначены для добавления и удаления значений в названный список соответственно.

  • "VALUE" – это одно или несколько (кроме "match") значений, подлежащих добавлению или удалению из названный список.

Например,

switch list my_iface iface add eth0 rf5.0

В данном примере создается список типа iface с именем "my_iface" и в него добавлены имена сетевых интерфейсов eth0 и rf5.0.

switch list vlans numrange add 10 20-30 40

Данная команда создает список диапазонов значений с именем "vlans" и добавляет в этот список значение 10, диапазон значений от 20 до 30 и значение 40.

switch list ip_mynet match add ‘net 195.38.45.64/26’

Создается список-выражение типа "match". В данном случае при использовании фильтра, под его действие будут попадать все типы пакеты (ip, arp и т.д.), принадлежащие сети 195.38.45.64/26.

switch list ip_mynet match add ‘ip net 195.38.45.64/26’

В данном примере также создается список-выражение типа "match", но в этом случае действие фильтра распространяется только на ip-пакеты, принадлежащие сети 195.38.45.64/26.

Для списков допускается указание источника значений. Источником значений списка является текстовой файл, построчно хранящий набор значений. Файл этот может находится в файловой системе стороннего компьютера с FTP доступом.

Например,

switch list MACGROUP1 file ftp://1.2.3.4/switches/list/macgroup1.txt

При этом файл "macgroup1.txt" может содержать, например, следующее:

  • #Список компьютеров отдела Легкой Промышленности
  • 00:01:02:03:04:05  # Иванова
  • 00:11:12:13:14:15  # Сидоров
  • <EOF>

Загрузка значений в список из источника происходит автоматически при старте коммутатора, при изменении имени источника или при выполнении специальной команды:

switch synchronize
switch list LISTNAME remove

Эта команда удаляет список с именем "LISTNAME" из конфигурации коммутатора.

switch list LISTNAME flush

Команда очищает содержимое списка с именем "LISTNAME"

switch list OLDLISTNAME rename NEWLISTNAME

Команда переименовывает список "OLDLISTNAME" в "NEWLISTNAME".

switch list LISTNAME  dump [WILDCARD]

Команда распечатывает содержимое списка "LISTNAME". Если указан параметр "WILDCARD", то команда распечатает только строки удовлетворяющие "WILDCARD".

Команды управления группами(Group commands)

Синтаксис:

  switch group ID {add | del} IFNAME[:{TAG|0}] ...

  switch group ID {repeater|trunk|uncoupled} {on|off}

  switch group ID {(up|down)stream} {SCID|0}

  switch group ID [x]vlan {TAG|LIST|0} [[no]bidir]

  switch group ID nvlan {[on]|off}

  switch group ID info INFO_STRING

  switch group ID setid NEWID

  switch group ID stp { off | on | dump }

  switch group ID stp priority [PRIO]        #(default: 57344, step: 4096)

  switch group ID stp forwarddelay [DELAY]        #(default: 15 sec)

  switch group ID stp maxage [TIME]               #(default: 20 sec)

  switch group ID stp port IFNAME priority [PRIO] #(default: 128,step 16)

  switch group ID stp port IFNAME cost [COST] #(default: 200000(RSTP),

                                                                               65535(STP)) 

  switch group ID igmp { off | on }

  switch group ID igmp static-add MCAST IF_NAME [MAC]

  switch group ID igmp static-del MCAST IF_NAME [MAC]

  switch group ID igmp dump [detail] 

 switch group ID igmp lmqt Value

 switch group ID igmp gmi Value

 switch group ID igmp router-port { off | on }

 switch group ID igmp flood-reports { off | on }

 switch group ID igmp zero-query-permit { off | on }

 switch group ID igmp srcip IP

 switch group ID igmp join-limit [IF_NAME] N [include $ACL] [except $ACL]

 switch group ID igmp querier [vlan N] {start|stop|clear}

 switch group ID igmp querier [[no]election] [source IP] [mcast X[,Y,...]]

switch group ID igmp querier interval Value

 

switch group ID flood-unicast {off | on}

switch group ID inband {off | on}

switch group ID order N

switch group ID 

           [setpri | addpri PRIO]

           [qmch CHAN]

          {deny | permit | showrules | showback}

switch group ID 

          dump [interface] [WILDCARD]

          [dbdelete MACADDRESS]

          {start [discard] | stop | remove | statistics}

switch group ID {in-trunk} [{ID | 0}]

switch group ID {add | del} IFNAME[:{TAG|0}] ...

Команда добавляет или удаляет указанные интерфейсы в коммутационную группу.

  • "ID" – числовой идентификатор группы (1-4095)
  • "add|del" – данные команды добавляют/удаляют указанные интерфейсы в данную группу. Если указана команда "add", а группы с идентификатором ID не существовало, то она будет автоматически создана.
  • "IFNAME" – имя сетевого интерфейса, который должен быть добавлен или удален из коммутационной группы.
  • "TAG". Опция позволяет управлять перетэгировкой пакета, если он направляется в данный интерфейс. При этом возможны следующие варианты:
    • "TAG" задан для интерфейса и его значение >0. Это означает, что любому пакету направляемому коммутатором в данный интерфейс будет присвоен номер "vlan" равный TAG. Если пакет уже имел vlan, то этот vlan будет заменен на TAG.
    • "TAG" не задан. Это означает, что значение vlan у пакета не ни изменено, ни добавлено (пакет передается без изменений).
    • "TAG" задан и его значение равно 0. Это означает, что пакет направляемый в данный интерфейс будет растэгирован, если он имел "vlan" и будет передан без изменений в противном случае.

Например,

switch group 3 add rf5.0:10 eth0:0

В этом примере все пакеты, коммутируемые группой 3 будут тэгироваться vlan 10 при отправке через интерфейс rf5.0 и будут растэгироваться при отправке через интерфейс eth0.

ВНИМАНИЕ

Все пакеты, предназначенные самому коммутатору всегда растэгируются.

switch group ID {repeater|trunk|uncoupled} {on|off}

Эта команда включает/выключает режимы повторителя (repeater), транка (trunk) или режим «uncoupled».

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

В режиме транка, группа коммутирует все пакеты, принятые через "eth*" интерфейсы таким образом, что при передаче их в интерфейсы "rf*" она отправляет их с номером группы равным "vlan" этих пакетов. При этом, по умолчанию, сами пакеты не изменяются. При приеме пактов с интерфейсов "rf*", группа в режиме транка отправляет эти пакеты в интерфейсы "eth*" тэгируя их "vlan" равным номеру коммутационной группы, с которой они были приняты через "rf*" интерфейс.

Если сеть с кольцевой структурой подключена к вышестоящей (CORE) сети в нескольких точках, то возникает опасность образования коммутационных петель через внешнюю сеть. Протокол STP в этом случае не позволяет одновременно использовать все подключения для равномерной и эффективной загрузки сети. Группы, имеющие признак "uncoupled", не участвуют в передаче коммутируемого трафика между собой, даже если имеют одинаковый номер группы, что исключает возможность     возникновения петель, но не мешает инжектировать трафик в сеть. Для исходящего трафика промежуточные узлы будут использовать только ближайший к себе “uncoupled” узел (в смысле времени доступа), что способствует более равномерной загрузке сети.

Например,

switch group 12 trunk on

Если на устройстве включается транковая группа, которая будет обеспечивать передачу нескольких VLAN потоков по разным направлениям, то на клиентских устройствах следует использовать опцию "in-trunk" для явного указания, в состав какой транковой группы входит данная группа:

switch group ID in-trunk [{ID|0}]

Например, если группа 100 на клиентском устройстве входит в состав транковой группы 5 (группа 100 образовалась в результате конвертации VLAN ID 100 в номер группы 100), то в конфигурации коммутатора клиентского устройства следует указать команду: "switch group 100 in-trunk 5".

Эта опция позволяет создавать несколько непересекающихся транковых групп в пределах одной сети, с одинаковыми VLAN потоками внутри.

switch group ID [x]vlan {TAG|LIST|0} [[no]bidir]

Данная команда определяет, что группа ID будет коммутировать только пакеты, тегированные "vlan" равным либо значению TAG, либо со значением, принадлежащим указанному списку LIST типа «numrange». Для того чтобы отменить фильтрацию по "vlan" у данной группы, необходимо указать значение TAG равным нулю.

Опция "bidir" позволяет производить двунаправленную проверку пакетов на соответствие указанным VLAN тегам (из проводного сегмента и обратно). Данная опция будет полезна при передаче набора VLAN через сеть с кольцевой структурой, с отбором некоторых из них в промежуточных узлах кольца.

Примечание. При включенном таким образом фильтре по "vlan", остальные правила коммутации (см. ниже) не действуют.

Например,

switch group 5 vlan 5
switch group ID xvlan {TAG|LIST|0} [[no]bidir]

Данная команда, в отличии от правила "vlan {TAG|LIST|0}", позволяет группе обрабатывать нетегированные пакеты.

Например,

switch list MYNET numrange add 100 200 300
switch group 10 xvlan MYNET
switch group 10 trunk on

Группа 10 будет обрабатывать пакеты с VLAN ID 100, 200, 300, а также нетегированные пакеты. При этом нетегированные пакеты будут отправляться в MINT сеть с собственным номером группы, (в данном случае - 10), тегированные - с номерами групп совпадающими с VLAN ID.

switch list MYNET numrange add 100 200 300
switch group 20 vlan MYNET
switch group 20 trunk on

Группа 20 обрабатывает только тегированные пакеты из списка MYNET и передаёт их преобразовывая VLAN ID в соответствующий номер группы (и наоборот).

switch list MYNET numrange add 100 200 300
switch group 30 vlan MYNET
switch group 30 trunk off

Группа 30 обрабатывает только тегированные пакеты из списка MYNET и    передаёт их без изменения с номером группы 30.

switch group ID nvlan {[on]|off}

Данная команда определяет, что группа будет коммутировать только нетегированные VLAN тегом пакеты.

switch group ID info INFO_STRING

Данная команда позволяет добавить памятку/комментарий к описанию группы.

switch group ID setid NEWID

Данная команда меняет идентификатор коммутационной группы GROUPIID на NEWID.

Например,

switch group 3 setid 7
switch group ID
         [dump [interface] [WILDCARD]]
         [dbdelete   MACADDRESS]
         {start [discard] |stop | remove | statistics}
  • "dump" – распечатывает базу данных известных MAC адресов
  • "interface" - распечатывает базу данных известных MAC адресов сгруппировав ее по интерфейсам
  • "WILDCARD" – при распечатке будут выводится только строки базы данных отвечающие заданному критерии
  • "dbdelete MACADDRESS" – удаляет все записи из базы данных MAC адресов, связанные с указанным MAC адресом
  • "start|stop" – активизирует/останавливает указанную коммутационную группу
  • "remove" – удаляет указанную группу из конфигурации коммутатора
  • "statistics" - выводит статистику по указанной группе

Например,

switch group 3 dump eth0
switch group 5 start

Для решения часто возникающей задачи передачи восходящих "multicast" потоков в системах видеонаблюдения и регистрации введены два дополнительных параметра – "downstream" и "upstream".

switch group ID {(up|down)stream} {SCID|0}

Например,

Предположим к узлам 1,2,3,4,5 и 6 подключены цифровые видеокамеры, которые транслируют изображение с помощью "multicast" пакетов, и все эти потоки нужно передать на видео сервер наиболее оптимальным способом, не подвергая сеть ненужному “зафлуживанию” широковещательными пакетами.

Рисунок - Пример

Весь downstream (от сервера к камерам) трафик, если таковой имеется, передаётся в группе 1000, в которой находятся все узлы сети. А вот "upstream" потоки от каждой камеры передаются непосредственно к ближайшему концентратору своей группы.

Особенностью такого решения является возможность установки нескольких концентраторов с одинаковым номером группы. Для устранения проблемы "broadcast" шторма, который мог бы возникнуть из-за того, что концентраторы включены в разные порты одного проводного свитча, в MINT введено ограничение – транковые и "downstream" концентраторы никогда не используют друг друга для передачи трафика. Кроме того, наличие опции “upstream” гарантирует, что оконечные узлы будут выбирать для отправки пакетов только один концентратор, а именно кратчайший путь к ближайшему концентратору.

"MAC switch" (коммутатор) поддерживает протокол STP, а именно две его версии: STP, RSTP. Для реализации данной функции  введены следующие команды коммутатора:

switch group ID stp { off | on | dump }

Данная команда с помощью параметров "off / on" выключает или включает STP для данной группы. Параметр "dump" позволяет посмотреть состояние STP для данной группы.

Вывод команды "switch group ID stp dump"

Рисунок - Вывод команды "switch group ID stp dump"
switch group ID stp priority [PRIO]

Данная команда устанавливает "stp" приоритет коммутатора, где "[PRIO]" – значение приоритета. Если значение приоритета не указано, то ставиться значение по умолчанию, равное 57344. При указании значения приоритета следует учитывать, что указанное значение будет автоматически округлено в меньшую сторону до значения кратного 4096 (step 4096).

switch group ID stp forwarddelay [DELAY]

Данная команда устанавливает "stp" параметр «forward delay», определяющее время нахождения коммутатора в состояниях “listening” и “learning”, где "[DELAY]" – значение данного параметра в секундах. Если значение не указано, то ставиться значение по умолчанию, равное 15 секундам.

switch group ID stp maxage [TIME]

Данная команда устанавливает "stp" параметр «MAX age», определяющего время ожидания BPDU-пакета коммутатором, где "[TIME]" – значение данного параметра в секундах. Если значение не указано, то ставиться значение по умолчанию, равное 20 секундам.

switch group ID stp port IFNAME priority [PRIO]

Данная команда устанавливает "stp" приоритет порта коммутатора, где "IFNAME" – имя интерфейса порта, "[PRIO]" – значение приоритета порта. Если значение приоритета не указано, то ставиться значение по умолчанию, равное 128. При указании значения приоритета следует учитывать, что указанное значение будет автоматически округлено в меньшую сторону до значения кратного 16 (step 16).

switch group ID stp port IFNAME cost [COST]

Данная команда устанавливает "stp" параметр «cost» порта коммутатора, определяющего стоимость порта коммутатора, где "[COST]" – значение данного параметра. Если значение не указано, то ставиться значение по умолчанию, равное 200000 для RSTP, 65535 для STP.

Например,

switch group 1 add eth0 rf5.0
switch group 1 stp priority 36864
switch group 1 stp on
switch group 1 start

В данном примере создается группа коммутации «group 1». На ней включается поддержка стандартного "stp" протокола и устанавливается "stp" приоритет коммутатора равный 36864.

switch group ID igmp { off | on }

Команда позволяет отключить/включить функцию “IGMP snooping” для определенной группы коммутации.

Например,

switch group 1 igmp on
switch group ID order N

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

switch group ID [ setpri|addpri PRIO ]

Данная команда даёт возможность устанавливать/повышать приоритет пакетов, проходящих через группу. Параметр "setpri" явно изменяет приоритет пакету. При использовании значения -1, у пакета сбрасывается его приоритет. Параметр "addpri" изменит приоритет только в том случае, если вновь устанавливаемый приоритет выше, чем уже имеющийся у пакета (чем меньше число, тем выше приоритет). То есть с помощью параметра "addpri" приоритет можно только повысить.

Например,

switch group 1 addpri 15
switch group ID {deny | permit | showrules | showblack}

Данная команда:

  • "deny/permit" - запрещает/разрешает обрабатывать и отправлять пакеты, принадлежащие данной группе
  • "showrules" - отображает/скрывает детальную информацию по правилам классификации группы, включая счётчик срабатывания каждого правила
  • "showblack" - показывает список MAC-адресов, заблокированных по причине неопределённости места нахождения адресата.
switch igmp dump [detail]

Данная команда распечатывает список IGMP-хостов (клиентов), подписанных на мультикастовую (Internet Protocol multicast) группу.

Вывод команды «switch igmp dump»

 
Рисунок - Вывод команды «switch igmp dump»

Параметр "detail" позволяет распечатать детальную информацию о подписчиках.

switch igmp lmqt Value

Данная команда позволяет задать значение «Last Member Query Time», т.е. максимальное время, в течение которого коммутатор будет ждать ответа от активных подписчиков, перед тем как закрыть доставку Multicast-пакетов на данный шлюз после приема пакета «IGMP leave». В качестве шлюза может  выступать  либо Ethernet интерфейс, либо радио интерфейс и  MAC-адрес клиента, находящегося на другой стороне радио соединения.

switch igmp gmi Value

Данная команда позволяет задать значение «Group Membership Interval», т.е. максимально возможное время, за которое коммутатор решит, что на данном шлюзе не осталось активных подписчиков (нет пакетов “IGMP report” на данную группу).

switch igmp static-add MCAST IF_NAME [MAC]

Данная команда создает статическую подписку клиента на multicast-адрес.

switch igmp static-del MCAST IF_NAME [MAC]

Данная команда удаляет статическую подписку клиента на multicast-адрес.

switch igmp router-port { off | on }

Данная команда включает режим транслирования multicast-пакетов не только в порты подписчикам, но и во все порты, к которым подключены маршрутизаторы (Querier).

switch igmp flood-reports { off | on }

Данная команда включает/выключает трансляцию "IGMP report" пакетов во все порты коммутатора, а не только в те, к которым подключены маршрутизаторы (Querier). Настройка по умолчанию – "off".

switch igmp srcip IP

Данная команда позволяет заменить IP-адрес источника в пакетах "IGMP Report" на IP-адрес, указанный в параметре “IP” данной команды.

switch igmp zero-query-permit { off | on }

Данная команда позволяет разрешить обработку и трансляцию пакетов с исходным IP-адресом 0.0.0.0. Значение по умолчанию – "off".

switch igmp querier [vlan N] {start|stop|clear}

Данная команда включает/выключает (start/stop) функцию «Querier»,  заменяющую функции multicast-маршрутизатора при организации систем видеонаблюдения с использованием «IGMP Snooping».

  • "vlan N" – включает передачу multicast-пакетов с использованием Vlan.
  • "clear" - очищает конфигурацию IGMP Querier.
switch igmp querier [[no]election] [source IP] [mcast X[,Y,...]]
  • "[no]election" - при активной функции "IGMP Querier", данная опция запрещает/разрешает участвовать в выборах "IGMP Querier" в данном сегменте сети. Согласно принятым стандартам в каждом сегменте должен быть только один активный "Querier", имеющий наименьший IP-адрес. Значение по умолчанию – включено.
  • "source X" – задает source адрес для multicast-пакетов
  •  "mcast X[,Y,...]" – задает номер группы (или групп), на которую разрешена подписка.
 switch igmp querier interval Value

Задаёт интервал отправки пакетов "IGMP Querier" в секундах.

switch group ID igmp join-limit [IF_NAME] N [include $ACL] [except $ACL]

Команда используется для ограничения количества адресов активных уникальных multicast групп в режиме "IGMP Snooping". При превышении указанного лимита, новые IGMP подписки будут блокироваться.

  • "include" - список, содержащий перечень адресов/сетей, на которые действует ограничение
  • "except" - список, содержащий перечень исключений.

Команды управления интерфейсом (Interface commands)

Синтаксис:

switch interface IFNAME mac-limit N

Команда используется для ограничения количества MAC-адресов, доступных через указанный сетевой интерфейс. При превышении указанного лимита, новые MAC-адреса не будут вноситься в таблицу обучения коммутатора и весь трафик с этих адресов будет блокирован.

Команды управления правилами коммутации (Rules commands)

Правила коммутации применяются для:

  • Определения подходящей коммутационной группы при приеме пакета через интерфейсы eth*. Пакет, принятый через такой интерфейс будет коммутироваться только такой группой, коммутационным правилам которой удовлетворяет данный пакет.
  • Когда пакет прошел отбор коммутационной группой и группа принимает решение отправить ли данный пакет через выбранный интерфейс. Через этот интерфейс пакет будет отправлен только если он удовлетворяет коммутационным правилам данного интерфейса.

Правила коммутации состоят из списка правил (rules) и решения по умолчанию (deny/permit). Каждое правило состоит из порядкового номера, условия и решения (deny/permit). При просмотре списка определяется удовлетворяет ли пакет условию текущего правила. Если удовлетворяет, то в отношении данного пакета принимается решение этого правила. Иначе продолжается просмотр списка правил далее. Порядок просмотра правил соответствует увеличению их порядкового номера. Если пакет не удовлетворяет условию ни одного из правил, то принимается решение по умолчанию данной группы или интерфейса. Решение по умолчанию deny означает, что такой пакет не удовлетворяет данным правилам коммутации.

Условие правил состоит из одного или более элемента, сопоставляемого с параметром пакета. Существует 5 параметров пакета:

  1. Интерфейс-источник (iface)
  2. MAC адрес источника пакета (src)
  3. MAC адрес получателя (dst)
  4. VLAN tag (vlan)
  5. Номер протокола уровня Ethernet (proto)

В каждом элементе условия указывается имя списка допустимых значений соответствующего параметра пакета. Кроме того, в условии может присутствовать выражение, записанное на языке фильтров PCAP (tcpdump). Это выражение рассматривается как псевдо параметр пакета и называется match. Таким образом, пакет признается удовлетворяющим условию, если все его параметры принадлежат соответствующим спискам допустимых значений параметра, а весь пакет в целом удовлетворяет выражению "match". Если в условии отсутствует элемент для какого-либо параметра пакета, то данный параметр пакета,  вне зависимости от своего значения, считается удовлетворяющим такому условию. Если же список допустимых значений, указанный в элементе условия оказался пустым, то никакое значение соответствующего параметра не может удовлетворить условию, даже если данный параметр отсутствует в пакете (например, vlan tag).

Управление правилами коммутации группы или интерфейса осуществляется командой:

  switch {group ID | interface IFNAME} rule NUMBER
       [set NEWNUMBER] [not]
       [src   LIST] [dst   LIST] [vlan  LIST]
       [iface LIST] [proto LIST] [match LIST]
       [ setpri|addpri PRIO ] [qmch CHAN]
       [ deny | permit ] [ remove ]
  • "ID" и "IFNAME" – это номер группы или интерфейса.
  • "NUMBER" – порядковый номер правила
  • "set NEWNUMBER" – команда изменения номера правила на NEWNUMBER
  • "remove" – команда удаления правила данного правила.
  • "src, dst, vlan, iface, proto, match" – команды установки списка допустимых значений для соответствующего параметра пакета. Для того, чтобы отменить действие списка допустимых значений для соответствующего параметра пакета в данном правиле, необходимо указать имя несуществующего списка допустимых значений.
  • "deny | permit" – команда установки соответствующего решения данного правила
  • "setpri|addpri PRIO" - Данная команда возможностью устанавливать/повышать приоритет пакетов принятых конкретным правилом классификации. Параметр "setpri" явно изменяет приоритет на указанный в команде. При использовании значения -1, у пакета сбрасывается его приоритет. Параметр "addpri" изменит приоритет только в том случае, если вновь устанавливаемый приоритет выше, чем уже имеющийся у пакета (чем меньше число, тем выше приоритет). То есть с помощью параметра addpri приоритет можно только повысить.

Например,

switch list MACGROUP1 MACGROUP1 mac add00:01:02:03:04:0500:11:12:13:14:15
switch list VGROUP numrange add 10 20-30 40
switch list IP_NET3845 match add ‘arp net 195.38.45.64/26 || ip net 195.38.45.64/26’
switch group 5 rule 10  src MACGROUP1 vlan VGROUP match IP_NET3845 deny
switch group 5 rule 20   dst MACGROUP1 vlan VGROUP match IP_NET3845 deny
switch group 1 rule 1 setpri 10

Для установки решения по умолчанию для коммутационных правил применяется команда:

switch {group ID | interface IFNAME}
       {deny | permit }

Команды управления (Control commands)

Синтаксис:

 switch resynchronize

  switch trace { off | on | verbose | filter "pcap expr"}

  switch stptrace { off | on }

  switch stpblock { off | on }

  switch {dump [WILDCARD]|MACADDRESS}


 switch igmp-snooping dump [detail] 

 switch {start | stop | restart | destroy | dead-interval DEAD_INTERVAL}

 switch statistics [(clear|help|ID)]

 switch maxsources (MAXSOURCES|0) # default 5000

 

switch resynchronize

Производит принудительную перезагрузку содержимого списка допустимых значений, источником данных которых был указан file.

switch trace { off | on | verbose | filter "pcap expr"}

Включает/выключает запись в системный log диагностической информации.

  • verbose” - позволяет записать более детальную информацию
  • filter “pcap expr” - позволяет проследить процесс обработки коммутатором пакетов заданного типа.

Например,

sw trace filter "ether host 00:11:22:33:44:55"
sw trace filter "net 1.2.3.0/24"
sw trace off - отключает действие фильтра
switch stptrace { off | on }

Данная команда с помощью параметров "off / on" выключает или включает вывод служебной информации STP, такой как изменение состояния портов, изменение связей, в системный журнал (sys log). По умолчанию выключено.

switch stpblock { off | on }

«Stpblock on» предотвращает сквозную коммутацию STP фреймов, если поддержка STP на устройстве отключена. Чтобы разрешит сквозную коммутацию STP фреймов используется команда «stpblock off».

База данных МАС адресов коммутатора (БДК) – это таблица маршрутизации MAC уровня, содержащая информацию о способе доставки пакета до адресата назначения (dst). Каждая коммутационная группа имеет независимую БДК. Записи в таблице образуются автоматически на основании адресата источника пакета, принятого одним из интерфейсов коммутационной группы. Кроме того БДК всегда содержит записи соответствующие MAC адресам интерфейсов коммутационной группы. Эти записи называются локальными. Каждая запись, кроме локальной, имеет «время жизни». Если за время жизни записи ни один из интерфейсов не принял ни одного пакета с адресата источника соответствующего данной записи БДК, то данная запись удаляется из базы данных. По умолчанию время жизни равно пяти минутам. Изменить этот параметр можно командой:

switch dead-interval <DEAD_INTERVAL_IN_SECONDS>

Для запуска/остановки/перезагрузки всего коммутатора следует применять команду:

switch {start | stop | restart}

Для удаления конфигурации коммутатора используется команда:

switch {destroy}

Следующая команда отображает статистику работы коммутатора:

switch statistics [(clear|help|ID)]

Показывается информация по отправленным, отброшенным и flood-пакетам, а также по записям таблицы MAC-адресов коммутатора (DB Records). Статистика по "unicast", "broadcast" и "flood" пакетам ведется отдельно.

Опция “clear” позволяет обнулить статистику, а опция “help” показывает пояснения названий причин отбрасывания пакетов, которые используются в выводе статистики.

Если в команде указан идентификатор коммутационной группы, статистика будет отображена для этой группы, с разделением по всем входящим в нее VLAN.

Для ограничения таблицы MAC-адресов коммутатора используется следующая команда:

switch maxsources (MAXSOURCES|0)

Количество записей по умолчанию равно 5000. При использовании значения “0”, устанавливается минимально допустимое значение равное 500.

Пример конфигурации

switch list VGROUP numrange add 10 20-30 40

switch list ALL_VLAN numrange add 0-4095

 

switch group 5 add eth0 rf5.0

switch group 5 rule 10 vlan VGROUP permit

switch group 5 deny

switch group 5 start

 

switch group 15 add eth0 rf5.0

switch group 15 rule 10 vlan VGROUP deny

switch group 15 rule 11 vlan ALL_VLAN permit

switch group 15 deny

switch group 15 start

 

switch group 25 add eth0 rf5.0

switch group 25 rule 10 vlan ALL_VLAN deny

switch group 25 permit

switch group 25 start

switch start

Здесь созданы три коммутационные группы. Группой 5 коммутируются пакеты c VLAN тэгами 10, 20-30 и 40. Группой 15 коммутируются пакеты с любым VLAN тэгом, кроме коммутируемых группой 5. Группой 25 коммутируются любые пакеты без VLAN тэга. Кроме того, группой 25 будут передаваться межкоммутаторный трафик.

  • No labels