2015-05-10 8 views
0

Я работаю над исследовательским проектом на 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

ответ

0

Я думаю, что то, что вы предлагаете, не слишком сложно сделать, но если вы хотите добавить поток по умолчанию к коммутаторам проактивно, это плохая идея.

Существует по существу две части этого, что позволяет контроллеру добавлять потоки только к соответствующему коммутатору и добавлять потоки по умолчанию. Оба из них, скорее всего, потребуют от вас переписать некоторую логику приложений контроллера.

Однако, что происходит с пакетами, которые идут на какой-то адрес, который не связан с IX? В обычной настройке они идут к контроллеру, который определяет, что с ними делать. Если есть поток по умолчанию, который отправляет его следующему коммутатору, вы можете оказаться в случае, когда пакет просто продолжает плавать вокруг ваших коммутаторов.

Лучше всего это сделать, чтобы поместить потоки в S1, которые говорят, что «весь трафик, идущий в D, выходит на порт, который соединяет S2». Таким образом, если у вас действительно неподъемные пакеты, с ними можно справиться.

Вкратце рассмотрев эту документацию, вы можете неправильно использовать некоторые материалы VNH для этого.

 Смежные вопросы

  • Нет связанных вопросов^_^