Как контроллеры SDN обрабатывают неизвестные пакеты?
В контроллере SDN, когда новый пакет прибыл в маршрутизатор или коммутатор на основе OpenFlow и не нашел запись потока соответствия в таблицах потоков OpenFlow, что делает контроллер SDN? Передает ли этот пакет только месту назначения и устанавливает его соответствующую запись потока в таблице потоков? Если да, почему бы просто не оставить его по соображениям безопасности?
2 ответа
Когда пакет принимается коммутатором SDN, у которого нет связанного с ним правила, он отправляется на контроллер. Теперь контроллер может отказаться от него или сделать что-то особенное (например, записать его, а затем переслать). Это поведение является ключом к реализации многих функций Openflow, таких как обучающие коммутаторы.
https://github.com/mininet/openflow- учебник /вики /Create-A-Learning-Switch
Контроллер ничего не делает сразу - он не знает, что это событие произошло. Первоначальное решение, которое должно быть принято, должно быть принято устройством, получившим пакет, который он не может сопоставить. Он может решить (из-за конфигурации) отправить этот пакет контроллеру, но простая математика указывает, что это не масштабируется (интерфейс управления очень медленный по сравнению с совокупной пропускной способностью передней панели устройство), и поэтому по умолчанию удаляются неповторимые пакеты.
Если устройство отправляет пакет контроллеру (или, более вероятно, только первые сотни байтов или около того), то, конечно, Контроллер может делать все, что ему нравится, с этими данными.