Changes between Version 36 and Version 37 of Ethernet


Ignore:
Timestamp:
Apr 27, 2022, 12:34:29 PM (3 years ago)
Author:
alx
Comment:

Добавлено описание User Defined Bytes.

Legend:

Unmodified
Added
Removed
Modified
  • Ethernet

    v36 v37  
    157157Для каждого принятого пакета коммутатор выполняет последовательную проверку условий правил PCL. Если условие выполняется, коммутатор выполняет заданное правилом действие и заканчивает поиск. Описанных проходов поиска по списку правил может быть настроено один или два (lookup 0 и lookup 1).
    158158
     159=== Ключ поиска ===
     160
    159161Условия правил могут включать в себя как проверку данных пакета (например MAC адрес отправителя и получателя, протокол, IP адрес отправителя, IP адрес получателя, поля DSCP и т.п.), так и метаданных, назначенных принятому пакету коммутатором (например номер порта, номер QoS профиля, VLAN ID и т.п.). Для проверки условий списков PCL коммутатор формирует ключ, состоящий из данных и метаданных пакета, о которых блыо сказано выше. В зависимости от типа принятого пакета (не-IP, ARP, IPv4, IPv6) и конфигурации PCL может быть сформировано семь различных типов ключа размером 24 или 48 байт. В свою очередь, условия правил PCL состоят из значения и маски, также размером 24 или 28 байт каждые. Проверка условия заключается в накладывании (побитном умножении) маски на ключ поиска и сравнения результата с значением условия правила. Если результат совпал с заданным значением, условие правила считается выполненным, и коммутатор выполняет указанное правилом действие. Таким образом, условие правила может проверять любое из составляющее ключ полей на равенство заданному значению (если соответствующие полю биты маски установлены в 1), игнорировать значение поля (если соответствующие полю биты маски сброшены в 0) или проверять только часть значения поля (если часть соответствующих битов маски установлена), например равенство префикса адреса IPv6 заданному значению.
    160 
    161 В памяти коммутатора могут храниться различные списки правил PCL. В зависимости от того, каким портом/транком/VLAN принят пакет, к нему могут применяться разные списки правил. Также разные списки правил могут применяться на первом и втором проходах поиска. Для идентификации списка правил служит 10-битный идентификатор PCL (PCL-ID). Значение идентификатора назначается в соответствии с конфигурацией PCL. Поле PCL-ID является частью условия любого правила PCL. Таким образом, любое правило PCL может быть привязано к конкретному значению PCL-ID (если все биты PCL-ID "открыты" маской), может быть привязано к нескольким PCL-ID (если только часть битов PCL-ID "открыты маской), или применяться независимо от PCL-ID (если поле PCL-ID полностьб "закрыто" маской).
    162162
    163163Алгоритм выбора типа (формата) ключа показан на следующий диаграмме.
     
    207207}}}
    208208
     209=== PCL-ID ===
     210
     211В памяти коммутатора могут храниться различные списки правил PCL. В зависимости от того, каким портом/транком/VLAN принят пакет, к нему могут применяться разные списки правил. Также разные списки правил могут применяться на первом и втором проходах поиска. Для идентификации списка правил служит 10-битный идентификатор PCL (PCL-ID). Значение идентификатора назначается в соответствии с конфигурацией PCL. Поле PCL-ID является частью условия любого правила PCL. Таким образом, любое правило PCL может быть привязано к конкретному значению PCL-ID (если все биты PCL-ID "открыты" маской), может быть привязано к нескольким PCL-ID (если только часть битов PCL-ID "открыты маской), или применяться независимо от PCL-ID (если поле PCL-ID полностью "закрыто" маской).
     212
    209213Как уже было сказано выше, конфигурация PCL определяет:
    210214- какие проходы поиска PCL правил (lookup 0 и/или lookup1) будут выполняться;
     
    245249}}}
    246250
    247 
     251=== Определяемые пользователем байты (User Defined Bytes) ===
     252
     253Помимо заранее определенных полей заголовка пакета, таких как EtherType, DSCP или IP protocol, коммутатор позволяет (в зависимости от формата ключа) определить до шести произвольных байтов пакета, которые будут извлечены из первых 128 байт пакета в ключ поиска и могут быть проверены условиями правил PCL. Каждый определяемый пользователем байт имеет два параметра:
     254- **Якорь** - условная точка (позиция) в пакете, от которой отсчитывается смечещние байта. Якорь может быть выбран из следующих возможных значений:
     255 - **start of L2 header** - начало заголовка L2 (ethernet);
     256 - **start of L3 header** - начало заголовка L3 (IP);
     257 - **start of L4 header** - начало заголовка L4 (payload IP, например TCP или UDP);
     258 - **start of IPv6 ext.header** - начало заголовка расширений IPv6.
     259- **Смещение** - число байт (от 0 до 127), добавляемое к позиции якоря для определения позиции извлекаемого байта.
     260
     261Как было сказано выше, определяемый пользователем байт может быть извлечен только из первых 128 байт пакета. Если в результате вычисления позиции определяемого пользователем байта обнаруживается выход за пределы первых 128 байт пакета, поведение коммутатора определяется параметром "Invalid user defined bytes" глобальных настроек PCL.
     262
     263=== Действия правил PCL ===
    248264
    249265Действие правила определяет, какие манипуляции с пакетом будут произведены в случае выполнения условия. Эти действия могут включать:
     
    412428[[Image(pic10.jpg)]]
    413429
    414 При нажатии кнопки "Настройки" открывается диалог глобальных настроек LCP "Policy Engine Global Configuration".
     430При нажатии кнопки "Настройки" открывается диалог глобальных настроек PLC "Policy Engine Global Configuration".
     431
     432Группа "Тип ключа" позволяет выбрать формат ключа, от которого зависит интерпретация условий правил PCL и настройки определяемых пользователем байтов в расположенных ниже таблицах.
     433
     434Таблица "User defined bytes" отображает параметры (якорь и смещение) определяемых пользователем байтов, имеющихся в выбранном формате ключа. При нажатии кнопки "Изменить" ([[Image(edit-icon.png)]]) открывается диалог, позволяющий изменить параметры "Якорь" и "Смещение".
    415435
    416436=== Диалог настроек VLAN ===