Разница между инструкциями и действиями в OpenFlow

В протоколе OpenFlow у нас есть таблица потоков (или несколько таблиц потоков). Каждая таблица потоков в коммутаторе содержит набор записей потоков. Каждая запись потока содержит поля заголовка, счетчики и набор инструкций или действий, которые необходимо применить. Инструкции похожи на «добавить это действие в набор действий» (инструкция write-actions) или «очистить набор действий» (инструкция clear-actions), а действия наподобие «вывод на порт X» (действие output) или «отбросить этот пакет» (действие drop) . Но как работает? что именно находится в записи потока, действие или инструкция? а может оба? что такое набор действий? Может ли кто-нибудь дать мне небольшой пример, в котором используются эти термины?


person Filip Kowalski    schedule 14.10.2016    source источник


Ответы (1)


«Действия могут отбрасывать, изменять, ставить в очередь или пересылать пакет. В версии 1.0 протокола OpenFlow набор действий изменяется непосредственно списком действий в сообщении FlowMod; однако в 1.1.0 и последующих версиях протокол, Набор действий модифицируется структурой Instruction, содержащейся в FlowMod. Инструкция может содержать список действий для обновления набора действий или может быть немедленно применена к пакету в обход набора действий».

исх. (http://flowgrammable.org/sdn/openflow/actions/#ofp_1_4 )

Другими словами, когда пакет соответствует конкретному потоку OpenFlow, коммутатор, работающий с OpenFlow версии 1.0, применяет к пакету набор действий. Теперь, с новой версией OpenFlow, вместо применения набора действий коммутатор применяет инструкцию потока к соответствующему пакету.

Согласно спецификации OpenFlow 1.5.1 (https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.5.1.pdf), набор инструкций связанная с записью потока, содержит не более одной инструкции каждого типа в следующем порядке: действие-применить, действие-очистки, действие-записи, запись-метаданные, триггер статистики или переход к таблице.

person Felipe Volpato    schedule 04.08.2017