Разделите восходящую и нисходящую линии между интерфейсами с помощью openvswitch
У меня есть одна или несколько виртуальных машин на хосте Debian и два физических интерфейса eth. Я хочу разделить пропускную способность между eths (как для нисходящей линии связи, так и для восходящей линии связи). Возможно ли это с openvswitch и openflow?
1 ответ
Короткий ответ: это должно быть возможно с OVS и OpenFlow. С помощью OVS вы можете подключить виртуальные порты вашей виртуальной машины и физические интерфейсы сервера.
Не думая слишком много, вы можете распределить нагрузку по трафику:
Установка потока для направления любого пакета виртуальной машины на ваш порт восходящей линии связи. Этот поток должен переписать IP-адрес и MAC-адрес src в качестве идентификаторов интерфейса нисходящей линии связи, чтобы он выглядел так, как будто он отправляется через этот порт.
Имейте в виду, что вы можете принять во внимание конфигурацию ваших виртуальных портов и что вам нужно какое-то отображение (что-то вроде NAT), чтобы правильно вернуть пакеты на соответствующую виртуальную машину. Вы можете взглянуть на реализацию NAT для контроллера Ryu, чтобы получить некоторое вдохновение.