OpenFlow: различия между версиями
нет описания правки
Нет описания правки |
|||
'''Openflow''' (открытый поток)
Протокол используется для управления коммутатором (маршрутизатором) с интеллектуального устройства (например, с сервера или даже персонального компьютера). Это управление заменяет собой работающую на коммутаторе (маршрутизаторе)
Openflow реализован в устройствах многих производителей, включая [[cisco]], [[juniper]], [[Hewlett-Packard|HP]], [[NEC]] <ref>http://www.networkworld.com/news/2008/102908-openflow.html</ref>
В настоящий момент протокол имеет версию 1.0, (опубликован в 2009 году).
== Архитектура ==
Путь прохождения данных (datapath) состоит из таблицы потоков (flow table) и действий, назначенных для каждой записи в таблице. Сами таблицы могут касаться как ethernet (или других протоколов канального уровня), так и протоколов вышестоящих уровней (IP, TCP). Точный список действий может меняться, но основные это:
Устройство OpenFlow состоит из, как минимум, из трёх компонент:
* таблицы потоков ({{lang-en|flow table}});
* безопасного канала ({{lang-en|secure channel}}), использующегося для управления коммутатором внешним
* Поддержки протокола OpenFlow protocol, использующегося для управления. Использование этого протокола позволяет избежать необходимости писать программу для управляемого устройства
Каждая запись в таблице потоков имеет три поля: заголовок PDU, который позволяет определить соответствие PDU потоку, действие и поле с статистикой (число байтов и PDU, соответствующее потоку, время, прохождения последнего соответствующего потоку PDU).
Заголовок может состоять из множества полей разного уровня (например, MAC-адресов отправителя и получателя, полей из заголовока IP-пакета, полей из заголовка TCP-сегмента).
Устройства ''type1'', которые будут обеспечивать фунционал трансляции адресов (NAT), поддержку классов и приоритетов, запланированы, но их спецификация пока не определена.
''Контроллеры''' обеспечивают наполнение таблицы потоков, получение пакетов через безопасный канал от устройства. Могут быть реализованы как простейший алгоритм, напоминающий поведение коммутатора, разделяющего пакеты по виланам, а могут реализовывать сложную динамическую логику, влияющую на прохождение пакетов исходя из внешних причин (права доступа, загрузка серверов, приоритеты по обслуживанию и
== Источники ==
|