Можно отправлять пакеты данных от конечных узлов (хостов) в SDN с помощью коммутаторов OVS, где формирование OVS-переключателей подобно древовидной или иерархической структуре, и только коммутаторы OVS верхнего или верхнего уровня могут связываться с контроллером SDN, а не с листовыми или промежуточными переключателями.Рабочий процесс иерархических коммутаторов в SDN
ответ
Если «верхний или высший уровень» означает корень дерева, тогда ответ - это зависит. В SDN контроллер, как правило, должен быть подключен к коммутаторам в какой-то момент, чтобы принимать решения о пересылке и устанавливать потоки в коммутаторах. Однако некоторые коммутаторы, такие как OVS, имеют режим отказа, где, если коммутатор не подключен к контроллеру, вы можете выбрать, как он должен себя вести.
- Если режим отказа OVS установлен на «защищенный», коммутатор будет пересылать только пакеты в соответствии с тем, как его таблица потока в настоящее время запрограммирована. Если пакет не соответствует потоку, он будет удален.
- Если режим отказа OVS установлен на «автономный», коммутатор автоматически имитирует коммутатор обучения и пересылает пакеты между портами коммутатора.
Более подробную информацию о OVS сбой режима можно найти здесь (поиск "глючить-режим"): http://openvswitch.org/support/dist-docs/ovs-vsctl.8.txt
Допустим, у вас есть простая топология:
c
|
+--s0--+
| |
s1 s2
| |
h1 h2
где с ваш контроллер подключен только к s0. s1 и s2 устанавливаются в режиме fail-mode = standalone. В этом случае, если c устанавливает потоки для пересылки пакетов между s1 и s2, тогда h1 и h2 смогут общаться. С другой стороны, если какой-либо из s1 или s2 находится в режиме fail-mode = secure, то, если в таблицах (-ях) потока безопасных коммутаторов уже нет потоков для пересылки пакетов между h1 и h2, тогда h1 и h2 не смогут общаться.
Side Примечание: Вы можете установить потоки вручную в OVS с помощью овс-ofctl: http://openvswitch.org/support/dist-docs/ovs-ofctl.8.txt
Эта команда может использоваться локально на s1 и s2 установить требуемые потоки, если вы используете не в состоянии режима = безопасный и не проактивно устанавливал в них потоки с ранее подключенным контроллером.