Лекция 6. pof - Protocol-Oblivious Forwarding
Описание файла
PDF-файл из архива "Лекция 6. pof - Protocol-Oblivious Forwarding", который расположен в категории "". Всё это находится в предмете "программно-конфигурируемые сети (sdn)" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Protocol-Oblivious Forwarding: Unleash the Powerof SDN through a Future-Proof Forwarding PlaneHaoyu SongHuawei Technologies, USASanta Clara, CA, 95050haoyu.song@huawei.comВячеслав Васин: vvasin@arccn.ruПостановка задачи:OpenFlow являясь de facto стандартом общения контроллера и коммутатора имеет ряднедостатков:• В процессе своего развития он тем не менее продолжает быть ориентирован на используемые в сетипротоколы (IPv4, IPv6, MPLS) и заголовки (L2, L3, L4). Что является анахронизмом, оставшимся от сетей собъединенным уровнем управления и передачи данных.• Уровень передачи данных не контролирует состояние потоков (stateless).
Не может мониторить статус иизменять поведение потоков без участия контроллера. OF должен иметь возможность управлять болееинтеллектуальными возможностями аппаратуры.Как следствие, это приводит к следующему :• По мере появления новых протоколов будут усложняться требования к стандарту и к коммутаторам, чтоусложнит их дизайн.• Нет возможности произвольно изменить формат пакета идущего по сети, добавить новые произвольныеполя.• Добавление новых протоколов приведет к необходимости переработки и протокола и ПО коммутатора, авозможно и к переработке аппаратной части, что каждый раз будет приводить к задержкам на времяреализации новой опции и тормозить прогресс.• OF не имеет возможности обрабатывать трафик с учетом L4-L7 сервисов на уровне DataPlane.
Дажереализация L2 learning приводит к проблемам производительности и масштабируемости.Каким должно быть будущее SDN:Текущая реализация – black boxesOpenFlow – gray boxes• Ситуация улучшается, так как добавляетсяпрограммируемость.• Но программируемость ограничена возможностямиконтроллера и аппаратуры коммутатора.Миру SDN нужна настоящая программируемость• Forwarding plane должен быть white box, поведениекоторого полностью подчиняется контроллеру.Аналогия SDN и PC• CPU может делать все с помощьюнебольшого количества имеющихся инструкций.• CPU взаимодействует с ОS с помощьюстандартных инструкций и прерываний.• OS позволяет абстрагироваться от железа ипредоставляет приложениям высокоуровневыйинтерфейс.• FE в SDN должен стать аналогом CPU в PC.
(RISC)• FE не должен знать заранее с каким трафиком ему придется иметь дело.• Нужно идти по пути упрощения, к более общей модели FE.• Нужны независимые от протоколов инструкции, которые предлагается назватьFlow Instruction Set (FIS)• FIS могут быть использованы для разбора пакетов, анализа данных за счетподдержки инструкций, реализующих логику сравнения, ветвления.• Каждый такой примитив должен быть легко реализуем в платформе.• Конструирование сетевого сервиса на такой основе аналогичнопрограммированию на Ассемблере, что может быть компенсировано в будущемвысокоуровневым языком и библиотеками.Protocol Oblivious Forwarding:POF FE не обязан понимать формат пакета в отличии от OpenFlow FE.FE должен по указанию контроллера:• Анализировать заголовки пакетов на основе указаний контроллера• Осуществлять поиск по таблицам• Выполнять соответствующие инструкцииВзаимодействие с контроллером• Контроллер описывает составные части ключа поиска в терминах {offset, length}+{offset,length}…• Вместо стандартных действий (push vlan, swap mpls…) используются инструкции AddField {offset,length} или задействуются данные из metadata.• Есть инструкции описывающие математические (Add, Substr, Shift) и логические (AND, OR, NOT,XOR) операции• Для сложных функций – есть специальные инструкции (IP checksum, TCP checksum), определяякакие данные использовать, какой алгоритм и куда поместить результат.Преимущество• В случае появления необходимости обработать новый протокол или комбинацию (VXLAN,NVGRE, VLAN+MPLS+PBB) нет необходимости модернизировать стандарт OpenFlow.Stateful FEData plane хранит информацию о статусе потока используя flow metadata (непутать с packet metadata)••••Содержит информацию о потоке (подобно counter и timeout в OF)Выделяется не для всех потоков (on-demand)Метаданные могут быть использованы сетевыми приложениями.Данные могут быть разных типов (Sequence #, time stamp)FE может самостоятельно манипулировать потоками (без указанияконтроллера)• По событию или при выполнении заранее определенного условия может быть:• создана таблица;• создан, удален, обновлен flow в таблице;• Об этих действиях FE информирует контроллер для синхронизации состояния контроллера исети.Единый набор инструкций подходящий для множества потоков.
Вызовинструкций с параметрами.• Внутри блока инструкций существует возможность перехода на различные ветви операций спомощью условного и безусловного перехода.ДополненияВыделение счетчика статистики только по необходимости по запросу контроллера• Экономия количества счетчиков и используемой памяти.• Может быть один счетчик на несколько потоков и несколько счетчиков для одного потока• Возможность иметь агрегированные счетчикиДифференциация типов таблиц (id, capacity, parameters, type):• Direct Table (DT)• Exact Match (EM)• Longest Prefix Match (LPM)• Masked match (ММ)Возможно дальнейшее расширение в будущем:• Range Match (RM)• RegEx Match (REM)Физические и логические таблицы (могут ссылаться на одну физическую)• Одни и те же записи могут использоваться несколькими логическими таблицами но с разнымиинструкциями (IP routing, RPF)• Несколько логических таблиц могут сосуществовать в рамках одной физической (несколько EMтаблиц в одной физической Hash таблице)ПрототипированиеКонтроллер на базе Floodlight + POF extension• Open sourceHardwire based FE prototype• Huawei NE5000 core router• 40G NPU with On-chip and Off-chip memories• 8x1G portSoftware based prototypePOF реализация на тестовомобразце замедлялапропускную способностьпримерно на 20-30%Надежды на POF optimizedsilicon• Linux based• Written on C• Open sourceUse case• Поддержка новых протоколов (VXLAN, NVGRE, FC, ATM, POS)• Поддержка Named Data Network (имена вместо адресов)• Использование наиболее эффективных форматов пакетов• Трансформация пакетов, организация туннелей.• Возможность добавлять к пакетам на границе сети любые новыеполя – новые возможности для OAM• Смещение внимания с поддержки протоколов к сервисам• Перспектива реализации DPI, TCP flow state, NAT, FirewallВыводыВ SDN должна быть более простая и обобщенная модель уровняпередачи данных (FE).• В рамках модели контроллер должен определять для FE не только ЧТО делать, нои КАК это делать.Для сохранения совместимости с текущими версиями необходимодобавить POF инструкции в спецификацию OpenFlow• В идеале для поддержки POF должны появиться новые чипы.• В текущих реализациях NP поддержка POF может реализовываться как функция,описывающая POF инструкцию• В ASIC предлагается реализовать POF инструкции в аппаратуре что даст выигрышв производительности.Подчеркивается важность исследовательских работ и работ постандартизации под эгидой ONF в развитии OpenFlow.Спасибо!Вячеслав Васин: vvasin@arccn.ru.