Changes between Version 32 and Version 33 of Ethernet


Ignore:
Timestamp:
Apr 15, 2022, 6:32:04 PM (2 years ago)
Author:
alx
Comment:

Добавлено описание PCL.

Legend:

Unmodified
Added
Removed
Modified
  • Ethernet

    v32 v33  
    153153== PCL ==
    154154
    155 Коммутатор позволяет производить обработку пакетов ethernet на основании списков PCL (Policy Control Lists). Списки PCL состоят из последовательности правил, обрабатываемях коммутатором для каждого принятого пакета (если это разрешено глобальной настройкой и настройками портов). Каждое правило состоит из двух основных элементов:
    156 - условия;
    157 - действия.
    158 
    159 Для каждого пакета коммутатор выполняет последовательную проверку условий правил PCL. Если условие выполняется, коммутатор выполняет заданное правилом действие и заканчивает поиск. Описанных проходов поиска по списку правил может быть настроено один или два (lookup 0 и lookup 1).
    160 
    161 Условия правил могут включать себя как проверку данных пакета (например MAC адрес отправителя и получателя, протокол, IP адрес отправителя, IP адрес получателя, поля DSCP и т.п.), так и метаданных, назначенных принятому пакету коммутатором (например номер порта, номер QoS профиля, VLAN ID и т.п.). Для проверки условий списков PCL коммутатор формирует ключ, состоящий из данных и метаданных пакета, о которых блыо сказано выше. В зависимости от типа принятого пакета (не-IP, ARP, IPv4, IPv6) и настроек коммутатора может быть сформировано шесть различных типов ключа размером 24 или 48 байт. В свою очередь, условия правил PCL состоят из значения и маски, также размером 24 или 28 байт каждые. Проверка условия заключается в накладывании (побитном умножении) маски на ключ поиска и сравнения результата с значением условия правила. Если результат совпал с заданным значением, условие правила считается выполненным, и коммутатор выполняет указанное правилом действие.
     155Коммутатор позволяет производить обработку пакетов ethernet на основании списков PCL (Policy Control Lists). Списки PCL состоят из последовательности правил, обрабатываемях коммутатором для каждого принятого пакета (если это разрешено глобальной настройкой и настройками портов). Каждое правило состоит из двух основных элементов - условия и действия. Обработка пакетов правилами PCL может быть отключена глобально, а также (если обработка не отключена шлобально) может быть включена/выключена индивидуально для каждого порта коммутатора. Обработка пакета выполняется в случае, если политики разрешены глобально **и** включены в настройках порта, принявшего пакет. Обработке правилами PCL подлежат только пакеты, которым назначена команда forward, то есть предназначенные для форвардинга обычным образом. Пакеты, зеркалированные в порт анализатора, перенаправленные в порт CPU или передаваемые от CPU в определенный порт коммутатора (например кадры обнаружения петли или кадры RSTP BPDU) правиламт PCL не обрабатываются.
     156
     157Для каждого принятого пакета коммутатор выполняет последовательную проверку условий правил PCL. Если условие выполняется, коммутатор выполняет заданное правилом действие и заканчивает поиск. Описанных проходов поиска по списку правил может быть настроено один или два (lookup 0 и lookup 1).
     158
     159Условия правил могут включать себя как проверку данных пакета (например MAC адрес отправителя и получателя, протокол, IP адрес отправителя, IP адрес получателя, поля DSCP и т.п.), так и метаданных, назначенных принятому пакету коммутатором (например номер порта, номер QoS профиля, VLAN ID и т.п.). Для проверки условий списков PCL коммутатор формирует ключ, состоящий из данных и метаданных пакета, о которых блыо сказано выше. В зависимости от типа принятого пакета (не-IP, ARP, IPv4, IPv6) и настроек коммутатора может быть сформировано семь различных типов ключа размером 24 или 48 байт. В свою очередь, условия правил PCL состоят из значения и маски, также размером 24 или 28 байт каждые. Проверка условия заключается в накладывании (побитном умножении) маски на ключ поиска и сравнения результата с значением условия правила. Если результат совпал с заданным значением, условие правила считается выполненным, и коммутатор выполняет указанное правилом действие. Таким образом, условие правила может проверять любое из составляющее ключ полей на равенство заданному значению (если соответствующие полю биты маски установлены в 1), игнорировать значение поля (если соответствующие полю биты маски сброшены в 0) или проверять только часть значения поля (если часть соответствующих битов маски установлена), например равенство префикса адреса IPv6 заданному значению.
     160
     161Аглоритм выбора типа (формата) ключа показан на следующий диаграмме.
     162
     163{{{#!plantuml
     164@startuml
     165
     166start
     167 if (размер ключа?) then (short)
     168
     169   if(тип пакета?) then (не-IP)
     170      :L2;
     171   else (IP или ARP)
     172    if (протокол?) then (IPv4 или ARP)
     173      if(тип ключа?) then (0)
     174       :IPv4+L4;
     175      else (1)
     176       :L2+IPv4/6 QoS;
     177      endif
     178    else (IPv6)
     179     if(lookup 0?) then (да)
     180      :L2+IPv4/6 QoS;
     181     else (нет)
     182      if(lookup 1 тип ключа?) then (0)
     183       :L2+IPv4/6 QoS;
     184      else (1)
     185       :IPv6 DIP;
     186      endif
     187     endif
     188    endif
     189   endif
     190
     191 else
     192  if(тип пакета?) then (IPv6)
     193   if(тип ключа?) then (0)
     194    :L2+IPv6;
     195   else (1)
     196    :IPv6+L4;
     197   endif
     198  else (не-IPv6)
     199   :L2+IPv4+L4;
     200  endif
     201 endif
     202 kill
     203
     204@enduml
     205}}}
     206
     207
     208Действие правила определяет, какие манипуляции с пакетом будут произведены в случае выполнения условия. Эти действия могут включать:
     209- изменение команды (решения о судьбе пакета): forward, hard drop, soft drop, mirrot to CPU, trap to CPU;
     210- изменение идентификатора VLAN;
     211- перемаркировка QoS (изменение QoS профиля, изменение флагов модификации UP/DSCP, изменение QoS precedence);
     212- инкремент счетчика;
     213- зеркалировать пакет в порт анализатора;
     214- перенаправление пакета в определенный порт, транк или мультикастовую группу;
     215- применение полисера.
     216
    162217
    163218