Автоматический обмен сообщениями о тайм-ауте OpenFlow

Этот вопрос может показаться слегка гипотетическим, но я не мог понять, как еще его задать.

Протокол OpenFlow имеет функцию, которая позволяет удалять его правила, когда с ними не совпадает трафик. Эта функция называется «тайм-аут простоя».

В статье указано, что типичное обнаружение каналов OpenFlow не масштабируется, потому что Контроллер должен взаимодействовать со многими пакетами. Поэтому я начал думать о способе непрерывного опроса ссылок без постоянного наблюдения контроллера за происходящим. Я пришел к следующей идее:

Обнаруживать все новые порты (например, каждые 5 минут или что-то в этом роде), затем устанавливать правила, которые простаивают через 2 секунды, и отправлять ровно один пакет на каждую ссылку. Правила тайм-аута простоя сделают пакетный цикл на канале связи.

Не считая возможности злоупотреблений и возможности поглощения мегабайта трафика в секунду с одним пакетом, желаемое поведение должно быть ясным:

] Если канал отключен или в нем наблюдается насыщение, то пакет будет потерян, а правила простоя будут отключены через две секунды. Это можно обнаружить с помощью контроллера, и это кажется более элегантным, чем непрерывная отправка пакетов, чтобы убедиться, что «все в порядке».

Моя проблема в том, что это все равно потребует от контроллера опроса установленных правил в соответствующей таблице, которая все еще кажется раздражающим объемом работы.

Хоть бы Было бы проще, если бы OpenFlow можно было приказать сообщать при удалении определенного правила ?

Было бы это реалистичным дополнением, учитывая текущую реализацию OpenFlow (или это уже реализовано) ?

По дизайну кажется, что OpenFlow близок к тому, чтобы иметь возможность делать такие сообщения, и кажется, что по способу реализации OpenFlow тайм-ауты могут быть критически важными (хотя не все из них).

0
задан 1 November 2017 в 15:26
1 ответ

Я нашел это в спецификациях openflow 1.1 , должно быть, пропустил это:

Когда запись потока удаляется, коммутатор должен проверить флаг OFPFF_SEND_FLOW_REM записи потока . Если этот флаг установлен, коммутатор должен отправить контроллеру сообщение об удалении потока. Сообщение каждого потока удалено содержит полное описание записи потока, причину удаления (истечение срока действия или удаление), запись потока продолжительность во время удаления и статистика потока во время удаления.

Таким образом, то, что я хочу, было явно реализовано в OpenFlow (по крайней мере, с версии 1.1).

Хотя я использую OpenDaylight и Если вы не уверены, разработан ли ODL для реагирования на эти сообщения, это отлично отвечает на мой вопрос.

0
ответ дан 5 December 2019 в 07:11

Теги

Похожие вопросы