Я работаю над исследовательским проектом на SDX (Software Defined Exchange). Реализация текущего SDX, приведенная здесь https://github.com/sdn-ixp/sdx использует только один коммутатор, подключенный к одному контроллеру для пересылки пакетов.Настройка поведения контроллера открытого потока для вставки политик коммутатора?
Моя цель исследования - сделать эту настройку масштабируемой. Первое, что приходит на ум, очевидно, делает работу SDX над несколькими коммутаторами, разделяя таблицы потоков. Подход, который я думал о является созданием примерно такой топологии:
http://i.stack.imgur.com/yXKQp.png
Теперь я хочу, чтобы уменьшить поток записи таблицы в одном коммутаторе, распределяя их по три (в данном примере) переключатели, изображенных в изображение.
Предположим, что узел A хочет отправить пакет в узел B. Когда A впервые присоединился к SDX, контроллер отметил коммутатор, с которым он связан (S1) в этом случае, и префиксы IP, которые он объявляет. Предположим, что B также сопряжен с переключателем S1. Предположим, что A указывает политику пересылки всего трафика, происходящего от определенного IP-адреса B, контроллер отмечает, что оба AS подключены к одному и тому же коммутатору и, следовательно, добавляет соответствующую запись в коммутатор S1.
Я хочу, чтобы каждый коммутатор имел политику отсутствия соответствия, если пакет не соответствует ни одной записи, а затем пересылается следующему коммутатору, например, S1 пересылает на S2, если он получает пакет из A, t соответствует любым записям в таблице потока. Это произойдет, если предположить, что A желает переслать весь трафик, исходящий от определенного адреса, к D, контроллер знает, что D подключен к коммутатору S2, поэтому он просто добавляет соответствующую запись в коммутатор S2, и он знает, что любой пакет, не соответствующий в S1, будет пересылается по умолчанию на S2.
Я хочу знать, как это сделать с помощью Open Flow, поскольку в настоящее время контроллеры OpenFlow устанавливают правила в КАЖДОМ подключенном коммутаторе. В каком направлении мне идти? Должен ли я попытаться написать собственный контроллер?
Любые советы будут оценены. Thank you